{"version":3,"file":"js/8127-151c83c310497fba9df3.js","mappings":"6JAsBA,IAAMA,GAAUC,EAAAA,EAAAA,KACdC,EAAAA,EAAAA,KAAc,SAAAC,GAAK,OACjBC,EAAAA,cAACC,EAAAA,GAAS,CACRC,YAAaH,EAAMG,aAAe,GAClCC,cAAeJ,EAAMK,YACrBC,UAZEC,EAAKC,SAASC,cAAc,wCAC9BF,GACFA,EAAGG,UAAUC,OAAO,cAWlBC,QAAS,CACPC,gBAAiB,cACjBC,mBAAoBd,EAAMe,qBAAuBf,EAAMgB,yBACvDC,gBAAiBjB,EAAMe,qBAAuBf,EAAMgB,yBACpDE,mBAAoBlB,EAAMe,qBAAuBf,EAAMmB,SACvDC,OAAQC,IAGVpB,EAAAA,cAAA,OAAKqB,UAAS,mCAAAC,OAAqCvB,EAAMe,qBAAuBf,EAAMwB,4BAA8B,UAAY,KAC9HvB,EAAAA,cAAA,YACIwB,KAAKC,EAAE,kDAET1B,EAAMgB,0BACNf,EAAAA,cAAA,OAAKqB,UAAU,4BAA4BK,QAAS3B,EAAM4B,wBACtD5B,EAAMe,mBACJd,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,KAC3B9B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,YAAYC,KAAM,OAKzC9B,EAAAA,cAAC+B,EAAAA,GAAM,CAACC,KAAM,CAAEC,IAAKC,EAAQC,WAAY,CAAEC,MAAO,GAAIC,OAAQ,KAAOC,SAAUvC,EAAMK,cACnFL,EAAMwC,SApCd,IACQjC,CAoCQ,KAIhB,W,ulBCjDC,IAEKkC,EAAG,SAAAC,IAAAC,EAAAA,EAAAA,GAAAF,EAAAC,GAAA,IAAAE,EAAAC,EAAAJ,GAAA,SAAAA,IAAA,IAAAK,GAAAC,EAAAA,EAAAA,GAAA,KAAAN,GAAA,QAAAO,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAW6F,OAX7FP,EAAAF,EAAAU,KAAAC,MAAAX,EAAA,OAAArB,OAAA4B,KAAAK,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,QACC,CACN9B,0BAA0B,EAC1BD,oBAAoB,EACpBS,6BAA6B,KAC9BgC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,0BAMwB,kBAAMA,EAAKY,SAAS,CAAE3C,oBAAqB+B,EAAKa,MAAM5C,oBAAsB,IAAD+B,CAAC,CAwBpG,OAxBmGc,EAAAA,EAAAA,GAAAnB,EAAA,EAAAoB,IAAA,oBAAAC,MAJpG,WACEC,KAAK/D,MAAMgE,oBAAsB7C,EAAAA,IAAY4C,KAAKL,SAAS,CAAE1C,0BAA0B,GACzF,GAAC,CAAA6C,IAAA,SAAAC,MAID,WACE,IAAAG,EAAwFF,KAAK/D,MAArFkE,EAAQD,EAARC,SAAUC,EAASF,EAATE,UAAYC,EAAYH,EAAZG,aAAc5C,EAA2ByC,EAA3BzC,4BAA6B6C,EAAUJ,EAAVI,WACzEC,EAAyDP,KAAKJ,MAAtD5C,EAAkBuD,EAAlBvD,mBAAoBC,EAAwBsD,EAAxBtD,yBACtBuD,EAAiB,CAAEC,IAAKN,EAAUO,IAAKN,GACvCO,EAAc,gBAAAnD,OAAmBR,EAAqB,qBAAuB,IAGnF,OACEd,EAAAA,cAACJ,EAAAA,QAAO,CACN8E,aAAY,+CAAApD,OAAiD6C,EAAY,qBACzEQ,eA1BC3E,EAAAA,cAAA,OAAK4E,MAAO,CAAEvC,OAAO,UA2BtBwC,iBAAkB7E,EAAAA,cAAA,OAAKqB,UAAWoD,IAClCK,WAAY9E,EAAAA,cAAA,OAAKqB,UAAU,gBAC3BjB,YAAakE,EACbvD,yBAA0BA,EAC1BG,SAAUA,EAAAA,KAAa6D,EAAAA,GACvBpD,uBAAwBmC,KAAKnC,uBAC7Bb,mBAAoBA,EACpBS,4BAA6BA,EAC7B6C,WAAYA,GAGlB,KAAC5B,CAAA,CAnCM,CAASwC,EAAAA,WAsClB,W,6HCmDA,UAvFuB,SAAHC,GAA8B,IAAxBC,EAAgBD,EAAhBC,iBAExBC,GAAgCC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAArCI,EAAQF,EAAA,GAAEG,EAAWH,EAAA,GAO5BI,IALkCC,EAAAA,EAAAA,GAASC,EAAAA,yBAA0B,CACnEC,YAAa,SAACC,GAAI,OAChBA,GAAQA,EAAKC,oBAAsBN,EAAYK,EAAKC,mBAAmB,IAFnEC,uBAKgDC,EAAAA,EAAAA,GAAYC,EAAAA,2BAA4B,CAC9FC,OAAM,SAACC,EAAOC,GAAS,EACvBC,eAAgB,CAAC,4BAGjBC,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GALMc,EAAuBD,EAAA,GAAAE,EAAAF,EAAA,GAWzBG,GAXoCD,EAAPE,QAAcF,EAALG,MAWrBpB,GAAYA,EAASqB,MAAK,SAAAC,GAAO,OAAIA,EAAQC,SAAS,KAG7E,OAAIvB,GAAYA,EAAStC,OAErBjD,EAAAA,cAAA,OAAKqB,UAAU,kBAAkBuD,MAAO,CAAEmC,UAAW7B,EAAmB,OAAS,IAC/ElF,EAAAA,cAAA,OAAKqB,UAAU,6BACXG,KAAKC,EAAE,sCAGXzB,EAAAA,cAAA,OAAKqB,UAAU,4BACXoF,GACAzG,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAAA,OAAKqB,UAAU,+BACXG,KAAKC,EAAE,yCAEXzB,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAA,OAAKqB,UAAU,gCACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCACXoF,EAAeO,YAAa,KAAIP,EAAeQ,OAAQ,IAAGR,EAAeS,WAE7ElH,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCACX,IAAI8F,KAAKV,EAAeW,WAAWC,mBAAmB,GAAI,CAACC,KAAM,UAAWC,OAAO,eAI3FvH,EAAAA,cAAA,OAAKqB,UAAU,mCACXoF,EAAee,SAAU,MAAKf,EAAegB,KAAM,KAAIhB,EAAeiB,WAM9EjB,GAAmBlB,EAAStC,OAAS,GACrCjD,EAAAA,cAAA,OAAKqB,UAAU,iDACbrB,EAAAA,cAAA,OAAKqB,UAAU,+BACXG,KAAKC,EAAE,4CAET8D,EAASoC,KAAI,SAAAd,GAAO,OAAKA,EAAQC,WACjC9G,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAA,OAAKqB,UAAU,gCACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCACXwF,EAAQG,YAAa,KAAIH,EAAQI,OAAQ,IAAGJ,EAAQK,WAExDlH,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,OAAKqB,UAAU,yBACX,IAAI8F,KAAKN,EAAQO,WAAWC,mBAAmB,GAAI,CAACC,KAAM,UAAWC,OAAO,aAEhFvH,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,iBAAiBC,KAAM,GAAIJ,QAAS,kBArD9CkG,EAqDkEf,EAAQe,GApD/FrB,EAAwB,CAAEsB,UAAW,CAAEC,MAAO,CAAEF,GAAIG,OAAOH,OACxDI,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,IAFzB,IAACiB,CAqD6E,MAGpF5H,EAAAA,cAAA,OAAKqB,UAAU,mCACXwF,EAAQW,SAAU,MAAKX,EAAQY,KAAM,KAAIZ,EAAQa,SAEjD,OAQX,IAEX,C,0FC5DA,UA1B2B,SAAHzC,GAAoD,IAA9CkD,EAAelD,EAAfkD,gBAAiBC,EAAYnD,EAAZmD,aAAcC,EAAOpD,EAAPoD,QAE3D,OACErI,EAAAA,cAAA,OAAKqB,UAAU,iBACbrB,EAAAA,cAAA,OACEsI,IAAI,gBACJC,IAAiB,OAAZF,EAAmBG,EAAqBC,EAC7CpG,OAAQ,GACRD,MAAO,MAETpC,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAC0I,EAAAA,mBAAkB,CACjBC,OAAQP,GAAgBA,EAAaQ,gBAAgBC,MACrDC,MAAOV,GAAgB5G,KAAKC,EAAE,0DAEhCzB,EAAAA,cAAA,OAAKqB,UAAU,2BACXG,KAAKC,EAAE,wCAGbzB,EAAAA,cAAA,KAAG+I,KAAMZ,EAAiBa,OAAO,UAC7BxH,KAAKC,EAAE,4DAIjB,C,2DChBA,UAZ2B,SAAHwD,GAAsB,IAAhBgE,EAAQhE,EAARgE,SAE5B,OAEEjJ,EAAAA,cAAA,OAAKqB,UAAU,aACbrB,EAAAA,cAAA,OAAKqB,UAAU,sBACX4H,GAIV,C,oHCbaC,EAAS,IAAIC,EAAAA,EAAa,CACrCC,KAAM,IAAIC,EAAAA,EAAS,CACjBC,YAAa,gBAEfnD,MAAO,IAAIoD,EAAAA,EAAc,CACvBC,aAAa,EACbC,aAAc,CACZC,MAAO,CACLC,OAAQ,CACNC,SAAU,CACRC,OAAO,S,s5BCTNC,GAA2BC,EAAAA,EAAAA,IAAGC,IAAAA,GAAAC,EAAAA,EAAAA,GAAA,qPAe9BC,GAAeH,EAAAA,EAAAA,IAAGI,IAAAA,GAAAF,EAAAA,EAAAA,GAAA,8QAkBlBG,GAAkBL,EAAAA,EAAAA,IAAGM,IAAAA,GAAAJ,EAAAA,EAAAA,GAAA,gTAmBrBK,GAAoBP,EAAAA,EAAAA,IAAGQ,IAAAA,GAAAN,EAAAA,EAAAA,GAAA,0wEAuFvBO,GAAgBT,EAAAA,EAAAA,IAAGU,IAAAA,GAAAR,EAAAA,EAAAA,GAAA,4HAWnBS,GAAsBX,EAAAA,EAAAA,IAAGY,IAAAA,GAAAV,EAAAA,EAAAA,GAAA,izEAuFzBW,GAAuCb,EAAAA,EAAAA,IAAGc,IAAAA,GAAAZ,EAAAA,EAAAA,GAAA,4JAU1Ca,GAA8Bf,EAAAA,EAAAA,IAAGgB,IAAAA,GAAAd,EAAAA,EAAAA,GAAA,4wEAuFjCe,GAAcjB,EAAAA,EAAAA,IAAGkB,IAAAA,GAAAhB,EAAAA,EAAAA,GAAA,8LAajBiB,GAAmBnB,EAAAA,EAAAA,IAAGoB,IAAAA,GAAAlB,EAAAA,EAAAA,GAAA,2HAWtBmB,GAAkBrB,EAAAA,EAAAA,IAAGsB,IAAAA,GAAApB,EAAAA,EAAAA,GAAA,uHAWrBqB,GAAsBvB,EAAAA,EAAAA,IAAGwB,IAAAA,GAAAtB,EAAAA,EAAAA,GAAA,4KAYzBuB,GAAuBzB,EAAAA,EAAAA,IAAG0B,IAAAA,GAAAxB,EAAAA,EAAAA,GAAA,+OAY1ByB,GAAyB3B,EAAAA,EAAAA,IAAG4B,IAAAA,GAAA1B,EAAAA,EAAAA,GAAA,0aAyB5BhE,GAA6B8D,EAAAA,EAAAA,IAAG6B,IAAAA,GAAA3B,EAAAA,EAAAA,GAAA,qKAUhC4B,GAAmC9B,EAAAA,EAAAA,IAAG+B,IAAAA,GAAA7B,EAAAA,EAAAA,GAAA,kRAYtC8B,GAA0BhC,EAAAA,EAAAA,IAAGiC,IAAAA,GAAA/B,EAAAA,EAAAA,GAAA,iKAW7BgC,GAAiBlC,EAAAA,EAAAA,IAAGmC,IAAAA,GAAAjC,EAAAA,EAAAA,GAAA,qIASpBkC,GAAyBpC,EAAAA,EAAAA,IAAGqC,IAAAA,GAAAnC,EAAAA,EAAAA,GAAA,6H,80EC7c5BoC,IAAetC,EAAAA,GAAAA,IAAGC,IAAAA,GAAAC,EAAAA,GAAAA,GAAA,ocAyBlBqC,IAA6BvC,EAAAA,GAAAA,IAAGI,IAAAA,GAAAF,EAAAA,GAAAA,GAAA,0UAoBhCsC,IAA0BxC,EAAAA,GAAAA,IAAGM,IAAAA,GAAAJ,EAAAA,GAAAA,GAAA,wlBA2B7BuC,IAAuBzC,EAAAA,GAAAA,IAAGQ,IAAAA,GAAAN,EAAAA,GAAAA,GAAA,ykBA2B1BwC,IAAqB1C,EAAAA,GAAAA,IAAGU,IAAAA,GAAAR,EAAAA,GAAAA,GAAA,oSAoBxByC,IAAgB3C,EAAAA,GAAAA,IAAGY,IAAAA,GAAAV,EAAAA,GAAAA,GAAA,g1CAqDnB0C,IAA0B5C,EAAAA,GAAAA,IAAGc,IAAAA,GAAAZ,EAAAA,GAAAA,GAAA,wcAyB7B2C,IAAa7C,EAAAA,GAAAA,IAAGgB,IAAAA,GAAAd,EAAAA,GAAAA,GAAA,o0CA6ChB4C,IAAY9C,EAAAA,GAAAA,IAAGkB,IAAAA,GAAAhB,EAAAA,GAAAA,GAAA,0dA0Bf6C,IAAkB/C,EAAAA,GAAAA,IAAGoB,IAAAA,GAAAlB,EAAAA,GAAAA,GAAA,yQAkBrB8C,IAAoBhD,EAAAA,GAAAA,IAAGsB,IAAAA,GAAApB,EAAAA,GAAAA,GAAA,ykBA4BvB+C,IAAuBjD,EAAAA,GAAAA,IAAGwB,IAAAA,GAAAtB,EAAAA,GAAAA,GAAA,m0BAwC1BgD,IAAgBlD,EAAAA,GAAAA,IAAG0B,IAAAA,GAAAxB,EAAAA,GAAAA,GAAA,6IAUnBiD,IAAuBnD,EAAAA,GAAAA,IAAG4B,IAAAA,GAAA1B,EAAAA,GAAAA,GAAA,4IAU1BkD,IAAoBpD,EAAAA,GAAAA,IAAG6B,IAAAA,GAAA3B,EAAAA,GAAAA,GAAA,8iEAkFvBmD,IAAuBrD,EAAAA,GAAAA,IAAG+B,IAAAA,GAAA7B,EAAAA,GAAAA,GAAA,0bA4B1BoD,IAAyBtD,EAAAA,GAAAA,IAAGiC,IAAAA,GAAA/B,EAAAA,GAAAA,GAAA,yaAyB5BqD,IAAsBvD,EAAAA,GAAAA,IAAGmC,IAAAA,GAAAjC,EAAAA,GAAAA,GAAA,0jFAoGzBsD,IAAkBxD,EAAAA,GAAAA,IAAGqC,IAAAA,GAAAnC,EAAAA,GAAAA,GAAA,gNAcrBuD,IAAiBzD,EAAAA,GAAAA,IAAG0D,IAAAA,GAAAxD,EAAAA,GAAAA,GAAA,yNAcpByD,IAAuB3D,EAAAA,GAAAA,IAAG4D,IAAAA,GAAA1D,EAAAA,GAAAA,GAAA,ycAyB1B2D,IAA2B7D,EAAAA,GAAAA,IAAG8D,IAAAA,GAAA5D,EAAAA,GAAAA,GAAA,mMAa9B6D,IAAuB/D,EAAAA,GAAAA,IAAGgE,IAAAA,GAAA9D,EAAAA,GAAAA,GAAA,gLAY1B+D,IAAkBjE,EAAAA,GAAAA,IAAGkE,IAAAA,GAAAhE,EAAAA,GAAAA,GAAA,oNAcrBiE,IAAenE,EAAAA,GAAAA,IAAGoE,IAAAA,GAAAlE,EAAAA,GAAAA,GAAA,6YAuBlBmE,IAAqBrE,EAAAA,GAAAA,IAAGsE,IAAAA,GAAApE,EAAAA,GAAAA,GAAA,kPAaxBqE,IAAmBvE,EAAAA,GAAAA,IAAGwE,IAAAA,GAAAtE,EAAAA,GAAAA,GAAA,iOAetBuE,IAAqBzE,EAAAA,GAAAA,IAAG0E,IAAAA,GAAAxE,EAAAA,GAAAA,GAAA,2OAexByE,IAAkB3E,EAAAA,GAAAA,IAAG4E,IAAAA,GAAA1E,EAAAA,GAAAA,GAAA,sKAWrB2E,IAAoB7E,EAAAA,GAAAA,IAAG8E,IAAAA,GAAA5E,EAAAA,GAAAA,GAAA,8KAUvB6E,IAAqB/E,EAAAA,GAAAA,IAAGgF,IAAAA,GAAA9E,EAAAA,GAAAA,GAAA,4LAYxB+E,IAAqBjF,EAAAA,GAAAA,IAAGkF,IAAAA,GAAAhF,EAAAA,GAAAA,GAAA,oKAUxBiF,IAAiBnF,EAAAA,GAAAA,IAAGoF,IAAAA,GAAAlF,EAAAA,GAAAA,GAAA,u7BAgCpBmF,IAA0BrF,EAAAA,GAAAA,IAAGsF,IAAAA,GAAApF,EAAAA,GAAAA,GAAA,uiBAkB7BqF,IAAuBvF,EAAAA,GAAAA,IAAGwF,IAAAA,GAAAtF,EAAAA,GAAAA,GAAA,whBAe1BuF,IAAmBzF,EAAAA,GAAAA,IAAG0F,IAAAA,GAAAxF,EAAAA,GAAAA,GAAA,iLAatByF,IAA4B3F,EAAAA,GAAAA,IAAG4F,IAAAA,GAAA1F,EAAAA,GAAAA,GAAA,8wBAqC/B2F,IAA2B7F,EAAAA,GAAAA,IAAG8F,IAAAA,GAAA5F,EAAAA,GAAAA,GAAA,yTAqB9B6F,IAAe/F,EAAAA,GAAAA,IAAGgG,IAAAA,GAAA9F,EAAAA,GAAAA,GAAA,gIAUlB+F,IAAyBjG,EAAAA,GAAAA,IAAGkG,IAAAA,GAAAhG,EAAAA,GAAAA,GAAA,sZAgB5BiG,IAAwBnG,EAAAA,GAAAA,IAAGoG,IAAAA,GAAAlG,EAAAA,GAAAA,GAAA,kRAa3BmG,IAAqBrG,EAAAA,GAAAA,IAAGsG,IAAAA,GAAApG,EAAAA,GAAAA,GAAA,+HAUxBqG,IAA6BvG,EAAAA,GAAAA,IAAGwG,IAAAA,GAAAtG,EAAAA,GAAAA,GAAA,iGAShCuG,IAAwBzG,EAAAA,GAAAA,IAAG0G,IAAAA,GAAAxG,EAAAA,GAAAA,GAAA,mIAU3ByG,IAAgC3G,EAAAA,GAAAA,IAAG4G,IAAAA,GAAA1G,EAAAA,GAAAA,GAAA,0QAkBnCtE,IAA2BoE,EAAAA,GAAAA,IAAG6G,IAAAA,GAAA3G,EAAAA,GAAAA,GAAA,uPAmB9B4G,IAAsB9G,EAAAA,GAAAA,IAAG+G,IAAAA,GAAA7G,EAAAA,GAAAA,GAAA,4OAgBzB8G,IAAoBhH,EAAAA,GAAAA,IAAGiH,IAAAA,GAAA/G,EAAAA,GAAAA,GAAA,8LAavBgH,IAAgClH,EAAAA,GAAAA,IAAGmH,IAAAA,GAAAjH,EAAAA,GAAAA,GAAA,oMAUnCkH,IAA0BpH,EAAAA,GAAAA,IAAGqH,IAAAA,GAAAnH,EAAAA,GAAAA,GAAA,wLAW7BoH,IAAoCtH,EAAAA,GAAAA,IAAGuH,IAAAA,GAAArH,EAAAA,GAAAA,GAAA,kNASvCsH,IAA8BxH,EAAAA,GAAAA,IAAGyH,KAAAA,IAAAvH,EAAAA,GAAAA,GAAA,qM,sEClkC9C,UAfwB,WAEtB,OACEjK,EAAAA,cAAA,OAAKqB,UAAU,oBACbrB,EAAAA,cAAA,OAAKuI,IAAKkJ,EAAoBnJ,IAAI,YAAYjG,OAAQ,GAAID,MAAO,MACjEpC,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,8BACXG,KAAKC,EAAE,2CAEXzB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,8DAIpB,C,6wBCJA,SAASiQ,EAAUzM,GAA8D,IAA3D0M,EAAa1M,EAAb0M,cAAeC,EAAQ3M,EAAR2M,SAAUC,EAAM5M,EAAN4M,OAAQC,EAAqB7M,EAArB6M,sBAEzCC,GAAcC,EAAAA,EAAAA,MAAlBpK,GAERzC,GAAoCC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAzC8M,EAAU5M,EAAA,GAAE6M,EAAa7M,EAAA,GAChC8M,GAAwC/M,EAAAA,EAAAA,UAAS,IAAGgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA7CE,EAAYD,EAAA,GAAEE,EAAeF,EAAA,GACpCG,GAAoCnN,EAAAA,EAAAA,UAAS,GAAEoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAxCE,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChCG,GAAsCvN,EAAAA,EAAAA,WAAS,GAAKwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA7CE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAClCG,GAA0D3N,EAAAA,EAAAA,UAAS,MAAK4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAAjEE,EAAqBD,EAAA,GAAEE,EAAwBF,EAAA,GACtDG,GAAkC/N,EAAAA,EAAAA,UAAS,CACzCgO,iBAAkB,GAClBC,wBAAwB,EACxBC,sBAAuB,OACvBC,GAAAjO,EAAAA,EAAAA,GAAA6N,EAAA,GAJKK,EAASD,EAAA,GAAEE,EAAYF,EAAA,GAM9BG,GAA8BtO,EAAAA,EAAAA,UAAS,CACrCuO,KAAM,EACNC,QAAS,EACTC,eAAgB,OAChBC,QAAS,aACTC,SAAUhM,OAAOgK,KACjBiC,GAAA1O,EAAAA,EAAAA,GAAAoO,EAAA,GANKO,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAalBL,EAA2CM,EAA3CN,KAAMC,EAAqCK,EAArCL,QAASC,EAA4BI,EAA5BJ,eAAgBC,EAAYG,EAAZH,QAEvCK,GAKIzO,EAAAA,EAAAA,GAASsH,EAAAA,qBAAsB,CAACnF,UAAW,CAAEkM,SAAUhM,OAAOgK,IAAcqC,YAAa,QAJlFC,EAAiBF,EAA1BzN,QACAC,GAAKwN,EAALxN,MACM2N,GAAcH,EAApBtO,KACS0O,GAAiBJ,EAA1BK,QAGFC,IAAiE/O,EAAAA,EAAAA,GAASqH,EAAAA,kBAAmB,CAAClF,UAAWoM,IAA3FS,GAAgBD,GAAtB5O,KAAiC8O,GAAmBF,GAA5B/N,QAEhCjB,IAAwBO,EAAAA,EAAAA,GAAYoI,EAAAA,oBAA7BwG,IAAgDtP,EAAAA,EAAAA,GAAAG,GAAA,GAAnC,IAGpBoP,EAAAA,EAAAA,YAAU,WACJlO,KAEA+N,KACFpC,EAAgBoC,GAAiBrC,aAAayC,QAC9CpC,EAAcgC,GAAiBrC,aAAaI,aAG1C6B,KACFxB,GAAe,GACfZ,EAAcoC,GAAeS,gBAAgBD,SAEjD,GAAG,CAACJ,GAAkBJ,GAAgB3N,KAGtC,IAAMqO,GAAgB,SAACC,GACrBf,GAAW,SAACgB,GAAW,OAAAC,EAAAA,EAAA,GAClBD,GACAD,EAAU,GAEjB,EAyCMG,IAAUC,EAAAA,EAAAA,qBACdhD,GATiB,SAACiD,GAIlBN,GAAc,CAAElB,QAASwB,EAAOzB,eAF9ByB,IAAUxB,GAA8B,QAAnBD,EAA2B,OAAS,OAG7D,GAMEA,EACAC,GAIIyB,GAAqBtD,EAAWhP,OAClCgP,EAAW,GAAGsD,mBACd,GAQJ,GAAIzD,EAAsBnL,MAAWiL,EAASG,GAAY,OAAO/R,EAAAA,cAACwV,EAAAA,QAAO,CAAC7D,cAAeA,IAGzF,IASMjL,GAAUuM,GAAyBoB,EAEzC,OACErU,EAAAA,cAAA,OAAKqB,UAAU,gBACbrB,EAAAA,cAACyV,EAAAA,QAAgB,CACfC,YAtBwB,WAC5BjC,EAAa,CAAEJ,wBAAwB,GACzC,EAqBMsC,QAASnC,EAAUJ,iBACnBwC,YAAapC,EAAUF,sBAAwB,QAAU,KACzDuC,QAASrC,EAAUH,yBAGrBrT,EAAAA,cAAA,KAAGqB,UAAU,4BACVG,KAAKC,EAAE,gCAAiC,CAACyH,OAAQqM,KAAsB,KAE1EvV,EAAAA,cAAA,SACGwB,KAAKC,EAAE,8BAA+B,CAAEqU,MAAOP,KAAsB,KAGxEvV,EAAAA,cAAA,MAAIqB,UAAU,iCACXG,KAAKC,EAAE,6CAGVzB,EAAAA,cAAC+V,EAAAA,QAAY,CACXC,kBAhCgB,CACpB,2BACA,0BACA,qBACA,qBACA,mBACA,0BA2BIrE,cAAeA,EACfkB,YAAaA,EACbnM,QAASA,GACTmL,OAAQA,EACRiD,OAAQ7C,EACR2B,QAASA,EACTqC,cAAe1B,GACf2B,eAAgBhD,EAChBiD,UAAWjE,EACXkE,eAAa,EACbC,mBAAiB,EACjBC,cAAY,IAGdtW,EAAAA,cAAA,KAAGqB,UAAU,4BACVG,KAAKC,EAAE,yCAGVzB,EAAAA,cAACuW,EAAAA,QAAK,CACJ1Q,KAAMwM,EACN+C,QAASA,GACToB,cAAe7B,GACfjO,QAASiO,GACTf,QAASA,EACT6C,QAAS,SAAC9C,GAAI,OAAKqB,GAAc,CAAErB,KAAAA,GAAO,EAC1C+C,WAAY,SAAC9C,GAAO,OAAKoB,GAAc,CAAEpB,QAAAA,EAASD,KAAM,GAAI,EAC5DgD,YAAahD,EACblB,WAAYA,EACZmE,eAlKiB,CACrB,CAAE/S,MAAO,IAAKiF,MAAO,KACrB,CAAEjF,MAAO,IAAKiF,MAAO,MAiKjB+N,YAAU,EACVC,eAAa,IAGf9W,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,KAAGqB,UAAU,4BACVG,KAAKC,EAAE,wCAGVzB,EAAAA,cAAC+W,EAAAA,QAAe,CACdC,YAAa/E,EAAW,GACxBgF,kBApIkB,SAACC,GACzB,IAAQC,EAA0CD,EAA1CC,YAAatV,EAA6BqV,EAA7BrV,KAAMiU,EAAuBoB,EAAvBpB,MAAOsB,EAAgBF,EAAhBE,YAC5BtP,EAAQ,CACZF,GAAIG,OAAOgK,GACXsF,WAAYxV,EACZsV,YAAAA,EACArB,MAAAA,EACAsB,YAAAA,GAGFxC,GAAc,CACZ/M,UAAW,CAAEC,MAAAA,GACbzB,eAAgB,CAAC,sBACjBT,YAAa,WACX6N,EAAa,CACXL,iBAAkB5R,KAAKC,EAAE,+CACzB4R,wBAAwB,GAE5B,EACAiE,QAAS,WACP7D,EAAa,CACXL,iBAAkB,8BAClBC,wBAAwB,EACxBC,uBAAuB,GAE3B,GAEJ,KA6GItT,EAAAA,cAACuX,EAAAA,QAAK,CAACxF,UAAWA,EAAWyF,YAAU,IAG7C,CAMA9F,EAAW+F,aAAe,CACxB5F,OAAQ,IAGV,W,uGCzNA,SAAS6F,EAAsBzS,GAO3B,IANF0S,EAAY1S,EAAZ0S,aACAT,EAAMjS,EAANiS,OACAU,EAAY3S,EAAZ2S,aACAC,EAAO5S,EAAP4S,QACAC,EAAU7S,EAAV6S,WACAC,EAAM9S,EAAN8S,OAEA,OACE/X,EAAAA,cAAA,OAAKqB,UAAU,sBACbrB,EAAAA,cAAA,QACE6B,KAAK,mBACLR,UAAU,mBACV2W,SAAUL,EACVM,YAAU,GAEVjY,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,cACLgC,MAAOqT,EAAOC,YACdS,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,wBACdkF,MACGkR,EAAQV,aAAeY,EAAOZ,aAC/BY,EAAOZ,YAETgB,UAAQ,KAGZnY,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,OACLgC,MAAOqT,EAAOrV,KACd+V,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,gBACdkF,MAAOkR,EAAQhW,MAAQkW,EAAOlW,KAC9BsW,UAAQ,MAIdnY,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,QACLgC,MAAOqT,EAAOpB,MACd8B,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,iBACdkF,MAAOkR,EAAQ/B,OAASiC,EAAOjC,MAC/BqC,UAAQ,KAGZnY,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,cACLgC,MAAOqT,EAAOE,YACdQ,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,qDACdkF,MAAOkR,EAAQT,aAAeW,EAAOX,YACrCe,UAAQ,MAKdnY,EAAAA,cAAA,OAAKqB,UAAU,eACbrB,EAAAA,cAAA,UAAQoY,KAAK,SAAS/W,UAAU,6BAC7BG,KAAKC,EAAE,mBAMpB,CAEA,IAAMsV,GAAkBsB,EAAAA,EAAAA,IAAW,CACjCC,oBAAoB,EACpBC,iBAAkB,SAAAC,GAAA,IAAGxB,EAAWwB,EAAXxB,YAAW,MAAQ,CACtCG,YAAaH,EAAcA,EAAYyB,yBAA2B,GAClE5W,KAAMmV,EAAcA,EAAY0B,wBAA0B,GAC1D5C,MAAOkB,EAAcA,EAAYzB,mBAAqB,GACtD6B,YAAaJ,EAAcA,EAAY2B,mBAAqB,GAC7D,EACDC,iBAAkBC,EAAAA,GAAAA,SAAaC,MAAM,CACnC3B,YAAa4B,EAAAA,kBACblX,KAAMmX,EAAAA,eACNlD,MAAOmD,EAAAA,gBACP7B,YAAa8B,EAAAA,kBAGfvB,aAAc,SAACT,EAAQiC,GACrBA,EAAIpZ,MAAMkX,kBAAkBC,EAC9B,EAEAkC,YAAa,mBAnBSf,CAoBrBX,GAWHA,EAAuBD,aAAe,CACpCE,aAAc,kBAAM,CAAI,EACxBT,OAAQ,CAAC,EACTU,aAAc,kBAAM,CAAI,EACxBC,SAAS,EACTC,WAAY,kBAAM,CAAI,EACtBC,OAAQ,IAGV,W,6HCpHA,SAASR,EAAKtS,GAAoC,IAAjC8M,EAAS9M,EAAT8M,UAAWsH,EAAKpU,EAALoU,MAAO7B,EAAUvS,EAAVuS,WAC3B8B,GAAkBC,EAAAA,EAAAA,UAExBpU,GAAyBC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA9BqU,EAAInU,EAAA,GAAEoU,EAAQpU,EAAA,GACrB8M,GAAoC/M,EAAAA,EAAAA,UAAS,IAAGgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAzCuH,EAAUtH,EAAA,GAAEuH,EAAavH,EAAA,GAChCG,GAAwCnN,EAAAA,EAAAA,UAAS,MAAKoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA/CqH,EAAYpH,EAAA,GAAEqH,EAAerH,EAAA,GACpCG,GAAsCvN,EAAAA,EAAAA,UAAS,IAAGwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA3CmH,EAAWlH,EAAA,GAAEmH,EAAcnH,EAAA,GAClCG,GAAkD3N,EAAAA,EAAAA,WAAS,GAAM4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAA1DiH,EAAiBhH,EAAA,GAAEiH,EAAoBjH,EAAA,GAEhCkH,GAAU1C,GACpB9R,EAAAA,EAAAA,GAAS4I,EAAAA,iBAAkB,CAAEzG,UAAW,CAAEkM,SAAUhM,OAAOgK,OAC3DrM,EAAAA,EAAAA,GAAS8I,EAAAA,mBAAoB,CAC3B3G,UAAW,CAAEsS,WAAYpS,OAAOgK,OAH9BlM,KAKRuU,EAAkB5C,GACdxR,EAAAA,EAAAA,GAAY0I,EAAAA,kBACZ1I,EAAAA,EAAAA,GAAY4I,EAAAA,mBAFTyL,GAE2B/U,EAAAA,EAAAA,GAAA8U,EAAA,GAFpB,GAId3U,GAA2BO,EAAAA,EAAAA,GAAY8I,EAAAA,oBAAhCwL,GAAmDhV,EAAAA,EAAAA,GAAAG,EAAA,GAAnC,IAEvBoP,EAAAA,EAAAA,YAAU,WACJqF,GAEFH,EAAeG,EADI1C,EAAa,cAAgB,iBAGpD,GAAG,CAAC0C,IAEJ,IA2CMK,EAAa,SAAC3S,EAAI4R,GACtBC,EAASD,GACTG,EAAc/R,GAfS,WACvB,IAAM4S,EAAelB,EAAgBmB,QAErC,GAAIpB,EACFmB,EAAaE,UAAY,MACpB,CACL,IAAMC,EAAYH,EAAaI,wBAAwBC,IACjDC,EAAeC,KAAKC,MAAML,EAAYM,OAAOC,QAAU,IAE7DD,OAAOE,OAAO,EAAGL,EACnB,CACF,CAKEM,EACF,EAaA,OACEpb,EAAAA,cAAA,OAAKqB,UAAU,gBAAgBga,IAAK/B,GAClCtZ,EAAAA,cAACsb,EAAAA,QAAe,CACd5F,YAdmB,WACvB+D,EAAS,IACTE,EAAc,IACdM,GAAqB,EACvB,EAWMsB,OAAQ3B,EACRvT,eACEmR,EACI,CAAC,cAAe,aAChB,CAAC,gBAAiB,gBAExBgE,UAAWxB,IAGbha,EAAAA,cAAA,KAAGqB,UAAU,6BACVG,KAAKC,EAAE,+BAGVzB,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAS,GAAAC,OAAK+X,EAAQ,YAAc,aACvCrZ,EAAAA,cAAA,YACE6B,KAAK,OACL4Z,YAAaja,KAAKC,EAAE,8CACpBoC,MAAO2V,EACPkC,SAAU,SAACC,GAAC,OAAKlC,EAASkC,EAAE3S,OAAOnF,MAAM,IAG3C7D,EAAAA,cAAA,WACEA,EAAAA,cAAA,UACEoY,KAAK,SACL1W,QAzFO,WACjB,IAAMka,EAA0BpE,EAC5B,CAAC,cAAe,aAChB,CAAC,gBAAiB,gBAChBqE,EAAsBrE,EACxB,CAAC,eACD,CAAC,iBACC1P,EAAQ0P,EACV,CAAEzD,SAAUhM,OAAOgK,GAAYyH,KAAAA,GAC/B,CAAEW,WAAYpS,OAAOgK,GAAYyH,KAAAA,GAC/BsC,EAAc,CAAElU,GAAImU,SAASrC,GAAaF,KAAAA,GAEhDE,EACIY,EAAiB,CACfzS,UAAW,CAAEC,MAAOgU,GACpBzV,eAAgBwV,EAChBjW,YAAa,WACX6T,EAAS,IACTE,EAAc,GAChB,IAEFU,EAAQ,CACNxS,UAAW,CAAEC,MAAAA,GACbzB,eAAgBuV,EAChBhW,YAAa,WACX6T,EAAS,GACX,GAER,EA8DYpY,UAAU,mCAETqY,EACGlY,KAAKC,EAAE,yBACPD,KAAKC,EAAE,sCAIdqY,EAAYnS,KAAI,SAACqU,GAChB,IAAQpU,EAAyCoU,EAAzCpU,GAAIqU,EAAqCD,EAArCC,OAAQzC,EAA6BwC,EAA7BxC,KAAM0C,EAAuBF,EAAvBE,mBAE1B,OACElc,EAAAA,cAAA,OAAKqB,UAAU,uBAAuBuC,IAAKgE,GACzC5H,EAAAA,cAAA,OAAKqB,UAAU,oBACbrB,EAAAA,cAAA,OAAKqB,UAAU,gBAAgB4a,EAAOpa,MACtC7B,EAAAA,cAAA,WACEA,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAU,OACVQ,KAAK,OACLH,QAAS,kBAAM6Y,EAAW3S,EAAI4R,EAAK,EACnC1X,KAAM,KACN,OACK,IACP9B,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAU,SACVQ,KAAK,iBACLH,QAAS,kBA7DL,SAACkG,GACvBiS,EAAgBjS,GAChBqS,GAAqB,EACvB,CA0DmCkC,CAAgBvU,EAAG,EAClC9F,KAAM,OAIZ9B,EAAAA,cAAA,KAAGqB,UAAU,cAAcmY,GAC3BxZ,EAAAA,cAAA,OAAKqB,UAAU,cAAc6a,GAGnC,MAKV,CAQA3E,EAAME,aAAe,CACnB1F,UAAW,GACXsH,OAAO,EACP7B,WAAY,IAGd,W,8JCjLa4E,EAAiB,SAACvW,EACAwW,EACAxI,EACAyI,EACAC,EACA5K,EACA6K,EACAC,EACAC,GAAmB,OAAK1c,EAAAA,SACnD,iBACE,CAGE,CAAE2c,OAAQ3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBC,SAAUrb,KAAKC,EAAE,6CACjBoS,eAAgBA,EAChBiJ,cAAe,kBAAMP,GAAcA,EAAW,aAAa,EAC3DQ,SAA2B,eAAjBV,IAEpBW,SAAU,qBAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,2BAAArQ,OAA0BuE,EAAKuX,KAAKC,IAAIC,SAASvJ,WACvElO,EAAKhC,MACF,GAKX,CAAE8Y,OAAQnb,KAAKC,EAAE,uCAEfub,SAAU,cAEVC,KAAM,SAAAhY,GAAe,IACnBsY,EADWtY,EAAJY,KACoG,GAAnG4S,EAAwB8E,EAAxB9E,yBAA0BC,EAAuB6E,EAAvB7E,wBAAyBnD,EAAkBgI,EAAlBhI,mBAAoBoD,EAAkB4E,EAAlB5E,mBAE/E,OACE3Y,EAAAA,cAAA,WACEA,EAAAA,cAAA,KAAIqB,UAAU,oBACVoX,EAA0BzY,EAAAA,cAAA,WAC1B0Y,EAAyB1Y,EAAAA,cAAA,WAC3BA,EAAAA,cAAA,KAAG+I,KAAI,WAAAzH,OAAaiU,IAAuBA,GAAuBvV,EAAAA,cAAA,WAChE2Y,GAIV,GAKF,CAAEgE,OAAQ3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBC,SAAUrb,KAAKC,EAAE,wBACjBoS,eAAgBA,EAChBiJ,cAAe,kBAAMP,GAAcA,EAAW,eAAe,EAC7DQ,SAA2B,iBAAjBV,IAEpBW,SAAU,2BAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,2BAAArQ,OAA0BuE,EAAKuX,KAAKC,IAAIC,SAASvJ,WACvElO,EAAKhC,MACF,GAKX,CAAE8Y,OAAQ3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBC,SAAUrb,KAAKC,EAAE,gBACjBoS,eAAgBA,EAChBiJ,cAAe,kBAAMP,GAAcA,EAAW,cAAc,EAC5DQ,SAA2B,gBAAjBV,IAEpBW,SAAU,0BAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,2BAAArQ,OAA0BuE,EAAKuX,KAAKC,IAAIC,SAASvJ,WACvElO,EAAKhC,MACF,GAKX,CAAE8Y,OAAQ3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBC,SAAUrb,KAAKC,EAAE,iBACjBoS,eAAgBA,EAChBiJ,cAAe,kBAAMP,GAAcA,EAAW,eAAe,EAC7DQ,SAA2B,iBAAjBV,IAEpBW,SAAU,qBAEVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,KAAG+I,KAAI,SAAAzH,OAAWuE,EAAKhC,QAAWgC,EAAKhC,MAAW,GAKlE,CAAE8Y,OAAQnb,KAAKC,EAAE,iBACfub,SAAU,qBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,KAAG+I,KAAI,UAAAzH,OAAYuE,EAAKhC,QAAWgC,EAAKhC,MAAW,GAKnE,CAAE8Y,OAAQnb,KAAKC,EAAE,mBACfmD,MAAO,CAAE4Y,SAAU,QAASC,SAAU,SACtCT,SAAU,UACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAK7E,CAAE8Y,OACE3c,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,8BACZzB,EAAAA,cAAA,OAAK4H,GAAG,2BAA2BvG,UAAU,uBAEjD2b,SAAU,mBAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,OAAK0B,QAAS,kBAAM8a,EAAe3W,EAAKuX,KAAKC,IAAIC,SAASvJ,SAAS,EAAE1S,UAAU,oBAC7ErB,EAAAA,cAAA,OAAKuI,IAAKmV,EAAUtb,MAAO,GAAIC,OAAQ,GAAIiG,IAAI,SAC/CtI,EAAAA,cAAA,SAAG,IAAG6F,EAAKhC,MAAO,KACd,GAKV,CAAE8Y,OACE3c,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,gBACZzB,EAAAA,cAAA,OAAK4H,GAAG,6BAA6BvG,UAAU,yBAEnD2b,SAAU,yBAEVC,KAAM,SAAApX,GAEJ,IAAA8X,EAA0B9X,EAAKuX,KAAKC,IAAIC,SAAhC1V,EAAE+V,EAAF/V,GAAIgW,EAASD,EAATC,UAEZ,OAAOA,EACL5d,EAAAA,cAAA,OAAKqB,UAAU,aACbrB,EAAAA,cAAA,OAAKqB,UAAU,wBACbwE,EAAKhC,MACL+Z,EAAU,GAAGC,eAAiB7d,EAAAA,cAAC8d,EAAAA,gBAAe,CAACC,QAASvc,KAAKC,EAAE,qCAAsCmG,GAAIA,KAE3G,EAEN,EACAoW,OAAQ,SAKV,CAAErB,OAAQnb,KAAKC,EAAE,oCACfub,SAAU,SACV5a,MAAO,IACPwC,MAAO,CAAE4Y,SAAU,QAASC,SAAU,SAEtCR,KAAM,SAAApX,GAEJ,IAAAoY,EAA0BpY,EAAKuX,KAAKC,IAAIC,SAAhCM,EAASK,EAATL,UAAWhW,EAAEqW,EAAFrW,GAGnB,OAFuBgW,GAAaA,EAAUhX,MAAK,SAAAsX,GAAO,OAAIA,EAAQC,aAAa,IAExD3c,KAAKC,EAAE,uDAE3Bmc,EACL5d,EAAAA,cAAA,OAAKqB,UAAU,cACXuc,EAAUjW,KAAI,SAAAyW,GAEd,IAAQC,EAAoDD,EAApDC,YAAaC,EAAuCF,EAAvCE,WAAYC,EAA2BH,EAA3BG,QAASV,EAAkBO,EAAlBP,cAE1C,OACE7d,EAAAA,cAAA,OAAKqB,UAAU,oBACVuC,IAAK,cAAgBya,EACrBzW,GAAE,GAAAtG,OAAKgd,GAAUhd,OAAG+c,IAEvBre,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiC+c,GAAeza,IAAKya,GAC3EE,GAGFV,GACA7d,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,qBACVK,QAAS,kBAAM+a,EAAmB7U,EAAG,EACrC,WAAUpG,KAAKC,EAAE,mCACjB,aAAW,gBACX,iCACDD,KAAKC,EAAE,0CAEXzB,EAAAA,cAACye,EAAAA,EAAY,CACXC,MAAM,MACNC,OAAO,QACP/W,GAAG,qBACHwQ,KAAK,QACLwG,QAAQ,EACRC,YAAY,WAIrB,KAGH,EACN,EACAb,OAAQ,SAKV,CAAErB,OAAQnb,KAAKC,EAAE,qCACfub,SAAU,iBACV5a,MAAO,IAEP6a,KAAM,SAAApX,GAEJ,IAAAiZ,EAAoCjZ,EAAKuX,KAAKC,IAAIC,SAA1CM,EAASkB,EAATlB,UAAW7J,EAAQ+K,EAAR/K,SAAUnM,EAAEkX,EAAFlX,GACvBmX,EAAiBnB,GAAaA,EAAUhX,MAAK,SAAAsX,GAAO,OAAIA,EAAQC,aAAa,IAEnF,GAAIY,EAAgB,CAElB,IAAQT,EAA8BS,EAA9BT,WAAYU,EAAkBD,EAAlBC,cAEpB,OACEhf,EAAAA,cAAA,OAAKqB,UAAU,eAAeK,QAAS,kBAAMgb,EAAoBqC,EAAgBhL,EAAUiL,EAAc,GACvGhf,EAAAA,cAAA,YACIsc,IAAyBgC,GAActe,EAAAA,cAACif,EAAAA,QAAM,CAACnd,KAAM,GAAIod,MAAO,GAAIrE,KAAM,IAC1ErZ,KAAKC,EAAE,iBAIjB,CAEA,OAAImc,EAEA5d,EAAAA,cAAA,OAAKqB,UAAU,cACXuc,EAAUjW,KAAI,SAAAuW,GAEd,IAAQI,EAAqEJ,EAArEI,WAAYD,EAAyDH,EAAzDG,YAAaW,EAA4Cd,EAA5Cc,cAAeG,EAA6BjB,EAA7BiB,yBAC1CC,EAAuBC,OAAOC,KAAKH,GAA0BxX,KAAI,SAAAjE,GAAK,MAAK,CAAEG,MAAOH,EAAOoF,MAAOqW,EAAyBzb,GAAQ,IACnI6b,EAAYjD,IAAyBgC,EAE3C,OAAOte,EAAAA,cAACwf,EAAAA,aAAY,CACX7e,QAASye,EACTK,cAAc,EACd7b,IAAK0a,EACLoB,iBAAiB,EACjBhZ,QAAS6Y,EACTI,OAAQ,SAACjK,GAAW,OAAKkK,EAAAA,EAAAA,wBAAuB,SAAUlK,EAAY,EACtE9N,GAAE,GAAAtG,OAAKgd,GAAUhd,OAAG+c,GACpBzG,aAAc,SAAC/T,GAAK,OAAK6Y,EAAoBwB,EAASnK,EAAUlQ,EAAO+D,EAAG,EAC1E/D,MAAyB,aAAlBmb,EAA+B,iBAAmBA,GACpE,KAIG,EAEX,EACAhB,OAAQ,SAIX,GACL,CAACnY,EAAMwW,EAAcC,GAAuB,C,gLC7C9C,UAnNqB,SAAHrX,GAoBwB,IApBlB4a,EAAuB5a,EAAvB4a,wBACAlJ,EAAW1R,EAAX0R,YACAhF,EAAa1M,EAAb0M,cACAyE,EAAanR,EAAbmR,cACA0G,EAAa7X,EAAb6X,cACA9G,EAAiB/Q,EAAjB+Q,kBACAK,EAAiBpR,EAAjBoR,kBACAxD,EAAW5N,EAAX4N,YACAnM,EAAOzB,EAAPyB,QACAmL,EAAM5M,EAAN4M,OACAyE,EAAYrR,EAAZqR,aACAxB,EAAM7P,EAAN6P,OACAhB,EAAO7O,EAAP6O,QACAD,EAAc5O,EAAd4O,eACAD,EAAO3O,EAAP2O,QACAgD,EAAc3R,EAAd2R,eACAX,EAAahR,EAAbgR,cACAC,EAAcjR,EAAdiR,eACAO,EAAOxR,EAAPwR,QACAC,EAAUzR,EAAVyR,WACAjE,EAAUxN,EAAVwN,WAEhBqN,GAAUC,EAAAA,EAAAA,MAEhB5a,GAAgCC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAArC4O,EAAQ1O,EAAA,GAAE2a,EAAW3a,EAAA,GAC5B8M,GAAgD/M,EAAAA,EAAAA,UAAS,IAAGgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAArDiB,EAAgBhB,EAAA,GAAE6N,EAAmB7N,EAAA,GAC5CG,GAAwDnN,EAAAA,EAAAA,UAAS,IAAGoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA7D+J,EAAoB9J,EAAA,GAAE0N,EAAuB1N,EAAA,GACpDG,GAA0CvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAAlDwN,EAAavN,EAAA,GAAEwN,EAAgBxN,EAAA,GACtCG,GAAwD3N,EAAAA,EAAAA,WAAS,GAAM4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAAhEsN,EAAoBrN,EAAA,GAAEsN,GAAuBtN,EAAA,GACpDG,IAAgD/N,EAAAA,EAAAA,WAAS,GAAMmO,IAAAjO,EAAAA,EAAAA,GAAA6N,GAAA,GAAxDoN,GAAgBhN,GAAA,GAAEiN,GAAmBjN,GAAA,GAC5CG,IAA4DtO,EAAAA,EAAAA,WAAS,GAAM4O,IAAA1O,EAAAA,EAAAA,GAAAoO,GAAA,GAApEL,GAAsBW,GAAA,GAAEyM,GAAyBzM,GAAA,GACxD0M,IAA8Dtb,EAAAA,EAAAA,WAAS,GAAMub,IAAArb,EAAAA,EAAAA,GAAAob,GAAA,GAAtEE,GAAuBD,GAAA,GAAEE,GAA0BF,GAAA,GAC1DG,IAA0D1b,EAAAA,EAAAA,UAAS,MAAK2b,IAAAzb,EAAAA,EAAAA,GAAAwb,GAAA,GAAjExN,GAAqByN,GAAA,GAAEC,GAAwBD,GAAA,GACtDE,IAA0C7b,EAAAA,EAAAA,UAAS4Q,GAAqB,IAAGkL,IAAA5b,EAAAA,EAAAA,GAAA2b,GAAA,GAApEE,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GAEtCzb,IAA0BO,EAAAA,EAAAA,GAAYkF,EAAAA,iBAAkB,CACtDtF,YAAa,SAAAC,GAAI,OAAKA,EAAKc,OAAS0a,IAAyB,IADxDC,IAELhc,EAAAA,EAAAA,GAAAG,GAAA,GAFoB,GAItB8b,IAAwBvb,EAAAA,EAAAA,GAAYoF,EAAAA,gBAAiB,CACnDxF,YAAa,SAAAC,GAAI,OAAKA,EAAKc,OAAS0a,IAAyB,IADxDG,IAELlc,EAAAA,EAAAA,GAAAic,GAAA,GAFkB,IAIpB1M,EAAAA,EAAAA,YAAU,WACRqB,GAAgBoG,EAClB,GAAG,CAACA,KAEJzH,EAAAA,EAAAA,YAAU,WACR,GAAIC,EAAQ,CACV,IAAM2M,EAAoB3M,EAAO4M,MAAK,SAAAC,GAAK,MAA6B,kBAAlBA,EAAMC,QAAuBD,EAAMC,QAAQC,WAAW,IAAK,IAAMF,EAAMC,OAAO,IAIpI,IAFCH,IAAsBN,GAAcW,SAAS,YAAcV,IAAiB,SAAAW,GAAW,SAAAzgB,QAAA0gB,EAAAA,EAAAA,GAAUD,GAAW,CAAE,WAAS,IAEpHN,GAAqBN,GAAcW,SAAS,WAAY,CAC1D,IAAMG,GAAgBD,EAAAA,EAAAA,GAAQhM,GAE9BiM,EAAiBC,OAAOf,GAAcgB,QAAQ,WAAY,GAC1Df,GAAiBa,EACnB,CACF,CACF,GAAG,CAACnN,IAGJ,IAwCMsN,GAAyB,SAACzb,GAC9BsB,QAAQC,IAAI,QAASvB,GACrBuZ,EAAwB,IACxBD,EAAoBze,KAAKC,EAAE,uDAC3Buf,IAAyB,GACzBP,IAA0B,EAC5B,EAoBMY,GAA0B,SAACgB,GAE/B,IAAM3M,EAAc,WAClB2M,GAAcA,IACd/F,GAAwB4D,EAAwB,GAClD,EAEAjK,IACGqM,MAAK,WACJ5M,IACA+K,IAA0B,EAC5B,IACCzY,OAAM,SAAArB,GACLsB,QAAQC,IAAI,QAASvB,GACrB+O,GACF,GACJ,EAGM6M,IAAgBnG,EAAAA,EAAAA,gBACpBtH,EACAhB,EACAD,EACAyI,EACAQ,EACAnL,GA3FqB,SAACoC,GACtBiM,EAAYjM,GACZqM,GAAiB,EACnB,IA8CiC,SAACoC,GAChChC,GAAoBgC,GACpBlC,IAAwB,EAC1B,IA9C4B,SAACpC,EAASnK,EAAU0O,EAAQ7a,GACtD,IAAQyW,EAA4BH,EAA5BG,YAAaC,EAAeJ,EAAfI,WAIrB,OAFA2B,EAAoB,GAAD3e,OAAIE,KAAKC,EAAE,0CAAyC,MAAAH,OAAME,KAAKC,EAAE,0CAADH,OAA2CmhB,IAAS,MAE/HA,GAEN,IAAK,aAIH,OAHAvC,EAAwB5B,QACxBgD,GAAgB,CAAEzZ,UAAW,CAAED,GAAI0W,KAChCtW,OAAM,SAAArB,GAAK,OAAIyb,GAAuBzb,EAAM,IAGjD,IAAK,OAIH,OAHAuZ,EAAwB5B,QACxBkD,GAAc,CAAE3Z,UAAW,CAAED,GAAI0W,KAC9BtW,OAAM,SAAArB,GAAK,OAAIyb,GAAuBzb,EAAM,IAGjD,IAAK,gBAGH,OAFAqZ,EAAYjM,QACZ8M,IAA2B,GAG7B,IAAK,iBAKH,YAJAf,EAAQ4C,KAAK,CACXC,SAAS,GAADrhB,OAAKqQ,EAAa,8BAC1BiR,OAAO,cAADthB,OAAgByS,EAAQ,iBAAAzS,OAAgB+c,EAAW,gBAAA/c,OAAegd,EAAU,cAAAhd,OAAasG,KAIvG,IA4DA,OACE5H,EAAAA,cAAA,OAAKqB,UAAU,gBAEbrB,EAAAA,cAAC6iB,EAAAA,QAA2B,CAC1BC,iBAAkBzB,GAClBtN,SAAUA,EACV2B,YAAa,kBAAMmL,IAA2B,EAAM,EACpDrF,UAAWoF,KAEb5gB,EAAAA,cAACyV,EAAAA,QAAgB,CACfG,YAAatC,GAAwB,QAAU,KAC/CoC,YAhDwB,WAC5B+K,IAA0B,GAC1BnN,IAAyB0N,IAAyB,EACpD,EA8CMrL,QAASvC,EACTyC,QAASxC,KAEXrT,EAAAA,cAAC+iB,EAAAA,QAAe,CACdlD,wBAAyBA,EACzBmD,mBAAoB3C,EACpBE,iBAAkBA,GAClB0C,0BA7D4B,WAChC3C,IAAwB,EAC1B,EA4DMzO,OAAQA,IAEV7R,EAAAA,cAACkjB,EAAAA,QAAU,CACTtb,GAAImM,EACJyD,YAAY,EACZ9B,YAAa,kBAAM0K,GAAiB,EAAM,EAC1C5E,UAAW2E,IAEbngB,EAAAA,cAACuW,EAAAA,QAAK,CACJnB,QAASmN,GACT5L,YAAaA,EACb9Q,KAAMiP,EACNsB,cAAeA,EACf+K,cAAeA,GACf9K,kBAAmBA,EACnBxD,YAAaA,EACbnM,QAASA,EACT7E,KAAK,SACLyU,aAAcA,EACd1C,QAASA,EACTgD,eAAgBA,EAChBH,QAASA,EACTC,WAAYA,EACZjE,WAAYA,IAKpB,C,k0BCUA,UAnNgB,SAAHxN,GAUW,IAVLke,EAASle,EAATke,UACAtD,EAAuB5a,EAAvB4a,wBACAlO,EAAa1M,EAAb0M,cACAyR,EAAane,EAAbme,cACAxR,EAAQ3M,EAAR2M,SACAC,EAAM5M,EAAN4M,OACAwR,EAAepe,EAAfoe,gBACAC,EAAUre,EAAVqe,WACAC,EAAete,EAAfse,gBACAzR,EAAqB7M,EAArB6M,sBAGTlK,GAAOoK,EAAAA,EAAAA,MAAPpK,GAERzC,GAA4BC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAjC2P,EAAMzP,EAAA,GAAE8Q,EAAS9Q,EAAA,GACxB8M,GAAoC/M,EAAAA,EAAAA,UAAS,IAAGgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAzCqR,EAAUpR,EAAA,GAAEqR,EAAarR,EAAA,GAChCG,GAAoCnN,EAAAA,EAAAA,UAAS,GAAEoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAxCE,EAAUD,EAAA,GAAEE,EAAaF,EAAA,GAChCG,GAAsCvN,EAAAA,EAAAA,WAAS,GAAKwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA7CE,EAAWD,EAAA,GAAEE,EAAcF,EAAA,GAClCG,GAAwD3N,EAAAA,EAAAA,UAASwC,GAAM,MAAKoL,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAArE2Q,EAAoB1Q,EAAA,GAAE2Q,EAAuB3Q,EAAA,GACpDG,GAAsC/N,EAAAA,EAAAA,WAAS,GAAKmO,GAAAjO,EAAAA,EAAAA,GAAA6N,EAAA,GAA7CyQ,EAAWrQ,EAAA,GAAE2C,GAAc3C,EAAA,GAElCG,IAA8BtO,EAAAA,EAAAA,UAAS,CACrCye,aAAc,MACd1J,WAAavS,GAAMG,OAAOH,IAAQ,KAClCkM,QAAS,aACTD,eAAgB,OAChBF,KAAM,EACNC,QAASuP,EAAY,EAAI,GACzBW,MAAO,GACPC,uBAAuB,IACvB/P,IAAA1O,EAAAA,EAAAA,GAAAoO,GAAA,GATKO,GAAOD,GAAA,GAAEE,GAAUF,GAAA,GAWlB6P,GAAgF5P,GAAhF4P,aAAc/P,GAAkEG,GAAlEH,QAASD,GAAyDI,GAAzDJ,eAAgBF,GAAyCM,GAAzCN,KAAMC,GAAmCK,GAAnCL,QAASmQ,GAA0B9P,GAA1B8P,sBAE9DC,IAAkEC,EAAAA,EAAAA,GAAa3X,EAAAA,4BAA2B4X,IAAA5e,EAAAA,EAAAA,GAAA0e,GAAA,GAAnGG,GAAuBD,GAAA,GAAUE,GAAoBF,GAAA,GAA1Bre,KAElCsO,IAAkEzO,EAAAA,EAAAA,GAASkH,EAAAA,WAAY,CACrF/E,UAASsN,EAAA,GAAOlB,IAChBrO,YAAa,SAAAC,IACVsd,GAAatQ,GAAesR,KAA0Bnc,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,IACjGwP,EAAUtQ,EAAKiP,OAAOA,QACtBpC,EAAc7M,EAAKiP,OAAOrC,YAC1BK,GAAe,EACjB,IAPeuR,GAAalQ,GAAtBzN,QAAwBC,GAAKwN,GAALxN,MAAgBsP,GAAa9B,GAAtBK,QAUvC/O,IAA+BO,EAAAA,EAAAA,GAAY+F,EAAAA,yBAApCuY,IAA4Dhf,EAAAA,EAAAA,GAAAG,GAAA,GAAxC,GAErBiB,GAAUkd,GAAeS,IAE/BxP,EAAAA,EAAAA,YAAU,WACRoB,KAAgBjO,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAIvB,EAAM,IAE7C0c,IACFE,IACAe,GAAqB,CACnBzc,UAAW,CAAEyb,WAAYvb,OAAOub,MAC/Btb,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,IAEjD,GAAG,KAEHkO,EAAAA,EAAAA,YAAU,WACRnO,IAAWyP,EAAUhT,MAAMyQ,IAAS2Q,KAAK,CAAC,GAC5C,GAAG,CAAC7d,MAEJmO,EAAAA,EAAAA,YAAU,WACRoB,KAAgBjO,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAIvB,EAAM,GACnD,GAAG,CAACsN,MAEJuQ,EAAAA,EAAAA,qBAAmB,WACjBxP,GAAc,CAAC8O,MAAON,EAAY7P,KAAM,GAC1C,GAAG,CAAC6P,GAAa,KAGjB,IAAQiB,GAA6CrB,EAA7CqB,aAAcC,GAA+BtB,EAA/BsB,KAAMC,GAAyBvB,EAAzBuB,SAAUC,GAAexB,EAAfwB,WAEhCC,GAAgB,CACpB,CAAChhB,MAAO,MAAOiF,MAAOtH,KAAKC,EAAE,eAAgBJ,UAAYwiB,GAA4B,KAAb,YACxE,CAAChgB,MAAO,aAAciF,MAAO8b,IAC7B,CAAC/gB,MAAO,gBAAiBiF,MAAO2b,IAChC,CAAC5gB,MAAO,OAAQiF,MAAO4b,IACvB,CAAC7gB,MAAO,WAAYiF,MAAO6b,KASvBG,GAAe,CACnB,CAAEhc,MAAOtH,KAAKC,EAAE,2CAA4CoC,OAAO,EAAMkhB,QAAShB,IAClF,CAAEjb,MAAOtH,KAAKC,EAAE,yCAA0CoC,OAAO,EAAOkhB,SAAUhB,KAG9EiB,GAAiBZ,IAAwBA,GAAqBa,UAAUA,WAAc,GAEtFC,GAAyB,CAAC,CAAEpc,MAAOtH,KAAKC,EAAE,eAAgBoC,MAAO,OAAQvC,OAAO0jB,GAAcrd,KAAI,SAAAiC,GAAQ,MAC7G,CAAEd,MAAM,GAADxH,OAAKsI,EAAS2U,SAAOjd,OAAGsI,EAASub,SAAQ,KAAA7jB,OAAQsI,EAASub,SAAQ,KAAA7jB,OAAIsI,EAASwb,UAAY,IAAO,IAAMvhB,MAAO+F,EAAShC,GAAI,KAGhIoN,GAAgB,SAACC,GAAU,OAC/Bf,IAAW,SAAAgB,GAAW,OAAAC,EAAAA,EAAA,GACjBD,GACAD,EAAU,GACX,EAeN,OAAInD,EAAsBnL,MAAWiL,EAAShK,GAAY5H,EAAAA,cAACwV,EAAAA,QAAO,CAAC7D,cAAeA,KAC7EwR,GAAaxc,GAAc3G,EAAAA,cAACqlB,EAAAA,QAAY,OAEvClC,GAA4B,IAAf1Q,GAAqB/L,GAEpC1G,EAAAA,cAAA,OAAKqB,UAAS,sBAAAC,OAAyB6hB,EAAY,UAAY,MAE1DA,GACDnjB,EAAAA,cAAA,OAAKqB,UAAU,+BAEbrB,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAA,OAAKqB,UAAU,wBACbrB,EAAAA,cAAA,SACEoY,KAAK,OACL/W,UAAU,eACVwC,MAAO2f,EACP/H,YAAaja,KAAKC,EAAE,kBACpBia,SAAU,SAACC,GAAC,OAAK8H,EAAc9H,EAAE3S,OAAOnF,MAAM,EAC9CyhB,UAAU,QACZtlB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,SAASC,KAAM,MAG9B9B,EAAAA,cAACulB,EAAAA,QAAkB,CACjB5kB,QAASukB,GACTrhB,MAAO6f,EACP8B,gBAAiB,0BACjB/J,YAAaja,KAAKC,EAAE,2CACpBmW,aAhCgB,SAAC/T,GAC7B8f,EAAwB9f,GACxBmR,GAAc,CAAEmF,WAAYpS,OAAOlE,IAAUA,EAAO8P,KAAM,GAC5D,IA+BY3T,EAAAA,cAACylB,EAAAA,QAAa,CACZ9kB,QAASkkB,GACTa,aAAa,2BACbjK,YAAaja,KAAKC,EAAE,qCACpBmW,aAAc,SAAC/T,GAAK,OAAKmR,GAAc,CAAE6O,aAAchgB,GAAS,GAAI8P,KAAM,GAAI,EAC9E9P,MAAOggB,KAET7jB,EAAAA,cAAC2lB,EAAAA,QAAY,CACXhlB,QAASmkB,GACTlN,aAAc,SAAC/T,GAAK,OAAKmR,GAAc,CAAE+O,sBAAuBlgB,EAAO8P,KAAM,GAAI,MAGlFwP,GAAa1Q,EAAa,GAC3BzS,EAAAA,cAAC4lB,EAAAA,QAAsB,CACrBC,SAAS,SACTC,UAAU,QACVhC,MAAOtX,EAAAA,qBACP3E,UAASsN,EAAAA,EAAA,GAAOlB,IAAO,IAAEN,KAAM,KAAMC,QAAS,KAAMmS,KAAK,OAMjE/lB,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,sCAAuC,KAAIgR,EAAY,KAClE0Q,GACAnjB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,yBAAyBtQ,UAAU,4BAC3DrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,mCAKrBzB,EAAAA,cAAC+V,EAAAA,QAAY,CACX8J,wBAAyBA,EACzBlO,cAAeA,EACfgF,YAAahD,GACbyC,eAAe,EACf0G,cA9Ec,SAACxH,GAGrBN,GAAc,CAAElB,QAASwB,EAAOzB,eAFNyB,IAAUxB,IAA8B,QAAnBD,GAA2B,OAAS,OAGrF,EA2EQmC,kBAAmB,CAAC,eACpBK,oBAAqB8M,EACrBtQ,YAAaA,EACbnM,QAASA,GACTmL,OAAQA,EACRiD,OAAQA,EACRhB,QAASA,GACTD,eAAgBA,GAChBD,QAASA,GACTgD,eAhHe,CACrB,CAAE/S,MAAO,KAAMiF,MAAO,MACtB,CAAEjF,MAAO,KAAMiF,MAAO,MACtB,CAAEjF,MAAO,KAAMiF,MAAO,OA8GhBmN,cAAeA,GACfQ,QAAS,SAAC9C,GAAI,OAAKqB,GAAc,CAAErB,KAAAA,GAAO,EAC1C+C,WAAY,SAAC9C,GAAO,OAAKoB,GAAc,CAAEpB,QAAAA,EAASD,KAAM,GAAI,EAC5DuC,eAAgBA,GAChBzD,WAAYA,KAKX,IAEX,C,wKCnNA,SAASuT,EAAa/gB,GAkBlB,IAjBF0M,EAAa1M,EAAb0M,cACAsU,EAAShhB,EAATghB,UACAC,EAAiBjhB,EAAjBihB,kBACArT,EAAW5N,EAAX4N,YACAsQ,EAASle,EAATke,UACAgD,EAAelhB,EAAfkhB,gBACAC,EAAkBnhB,EAAlBmhB,mBACAzP,EAAW1R,EAAX0R,YACA/C,EAAO3O,EAAP2O,QACA6C,EAAOxR,EAAPwR,QACAC,EAAUzR,EAAVyR,WACA2P,EAAmBphB,EAAnBohB,oBACA5T,EAAUxN,EAAVwN,WACAoB,EAAc5O,EAAd4O,eACA0I,EAAUtX,EAAVsX,WACAF,EAAYpX,EAAZoX,aACAiK,EAAerhB,EAAfqhB,gBAGAnhB,GAAkCC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA1CqW,EAASnW,EAAA,GAAEkhB,EAAYlhB,EAAA,GAC9B8M,GAA8C/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAtDqU,EAAepU,EAAA,GAAEqU,EAAkBrU,EAAA,GAC1CG,GAA0EnN,EAAAA,EAAAA,WAAS,GAAMoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAlFmU,EAA6BlU,EAAA,GAAEmU,EAAgCnU,EAAA,GACtEG,GAAqCvN,EAAAA,EAAAA,UAAS,CAAC,GAAEwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA1CiU,EAAShU,EAAA,GAAEiU,EAAejU,EAAA,GACjCG,GAA4D3N,EAAAA,EAAAA,WAAS,GAAM4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAApEM,EAAsBL,EAAA,GAAEyN,EAAyBzN,EAAA,GACxDG,GAAgD/N,EAAAA,EAAAA,UAAS,IAAGmO,GAAAjO,EAAAA,EAAAA,GAAA6N,EAAA,GAArDC,EAAgBG,EAAA,GAAE0M,EAAmB1M,EAAA,GAC5CG,GAAgDtO,EAAAA,EAAAA,UAAS,CACvD0hB,MAAM,EACNnR,QAAS,GACToR,MAAO,UACP/S,IAAA1O,EAAAA,EAAAA,GAAAoO,EAAA,GAJKsT,GAAgBhT,GAAA,GAAEiT,GAAmBjT,GAAA,GAM5CvO,IAAwBO,EAAAA,EAAAA,GAAYwH,EAAAA,gBAA7BoH,IAA4CtP,EAAAA,EAAAA,GAAAG,GAAA,GAA/B,GACpB8b,IAAwBvb,EAAAA,EAAAA,GAAYuH,EAAAA,iBAA7B2Z,IAA6C5hB,EAAAA,EAAAA,GAAAic,GAAA,GAAhC,GACpB4F,IAA+BnhB,EAAAA,EAAAA,GAAY4H,EAAAA,0BAApCwZ,IAA6D9hB,EAAAA,EAAAA,GAAA6hB,GAAA,GAAzC,GAWrBE,GAA8C,IAAlChI,OAAOC,KAAKsH,GAAW3jB,OAgCnCqkB,GAAoB,SAACvP,EAAQwP,GAC7BxP,GAAUA,EAAO9U,OACnBgkB,GAAoB,CAClBH,MAAM,EACNnR,QAASnU,KAAKC,EAAE,wDAChBslB,MAAO,SAGTR,GAAa,GACbM,EAAgB,CAAC,GACjB5G,EAAoBsH,GACpB9G,GAA0B,GAE9B,EAQM+G,GAA0B,WAC9BP,GAAoB,CAAEH,MAAM,EAAOnR,QAAS,IAC9C,EAgBMP,GAAUiR,GAEZoB,EAAAA,EAAAA,wBACExB,GARuB,SAACpgB,GAC5BghB,EAAgBhhB,GAChB8gB,GAAiC,EACnC,IA9E4B,SAAC5U,GAC3B,IAAMjK,EAAQ,CAAEF,GAAImU,SAAShK,IAE7BqV,GAAqB,CACnBvf,UAAW,CAAEC,MAAAA,GACbzB,eAAgB,CAAC,cAAe,qBAEpC,GA+EMwN,EACA0I,EACAF,IAEFqL,EAAAA,EAAAA,iBACEzB,GArBkB,SAACpgB,EAAMwhB,GAC7BR,EAAgBhhB,GAChBwhB,EAAYd,GAAa,GAAQE,GAAmB,EACtD,GAoBM5S,EACA0I,EACAF,GASN,OACErc,EAAAA,cAAA,OAAKqB,UAAS,kBAAAC,OAAoB6hB,EAAY,UAAY,KACxDnjB,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAAA,OACEqB,UAAU,oBACVuD,MAAO,CAAE+iB,eAAgBxE,EAAY,aAAe,kBAEpDnjB,EAAAA,cAAA,OAAKqB,UAAU,wBACbrB,EAAAA,cAAA,KACE0B,QAAS,kBAAM4kB,GAAgB,EAAM,EACrCjlB,UAAS,GAAAC,OAAM+kB,EAAiC,GAAX,WAEpC7kB,KAAKC,EAAE,yCAAyC,KAChD2kB,EAAmB,KAEtBpmB,EAAAA,cAAA,KACE0B,QAAS,kBAAM4kB,GAAgB,EAAK,EACpCjlB,UAAS,GAAAC,OAAK+kB,EAAsB,SAAW,KAE9C7kB,KAAKC,EAAE,oDAAoD,KAC3DykB,EAAkB,MAGvBlmB,EAAAA,cAAA,OACEqB,UAAU,qCACVK,QAAS,kBAAM6kB,GAAa,EAAK,GAEjCvmB,EAAAA,cAAA,SAAG,KAAGwB,KAAKC,EAAE,0CAGhB0hB,GACCnjB,EAAAA,cAACkd,EAAAA,GAAI,CACHC,GAAE,GAAA7b,OAAKqQ,EAAa,2BACpBtQ,UAAU,4BAEVrB,EAAAA,cAAA,YAAOwB,KAAKC,EAAE,mCAKpBzB,EAAAA,cAACyV,EAAAA,QAAgB,CACfC,YA/EwB,WAC5B+K,GAA0B,EAC5B,EA8EM9K,QAASvC,EACTyC,QAASxC,IAGTuT,GACA5mB,EAAAA,cAAC4nB,EAAAA,QAAkB,CACjBC,SAAU,kBAAMhB,EAAgB,CAAC,EAAE,EACnChhB,KAAM+gB,EACNlR,YAAa,kBAAM+Q,GAAmB,EAAM,EAC5CjL,UAAWgL,IAIbE,GACA1mB,EAAAA,cAAC8nB,EAAAA,QAAyB,CACxBD,SAAU,kBAAMhB,EAAgB,CAAC,EAAE,EACnChhB,KAAM+gB,EACNlR,YAAa,kBAAMiR,GAAiC,EAAM,EAC1DnL,UAAWkL,IAIf1mB,EAAAA,cAAC+nB,EAAAA,QAAqB,CACpB1F,WAjHa,WACjBmF,KACAjB,GAAa,GACbM,EAAgB,CAAC,EACnB,EA8GMrL,UAAWA,EACXwM,WAhKoB,SAAC9Q,GACzB,IAAQrV,EAA6DqV,EAA7DrV,KAAMiU,EAAuDoB,EAAvDpB,MAAOsB,EAAgDF,EAAhDE,YAAa6Q,EAAmC/Q,EAAnC+Q,SAAUC,EAAyBhR,EAAzBgR,qBACtCtgB,EAAKyf,GAAYtL,SAAS6K,EAAUhf,IAAM,KAC1CE,EAAQuf,GACV,CAAExlB,KAAAA,EAAMiU,MAAAA,EAAOsB,YAAAA,EAAaxP,GAAAA,GAC5B,CAAE/F,KAAAA,EAAMiU,MAAAA,EAAOsB,YAAAA,EAAa6Q,SAAAA,EAAUC,qBAAAA,GAE1Cb,GACIzS,GAAc,CACZ/M,UAAW,CAAEC,MAAAA,GACbzB,eAAgB,CAAC,eACjBT,YAAa,SAAA4S,GAAwB,IAC3BT,EADmBS,EAAb5D,cACNmD,OACFoQ,EAAc3mB,KAAKC,EAAE,qDAE3B6lB,GAAkBvP,EAAQoQ,EAC5B,IAEFjB,GAAc,CACZrf,UAAW,CAAEC,MAAAA,GACbzB,eAAgB,CAAC,eACjBT,YAAa,SAAAwU,GAAqB,IACxBrC,EADgBqC,EAAVgO,WACNrQ,OACFsQ,EAAgB7mB,KAAKC,EAAE,+CAE7B6lB,GAAkBvP,EAAQsQ,EAC5B,GAER,EAqIMrB,iBAAkBA,GAClBQ,wBAAyBA,GACzBc,gBAAiB1B,EACjBS,UAAWA,KAGbrnB,EAAAA,cAACuW,EAAAA,QAAK,CACJ1Q,KAAMogB,EACNpkB,KAAK,WACLuT,QAASA,GACTxB,QAASA,EACT6C,QAASA,EACTC,WAAYA,EACZC,YAAaA,EACbC,eAxFiB,CACrB,CAAE/S,MAAO,KAAMiF,MAAO,MACtB,CAAEjF,MAAO,KAAMiF,MAAO,OAuFlB+J,YAAaA,EACbwD,oBAAqB8M,EACrBzc,QAASyf,EACT1T,WAAYA,IAIpB,CAqBAuT,EAAcvO,aAAe,CAC3BwO,UAAW,CAAC,EACZC,kBAAmB,GACnBrT,aAAa,EACbsQ,WAAW,EACXgD,iBAAiB,EACjBC,mBAAoB,GACpBzP,YAAa,GACb/C,QAAS,GACT6C,QAAS,kBAAM,CAAI,EACnBC,WAAY,kBAAM,CAAI,EACtB2P,qBAAqB,EACrB5T,WAAY,GACZoB,eAAgB,GAChB0I,WAAY,kBAAM,CAAI,EACtBF,aAAc,GACdiK,gBAAiB,kBAAM,CAAI,GAG7B,W,uGCjRA,SAASiC,EAAuBtjB,GAU5B,IATF0S,EAAY1S,EAAZ0S,aACAT,EAAMjS,EAANiS,OACAU,EAAY3S,EAAZ2S,aACAC,EAAO5S,EAAP4S,QACAC,EAAU7S,EAAV6S,WACAC,EAAM9S,EAAN8S,OACAsK,EAAUpd,EAAVod,WAEAgF,GADepiB,EAAfqjB,gBACSrjB,EAAToiB,WAEA,OACErnB,EAAAA,cAAA,OAAKqB,UAAU,cACbrB,EAAAA,cAAA,QACE6B,KAAK,mBACLR,UAAU,mBACV2W,SAAUL,EACVM,YAAU,GAEVjY,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,OACLgC,MAAOqT,EAAOrV,KACd+V,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,gBACdkF,MAAOkR,EAAQhW,MAAQkW,EAAOlW,KAC9BsW,UAAQ,IAEVnY,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,QACLgC,MAAOqT,EAAOpB,MACd8B,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,iBACdkF,MAAOkR,EAAQ/B,OAASiC,EAAOjC,MAC/BqC,UAAQ,IAGVnY,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,cACLgC,MAAOqT,EAAOE,YACdQ,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,qDACdkF,MAAOkR,EAAQT,aAAeW,EAAOX,YACrCe,UAAQ,KAGRkP,GACArnB,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,WACLuW,KAAK,WACLvU,MAAOqT,EAAO+Q,SACdrQ,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,oBACdkF,MAAOkR,EAAQoQ,UAAYlQ,EAAOkQ,SAClC9P,UAAQ,IAGVnY,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,uBACLuW,KAAK,WACLvU,MAAOqT,EAAOgR,qBACdtQ,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,yDACdkF,MACEkR,EAAQqQ,sBAAwBnQ,EAAOmQ,qBAEzC/P,UAAQ,KAKdnY,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,UACEoY,KAAK,SACL1W,QAAS,kBAAM2gB,GAAY,EAC3BhhB,UAAU,0BAETG,KAAKC,EAAE,8BAGVzB,EAAAA,cAAA,UAAQoY,KAAK,SAAS/W,UAAU,wBAC7BG,KAAKC,EAAE,mBAMpB,CAEA,IAAM+mB,GAAmBnQ,EAAAA,EAAAA,IAAW,CAClCE,iBAAkB,SAAAC,GAAA,IAAG8P,EAAe9P,EAAf8P,gBAAiBjB,EAAS7O,EAAT6O,UAAS,MAAQ,CACrDxlB,KAAMymB,EAAkBA,EAAgBzmB,KAAO,GAC/CiU,MAAOwS,EAAkBA,EAAgBxS,MAAQ,GACjDsB,YAAakR,EAAkBA,EAAgBlR,YAAc,GAC7DqR,kBAAmBpB,EACnBY,SAAU,GACVC,qBAAsB,GACvB,EACDtP,iBAAkBC,EAAAA,GAAAA,SAAaC,MAAM,CACnCjX,KAAMmX,EAAAA,eACNlD,MAAOmD,EAAAA,gBACP7B,YAAa8B,EAAAA,gBACbuP,iBAAkB5P,EAAAA,GAAAA,UAClBoP,SAAUpP,EAAAA,GAAAA,SAAa6P,KAAK,mBAAoB,CAC9CC,IAAI,EACJrG,KAAMsG,EAAAA,qBAERV,qBAAsBrP,EAAAA,GAAAA,SAAa6P,KAAK,mBAAoB,CAC1DC,IAAI,EACJrG,KAAMuG,EAAAA,mCAIVlR,aAAc,SAACT,EAAQiC,GACrBA,EAAIpZ,MAAMioB,WAAW9Q,EACvB,EAEAkC,YAAa,wBA5BUf,CA6BtBkQ,GAaHA,EAAwB9Q,aAAe,CACrCE,aAAc,kBAAM,CAAI,EACxBT,OAAQ,CAAC,EACTU,aAAc,kBAAM,CAAI,EACxBC,SAAS,EACTC,WAAY,kBAAM,CAAI,EACtBC,OAAQ,GACRsK,YAAY,EACZiG,gBAAiB,CAAC,GAGpB,W,isBCtJA,SAASQ,EAAY7jB,GAAgC,IAA7Bke,EAASle,EAATke,UAAWxR,EAAa1M,EAAb0M,cACjCxM,GAAoCC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAzC4jB,EAAQ1jB,EAAA,GAAE2jB,EAAe3jB,EAAA,GAChC8M,GAAoD/M,EAAAA,EAAAA,UAAS,GAAEgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAxDiU,EAAkBhU,EAAA,GAAE6W,EAAqB7W,EAAA,GAChDG,GAAkDnN,EAAAA,EAAAA,UAAS,GAAEoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAtD2T,EAAiB1T,EAAA,GAAE0W,EAAoB1W,EAAA,GAC9CG,GAAsDvN,EAAAA,EAAAA,UAAS,IAAGwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA3DwW,EAAmBvW,EAAA,GAAEwW,EAAsBxW,EAAA,GAClDG,GAAsC3N,EAAAA,EAAAA,WAAS,GAAK4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAA7CF,EAAWG,EAAA,GAAEF,EAAcE,EAAA,GAClCG,GAAsD/N,EAAAA,EAAAA,WAAS,GAAMmO,GAAAjO,EAAAA,EAAAA,GAAA6N,EAAA,GAA9DkT,EAAmB9S,EAAA,GAAE8V,EAAsB9V,EAAA,GAElDG,GAA8BtO,EAAAA,EAAAA,UAAS,CACrCuO,KAAM,EACNC,QAASuP,EAAY,EAAI,GACzBtP,eAAgB,OAChBC,QAAS,oBACTE,GAAA1O,EAAAA,EAAAA,GAAAoO,EAAA,GALKO,EAAOD,EAAA,GAAEE,EAAUF,EAAA,GAO1B0M,GAA2Dtb,EAAAA,EAAAA,UAAS,CAClEuO,KAAM,EACNC,QAASuP,EAAY,EAAI,GACzBtP,eAAgB,OAChBC,QAAS,aACTwV,aAAa,IACb3I,GAAArb,EAAAA,EAAAA,GAAAob,EAAA,GANK6I,EAAsB5I,EAAA,GAAE6I,EAAwB7I,EAAA,GAQvDnI,EAAmD6N,EAC/CkD,EACAtV,EAFIN,EAAI6E,EAAJ7E,KAAMC,EAAO4E,EAAP5E,QAASC,EAAc2E,EAAd3E,eAAgBC,EAAO0E,EAAP1E,QAIvCK,GAIIzO,EAAAA,EAAAA,GAAS2G,EAAAA,aAAc,CAAExE,UAAWoM,IAH/BwV,EAAatV,EAApBxN,MACAd,EAAIsO,EAAJtO,KACSsgB,EAAehS,EAAxBzN,QAGF+N,GAII/O,EAAAA,EAAAA,GAASgI,EAAAA,qBAAsB,CAAE7F,UAAW0hB,IAHvCG,EAAoBjV,EAA3B9N,MACMgjB,EAAelV,EAArB5O,KACS+jB,GAAsBnV,EAA/B/N,QAIIsO,GAAgB,SAACC,GACrBoR,EACImD,GAAyB,SAACtU,GAAW,OAAAC,EAAAA,EAAA,GAChCD,GACAD,EAAU,IAEff,GAAW,SAACgB,GAAW,OAAAC,EAAAA,EAAA,GAClBD,GACAD,EAAU,GAErB,EA8BA,IAhBAJ,EAAAA,EAAAA,YAAU,WACJhP,IACFmjB,EAAgBnjB,EAAKkjB,SAASA,UAC9BE,EAAsBpjB,EAAKkjB,SAAStW,YACpCK,GAAe,GAEnB,GAAG,CAACjN,KAGJgP,EAAAA,EAAAA,YAAU,WACJ8U,IACFP,EAAuBO,EAAgBZ,SAASA,UAChDG,EAAqBS,EAAgBZ,SAAStW,YAElD,GAAG,CAACkX,IAEAF,GAAiBC,EAAsB,OAAO1pB,EAAAA,cAACqlB,EAAAA,QAAY,MAG/D,IAAMY,GAAYI,EAAsB8C,EAAsBJ,EAExDtW,GAAa4T,EACfH,EACAE,EAEJ,OACEpmB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAAA,OAAKqB,UAAS,oBAAAC,OAAsB6hB,EAAY,UAAY,KAC1DnjB,EAAAA,cAACgmB,EAAAA,QAAa,CACZrU,cAAeA,EACfgF,YAAahD,EACbC,QAASA,EACTsS,kBAAmBA,EACnBE,mBAAoBA,EACpBvT,YAAaA,EACbsQ,UAAWA,EACXgD,gBAAiBA,GAAmByD,GACpCnT,QAAS,SAAC9C,GAAI,OAAKqB,GAAc,CAAErB,KAAAA,GAAO,EAC1C+C,WAAY,SAAC9C,GAAO,OAAKoB,GAAc,CAAEpB,QAAAA,EAASD,KAAM,GAAI,EAC5D0S,oBAAqBA,EACrBJ,UAAWA,GACXxT,WAAYA,GACZoB,eAAgBA,EAChB0I,WAtDW,SAACjH,GAIlBN,GAAc,CAAElB,QAASwB,EAAOzB,eAF9ByB,IAAUxB,GAA8B,QAAnBD,EAA2B,OAAS,OAG7D,EAkDQwI,aAAcvI,EACdwS,gBAhDgB,SAACziB,GAAK,OAAKwlB,EAAuBxlB,EAAO,KAqDnE,CAMAilB,EAAarR,aAAe,CAC1B0L,WAAW,GAGb,W,sECpHA,UAZ0B,WAExB,OACEnjB,EAAAA,cAAA,OAAKqB,UAAU,uBACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,kBAAkBC,KAAM,KACrC9B,EAAAA,cAAA,OAAKqB,UAAU,gCACXG,KAAKC,EAAE,sCAAuC,IAACzB,EAAAA,cAAA,KAAG+I,KAAMkS,OAAOrR,SAASb,MAAQvH,KAAKC,EAAE,yBAA6B,KAI9H,C,iFCQA,UAlBqB,SAAHwD,GAEhB,OAF2B4kB,EAAAA,EAAAA,GAAA5kB,GAGzBjF,EAAAA,cAAA,OAAKqB,UAAU,eACbrB,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,uBAAwB,MACrCzB,EAAAA,cAAA,OAAKuI,IAAKuhB,EAAUznB,OAAQ,IAAKD,MAAO,IAAKkG,IAAI,UACjDtI,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,0CACdzB,EAAAA,cAAA,WACIwB,KAAKC,EAAE,sCACTzB,EAAAA,cAAA,KAAG+I,KAAMkS,OAAOrR,SAASb,MACrBvH,KAAKC,EAAE,yBACP,KAKZ,C,gFCJA,UAdgB,SAAHwD,GAA2B,IAArB0M,EAAa1M,EAAb0M,cACjB,OACE3R,EAAAA,cAAA,OAAKqB,UAAU,eACbrB,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,sBAAuB,MACpCzB,EAAAA,cAAA,OAAKuI,IAAKuhB,EAAUznB,OAAQ,IAAKD,MAAO,IAAKkG,IAAI,UACjDtI,EAAAA,cAAA,KAAGqB,UAAU,kBAAmBG,KAAKC,EAAE,gCACvCzB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,qCAEZzB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kBAAkBoY,SAAS,yBAAwB,IAAEvoB,KAAKC,EAAE,0DAI5F,C,sECAA,UAVwB,SAAHwD,GAAqB,IAAf0Q,EAAO1Q,EAAP0Q,QAEzB,OACE3V,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,UAAUC,KAAM,KAC7B9B,EAAAA,cAAA,OAAKqB,UAAU,6BAA6B2oB,wBAAyB,CAAEC,OAAQtU,KAGrF,C,sEC8FA,UAtGe,SAAH1Q,GAAsD,IAAhDilB,EAAMjlB,EAANilB,OAAQC,EAAYllB,EAAZklB,aAAcC,EAAkBnlB,EAAlBmlB,mBAE9BC,EAagBH,EAbhBG,YACAC,EAYgBJ,EAZhBI,aACAC,EAWgBL,EAXhBK,WACAC,EAUgBN,EAVhBM,WACAC,EASgBP,EAThBO,QACAC,EAQgBR,EARhBQ,WACAC,EAOgBT,EAPhBS,iBACAC,EAMgBV,EANhBU,gBACAC,EAKgBX,EALhBW,QACAC,EAIgBZ,EAJhBY,QACAC,EAGgBb,EAHhBa,YACAC,EAEgBd,EAFhBc,QACAC,EACgBf,EADhBe,KACAC,EAAgBhB,EAAhBgB,YAGN/T,EAOEgT,EAPFhT,YACOgU,EAMLhB,EANFiB,MACOC,EAKLlB,EALFmB,MACMC,EAIJpB,EAJF1iB,KACO+jB,EAGLrB,EAHFsB,MACKC,EAEHvB,EAFFwB,IACaC,EACXzB,EADF/S,YAIMyU,EAGJzB,EAHFvoB,KACOiqB,EAEL1B,EAFFtU,MACaiW,EACX3B,EADFhT,YAIF,OACEpX,EAAAA,cAAA,UAAQqB,UAAU,mBAChBrB,EAAAA,cAAA,OAAKqB,UAAU,aACbrB,EAAAA,cAAA,OAAKqB,UAAU,6BAEbrB,EAAAA,cAAA,OAAKqB,UAAU,+CACbrB,EAAAA,cAAA,KAAG+I,KAAMkiB,EAAM5pB,UAAU,yBACvBrB,EAAAA,cAAA,OAAKuI,IAAKsiB,EAASviB,IAAI,OAAOjH,UAAU,WAAWuG,GAAG,aAAa,aAAW,OAAOxF,MAAO,OAE9FpC,EAAAA,cAAA,SAAKqqB,GACLrqB,EAAAA,cAAA,SAAK0qB,GACL1qB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,iBAAkB,KAAEzB,EAAAA,cAAA,KAAG+I,KAAM,UAAY6hB,GAAoBA,IACvED,GAAoB3qB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,iBAAkB,IAAGkpB,GACrDG,GAAW9qB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,mBAAoB,IAAGqpB,GAC9CC,GAAe/qB,EAAAA,cAAA,SAAKgrB,IAGxBhrB,EAAAA,cAAA,OAAKqB,UAAU,0CACbrB,EAAAA,cAAA,UAAKwB,KAAKC,EAAE,0CACZzB,EAAAA,cAAA,SAAKmX,GACLnX,EAAAA,cAAA,SAAKmrB,GACHE,GAAiBrrB,EAAAA,cAAA,SAAKqrB,GACxBrrB,EAAAA,cAAA,SAAKmqB,EAAaO,WAAY,IAAGa,GAC/BC,GAAiBxrB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,eAAgB,KAAI+pB,GACjDE,GAAe1rB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,wCAAyC,KAAIiqB,GAC1E1rB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,yCAA0C,KAAImqB,IAG5D5rB,EAAAA,cAAA,OAAKqB,UAAU,mDACbrB,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,0CACbzB,EAAAA,cAAA,SAAK6rB,GACL7rB,EAAAA,cAAA,SAAK8rB,GACL9rB,EAAAA,cAAA,SAAK+rB,IAGP/rB,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,KAAG+I,KAAM0hB,GACPzqB,EAAAA,cAAA,OAAKuI,IAAKyjB,EAAe1jB,IAAI,cAAcjH,UAAU,kCAAkCgB,OAAQ,GAAID,MAAO,OAE5GpC,EAAAA,cAAA,MAAIqB,UAAU,wCACV6pB,EAAYvjB,KAAI,SAAAyB,GAAI,OACpBpJ,EAAAA,cAAA,MAAIqB,UAAU,+BAA+BuC,IAAKwF,EAAK,IACrDpJ,EAAAA,cAAA,KAAG+I,KAAMK,EAAK,GAAI/H,UAAS,iCAAAC,OAAmC8H,EAAK,MAChE,SAOjBpJ,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,aACbrB,EAAAA,cAAA,KAAG+I,KAAMyhB,GAAchpB,KAAKC,EAAE,wCAC9BzB,EAAAA,cAAA,KAAG+I,KAAMuhB,EAAcjpB,UAAU,iCAAgC,cACnD,IAAI8F,MAAO8kB,eAEzBjsB,EAAAA,cAAA,KAAG+I,KAAMwhB,EAAYlpB,UAAU,iCAC7BrB,EAAAA,cAAA,OAAKuI,IAAK2jB,EAAQ,OAA+C5jB,IAAI,UAAUlG,MAAM,OAAOC,OAAO,WACjGb,KAAKC,EAAE,oCAMrB,C,sEC5FA,UAViB,SAAHwD,GAAqB,IAAfknB,EAAOlnB,EAAPknB,QAElB,OACEnsB,EAAAA,cAAA,OAAKqB,UAAU,aACbrB,EAAAA,cAAA,OAAKqB,UAAU,qBAAqB2oB,wBAAyB,CAACC,QAAQmC,EAAAA,EAAAA,IAAQD,MAGpF,C,wGCTME,EAAwB,SAAC5J,GAAM,MACxB,SAAXA,EAAoB,2BAA6B,uBAAwB,EAI9D6J,EAAkB,SAACzmB,EAAM0mB,GAAgB,OACpDvsB,EAAAA,SACE,iBAAM,CAGJ,CACE2c,OAAQnb,KAAKC,EAAE,kBACfub,SAAU,SACVpY,MAAO,CAAC4Y,SAAU,QAASC,SAAU,QAASrb,MAAO,SACrD6a,KAAM,SAACpX,GAAI,OACT7F,EAAAA,cAAA,OAAKqB,UAAU,mBAAmBuD,MAAO,CAAEmiB,MAAsB,SAAflhB,EAAKhC,MAAmB,UAAY,YACpF7D,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuD,MAAO,CAAE4nB,WAAYH,EAAsBxmB,EAAKhC,UACnFrC,KAAKC,EAAE,wBAADH,OAAyBuE,EAAKhC,QAClC,GAKV,CACE8Y,OAAQnb,KAAKC,EAAE,kBACfub,SAAU,gBACVpY,MAAO,CAAC6Y,SAAU,QAASrb,MAAO,SAClC6a,KAAM,SAACpX,GAAI,OACT7F,EAAAA,cAAA,OAAKqB,UAAU,oBACbrB,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuD,MAAO,CAAE4nB,WAAYH,EAAsBxmB,EAAKwX,IAAIC,SAASmF,WAC/F5c,EAAKhC,OAAS4oB,WAAY5mB,EAAKhC,MAAO,KAAK6oB,QAAQ,IAAO,GACzD,GAKV,CACE/P,OAAQnb,KAAKC,EAAE,6CACfub,SAAU,gBACVpY,MAAO,CAAC6Y,SAAU,QAASrb,MAAO,SAClC6a,KAAM,SAACpX,GAAI,OAAKA,EAAKhC,MAEjB7D,EAAAA,cAAA,OAAKqB,UAAU,oBACbrB,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuD,MAAO,CAAE4nB,WAAYH,EAAsBxmB,EAAKwX,IAAIC,SAASmF,WAChG5c,EAAKhC,OAET,EAAE,GAKR,CACE8Y,OAAQnb,KAAKC,EAAE,mBAAqB,QACpCub,SAAU,qBACVpY,MAAO,CAAC6Y,SAAU,QAASrb,MAAO,SAClC6a,KAAM,SAACpX,GAAI,OAAKA,EAAKhC,MAEjB7D,EAAAA,cAAA,KAAG+I,KAAMlD,EAAKhC,OACZ7D,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuD,MAAO,CAAE4nB,WAAYH,EAAsBxmB,EAAKwX,IAAIC,SAASmF,WAChGjhB,KAAKC,EAAE,gBAAiB,IAAGD,KAAKC,EAAE,oBAEtC,EAAE,GAKR,CACEkb,OAAQ,GACRK,SAAU,UACVpY,MAAO,CAAE4nB,WAAY,SACrBvP,KAAM,SAACpX,GAAI,MACoB,YAA7BA,EAAKwX,IAAIC,SAASmF,OAChBziB,EAAAA,cAAA,OAAK0B,QAAS,kBAAM6qB,EAAiB1mB,EAAKwX,IAAIC,SAAS1V,GAAG,EAAEvG,UAAU,sBAClEG,KAAKC,EAAE,gBAEX,IAAI,GAEX,GACD,CAACoE,GACD,C,stBCQJ,UA9EiB,SAAHZ,GAA0C,IAApC4M,EAAM5M,EAAN4M,OAAQ8a,EAAoB1nB,EAApB0nB,qBAE1BxnB,GAA8CC,EAAAA,EAAAA,UAAS,MAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAArDynB,EAAevnB,EAAA,GAAEwnB,EAAkBxnB,EAAA,GAC1C8M,GAAsC/M,EAAAA,EAAAA,WAAS,GAAKgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA7CU,EAAWT,EAAA,GAAEU,EAAcV,EAAA,GAClCG,GAAgCnN,EAAAA,EAAAA,UAAS,IAAGoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAArCua,EAAQta,EAAA,GAAEua,EAAWva,EAAA,GAC5BG,GAAoDvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA5Dqa,EAAkBpa,EAAA,GAAEqa,EAAqBra,EAAA,GAEhDoR,GAA0CC,EAAAA,EAAAA,GAAapT,EAAAA,oBAAqB,CAC1Eqc,YAAa,WACbtnB,YAAa,SAACC,GACRA,GAAQA,EAAKsnB,iBACfJ,EAAYlnB,EAAKsnB,gBACjBta,GAAeC,GAAe,GAElC,IACAoR,GAAA5e,EAAAA,EAAAA,GAAA0e,EAAA,GARKoJ,EAAkBlJ,EAAA,GAAIxd,EAAOwd,EAAA,GAAPxd,SAU7BmO,EAAAA,EAAAA,YAAU,WACRuY,IAAqBplB,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GACjE,GAAG,KAEHkO,EAAAA,EAAAA,YAAU,WACR+X,GAAmBK,GAAsB,EAC3C,GAAG,CAACL,IAEJ,IAIMS,EAAoB,WACxBJ,GAAsB,GACtBJ,EAAmB,KACrB,EAYMzX,GAAUkX,EAAAA,EAAAA,iBAAgBQ,GAnBP,SAACllB,GACxBilB,EAAmBjlB,EACrB,IAoBA,OACE5H,EAAAA,cAAA,OAAKqB,UAAU,YAEbrB,EAAAA,cAACuW,EAAAA,QAAK,CACJnB,QAASA,EACTvP,KAAMinB,EACN1W,eAAe,EACfvD,YAAaA,EACbya,WAAW,UACX5mB,QAASmM,GAAenM,EACxB7E,KAAK,WACLyU,cAAc,EACdD,mBAAmB,EACnBzC,QAAWkZ,EAAS7pB,OAAS,IAAM,IAGnC+pB,GACAhtB,EAAAA,cAACutB,EAAAA,QAAY,CACX7X,YAAa2X,EACbG,qBAhCqB,WAC3B,IAAMC,GAAezL,EAAAA,EAAAA,GAAQ8K,GACvBY,EAAQZ,EAASa,WAAU,SAAAC,GAAO,OAAIA,EAAQhmB,KAAOglB,CAAe,IAE1Ea,EAAgBvL,OAAOwL,EAAO,EAACvY,EAAAA,EAAA,GAAOsY,EAAgBC,IAAM,IAAEjL,OAAQ,UACtEsK,EAAYU,GACZJ,GAEF,EAyBQQ,UAAWjB,EACX/a,OAAQA,EACR2J,UAAWwR,EACXL,qBAAsBA,IAMhC,C,+MClFamB,EAAiB,SAAH7oB,GAAA,IAAM5D,EAAS4D,EAAT5D,UAAW0sB,EAAK9oB,EAAL8oB,MAAK,OAC/C/tB,EAAAA,cAAA,OAAKqB,UAAS,wBAAAC,OAA0BD,IACpC8B,MAAMG,MAAM,OAAQH,MAAM4qB,IAAQpmB,KAAI,SAACqmB,EAAMN,GAAK,OAClD1tB,EAAAA,cAAA,OAAKqB,UAAS,8BAAAC,OAAgCosB,EAAQ,GAAK9pB,IAAKvC,EAAYqsB,GAAS,IAElF,EAGIO,EAAgB,WAAH,OACxBjuB,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,OAAKqB,UAAU,mBACV,EAGI6sB,EAAa,WAAH,OACrBluB,EAAAA,cAAA,OAAKqB,UAAU,eACbrB,EAAAA,cAAA,OAAKqB,UAAU,aACV,EAGI8sB,EAAiB,WAAH,OACzBnuB,EAAAA,cAAA,OAAKqB,UAAU,mBACbrB,EAAAA,cAAA,WACEA,EAAAA,cAAA,aACAA,EAAAA,cAAA,aACAA,EAAAA,cAAA,cAEG,C,qGCgET,UAxFsB,SAAHiF,GAesB,IAfhBgE,EAAQhE,EAARgE,SACAH,EAAK7D,EAAL6D,MACAslB,EAAQnpB,EAARmpB,SACAztB,EAAOsE,EAAPtE,QACAiX,EAAY3S,EAAZ2S,aACA/V,EAAIoD,EAAJpD,KACAgC,EAAKoB,EAALpB,MACAwqB,EAAYppB,EAAZopB,aACAC,EAAerpB,EAAfqpB,gBACAC,EAAYtpB,EAAZspB,aACAC,EAAUvpB,EAAVupB,WACA9I,EAAYzgB,EAAZygB,aACA+I,EAAUxpB,EAAVwpB,WACAC,EAAQzpB,EAARypB,SACA/nB,EAAK1B,EAAL0B,MACAwR,EAAQlT,EAARkT,SAEjBwW,EAAehoB,EAAK,GAAArF,OAAMwH,EAAK,KAAAxH,OAAIqF,GAAU,KAEnD,OACE3G,EAAAA,cAAA,OAAKqB,UAAS,kBAAAC,OAAoBokB,GAAgB,IAAEpkB,OAAG6W,EAAW,uBAAyB,IAAMvQ,GAAI/F,GACnG7B,EAAAA,cAAA,OAAKqB,UAAS,qBAAAC,OAAuB8sB,GAAY,EAAC,YAAA9sB,OAAW8sB,GAAY,EAAC,KAAA9sB,OAAIktB,GAAc,KAE1FxuB,EAAAA,cAAA,QAAMqB,UAAU,aAAauD,MAAO2pB,EAAe,CAAEK,YAAa,OAAU,MACxE9lB,EAASqP,GAAY,KAGvBoW,GACAvuB,EAAAA,cAACwe,EAAAA,SAAQ,KAEPxe,EAAAA,cAAA,QACEqB,UAAU,mBACV,WAAUktB,EACV,aAAW,mBACX,cAAAjtB,OAAaO,EAAI,aACjB7B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,eAAeC,KAAM,MAGpC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,GAAAtG,OAAKO,EAAI,YACX6c,MAAM,QACNtG,KAAK,YAOXqW,EACEzuB,EAAAA,cAACulB,EAAAA,QAAkB,CACjBmJ,SAAUA,EACV/nB,MAAOgoB,EACP/W,aAAcA,EACd/V,KAAMA,EACNlB,QAASA,EACT+kB,aAAa,oBACb7hB,MAAOA,IAET7D,EAAAA,cAACylB,EAAAA,QAAa,CACZiJ,SAAUA,EACV/nB,MAAOgoB,EACP/W,aAAcA,EACd/V,KAAMA,EACNlB,QAASA,EACTkD,MAAOA,EACP6hB,aAAa,sBAGjBzc,GAAY,KAEZqlB,GACAtuB,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,sBACfrB,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAA,OAAKqB,UAAS,uBAAAC,OAA0B+sB,GAAgB,KACpDC,KAOhB,C,sGCdA,UAvEmB,SAAHrpB,GAYW,IAZLypB,EAAQzpB,EAARypB,SACA/nB,EAAK1B,EAAL0B,MACAiR,EAAY3S,EAAZ2S,aACAiX,EAAiB5pB,EAAjB4pB,kBACA/lB,EAAK7D,EAAL6D,MACA0lB,EAAUvpB,EAAVupB,WACAD,EAAYtpB,EAAZspB,aACA1sB,EAAIoD,EAAJpD,KACA4Z,EAAWxW,EAAXwW,YACAtD,EAAQlT,EAARkT,SACA4F,EAAO9Y,EAAP8Y,QACAla,EAAKoB,EAALpB,MAGpBirB,GAAsCC,EAAAA,EAAAA,YAAWC,EAAAA,SAAzCjX,EAAM+W,EAAN/W,OAAQkX,EAAiBH,EAAjBG,kBACVN,EAAehoB,IAAUoR,EAAOlW,GAAK,GAAAP,OAAMwH,EAAK,KAAAxH,OAAIqF,GAASoR,EAAOlW,IAAU,MAGpF,OACE7B,EAAAA,cAAA,OAAKqB,UAAS,kBAAAC,OAAoB6W,EAAW,sBAAwB,IAAMvQ,GAAI/F,GAC7E7B,EAAAA,cAAA,OAAKqB,UAAS,gCAAAC,OAAkCktB,GAAc,KAE5DxuB,EAAAA,cAAA,QAAMqB,UAAU,aAAauD,MAAO2pB,EAAe,CAAEK,YAAa,OAAU,MACxE9lB,EAASqP,GAAY,KAGvBoW,GACAvuB,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,QACEqB,UAAU,mBACV,WAAUktB,EACV,aAAW,mBACX,cAAAjtB,OAAaO,EAAI,aACjB7B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,eAAeC,KAAM,MAEpC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,GAAAtG,OAAKO,EAAI,YACX6c,MAAM,QACNtG,KAAK,YAKbpY,EAAAA,cAACkvB,EAAAA,QAAU,CACTR,SAAUA,EACV/nB,MAAOgoB,EACP/W,aAAcA,GAAgBqX,EAC9BptB,KAAMA,EACN4Z,YAAaA,EACb5X,MAAOA,EACP6hB,aAAcmJ,GAAqB,sBAEnC9Q,GACA/d,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,sBACfrB,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAA,OAAKqB,UAAU,uBACbrB,EAAAA,cAAA,OAAKqB,UAAU,+BACX0c,MAQlB,C,sGCTA,UA5DuB,SAAH9Y,GAMX,IALL6D,EAAK7D,EAAL6D,MACAwM,EAAKrQ,EAALqQ,MACAyI,EAAO9Y,EAAP8Y,QACAoR,EAAWlqB,EAAXkqB,YACAC,EAAWnqB,EAAXmqB,YAGFN,GAAgDC,EAAAA,EAAAA,YAAWC,EAAAA,SAAnDpX,EAAYkX,EAAZlX,aAAcV,EAAM4X,EAAN5X,OAAQmY,EAAaP,EAAbO,cAExB1uB,EAAU,CACd,CAAEmI,MAAOtH,KAAKC,EAAE,eAAgBoC,OAAO,EAAMkhB,QAAS7N,EAAO5B,IAC7D,CAAExM,MAAOtH,KAAKC,EAAE,cAAeoC,OAAO,EAAOkhB,SAAU7N,EAAO5B,KAGhE,OACEtV,EAAAA,cAAA,OAAKqB,UAAU,oCAEXyH,EAEE9I,EAAAA,cAAA,OAAKqB,UAAU,sDACbrB,EAAAA,cAAA,QAAM4E,MAAOmZ,EAAU,CAAE6Q,YAAa,OAAU,MAAO9lB,GAErDiV,GACA/d,EAAAA,cAACwe,EAAAA,SAAQ,KACTxe,EAAAA,cAAA,QACE,WAAU+d,EACV,aAAW,mBACX,YAAWoR,EACX,cAAA7tB,OAAagU,EAAK,YAClBjU,UAAU,oBAEVrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,eAAeC,KAAM,MAElC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,GAAAtG,OAAKgU,EAAK,YACZoJ,MAAM,QACNtG,KAAK,YAMbpY,EAAAA,cAAA,OAAKqB,UAAU,8CAGnBrB,EAAAA,cAAC2lB,EAAAA,QAAY,CACXyJ,YAAaA,EACbxX,aAAc,SAAC/T,GAAK,OAAK+T,EAAa/T,EAAOyR,EAAO+Z,EAAc,EAClExtB,KAAMyT,EACN3U,QAASA,EACT+kB,aAAa,sBAIrB,C,qGCuDA,UAhHoB,SAAHzgB,GAeW,IAfLqqB,EAAKrqB,EAALqqB,MACA1X,EAAY3S,EAAZ2S,aACA2X,EAAetqB,EAAfsqB,gBACAC,EAAcvqB,EAAduqB,eACA1mB,EAAK7D,EAAL6D,MACAslB,EAAQnpB,EAARmpB,SACAvsB,EAAIoD,EAAJpD,KACA4tB,EAAYxqB,EAAZwqB,aACAC,EAAUzqB,EAAVyqB,WACA3R,EAAO9Y,EAAP8Y,QACA3F,EAAInT,EAAJmT,KACAvU,EAAKoB,EAALpB,MACA8rB,EAAK1qB,EAAL0qB,MACAC,EAAa3qB,EAAb2qB,cACAC,EAAa5qB,EAAb4qB,cAGrBf,GAAoDC,EAAAA,EAAAA,YAAWC,EAAAA,SAAvDc,EAAuBhB,EAAvBgB,wBAAyB5Y,EAAM4X,EAAN5X,OAAQa,EAAM+W,EAAN/W,OACnCgY,EAAWF,EAAgBhuB,EAAI,GAAAP,OAAMO,EAAI,QACzCmuB,EAAM,GAAA1uB,OAAMO,EAAI,MAChBouB,EAAY/Y,EAAO6Y,GACnBG,EAAUhZ,EAAO8Y,GACjBG,EAAYpY,GAAUA,EAAOgY,GAC7BK,EAAUrY,GAAUA,EAAOiY,GAC3BK,EAAeC,IAAW,sBAAuB,CAAE,IAAyB,QAAlBV,IAGhE,OACE5vB,EAAAA,cAAA,OAAKqB,UAAS,+BAAAC,OAAiCkuB,GAAkB,KAE/DxvB,EAAAA,cAAA,OAAKqB,UAAS,qBAAAC,OAAuB8sB,GAAY,EAAC,YAAA9sB,OAAW8sB,GAAY,IACvEpuB,EAAAA,cAAA,YAAQ8I,IAGV9I,EAAAA,cAAA,OAAKqB,UAAS,qCAAAC,OAAuCiuB,IAAoBI,EAAQ,SAAW,MAC1F3vB,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAA,OAAKqB,UAAU,+BAEbrB,EAAAA,cAACkvB,EAAAA,QAAU,CACTvoB,MAAOwpB,EACPb,MAAOA,EACP1X,aAAc,SAAC+D,GAAC,OAAK/D,EAAeA,EAAa+D,EAAGoU,GAAYD,EAAwBnU,EAAE,EAC1F4U,WAAW,EACX1uB,KAAMkuB,EACNtU,YAAaja,KAAKC,EAAE,gBACpB0W,SAAUsX,EACVrX,KAAMA,GAAQ,SACdvU,MAAOA,GAASosB,GAAa,KAG/BjwB,EAAAA,cAAA,QAAMqB,UAAU,kCACZkuB,GAAmBI,GAAS3vB,EAAAA,cAAA,OAAKqB,UAAWgvB,GAAgBV,GAC5DF,GAAgBzvB,EAAAA,cAAA,QAAMqB,UAAU,+BAA8B,QAIjEkuB,GACDvvB,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,QAAMqB,UAAU,2BAA0B,KAE1CrB,EAAAA,cAAA,OAAKqB,UAAU,8BAA8BuG,GAAIooB,GAC/ChwB,EAAAA,cAACkvB,EAAAA,QAAU,CACTvoB,MAAOypB,EACPd,MAAOA,EACP1X,aAAc,SAAC+D,GAAC,OAAK/D,EAAeA,EAAa+D,EAAGqU,GAAUF,EAAwBnU,EAAE,EACxF4U,WAAW,EACX1uB,KAAMmuB,EACNvU,YAAaja,KAAKC,EAAE,cACpB0W,SAAUuX,EACVtX,KAAMA,GAAQ,SACdvU,MAAOqsB,GAAW,SAOzBX,GAAmBI,GACpB3vB,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,QAAMqB,UAAWgvB,GACbV,EAASD,GAAc1vB,EAAAA,cAAA,QAAMqB,UAAU,+BAA8B,QAM7E8uB,GACAnwB,EAAAA,cAAA,OAAKqB,UAAU,iBAAe,GAAAC,OACvBwH,EAAK,MAAAxH,OAAKE,KAAKC,EAAE,gBAAgB+uB,cAAa,MAAAlvB,OAAK6uB,IAI1DC,GACApwB,EAAAA,cAAA,OAAKqB,UAAU,iBAAe,GAAAC,OACvBwH,EAAK,MAAAxH,OAAKE,KAAKC,EAAE,cAAc+uB,cAAa,MAAAlvB,OAAK8uB,KAM1DrS,GACA/d,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAA,OAAKqB,UAAU,uBACX0c,IAMd,C,qGCzDA,UArD0B,SAAH9Y,GAAmE,IAA7DwrB,EAAUxrB,EAAVwrB,WAAYC,EAAQzrB,EAARyrB,SAAUC,EAAU1rB,EAAV0rB,WAAYC,EAAmB3rB,EAAnB2rB,oBAE7D9B,GAQUC,EAAAA,EAAAA,YAAWC,EAAAA,SARbK,EAAaP,EAAbO,cACAwB,EAAkB/B,EAAlB+B,mBACAC,EAAQhC,EAARgC,SACAC,EAAkBjC,EAAlBiC,mBACAC,EAAUlC,EAAVkC,WACAC,EAAcnC,EAAdmC,eACAC,EAAuBpC,EAAvBoC,wBACAC,EAA2BrC,EAA3BqC,4BAGFC,EAAoBd,IAAW,2BAA4B,CAAE,OAAUI,GAAY,CAAE,SAAYG,GAAsBK,IACvHG,EAAsBf,IAAW,2BAA4B,CACjE,OAAUQ,GAAYC,EAAmB9tB,OACzC,QAAWkuB,IAQb,OACEnxB,EAAAA,cAAA,OAAKqB,UAAU,sBAEXsvB,GACA3wB,EAAAA,cAAA,OAAKqB,UAAU,gCAAgCK,QAASivB,GACtD3wB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,aAAaC,KAAM,KAChC9B,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,mBAKrBzB,EAAAA,cAAA,OAAKqB,UAAU,mCACXyvB,GAA8B,YAAlBzB,GACZrvB,EAAAA,cAAA,OAAKqB,UAAWgwB,EAAqB3vB,QApBpB,WAAH,OACpBkvB,EACIA,KAAyBK,GAAe,EAAOD,GAC/CC,GAAe,EAAOD,EAAY,GAkB5BxvB,KAAKC,EAAE,yBAIXgvB,GACAzwB,EAAAA,cAAA,OAAKqB,UAAW+vB,EAAmB1vB,QAAS+uB,GACxCC,EAAWlvB,KAAKC,EAAE,iCAAmCD,KAAKC,EAAE,iBAC3DivB,GAAY1wB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,gBAAgBC,KAAM,OAM9D,C,oIC8DA,UA9GoB,SAAHmD,GAQW,IARLoqB,EAAapqB,EAAboqB,cACAyB,EAAQ7rB,EAAR6rB,SACAQ,EAAiBrsB,EAAjBqsB,kBACAlpB,EAAYnD,EAAZmD,aACAmpB,EAAStsB,EAATssB,UACAC,EAASvsB,EAATusB,UACAC,EAASxsB,EAATwsB,UACAR,EAAchsB,EAAdgsB,eAGbhvB,GAAQyvB,EAAAA,EAAAA,MAARzvB,IACF0vB,EAAiBF,EAAUpC,IAAkB,KAC7CuC,EAAmBD,EAAiB,kBAAMA,EAAelX,QAAQoX,cAAc,EAAGZ,EAElFa,EAAkB,SAACC,GACvB,IAAI3pB,EAmBF,OAAO,EAlBP,OAAQ2pB,GACN,IAAK,UACH,OAAO3pB,EAAa4pB,MAAMnpB,MAC5B,IAAK,QACH,OAAOT,EAAa6pB,WAAWppB,OAAST,EAAa8pB,aAAarpB,MACpE,IAAK,cACH,OAAOT,EAAa+pB,YAAYtpB,MAClC,IAAK,UACH,OAAOT,GACFA,EAAagqB,UAAUvpB,OACvBT,EAAaiqB,OAAOxpB,OACpBT,EAAakqB,WAAWzpB,OACxBT,EAAamqB,MAAM1pB,OACnBT,EAAaoqB,YAAY3pB,MAChC,QACE,OAAO,EAKf,EAEM4pB,EAAY,SAAHja,GAAA,IAAMka,EAAQla,EAARka,SAAQ,OAC3B1yB,EAAAA,cAAA,OAAKqB,UAAU,sCACV,WAAU,mEACV,aAAW,mBACX,6BAAAC,OAA4BoxB,EAAQ,aACvC1yB,EAAAA,cAAC2yB,EAAAA,WAAU,CAAC5L,MAAO+K,EAAgBY,GAAY,UAAY,KAC3D1yB,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,kBAAAtG,OAAoBoxB,EAAQ,YAC9BhU,MAAM,OACNtG,KAAK,UACF,EAGT,OACEpY,EAAAA,cAAA,OAAKqB,UAAU,gBACbrB,EAAAA,cAAA,OAAKqB,UAAU,kCAEbge,OAAOC,KAAKkS,GAAW7pB,KAAI,SAACyW,EAAMsP,GAElC,IAAMqE,EAAOP,EAAUpT,GACjBrB,EAAWsS,IAAkB0C,EAAK3oB,KAClCwpB,GAAcb,EAAKc,QAAUvB,IAAsBS,EAAK3oB,MAAQ0nB,KAAc/T,EAC9E+V,EAAiBxC,IAAW,6BAA8B,CAC9D,OAAUvT,EACV,MAAmB,IAAV2Q,EACT,KAAQA,IAAUrO,OAAOC,KAAKkS,GAAWvuB,OAAS,IAGpD,GAAkB,UAAd8uB,EAAK3oB,MAAqBmoB,EAE9B,OACEvxB,EAAAA,cAAC+yB,EAAAA,QAAW,CACVpB,eAAgBA,EAChBqB,YAAapB,EACbhuB,IAAKmuB,EAAKlwB,KACVoxB,UAAU,0BACVL,WAAYA,EACZF,SAAUX,EAAK3oB,KACfnH,IAAG,GAAAX,OAAKW,EAAG,KAAAX,OAAIywB,EAAK3oB,OAEpBpJ,EAAAA,cAAA,OAAKqB,UAAWyxB,GACd9yB,EAAAA,cAAA,OAAKqB,UAAU,qCACX0wB,EAAKc,QAAU/B,EAEb9wB,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAMkwB,EAAKmB,WAAa,OAAS,QAASpxB,KAAM,KACtDiwB,EAAKoB,eAAiBnzB,EAAAA,cAACyyB,EAAS,CAACC,SAAUX,EAAK3oB,QAGpDpJ,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,2BACXqsB,EAAQ,GAEVqE,EAAKoB,eAAiBnzB,EAAAA,cAACyyB,EAAS,CAACC,SAAUX,EAAK3oB,SAI1DpJ,EAAAA,cAAA,OAAKqB,UAAU,2BACX0wB,EAAKlwB,OAKjB,IAGN,C,kJCvBA,UApFiB,WAEf,IAAAsD,GAAgCC,EAAAA,EAAAA,UAAS,MAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAvC4jB,EAAQ1jB,EAAA,GAAE+tB,EAAW/tB,EAAA,GAE5BypB,GAOIC,EAAAA,EAAAA,YAAWC,EAAAA,SANbqE,EAAgBvE,EAAhBuE,iBACAC,EAAsBxE,EAAtBwE,uBACA/B,EAASzC,EAATyC,UACAN,EAAcnC,EAAdmC,eACA/Z,EAAM4X,EAAN5X,OACAqc,EAAYzE,EAAZyE,aAGMC,EAAiDtc,EAAjDsc,uBAAwBC,EAAyBvc,EAAzBuc,qBAEhCzP,GAAsBC,EAAAA,EAAAA,GAAa5X,EAAAA,aAAc,CAC/C6gB,YAAa,WACbtnB,YAAa,SAACC,GACRA,EAAKkjB,UACPqK,GAAWpR,EAAAA,EAAAA,GAAMnc,EAAKkjB,SAASA,UAEnC,IANK2K,GAOLpuB,EAAAA,EAAAA,GAAA0e,EAAA,GAPgB,IASlBnP,EAAAA,EAAAA,YAAU,WACR6e,EAAY,CAAE7rB,UAAW,CAAE+L,QAAS,OACjC5L,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAC/C,GAAG,IAEH,IAAMgtB,EACJ5K,GAAYA,EAASphB,KAAI,SAAAisB,GAAO,MAC7B,CAAE/vB,MAAM,GAADvC,OAAKsyB,EAAQhsB,IAAMkB,MAAM,GAADxH,OAAKsyB,EAAQ/xB,KAAI,OAAAP,OAAMsyB,EAAQ9d,OAAQ,IAQ3E,OACE9V,EAAAA,cAAA,OAAKqB,UAAU,iBACbrB,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,uCAEXkyB,GACA3zB,EAAAA,cAAC6zB,EAAAA,QAAa,CACZjc,aAV2B,SAAC/T,GAAK,OACvC0vB,EAAa,CAAEC,uBAAwB,CAAE5rB,GAAI/D,IAAW,EAUlDiF,MAAOtH,KAAKC,EAAE,oDACdI,KAAK,yBACLlB,QAASgzB,EACT9vB,MAAQ2vB,GAA0BA,EAAuB5rB,IAAE,GAAAtG,OAAQ+xB,GACnE/E,gBACEtuB,EAAAA,cAAA,KAAGgqB,wBAAyB,CAAEC,OAAQzoB,KAAKC,EAAE,sDAKnDzB,EAAAA,cAAA,OAAKqB,UAAU,kBACbrB,EAAAA,cAAA,OAAKqB,UAAU,mEAAmEuD,MAAO,CAAEkvB,aAAc,SACvG9zB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,iDAGjBzB,EAAAA,cAAA,OAAKqB,UAAU,qBACX0nB,GAAYA,EAASphB,KAAI,SAAAisB,GAAO,OAChC5zB,EAAAA,cAAC+zB,EAAAA,QAAQ,CACPze,MAAM,uBACNsC,aAAc,SAAC+D,EAAGrG,GAAK,OAAKge,EAAuB3X,EAAGrG,GAAO,EAAK,EAClE1R,IAAKgwB,EAAQhsB,GACbkB,MAAK,GAAAxH,OAAKsyB,EAAQ/xB,KAAI,OAAAP,OAAMsyB,EAAQ9d,OACpCjU,KAAM+xB,EAAQhsB,GACd/D,QAAS4vB,GAAwBA,EAAqB3R,SAAS/Z,OAAO6rB,EAAQhsB,MAAQ,MAK9F5H,EAAAA,cAACg0B,EAAAA,QAAiB,CAChBrD,WAAY,kBAAMM,EAAe,UAAU,EAC3CR,WAAY,kBAAMQ,EAAeM,EAAY,QAAU,cAAc,IAK7E,C,+zBC/EArF,EAAQ,OAERA,EAAQ,MA0BR,IAAM+H,GAAcC,EAAAA,EAAAA,aAAW,SAACn0B,EAAOsb,GAErC,IAAAyT,GAoBUC,EAAAA,EAAAA,YAAWC,EAAAA,SApBbmF,EAAarF,EAAbqF,cACArD,EAAQhC,EAARgC,SACA/Y,EAAM+W,EAAN/W,OACAqc,EAAStF,EAATsF,UACAC,EAAgBvF,EAAhBuF,iBACAla,EAAU2U,EAAV3U,WACAma,EAAWxF,EAAXwF,YACAlsB,EAAY0mB,EAAZ1mB,aACAmsB,EAAczF,EAAdyF,eACAC,EAAS1F,EAAT0F,UACA/T,EAAyBqO,EAAzBrO,0BACAO,EAAwB8N,EAAxB9N,yBACAuQ,EAASzC,EAATyC,UACAkD,EAA+B3F,EAA/B2F,gCACApsB,EAAOymB,EAAPzmB,QACAqsB,EAAmB5F,EAAnB4F,oBACAC,EAAc7F,EAAd6F,eACApB,EAAYzE,EAAZyE,aACAtC,EAAcnC,EAAdmC,eACA/Z,EAAM4X,EAAN5X,OAGF0d,EAAgB,SAAC/uB,GAAI,OACzBA,EAAOwZ,OAAOwV,YAAYxV,OAAOyV,QAAQjvB,GAAMkvB,QAAO,SAAA9vB,GAAA,IAAAuT,GAAAlT,EAAAA,EAAAA,GAAAL,EAAA,GAAKuT,EAAA,GAAO,QAAAA,EAAA,EAAa,KAAK,CAAC,CAAE,EAEjFwc,EAA2D9d,EAA3D8d,mBAAoBC,EAAuC/d,EAAvC+d,oBAAqBC,EAAkBhe,EAAlBge,cAC3CC,EAAYT,EAAoB9tB,MAAK,SAAAiL,GAAM,OAAIA,EAAOjK,KAAOstB,CAAa,IAC1EE,EAAiBD,GAAaA,EAAUtzB,MAASsyB,EAEvDhvB,GAA8DC,EAAAA,EAAAA,UAAS,MAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAArEkwB,EAAuBhwB,EAAA,GAAEiwB,EAA0BjwB,EAAA,GAC1D8M,GAAsD/M,EAAAA,EAAAA,UAASgwB,GAAchjB,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAtEojB,GAAmBnjB,EAAA,GAAEojB,GAAsBpjB,EAAA,GAClDG,IAA2CnN,EAAAA,EAAAA,UAASwvB,EAAc1d,EAAOib,cAAa3f,IAAAlN,EAAAA,EAAAA,GAAAiN,GAAA,GAA/E4f,GAAW3f,GAAA,GAAEijB,GAAmBjjB,GAAA,GACvCG,IAA+BvN,EAAAA,EAAAA,UAASwvB,EAAc1d,EAAOwe,QAAO9iB,IAAAtN,EAAAA,EAAAA,GAAAqN,GAAA,GAA7D+iB,GAAK9iB,GAAA,GAAE+iB,GAAa/iB,GAAA,GAC3BG,IAAkC3N,EAAAA,EAAAA,WAAS,GAAM4N,IAAA1N,EAAAA,EAAAA,GAAAyN,GAAA,GAA1CyI,GAASxI,GAAA,GAAEuT,GAAYvT,GAAA,GAC9BG,IAAoD/N,EAAAA,EAAAA,YAAUmO,IAAAjO,EAAAA,EAAAA,GAAA6N,GAAA,GAAvDyiB,GAAkBriB,GAAA,GAAEsiB,GAAqBtiB,GAAA,GAChDG,IAAgCtO,EAAAA,EAAAA,UAAS,MAAK4O,IAAA1O,EAAAA,EAAAA,GAAAoO,GAAA,GAAvCmU,GAAQ7T,GAAA,GAAE8hB,GAAW9hB,GAAA,GAM5B0M,IAAoDtb,EAAAA,EAAAA,eAAS2wB,GAAUpV,IAAArb,EAAAA,EAAAA,GAAAob,GAAA,GAAhEsV,GAAkBrV,GAAA,GAAEsV,GAAqBtV,GAAA,GAE1CuV,IAAS3c,EAAAA,EAAAA,UAET4c,IAAuBC,EAAAA,EAAAA,UAAQ,WACjC,IAAMC,EAAoBhX,OAAOC,KAAKsV,EAAczC,KAAclvB,OAC5DqzB,EAAcjX,OAAOC,KAAKsV,EAAcc,KAAQzyB,OAEtD,OAAOozB,GAAqBC,CAChC,GAAE,CAAEZ,GAAOvD,KAELoE,GAAsB,eAAAj1B,OAAkBi0B,IACxCiB,GAAmB,SAAAl1B,OAAYi0B,IAC/BkB,GAAmB,GAAAn1B,OAAME,KAAKC,EAAE,gDAA+C,KAAAH,OAAIE,KAAKC,EAAE,iEAAkE,CAAE6T,MAAO,MACrKohB,GAAoB,GAAAp1B,OAAME,KAAKC,EAAE,0CAAyC,KAAAH,OAAIE,KAAKC,EAAE,iEAAkE,CAAE6T,MAAO,MAEhKqhB,GACJjC,EAAoB/sB,KAAI,SAAAkK,GAAM,MAC3B,CAAEhO,MAAOgO,EAAOhQ,KACdiH,MAAO9I,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,KAAGqB,UAAS,uCAAAC,OAAyCuQ,EAAOjK,MAC5D5H,EAAAA,cAAA,OAAKqB,UAAU,iCAAkCwQ,EAAOhQ,OAEnE,KAiBL+0B,EAAAA,EAAAA,qBAAoBvb,GAAK,SAACnY,GAAI,MAAM,CAClC2zB,SAAU,KACV1E,YAAAA,GACAuD,MAAAA,GACAM,mBAAAA,GACAnE,aAAc,WACZxW,EAAIZ,QAAQoc,UAAYlf,GAAa0D,EAAIZ,QAAQoc,SACnD,EACD,KAGDhiB,EAAAA,EAAAA,YAAU,WACRiiB,KACAC,WAAWC,GAAmB,IAChC,GAAG,CAACzB,MAGJ1gB,EAAAA,EAAAA,YAAU,WACRgT,IAAYA,GAAS3Q,GACrB4e,GAAY,KACd,GAAG,CAAC5e,KAOJrC,EAAAA,EAAAA,YAAU,WACRsd,GAAYoD,KAAwB0B,GAAa,CAAC,gBAClDA,GAAa,CAACV,IAChB,GAAG,CAACpE,KAGJ,IAAAnO,IAA2GC,EAAAA,EAAAA,GAAahT,EAAAA,8BAA+B,CACrJic,YAAa,WACbtnB,YAAa,SAACC,GACRA,GACF4vB,IAAoB,SAAAyB,GAAU,OAAA/hB,EAAAA,EAAA,GACzB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZgyB,GAAsB1vB,EAAKsxB,2BAA2BC,MAAI,GAGjE,IACAlT,IAAA5e,EAAAA,EAAAA,GAAA0e,GAAA,GAVKqT,GAA2BnT,GAAA,GAAAoT,GAAApT,GAAA,GAAWqT,GAAwBD,GAA/B3wB,MAA0C6wB,GAAqBF,GAA9B5wB,QAavE+wB,IAAyFxT,EAAAA,EAAAA,GAAa9S,EAAAA,wBAAyB,CAC7H+b,YAAa,WACbtnB,YAAa,SAACC,GACRA,GACF8vB,IAAc,SAAAuB,GAAU,OAAA/hB,EAAAA,EAAA,GACnB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZgyB,GAAsB1vB,EAAK6xB,qBAAqBN,MAAI,GAG3D,IACAO,IAAAryB,EAAAA,EAAAA,GAAAmyB,GAAA,GAVKG,GAAqBD,GAAA,GAAAE,GAAAF,GAAA,GAAWG,GAAkBD,GAAzBlxB,MAAoCoxB,GAAeF,GAAxBnxB,QAa3DsxB,IAA4H/T,EAAAA,EAAAA,GAAa5S,EAAAA,kCAAmC,CAC1K6b,YAAa,WACbtnB,YAAa,SAACC,GACRA,GACF4vB,IAAoB,SAAAyB,GAAU,OAAA/hB,EAAAA,EAAA,GACzB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZgyB,GAAsB1vB,EAAKoyB,8BAA8Bb,MAAI,GAGpE,IACAc,IAAA5yB,EAAAA,EAAAA,GAAA0yB,GAAA,GAVKG,GAA8BD,GAAA,GAAAE,GAAAF,GAAA,GAAWG,GAA2BD,GAAlCzxB,MAA6C2xB,GAAgCF,GAAzC1xB,QAa7E6xB,IAA0GtU,EAAAA,EAAAA,GAAa1S,EAAAA,4BAA6B,CAClJ2b,YAAa,WACbtnB,YAAa,SAACC,GACRA,GACF8vB,IAAc,SAAAuB,GAAU,OAAA/hB,EAAAA,EAAA,GACnB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZgyB,GAAsB1vB,EAAK2yB,wBAAwBpB,MAAI,GAG9D,IACAqB,IAAAnzB,EAAAA,EAAAA,GAAAizB,GAAA,GAVKG,GAAwBD,GAAA,GAAAE,GAAAF,GAAA,GAAWG,GAAqBD,GAA5BhyB,MAAuCkyB,GAA0BF,GAAnCjyB,SAajEmO,EAAAA,EAAAA,YAAU,YACP0iB,IAA4BO,IAAsBO,IAA+BO,KAA0BtD,GAA2B,EACzI,GAAG,CAACiC,GAA0BO,GAAoBO,GAA6BO,KAG/E,IAAM5B,GAAoB,WAAH,OAAS3b,EAAIZ,SAAWY,EAAIZ,QAAQ0X,aAAe8D,GAAqB9gB,EAAC,CAAC,EAAIkG,EAAIZ,QAAQ0X,aAAe,EAG1H2E,GAAgB,WACpBjB,GACE1D,GAAYoD,IACVpD,GAAYoD,IAAqBuD,QAAQ,WAAY,IAAI71B,OACzD,EAEN,EAiEMg0B,GAAe,SAACttB,GACpB,IAAMovB,EAAa5jB,EAAA,GAAQ4C,GAE3BpO,EAAOhC,KAAI,SAAA2N,GACLyjB,EAAczjB,YACTyjB,EAAczjB,GACrBkf,EAASrf,EAAC,CAAC,EAAI4jB,IAEnB,GACF,EAGMC,GAAa,WACjB,IAAMC,IAAuBvD,GAAMH,IAC7B2D,IAA6B/G,GAAYoD,IAE/C,GAAI2D,IAA6BD,EAAoB,CACnD,IAAME,EAAWhkB,EAAA,GAAQ4C,IAExBkhB,IAAuBE,EAAY3C,IAAuBE,KAC1DwC,IAA6BC,EAAY5C,IAA0BE,IAEpEjC,EAASrf,EAAC,CAAC,EAAIgkB,IACf5E,EAAeh0B,SAAS64B,eAAgBH,EAA2C1C,GAAtBC,IAE/D,MACEjD,EAAa,CAAEpB,YAAAA,GAAauD,MAAAA,KAC5BO,GAAqB9gB,EAAC,CAAC,EAAIgd,KAE3BrB,GAAYuI,MAA4BC,GAAkB,CAAEnH,YAAAA,GAAauD,MAAAA,IAE7E,EAiDM6D,GAAuB,SAACzW,GAG5B,IAAM0W,EAAkB,SAACC,GACvB,IAAMC,EAA2B,gBAAfD,EACbzD,IAAsBA,GAAmBT,KAAyB,GAClEre,EAAOuiB,IAAeviB,EAAOuiB,GAAYlE,KAAyB,GACjEoE,EAAete,EAAIZ,QAAQgf,GAAYlE,IAE7C,OAAQmE,EAA6CA,IAAcC,IAA7CD,MAAgBC,CACxC,EAEA,OAAIH,EAAgB,gBAAkBA,EAAgB,UACpDjT,IAAa,GACbuP,IAAY,kBAAMhT,CAAgB,KAC3B,IAEPA,GAAoBA,KACb,EAEX,EAGMuW,GAAyB,WAC7B,IAAMO,EAAazkB,EAAA,GAAQ4C,GACrBse,EAAoBhX,OAAOC,KAAKsV,EAAczC,KAAclvB,OAC5DqzB,EAAcjX,OAAOC,KAAKsV,EAAcc,KAAQzyB,QAErDkzB,IAAwBX,GAAuBJ,IAC/CiB,IAAsBuD,EAAc,eAADt4B,OAAgB8zB,IAAmBqB,KACtEH,IAAgBsD,EAAc,SAADt4B,OAAU8zB,IAAmBsB,IAC3DlC,EAASrf,EAAC,CAAC,EAAIykB,IAEf,IAAMC,EAAcvD,EAA0CD,EAAqD,KAApC,eAAA/0B,OAAkB8zB,GAAlE,SAAA9zB,OAAY8zB,GAO3C,OALIyE,GAEFtF,EAAeh0B,SAAS64B,eAAeS,KAGjCxa,OAAOC,KAAKsa,GAAe32B,MACrC,EAGM0U,GAAe,SAACkf,EAAUhP,GAAQ,OACtC0R,IAAqB,SAAC1zB,GAAI,OAAKwzB,MAA4BpI,EAAe4F,EAAUhP,GAAYA,EAAShiB,GAAM,GAAE,EAG7Gi0B,GAAc,SAACC,GA9LI,IAACloB,EA+LxBkoB,EAAOf,MA/LiBnnB,EA+Le0jB,GA9LvCE,IAAoB,SAAAyB,GAAU,OAAA/hB,EAAAA,EAAA,GACzB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZsO,EAAUqF,EAAOib,aAAejb,EAAOib,YAAYtgB,IAAY,IAAE,IAGpE8jB,IAAc,SAAAuB,GAAU,OAAA/hB,EAAAA,EAAA,GACnB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZsO,EAAUqF,EAAOwe,OAASxe,EAAOwe,MAAM7jB,IAAY,IAAE,IAGxDgW,IAAYA,KACZiO,GAAY,OAoLZvP,IAAa,EACf,EAgCM+S,GAAoB,SAACU,GACzBrF,EAAe,CACb9sB,UAAW,CACToyB,WAAU9kB,EAAAA,EAAA,GAAOmf,EAAY0F,IAAa,IAAE9E,cAAehe,EAAOge,gBAClEttB,GAAIG,OAAOoS,MAEZnS,OAAM,SAACrB,GACRsB,QAAQC,IAAI,QAASvB,GACrBqa,GAAyB,GACzBP,GAA0B,EAC5B,GACF,EAcMyZ,GACJ1C,IACAO,IACAO,IACAO,GAGIsB,GACJn6B,EAAAA,cAAA,OAAKqB,UAAU,+DACbrB,EAAAA,cAAA,OAAKqB,UAAS,sDAAAC,OAAwD44B,GAAgC,WAAa,IAC9G,WAAU14B,KAAKC,EAAE,yDACjB,aAAW,mBACX,WAAU,+BACVC,QAAS,kBAAMw4B,GAAgC,UAvBjDpJ,GAIHuG,GAA4B,CAAExvB,UAAW,CAAEsS,WAAAA,EAAYtI,OAAQ0jB,MAC/DqC,GAAsB,CAAE/vB,UAAW,CAAEsS,WAAAA,EAAYtI,OAAQ0jB,QAJzD4C,GAA+B,CAAEtwB,UAAW,CAAEoyB,WAAY3F,EAAYpd,GAASrF,OAAQ0jB,MACvFmD,GAAyB,CAAE7wB,UAAW,CAAEoyB,WAAY3F,EAAYpd,GAASrF,OAAQ0jB,OAqBD,GAC5E/zB,KAAKC,EAAE,wDACPy4B,IAAiCl6B,EAAAA,cAACif,EAAAA,QAAM,CAACnd,KAAM,GAAIod,KAAM,EAAGrE,IAAK,KAErE7a,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,UACZF,OAAO,QACP/W,GAAI,+BACJ8W,MAAM,SACNtG,KAAK,WAIX,OACEpY,EAAAA,cAAA,OAAKqB,UAAU,+BAA+B8qB,QAAQ,cAAciO,UAAU,MAE5Ep6B,EAAAA,cAACyV,EAAAA,QAAgB,CACfG,YAAa,QACbF,YAAa,kBAAM4f,GAA2B,EAAM,EACpD3f,QAASnU,KAAKC,EAAE,6DAChBoU,QAASwf,IAGXr1B,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAAA,UACIwB,KAAKC,EAAE,wCAETzB,EAAAA,cAAC0I,EAAAA,mBAAkB,CACjBC,OAAQP,GAAgBA,EAAa+pB,YAAYtpB,MACjDC,MAAOV,GAAgB5G,KAAKC,EAAE,yDAIhCyV,EAAOib,aAAeuC,EAAoB/sB,KAAI,SAAAkK,GAAM,OACpDqF,EAAOib,YAAYtgB,EAAOhQ,OAC1B7B,EAAAA,cAAA,OAAKqB,UAAU,iCAAiCuC,IAAG,UAAAtC,OAAYuQ,EAAOhQ,OAEpE7B,EAAAA,cAAA,OAAKqB,UAAU,4CACbrB,EAAAA,cAAA,KAAGqB,UAAS,uCAAAC,OAAyCuQ,EAAOjK,MAC5D5H,EAAAA,cAAA,OAAKqB,UAAU,iCAAkCwQ,EAAOhQ,OAG1D7B,EAAAA,cAAA,OAAKqB,UAAU,sCACX6V,EAAOwe,MAAM7jB,EAAOhQ,OAGxB7B,EAAAA,cAAA,OAAKqB,UAAU,yCACbrB,EAAAA,cAACq6B,EAAAA,EAAQ,CACPC,MAAO,EACPC,SAAS,MACTtxB,SAAUjJ,EAAAA,cAAA,KAAGgqB,wBAAyB,CAACC,OAAQ/S,EAAOib,YAAYtgB,EAAOhQ,MAAMi3B,QAAQ,WAAY,IAAIA,QAAQ,UAAW,UAI9H94B,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAU,mCACVQ,KAAK,iBACLH,QAAS,kBAlMF,SAACmQ,GAEpB,IAAM2oB,EAAuBrlB,EAAAA,EAAA,GAAQgd,IAAW,IAAA5uB,EAAAA,EAAAA,GAAA,GAAGsO,EAAS,KACtD4oB,EAAiBtlB,EAAAA,EAAA,GAAQugB,IAAK,IAAAnyB,EAAAA,EAAAA,GAAA,GAAGsO,EAAS,KAEhD4jB,GAAoB+E,GACpB7E,GAAc8E,GACdlH,EAAa,CACXpB,YAAWhd,EAAA,GAAOqlB,GAClB9E,MAAKvgB,EAAA,GAAOslB,IAEhB,CAuL6BC,CAAa7oB,EAAOhQ,KAAK,EACxCC,KAAM,KACR9B,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAU,iCACVQ,KAAK,eACLH,QAAS,kBAAM8zB,GAAuB3jB,EAAOhQ,KAAK,EAClDC,KAAM,MAEN,IAGR9B,EAAAA,cAAA,OAAKqB,UAAU,6BAEbrB,EAAAA,cAAC6zB,EAAAA,QAAa,CACZ5qB,SAAUkxB,GACVzL,SAAqC,IAA3BiI,GAAgB1zB,OAC1B2U,aAlUmB,SAAC/T,GAC5B,GAAI01B,IAAqB,kBAAM/D,GAAuB3xB,EAAM,MACtDkU,EAAOwe,KAA2Bxe,EAAOye,KAAsB,CACjE,IAAMuC,EAAa5jB,EAAA,GAAQ4C,GAE3BA,EAAOwe,YAAkCwC,EAAcxC,IACvDxe,EAAOye,YAA+BuC,EAAcvC,IACpDhC,EAASrf,EAAC,CAAC,EAAI4jB,GACjB,CAEJ,EAyTUjwB,MAAOtH,KAAKC,EAAE,uCACdI,KAAK,sBACLlB,QAASg2B,GACT9yB,MAAO0xB,GACP7P,aAAY,oBAAApkB,OAAsB44B,GAAgC,WAAa,MAEjFl6B,EAAAA,cAAA,OAAK4H,GAAG,UACR5H,EAAAA,cAAA,OAAK4H,GAAE,SAAAtG,OAAW8zB,GAAiB/zB,UAAS,kCAAAC,OAAqCy2B,IAAmBc,GAA8B,YAAc,KAC9I74B,EAAAA,cAAC26B,EAAAA,QAAU,CACTh0B,MAAOoR,EAAOye,KAAyBze,EAAO2d,OAAK,GAAAp0B,OAAOE,KAAKC,EAAE,0CAAyC,KAAAH,OAAIyW,EAAO2d,OACrH7G,kBAAkB,gCAClBjX,aAjUiB,SAAC+D,GAC5B,IAAMrG,EAAQqG,EAAE3S,OAAOnH,KAAK+4B,MAAM,KAAK,GACjC/2B,EAAQ8X,EAAE3S,OAAOnF,MAEvBozB,GAAa,CAACtb,EAAE3S,OAAOnH,KAAM,UAE7B8zB,IAAc,SAAAuB,GAAU,OAAA/hB,EAAAA,EAAA,GACnB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZ+R,EAAQzR,GAAK,GAElB,EAwTYiF,MAAK,GAAAxH,OAAKE,KAAKC,EAAE,2CAAyCH,OAAI60B,GAA6B,GAAN,KACrFt0B,KAAM20B,GACN3yB,MAAO6xB,GAAMH,KAAwB,MAGzCv1B,EAAAA,cAAA,OAAKqB,UAAU,kBAEbrB,EAAAA,cAAA,OAAKqB,UAAU,gCACfrB,EAAAA,cAAA,YACIwB,KAAKC,EAAE,iDAAmD00B,IAAwB,MAItFn2B,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuG,GAAG,gBACxC5H,EAAAA,cAAA,OAAKqB,UAAS,kDAAAC,OAAoDyW,EAAOwe,KAA2Bxe,EAAOoa,YAAc,SAAW,IAAE7wB,OAAIk2B,IAAyBc,GAAoC,YAAc,IAChN1wB,GAAE,eAAAtG,OAAiB8zB,GACnBjJ,QAAQ,cACRiO,UAAU,KACVx2B,IAAG,WAAAtC,OAAai0B,KAEnBv1B,EAAAA,cAAC66B,IAAS,CACRC,qBAhLa,SAACC,GAAS,OACrC7E,GAAOzb,QAAUsgB,CAAU,EAgLbl3B,MAAOsuB,GAAYoD,KAAwB,GAC3CyF,YAAa7I,GAAYoD,KAAwB,GACjD7Z,SA9UgB,SAAC0b,GAE/B,IAAM6D,EAAoB/E,GAAOzb,QAAQygB,UAAUj4B,OAC7Ck4B,EAAgB/D,EAAK0B,QAAQ,iBAAkB,QAC1BA,QAAQ,iCAAkC,IAErErD,IAAoB,SAAAyB,GAAU,OAAA/hB,EAAAA,EAAA,GACzB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZgyB,GAAsB0F,EAAoBE,EAAgB,IAAE,SAG5BpF,IAAnC1a,EAAIZ,QAAQub,oBAAoCC,GAAqB9gB,EAAAA,EAAC,CAAC,EAClEgd,IAAW,IAAA5uB,EAAAA,EAAAA,GAAA,GACbgyB,GAAsB0F,EAAoBE,EAAgB,MAG7DtF,GAAsBK,GAAOzb,QAAQygB,UAAUj4B,OACjD,EA8TgBm4B,KAhLa,WAC3B,IAAMC,EAAa9F,GAAoBqF,MAAM,KAAK,GAElD,OAAQS,GACN,IAAK,KACH,MAAO,KACT,IAAK,KAEL,IAAK,KAEL,IAAK,KACH,MAAO,KACT,IAAK,KACH,MAAO,KACT,QACE,OAAOA,EAEb,CA+JsBC,GACNC,aAAa,EACbC,QA9JI,WAAH,OACf3F,GAAsBK,GAAOzb,QAAQygB,UAAUj4B,OAAQ,EA8JzCtC,QAAS,CAAE86B,mBAAoB,4BAC/B55B,KAAM00B,GACNmF,sBAAuB,GACvBC,WAAY,CACVF,mBAAoB,2BACpBG,WAAY,CACV,CAAC,OAAQ,cAAe,eAAgB,QACxC,CAAC,UAAW,OAAQ,aAK5B57B,EAAAA,cAAA,OAAKqB,UAAS,wCAAAC,OAA2Ck2B,IAAyBc,GAAoC,YAAc,KAChI92B,KAAKC,EAAE,0CAA2C,KAAIm0B,IAGxD7d,EAAOwe,KACPv2B,EAAAA,cAAA,OAAKqB,UAAU,+CACX0W,EAAOwe,MAIVxe,EAAOwe,KAA2Bxe,EAAOoa,aAC1CnyB,EAAAA,cAAA,OAAKqB,UAAU,+CACXG,KAAKC,EAAE,gDAAiD,IAAGsW,EAAOoa,aAIxEnyB,EAAAA,cAAA,KAAGqB,UAAU,uCACV2oB,wBAAyB,CAACC,OAAQzoB,KAAKC,EAAE,sCAE5CzB,EAAAA,cAAA,OAAKqB,UAAU,yCACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCAAiCK,QA/S1C,WAClB+zB,IAAoB,SAAAyB,GAAU,OAAA/hB,EAAAA,EAAA,GACzB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZgyB,GAAsB,IAAE,IAG3BI,IAAc,SAAAuB,GAAU,OAAA/hB,EAAAA,EAAA,GACnB+hB,GAAU,IAAA3zB,EAAAA,EAAAA,GAAA,GACZgyB,GAAsB,IAAE,IAG3B,IAAMwD,EAAa5jB,EAAA,GAAQ4C,GAE3BghB,EAAcxC,YAAmCwC,EAAcxC,IAC/DwC,EAAcvC,YAAgCuC,EAAcvC,IAC5DhC,EAAUuE,EACZ,GAgSkBv3B,KAAKC,EAAE,4CAGXzB,EAAAA,cAAA,OAAKqB,UAAU,gCAAgCK,QAASs3B,IACpDx3B,KAAKC,EAAE,mBAKD,OAAZ4G,GACArI,EAAAA,cAAA,OAAKqB,UAAU,gCACbrB,EAAAA,cAAA,OAAKqB,UAAU,6BAEbrB,EAAAA,cAAA,KAAG+I,KAAMqrB,EAAW/yB,UAAU,iCAC5BrB,EAAAA,cAAA,OAAKuI,IAAKszB,EAAWvzB,IAAI,YAG3BtI,EAAAA,cAAA,OAAKqB,UAAU,sCACXG,KAAKC,EAAE,qCAGXzB,EAAAA,cAAA,KAAGqB,UAAU,yCACTG,KAAKC,EAAE,oDACP,CAAE2W,KAAyB,UAAnBlB,EAAO4kB,SAAuB5kB,EAAO6kB,UAAYv6B,KAAKC,EAAE,+BAAiCD,KAAKC,EAAE,gCAE1GzB,EAAAA,cAAA,KAAG+I,KAAMqrB,EAAW/yB,UAAU,iCAAiC2H,OAAO,UAClExH,KAAKC,EAAE,8CAYzBzB,EAAAA,cAAA,OAAKqB,UAAU,iCAAiCuD,MAAO,CAAEmC,UAAW,OAAQi1B,UAAW,UACrFh8B,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,uDAGbgzB,GACAz0B,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAA,OAAKqB,UAAU,iEACV2oB,wBAAyB,CAAEC,OAAQzoB,KAAKC,EAAE,uEAKrDzB,EAAAA,cAAC26B,EAAAA,QAAU,CACT7xB,MAAOtH,KAAKC,EAAE,wDACdI,KAAK,qBACLgC,MAAOmxB,GAAsB,KAE/Bh1B,EAAAA,cAAC26B,EAAAA,QAAU,CACT7xB,MAAOtH,KAAKC,EAAE,8DACdI,KAAK,sBACLgC,MAAOoxB,KAGXj1B,EAAAA,cAACg0B,EAAAA,QAAiB,CAChBrD,WAAY,kBAAMhZ,GAAa4Z,EAAY,QAAU,WAAW,EAChEd,WAAY,kBAAM9Y,GAAamZ,EAAW,UAAY,KAAMA,EAAW,KAAOuD,EAAiB,EAC/F3D,UAAWI,GAAwB,OAAZzoB,EACvBuoB,oBAAqB,kBAAM2I,MAA0BF,IAAwB,IAE/Er5B,EAAAA,cAACi8B,EAAAA,QAAS,CACRC,kBAAmB16B,KAAKC,EAAE,gBAC1BiU,YAAa,kBAAM6Q,IAAa,EAAM,EACtC4V,YAAa3gB,GACb4gB,eAAgB,kBAAMtC,IAAY,EAAK,EACvCuC,cAAe,kBAAMvC,IAAY,EAAM,EACvCwC,iBAAkB96B,KAAKC,EAAE,uDACzB86B,YAAa/6B,KAAKC,EAAE,+CAI5B,IAGA,W,gsBCtgBA,UAnMyB,SAAHwD,GAW0B,IAXpBmgB,EAAQngB,EAARmgB,SACAoX,EAAav3B,EAAbu3B,cACAC,EAAWx3B,EAAXw3B,YACA52B,EAAIZ,EAAJY,KACA62B,EAAiBz3B,EAAjBy3B,kBACA3kB,EAAM9S,EAAN8S,OACAkf,EAAYhyB,EAAZgyB,aACA0F,EAAW13B,EAAX03B,YACAC,EAAQ33B,EAAR23B,SACAC,EAAa53B,EAAb43B,cACAC,EAAmB73B,EAAnB63B,oBACAvJ,EAAYtuB,EAAZsuB,cAG1B1e,EAAAA,EAAAA,YAAU,YACPhP,EAAKk3B,MAAQl3B,EAAKm3B,mBAAqBjlB,EAAO+J,SAASjc,EAAKo3B,OAAShG,EAAalf,EAAOgd,QAAO,SAAApuB,GAAK,OAAIA,IAAUd,EAAKo3B,IAAI,IAC/H,GAAG,CAACp3B,IAGJ,IAAMq3B,EAAa,SAACr7B,GAAI,OAAKA,EAAKs7B,OAAO,GAAGC,cAAgBv7B,EAAKw7B,MAAM,EAAG,EAGpEC,EAAyB,WAC7B,IAAMC,EAAkB,GAClBC,EAAoBf,EAAY9O,WAAU,SAAA8P,GAAY,OAAIA,EAAaR,OAASp3B,EAAKo3B,IAAI,IACzFS,EAAqBb,EAAclP,WAAU,SAAA8P,GAAY,OAAIA,EAAaR,OAASp3B,EAAKo3B,IAAI,IAIlG,OAFAR,EAAY90B,KAAI,SAAAiC,GAAQ,OAAI2zB,EAAgB7a,KAAIvN,EAAC,CAAC,EAAIvL,GAAW,IAE1D,CAAE2zB,gBAAAA,EAAiBC,kBAAAA,EAAmBE,mBAAAA,EAC/C,EAGM9lB,EAAe,SAAC+D,GACpB,IAAMrG,EAAQqG,EAAE3S,OAAOnH,KACjBgC,EAAQkE,OAAO4T,EAAE3S,OAAOnF,QAAU,KACxC85B,EAAmEL,IAA3DC,EAAeI,EAAfJ,gBAAiBC,EAAiBG,EAAjBH,kBAAmBE,EAAkBC,EAAlBD,mBACtCE,GAAgB5b,EAAAA,EAAAA,GAAQ6a,GAG9BU,EAAgBC,GAAmBloB,GAASzR,EAC5C+5B,EAAiBF,GAAoBpoB,GAASzR,EAC9C0vB,EAAa,CAAEsK,6BAA2B7b,EAAAA,EAAAA,GAAOub,KACjDT,EAAoBc,EACtB,EAmDME,EAAcj4B,EAAKo3B,KACnBF,EAAOl3B,EAAKk3B,MAAQ,KACpBC,EAAmBn3B,EAAKm3B,kBAAoB,KAC5Ce,EAAWhmB,EAAO+J,SAASjc,EAAKo3B,MAChCe,EAAapB,IAAakB,EAC1BG,EAAezB,EAClBzH,QAAO,SAAAkI,GAAI,OAAKJ,EAAcnb,MAAK,SAAAwc,GAAY,OAAIA,EAAajB,OAASA,CAAI,GAAC,IAC9Et1B,KAAI,SAAAs1B,GAAI,MAAK,CAAEp5B,MAAOo5B,EAAMn0B,MAAOo0B,EAAW17B,KAAKC,EAAE,yCAADH,OAA2C27B,EAAI,aAAc,IAGpH,OACEj9B,EAAAA,cAAA,OAAKqB,UAAU,qBAAqBuG,GAAE,iBAAAtG,OAAmBuE,EAAKo3B,QAEzDe,GAEDh+B,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,QAAMqB,UAAU,kDACV,WAAUG,KAAKC,EAAE,kBACjB,WAAS,uBACbzB,EAAAA,cAAC4B,EAAAA,OAAM,CACLC,KAAK,iBACLC,KAAM,GACNJ,QA7CO,WACjB,IAAAy8B,EAAmEb,IAA3DC,EAAeY,EAAfZ,gBAAiBC,EAAiBW,EAAjBX,kBAAmBE,EAAkBS,EAAlBT,mBACtCE,GAAgB5b,EAAAA,EAAAA,GAAQ6a,GACxBuB,EAAmBzB,EAAYhP,WAAU,SAAA8P,GAAY,OAAIA,EAAaR,OAASp3B,EAAKo3B,IAAI,IAE9FS,GAAsB,GAAKE,EAAiB1b,OAAOwb,EAAoB,GACvEZ,EAAoBc,GAEhBQ,GAAoB,EACtBb,EAAgBC,GAAkBroB,EAAAA,EAAA,GAC7BooB,EAAgBC,IAAkB,IACrCT,KAAM,KACNC,iBAAkB,KAClBqB,SAAU,IAGZb,GAAqB,GAAKD,EAAgBrb,OAAOsb,EAAmB,GAGtEjK,EAAa,CAAEsK,6BAA2B7b,EAAAA,EAAAA,GAAOub,IACnD,EA0BYl8B,UAAU,MAGdrB,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAG,sBACH8W,MAAM,MACNtG,KAAK,WAKXpY,EAAAA,cAAA,OAAKqB,UAAU,gCACX28B,EAAax8B,KAAKC,EAAE,6DAA+DD,KAAKC,EAAE,oEAG5Fu8B,IAAeC,EAAah7B,OAE1BjD,EAAAA,cAAA,OAAKqB,UAAU,gCACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACXG,KAAKC,EAAE,8CAEXzB,EAAAA,cAAA,OAAKqB,UAAU,YACX67B,EAAW17B,KAAKC,EAAE,yCAADH,OAA0Cw8B,EAAW,eAI5E99B,EAAAA,cAAC6zB,EAAAA,QAAa,CACZjc,aAAc,SAAC0mB,GAAM,OArGXC,EAqG2BD,EApG7CE,EAAmElB,IAA3DC,EAAeiB,EAAfjB,gBAAiBC,EAAiBgB,EAAjBhB,kBAAmBE,EAAkBc,EAAlBd,mBACtCE,GAAgB5b,EAAAA,EAAAA,GAAQ6a,GACxBuB,EAAmBzB,EAAYhP,WAAU,SAAA8P,GAAY,OAAIA,EAAaR,OAASp3B,EAAKo3B,IAAI,IAE9FW,EAAiBF,GAAoBT,KAAOsB,EAC5CzB,EAAoBc,GAEhBQ,GAAoB,GACtBb,EAAgBC,GAAkBroB,EAAAA,EAAA,GAC7BooB,EAAgBC,IAAkB,IACrCT,KAAM,KACNC,iBAAkB,KAClBqB,SAAU,IAEZd,EAAgB7a,KAAKkb,EAAiBF,MAEtCH,EAAgBC,GAAmBP,KAAOsB,EAC1ChB,EAAgBC,GAAmBa,iBAAmBd,EAAgBC,GAAmBa,eAG3F9K,EAAa,CAAEsK,6BAA2B7b,EAAAA,EAAAA,GAAOub,KArBhC,IAACgB,EAClBC,EAAQjB,EAAiBC,EAAmBE,EACtCE,EACAQ,CAkG8C,EAC5Ct1B,MAAOtH,KAAKC,EAAE,6CACd2sB,SAAU,EACVvsB,KAAK,UACLlB,QAASs9B,EACTp6B,MAAO,CAAEA,MAAOi6B,EAAah1B,MAAOo0B,EAAW17B,KAAKC,EAAE,yCAADH,OAA0Cw8B,EAAW,gBAIhH99B,EAAAA,cAACy+B,EAAAA,QAAW,CACVC,aAAcZ,EACdlmB,aAAc,SAAC+D,GAAC,OAAK/D,EAAa+D,EAAE,EACpC4T,iBAAiB,EACjBC,eAAgBuO,GAAY,QAC5Bj1B,MAAQtH,KAAKC,EAAE,8CACf2sB,SAAU,EACVvsB,KAAI,OACJgC,MAAOk5B,EACPpN,MAAOvK,EACPyK,eAAe,IAEjB7vB,EAAAA,cAACy+B,EAAAA,QAAW,CACVC,aAAcZ,EACdlmB,aAAc,SAAC+D,GAAC,OAAK/D,EAAa+D,EAAE,EACpC4T,iBAAiB,EACjBC,eAAgBuO,GAAY,QAC5Bj1B,MAAQtH,KAAKC,EAAE,iEACf2sB,SAAU,EACVvsB,KAAI,mBACJgC,MAAOm5B,EACPrN,MAAK,GAAAruB,OAAMo7B,EAAiB,KAAAp7B,OAAK8jB,GACjCyK,eAAe,IAGfkO,GACA/9B,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,0DACXG,KAAKC,EAAE,uDAOrB,C,6yBCshBA,UA7sBgB,WAEd,IAAAqtB,GAwBIC,EAAAA,EAAAA,YAAWC,EAAAA,SAvBbkO,EAAUpO,EAAVoO,WACAyB,EAAY7P,EAAZ6P,aACAhN,EAAc7C,EAAd6C,eACAiN,EAAiB9P,EAAjB8P,kBACA7mB,EAAM+W,EAAN/W,OACAH,EAAYkX,EAAZlX,aACAinB,EAAU/P,EAAV+P,WACAC,EAAWhQ,EAAXgQ,YACAxL,EAAsBxE,EAAtBwE,uBACAyL,EAAYjQ,EAAZiQ,aACA32B,EAAY0mB,EAAZ1mB,aACA42B,EAASlQ,EAATkQ,UACAC,EAAYnQ,EAAZmQ,aACA1K,EAAczF,EAAdyF,eACAC,EAAS1F,EAAT0F,UACA0K,EAAyBpQ,EAAzBoQ,0BACA72B,EAAOymB,EAAPzmB,QACAkrB,EAAYzE,EAAZyE,aACAtC,EAAcnC,EAAdmC,eACAoI,EAAsBvK,EAAtBuK,uBACAniB,EAAM4X,EAAN5X,OACAioB,EAAqBrQ,EAArBqQ,sBACAC,EAAuBtQ,EAAvBsQ,wBAIAC,EAWEnoB,EAXFmoB,cACAxB,EAUE3mB,EAVF2mB,4BACAyB,EASEpoB,EATFooB,WACAC,EAQEroB,EARFqoB,cACAC,EAOEtoB,EAPFsoB,wBACAC,EAMEvoB,EANFuoB,6BACAxC,EAKE/lB,EALF+lB,KACAyC,EAIExoB,EAJFwoB,YACAC,EAGEzoB,EAHFyoB,eACA7D,EAEE5kB,EAFF4kB,QACA8D,EACE1oB,EADF0oB,iBAGFz6B,GAAgDC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAxD06B,GAAgBx6B,EAAA,GAAEy6B,GAAmBz6B,EAAA,GAC5C8M,IAAoD/M,EAAAA,EAAAA,WAAS,GAAKgN,IAAA9M,EAAAA,EAAAA,GAAA6M,GAAA,GAA3D4tB,GAAkB3tB,GAAA,GAAE4tB,GAAqB5tB,GAAA,GAChDG,IAAsDnN,EAAAA,EAAAA,UAAS,IAAGoN,IAAAlN,EAAAA,EAAAA,GAAAiN,GAAA,GAA3D0tB,GAAmBztB,GAAA,GAAE0tB,GAAsB1tB,GAAA,GAClDG,IAAwDvN,EAAAA,EAAAA,UAAS,IAAGwN,IAAAtN,EAAAA,EAAAA,GAAAqN,GAAA,GAA7DwtB,GAAoBvtB,GAAA,GAAEwtB,GAAuBxtB,GAAA,GACpDG,IAAgE3N,EAAAA,EAAAA,WAAS,GAAM4N,IAAA1N,EAAAA,EAAAA,GAAAyN,GAAA,GAAxEstB,GAAwBrtB,GAAA,GAAEstB,GAA2BttB,GAAA,GAC5DG,IAAwD/N,EAAAA,EAAAA,UAAS,IAAGmO,IAAAjO,EAAAA,EAAAA,GAAA6N,GAAA,GAA7DotB,GAAoBhtB,GAAA,GAAEitB,GAAuBjtB,GAAA,GAG9C6R,GAA6B,QADblO,EAAOge,eAAiB,MACJ,SAAQ,QAC5CuL,GAAaC,KAAKC,MAAMhC,GACxBiC,GAA2B,UAAZ9E,GAAmC,cAAZA,EACtC+E,GAAgBD,GAAe/B,EAAaG,EAC5C8B,GAA+C,OAAzB5pB,EAAOge,cAAyB2L,GAAc9L,QAAO,SAAAkI,GAAI,MAAa,YAATA,CAAkB,IAAI4D,GAEzG5C,GACE6C,GAAoBn5B,KAAI,SAAAs1B,GAAI,MACvB,CAAEp5B,MAAOo5B,EAAMn0B,MAAOtH,KAAKC,EAAE,WAADH,OAAY27B,IAAS,IAGxD8D,GACE9B,EAAat3B,KAAI,SAAAm0B,GAAO,MACrB,CAAEj4B,MAAOi4B,EAAShzB,MAAOo0B,EAAW17B,KAAKC,EAAE,oCAADH,OAAqCw6B,GAAW,CAAE/N,MAAO,KAAM,IAG9GiT,GACEjC,EAAap3B,KAAI,SAAAyQ,GAAI,MAClB,CAAEvU,MAAOuU,EAAMtP,MAAOtH,KAAKC,EAAE,0CAADH,OAA2C8W,IAAS,IAGrF6oB,GACER,GAAW94B,KAAI,SAAAu5B,GAAQ,MACpB,CAAEr9B,MAAM,GAADvC,OAAK4/B,EAASt5B,IAAMkB,MAAOo4B,EAASr/B,KAAM,IAGtD26B,GACK,WAATS,EACI,CAAC,SAAU,YAAa,QAAS,YACxB,UAATA,EACA,CAAC,QAAS,YAAa,SAAU,YACxB,cAATA,EACA,CAAC,YAAa,SAAU,YACxB,KAEAP,GAAoB+D,GAAW1L,QAAO,SAAA3W,GAC1C,IAAM+iB,EAAmB7B,GAAcv3B,OAAOu3B,IAAgBV,EAAkBh3B,GAChF,OAAOwW,EAAKxW,KAAOu5B,CACrB,IAAG,GAAGC,UAEAC,GAAiBN,GAAoBrf,MAAK,SAAA4c,GAAM,OAAIA,EAAOz6B,QAAUi4B,CAAO,IAAIA,EAAU,IAGhGjnB,EAAAA,EAAAA,YAAU,WACR,GAAI2qB,EAAyB,CAC3B,IAAMhD,EAAgB,GAChB8E,EAAe,GAErBzD,GAA+BA,EAA4Bl2B,KAAI,SAAAs1B,IAC5DA,EAAKsE,eAAe,SAAWtE,EAAKsE,eAAe,sBAAwB/E,EAAc9Z,KAAIvN,EAAC,CAAC,EAAI8nB,IACpGqE,EAAa5e,KAAKua,EACpB,IAEAuD,GAAwBgB,GAAwBhF,IAChD4D,GAAwBkB,EAC1B,CACF,GAAG,IAGH,IAAMG,IAAmCrL,EAAAA,EAAAA,UACvC,mBACEmK,IAAwBA,GAAqBt9B,QAAUu5B,MAClDA,GAAckF,OAAM,SAAAzE,GAAI,OAAIsD,GAAqB35B,MAAK,SAAA+6B,GAAI,OAAIA,EAAK1E,OAASA,CAAI,GAAC,GAC9E,GACV,CAACsD,KAIGiB,GAA0B,SAACF,EAAcM,GAE7C,GAAIpC,GAA2BqC,GAAW,CAAC,SAAU,YAAa,UAAW,CAC3E,IAAMC,EAAuB,GACvBtF,EAAgB8E,GAAgBf,GAChCwB,EAAmBH,GAAmB3E,EAE5CT,GAAiBA,EAAc70B,KAAI,SAAAs1B,GAAI,OACpCA,EAAKsE,eAAe,SAAWtE,EAAKsE,eAAe,sBAAwBO,EAAqBpf,KAAIvN,EAAC,CAAC,EAAI8nB,GAAO,IAEpH,IAAM+E,EAAgBF,EAAqBnU,WAAU,SAAA8P,GAAY,OAAIA,EAAaR,OAAS8E,CAAgB,IACrGnF,EAAYoF,GAAiB,GAAKF,EAAqBE,IAAmB,CAAED,iBAAAA,GAKlF,OAHAC,GAAiB,GAAKF,EAAqB5f,OAAO8f,EAAe,GACjEF,EAAqBG,QAAQrF,GAEtB0E,EAAeQ,EAAuBtB,GAAwBsB,EACvE,CACF,EAGMI,GAAc,SAACr+B,GAAK,OACxBA,EAAMi1B,QAAQ,aAAa,SAACqJ,EAAGC,GAAM,OAAKA,EAAOhF,aAAa,GAAE,EAG5DiF,GAAqB,WAAH,IAAAC,EAAA,OACqB,QADrBA,EACtBnD,EAAsB+C,GAAYpG,WAAS,IAAAwG,OAAA,EAA3CA,EAA8CJ,GAAYjF,GAAO,EAG7DsF,GAAuB,WAAH,IAAAC,EAAA,OACqB,QADrBA,EACxBpD,EAAwB8C,GAAYpG,WAAS,IAAA0G,OAAA,EAA7CA,EAAgDN,GAAYjF,GAAM,EAG9DwF,GAAmB,SAAC5+B,EAAOhC,GAC/Bwd,OAAOC,KAAKvH,GAAQ9U,QAAUuxB,EAAU,CAAC,GACzCmL,EAAe18B,QAAU2U,EAAa,GAAI,kBAC1C8nB,GAAe9nB,EAAa,KAAM,eAClCA,EAAa/T,EAAOhC,EACtB,EAGM6gC,GAA6B,SAAC/mB,EAAG9Z,GACrCq9B,GACGyD,GAAa,CAAC,iBAAkB,UAAW,YAAa,oBACtDhD,GAA4C,IAA1BA,EAAe18B,SACnCq9B,IAA4B,GAE/BhN,EAAuB3X,EAAG9Z,EAC5B,EAGM+gC,GAAqB,WAEzB,IAAMrE,EAAWgC,IAAwBA,GAAqBt9B,OAC1Du5B,GAAc51B,MAAK,SAAAq2B,GAAI,OAAKsD,GAAqB7e,MAAK,SAAAigB,GAAI,OAAIA,EAAK1E,OAASA,CAAI,GAAC,KAAK,KACtFT,GAAc,GAElB,GAAI+B,EAAS,CACX,IAAMuD,GAAoB9f,EAAAA,EAAAA,GAAQue,IAC5BsC,EAAwBhF,GAA+BA,EAA4BlQ,WAAU,SAAAgU,GAAI,OAAIA,EAAK1E,OAASsB,CAAO,IAC1HuE,EAAgC,GAGtCjF,GAA+BA,EAA4Bl2B,KAAI,SAAAs1B,GAAI,OAAI6F,EAA8BpgB,KAAIvN,EAAC,CAAC,EAAI8nB,GAAO,IACtH6E,EAAqBpf,KAAK,CAAEua,KAAMsB,IAClCiC,GAAwBsB,IAEnBe,GAAyBA,EAAwB,GACpDC,EAA8BpgB,KAAK,CAAEua,KAAMsB,IAC3ChL,EAAa,CAAEsK,4BAA4B,GAADv8B,OAAOwhC,OAEjDA,EAA8BD,GAAuBxE,iBACzCyE,EAA8BD,GAAuBxE,SACjE9K,EAAa,CAAEsK,4BAA4B,GAADv8B,OAAOwhC,KAErD,CACF,EAGMC,GAAgB,SAAChrB,GACrB,IAAM8hB,EAAat5B,SAAS64B,eAAe/Z,OAAOC,KAAKvH,GAAQ,IACzDirB,EAAsBziC,SAAS64B,eAAe,iBAC9C6J,EAAwB1iC,SAAS64B,eAAe,oBAChD8J,EAAmBF,GAAuBA,EAAoBG,SAAStJ,KAAgBgG,GACvFuD,EAAqBH,GAAyBA,EAAsBE,SAAStJ,KAAgBkG,GAE/FmD,GAAoBE,GACtBF,EAAmBpD,IAAoB,GAAQE,IAAsB,GACrEjJ,WAAWxC,EAAeh0B,SAAS64B,eAAe/Z,OAAOC,KAAKvH,GAAQ,KAAM,MAE5Ewc,EAAeh0B,SAAS64B,eAAe/Z,OAAOC,KAAKvH,GAAQ,IAE/D,EAEMsrB,GAA4B,WAChC,GAAI7D,EAAyB,CAC3B,IAAMznB,EAAS,GAUf,OARAwoB,IAAwBA,GAAqBt9B,QAC7Cs9B,GAAqB54B,KAAI,SAAA81B,GAAY,OACnCjB,GAAc1a,SAAS2b,EAAaR,QAAUQ,EAAaV,OAASU,EAAaT,kBAAoBjlB,EAAO2K,KAAK+a,EAAaR,KAAK,IAGrIiD,GAAuBnoB,GACvBA,EAAO9U,QAAU8zB,WAAWxC,EAAeh0B,SAAS64B,eAAe,iBAAD93B,OAAkByW,EAAO,MAAQ,MAE3FA,EAAO9U,MACjB,CACE,OAAO,CAEX,EAEMqgC,GAAiB,SAACzM,GAAQ,OAAKwC,EAAuB0J,KAAkBM,MAA+BpS,EAAe4F,EAAU,KAAMkM,GAAe,EAIrJlB,GAAa,SAAC0B,GAAK,OAAKA,EAAMphB,QAAQye,GAAe3D,EAAOnB,IAAY,CAAE,EAE1E6G,GAAe,SAACY,GAAK,OAAKA,EAAMphB,QAAQye,GAAe3D,EAAOnB,GAAW,CAAE,EAE3E0H,GAAgB,SAAC3hC,GAAI,QAAOqV,EAAO,GAAD5V,OAAIO,EAAI,QAASqV,EAAOusB,OAAQ,EAGxE,OACEzjC,EAAAA,cAAA,OAAKqB,UAAU,eAAega,IAAKsW,GAEjC3xB,EAAAA,cAAC0jC,EAAAA,QAAuB,CACtBC,aAAc,WACZ/rB,EAAa,GAAI,kBACjB0oB,IAA4B,EAC9B,EACA5qB,YAAa,kBAAM4qB,IAA4B,EAAM,EACrD9kB,UAAW6kB,KAGbrgC,EAAAA,cAAA,OAAKqB,UAAU,mCACVu/B,IACD5gC,EAAAA,cAAC6zB,EAAAA,QAAa,CACZjc,aAAcA,EACd9O,MAAOtH,KAAKC,EAAE,6CACdI,KAAK,UACLlB,QAASogC,GACTl9B,MAAOw9B,KAGXrhC,EAAAA,cAAC6zB,EAAAA,QAAa,CACZjc,aAAc,SAAC/T,EAAOhC,GACpB0+B,GAAqBt9B,QAAUu+B,IAAwB,EAAO39B,GAC9D4+B,GAAiB5+B,EAAOhC,EAC1B,EACAiH,MAAOtH,KAAKC,EAAE,yCACd8sB,aAAc/sB,KAAKC,EAAE,sCACrBI,KAAK,OACLlB,QAASs9B,GACT9lB,UAAU,EACVkW,aAAc6Q,GAA6B,WAC3Cr7B,MAAOo5B,GAAQgB,GAAa,KAEnB,YAAThB,GACAj9B,EAAAA,cAAC6zB,EAAAA,QAAa,CACZltB,MAAOoR,EAAO2nB,YACd9nB,aAAc6qB,GACd35B,MAAOtH,KAAKC,EAAE,iDACdI,KAAK,cACLlB,QAASqgC,GACT7oB,UAAU,EACVtU,MAAO67B,IAGT2C,MAAwBA,KAAqBp/B,OAAS,GACtDjD,EAAAA,cAAA,OAAKqB,UAAU,kBACbrB,EAAAA,cAAA,OAAKqB,UAAU,sDACbrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,sDAGjBzB,EAAAA,cAAA,OAAKqB,UAAU,wCACXghC,KAAqB16B,KAAI,SAAAs1B,GAAI,OAC7Bj9B,EAAAA,cAAC+zB,EAAAA,QAAQ,CACPze,MAAM,iBACNsC,aAAc8qB,GACd9+B,IAAG,aAAAtC,OAAe27B,GAClBn0B,MAAOo0B,EAAW17B,KAAKC,EAAE,gCAADH,OAAiC27B,EAAI,UAAU,CAAElP,MAAO,KAChFlsB,KAAMo7B,EACNp5B,MAAO87B,GAAkBA,EAAe7d,SAASmb,IAAS,KAG9DiC,GAA6ByD,GAAa,CAAC,iBAAkB,UAAW,YAAa,kBACrF3iC,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,sBACfrB,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,0DACbzB,EAAAA,cAAA,KAAGgqB,wBAAyB,CAAEC,OAAQzoB,KAAKC,EAAE,8DAQvD8gC,MAA0BA,KAAuBt/B,OAAS,GAC1DjD,EAAAA,cAAA,OAAKqB,UAAU,kBACbrB,EAAAA,cAAA,OAAKqB,UAAU,sDACbrB,EAAAA,cAAA,QAAM4E,MAAO,CAAEgqB,YAAa,QAAWptB,KAAKC,EAAE,yBAC9CzB,EAAAA,cAAA,QACEqB,UAAU,mBACV,WAAUG,KAAKC,EAAE,4DACjB,aAAW,mBACX,WAAS,wBACXzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,eAAeC,KAAM,MAGlC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAG,uBACH8W,MAAM,QACNtG,KAAK,WAGTpY,EAAAA,cAAA,OAAKqB,UAAU,wCACXkhC,KAAuB56B,KAAI,SAAAs1B,GAAI,OAC/Bj9B,EAAAA,cAAC+zB,EAAAA,QAAQ,CACPze,MAAM,mBACNsC,aAAc0b,EACd1vB,IAAG,YAAAtC,OAAc27B,GACjBn0B,MAAOo0B,EAAW17B,KAAKC,EAAE,gCAADH,OAAiC27B,EAAI,UAAU,CAAElP,MAAO,KAChFlsB,KAAMo7B,EACNp5B,MAAO+7B,GAAoBA,EAAiB9d,SAASmb,IAAS,OAO1Ej9B,EAAAA,cAAA,OAAKqB,UAAU,iCAAiCuD,MAAO,CAAEkvB,aAAc,EAAG8P,cAAe,QACvF5jC,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuG,GAAG,WACxC5H,EAAAA,cAAA,OAAKqB,UAAU,eACXG,KAAKC,EAAE,oCAETzB,EAAAA,cAAC0I,EAAAA,mBAAkB,CACjBC,OAAQP,GAAgBA,EAAa4pB,MAAMnpB,MAC3CC,MAAOV,GAAgB5G,KAAKC,EAAE,mDAIpB,OAAZ4G,GACArI,EAAAA,cAAC6zB,EAAAA,QAAa,CACZjc,aAAc,SAAC/T,EAAOyR,GAAK,OAAKsC,EAAa7P,OAAOlE,GAAQyR,EAAM,EAClExM,MAAOtH,KAAKC,EAAE,6CACdI,KAAK,aACLlB,QAASsgC,GACTp9B,MAAQy7B,GAAU,GAAAh+B,OAAOg+B,IAAY,GAAAh+B,OAAQs9B,EAAkBh3B,MAGjE+6B,GAAa,CAAC,iBAAkB,aAChC3iC,EAAAA,cAACy+B,EAAAA,QAAW,CACV31B,MAAK,GAAAxH,OAAKE,KAAKC,EAAE,+CACjBI,KAAK,OACL4tB,cAAc,EACdG,cAAc,MACdD,MAAOvK,KAGT0Z,GAAwB,UAAT7B,GACfj9B,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,iBAAiB,EACjBzmB,MAAOtH,KAAKC,EAAE,mDACdI,KAAK,gBACL8tB,MAAO+M,GACP7M,eAAe,IAGjBgS,GAAW,CAAC,aACZ7hC,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,kBAC/B16B,MAAOtH,KAAKC,EAAE,6CACdI,KAAK,iBACL4tB,cAAc,IAGhBoS,GAAW,CAAC,YAAa,qBACzB7hC,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,qBAC/B16B,MAAOtH,KAAKC,EAAE,+CACdI,KAAK,sBAGP++B,IAAgBiB,GAAW,CAAC,SAAU,YAAa,eAAgB,qBACnE7hC,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,kBAC/B16B,MAAOtH,KAAKC,EAAE,+BACdI,KAAK,mBAEP7B,EAAAA,cAAC6jC,EAAAA,QAAc,CACbvuB,MAAM,wBACN6Z,aAAa,EACbrmB,MAAOtH,KAAKC,EAAE,mBACdsc,QAASvc,KAAKC,EAAE,sDAIpBkhC,GAAa,CAAC,iBAAkB,aAChC3iC,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,kBACbrB,EAAAA,cAAA,OAAKqB,UAAU,iEACVu/B,IACD5gC,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,uDAEfm/B,IACA5gC,EAAAA,cAAA,OAAKqB,UAAU,mCAAmCK,QAAS,kBAAMs+B,IAAuBD,GAAmB,GACzG//B,EAAAA,cAAA,YAAiB,iBAATi9B,EAA0Bz7B,KAAKC,EAAE,iBAAmBD,KAAKC,EAAE,uDACjEs+B,GACE//B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KACjC9B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,QAO7C9B,EAAAA,cAAA,OAAK4H,GAAG,mBAAmBvG,UAAW0+B,GAAqB,cAAgB,IACvE8B,GAAW,CAAC,YAAa,qBACzB7hC,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,2BAC/B16B,MAAOtH,KAAKC,EAAE,uDACdI,KAAK,4BAGP++B,IACA5gC,EAAAA,cAACwe,EAAAA,SAAQ,KACLqjB,GAAW,CAAC,kBACZ7hC,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,uBAC/B16B,MAAOtH,KAAKC,EAAE,gDACdI,KAAK,sBACL8tB,MAAK,GAAAruB,OAAMo7B,MAGbiG,GAAa,CAAC,kBACd3iC,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAACy+B,EAAAA,QAAW,CACVnP,OAAO,EACP1X,aAAc,SAAC+D,EAAG9Z,GAAI,OAAK+V,EAAa+D,EAAE3S,OAAOnF,MAAOhC,EAAK,EAC7D0tB,gBAAiBiU,GAAc,4BAC/B16B,MAAQtH,KAAKC,EAAE,oDACfI,KAAK,2BACLkc,QAAUvc,KAAKC,EAAE,8DACjBkuB,MAAK,GAAAruB,OAAOo7B,GAAiB,KAAAp7B,OAAK8jB,MAGpCplB,EAAAA,cAAC6jC,EAAAA,QAAc,CACbvuB,MAAM,gCACNxM,MAAQtH,KAAKC,EAAE,+DACfsc,QAAUvc,KAAKC,EAAE,oEAEL,OAAZ4G,GACArI,EAAAA,cAAC6jC,EAAAA,QAAc,CACbvuB,MAAM,+BACNxM,MAAQtH,KAAKC,EAAE,uEAGL,OAAZ4G,GAAoBu4B,IAAgBiB,GAAW,CAAC,SAAU,YAAa,WACvE7hC,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAC6jC,EAAAA,QAAc,CACbvuB,MAAM,0BACNxM,MAAOtH,KAAKC,EAAE,gEAEd+9B,GACAx/B,EAAAA,cAAA,OAAKqB,UAAU,oCAEXk/B,IAAwBA,GAAqBt9B,OAC3Cs9B,GAAqB54B,KAAI,SAAA81B,GAAY,OACrCjB,GAAc1a,SAAS2b,EAAaR,OACpCj9B,EAAAA,cAAC8jC,EAAAA,QAAgB,CACf1e,SAAUA,GACVoX,cAAeA,GACfC,YAAaoB,EACbh4B,KAAM43B,EACNf,kBAAmBA,GACnB3kB,OAAQkoB,GACRhJ,aAAciJ,GACdvD,YAAawD,GACbv8B,IAAG,iBAAAtC,OAAmBm8B,EAAaR,MACnCL,SAAUK,EACVJ,cAAe0D,GACfhN,aAAcA,EACduJ,oBAAqB0D,IACrB,MAEA3C,IAAgCA,EAA4B56B,SAAW2/B,KAG3EnB,IACAzhC,EAAAA,cAAA,OAAKqB,UAAU,2CACVK,QAAS,kBAAM2hC,MAA+BT,IAAoB,GAAE,KACnEphC,KAAKC,EAAE,iEASP,OAAZ4G,GAAoBo3B,IACtBz/B,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,uCAC/B16B,MAAQtH,KAAKC,EAAE,iEACfI,KAAK,sCACL8tB,MAAK,GAAAruB,OAAOo7B,GAAiB,KAAAp7B,OAAK8jB,MAGtCplB,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,mCAC/B16B,MAAQtH,KAAKC,EAAE,6DACfI,KAAK,kCACL8tB,MAAK,GAAAruB,OAAOo7B,GAAiB,KAAAp7B,OAAK8jB,MAEpCplB,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,iCAC/B16B,MAAQtH,KAAKC,EAAE,2DACfI,KAAK,gCACL8tB,MAAK,GAAAruB,OAAOo7B,GAAiB,KAAAp7B,OAAK8jB,MAEpCplB,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,uCAC/B16B,MAAQtH,KAAKC,EAAE,iEACfI,KAAK,sCACL8tB,MAAK,GAAAruB,OAAOo7B,GAAiB,KAAAp7B,OAAK8jB,UAShDwb,IAAgB+B,GAAa,CAAC,kBAC9B3iC,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,kBACbrB,EAAAA,cAAA,OAAKqB,UAAU,gEACXwgC,GAAW,CAAC,iBAAkB,aAC9B7hC,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,oDAEfkhC,GAAa,CAAC,iBAAkB,aAChC3iC,EAAAA,cAAA,OAAKqB,UAAU,mCAAmCK,QAAS,kBAAMo+B,IAAqBD,GAAiB,GACrG7/B,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,oDACbo+B,GACE7/B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KACjC9B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,QAO3C6gC,GAAa,CAAC,iBAAkB,aAEhC3iC,EAAAA,cAAA,OAAK4H,GAAG,gBAAgBvG,UAAWw+B,GAAmB,cAAgB,IACpE7/B,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,uBAC/B16B,MAAO22B,EAA+Bj+B,KAAKC,EAAE,4EAA8ED,KAAKC,EAAE,iDAClII,KAAK,sBACL8tB,MAAO+M,OAEO,OAAZr0B,GAAoBo3B,IACtBz/B,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,kCAC/B16B,MAAOtH,KAAKC,EAAE,6DACdI,KAAK,iCACL8tB,MAAO+M,KAGX18B,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,8BAC/B16B,MAAOtH,KAAKC,EAAE,yDACdI,KAAK,6BACL8tB,MAAO+M,KAET18B,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,4BAC/B16B,MAAOtH,KAAKC,EAAE,uDACdI,KAAK,2BACL8tB,MAAO+M,KAET18B,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,kCAC/B16B,MAAOtH,KAAKC,EAAE,6DACdI,KAAK,iCACL8tB,MAAO+M,KAET18B,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,4BAC/B16B,MAAOtH,KAAKC,EAAE,kEACdI,KAAK,2BACL8tB,MAAO+M,MAIXmF,GAAW,CAAC,iBAAkB,aAC9B7hC,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,gBAAiBiU,GAAc,gCAC/B16B,MAAOtH,KAAKC,EAAE,4DACdI,KAAK,+BACL8tB,MAAO+M,OAKZkE,IACD5gC,EAAAA,cAACwe,EAAAA,SAAQ,KACLmkB,GAAa,CAAC,iBACd3iC,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,iBAAiB,EACjBzmB,MAAOtH,KAAKC,EAAE,gDACdI,KAAI,YACJguB,eAAe,IAGnB7vB,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,iBAAiB,EACjBzmB,MAAOtH,KAAKC,EAAE,6CACdI,KAAI,UACJguB,eAAe,IAEjB7vB,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,iBAAiB,EACjBzmB,MAAOtH,KAAKC,EAAE,+CACdI,KAAI,YACJguB,eAAe,IAEjB7vB,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,iBAAiB,EACjBzmB,MAAOtH,KAAKC,EAAE,0DACdI,KAAI,qBACJguB,eAAe,IAEjB7vB,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,iBAAiB,EACjBzmB,MAAOtH,KAAKC,EAAE,mEACdI,KAAI,6BACJguB,eAAe,IAEjB7vB,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,iBAAiB,EACjBzmB,MAAOtH,KAAKC,EAAE,8DACdI,KAAI,wBACJguB,eAAe,IAEf8S,GAAa,CAAC,iBACd3iC,EAAAA,cAACy+B,EAAAA,QAAW,CACVlP,iBAAiB,EACjBzmB,MAAOtH,KAAKC,EAAE,qDACdI,KAAI,aACJguB,eAAe,IAGjBgS,GAAW,CAAC,iBACZ7hC,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,kBACbrB,EAAAA,cAAA,OAAKqB,UAAU,sDACbrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,wCAGjBzB,EAAAA,cAAA,OAAKqB,UAAU,wCACbrB,EAAAA,cAAC+jC,EAAAA,EAAc,CACbC,aAAchkC,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,iBAAiBC,KAAM,KAClDmiC,UAAWjkC,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,KACtCoiC,QAAS,IAAI/8B,KACbuU,SA1cK,SAACyoB,GAAI,OAAKvsB,EAAausB,EAAOA,EAAKC,cAAgBD,EAAM,gBAAiB,EA2c/EtgC,MAAO07B,EAAgB,IAAIp4B,KAAKo4B,GAAiB,SAIvDv/B,EAAAA,cAAC26B,EAAAA,QAAU,CACT7xB,MAAOtH,KAAKC,EAAE,wCACdI,KAAI,gBACJgC,MAAOw7B,GAAiB,QASpCr/B,EAAAA,cAACg0B,EAAAA,QAAiB,CAChBrD,WAAY,kBAAM2S,GAAe,WAAW,EAC5C7S,WAAY,kBAAM6S,GAAe,WAAW,EAC5C1S,oBAAqB,kBAAMyI,EAAuB0J,KAAkBM,IAA2B,IAIvG,C,yXC9jBA,UAlJ2B,WAEzB,IAAAvU,GAaIC,EAAAA,EAAAA,YAAWC,EAAAA,SAZbkG,EAAapG,EAAboG,cACAmP,EAAgBvV,EAAhBuV,iBACAC,EAAkBxV,EAAlBwV,mBAEAC,GADezV,EAAf0V,gBAC2B1V,EAA3ByV,6BACAE,EAAc3V,EAAd2V,eACA7sB,EAAYkX,EAAZlX,aACA0b,EAAsBxE,EAAtBwE,uBACAlrB,EAAY0mB,EAAZ1mB,aACAC,EAAOymB,EAAPzmB,QACA4oB,EAAcnC,EAAdmC,eACA/Z,EAAM4X,EAAN5X,OAGMwtB,EAAmHxtB,EAAnHwtB,8BAA+BxS,EAAoFhb,EAApFgb,aAAcyS,EAAsEztB,EAAtEytB,yBAA0BC,EAA4C1tB,EAA5C0tB,YAAaC,EAA+B3tB,EAA/B2tB,2BACtFC,EAAmB,OAAZz8B,GAAsC,OAAlB6sB,GAA2Bhe,EAAOge,eAA0C,OAAzBhe,EAAOge,cACrF6P,GAAuBD,EAAOR,EAAqBD,GAAkB18B,KAAI,SAAAyW,GAAI,MAAK,CAAEva,MAAOua,EAAMtV,MAAOsV,EAAM,IAC9G4mB,EAA4BT,GAA+BllB,OAAOC,KAAKilB,GAA6B58B,KAAI,SAAAs9B,GAAW,MACtH,CACCpjC,KAAMojC,EAAYnM,QAAQ,UAAU,SAAAsJ,GAAM,UAAA9gC,OAAQ8gC,EAAO5R,cAAa,IACtE1nB,MAAOtH,KAAKC,EAAE,2BAADH,OAA4B2jC,EAAYnM,QAAQ,UAAU,SAAAsJ,GAAM,UAAA9gC,OAAQ8gC,EAAO5R,cAAa,MACzG7vB,QAAQ,CAAG,CAAEkD,MAAO,EAAGiF,MAAOtH,KAAKC,EAAE,2BAA0BH,QAAA0gB,EAAAA,EAAAA,GAAKuiB,EAA4BU,GAAat9B,KAAI,SAAA22B,GAAM,MAAK,CAAEz6B,MAAOy6B,EAAO12B,GAAIkB,MAAOw1B,EAAOx1B,MAAO,MACtK,IAIGo8B,EAA2B,SAACC,EAAeC,GAC/C,IAAMC,E,qWAAelwB,CAAA,GAAQuvB,GAEX,IAAlBS,SACWE,EAAgBD,GACvBC,EAAgBD,GAAoBD,EAExCvtB,EAAaytB,EAAiB,gCAChC,EAGA,OACErlC,EAAAA,cAAA,OAAKqB,UAAU,cAEbrB,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuG,GAAG,iBACxC5H,EAAAA,cAAA,OAAKqB,UAAU,cACXG,KAAKC,EAAE,0CAETzB,EAAAA,cAAC0I,EAAAA,mBAAkB,CACjBC,OAAQP,GAAgBA,EAAa8pB,aAAarpB,MAClDC,MAAOV,GAAgB5G,KAAKC,EAAE,2DAIlCzB,EAAAA,cAAC6jC,EAAAA,QAAc,CACbvuB,MAAM,2BACNxM,MAAOtH,KAAKC,EAAE,mEAEbkjC,GACD3kC,EAAAA,cAAC6zB,EAAAA,QAAa,CACZjc,aAAcA,EACd9O,MAAOtH,KAAKC,EAAE,kDACdI,KAAK,eACLlB,QAASokC,EACTlhC,MAAOquB,KAIblyB,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuG,GAAG,eACxC5H,EAAAA,cAAA,OAAKqB,UAAU,cACXG,KAAKC,EAAE,6CAETzB,EAAAA,cAAC0I,EAAAA,mBAAkB,CACjBC,OAAQP,GAAgBA,EAAa6pB,WAAWppB,MAChDC,MAAOV,GAAgB5G,KAAKC,EAAE,wDAIlCzB,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,sDACXojC,EAAe98B,KAAI,SAAA29B,GAAQ,OAC3BtlC,EAAAA,cAAC+zB,EAAAA,QAAQ,CACPze,MAAM,cACNsC,aAAc,SAAC+D,EAAG9X,GAAK,OAAKyvB,EAAuB3X,EAAG9X,GAAO,EAAK,EAClED,IAAK0hC,EAAS1hC,IACdkF,MAAOw8B,EAASzjC,KAChBA,KAAI,GAAAP,OAAKgkC,EAAS19B,IAClB/D,MAAO+gC,GAAeA,EAAY9iB,SAASwjB,EAAS19B,KAAO,OAOrE5H,EAAAA,cAAA,OAAKqB,UAAU,iCAAiCuD,MAAO,CAAEkvB,aAAc,IACnEgR,GACA9kC,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,cACXG,KAAKC,EAAE,2BAEXzB,EAAAA,cAAC6jC,EAAAA,QAAc,CACbvuB,MAAM,6BACNxM,MAAOtH,KAAKC,EAAE,8CAGdojC,GAA8BG,GAC9BhlC,EAAAA,cAAA,OAAKqB,UAAU,2CACX2jC,EAA0Br9B,KAAI,SAAAs9B,GAAW,OACzCjlC,EAAAA,cAAA,OAAKqB,UAAU,mDAAmDuC,IAAG,eAAAtC,OAAiB2jC,EAAYpjC,OAChG7B,EAAAA,cAAC6zB,EAAAA,QAAa,CACZjc,aAAcstB,EACdp8B,MAAOm8B,EAAYn8B,MACnBjH,KAAMojC,EAAYpjC,KAClBlB,QAASskC,EAAYtkC,QACrBkD,MACI6gC,GACGrlB,OAAOC,KAAKolB,GAA+BzhC,QAC3CgiC,EAAYtkC,QAAQiG,MAAK,SAAA03B,GAAM,OAAIA,EAAOz6B,QAAU6gC,EAA8BO,EAAYpjC,KAAK,KAErGojC,EAAYtkC,QAAQ,KAGvB,MAOhBX,EAAAA,cAAA,OAAKqB,UAAU,cACXG,KAAKC,EAAE,8CAGXzB,EAAAA,cAAC6jC,EAAAA,QAAc,CAACvuB,MAAM,aAGxBtV,EAAAA,cAACg0B,EAAAA,QAAiB,CAChBrD,WAAY,kBAAMM,EAAe,WAAW,EAC5CR,WAAY,kBAAMQ,EAAe,cAAc,IAIvD,C,6HCnJMzuB,EAAMxC,EAAAA,MAAW,SAACD,GACtB,IAAAoF,GAA4BC,EAAAA,EAAAA,YAAUC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA/BogC,EAAMlgC,EAAA,GAAEmgC,EAASngC,EAAA,GACxB8M,GAA4B/M,EAAAA,EAAAA,UAAS,MAAKgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAnCszB,EAAMrzB,EAAA,GAAEszB,EAAStzB,EAAA,GAEhB/J,GAAY0mB,EAAAA,EAAAA,YAAWC,EAAAA,SAAvB3mB,QAEAs9B,EAA0E5lC,EAA1E4lC,QAASC,EAAiE7lC,EAAjE6lC,sBAAuBC,EAA0C9lC,EAA1C8lC,kBAAmBC,EAAuB/lC,EAAvB+lC,oBAI3DjxB,EAAAA,EAAAA,YAAU,WACR8wB,GAAWF,IAAUM,EAAAA,EAAAA,IAAiBJ,GACnCrjB,MAAK,SAAA0jB,GACJ,IAAMC,EAASD,EAAQ,GAAGE,SAASD,QAAUD,EAAQ,GAAGE,SAASC,SACjEV,EAAOW,UAAUH,EACnB,IACCj+B,OAAM,SAAArB,GAAK,OAAIsB,QAAQtB,MAAM,QAASA,EAAM,GACjD,GAAG,CAAC8+B,EAAQE,IAgBZ,OACE3lC,EAAAA,cAACC,EAAAA,GAAS,CACRob,IAAK,SAAC1T,GAAG,OAAK+9B,EAAU/9B,EAAI,EAC5BzH,YAAyB,WAAZmI,EAAuB,EAAI,GACxCg+B,gBAjBwB,WAC1B,IAAMC,EAAYb,EAAOc,YAEzBf,EAAU,CAAEjhC,IAAK+hC,EAAU/hC,MAAOC,IAAK8hC,EAAU9hC,OACnD,EAcIrE,cA/BgB,CAAEoE,IAAK,mBAAoBC,IAAK,UAgChDgiC,UAZkB,WAAH,OACjBC,EAAAA,EAAAA,IAAgBlB,GACbjjB,MAAK,SAAA0jB,GAAO,OAAIA,EAAQ/iC,QAAU2iC,EAAsBI,EAAQ,IAChEh+B,OAAM,SAAArB,GAAK,OAAIsB,QAAQtB,MAAM,QAAQA,EAAM,GAAE,EAU9ChG,QACEklC,EAEI,CAAEa,YAAa,CACXC,aAAad,EACbe,cAAc,GAEhBzlC,OAAQC,GAGV,CAAED,OAAQC,GAEhBylC,eAAgB,CAAE7lC,gBAAgB,IAElChB,EAAAA,cAAC+B,EAAAA,GAAM,CACLC,KAAM,CAAEC,IAAKC,EAAQC,WAAY,CAAEC,MAAO,GAAIC,OAAQ,KACtDuB,IAAI,YACJkjC,UAAU,EACVC,SAAUpB,GAAW,KACrBrjC,SAAUijC,GAERO,GACA9lC,EAAAA,cAACgnC,EAAAA,GAAU,CAACrmC,QAAS,CAAEsmC,gBAAgB,IACrCjnC,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,uCAM1B,IAGA,WAAe3B,EAAAA,EAAAA,IAAc0C,E,wxBC2kB7B,UAjoBmB,WAEjB,IAAAssB,GAaIC,EAAAA,EAAAA,YAAWC,EAAAA,SAZb+M,EAASjN,EAATiN,UACAmL,EAASpY,EAAToY,UACAnvB,EAAM+W,EAAN/W,OACAH,EAAYkX,EAAZlX,aACAqX,EAAiBH,EAAjBG,kBACAkY,EAAMrY,EAANqY,OACA3S,EAAS1F,EAAT0F,UACA4S,EAActY,EAAdsY,eACA/+B,EAAOymB,EAAPzmB,QACA4oB,EAAcnC,EAAdmC,eACA/Z,EAAM4X,EAAN5X,OACAqc,EAAYzE,EAAZyE,aAGI8T,GAAc9tB,EAAAA,EAAAA,UACd+tB,GAAwB/tB,EAAAA,EAAAA,UACxBguB,GAAkBhuB,EAAAA,EAAAA,UAGxBpU,GAA8BC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAnCoZ,EAAOlZ,EAAA,GAAEmiC,EAAUniC,EAAA,GAC1B8M,GAAgD/M,EAAAA,EAAAA,UAAS,IAAGgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAArDs1B,EAAgBr1B,EAAA,GAAEs1B,EAAmBt1B,EAAA,GAE5CG,GAAoDnN,EAAAA,EAAAA,WAAS,GAAMoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA5Do1B,EAAkBn1B,EAAA,GAAEo1B,EAAqBp1B,EAAA,GAChDG,GAAoDvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA5Dk1B,EAAkBj1B,EAAA,GAAEk1B,EAAqBl1B,EAAA,GAChDG,GAAkE3N,EAAAA,EAAAA,WAAS,GAAM4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAA1Eg1B,EAAyB/0B,EAAA,GAAEg1B,EAA4Bh1B,EAAA,GAC9DG,GAAoD/N,EAAAA,EAAAA,WAAS,GAAMmO,GAAAjO,EAAAA,EAAAA,GAAA6N,EAAA,GAA5D2yB,GAAkBvyB,EAAA,GAAE00B,GAAqB10B,EAAA,GAChDG,IAAoCtO,EAAAA,EAAAA,WAAS,GAAM4O,IAAA1O,EAAAA,EAAAA,GAAAoO,GAAA,GAA5Cw0B,GAAUl0B,GAAA,GAAEm0B,GAAan0B,GAAA,GAGhC0M,IAAkDtb,EAAAA,EAAAA,UAAS,MAAKub,IAAArb,EAAAA,EAAAA,GAAAob,GAAA,GAAzDmlB,GAAiBllB,GAAA,GACxBG,IAD8CH,GAAA,IAChBvb,EAAAA,EAAAA,UAAS,OAAK2b,IAAAzb,EAAAA,EAAAA,GAAAwb,GAAA,GAArC6kB,GAAO5kB,GAAA,GAAEqnB,GAAUrnB,GAAA,GAC1BE,IAA8B7b,EAAAA,EAAAA,UAAS,MAAK8b,IAAA5b,EAAAA,EAAAA,GAAA2b,GAAA,GAArCva,GAAOwa,GAAA,GAAEmnB,GAAUnnB,GAAA,GAC1BonB,IAAgDljC,EAAAA,EAAAA,UAAS,IAAGmjC,IAAAjjC,EAAAA,EAAAA,GAAAgjC,GAAA,GAArDE,GAAgBD,GAAA,GAAEE,GAAmBF,GAAA,GAC5CG,IAA4DtjC,EAAAA,EAAAA,UAAS,IAAGujC,IAAArjC,EAAAA,EAAAA,GAAAojC,GAAA,GAAjEE,GAAsBD,GAAA,GAAEE,GAAyBF,GAAA,GAExD3kB,IAAgDC,EAAAA,EAAAA,GAAahX,EAAAA,eAAciX,IAAA5e,EAAAA,EAAAA,GAAA0e,GAAA,GAApE8kB,GAAY5kB,GAAA,GAAU6kB,GAAa7kB,GAAA,GAAnBre,KACvB4xB,IAA0DxT,EAAAA,EAAAA,GAAa/W,EAAAA,sBAAqByqB,IAAAryB,EAAAA,EAAAA,GAAAmyB,GAAA,GAArFuR,GAAiBrR,GAAA,GAAUsR,GAAkBtR,GAAA,GAAxB9xB,KAG1BqjC,GAUEhyB,EAVFgyB,aACAC,GASEjyB,EATFiyB,aACAjU,GAQEhe,EARFge,cACAjxB,GAOEiT,EAPFjT,SACAC,GAMEgT,EANFhT,UACAwmB,GAKExT,EALFwT,WACA0e,GAIElyB,EAJFkyB,iBACAC,GAGEnyB,EAHFmyB,yBACAC,GAEEpyB,EAFFoyB,WACAC,GACEryB,EADFqyB,oBAIF10B,EAAAA,EAAAA,YAAU,WACJ5Q,IAAYC,IACduiC,EAAAA,EAAAA,IAAgB,CAAEliC,IAAKN,GAAUO,IAAKN,KAAaoe,MAAK,SAAA0jB,GAClDA,GAAWA,EAAQ/iC,SACrBukC,EAAW,CAAE1+B,MAAOogC,GAAcrlC,MAAO,CAAEkjC,SAAUf,EAAQ,GAAGe,YAChEqB,GAAWpC,EAAQ,GAAGe,UAE1B,IAEY,WAAZ1+B,GAAwBmhC,GAAoBnhC,EAAS,gBAezD,GAAG,KAGHwM,EAAAA,EAAAA,YAAU,WACRw0B,KAA6BxB,GAAsBC,GAAsB,GACzEyB,KAAuB5B,GAAsBC,GAAsB,EACrE,GAAG,CAAC1S,MAGJrgB,EAAAA,EAAAA,YAAU,WACR,GAAIk0B,GAEF,GAAIA,GAAcU,SAASxmC,OAAQ,CACjC,IAAMymC,EAAsBX,GAAcU,SAAS9hC,KAAI,SAAA8hC,GAAQ,MAAK,CAAE5lC,MAAOkE,OAAO0hC,EAAS7hC,IAAKkB,MAAO2gC,EAAS5nC,KAAM,IAExH4mC,GAAoBiB,GACpB1B,GAA6B,EAC/B,WACoBjS,IAAlBgT,IAA+Bf,GAA6B,EAGlE,GAAG,CAACe,MAGJl0B,EAAAA,EAAAA,YAAU,WACR,GAAIo0B,IAAsBA,GAAmBU,eAAe1mC,OAAQ,CAClE,IAAM2mC,EAA4BX,GAAmBU,eAAehiC,KAAI,SAAAkiC,GAAQ,MAAK,CAAEhmC,MAAOkE,OAAO8hC,EAASjiC,IAAKkB,MAAO+gC,EAAShoC,KAAM,IAEzIgnC,GAA0Be,EAC5B,CACF,GAAG,CAACX,MAGJp0B,EAAAA,EAAAA,YAAU,WACRqgB,IAAiB4T,GAAa,CAAEjhC,UAAW,CAAEqtB,cAAAA,KAC/C,GAAG,CAACA,MAGJrgB,EAAAA,EAAAA,YAAU,WACNy0B,IAAgBC,IAAsBhW,EAAa,CAAEgW,mBAAoB,IAC7E,GAAG,CAACD,MAGJz0B,EAAAA,EAAAA,YAAU,WACN00B,IAAwBD,IAAc/V,EAAa,CAAE+V,WAAY,IACrE,GAAG,CAACC,MAGJ10B,EAAAA,EAAAA,YAAU,WACNu0B,IAAsBC,IAA4B9V,EAAa,CAAE8V,yBAA0B,IAC/F,GAAG,CAACD,MAGJv0B,EAAAA,EAAAA,YAAU,WACNw0B,IAA4BD,IAAoB7V,EAAa,CAAE6V,iBAAkB,IACrF,GAAG,CAACC,MAGJx0B,EAAAA,EAAAA,YAAU,WACLy0B,KACDN,GAAkB,CAAEnhC,UAAW,CAAEyhC,WAAYQ,OAAOR,OACpDV,GAAuBhiC,MAAK,SAAA03B,GAAM,OAAIA,EAAOz6B,QAAUulC,EAAgB,KAAK7V,EAAa,CAAE6V,iBAAkB,KAEjH,GAAG,CAACE,MAGJz0B,EAAAA,EAAAA,YAAU,WACLy0B,KACDN,GAAkB,CAAEnhC,UAAW,CAAEyhC,WAAYQ,OAAOR,OACpDV,GAAuBhiC,MAAK,SAAA03B,GAAM,OAAIA,EAAOz6B,QAAUulC,EAAgB,KAAK7V,EAAa,CAAE6V,iBAAkB,KAEjH,GAAG,CAACE,MAGJz0B,EAAAA,EAAAA,YAAU,WACR,IAAM80B,EAAiBP,GACnBR,GAAuBhiC,MAAK,SAAA03B,GAAM,OAAIA,EAAOz6B,QAAUulC,EAAgB,IACvEC,IAA4B,GAC1BU,EAAsBJ,EAAiBA,EAAe7gC,OAAS6gC,EAAkB,GACjFK,EAAU,GAAA1oC,OAAM4nC,GAAY,MAAA5nC,OAAKopB,GAAU,KAAAppB,OAAIyoC,GAErD3C,EAAe,CAAE7oB,QAASyrB,GAC5B,GAAG,CAACd,GAAcxe,GAAY0e,GAAkBR,GAAwBS,KAgBxE,IAAMY,GAAmB/C,EAAUv/B,KAAI,SAAAD,GAAO,MAAK,CAAEoB,MAAOpB,EAAQ,GAAI7D,MAAO6D,EAAQ,GAAI,IACrFwiC,GAAgB/C,EAAOx/B,KAAI,SAAAwiC,GAAK,MAAK,CAAErhC,MAAOqhC,EAAM,GAAItmC,MAAOimC,OAAOK,EAAM,IAAK,IA0BjFC,GAAe,WACnB5C,EAAW,IACXtS,IAAiBsU,GAAoBtU,GAAe,gBACtD,EAcMsU,GAAsB,SAAC3lC,EAAOyR,GAClCsC,EAAa/T,EAAOyR,GAEpB,IAAM+0B,EAAcnD,EAAUnS,QAAO,SAAArtB,GAAO,OAAIA,EAAQ,KAAO7D,CAAK,IAAE,GAAG,IAEzEymC,EAAAA,EAAAA,IAAiBD,GAAa/nB,MAAK,SAAA0jB,GAAO,OAAIoC,GAAWpC,EAAQ,GAAGe,SAAS,GAC/E,EAaMwD,GAAkB,SAACC,GACvB,IAAMzR,EAAa5jB,EAAA,GAAQ4C,GAE3ByyB,EAAK7iC,KAAI,SAAA2N,GAAK,cAAWyjB,EAAczjB,EAAM,IAC7Ckf,EAAUuE,EACZ,EAmBM6M,GAAwB,SAACI,EAASL,GACtC,IAAM8E,EAAezE,EAAQ,GACvB0E,EAAoBD,EAAaE,mBACjCC,EAA6BF,EAAkB/c,WAAU,SAAAkd,GAAS,MAA2B,kBAAvBA,EAAUC,MAAM,EAAsB,IAC5GC,EAAiBL,EAAkB3V,QAAO,SAAAiW,GAAG,OAAIA,EAAIF,MAAMhpB,SAAS,UAAU,IAC9EmpB,EAAmBF,GAAkBA,EAAe9nC,OAAS8nC,EAAe,GAAGG,WAAW1a,cAAgB,GAC1G2a,EAAkC,WAAZ9iC,GAAwB4iC,IAAqB5iC,EACnE+iC,EAAgBV,EAAkB3V,QAAO,SAAAiW,GAAG,OAAIA,EAAIF,MAAMhpB,SAAS,cAAc,IAAE,GACnFupB,EAAa,GACfxnC,EAAQ,CAAEiF,MAAO,GAAIjF,MAAO,CAAEkjC,SAAUpB,IAExC2F,EAAgB,CAClBrnC,SAAUwmC,EAAavE,SAASt8B,SAASrF,MACzCL,UAAWumC,EAAavE,SAASt8B,SAASpF,MAC1C0wB,cAA2B,WAAZ7sB,EAAuB4iC,EAAmB/V,GACzDxK,WAAY,IAOd,GAAIkgB,GAA8B,GAAKO,EAAqB,CAC1D,IAAMI,EAAeb,EAAkBE,GAA4BM,WAC7DM,EAAad,EAAkBE,EAA6B,GAAGa,UAC/DC,EAAuBhB,EAAkB3V,QAAO,SAAAiW,GAAG,OAAIA,EAAIF,MAAMhpB,SAAS,8BAA8B,IAAE,GAC1G6pB,EAAWjB,EAAkB3V,QAAO,SAAAiW,GAAG,OAAIA,EAAIF,MAAMhpB,SAAS,WAAW,IAAE,GAC3E8pB,EAAoBrrC,SAAS64B,eAAe,sBAI5CyS,EAAuB,WACvBrD,KAAqBkD,GAAwBC,IAC/CnD,GAAiB7gC,KAAI,SAAA22B,GACnB,IAAMwN,EAAiCJ,GAAwBA,EAAqBD,YAAcnN,EAAOx1B,MACnGijC,EAA2BJ,GAAYA,EAASF,YAAcnN,EAAOx1B,OAE1EgjC,GAAkCC,IAA6Bn0B,EAAa7P,OAAOu2B,EAAOz6B,OAAQ,cACnGwnC,EAAW3oB,KAAK,aAAc,mBAAoB,qBAAsB,4BACxEklB,GAAsB,GACtBE,GAAsB,GACtBE,GAA6B,EAC/B,GAEJ,EAEAlC,IAAsBmC,IAAsB,GAC5CoD,EAAW3oB,KAAK,eAAgB,iBAE5B0oB,GACFE,EAAc5gB,WAAa0gB,EAAcK,UACzCJ,EAAW3oB,KAAK,cAGhBspB,EAAAA,EAAYC,OAAO,0EAAD3qC,OAA2E8pC,EAAcK,UAAS,oBAAAnqC,OAAmB2pC,IACpI3oB,MAAK,SAAA4pB,GACAA,GACFZ,EAAchC,WAAa4C,EAASzC,SAAS7hC,GAC7C0jC,EAAclC,iBAAmB8C,EAASC,gBAAgBvkC,GAC1DmvB,YAAW,WACTxD,EAAa+X,GACbf,GAAgB,CAAC,eAAgB,gBAAiB,aAAc,mBAAoB,qBAAsB,2BAA4B,cACxI,IACA3C,GAAsB,GACtBE,GAAsB,GACtBE,GAA6B,IAE7B6D,GAEJ,KAEFA,IAGFhoC,EAAMiF,MAAK,GAAAxH,OAAMkqC,EAAU,KAAAlqC,OAAIiqC,GAC/B7D,EAAoB,GAADpmC,OAAIkqC,EAAU,KAAAlqC,OAAIiqC,IACrC/D,EAAW3jC,GACXskC,IAAc,GACdmD,EAAcpC,aAAerlC,EAAMiF,MACnC8iC,EAAkBQ,MAKpB,MAAWzG,GAAWwF,GAEpBtnC,EAAMiF,MAAK,GAAAxH,OAAMmpC,EAAaE,mBAAmB,GAAGO,YACpDxD,EAAoB,GAADpmC,OAAImpC,EAAaE,mBAAmB,GAAGO,aAQ1DjD,IAAsB,GACtBT,EAAW3jC,GACXynC,EAAcpC,aAAerlC,EAAMiF,QAKnC0+B,EAAW3jC,GACXynC,EAAan2B,EAAAA,EAAA,GACRm2B,GAAa,IAChBpC,aAAc,GACdI,WAAY,GACZF,iBAAkB,GAClB1e,WAAY,KAEdud,IAAsB,IAGxBsC,GAAgBc,GAChB9X,EAAa+X,GACbjD,IAAW,EACb,EAmBA,OACEroC,EAAAA,cAAA,OAAKqB,UAAU,oBAAoBga,IAAKgsB,GACtCrnC,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,6BACV06B,GACD/7B,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,qCAAqCuG,GAAG,gBAErD5H,EAAAA,cAAA,OAAKqB,UAAU,sBACbrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,mDAAoD,KAEnEzB,EAAAA,cAAA,QACEqB,UAAU,mBACV,aAAW,mBACX,kCACA,cAAAC,OAAaE,KAAKC,EAAE,wCAAuC,KAAAH,OAAIE,KAAKC,EAAE,uCACtEzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,eAAeC,KAAM,MAGpC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,uBACF8W,MAAM,QACNtG,KAAK,WAGTpY,EAAAA,cAAA,OAAKqB,UAAU,sCACbrB,EAAAA,cAACqsC,EAAAA,GAAwB,CACvBC,sBAAuB,CAErBC,sBAAuB,CAAE7kC,QAASwtB,IAA6B,WAAZ7sB,EAAuB,CAAC6sB,IAAiB,OAE9FsX,YAAa,CACXC,eAAgB,oBAAAnrC,OAASE,KAAKC,EAAE,mBAAkB,QAClDirC,iBAAkB,kBAAMlrC,KAAKC,EAAE,2BAA2B,EAC1DkrC,cAAe,SAAC9oC,EAAO8X,GAAC,OAhPlB,SAAC9X,EAAO+oC,GACX,iBAAjBA,EAAMC,UACPhpC,GAASumC,KACV1C,EAAoB7jC,GAExB,CA2OiDipC,CAAkBjpC,EAAO8X,EAAE,EACxDD,SAnOH,SAAC4iB,GAChB,IAAQyI,EAAazI,EAAOz6B,MAApBkjC,SAERsB,IAAW,GACXD,GAAWrB,IACXhB,EAAAA,EAAAA,IAAiBgB,GACdzkB,MAAK,SAAA0jB,GAAO,OAAIA,EAAQ/iC,QAAU2iC,GAAsBI,EAASe,EAAS,IAC1E/+B,OAAM,SAAArB,GAAK,OAAIsB,QAAQtB,MAAM,QAASA,EAAM,GACjD,EA4NoBomC,OAvDO,WAMzB5E,IAAc,GACdT,EAAoBnpB,EAAQzV,OAAS,GACvC,EAgDoBkkC,QA9CQ,WAC1B7E,IAAc,GACdT,EAAoBnpB,EAAQzV,OAAS,GACvC,EA4CoBmkC,mBAAmB,EACnBznB,gBAAiB,SACjBnkB,UAAW,SACX6rC,mBAAmB,EACnB3tB,UAAW7Y,GACXymC,QAAS,qBACTC,WAAY1mC,GAAO,GAAApF,OAAME,KAAKC,EAAE,mBAAkB,OAAQgmC,EAC1D4F,iBAAkB,CAAEC,YAAY,GAChCpF,WAAYA,GACZrmC,KAAM,eACN4Z,YAAaja,KAAKC,EAAE,uDACpBoC,MAAO0a,EACPpd,OAAQ,CACNsa,YAAa,SAAC8xB,GAAQ,OAAAp4B,EAAAA,EAAA,GACjBo4B,GAAQ,IACXC,QAAQ,GAADlsC,OAAK4mC,GAAa,OAAS,SAAQ,EAE5CuF,QAAS,SAACF,GAAQ,OAAAp4B,EAAAA,EAAA,GACbo4B,GAAQ,IAAAhqC,EAAAA,EAAAA,GAAA,CACXqb,OAAO,aAADtd,OAAeyW,EAAOmxB,aAAe,UAAY,YACtD,UAAY,CAAEtqB,OAAO,aAADtd,OAAeyW,EAAOmxB,aAAe,UAAY,aAAc,EAGtFwE,YAAa,SAACH,GAAQ,OAAAp4B,EAAAA,EAAA,GACjBo4B,GAAQ,IACXC,QAAQ,GAADlsC,OAAK4mC,GAAa,OAAS,SAAQ,MAahDnwB,EAAOmxB,cACPlpC,EAAAA,cAAA,OAAKqB,UAAU,iBACXG,KAAKC,EAAE,mDAAoD,IAAGsW,EAAOmxB,gBAM/ElpC,EAAAA,cAAC26B,EAAAA,QAAU,CACT/iB,aAAcqX,EACdnmB,MAAOtH,KAAKC,EAAE,mDACd8sB,aAAc/sB,KAAKC,EAAE,gDACrBI,KAAK,eACLgC,MAAOslC,MAMC,WAAZ9gC,GACArI,EAAAA,cAAC6zB,EAAAA,QAAa,CACZltB,MAAOoR,EAAOmd,cACdtd,aAAc4xB,GACd1gC,MAAOtH,KAAKC,EAAE,oCACdI,KAAK,gBACLlB,QAASspC,GACT9xB,UAAU,EACVsW,YAAY,EACZ5qB,MAAOqxB,KAGTyS,GAAsBI,EACpB/nC,EAAAA,cAAC26B,EAAAA,QAAU,CACT/iB,aAAcqX,EACdnmB,MAAOtH,KAAKC,EAAE,qCACdI,KAAK,qBACLsW,UAAU,EACVtU,MAAO0lC,KAETvpC,EAAAA,cAAC6zB,EAAAA,QAAa,CACZnF,UAAW8Z,GAAiBvlC,OAC5B0D,MAAOoR,EAAOuxB,WACd1xB,aAAc,SAAC/T,EAAOyR,GAAK,OAAKsC,EAAa7P,OAAOlE,GAAQyR,EAAM,EAClExM,MAAOtH,KAAKC,EAAE,qCACdI,KAAK,aACLlB,QAAS6nC,GACTrwB,UAAU,EACVsW,YAAY,EACZ5qB,MAAOylC,MAGVvB,GACD/nC,EAAAA,cAAA,OAAKqB,UAAU,kBAEX06B,GAAa/7B,EAAAA,cAAA,OAAKqB,UAAU,sBAE9BrB,EAAAA,cAAA,OAAKqB,UAAU,4BAA4BK,QAhTtB,WAC/BomC,GAAuBH,GACvBC,GAAsB,SAAA+F,GAAS,OAAKA,CAAS,IAC7ClvB,EAAAA,EAAamvB,KAAKrG,EACpB,GA8SgBI,EAAqB3nC,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,aAAaC,KAAM,KAAS,IAEhE9B,EAAAA,cAAA,OAAKqB,UAAU,kDACV,WAAWsmC,EAA0E,KAArDnmC,KAAKC,EAAE,4CACvC,aAAW,mBACX4Z,IAAKksB,EACL,+BACDI,EACEnmC,KAAKC,EAAE,gDACPD,KAAKC,EAAE,+CAIVkmC,GACD3nC,EAAAA,cAACye,EAAAA,EAAY,CACXC,MAAM,QACNC,OAAO,QACP/W,GAAG,mBACHwQ,KAAK,QACLwG,QAAQ,EACRC,YAAY,YAMpBgpB,GAAsBE,EACpB/nC,EAAAA,cAAC26B,EAAAA,QAAU,CACT/iB,aAAcqX,EACdnmB,MAAOtH,KAAKC,EAAE,4CACdI,KAAK,2BACLsW,UAAU,EACVtU,MAAOwlC,KAETrpC,EAAAA,cAAC6zB,EAAAA,QAAa,CACZnF,UAAWka,GAAuB3lC,OAClC0D,MAAOoR,EAAOqxB,iBACdxxB,aAAc,SAAC/T,EAAOyR,GAAK,OAAKsC,EAAa7P,OAAOlE,GAAQyR,EAAM,EAClExM,MAAOtH,KAAKC,EAAE,4CACdI,KAAK,mBACLlB,QAASioC,GACTzwB,UAAU,EACVsW,YAAY,EACZ5qB,MAAOulC,MAGVzB,IAAuBI,GACxB/nC,EAAAA,cAAA,OAAKqB,UAAU,kBAEX06B,GAAa/7B,EAAAA,cAAA,OAAKqB,UAAU,sBAE9BrB,EAAAA,cAAA,OAAKqB,UAAU,4BAA4BK,QAAS,kBAAMomC,GAAsB,SAAA6F,GAAS,OAAKA,CAAS,GAAC,GACpG9F,EAAqB7nC,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,aAAaC,KAAM,KAAS,IAChE9B,EAAAA,cAAA,OACEqB,UAAU,kDACV,aAAW,mBACX,8BACA,WAAWsmC,EAA0E,KAArDnmC,KAAKC,EAAE,4CACvC4Z,IAAKisB,GAEHO,EACErmC,KAAKC,EAAE,gDACPD,KAAKC,EAAE,qDAGRomC,GACD7nC,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,mBACF8W,MAAM,QACNtG,KAAK,aAOjBpY,EAAAA,cAAC26B,EAAAA,QAAU,CACT/iB,aAAcqX,EACdnmB,MAAOtH,KAAKC,EAAE,oDACdI,KAAK,aACLsW,UAAU,EACVtU,MAAO6mB,GACPhF,aAA4B,OAAZrd,GAAsB6hC,GAAcjnC,OAAyB,GAAf,iBAG/D84B,GACD/7B,EAAAA,cAACwC,EAAAA,QAAG,CACKmjC,QAAAA,GAASE,kBAAAA,GAAmBD,sBAAAA,GAAuBE,mBAAAA,GAC1DjhC,iBAAkB7E,EAAAA,cAAA,OAAK4E,MAAO,CAAEvC,OAAO,OAASD,MAAO,OAAQyrC,YAAa,UAC5E/oC,WAAY9E,EAAAA,cAAA,OAAK4E,MAAO,CAAEvC,OAAO,OAASyrC,aAAc,WAG1D/R,GAAa/7B,EAAAA,cAAC+tC,EAAAA,QAAe,OAGjC/tC,EAAAA,cAACg0B,EAAAA,QAAiB,CAACvD,WAAY,kBA7YAQ,EA6YmB,UAAU,IAIlE,C,4FCznBA,UAzBiB,WAEf,IAAAnC,GAAkEC,EAAAA,EAAAA,YAAWC,EAAAA,SAArE7qB,EAAY2qB,EAAZ3qB,aAAckE,EAAOymB,EAAPzmB,QAASopB,EAAS3C,EAAT2C,UAAWiD,EAAmB5F,EAAnB4F,oBACpCsZ,EAA0B,WAAZ3lC,EAAuB,KAAOqsB,EAAoBK,QAAO,SAAAljB,GAAM,OAAIA,EAAOjK,KAAOS,CAAO,IAAE,GAAGxG,KAC3GosC,EAAqB,WAAZ5lC,EAAuB,GAAKA,EAAQ+0B,cAC7C8Q,GAAY9X,EAAAA,EAAAA,UAChB,kBACEv2B,EAAAA,EAAAA,KACEC,EAAAA,EAAAA,KAAc,kBAAME,EAAAA,cAACmuC,EAAAA,QAAU,CAAC9yB,IAAKoW,EAAU7nB,UAAY,IAC5D,GACH,IAGF,OACE5J,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkuC,EAAS,CACRxpC,aAAY,+CAAApD,OAAiD6C,EAAY,YAAA7C,OAAW2sC,EAAM,cAAA3sC,OAAa0sC,EAAW,sCAClHnpC,iBAAkB7E,EAAAA,cAAA,OAAK4E,MAAO,CAAEvC,OAAO,UACvCyC,WAAY9E,EAAAA,cAAA,OAAK4E,MAAO,CAAEvC,OAAO,UACjCsC,eAAgB3E,EAAAA,cAAA,OAAK4E,MAAO,CAAEvC,OAAO,YAI7C,C,itCCtB0B,IAGpB+rC,EAAS,SAAA3rC,IAAAC,EAAAA,EAAAA,GAAA0rC,EAAA3rC,GAAA,IAAAE,EAAAC,EAAAwrC,GAAA,SAAAA,IAAA,IAAAvrC,GAAAC,EAAAA,EAAAA,GAAA,KAAAsrC,GAAA,QAAArrC,EAAAC,UAAAC,OAAAC,EAAA,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GA8PZ,OA9PYP,EAAAF,EAAAU,KAAAC,MAAAX,EAAA,OAAArB,OAAA4B,KAAAK,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,QAEL,CACNwrC,UAAW,GACXC,UAAW,KACXC,eAAgB,KAChBC,wBAAwB,EACxBC,gBAAgB,EAChBC,iBAAiB,KAClBnrC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,yBAsBuB,WACtB,IAAQ8rC,EAAoB9rC,EAAK9C,MAAzB4uC,gBAEFC,EAAU,IADHD,GAAmB,IAG3BhnC,KAAI,SAAAyW,GAAI,OAAIwwB,EAAQlsB,KAAK,CAAC9a,GAAIwW,EAAKxW,GAAIinC,OAAQzwB,EAAK0wB,eAAgB,IACzEjsC,EAAKY,SAAS,CAAE4qC,UAAWO,GAC7B,KAACrrC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,gBAGc,SAACksC,GAKd,IAJA,IAAMC,EAAe75B,EAAA,GAAQ45B,GACvBE,GAAYjtB,EAAAA,EAAAA,GAAQnf,EAAKa,MAAM2qC,WACrCrqC,EAAmDnB,EAAK9C,MAAhDoa,EAAUnW,EAAVmW,WAAYtY,EAAImC,EAAJnC,KAAMqtC,EAAKlrC,EAALkrC,MAAOC,EAAanrC,EAAbmrC,cAEjCC,EAAA,EAAAC,EAA2BhwB,OAAOyV,QAAQia,GAAMK,EAAAC,EAAApsC,OAAAmsC,IAAE,CAA7C,IAAAE,GAAAhqC,EAAAA,EAAAA,GAAA+pC,EAAAD,GAAA,GAAYvrC,GAAFyrC,EAAA,GAAOA,EAAA,IAEd1nC,EAAKG,QAAQ,GAAKgT,KAAKw0B,UAAU3U,MAAM,KAAK,IAC5C4U,EAAU,CAAE9oC,SAAS,EAAM7E,KAAMgC,EAAMhC,KAAM+F,GAAAA,GAEnD/D,EAAM+D,GAAKA,EACXqnC,EAAavsB,KAAK8sB,EACpB,CAEA3sC,EAAKY,SAAS,CAAE4qC,UAAWY,EAAcR,iBAAkBS,IAAS,WAClE,IADyE,IAADO,EAAA,WACnE,IAAAC,GAAApqC,EAAAA,EAAAA,GAAAqqC,EAAAC,GAAA,GAAY/rC,GAAF6rC,EAAA,GAAOA,EAAA,IAEdG,EAAW,IAAIC,SACrBD,EAASE,OAAO,oBAAqBlsC,GACrCgsC,EAASE,OAAO,sBAAsB,GAADzuC,OAAK6Y,IAC1C01B,EAASE,OAAO,qBAAsBltC,EAAK9C,MAAMiwC,eACjDH,EAASE,OAAO,OAAQ,QAExB,IAAME,EAAa,CACjBhuC,IAAI,wBAADX,OAA0B6Y,EAAU,KAAA7Y,OAAIO,GAC3CquC,OAAQ,OACRrqC,KAAMgqC,EACNM,QAAS,CAAE,eAAgB,kCAAmC,OAAU,qBAG1EnE,EAAAA,EAAYoE,YAAYH,GACrB3tB,MAAK,SAAA4pB,GACJ,IAAQmC,EAAcxrC,EAAKa,MAAnB2qC,UACFgC,EAAehC,EAAU1gB,WAAU,SAAA2iB,GAAI,OAAIA,EAAK1oC,KAAO/D,EAAM+D,EAAE,IAC/D2oC,EAAclC,EAAUgC,GACxBpB,GAAYjtB,EAAAA,EAAAA,GAAQqsB,GAI1B,GAFAkC,EAAY7pC,SAAU,EAElBwlC,EAAU,CACZ,IAAMsE,EAAYtE,EAASuE,aAAe,GACpCC,EAAgBxE,EAASn0B,QAAUm0B,EAASn0B,OAAO9U,OAEzD,GAAwB,YAApBipC,EAASzpB,OAEX,GAAyB,IAArB+tB,EAAUvtC,OACZksC,GAAiBA,QACZ,CACL,IAAMwB,EAAQH,EAAU,GAEpBtB,GACFrsC,EAAKY,SAAS,CAAEgrC,gBAAgB,IAChCU,MAEAoB,EAAY1B,OAAS8B,EAAMC,UAC3BL,EAAY3oC,GAAK+oC,EAAM/oC,GAE3B,MAES8oC,IACTH,EAAY5pC,MAAQulC,EAASn0B,OAC7Bw4B,EAAY3oC,GAAKG,QAAQ,GAAKgT,KAAKw0B,UAAU3U,MAAM,KAAK,KAG1DqU,EAAa/sB,OAAOmuB,EAAc,EAAGE,GACrC1tC,EAAKY,SAAS,CAAE4qC,UAAWY,EAAcR,gBAAgB,IAAS,WAChEQ,EAAahsC,SAAWJ,EAAKa,MAAM2qC,UAAU3sB,MAAK,SAAA4uB,GAAI,OAAIA,EAAK5pC,OAAO,KAAK7D,EAAKguC,eAClF,GAEF,MACE5B,EAAa/sB,OAAOmuB,EAAc,GAClCxtC,EAAKY,SAAS,CAAE4qC,UAAWY,EAAcT,wBAAwB,GAErE,IACCxmC,OAAM,SAAArB,GACLsB,QAAQC,IAAI,eAAavB,EAC3B,GACJ,EA9DAipC,EAAA,EAAAD,EAA2BtwB,OAAOyV,QAAQka,GAAgBY,EAAAD,EAAA1sC,OAAA2sC,IAAAH,GA8DzD,GAEL,KAAClsC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,qBAGmB,SAAC8Y,GACnB9Y,EAAK+U,aAAa+D,EAAE3S,OAAO+lC,OAC3BpzB,EAAE3S,OAAOnF,MAAQ,EACnB,KAACN,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,mBAGiB,SAAC8Y,GACjB,IAAMm1B,EAAcn1B,EAAE3S,OAAO+nC,QAAQrjB,MACrC/R,EAAE3S,OAAOvI,UAAUuwC,IAAI,YAEvBnuC,EAAKY,SAAS,CACZ6qC,UAAWzrC,EAAKa,MAAM2qC,UAAUyC,GAChCvC,eAAgBuC,GAEpB,KAACvtC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,iBAGe,SAAC8Y,GAAC,OAChBA,EAAE3S,OAAOvI,UAAUC,OAAO,WAAY,KAAD6C,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,mBAGrB,SAAC8Y,GAAC,OAClBA,EAAEs1B,gBAAiB,KAAD1tC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,cAGP,SAAC8Y,GACZ,IAAMu1B,EAAgBv1B,EAAE3S,OAAO+nC,QAAQrjB,MACjCyjB,GAAkBnvB,EAAAA,EAAAA,GAAQnf,EAAKa,MAAM2qC,WAE3C8C,EAAmBjvB,OAAOna,OAAOmpC,GAAgB,EAAGC,EAAmBjvB,OAAOrf,EAAKa,MAAM6qC,eAAgB,GAAG,IAC5G1rC,EAAKY,SAAS,CAAE4qC,UAAW8C,IAAsB,kBAAMtuC,EAAKguC,eAAe,GAC7E,KAACttC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,iBAGe,WACd,IAAAuuC,EAA6BvuC,EAAK9C,MAA1Boa,EAAUi3B,EAAVj3B,WAAYtY,EAAIuvC,EAAJvvC,KACdI,EAAG,wBAAAX,OAA2B6Y,EAAU,KAAA7Y,OAAIO,EAAI,kBAChDguC,EAAW,IAAIC,SAErBjtC,EAAKa,MAAM2qC,UAAU1mC,KAAI,SAAA2oC,GAAI,OAAKA,EAAK3pC,OAASkpC,EAASE,OAAO,WAAYO,EAAK1oC,GAAG,IACpFioC,EAASE,OAAO,qBAAsBltC,EAAK9C,MAAMiwC,eAEjDhE,EAAAA,EAAYqF,IAAIpvC,EAAK4tC,GAAUvtB,MAAK,SAAA4pB,GAAQ,OAAIjkC,QAAQC,IAAI,mBAAoBgkC,EAAS,GAC3F,KAAC3oC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,gBAGc,SAACyuC,GACd,IAAQjD,EAAcxrC,EAAKa,MAAnB2qC,UACRkD,EAAkE1uC,EAAK9C,MAA/Doa,EAAUo3B,EAAVp3B,WAAYtY,EAAI0vC,EAAJ1vC,KAAMqtC,EAAKqC,EAALrC,MAAOc,EAAauB,EAAbvB,cAAeb,EAAaoC,EAAbpC,cAE1Cc,EAAa,CACjBhuC,IAFO,wBAAAX,OAA2B6Y,EAAU,KAAA7Y,OAAIO,GAAIP,OAAGgwC,EAAM,IAAAhwC,OAAOgwC,GAAW,IAG/EpB,OAAQ,SACRrqC,KAAM,CAAE2rC,mBAAoBxB,GAC5BG,QAAS,CAAC,eAAgB,kCAAmC,OAAU,qBAGzE,GAAIjB,EAEFrsC,EAAKY,SAAS,CAAEirC,iBAAiB,IAEjC1C,EAAAA,EAAYoE,YAAYH,GACrB3tB,MAAK,SAAA4pB,GACAA,EAASzpB,QAA8B,YAApBypB,EAASzpB,SAC9B0sB,IACAtsC,EAAKY,SAAS,CAAEirC,iBAAiB,IAClC,IACF1mC,OAAM,SAAArB,GACLsB,QAAQC,IAAI,QAASvB,GACrB9D,EAAKY,SAAS,CAAEirC,iBAAiB,GACnC,QAEG,CAEL,IAAM+C,EAAqBpD,EAAU1gB,WAAU,SAAA2iB,GAAI,OAAIA,EAAK1oC,KAAO0pC,CAAM,IAEnEI,GAAsBrD,EAAUoD,GAAoB9qC,MACpDgrC,EAAsB,WAC1B,IAAM1C,GAAYjtB,EAAAA,EAAAA,GAAQqsB,GAE1BY,EAAa/sB,OAAOuvB,EAAoB,GACxC5uC,EAAKY,SAAS,CAAE4qC,UAAWY,GAC7B,EAEA,GAAIyC,EAAoB,CACtB,IAAMzC,GAAYjtB,EAAAA,EAAAA,GAAQqsB,GACpBuD,EAAgB3C,EAAawC,GAEnCG,EAAclrC,SAAU,EACxBuoC,EAAa/sB,OAAOuvB,EAAoB,EAAGG,GAC3C/uC,EAAKY,SAAS,CAAE4qC,UAAWY,IAE3BjD,EAAAA,EAAYoE,YAAYH,GAAY3tB,MAAK,SAAA4pB,GACvCjkC,QAAQC,IAAI,SAAUgkC,GACtByF,GACF,GACF,MACEA,GAEJ,CACF,KAACpuC,EAAAA,EAAAA,IAAAC,EAAAA,EAAAA,GAAAX,GAAA,gBAGc,SAACyuC,GACd,IAAAO,EAA4ChvC,EAAK9C,MAAzCiwC,EAAa6B,EAAb7B,cAAe71B,EAAU03B,EAAV13B,WAAYtY,EAAIgwC,EAAJhwC,KAC7BI,EAAG,wBAAAX,OAA2B6Y,EAAU,KAAA7Y,OAAIO,EAAI,KAAAP,OAAIgwC,GACpDrC,GAAYjtB,EAAAA,EAAAA,GAAQnf,EAAKa,MAAM2qC,WAC/ByD,EAAmB7C,EAAathB,WAAU,SAAA2iB,GAAI,OAAIA,EAAK1oC,KAAO0pC,CAAM,IACpEf,EAActB,EAAa6C,GAEjCvB,EAAY7pC,SAAU,EACtBuoC,EAAa/sB,OAAO4vB,EAAkB,EAAGvB,GACzC1tC,EAAKY,SAAS,CAAE4qC,UAAWY,IAE3B,IAAMgB,EAAa,CACjBhuC,IAAAA,EACAiuC,OAAQ,MACRrqC,KAAM,CAAE2rC,mBAAoBxB,EAAe+B,eAAgB,IAC3D5B,QAAS,CAAC,eAAgB,kCAAmC,OAAU,qBAGzEnE,EAAAA,EAAYoE,YAAYH,GAAY3tB,MAAK,SAAA4pB,GACvC,GAAIA,GAAgC,YAApBA,EAASzpB,OAAsB,CAC7C,IAAMuvB,EAAgBzB,EAAYyB,cAElCzB,EAAYyB,cAAgBA,EAAgBA,EAAgB,GAAK,GACjEzB,EAAY7pC,SAAU,EACtBuoC,EAAa/sB,OAAO4vB,EAAkB,EAAGvB,GACzC1tC,EAAKY,SAAS,CAAE4qC,UAAWY,GAC7B,CACF,GACF,IAACpsC,CAAC,CAgJD,OAhJAc,EAAAA,EAAAA,GAAAyqC,EAAA,EAAAxqC,IAAA,oBAAAC,MAlPD,WACEC,KAAKmuC,uBACP,GAAC,CAAAruC,IAAA,qBAAAC,MAGD,SAAmBquC,EAAWvE,EAAWwE,GACvC,IAAAC,EAAkDtuC,KAAK/D,MAA/C4uC,EAAeyD,EAAfzD,gBAAiB9sC,EAAIuwC,EAAJvwC,KAAMulC,EAAcgL,EAAdhL,eAM/B,GAJI8K,EAAUvD,kBAAoBA,GAChC7qC,KAAKmuC,wBAGHnuC,KAAKJ,MAAM2qC,YAAcV,EAAUU,UAAW,CAChD,IAAMgE,EAAoBvuC,KAAKJ,MAAM2qC,UAAUtZ,QAAO,SAAAub,GAAI,OAAKA,EAAK3pC,KAAK,IAAE1D,OAC3EmkC,GAAe,SAAAkL,GAAQ,OAAAn9B,EAAAA,EAAA,GAAUm9B,GAAQ,IAAA/uC,EAAAA,EAAAA,GAAA,MAAAjC,OAAMO,EAAI,kBAAmBwwC,GAAiB,GACzF,CACF,GAAC,CAAAzuC,IAAA,SAAAC,MAqOD,WAAU,IAAD0uC,EAAA,KAEPC,EAA6C1uC,KAAK/D,MAA1C8B,EAAI2wC,EAAJ3wC,KAAM4wC,EAASD,EAATC,UAAWvD,EAAKsD,EAALtD,MAAOwD,EAAQF,EAARE,SAChCruC,EAA+EP,KAAKJ,MAA5E2qC,EAAShqC,EAATgqC,UAAWG,EAAsBnqC,EAAtBmqC,uBAAwBC,EAAcpqC,EAAdoqC,eAAgBC,EAAerqC,EAAfqqC,gBACrDiE,EAAezD,IAAUwD,EAASzwC,KAAOwsC,GAG/C,OACEzuC,EAAAA,cAAA,OAAKqB,UAAU,cAEbrB,EAAAA,cAACyV,EAAAA,QAAgB,CACfC,YAAa,kBAAM68B,EAAK9uC,SAAS,CAAE+qC,wBAAwB,GAAQ,EACnE74B,QAASnU,KAAKC,EAAE,sDAChBmU,YAAa,QACbC,QAAS24B,IAGXxuC,EAAAA,cAAA,OAAKqB,UAAU,6BAEV6tC,GAASb,EAAUprC,OAAS,GAAKorC,EAAU1mC,KAAI,SAAC2oC,EAAM5iB,GAAK,OAC5D1tB,EAAAA,cAAA,OAAKqB,UAAU,uBACVuC,IAAK8pB,EACL,aAAYA,EACZklB,OAAQL,EAAKM,WACbC,YAAaP,EAAKQ,iBAErB/yC,EAAAA,cAAA,OAAKsuC,WAAYgC,EAAK3pC,MACjBqsC,YAAaT,EAAKU,gBAClBzM,UAAW+L,EAAKW,cAChB,aAAYxlB,EACZrsB,UAAS,2BAAAC,OAA6BgvC,EAAK3pC,MAAQ,SAAW,KAEjE3G,EAAAA,cAAA,OAAKqB,UAAU,yBACVuD,MAAQ0rC,EAAKzB,OACT,CAAEsE,gBAAgB,QAAD7xC,OAAUgvC,EAAKzB,OAAM,MAAMuE,UAAU,UAAD9xC,OAAYgvC,EAAK0B,eAAiB,EAAC,QAAQqB,QAAS/C,EAAK5pC,QAAU,GAAM,GAC9H,QAGN4pC,EAAK5pC,SACN1G,EAAAA,cAAA,OAAKqB,UAAU,qBAAqBK,QAAS,kBAAM6wC,EAAK7X,aAAa4V,EAAK1oC,GAAG,GAC3E5H,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,OAI5BwuC,EAAK5pC,UAAY4pC,EAAK3pC,OACvB3G,EAAAA,cAAA,OAAKqB,UAAU,qBAAqBK,QAAS,kBAAM6wC,EAAKe,aAAahD,EAAK1oC,GAAG,GAC3E5H,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,OAAOC,KAAM,MAI5BwuC,EAAK5pC,SACL1G,EAAAA,cAAA,OAAKqB,UAAS,cAAAC,OAAgBgvC,EAAKzB,OAAS,SAAW,KACrD7uC,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,cAI9EswC,EAAK5pC,SAAW4pC,EAAK3pC,QACtB3G,EAAAA,cAAA,OAAKqB,UAAU,oBACXivC,EAAKzuC,MAITyuC,EAAK3pC,OACL3G,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAA,OAAKqB,UAAU,mBACV,WAAUivC,EAAK3pC,MAAM,GACrB,aAAW,yBACX,cAAArF,OAAagvC,EAAKzuC,KAAI,aAEzB7B,EAAAA,cAAA,OAAKqB,UAAU,2BACXG,KAAKC,EAAE,4BACTzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,eAAeC,KAAM,OAItC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,GAAAtG,OAAKgvC,EAAKzuC,KAAI,YAChB6c,MAAM,QACNtG,KAAK,aAOX,IAGRpY,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAACuzC,EAAAA,SAAQ,CAACX,OAAQ,SAAC7D,GAAK,OAAKwD,EAAK36B,aAAam3B,EAAM,GAEnD/uC,EAAAA,cAAA,SAAOwzC,QAAS3xC,GACd7B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,qBAAqBC,KAAM,MAG1C9B,EAAAA,cAAA,SACEyzC,OAAQhB,EACRpxC,UAAU,oBACVuG,GAAI/F,EACJ6xC,UAAWxE,EACXrtC,KAAMA,EACN6Z,SAAU5X,KAAKmrB,kBACf2jB,OAAQ9uC,KAAK+uC,WACbz6B,KAAK,YAMXu6B,GACA3yC,EAAAA,cAAA,OAAKqB,UAAU,gCACbrB,EAAAA,cAAA,KAAG+I,KAAM2pC,EAASzwC,IAAK+G,OAAO,UAE1BylC,GAAkBC,EAChB1uC,EAAAA,cAAA,OAAKqB,UAAS,eAAAC,OAAiBotC,EAAkB,mBAAqB,KACpE1uC,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,YAAOA,EAAAA,cAAA,aAE/EA,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,MAAMC,KAAM,KAG7B9B,EAAAA,cAAA,OAAKqB,UAAU,2BACXqxC,EAAS7wC,KAAM,UAIlB4sC,GACDzuC,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAWqtC,EAAkB,WAAa,GAC1C7sC,KAAK,iBACLH,QAAS,kBAAM6wC,EAAK7X,cAAa,EAAM,EACvC54B,KAAM,MAOpB,KAACssC,CAAA,CA9YY,CAASppC,EAAAA,WAkZxB,W,iFClMA,UAlN2B,SAACjF,GAC1B,IAAAoF,GAA0CC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAlDwuC,EAAatuC,EAAA,GAAEuuC,EAAgBvuC,EAAA,GACtC8M,GAA4C/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAApD0hC,EAAczhC,EAAA,GAAE0hC,EAAiB1hC,EAAA,GACxCG,GAA0CnN,EAAAA,EAAAA,UACxCrF,EAAMsvB,eAAiB,MACxB7c,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAFM8c,EAAa7c,EAAA,GAAEuhC,EAAgBvhC,EAAA,GAGtCG,GAAwCvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAAhDqhC,EAAYphC,EAAA,GAAEqhC,EAAerhC,EAAA,GACpCG,GAA4C3N,EAAAA,EAAAA,WAAS,GAAK4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAAnDmhC,EAAclhC,EAAA,GAAEmhC,EAAiBnhC,EAAA,GAElCohC,EAAW,CACfC,qBAAqB96B,EAAAA,EAAAA,UACrB+6B,WAAW/6B,EAAAA,EAAAA,UACXg7B,eAAeh7B,EAAAA,EAAAA,UACfi7B,mBAAmBj7B,EAAAA,EAAAA,UACnBk7B,gBAAgBl7B,EAAAA,EAAAA,UAChBm7B,UAAUn7B,EAAAA,EAAAA,UACVo7B,eAAep7B,EAAAA,EAAAA,WAIf+6B,EAMEF,EANFE,UACAC,EAKEH,EALFG,cAEAE,GAGEL,EAJFI,kBAIEJ,EAHFK,gBACAC,EAEEN,EAFFM,SACAC,EACEP,EADFO,cAEIN,EAAsBD,EAASC,oBAAoB55B,SAEzD5F,EAAAA,EAAAA,YAAU,WAIR,OAHAk/B,EAAiBh0C,EAAMsvB,eAAiB,MACxCtvB,EAAMsvB,eAAiBulB,EAA0B70C,EAAMsvB,eACvDpU,OAAO45B,iBAAiB,SAAUj1B,GAC3B,WACL3E,OAAO65B,oBAAoB,SAAUl1B,EACvC,CACF,GAAG,KAEH/K,EAAAA,EAAAA,YAAU,WAER,OADA+/B,EAA0B70C,EAAMsvB,eACzB,kBAAM,IAAK,CACpB,GAAG,CAACtvB,EAAMsvB,iBAEVxa,EAAAA,EAAAA,YAAU,WAMR,OALIw/B,IACFU,IACAn1B,KAGK,kBAAM,IAAK,CACpB,GAAG,CAACy0B,IAEJ,IAAMz0B,EAAyB,WAC7B,GAAIy0B,EAAqB,CACvB,IAAMW,EACJX,GAAuBA,EAAoBY,WAEvCjB,EACJgB,IACCj6B,KAAKm6B,MAAMF,EAAyBp6B,wBAAwBsE,MAC3Dm1B,EAAoBz5B,wBAAwBsE,MAC5CnE,KAAKm6B,MACHb,EAAoBc,UAAUv6B,wBAAwBw6B,OACpDf,EAAoBz5B,wBAAwBw6B,OAEpDL,IACAV,EAAoBQ,iBAAiB,SAAUE,GAC/Cd,EAAgBD,EAClB,CACF,EAEMY,EAA4B,SAA5BA,EAA6BS,GACjC,IAAMC,EAAgBlB,EAASiB,IAAejB,EAASiB,GAAY56B,QAEnE,GAAI66B,GACF,GAAID,IAAehmB,GAAiB6kB,EAAgB,CAClD,GAAIF,EAAc,CAChB,IAAMuB,EAAoBD,EAAc16B,wBAAwBw6B,MAC9DI,EAAmBF,EAAc16B,wBAAwBsE,KACzD81B,EAA2BX,EAAoBY,WAE/CQ,EACEH,IAFwBjB,EAAoBc,UAGxCd,EAAoBz5B,wBAAwBw6B,MAC5Cf,EAAoBz5B,wBAAwBw6B,MAAQ,GAC1DM,EACEJ,IAAkBN,EACdX,EAAoBz5B,wBAAwBsE,KAC5Cm1B,EAAoBz5B,wBAAwBsE,KAAO,GAE3Dq2B,EAAoBE,EAChBE,EAAoBH,GACpBA,EAAmBE,GACnBE,EAAmBJ,EAEzB,CACAnmB,GACE+kB,EAAS/kB,GAAe5U,QAAQha,UAAUC,OAAO,UACnD40C,EAAc70C,UAAUuwC,IAAI,UAC5B+C,EAAiBsB,GACjBnB,GAAkBC,GAAkB,EACtC,OAGApd,YAAW,kBAAM6d,EAA0BS,EAAW,GAAE,GAE5D,EAEMN,EAAwB,WAC5B,GAAIV,EAAqB,CACvB,IAAMwB,EACJxB,EAAoBY,WAAWr6B,wBAAwBsE,KACnD42B,EACJzB,EAAoBc,UAAUv6B,wBAAwBw6B,MAClDW,EACJ1B,EAAoBz5B,wBAAwBsE,KACxC82B,EACJ3B,EAAoBz5B,wBAAwBw6B,MAE9CxB,EAAiB74B,KAAKm6B,MAAMW,GAAgBE,GAC5CjC,EAAkB/4B,KAAKm6B,MAAMY,GAAiBE,EAChD,CACF,EAEMzhB,EAAiB,SAACvrB,GAClBqmB,IAAkBrmB,IACpB4rC,EAA0B5rC,GAC1BjJ,EAAMw0B,eAAevrB,GAEzB,EAUM2sC,EAAsB,SAACH,GAC3BnB,EAAoB4B,WAClBT,EAAmB,GAAKnB,EAAoB4B,UAChD,EAEML,EAAqB,SAACJ,GAC1B,IAAMU,EACJV,GAAoB,EAAIA,GAAuC,EAApBA,EAC7CnB,EAAoB4B,WAClB5B,EAAoB4B,YAAcC,EAAmB,GACzD,EAEQC,EAAuBp2C,EAAvBo2C,mBACFC,EAAO,YAAA90C,OAAe60C,EAAqB,UAAY,IAE7D,OACEn2C,EAAAA,cAAA,OAAKqB,UAAW+0C,GACdp2C,EAAAA,cAAA,OAAKqB,UAAU,wBACbrB,EAAAA,cAAA,MACEqB,UAAU,2BACVga,IAAK+4B,EAASC,qBAEdr0C,EAAAA,cAAA,MAAIqB,UAAU,kBAAkBga,IAAKi5B,GACnCt0C,EAAAA,cAAA,QAAM0B,QAAS,kBAAM6yB,EAAe,YAAY,GAC7C/yB,KAAKC,EAAE,wCAIZzB,EAAAA,cAAA,MAAIqB,UAAU,kBAAkBga,IAAKk5B,GACnCv0C,EAAAA,cAAA,QAAM0B,QAAS,kBAAM6yB,EAAe,gBAAgB,GACjD/yB,KAAKC,EAAE,qDAQZzB,EAAAA,cAAA,MAAIqB,UAAU,kBAAkBga,IAAKo5B,GACnCz0C,EAAAA,cAAA,QAAM0B,QAAS,kBAAM6yB,EAAe,iBAAiB,GAClD/yB,KAAKC,EAAE,+CAIZzB,EAAAA,cAAA,MAAIqB,UAAU,kBAAkBga,IAAKq5B,GACnC10C,EAAAA,cAAA,QAAM0B,QAAS,kBAAM6yB,EAAe,WAAW,GAC5C/yB,KAAKC,EAAE,wCAIZzB,EAAAA,cAAA,MAAIqB,UAAU,kBAAkBga,IAAKs5B,GACnC30C,EAAAA,cAAA,QAAM0B,QAAS,kBAAM6yB,EAAe,gBAAgB,GACjD/yB,KAAKC,EAAE,+CAIbkyC,GACC3zC,EAAAA,cAAA,OAAKqB,UAAU,wBAAwBK,QAjEtB,WAAH,OACnB2yC,EAAoB4B,WACnB5B,EAAoB4B,WAAa5B,EAAoBgC,WAAW,GAgE1Dr2C,EAAAA,cAACs2C,EAAAA,yBAAwB,OAG5BzC,GACC7zC,EAAAA,cAAA,OAAKqB,UAAU,yBAAyBK,QAlEtB,WAAH,OACpB2yC,EAAoB4B,WACnB5B,EAAoBgC,YAAchC,EAAoB4B,UAAU,GAiE1Dj2C,EAAAA,cAACu2C,EAAAA,0BAAyB,QAMtC,C,2DCrLA,UA/BoB,SAAHtxC,GAA0E,IAApEuxC,EAAevxC,EAAfuxC,gBAAiBC,EAAUxxC,EAAVwxC,WAAYtqB,EAAOlnB,EAAPknB,QAAStP,EAAQ5X,EAAR4X,SAAU65B,EAAYzxC,EAAZyxC,aACrE,OACE12C,EAAAA,cAAA,OAAKqB,UAAS,gBAAAC,OAAkBk1C,GAAmB,KACjDx2C,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,0BACXwb,GAEJ7c,EAAAA,cAAA,OAAKqB,UAAU,yBACX8qB,IAIJnsB,EAAAA,cAAA,OAAKqB,UAAU,yBACXq1C,GACA12C,EAAAA,cAAA,KAAGqB,UAAU,0BAA0B0H,KAAM2tC,EAAc1tC,OAAO,UAC9DxH,KAAKC,EAAE,sBAIXi1C,GAAgBD,GAChBz2C,EAAAA,cAAA,OAAKqB,UAAU,mCACXG,KAAKC,EAAE,eAIXg1C,GAIZ,C,qICiGA,UAvHqB,SAAHxxC,GAqBsB,IArBhB0xC,EAAW1xC,EAAX0xC,YACAC,EAAa3xC,EAAb2xC,cACAC,EAAc5xC,EAAd4xC,eACAJ,EAAUxxC,EAAVwxC,WACA9H,EAAe1pC,EAAf0pC,gBACA8D,EAASxtC,EAATwtC,UACA76B,EAAY3S,EAAZ2S,aACAk/B,EAAa7xC,EAAb6xC,cACAC,EAAU9xC,EAAV8xC,WACAC,EAAS/xC,EAAT+xC,UACA9H,EAAKjqC,EAALiqC,MACAwD,EAAQztC,EAARytC,SACA7wC,EAAIoD,EAAJpD,KACAuG,EAAYnD,EAAZmD,aACA6uC,EAAgBhyC,EAAhBgyC,iBACAP,EAAYzxC,EAAZyxC,aACAvH,EAAalqC,EAAbkqC,cACA/H,EAAcniC,EAAdmiC,eACA8P,EAAUjyC,EAAViyC,WACAC,EAAclyC,EAAdkyC,eACAC,EAAenyC,EAAfmyC,gBACAr5B,EAAO9Y,EAAP8Y,QAEtB+Q,GAOmBC,EAAAA,EAAAA,YAAWC,EAAAA,SAPtB+B,EAAkBjC,EAAlBiC,mBACAhZ,EAAM+W,EAAN/W,OACAi4B,EAAalhB,EAAbkhB,cACAhf,EAAUlC,EAAVkC,WACA/B,EAAiBH,EAAjBG,kBACA9U,EAAU2U,EAAV3U,WACA8W,EAAcnC,EAAdmC,eAGFomB,EAA4B,SAAdL,EACdnzC,EAHQirB,EAAN5X,OAGarV,GAGrB,OACE7B,EAAAA,cAAA,OAAKqB,UAAU,iBACbrB,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,OAAKqB,UAAS,iCAAAC,OAAoC+1C,EAAc,QAAU,KACxEr3C,EAAAA,cAAA,OAAKqB,UAAU,iCACXy1C,EAEF92C,EAAAA,cAAA,QAAMqB,UAAU,mBACV,WAAU0c,EACV,aAAW,yBACX,YAAWA,EACX,cAAAzc,OAAaO,EAAI,aACrB7B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,eAAeC,KAAM,MAGpC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,GAAAtG,OAAKO,EAAI,YACX6c,MAAM,QACNtG,KAAK,UAGPpY,EAAAA,cAAC0I,EAAAA,mBAAkB,CACjBC,OAASP,GAAgBA,EAAa6uC,GAAkBpuC,OAAUhF,EAClEiF,MAAOV,GAAgB5G,KAAKC,EAAE,0CAADH,OAA2C8G,EAAa6uC,GAAkBrvC,QAI3G5H,EAAAA,cAAA,OAAKqB,UAAU,8BACX01C,GAGJ/2C,EAAAA,cAAA,OAAKqB,UAAU,gCACXg2C,EAEEr3C,EAAAA,cAACouC,EAAAA,QAAS,CACRO,gBAAiBA,EACjB8D,UAAWA,EACXzC,cAAeA,EACf0C,SAAUA,EACVv4B,WAAYA,EACZtY,KAAMA,EACNstC,cAAeA,EACf/H,eAAgBA,EAChBgQ,gBAAiBA,EACjBlI,MAAOA,EACPiI,eAAgBA,IAElBn3C,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAACkvB,EAAAA,QAAU,CACTvoB,MAAOoR,EAAOlW,GACd+V,aAAcA,GAAgBqX,EAC9BptB,KAAMA,EACNuW,KAAM4+B,EACNnzC,MAAOA,GAAS,KAElB7D,EAAAA,cAAA,OAAKqB,UAAS,mCAAAC,OAAqCyvB,EAAmBjP,SAASjgB,GAAQ,SAAW,IAC7FH,QAAS,kBAAMuvB,GAAe,EAAOD,EAAW,GACjDxvB,KAAKC,EAAE,8BAQrBy1C,GACAl3C,EAAAA,cAACs3C,EAAAA,QAAW,CACVd,gBAAiBG,EACjBF,WAAYA,EACZtqB,QAASyqB,EACT/5B,SAAUg6B,EACVH,aAAcA,IAMxB,C,gDCnHIa,E,6GAiZJ,UA9YgB,WAEd,IAAApyC,GAAoDC,EAAAA,EAAAA,YAAUC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAvDgxC,EAAkB9wC,EAAA,GAAEmyC,EAAqBnyC,EAAA,GAChD8M,GAAoD/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA5DslC,EAAkBrlC,EAAA,GAAEslC,EAAqBtlC,EAAA,GAChDG,GAA8CnN,EAAAA,EAAAA,WAAS,GAAMoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAtDolC,EAAenlC,EAAA,GAAEolC,EAAkBplC,EAAA,GAC1CG,GAAsDvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA9DklC,EAAmBjlC,EAAA,GAAEklC,EAAsBllC,EAAA,GAClDG,GAA0D3N,EAAAA,EAAAA,WAAS,GAAM4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAAlEglC,EAAqB/kC,EAAA,GAAEglC,EAAwBhlC,EAAA,GACtDG,GAAsD/N,EAAAA,EAAAA,UAAS,MAAKmO,GAAAjO,EAAAA,EAAAA,GAAA6N,EAAA,GAA7D8kC,EAAmB1kC,EAAA,GAAE2kC,EAAsB3kC,EAAA,GAClDG,GAA0CtO,EAAAA,EAAAA,UAAS,MAAK4O,GAAA1O,EAAAA,EAAAA,GAAAoO,EAAA,GAAjD2b,EAAarb,EAAA,GAAE+/B,EAAgB//B,EAAA,GACtC0M,GAA4Dtb,EAAAA,EAAAA,UAAS,MAAKub,GAAArb,EAAAA,EAAAA,GAAAob,EAAA,GAAnEy3B,EAAsBx3B,EAAA,GAAEy3B,EAAyBz3B,EAAA,GAGxDmO,GAUIC,EAAAA,EAAAA,YAAWC,EAAAA,SATbrd,EAAamd,EAAbnd,cACA0hB,EAAgBvE,EAAhBuE,iBACAlZ,EAAU2U,EAAV3U,WACAk+B,EAA0BvpB,EAA1BupB,2BACAjwC,EAAY0mB,EAAZ1mB,aACAkwC,EAAmBxpB,EAAnBwpB,oBACAlR,EAActY,EAAdsY,eACA/+B,EAAOymB,EAAPzmB,QACAkwC,EAAWzpB,EAAXypB,YAIInE,EAAW,CACfC,qBAAqB96B,EAAAA,EAAAA,UACrB+6B,WAAW/6B,EAAAA,EAAAA,UACXg7B,eAAeh7B,EAAAA,EAAAA,UACfi7B,mBAAmBj7B,EAAAA,EAAAA,UACnBk7B,gBAAgBl7B,EAAAA,EAAAA,UAChBm7B,UAAUn7B,EAAAA,EAAAA,UACVo7B,eAAep7B,EAAAA,EAAAA,WAIfg7B,GAKEH,EALFG,cACAD,GAIEF,EAJFE,UACAK,GAGEP,EAHFO,cACAF,GAEEL,EAFFK,eACAC,GACEN,EADFM,SAGM8D,GAA4CD,EAA5CC,WAAYnmB,GAAgCkmB,EAAhClmB,OAAQC,GAAwBimB,EAAxBjmB,WAAY/T,GAAYg6B,EAAZh6B,QAChCk6B,IAAmBnmB,IAAc,CAAC,GAAlCmmB,eACFvB,GAAyB,OAAZ7uC,GAGnBwM,EAAAA,EAAAA,YAAU,WAIR,OAHA6jC,KACAz9B,OAAO45B,iBAAiB,SAAU6D,IAE3B,kBAAMz9B,OAAO65B,oBAAoB,SAAU4D,GAA0B,CAC9E,GAAG,IAGH,IAIMC,GAAc,SAAC79B,GAAY,OAC/Bic,YAAW,kBAAM6hB,GAAY99B,EAAa,GAAE,GAAI,EAG5C49B,GAA2B,WAC/B,IACMG,EACJvE,GAAU75B,QAAQG,wBAAwBC,IAAM,KAFhC,IAIdg+B,IAAmB1C,GACrB0C,GAAkBC,KAClBtB,EAAsBqB,IACbA,GAfX9hB,WAAW+hB,GAAyB,GAkBtC,EAGMA,GAA0B,WAC9B,IAAMC,EAAYx4C,SAAS64B,eAAe,mBAAmB4f,aAAe,GACtEC,EAAe14C,SAAS24C,iBAAiB,2BACzCC,GAAwBl+B,OAAOm+B,YAAcL,GAAa,EAE5DzE,GAAU75B,QAAQG,wBAAwBC,KAAOk+B,EACnD15B,OAAOC,KAAK25B,GAAcI,SAAQ,SAACrrB,GACjC,IAAMsrB,EAAOL,EAAajrB,GACpBurB,EACJD,GAAQA,EAAKrE,YAAcqE,EAAKrE,WAAWlE,QAAQlvC,KAErD,GAAI03C,GAAYlqB,IAAkBkqB,EAAU,CAC1C,IAAMC,EAAUF,EAAK1+B,wBAAwBC,IACvC4+B,EAAaH,EAAK1+B,wBAAwB8+B,OAGhD,GAAIF,EAAUL,GAAwBM,EAAaV,EAEjD,GACGS,EAAUT,GAAaU,EAAaN,GACpCK,EAAUT,GAAaU,EAAaN,EAErCpF,EAAiBwF,QAIfE,EAAaN,EACTA,EACAM,IAJkBD,EAAUT,EAAYA,EAAYS,KASvDL,EAAuBJ,GAAa,GAErChF,EAAiBwF,EAIzB,CACF,IAC2B,cAAlBlqB,GACT0kB,EAAiB,YAErB,EAeM6E,GAAc,SAAC99B,GACfG,OAAO0+B,cAAgB7+B,IACzBG,OAAO45B,iBAAiB,SAAU6D,IAClCz9B,OAAO65B,oBAAoB,SAAU6D,GAAY79B,IAErD,EAeM8+B,GAAmB,SAAHphC,GAAA,IAAMqhC,EAAcrhC,EAAdqhC,eAAgBC,EAAUthC,EAAVshC,WAAU,OACpD95C,EAAAA,cAAA,OAAKqB,UAAU,8DACVK,QAAS,kBAdS,SAACm4C,GACxB3B,EAAuB2B,GACvBnC,GAAsB,EACxB,CAWsBqC,CAAiBF,EAAe,GAChDC,EACG,EAGHE,GAA2B,WAAH,OAC5Bh6C,EAAAA,cAAA,OAAKqB,UAAU,2BACVK,QAAS,kBAAMy2C,EAAyBH,GAAyB,GAAQiC,IAAoB,GAC9Fz4C,KAAKC,EAAE,gDACJ,EAGHw4C,GAAqB,WACzB,IAAMh4C,EAAG,2BAAAX,OAA8B6Y,EAAU,yBAEjD29B,GAAuB,GACvBE,GAAyB,GAEzBhM,EAAAA,EACGkO,KAAKj4C,EAAK,CAAEoc,YAAalE,IACzBmI,MAAK,SAAC4pB,GACL,IAAQiO,EAAwBjO,EAAxBiO,QAASC,EAAelO,EAAfkO,WAEjBhC,EAA0B+B,GAE1B5C,EAAW8C,aACT,kBACErO,EAAAA,EAAYC,OAAOmO,GAAY93B,MAAK,SAAC4pB,GACX,aAApBA,EAASzpB,SACX63B,cAAc/C,GACdO,GAAuB,GAE3B,GAAE,GACJ,IAEJ,IACC9vC,OAAM,SAACrB,GACNmxC,GAAuB,GACvBF,GAAmB,GACnB0C,cAAc/C,GACdtvC,QAAQC,IAAI,QAASvB,EACvB,GACJ,EASA,OACE3G,EAAAA,cAAA,OAAKqB,UAAU,WACbrB,EAAAA,cAACu6C,EAAAA,QAAoB,CACnB7kC,YA9DoB,WACxBwiC,EAAuB,MACvBR,GAAsB,EACxB,EA4DMrkB,iBAAkBA,EAClBmnB,gBAAiBj8B,GACjBpE,WAAYA,EACZqB,UAAWi8B,EACXgD,QAASxC,IAGT9B,GACAn2C,EAAAA,cAAC06C,EAAAA,QAAkB,CACjBrrB,cAAeA,EACfkF,eAnGe,SAACvrB,GACtB,IAAM2xC,EAAkBvG,EAASprC,GAAQyR,QAAQG,wBAAwBC,IACnE+/B,EAAer6C,SAAS64B,eAAe,mBAAmB4f,aAC1D6B,EAAe5/B,OAAO0+B,YACtB7+B,EAAeC,KAAKC,MAAM2/B,EAAkBE,GAAgBD,EAAe,KAEjF3/B,OAAO65B,oBAAoB,SAAU4D,IACrCz9B,OAAOE,OAAO,EAAGL,GACjBG,OAAO45B,iBAAiB,SAAU8D,GAAY79B,GAChD,EA2FQq7B,mBAAoBA,IAIxBn2C,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,OACEqB,UAAU,sBACV,YAAU,YACVuG,GAAG,QACHyT,IAAKi5B,KAEPt0C,EAAAA,cAAC86C,EAAAA,QAAY,CACXlE,cAAep1C,KAAKC,EAAE,kDACtBo1C,eAAgBr1C,KAAKC,EAAE,mDACvBg1C,WAAYz2C,EAAAA,cAAC45C,GAAgB,CAACC,eAAe,QAAQC,WAAW,qBAChEnL,gBAAiBtc,GACjBogB,UAAU,4FACVqE,cAAet1C,KAAKC,EAAE,sCACtBs1C,WAAYv1C,KAAKC,EAAE,6CACnBu1C,UAAU,OACVn1C,KAAK,SACLuG,aAAcA,EACd6uC,iBAAiB,SACjBP,aAAc,qCACdtP,eAAgBA,EAChB8P,WAAYA,GACZn5B,QAASvc,KAAKC,EAAE,kDAIpBzB,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,OACEqB,UAAU,sBACV,YAAU,gBACVuG,GAAG,cACHyT,IAAKk5B,KAEPv0C,EAAAA,cAAC86C,EAAAA,QAAY,CACXlE,cAAep1C,KAAKC,EAAE,sDACtBo1C,eAAgBr1C,KAAKC,EAAE,uDACvBg1C,WAAYz2C,EAAAA,cAAC45C,GAAgB,CAACC,eAAe,YAAYC,WAAW,uBACpEnL,gBAAiB6J,GACjB/F,UAAU,gIACVqE,cAAet1C,KAAKC,EAAE,mDACtBs1C,WAAYv1C,KAAKC,EAAE,kDACnBu1C,UAAU,OACVn1C,KAAK,cACLuG,aAAcA,EACd6uC,iBAAiB,YACjBP,aAAc,qCACdvH,cAAe,kBAAMmJ,EAAoB,CAAE1wC,GAAIuS,GAAa,EAC5DitB,eAAgBA,EAChB8P,WAAYA,GACZn5B,QAASvc,KAAKC,EAAE,sDAoBpBzB,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,OACEqB,UAAU,sBACV,YAAU,iBACVuG,GAAG,eACHyT,IAAKo5B,KAEPz0C,EAAAA,cAAC86C,EAAAA,QAAY,CACXlE,cAAep1C,KAAKC,EAAE,wDACtBo1C,eAAgBr1C,KAAKC,EAAE,yDACvBg1C,WAAYz2C,EAAAA,cAAC45C,GAAgB,CAACC,eAAe,cAAcC,WAAW,uBACtEhD,cAAet1C,KAAKC,EAAE,6CACtBs1C,WAAYv1C,KAAKC,EAAE,+CACnBI,KAAK,cACLuG,aAAcA,EACd6uC,iBAAiB,cACjBP,aAAc,qCACdQ,YAAY,EACZn5B,QAASvc,KAAKC,EAAE,wDAIpBzB,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,OACEqB,UAAU,sBACV,YAAU,WACVuG,GAAG,WACHyT,IAAKq5B,KAEP10C,EAAAA,cAAC86C,EAAAA,QAAY,CACXlE,cAAep1C,KAAKC,EAAE,iDACtBo1C,eAAgBr1C,KAAKC,EAAE,kDACvBg1C,WAAYz2C,EAAAA,cAAC45C,GAAgB,CAACC,eAAe,QAAQC,WAAW,iBAChEhD,cAAet1C,KAAKC,EAAE,sCACtBs1C,WAAYv1C,KAAKC,EAAE,4CACnBu1C,UAAU,SACVn1C,KAAK,UACLuG,aAAcA,EACd6uC,iBAAiB,QACjBP,aAAc,qCACdQ,YAAY,EACZn5B,QAASvc,KAAKC,EAAE,iDAIpBzB,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,OACEqB,UAAU,sBACV,YAAU,gBACVuG,GAAG,eACHyT,IAAKs5B,KAEP30C,EAAAA,cAAC86C,EAAAA,QAAY,CACXnE,YAAY,QACZC,cAAep1C,KAAKC,EAAE,sDACtBo1C,eAAgBr1C,KAAKC,EAAE,uDACvBg1C,WAAYz2C,EAAAA,cAACg6C,GAAwB,MACrCvH,UAAU,qCACVqE,cAAet1C,KAAKC,EAAE,4CACtBu1C,UAAU,OACV9H,OAAO,EACPwD,SAAU,CAAEzwC,IAAKw2C,GAAgB52C,KAAM0c,IACvC1c,KAAK,aACLuG,aAAcA,EACd6uC,iBAAiB,aACjB9H,cAAe,kBAAMmJ,EAAoB,CAAE1wC,GAAIuS,GAAa,EAC5DitB,eAAgBA,EAChB8P,WAAYmB,IAA+BI,GAC3C16B,QAASvc,KAAKC,EAAE,sDAChBs1C,WACE/2C,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,qDACVg3C,IAAkBz4C,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,0CAKtCzB,EAAAA,cAAC+6C,EAAAA,QAAuB,CACtBp0C,MAAOgxC,EACPQ,uBAAwBA,EACxBziC,YA9K2B,WACjCsiC,GAAyB,GACzBL,GAAmBC,GAAmB,EACxC,EA4KQlxC,QAASmxC,EACTr8B,UAAWu8B,KAIf/3C,EAAAA,cAAA,OAAKqB,UAAU,gCACbrB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiC6Y,EAAU,gBAAgB9Y,UAAU,wBAC7FrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,aAAaC,KAAM,KAChC9B,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,kBAEjBzB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiC6Y,GAAc9Y,UAAU,wBAC/EG,KAAKC,EAAE,oBAMnB,C,oICtWA,UA5CqB,SAAHwD,GAAgJ,IAA1I8uC,EAAgB9uC,EAAhB8uC,iBAAkBviB,EAASvsB,EAATusB,UAAWwpB,EAAoB/1C,EAApB+1C,qBAAsBzpB,EAAStsB,EAATssB,UAA0B0pB,EAAoBh2C,EAAnCoqB,cAAqCoC,EAASxsB,EAATwsB,UAAWypB,EAAmBj2C,EAAnBi2C,oBAEnH7rB,GAAkBrd,EAAAA,EAAAA,MAA3B8pB,SAERjnB,EAAAA,EAAAA,YAAU,WACRk/B,EAAiB1kB,GAEGhQ,OAAOC,KAAKkS,GACG1P,SAASuN,IAGzCmC,EAAUnC,GAAewD,QAAUmoB,EAAqB3rB,GAEzD6rB,GAAoB,EAExB,GAAG,CAAC7rB,IAsBJ,OACErvB,EAAAA,cAACwe,EAAAA,SAAQ,KACLy8B,GAtBa,WACjB,QAAQ,GACN,IAAuB,gBAAlB5rB,EACH,OAAOrvB,EAAAA,cAACi0B,EAAAA,QAAW,CAAC5Y,IAAKoW,EAAUU,cACrC,IAAuB,aAAlB9C,EACH,OAAOrvB,EAAAA,cAACm7C,EAAAA,QAAQ,MAClB,IAAuB,UAAlB9rB,GAA6BkC,EAChC,OAAOvxB,EAAAA,cAACo7C,EAAAA,QAAkB,MAC5B,IAAuB,YAAlB/rB,EACH,OAAOrvB,EAAAA,cAACq7C,EAAAA,QAAO,CAAChgC,IAAKoW,EAAU6pB,UACjC,IAAuB,aAAlBjsB,EACH,OAAOrvB,EAAAA,cAACu7C,EAAAA,QAAQ,MAClB,IAAuB,YAAlBlsB,EACH,OAAOrvB,EAAAA,cAACw7C,EAAAA,QAAO,MACjB,QACE,OAAOx7C,EAAAA,cAACm7C,EAAAA,QAAQ,MAEtB,CAK8BM,GAGhC,C,w0BC7BO,IAAMzsB,GAAU0sB,EAAAA,EAAAA,eAAc,CAAC,GAsiBtC,UAniBqB,SAAC37C,GAEpB,IACE4R,EAOE5R,EAPF4R,cACAitB,EAME7+B,EANF6+B,kBACAhtB,EAKE7R,EALF6R,SACAzJ,EAIEpI,EAJFoI,gBACAwzC,EAGE57C,EAHF47C,iBACA7pC,EAEE/R,EAFF+R,sBACA8pC,EACE77C,EADF67C,SAGFC,GAAsD7pC,EAAAA,EAAAA,MAA1CmI,EAAU0hC,EAAdj0C,GAAgBk0C,EAAeD,EAAfC,gBAAiBhrB,EAAQ+qB,EAAR/qB,SACnChR,GAAUC,EAAAA,EAAAA,MACVg8B,GAAQrqB,EAAAA,EAAAA,MACRD,EAAY,CAAEU,aAAa5Y,EAAAA,EAAAA,WAC3BoY,GAAiBpY,EAAAA,EAAAA,UAevBpU,GAA4BC,EAAAA,EAAAA,UAAS,CACnC8jC,aAAkC,cAApB4S,EAAkC,YAAc,GAC9DnX,0BAA0B,EAC1BqX,SAAS,EACTpX,YAAa,GACb9I,QAA6B,UAApBggB,EAA8B,UAAY,QACnD7e,KAnBgB,SAACnB,GACjB,OAAQA,GACN,IAAK,QAIL,IAAK,YACH,OAAO/7B,EAAM8+B,WAAW,GAH1B,IAAK,QACH,OAAO9+B,EAAMi/B,UAAU,GAGzB,QACE,MAAO,SAEb,CAQQid,CAAUH,GAChB/f,UAA+B,cAApB+f,EACXxc,WAAYV,EAAkBh3B,GAC9B+3B,eAAgB,GAChBlM,qBAAsB,GACtBmM,iBAAkB,GAClBsc,uBAAuB,EACvBzc,8BAA8B,EAC9BD,yBAAyB,EACzB2c,+BAA+B,IAC/B92C,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAhBK+R,EAAM7R,EAAA,GAAE+2C,EAAS/2C,EAAA,GAkBxB8M,GAAkC/M,EAAAA,EAAAA,UAAS,CACzCwE,SAAU,CACRR,KAAM,WACNypB,QAAQ,EACRK,YAAY,EACZrxB,KAAML,KAAKC,EAAE,+BAEf65C,QAAS,CACPlyC,KAAM,UACNypB,QAAQ,EACRK,YAAY,EACZrxB,KAAML,KAAKC,EAAE,0CACb0xB,eAAe,GAEjBpK,SAAU,CACR3f,KAAM,WACNypB,QAAQ,EACRK,YAAY,EACZrxB,KAAML,KAAKC,EAAE,0CAEf46C,MAAO,CACLjzC,KAAM,QACNypB,QAAQ,EACRK,YAAY,EACZrxB,KAAML,KAAKC,EAAE,uDACbmsC,MAAM,EACNza,eAAe,GAEjBhB,YAAa,CACX/oB,KAAM,cACNypB,QAAQ,EACRK,YAAY,EACZrxB,KAAML,KAAKC,EAAE,gDACb0xB,eAAe,GAEjBmpB,QAAS,CACPlzC,KAAM,UACNypB,QAAQ,EACRK,YAAY,EACZrxB,KAAML,KAAKC,EAAE,mBACb0xB,eAAe,KAEjB/gB,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GA1CKqf,EAASpf,EAAA,GAAEmqC,EAAYnqC,EAAA,GA4C9BG,GAA4BnN,EAAAA,EAAAA,UAAS,CAAC,GAAEoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAjCwF,EAAMvF,EAAA,GAAEgiB,EAAShiB,EAAA,GACxBG,GAAwCvN,EAAAA,EAAAA,UAAS,CAAC,GAAEwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA7CqnB,EAAYpnB,EAAA,GAAE4pC,EAAe5pC,EAAA,GACpCG,GAA4C3N,EAAAA,EAAAA,WAAS,GAAM4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAApD0pC,EAAgBzpC,EAAA,GAAE0pC,EAAe1pC,EAAA,GACxCG,IAA0C/N,EAAAA,EAAAA,UAAS,IAAGmO,IAAAjO,EAAAA,EAAAA,GAAA6N,GAAA,GAA/Ckc,GAAa9b,GAAA,GAAEwgC,GAAgBxgC,GAAA,GACtCG,IAAkDtO,EAAAA,EAAAA,UAAS,IAAG4O,IAAA1O,EAAAA,EAAAA,GAAAoO,GAAA,GAAvD4d,GAAiBtd,GAAA,GAAEgnC,GAAoBhnC,GAAA,GAC9C0M,IAAwCtb,EAAAA,EAAAA,WAAS,GAAMub,IAAArb,EAAAA,EAAAA,GAAAob,GAAA,GAAhDi8B,GAAYh8B,GAAA,GAAEi8B,GAAej8B,GAAA,GACpCG,IAA4D1b,EAAAA,EAAAA,WAAS,GAAM2b,IAAAzb,EAAAA,EAAAA,GAAAwb,GAAA,GAApEzN,GAAsB0N,GAAA,GAAEN,GAAyBM,GAAA,GACxDE,IAA0D7b,EAAAA,EAAAA,UAAS,MAAK8b,IAAA5b,EAAAA,EAAAA,GAAA2b,GAAA,GAAjE3N,GAAqB4N,GAAA,GAAEF,GAAwBE,GAAA,GACtDonB,IAAgDljC,EAAAA,EAAAA,WAAS,GAAMmjC,IAAAjjC,EAAAA,EAAAA,GAAAgjC,GAAA,GAAxDuU,GAAgBtU,GAAA,GAAE2S,GAAmB3S,GAAA,GAC5CG,IAAgDtjC,EAAAA,EAAAA,WAAS,GAAMujC,IAAArjC,EAAAA,EAAAA,GAAAojC,GAAA,GAAxDoU,GAAgBnU,GAAA,GAAEoU,GAAmBpU,GAAA,GAC5CqU,IAAsC53C,EAAAA,EAAAA,UAAS,CAAC,GAAE63C,IAAA33C,EAAAA,EAAAA,GAAA03C,GAAA,GAA3CzE,GAAW0E,GAAA,GAAE7V,GAAc6V,GAAA,GAGlCj5B,IAA+DC,EAAAA,EAAAA,GAC7D7W,EAAAA,qBACA,CACE8f,YAAa,WACbtnB,YAAa,SAACC,GAAI,OAChBA,EAAK+D,UAAYw9B,GAAcjyB,EAAC,CAAC,EAAItP,EAAK+D,UAAW,IAE1Dsa,IAAA5e,EAAAA,EAAAA,GAAA0e,GAAA,GAPMk5B,GAAkBh5B,GAAA,GAAao0B,GAAmBp0B,GAAA,GAA5B1P,QAU7B/O,IAAuDO,EAAAA,EAAAA,GAAYkE,EAAAA,aAAc,CAC/EtE,YAAa,SAACC,GACZ,IAAAs3C,EAA6Bt3C,EAAKu3C,YAA1BrlC,EAAMolC,EAANplC,OAAQnO,EAAQuzC,EAARvzC,SAEZmO,EACFkf,GAAalf,IAEbslC,KACAX,GAAgB,GAChBE,IAAgB,GAChBG,IAAoB,GACpBj9B,EAAQ4C,KAAK,GAADphB,OAAIqQ,EAAa,kCAAArQ,OAAiCsI,EAAShC,GAAE,aAE7E,IACAtB,IAAAhB,EAAAA,EAAAA,GAAAG,GAAA,GAdK23C,GAAW92C,GAAA,GAAauqB,GAAkBvqB,GAAA,GAA3BI,QAiBtB6a,IACEvb,EAAAA,EAAAA,GAAYoE,EAAAA,gBAAiB,CAC3B/D,eAAgB,CAAC,qBACjBT,YAAa,WACX42C,EAAgB,CAAC,GACjB/7B,IAA0B,GAC1B63B,KAAsBtwC,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAClE,IACA22C,IAAAh4C,EAAAA,EAAAA,GAAAic,GAAA,GARGoT,GAAc2oB,GAAA,GAAansB,GAA2BmsB,GAAA,GAApC52C,QAWzBygB,IAAiEnhB,EAAAA,EAAAA,GAAY8D,EAAAA,0BAAyByzC,IAAAj4C,EAAAA,EAAAA,GAAA6hB,GAAA,GAA/Fq2B,GAAgBD,GAAA,GAAarsB,GAAuBqsB,GAAA,GAAhC72C,QAG3B+wB,IACExT,EAAAA,EAAAA,GAAa3W,EAAAA,oBAAqB,CAChC1H,YAAa,SAACC,GACRA,EAAK+D,WACPgzC,IAAgB,GAChBR,EAASjnC,EAAC,CAAC,EAAItP,EAAK+D,WAExB,IACA+tB,IAAAryB,EAAAA,EAAAA,GAAAmyB,GAAA,GARGgmB,GAAiB9lB,GAAA,GAAAE,GAAAF,GAAA,GAAU+lB,GAAqB7lB,GAA3BhyB,KAA6Bc,GAAKkxB,GAALlxB,MAWzDqxB,IAAuB/T,EAAAA,EAAAA,GAAavX,EAAAA,cAAe,CACjDwgB,YAAa,WACbtnB,YAAa,SAAAC,GACXA,EAAKof,WAAapf,EAAKof,UAAUxS,WAAa,GAAKsqC,IAAoB,EACzE,IAJKY,IAKLr4C,EAAAA,EAAAA,GAAA0yB,GAAA,GALiB,IAQnBnjB,EAAAA,EAAAA,YAAU,WACRic,GAAY3W,GAAc+iC,GAAmB,CAAEr1C,UAAW,CAAED,GAAIuS,IAClE,GAAG,KAGHtF,EAAAA,EAAAA,YAAU,WACR,IAAM+oC,EAA+B,cAApB9B,EAAkC,YAAkC,UAApBA,EAA8B,mBAAqB,mBAEpH+B,KACAF,GAAa,CAAE91C,UAAW,CAAE+1C,SAAAA,EAAUhqC,QAAS,KAC5C5L,OAAM,SAACrB,GAAK,OAAKsB,QAAQC,IAAI,QAASvB,EAAM,GACjD,GAAG,KAGHkO,EAAAA,EAAAA,YAAU,WACRgpC,IACF,GAAG,CAAC/sB,EAAU3W,KAGdtF,EAAAA,EAAAA,YAAU,WACRwa,KACGyB,IACAU,EAAU5nB,SAASipB,QACF,aAAlBxD,IACAvP,EAAQgZ,QAAQ,GAADx3B,OAAIy6C,EAAM95C,IAAG,eAC7B6uB,GAAY7V,OAAOE,OAAO,CAAEN,IAAK,EAAGijC,SAAU,UACjD,GAAG,CAACzuB,KAGJ,IAAM0B,IAAqBqF,EAAAA,EAAAA,UACzB,kBACE/W,OAAOyV,QAAQkF,GACZjF,QACC,SAAA9vB,GAAA,IAAAuT,GAAAlT,EAAAA,EAAAA,GAAAL,EAAA,GAAErB,EAAG4U,EAAA,GAAE3U,EAAK2U,EAAA,WAERklC,GAAsB9zC,SAAShG,KAASC,IACtC65C,GAAsB9zC,SAAShG,KAASC,EAC3C,IAEJ8D,KAAI,SAAAyS,GAAK,OAAL9U,EAAAA,EAAAA,GAAA8U,EAAA,GAAK,EAAS,GAAC,GACxB,CAAC4f,EAAc0jB,KAGXt1C,IAAeguB,EAAAA,EAAAA,UACnB,kBAAM2nB,EAAAA,EAAAA,iBAAe5oC,EAAAA,EAAAA,EAAC,CAAC,EAAI+B,GAAWqhC,IAAW,IAAE3vC,gBAAiB7I,EAAM6I,iBAAoBoxB,GAAgBroB,EAAexJ,EAAgB,GAC7I,CAAC6xB,EAAc9iB,EAAQqhC,KAInBhnB,GAA4B,YAAhBra,EAAO+lB,KACnBlB,GAAY7kB,EAAO6kB,UAEnB8hB,GAAY,WAChB/sB,GACA3W,GACAsjC,GAAkB,CAAE51C,UAAW,CAAED,GAAIuS,IACvC,EAEMoZ,GAAe,SAACrc,GACpBklC,GAAU,SAACllB,GAAU,OAAA/hB,EAAAA,EAAA,GAAW+hB,GAAehgB,EAAM,IACrD4Z,GAAY0rB,GAAgB,SAACtlB,GAAU,OAAA/hB,EAAAA,EAAA,GAAW+hB,GAAehgB,EAAM,GACzE,EAEMod,GAAc,SAACzuB,GACnB,IAAMm4C,EAAO7oC,EAAA,GAAQtP,GACbo4C,EAA6Dp4C,EAA7Do4C,6BAA8BC,EAA+Br4C,EAA/Bq4C,2BAOtC,OALAr4C,EAAK07B,eAAe,kCAAoCyc,EAAQC,6BAA+BxxB,WAAWwxB,IAAiC,MAC3Ip4C,EAAK07B,eAAe,gCAAkCyc,EAAQE,2BAA6BzxB,WAAWyxB,IAA+B,MACrIr4C,EAAK07B,eAAe,sBAAwB17B,EAAKujC,mBAAqB4U,EAAQ5U,iBAAmB,GACjGvjC,EAAK07B,eAAe,gBAAkB17B,EAAKyjC,aAAe0U,EAAQ1U,WAAa,GAExE0U,CACT,EAEMpmC,GAAe,SAAC/T,EAAOyR,GAC3B,GAAIyC,EAAOzC,GAAQ,CACjB,IAAMyjB,EAAa5jB,EAAA,GAAQ4C,UAEpBghB,EAAczjB,GACrBkf,EAASrf,EAAC,CAAC,EAAI4jB,GACjB,CAEAxF,IAAYhwB,EAAAA,EAAAA,GAAC,CAAC,EAAE+R,EAAQzR,GAC1B,EA2BMw5C,GAAgB,WAAH,OACjBd,GAAa,SAACjK,GAAQ,OAAAn9B,EAAAA,EAAA,GACjBm9B,GAAQ,IAAA/uC,EAAAA,EAAAA,GAAA,GACV8rB,GAAala,EAAAA,EAAA,GACTm9B,EAASjjB,KAAc,IAC1BwD,QAAQ,KAAI,GAEZ,EAEAwG,GAAyB,SAAC0J,GAC9B,IAAMnJ,EAAazkB,EAAA,GAAQ4C,GACrBomC,EAAqB59C,SAAS24C,iBAAiB,wBAErD/1C,MAAMi7C,KAAKD,GAAoBx2C,KAAI,SAAC02C,GAClC,IAAMx8C,EAAOw8C,EAAMz2C,IAElBsP,EAAOrV,KACL+3B,EAAc/3B,GAAQL,KAAKC,EAC1B,iEACA,CAAE6T,MAAO,KAEf,IAEAkf,EAASrf,EAAC,CAAC,EAAIykB,IAEf,IAAM0kB,EAAej/B,OAAOC,KAAKsa,GAAe32B,OAQhD,OANIq7C,IACFvb,EACIA,EAAcnJ,GACdrF,GAAeh0B,SAAS64B,eAAe/Z,OAAOC,KAAKsa,GAAe,OAGhE0kB,CACV,EAEMrtB,GAAiB,SAACstB,EAAaz7B,EAAkBigB,GAErD,IAAMyb,EAAalqB,GAAYpd,GAE/BmiB,GAAuB0J,IACvBya,GAAiB,CACf31C,UAAW,CAAEoyB,WAAYukB,GACzB54C,YAAa,SAACC,GACZ,IAAQkS,EAAWlS,EAAK23C,iBAAhBzlC,OAEJA,EAAO9U,OACTg0B,GAAalf,EAAQgrB,IAErBjgB,GAAoBA,IAEhBy7B,IACFlB,KACA5sB,GAAW8tB,IAGjB,IACCv2C,OAAM,SAACrB,GAAK,OAAKsB,QAAQC,IAAI,QAASvB,EAAM,GACjD,EAGMswB,GAAe,SAACoU,EAAYtI,GAChC,IAAM0b,EAAStpC,EAAA,GAAQ4C,GAEvBszB,EAAW1jC,KAAI,SAAC+2C,GAAS,OAAMD,EAAUC,EAAUC,UAAYD,EAAUE,aAAa,IAEtF,IAAMC,EACJx/B,OAAOC,KAAKD,OAAOwV,YAAYxV,OAAOyV,QAAQ2pB,GAAW1pB,QAAO,SAAA+pB,GAAA,IAAEl7C,GAAF0B,EAAAA,EAAAA,GAAAw5C,EAAA,GAAK,UAAOl7C,EAAIke,SAAS,iBAAmBle,EAAIke,SAAS,QAAQ,MAAI7e,OAEvIuxB,EAASrf,EAAC,CAAC,EAAIspC,KAEbA,EAAU/oB,OAAS+oB,EAAUtsB,eAAiB0sB,GACzB,gBAAlBxvB,IACAvP,EAAQ4C,KAAK,GAADphB,OAAIy6C,EAAM95C,IAAG,iBAE1Bod,OAAOC,KAAKm/B,GAAWx7C,SACzB8/B,EACIA,EAAc0b,GACdlqB,GAAeh0B,SAAS64B,eAAe/Z,OAAOC,KAAKm/B,GAAW,KAEtE,EAEMlqB,GAAiB,SAACvrB,GACtB,GAAIA,EAAQ,CACV,IAAM2R,EAAY3R,EAAO4R,wBAAwBC,IAC3CC,EAAeC,KAAKC,MAAML,EAAYM,OAAOC,QAAU,IAE7DD,OAAOE,OAAO,EAAGL,EACnB,CACF,EA2BM2V,GAAa,SAACqL,GAAO,OACzBA,GAAWhc,EAAQ4C,KAAK,GAADphB,OAAIy6C,EAAM95C,IAAG,KAAAX,OAAIw6B,GAAW,EAI/Cj4B,GAAKsR,EAAAA,EAAA,GACNpV,GAAK,IACRsvB,cAAAA,GACAwB,mBAAAA,GACAkL,UAAAA,GACApqB,cAAAA,EACAggB,eAAAA,EACAb,SAAAA,EACAC,mBAAAA,GACAhZ,OAAAA,EACAoC,WAAAA,EACA4hC,MAAAA,EACA3zC,aAAAA,GACAosB,UAAAA,EACA/T,0BAAAA,GACAO,yBAAAA,GACAomB,eAAAA,GACA7V,UAAAA,GACAurB,iBAAAA,GACArrB,UAAAA,EACA+rB,iBAAAA,GACAtsB,wBAAAA,GACAha,OAAAA,EACAqhC,YAAAA,GACA5jB,eAAAA,GACAxD,4BAAAA,GACA+L,WA5BiB,SAACr7B,GAAI,OAAKA,EAAKs7B,OAAO,GAAGC,cAAgBv7B,EAAKw7B,MAAM,EAAG,EA6BxEzlB,aAAAA,GACA0b,uBA9K6B,SAAC3X,EAAGrG,EAAOypC,GACxC,IAAMl7C,EAAQk7C,EAAWh3C,OAAO4T,EAAE3S,OAAOnH,MAAQ8Z,EAAE3S,OAAOnH,KACpDm9C,EAAgB9nC,EAAO5B,GACvBoY,EAAQsxB,EAAgBA,EAAc78B,QAAQte,IAAU,EACxDo7C,GAASj9B,EAAAA,EAAAA,GAAOg9B,GAEtBtxB,GAAS,EAAIuxB,EAAU/8B,OAAOwL,EAAO,GAAKuxB,EAAUv8B,KAAK7e,GACzD+T,GAAaqnC,EAAW3pC,EAC1B,EAuKE0b,WApDiB,WACjB2D,GAAe,CACb9sB,UAAW,CACToyB,WAAU9kB,EAAAA,EAAA,GAAOmf,GAAY0F,IAAa,IAAE9E,cAAehe,EAAOge,gBAClEttB,GAAIG,OAAOoS,MAEZnS,OAAM,SAACrB,GACRsB,QAAQC,IAAI,QAASvB,GACrBqa,IAAyB,GACzBP,IAA0B,EAC5B,GACF,EA0CE4T,iBA5DuB,SAACxuB,GACxB,IAAMq5C,EAAQ5qB,GAAYzuB,GAAQqR,GAElCkmC,GAAY,CAAEv1C,UAAW,CAAEoyB,WAAU9kB,EAAA,GAAO+pC,MACzCl3C,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAC/C,EAwDEsoB,kBAvKwB,SAACtT,GACzB,IAAMrG,EAAQqG,EAAE3S,OAAOnH,KACjBgC,EAAQ8X,EAAE3S,OAAOnF,MAEvB+T,GAAa/T,EAAOyR,EACtB,EAmKEmb,WAAAA,GACAX,wBAlK8B,SAACnU,GAC/B,IAAMrG,EAAQqG,EAAE3S,OAAOnH,KACjBurC,EAAazxB,EAAE3S,OAAOnF,MACtBA,EAAQupC,EAAarlC,OAAOqlC,GAAc,KAEhDx1B,GAAa/T,EAAOyR,EACtB,EA6JEgf,YAAAA,GACAgkB,oBAAAA,GACA/jB,eAAAA,GACAtD,eAAAA,GACAoI,uBAAAA,GACA9F,aAAAA,KAGI4rB,KAAeruB,KAAalf,EAASuI,IAAe0iC,IACpDuC,GAAqD,MAA5Bh3C,GAAai3C,aAAuBvuB,GAAazB,IAAiBmC,EAAUnC,IAAe8D,eAE1H,OAAIrhB,EAAsBnL,KAAUw4C,GAAqBn/C,EAAAA,cAACwV,EAAAA,QAAO,CAAC7D,cAAeA,IAC7EhL,GAAc3G,EAAAA,cAACqlB,EAAAA,QAAY,MAI7BrlB,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAACyV,EAAAA,QAAgB,CACfG,YAAatC,GAAwB,QAAU,KAC/CoC,YA/DwB,WAC5B+K,IAA0B,GAC1BnN,IAAyB0N,IAAyB,EACpD,EA6DMrL,QACErC,GACI9R,KAAKC,EAAE,sDACPD,KAAKC,EAAE,iCAEboU,QAASxC,KAGS,YAAlBgc,IAA+BotB,GAC/Bz8C,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAA,OAAKqB,UAAU,iBACbrB,EAAAA,cAAA,OAAKqB,UAAU,uBACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAE7B9B,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,OAAKqB,UAAU,2BACZG,KAAKC,EAAE,uDAEVzB,EAAAA,cAAA,SACEA,EAAAA,cAAA,OAAKqB,UAAU,4BACZG,KAAKC,EAAE,0DAETD,KAAKC,EAAE,uDAGZzB,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAU,uBACVQ,KAAK,QACLC,KAAM,GACNJ,QAAS,kBAAMg7C,GAAgB,EAAM,MAKzB,YAAlBrtB,IACArvB,EAAAA,cAAA,OAAKqB,UAAU,oBACQ,UAAnB6V,EAAO4kB,SAAuB5kB,EAAO6kB,UACnCv6B,KAAKC,EAAE,6CACP,gDAKLk7C,KAAiB7rB,IAClB9wB,EAAAA,cAAA,OAAK4H,GAAG,eAAevG,UAAU,iBAC/BrB,EAAAA,cAACgvB,EAAQswB,SAAQ,CAACz7C,MAAOA,IACvB7D,EAAAA,cAACu/C,EAAAA,GAAM,KAELv/C,EAAAA,cAACw/C,EAAAA,GAAK,CAACC,KAAI,GAAAn+C,OAAKy6C,EAAM95C,IAAG,cACvBjC,EAAAA,cAACwe,EAAAA,SAAQ,KACL4gC,IACAp/C,EAAAA,cAAC0/C,EAAAA,mBAAkB,CACjB75C,KAAMuC,GACNuzC,iBAAkBA,EAClBC,SAAUA,EACV+D,UAA6B,YAAlBtwB,GAA8B,IAAM,KAInDrvB,EAAAA,cAAC4/C,EAAAA,QAAW,CACVvwB,cAAeA,GACfyB,SAAUA,EACVQ,kBAAmBA,GACnBC,UAAWA,GACXC,UAAWA,EACXC,UAAWA,EACXrpB,aAAcA,GACd6oB,eAAgBA,KAGlBjxB,EAAAA,cAAC6/C,EAAAA,QAAY,CACX9L,iBAAkBA,GAClBviB,UAAWA,EACXC,UAAWA,EACXF,UAAWA,GACXlC,cAAeA,GACf2rB,qBAAsBA,GACtBE,oBAAqBA,OAK3Bl7C,EAAAA,cAACw/C,EAAAA,GAAK,CAACC,KAAK,KACVz/C,EAAAA,cAACwV,EAAAA,QAAO,CAAC7D,cAAeA,QASxC,C,kHCncA,UA5GoB,SAAH1M,GAAyF,IAAnFotB,EAAMptB,EAANotB,OAAQmmB,EAAUvzC,EAAVuzC,WAAYv0C,EAAQgB,EAARhB,SAAUC,EAASe,EAATf,UAAW47C,EAAO76C,EAAP66C,QAASttB,EAAWvtB,EAAXutB,YAAaruB,EAAYc,EAAZd,aAE9E47C,EAAa,CACjB,CAAEl+C,KAAM,SAAUm+C,YAAa3tB,EAAOpvB,QACtC,CAAEpB,KAAM,cAAem+C,YAAaxH,EAAWv1C,QAC/C,CAAEpB,KAAM,MAAOm+C,aAAc/7C,IAAYC,IACzC,CAAErC,KAAM,SAAUm+C,YAAaF,GAC/B,CAAEj+C,KAAM,eAAgBm+C,YAAaxtB,IAGjCytB,EAAkBF,EAAWr+B,MAAK,SAAAivB,GAAK,OAAIA,EAAMqP,SAAS,IAEhE76C,GAAkCC,EAAAA,EAAAA,UAAS66C,EAAkBF,EAAWn5C,MAAK,SAAA+pC,GAAK,OAAIA,EAAMqP,SAAS,IAAEn+C,KAAO,UAASwD,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAhH+6C,EAAS76C,EAAA,GAAE86C,EAAY96C,EAAA,GAGxB+6C,EAAM,SAAH5nC,GAAA,IAAM3W,EAAI2W,EAAJ3W,KAAI,OACjB7B,EAAAA,cAAA,OAAKqB,UAAS,qBAAAC,OAAwB4+C,IAAcr+C,EAAO,SAAW,IAAOH,QAAS,kBAAMy+C,EAAat+C,EAAK,GAC1Gw+C,EAAAA,gBAAgBx+C,GAClB7B,EAAAA,cAAA,YACIwB,KAAKC,EAAE,sCAADH,OAAwCO,EAAI,aAEjD,EAGHy+C,EAAU,SAAHlmC,GAAA,IAAMmmC,EAAOnmC,EAAPmmC,QAAO,OACxBvgD,EAAAA,cAACwgD,EAAAA,GAAQ,CACPC,cAAc,EACdC,gBAAiB,SAACC,GAAY,OAC5B3gD,EAAAA,cAAA,OAAKqB,UAAU,aAAaK,QAASi/C,GACnC3gD,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,kCAAkCC,KAAM,KACjD,EAER8+C,gBAAiB,SAACD,GAAY,OAC5B3gD,EAAAA,cAAA,OAAKqB,UAAU,aAAaK,QAASi/C,GACnC3gD,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,mCAAmCC,KAAM,KAClD,EAER++C,gBAAgB,EAChBC,YAAY,EACZC,YAAY,EACZC,gBAAiB,SAACvmC,EAASwmC,GAAK,SAAA3/C,OAAQmZ,EAAO,KAAAnZ,OAAI2/C,EAAK,EACxDC,UAA8B,IAAnBX,EAAQt9C,QAEjBs9C,EAAQ54C,KAAI,SAAAqmB,GAAI,OAChBhuB,EAAAA,cAAA,OAAKqB,UAAU,qCACVuC,IAAKoqB,EAAKmzB,cACVv8C,MAAO,CAAEuuC,gBAAgB,OAAD7xC,OAAS0sB,EAAKmzB,cAAa,OAClD,IAEC,EAGPC,EAAa,SAAHC,GAAA,IAAMp/C,EAAGo/C,EAAHp/C,IAAG,OACvBjC,EAAAA,cAAA,OAAKqB,UAAU,+BACbrB,EAAAA,cAAA,UACEshD,iBAAe,EACfC,YAAa,EACb35C,GAAG,iBACH45C,mBAAmB,qBACnBj5C,IAAKtG,EACLw/C,sBAAsB,0BAEnB,EAGHC,EAAW,WAAH,OACZ1hD,EAAAA,cAACwC,EAAAA,QAAG,CACF2B,aAAcA,EACdJ,oBAAoB,EACpBE,SAAUA,EACVC,UAAWA,EACX3C,6BAA6B,GAAS,EAiB1C,OACEvB,EAAAA,cAAA,OAAKqB,UAAU,gBACX4+C,EACEjgD,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,iCAlBL,WAClB,OAAQ6+C,GACN,IAAK,SACL,IAAK,cACH,OAAOlgD,EAAAA,cAACsgD,EAAO,CAACC,QAAwB,WAAdL,EAAyB7tB,EAASmmB,IAC9D,IAAK,MACH,OAAOx4C,EAAAA,cAAC0hD,EAAQ,MAClB,IAAK,SACL,IAAK,eACH,OAAO1hD,EAAAA,cAACohD,EAAU,CAACn/C,IAAmB,WAAdi+C,EAAsB,kCAAA5+C,OAAqCw+C,EAAO,uBAAwBttB,IAExH,CAQcmvB,IAEJ3hD,EAAAA,cAAA,OAAKqB,UAAU,8BACX0+C,EAAWp4C,KAAI,SAAAgpC,GAAK,OAAIA,EAAMqP,WAAahgD,EAAAA,cAACogD,EAAG,CAACv+C,KAAM8uC,EAAM9uC,KAAM+B,IAAK+sC,EAAM9uC,MAAQ,MAG3F7B,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKuI,IAAKq5C,EAAsBt5C,IAAI,YAAYlG,MAAM,OAAOC,OAAO,UAKhF,C,wiCCsfA,UArkBqB,SAAH4C,GAaW,IAbL0M,EAAa1M,EAAb0M,cACAkO,EAAuB5a,EAAvB4a,wBACA1b,EAAYc,EAAZd,aACAyN,EAAQ3M,EAAR2M,SACAzJ,EAAelD,EAAfkD,gBACA05C,EAA2B58C,EAA3B48C,4BACAC,EAAgB78C,EAAhB68C,iBACAC,EAAsB98C,EAAtB88C,uBACAC,EAAoB/8C,EAApB+8C,qBACAlwC,EAAqB7M,EAArB6M,sBACAzJ,EAAOpD,EAAPoD,QACAuzC,EAAQ32C,EAAR22C,SACAhzC,EAAe3D,EAAf2D,gBAGVuR,IAAenI,EAAAA,EAAAA,MAAnBpK,GAEFq6C,IAAkB1oC,EAAAA,EAAAA,UAExBpU,IAAwCC,EAAAA,EAAAA,UAAS,CAAC,GAAEC,IAAAC,EAAAA,EAAAA,GAAAH,GAAA,GAA7CslC,GAAYplC,GAAA,GAAE68C,GAAe78C,GAAA,GACpC8M,IAAkD/M,EAAAA,EAAAA,WAAS,GAAMgN,IAAA9M,EAAAA,EAAAA,GAAA6M,GAAA,GAA1D6H,GAAiB5H,GAAA,GAAE6H,GAAoB7H,GAAA,GAC9CG,IAAwDnN,EAAAA,EAAAA,WAAS,GAAMoN,IAAAlN,EAAAA,EAAAA,GAAAiN,GAAA,GAAhE4vC,GAAoB3vC,GAAA,GAAE4vC,GAAuB5vC,GAAA,GACpDG,IAAwDvN,EAAAA,EAAAA,WAAS,GAAMwN,IAAAtN,EAAAA,EAAAA,GAAAqN,GAAA,GAAhE0vC,GAAoBzvC,GAAA,GAAE0vC,GAAuB1vC,GAAA,GACpDG,IAAkE3N,EAAAA,EAAAA,UAAS,MAAK4N,IAAA1N,EAAAA,EAAAA,GAAAyN,GAAA,GAAzEwvC,GAAyBvvC,GAAA,GAAEwvC,GAA4BxvC,GAAA,GAC9DG,IAA0C/N,EAAAA,EAAAA,UAAS,MAAKmO,IAAAjO,EAAAA,EAAAA,GAAA6N,GAAA,GAAjDsvC,GAAalvC,GAAA,GAAEmvC,GAAgBnvC,GAAA,GACtCG,IAA4DtO,EAAAA,EAAAA,WAAS,GAAM4O,IAAA1O,EAAAA,EAAAA,GAAAoO,GAAA,GAApEivC,GAAsB3uC,GAAA,GAAE4uC,GAAyB5uC,GAAA,GAGhDrN,IAAUjB,EAAAA,EAAAA,GAASyH,EAAAA,kBAAmB,CAC5CtF,UAAW,CAAED,GAAIuS,IACjB+S,YAAa,WACbtnB,YAAa,SAACC,GACRA,EAAK+D,UACPs4C,GAAgBr8C,EAAK+D,SAEzB,IAPMjD,MAWRqd,IAAuBC,EAAAA,EAAAA,GAAavX,EAAAA,cAAe,CACjDwgB,YAAa,WACbtnB,YAAa,SAAAC,GACXA,EAAKof,WAAapf,EAAKof,UAAUxS,YAAc,GAAKmwC,IAA0B,EAChF,IAJKjF,IAKLr4C,EAAAA,EAAAA,GAAA0e,GAAA,GALiB,GAQnBve,IAA+BO,EAAAA,EAAAA,GAAYsE,EAAAA,kBAAmB,CAC5D1E,YAAa,SAACC,GACZ,IAAAg9C,EAA4Bh9C,EAAKi9C,iBAAzBn8C,EAAKk8C,EAALl8C,MAAOiD,EAAQi5C,EAARj5C,UAEdjD,GAASo8C,GAA4B,KAAMn5C,EAC9C,IACAtD,IAAAhB,EAAAA,EAAAA,GAAAG,GAAA,GANKq9C,GAAgBx8C,GAAA,IAAvBujB,EAAAA,EAAAA,GAAAvjB,GAAA,IASA,IACEiY,GA8BEksB,GA9BFlsB,QACA4G,GA6BEslB,GA7BFtlB,SACAse,GA4BEgH,GA5BFhH,OACAre,GA2BEqlB,GA3BFrlB,SACAhe,GA0BEqjC,GA1BFrjC,UACAk4B,GAyBEmL,GAzBFnL,WACA1hB,GAwBE6sB,GAxBF7sB,UACAolC,GAuBEvY,GAvBFuY,sBACAC,GAsBExY,GAtBFwY,0BACAzK,GAqBE/N,GArBF+N,WACA0K,GAoBEzY,GApBFyY,gBACAC,GAmBE1Y,GAnBF0Y,YACAC,GAkBE3Y,GAlBF2Y,aACAC,GAiBE5Y,GAjBF4Y,WACAp/C,GAgBEwmC,GAhBFxmC,SACAq/C,GAeE7Y,GAfF6Y,wBACAC,GAcE9Y,GAdF8Y,YACAr/C,GAaEumC,GAbFvmC,UACAmuB,GAYEoY,GAZFpY,OACAmxB,GAWE/Y,GAXF+Y,YACAC,GAUEhZ,GAVFgZ,gBACA3nB,GASE2O,GATF3O,QACA4nB,GAQEjZ,GARFiZ,kBACAhgD,GAOE+mC,GAPF/mC,MACAigD,GAMElZ,GANFkZ,UACAC,GAKEnZ,GALFmZ,gBACA9D,GAIErV,GAJFqV,QACAttB,GAGEiY,GAHFjY,YACAyrB,GAEExT,GAFFwT,6BACAC,GACEzT,GADFyT,2BAGI2F,GAAc,CAClBxxB,OAAAA,GACAmmB,WAAAA,GACAv0C,SAAAA,GACAC,UAAAA,GACA47C,QAAAA,GACAttB,YAAAA,IAGIsxB,GAAkB7F,IAAgCC,GAClD6F,IAAmB,EACnBC,GAAmB3kC,OAAOC,KAAKmrB,IAAcxnC,OAC7CghD,GAAkBlC,GAAsC,UAAZjmB,IAGlDjnB,EAAAA,EAAAA,YAAU,WACR8oC,GAAa,CAAE91C,UAAW,CAAE+1C,SAAU,mBAAoBhqC,QAAS,KAChE5L,OAAM,SAACrB,GAAK,OAAKsB,QAAQC,IAAI,QAASvB,EAAM,IAC/CsU,OAAOE,OAAO,CAAEN,IAAK,EAAGijC,SAAU,UACpC,GAAG,KAGHjpC,EAAAA,EAAAA,YAAU,WACR4tC,IAAiByB,KACjBxB,GAAiBh/C,GACnB,GAAG,CAACA,GAAOigD,KAGX,IAAMQ,GAAkB,SAACC,EAAWC,GAClC,OAAOD,GAAaC,EAAO,GAAA/iD,OACpB8iD,EAAS,KAAA9iD,OAAI+iD,GAChBD,EACA5iD,KAAKC,EAAE,kCAAmC,CAAEuwB,MAAOoyB,IACnDC,EACA7iD,KAAKC,EAAE,gCAAiC,CAAEuwB,MAAOqyB,IACjD,IACN,EAGMH,GAAgB,WACpB,IAAMI,EAAgB/jD,SAAS64B,eAAe,iBAE9CkrB,EAAc7jD,UAAUuwC,IAAI,aAC5BvyB,EAAAA,EAAaqI,KAAKm7B,GAAgBxnC,SAClCsc,YAAW,kBAAMtY,EAAAA,EAAamvB,KAAKqU,GAAgBxnC,QAAQ,GAAE,KAC7Dsc,YAAW,kBAAMutB,EAAc7jD,UAAUC,OAAO,YAAY,GAAE,KAChE,EAUMqiD,GAA8B,SAAC1gC,EAAYzY,EAAUu5C,GACzD9gC,GAAcA,IAEV8gC,IACFjB,GAAe/sC,EAAAA,EAAC,CAAC,EAAIs1B,IAAY,IAAEkZ,UAAWR,KAC9Ce,MAGFt6C,GAAYs4C,GAAgBt4C,GAC5B24C,IAA6BC,IAA6B,EAC5D,EAWM+B,GAAW,SAAH/rC,GAAsB,IAAhBgsC,EAAQhsC,EAARgsC,SACZC,EACJzkD,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAS,wCAAAC,OAA0CkjD,EAAS37C,MAAQ,OAAS,KAChF7I,EAAAA,cAAA,OAAKqB,UAAU,uCACXmjD,EAAS3iD,MAEb7B,EAAAA,cAAA,OAAKqB,UAAU,0CACTmjD,EAAS37C,OAAS7I,EAAAA,cAAC2yB,EAAAA,WAAU,CAAC5L,MAAM,UAAU/kB,KAAK,QAAQ0iD,SAAU,KACvEF,EAAS37C,MAAK,IAAAvH,OAAOkjD,EAAS37C,OAAU27C,EAASG,sBAGvD3kD,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,mCAAmCC,KAAM,MAG1D,MAAuB,kBAAhB0iD,EAAS58C,GAEZ5H,EAAAA,cAAA,KAAGqB,UAAU,iCAAiC0H,KAAMy7C,EAASI,SAAU57C,OAAO,UAC1Ey7C,GAGJzkD,EAAAA,cAAC6kD,EAAAA,GAAQ,CAAC1nC,GAAIqnC,EAASI,SAAUvjD,UAAU,kCACvCojD,EAEV,EAIMK,GAAmB9kD,EAAAA,SACvB,kBAAMA,EAAAA,cAAC+kD,EAAAA,QAAkB,CACvB39C,UAAWA,GACXk8C,wBAAyBA,IACzB,GACF,CAACl8C,GAAWk8C,KAIR0B,IAAY5uB,EAAAA,EAAAA,UAChB,kBAAM2nB,EAAAA,EAAAA,iBAAe5oC,EAAAA,EAAC,CAAC,EAAIs1B,IAAY,IAAE7hC,gBAAAA,IAAmB+I,EAAexJ,EAAgB,GAC3F,CAACsiC,KAIGwa,IAAa7uB,EAAAA,EAAAA,UACjB,kBACEp2B,EAAAA,cAAA,WACEA,EAAAA,cAAA,OAAKqB,UAAU,+BACbrB,EAAAA,cAACklD,EAAAA,WAAU,CAACr8C,MAAOm8C,IAAaA,GAAU3F,WAAY8F,OAAQ,GAAI/iD,MAAO,OAE3EpC,EAAAA,cAAA,OAAKqB,UAAU,mCACXge,OAAOC,KAAK0lC,IAAWr9C,KAAI,SAAAy9C,GAAY,MACrB,eAAjBA,IACKJ,GAAUI,GAAcv8C,QACxBm8C,GAAUI,GAAcC,QACzBrlD,EAAAA,cAACukD,GAAQ,CAACC,SAAUQ,GAAUI,GAAexhD,IAAKohD,GAAUI,GAAcvjD,QAC5E,IAAI,IAGPwd,OAAOC,KAAK0lC,IAAWr9C,KAAI,SAAAy9C,GAAY,MACrB,eAAjBA,GACIJ,GAAUI,GAAcv8C,QACvBm8C,GAAUI,GAAcC,QACzBrlD,EAAAA,cAACukD,GAAQ,CAACC,SAAUQ,GAAUI,GAAexhD,IAAKohD,GAAUI,GAAcvjD,QAC5E,IAAI,KAGP,GACR,CAACmjD,KAIH,GAAIlzC,EAAsBnL,MAAWiL,EAASuI,IAAa,OAAOna,EAAAA,cAACwV,EAAAA,QAAO,CAAC7D,cAAeA,IAC1F,GAAIhL,GAAO,OAAO3G,EAAAA,cAACqlB,EAAAA,QAAY,MAG/B,IAAMigC,GAAyBN,KAAaO,EAAAA,EAAAA,mBAAkBP,GAAU3F,YAGxE,OACEr/C,EAAAA,cAAA,OAAKqB,UAAU,mBAET8hD,IACFnjD,EAAAA,cAACwlD,EAAAA,QAAe,CAAC7vC,QAASwtC,OAGxBnpC,IACFha,EAAAA,cAACylD,EAAAA,QAAuB,CACtBlnC,QAASA,GACTuE,iBAAkBigC,GAClBpxC,cAAeA,EACf+D,YAAa,kBAAMuE,IAAqB,EAAM,EAC9CE,WAAYA,GACZqB,UAAWxB,GACX4hC,SAAUA,EACVqI,gBAAiBA,KAIrBjkD,EAAAA,cAAC0lD,EAAAA,QAAsB,CACrB/zC,cAAeA,EACf+D,YAAa,kBAAM0sC,IAAwB,EAAM,EACjDjoC,WAAYA,GACZqB,UAAW2mC,KAGbniD,EAAAA,cAAC2lD,EAAAA,QAAc,CACbpnC,QAASA,GACTuE,iBAAkBigC,GAClBrtC,YAAa,kBAAM4sC,IAAwB,EAAM,EACjDnoC,WAAYA,GACZqB,UAAW6mC,GACXzG,SAAUA,MAGNhzC,IAAmB+5C,KACvB3iD,EAAAA,cAAC4lD,EAAAA,QAAkB,CACjB38C,SACEjJ,EAAAA,cAAC6lD,EAAAA,QAAkB,CACjB19C,gBAAiBA,EACjBC,aAAc48C,GACd38C,QAASA,OAMd27C,IAAoBhkD,EAAAA,cAACiuB,EAAAA,cAAa,QAEjC+1B,IACFhkD,EAAAA,cAACwe,EAAAA,SAAQ,KAEK,WAAV9a,IAEA1D,EAAAA,cAAA,OAAKqB,UAAU,oCAEbrB,EAAAA,cAAA,OAAKqB,UAAU,aAAakH,IAAKu9C,EAAWx9C,IAAI,iBAEhDtI,EAAAA,cAAC+lD,EAAAA,EAAmB,CAAC9jD,IAAG,GAAAX,OAAK2Z,OAAOrR,SAASo8C,QAAM1kD,OAAGiiD,KACpDvjD,EAAAA,cAAA,OAAKuI,IAAK09C,EAAe39C,IAAI,oBAG/BtI,EAAAA,cAACkmD,EAAAA,EAAmB,CAACjkD,IAAG,GAAAX,OAAK2Z,OAAOrR,SAASo8C,QAAM1kD,OAAGiiD,KACpDvjD,EAAAA,cAAA,OAAKuI,IAAK49C,EAAa79C,IAAI,kBAG7BtI,EAAAA,cAAComD,EAAAA,EAAkB,CAACnkD,IAAG,GAAAX,OAAK2Z,OAAOrR,SAASo8C,QAAM1kD,OAAGiiD,KACnDvjD,EAAAA,cAAA,OAAKuI,IAAK89C,EAAc/9C,IAAI,oBAKlCtI,EAAAA,cAAA,OAAKqB,UAAU,oCACbrB,EAAAA,cAAA,OAAKqB,UAAU,kCAEbrB,EAAAA,cAAA,OAAKqB,UAAU,2CACbrB,EAAAA,cAAA,OAAKqB,UAAU,qCACXqiD,GAAmB,KAGX,WAAVhgD,IACA1D,EAAAA,cAAA,KAAGqB,UAAU,eAAe0H,KAAMw6C,GAAav6C,OAAO,UACpDhJ,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,aAAaC,KAAM,KAChC9B,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,6BAIhBqgD,GACD9hD,EAAAA,cAAA,OAAKqB,UAAU,mCACXG,KAAKC,EAAE,wDAKfzB,EAAAA,cAAA,OAAKqB,UAAU,0BAA2Bkd,IAE1Cve,EAAAA,cAAA,OAAKqB,UAAU,6CACbrB,EAAAA,cAAA,OAAKqB,UAAU,qCACbrB,EAAAA,cAAA,OAAKqB,UAAS,sCAAAC,OAAwCgkD,KAClD9jD,KAAKC,EAAE,yDAA0D,SAAQzB,EAAAA,cAAA,cAAUwB,KAAKC,EAAE,iDAADH,OAAkDgkD,OAE/ItlD,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAC2yB,EAAAA,WAAU,CAAC+xB,SAAU,KACpBljD,KAAKC,EAAE,qDAAsD,SAAQzB,EAAAA,cAAA,cAAUglD,GAAYA,GAAU3F,WAAa,KAGxHr/C,EAAAA,cAAA,OAAKqB,UAAU,2CACbrB,EAAAA,cAAC6kD,EAAAA,GAAQ,CAAC1nC,GAAG,gBAAgB9b,UAAU,qCACnCG,KAAKC,EAAE,wDAKfzB,EAAAA,cAAA,OAAKqB,UAAS,yBAAAC,OAA2BoC,IAASkE,GAAG,iBACjDpG,KAAKC,EAAE,qCAAsC,IAC/CzB,EAAAA,cAAA,OACEqB,UAAU,8BACV,WAAWgiD,GAAyCM,GAA5BV,GACxB,aAAW,mBACX,WAAS,gBACT5nC,IAAK4mC,IAELjiD,EAAAA,cAAA,OAAKqB,UAAU,8BACfrB,EAAAA,cAAA,OAAKqB,UAAU,2BACXuiD,IAEJ5jD,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAG,gBACH8W,MAAM,QACNtG,KAAK,YAKT+M,IACAnlB,EAAAA,cAAA,OAAKqB,UAAU,uBACXG,KAAKC,EAAE,8CAA+C,IACxDzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAM,OAAQC,KAAM,KAC5B9B,EAAAA,cAAA,YAxPM,SAACmlB,EAAUse,GAC/B,OAAOte,GAAYse,EAAM,GAAAniC,OAClB6jB,EAAQ,KAAA7jB,OAAImiC,GAAM,GAAAniC,OAClBE,KAAKC,EAAE,gBAAe,KAAAH,OAAI6jB,EACnC,CAoPuBmhC,CAAcnhC,GAAUse,IAAQ,IAAEre,IAAY,KAIvD0+B,GACA9jD,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAA,OAAKqB,UAAU,gCACZ0iD,GAQCD,IACA9jD,EAAAA,cAAA,OAAKqB,UAAU,+BACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAM,QAASC,KAAM,KAC3BN,KAAKC,EAAE,sDAAuD,MAMtEzB,EAAAA,cAAA,OAAKqB,UAAU,gCACX0iD,GAOAD,IACA9jD,EAAAA,cAAA,OAAKqB,UAAU,+BACX8iD,GAAgBlG,GAA8BC,IAA6B,IAC3Er+B,EAAwByf,OA/BfykB,GAsCrB/jD,EAAAA,cAAA,OAAKqB,UAAU,2CACbrB,EAAAA,cAAA,OAAKqB,UAAU,qCACXG,KAAKC,EAAE,mBAAoB,KAG/BzB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiC6Y,GAAU,aACjE3Y,KAAKC,EAAE,oCAIbzB,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAA,OAAKqB,UAAU,+BACXG,KAAKC,EAAE,oDAAqD,IAC9DzB,EAAAA,cAAA,YAAOwjD,KAGTxjD,EAAAA,cAAA,OAAKqB,UAAU,+BACXG,KAAKC,EAAE,0CAA2C,IACpDzB,EAAAA,cAAA,YAAOkjD,KAGTljD,EAAAA,cAAA,OAAKqB,UAAU,4CACXG,KAAKC,EAAE,wCAAwC8kD,IAAK,IACtDvmD,EAAAA,cAAA,YAAOyjD,MAIXzjD,EAAAA,cAAA,OAAKqB,UAAU,2CACbrB,EAAAA,cAAA,OAAKqB,UAAU,qCACXG,KAAKC,EAAE,+CAGRuhD,IACDhjD,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,0BAAArQ,OAAyB6Y,KAC/C3Y,KAAKC,EAAE,6CAKfzB,EAAAA,cAAA,OAAKqB,UAAU,iCACXuc,MACEyB,OAAOC,KAAK1B,IAAW3a,QACzBoc,OAAOC,KAAK1B,IAAWjW,KAAI,SAACyQ,EAAMxU,GAAG,OACnC5D,EAAAA,cAAA,OAAKqB,UAAU,yBAAyBuC,IAAKA,GACzCwU,EAAM,IAACpY,EAAAA,cAAA,YAAQ4d,GAAUxF,IACvB,MAKdpY,EAAAA,cAACwmD,EAAAA,QAAWnnC,OAAAonC,OAAA,GAAK5C,GAAW,CAAE1/C,aAAcA,MAG9CnE,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAACkd,EAAAA,GAAI,CACHC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiC6Y,GAAU,aAC/D9Y,UAAU,oEAEVrB,EAAAA,cAAA,OAAKuI,IAAKm+C,EAAUp+C,IAAI,OAAOjG,OAAQ,GAAID,MAAO,KAChDZ,KAAKC,EAAE,iBAGXzB,EAAAA,cAAA,OACEqB,UAAU,+BACVK,QAAS,kBAAM0gD,IAAwB,EAAK,GAE5CpiD,EAAAA,cAAA,OAAKuI,IAAKo+C,EAAUr+C,IAAI,OAAOjG,OAAQ,GAAID,MAAO,KAChDZ,KAAKC,EAAE,gDAGO,WAAjB2hD,IACCpjD,EAAAA,cAACwe,EAAAA,SAAQ,KACLqjC,EACa,UAAZ/lB,GACC97B,EAAAA,cAAA,OAAKqB,UAAU,+BAA+BK,QAAS,kBAAM4gD,IAAwB,EAAK,GACxFtiD,EAAAA,cAAA,OAAKuI,IAAKq+C,EAAYt+C,IAAI,SAASjG,OAAQ,GAAID,MAAO,KACpDZ,KAAKC,EAAE,gDAGX,KAGFzB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,2CAAArQ,OAA0C6Y,IAAc9Y,UAAU,gCAC1FrB,EAAAA,cAAA,OAAKuI,IAAKq+C,EAAYt+C,IAAI,SAASjG,OAAQ,GAAID,MAAO,KACpDZ,KAAKC,EAAE,yCAIbzB,EAAAA,cAAA,OAAKqB,UAAU,+BAA+BK,QAAS,kBAAMuY,IAAqB,EAAK,GACrFja,EAAAA,cAAA,OACEuI,IAAKs+C,EACLv+C,IAAI,aACJjG,OAAQ,GACRD,MAAO,KAEPZ,KAAKC,EAAE,qCAKI,QAAjB2hD,IAA2C,WAAjBA,KAC1BpjD,EAAAA,cAACwe,EAAAA,SAAQ,KACL6kC,IAAcvB,GACd9hD,EAAAA,cAAA,OAAKqB,UAAS,oEAAAC,OAAsEihD,GAA4B,WAAa,IACxH7gD,QAtXU,WAC7B8gD,IAA6B,GAC7BM,GAAiB,CAAEj7C,UAAW,CAAED,GAAIG,OAAOoS,OAAiBnS,OAAM,SAACrB,GAAK,OACtEsB,QAAQC,IAAI,QAASvB,EAAM,GAE/B,GAkXoB47C,GAEEviD,EAAAA,cAACif,EAAAA,QAAM,CAACnd,KAAM,GAAIod,MAAO,IAEzBlf,EAAAA,cAAA,OACEuI,IAAKu+C,EACLx+C,IAAI,WACJjG,OAAQ,GACRD,MAAO,KAGbpC,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,yCAOxBzB,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,8BACXyjD,IAGJ9kD,EAAAA,cAAA,OAAKqB,UAAU,oCACbrB,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuG,GAAG,iBACxC5H,EAAAA,cAAA,OAAKqB,UAAU,iCACXG,KAAKC,EAAE,yCACTzB,EAAAA,cAAA,KAAG+I,KAAMi5C,EAAsBh5C,OAAO,SAAS3H,UAAU,kCACrDG,KAAKC,EAAE,uCACTzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,OAIrC9B,EAAAA,cAAA,OAAKqB,UAAU,gCACX4jD,MAKRjlD,EAAAA,cAACuX,EAAAA,QAAK,CAACxF,UAAWoI,GAAY3C,YAAY,KAMpD,C,2FCtbA,UA3K2B,SAAHvS,GAOyB,IAPnBmC,EAASnC,EAATmC,UACA+S,EAAUlV,EAAVkV,WACAmpC,EAAuBr+C,EAAvBq+C,wBACAyD,EAAM9hD,EAAN8hD,OACAC,EAAoB/hD,EAApB+hD,qBACAC,EAAYhiD,EAAZgiD,aACA7kD,EAAK6C,EAAL7C,MACA8kD,EAAWjiD,EAAXiiD,YAE5B/hD,GAAkDC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAvDgiD,EAAiB9hD,EAAA,GAAE+hD,EAAoB/hD,EAAA,GAC9C8M,GAAoD/M,EAAAA,EAAAA,UAAS,GAAEgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAxDk1C,EAAkBj1C,EAAA,GAAEk1C,EAAqBl1C,EAAA,IAGhDyC,EAAAA,EAAAA,YAAU,WACR,IAAM0yC,EAAQ,IAAIpgD,KACZqgD,EAAe,IAAIrgD,KAAKA,KAAKw5B,MAAMv5B,IACnCqgD,EAAqBF,EAAMG,UAAYF,EAAaE,UACpDC,EAAa5sC,KAAK6sC,KAAKH,EAAkB,OACzCI,EAAoBF,EAAa,GAAK,GAAKA,EAAa,GAAK,GAAK,GAExEL,EAAsBK,GACtBP,EAAqBS,GACrBb,GAAwBA,EAAqBa,EAC/C,GAAG,IAGH,IA8EQC,EAYFC,EAAU,SAAH1G,GAAA,IAAM2G,EAAW3G,EAAX2G,YAAaC,EAAS5G,EAAT4G,UAAWC,EAAU7G,EAAV6G,WAAU,OACnDloD,EAAAA,cAACwe,EAAAA,SAAQ,KACLwpC,GACAhoD,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,sCACdzB,EAAAA,cAAA,OAAKqB,UAAU,4DAA6D2mD,GAC1EC,IAAcD,KAAiBE,GAAcloD,EAAAA,cAAA,cAG/CgoD,IAAgBE,IAClBloD,EAAAA,cAACwe,EAAAA,SAAQ,OACHwpC,GAAeC,IAAcD,IAC/BhoD,EAAAA,cAAA,OAAKqB,UAAU,4BAA6B4mD,GAE9CjoD,EAAAA,cAAA,OAAKqB,UAAU,yBACXG,KAAKC,EAAE,gDAAiD,KAAIymD,IAI3D,EAGb,OACEloD,EAAAA,cAAA,OAAKqB,UAAU,wBACbrB,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,sCACbrB,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,iDACbzB,EAAAA,cAACmoD,EAAAA,QAAY,CACXh8B,QAAS3qB,KAAKC,EAAE,8CAChBO,KAAK,OACL4F,GAAIuS,GAA0B,eAC9BiuC,WAAY,EACZ1pC,MAAM,SACNqoC,OAAQA,GAAkB,CAAC,KAI/B/mD,EAAAA,cAAA,OAAKqB,UAAU,yCAjDbymD,EAAc,CAAC,GAAI,GAAI,KAEVngD,KAAI,SAAC0gD,EAAY36B,GAAK,OAC5B,IAAVA,GAAe25B,GAAsBgB,GAAehB,EAAqBgB,GAAchB,EAAqBS,EAAYp6B,EAAQ,KAC/H1tB,EAAAA,cAAA,OAAK4D,IAAG,wBAAAtC,OAA0BosB,GAASrsB,UAAS,uCAAAC,OAAyC+mD,IAAelB,EAAoB,SAAW,IACtIzlD,QAAS,kBAZC,SAAC2mD,GACpBjB,EAAqBiB,GACrBrB,GAAwBA,EAAqBqB,EAC/C,CAS0BC,CAAaD,EAAW,GACxCA,EAAY,IAAG7mD,KAAKC,EAAE,6BACpB,MA+CRzB,EAAAA,cAACuoD,EAAAA,QAAW,CACV1iD,KArIoB,WACxB,IACM2iD,EAAmBrB,EADJ,GAEfsB,EAAsC,IAArBD,EACjBhB,EAAe,IAAIrgD,KAAKA,KAAKw5B,MAAMv5B,IACnCshD,EAA2B,SAACC,GAAO,OAAKA,EAAQC,mBAAmB,SAAShuB,MAAM,KAAKiuB,KAAK,IAAK,EACnGC,GAAmB,EACnBC,EAAY,EACZljD,EAAO,GAEX2hD,EAAawB,SAAS,EAAE,EAAE,EAAE,GAI5B,IAFA,IAAMC,EAAmBzB,EAAaE,UAAUjY,EAAA,WAG9C,IAAMtL,EAAO,IAAIh9B,KACb+hD,EAAQ,EAEZ/kB,EAAKglB,QAAQhlB,EAAKilB,UAAYL,GAE9B,IAAMM,EAAW,IAAIliD,KAAKg9B,GACpBmlB,EAAS,IAAIniD,KAAKg9B,IAEvBskB,GAAkBY,EAASF,QAAQE,EAASD,UAAYZ,GACnD,IAANe,IAAYd,GAAkBa,EAAOH,QAAQG,EAAOF,UAAY,GAChEC,EAASL,SAAS,EAAE,EAAE,EAAE,GACxBM,EAAON,SAAS,GAAG,GAAG,GAAG,IAEzB,IAAMQ,EAAaF,EAAO5B,UACpB+B,EAAeJ,EAAS3B,UAE9BroC,OAAOyV,QAAQwuB,GAAyB37C,KACtC,SAAA6Q,GAAmB,IAAD4B,GAAA9U,EAAAA,EAAAA,GAAAkT,EAAA,GAAhB5U,EAAGwW,EAAA,GAAEvW,EAAKuW,EAAA,GAEJsvC,EADY,IAAIviD,KAAKvD,EAAIk1B,QAAQ,KAAM,MACd4uB,UAG/B,OAFuBgC,GAAgBF,GAAcE,GAAgBD,IAE3CP,EAAQrlD,EAAQqlD,EAC5C,IAGF,IAAMS,EAAY,CAAExlB,KAAMukB,EAAyBvkB,IAC7CylB,EAA2BX,IAAqBQ,GAAgBhB,GAAmBK,EAEzF,GAAKW,IAAiBR,GAAsBA,EAAmBO,GAAeV,EAAkB,CAC9F,IAAMb,EAAS,GAAA3mD,OAA4B,KAAtB6lD,EAA2BkC,EAASD,UAAY,IAAM,IAAE9nD,OAAGonD,EAAyBY,IAEzGK,EAAU9lD,MAAQqlD,EAClBS,EAAU7gD,MAAQm/C,EAClB2B,IAA4BD,EAAUE,QAAU,IAChDF,EAAU5rC,QACR/d,EAAAA,cAAC+nD,EAAO,CACNC,YAAa4B,EAA0BlB,EAAyBlB,GAAgB,KAChFS,UAAWA,EACXC,WAAYgB,GAElB,CAEArjD,EAAKo8B,QAAQ0nB,GACbZ,GAAwBP,EACxBM,IAAqBA,GAAmB,IAEnCL,GAAkBQ,EAAmBO,GAAcC,GAAgBR,IACtEH,GAAmB,EAEvB,EAnDSS,EAAI,EAAGA,EAbK,GAaaA,IAAG9Z,IAqDrC,OAAO5pC,CACT,CAiEYikD,GACNC,QAAQ,QACR9C,aAAcA,EACd+C,aAAcxoD,KAAKC,EAAE,gDACrBW,MAAOA,EACP8kD,YAAaA,EACb+C,KAAK,SAIb,C,sLC/JaC,EAAmB,SAACv4C,EACA9L,EACAi8C,EACAzlC,EACAxI,EACAs2C,EACAC,EACA9tC,EACAC,EACA8tC,EACA7tC,GAAc,OAAKxc,EAAAA,SAChD,iBACE,CAGE,CAAE2c,OAAQnb,KAAKC,EAAE,mBACfub,SAAU,eAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAG,wBACH8W,MAAM,MACNtG,KAAK,UAEPpY,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKuX,KAAKC,IAAIC,SAAS1V,IAC5EvG,UAAU,oBACV,WAAS,wBACT,WAAUG,KAAKC,EAAE,2BACrBzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,aAAaC,KAAM,MAGlC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAG,wBACH8W,MAAM,MACNtG,KAAK,UAEPpY,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKuX,KAAKC,IAAIC,SAAS1V,GAAE,aAC9EvG,UAAU,oBACV,WAAS,wBACT,WAAUG,KAAKC,EAAE,qCACrBzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,OAAOC,KAAM,MAExB,GAKV,CAAE6a,OACE3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBE,cAAe,kBAAMP,EAAW,iBAAiB,EACjDM,SAAUrb,KAAKC,EAAE,sCACjBsb,SAA2B,mBAAjBV,EACVxI,eAAgBA,IAEpBmJ,SAAU,UACVpY,MAAO,CAAE4Y,SAAU,QAASC,SAAU,SAEtCR,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKuX,KAAKC,IAAIC,SAAS1V,KAC9E/B,EAAKhC,MACF,GAKX,CAAE8Y,OACE3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBE,cAAe,kBAAMP,EAAW,YAAY,EAC5CM,SAAUrb,KAAKC,EAAE,kDACjBsb,SAA2B,cAAjBV,EACVxI,eAAgBA,EAChBjP,MAAO,CAAE0lD,WAAY,YAEzBttC,SAAU,WAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACuqD,EAAAA,cAAa,CACZnhD,KAAI,GAAA9H,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKuX,KAAKC,IAAIC,SAAS1V,GAAE,qBAChFm/C,OAAQ,IACRljD,MAAOgC,EAAKhC,MAAK,GAAAvC,OAAMuE,EAAKhC,MAAK,KAAAvC,OAAIuE,EAAKuX,KAAKC,IAAIC,SAAS8H,UAAY,IAAO,GAC/EolC,QAAM,GACN,GAKN,CAAE7tC,OAAQnb,KAAKC,EAAE,6CACfmD,MAAO,CAAE0lD,WAAY,UAErBrtC,KAAM,SAAApX,GACJ,IAAA8X,EAAwC9X,EAAKuX,KAAKC,IAAIC,SAA9C1V,EAAE+V,EAAF/V,GAAIk0B,EAAOne,EAAPme,QAAS2uB,EAAc9sC,EAAd8sC,eACfC,EAAoBlpD,KAAKC,EAAE,oCAADH,OAAqCw6B,IAErE,OACE97B,EAAAA,cAACuqD,EAAAA,cAAa,CACZ/T,gBAAgB,aAChBptC,KAAI,GAAA9H,OAAKqQ,EAAa,kCAAArQ,OAAiCsG,EAAE,iBACzDm/C,OAAQ,IACRljD,MAAK,GAAAvC,OAAkB,eAAZw6B,EAA2B4uB,EAAkBnE,IAAMmE,EAAiB,OAAAppD,OAAOmpD,IAE5F,GAKF,CAAE9tC,OACE3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBE,cAAe,kBAAMP,EAAW,8BAA8B,EAC9DM,SAAUrb,KAAKC,EAAE,+CACjBsb,SAA2B,gCAAjBV,EACVxI,eAAgBA,IAEpBmJ,SAAU,mCAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKuX,KAAKC,IAAIC,SAAS1V,GAAE,cAChF/B,EAAKhC,MACF,GAKX,CAAE8Y,OAAQnb,KAAKC,EAAE,oDACfub,SAAU,qBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAK7E,CAAE8Y,OACE3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBE,cAAe,kBAAMP,EAAW,eAAe,EAC/CM,SAAUrb,KAAKC,EAAE,oDACjBsb,SAA2B,iBAAjBV,EACVxI,eAAgBA,IAEpBmJ,SAAU,cAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACuqD,EAAAA,cAAa,CACZnhD,KAAI,GAAA9H,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKuX,KAAKC,IAAIC,SAAS1V,GAAE,kBAChFm/C,OAAQ,IACRljD,MAAOgC,EAAKhC,OAAS,GAK3B,CAAE8Y,OACE3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBE,cAAe,kBAAMP,EAAW,oBAAoB,EACpDM,SAAUrb,KAAKC,EAAE,0CACjBsb,SAA2B,sBAAjBV,EACVxI,eAAgBA,EAChBjP,MAAO,CAAE0lD,WAAY,YAEzBttC,SAAU,kBAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACuqD,EAAAA,cAAa,CACZnhD,KAAI,GAAA9H,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKuX,KAAKC,IAAIC,SAAS1V,GAAE,wBAChFm/C,OAAQ,IACRljD,MAAOgC,EAAKhC,OAAS,GAK3B,CAAE8Y,OACE3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChB45B,gBAAgB,aAChB15B,cAAe,kBAAMP,EAAW,oBAAoB,EACpDM,SAAUrb,KAAKC,EAAE,+CACjBsb,SAA2B,sBAAjBV,EACVxI,eAAgBA,IAEpBmJ,SAAU,kBAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACuqD,EAAAA,cAAa,CACZnhD,KAAI,GAAA9H,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKuX,KAAKC,IAAIC,SAAS1V,GAAE,yBAChFm/C,OAAQ,IACRljD,MAAOgC,EAAKhC,OAAS,GAK3B,CACE8Y,OACE3c,EAAAA,cAAC4c,EAAAA,kBAAiB,CAChBE,cAAe,kBAAMP,EAAW,kBAAkB,EAClDM,SAAUrb,KAAKC,EAAE,4CACjBsb,SAA2B,oBAAjBV,EACVxI,eAAgBA,IAEpBmJ,SAAU,wBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAK7E,CAAE8Y,OACE3c,EAAAA,cAAA,OAAKqB,UAAU,sCACXG,KAAKC,EAAE,yCACTzB,EAAAA,cAACmoD,EAAAA,QAAY,CACXh8B,QAAS3qB,KAAKC,EAAE,+CAChBO,KAAK,OACL4F,GAAG,gBACHwgD,WAAY,EACZzoC,OAAQ,SAACjK,GAAW,OAAKkK,EAAAA,EAAAA,wBAAuB,YAAalK,EAAY,KAG/EsH,SAAU,kBAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,OAAKqB,UAAU,oCACbrB,EAAAA,cAAA,YAAUqB,UAAU,0BAA0BwC,MAAOgC,EAAKhC,MAAO8mD,IAAI,OACjE9kD,EAAKhC,MAAO,UACL,GAAAvC,OACNuE,EAAKhC,MAAK,UACX,GAKV,CAAE8Y,OACE3c,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,8BACZzB,EAAAA,cAAA,OAAK4H,GAAG,8BAA8BvG,UAAU,uBAEpD2b,SAAU,aAEVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,OAAKqB,UAAU,mBACVK,QAAS,kBAAM8a,EAAe3W,EAAKuX,KAAKC,IAAIC,SAAS1V,GAAG,GAC3D5H,EAAAA,cAAA,OACEsI,IAAI,OACJjG,OAAQ,GACRkG,IAAKmV,EACLtb,MAAO,KACTpC,EAAAA,cAAA,SAAG,IAAG6F,EAAKhC,MAAO,KACd,GAKV,CAAE8Y,OACE3c,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,qCACZzB,EAAAA,cAAA,OAAK4H,GAAG,gCAAgCvG,UAAU,yBAEtD2b,SAAU,yBACVgB,OAAQ,QAERf,KAAM,SAAApX,GACJ,IAAAoY,EAAkDpY,EAAKuX,KAAKC,IAAIC,SAAxD1V,EAAEqW,EAAFrW,GAAIlE,EAAKua,EAALva,MAAOigD,EAAS1lC,EAAT0lC,UAAWC,EAAe3lC,EAAf2lC,gBACxB/+B,EAAgBhf,EAAKhC,OAASi+C,GAAoBziC,OAAOyV,QAAQjvB,EAAKhC,OAAO8D,KAAI,SAAA1C,GAAA,IAAAuT,GAAAlT,EAAAA,EAAAA,GAAAL,EAAA,GAAY,MAAO,CAAEpB,MAAhB2U,EAAA,GAA4B1P,MAArB0P,EAAA,GAAmC,IAEtI,OACExY,EAAAA,cAAA,OAAKqB,UAAU,uBACbrB,EAAAA,cAAA,OAAKqB,UAAU,wBACbwjB,EAEE7kB,EAAAA,cAACwf,EAAAA,aAAY,CACX5H,aAAc,SAAC/T,GAAK,OAAKwmD,EAAoBxmD,EAAOgC,EAAKwX,IAAIzV,GAAG,EAChElB,QAAS4V,IAAyB1U,EAClC+X,OAAQ,SAACjK,GAAW,OAAKkK,EAAAA,EAAAA,wBAAuB,YAAalK,EAAY,EACzE/U,QAASkkB,EACThhB,MAAOH,EACP+b,cAAc,IAEhBmkC,EAGJ5jD,EAAAA,cAAC8d,EAAAA,gBAAe,CAAClW,GAAE,UAAAtG,OAAYsG,EAAE,YAAYtF,SAAS,OAAOyb,QAAS4lC,IAG5E,GAKH,GAAE,CAAC99C,EAAMwW,EAAcC,GAC3B,C,82BCwDH,UA7UkB,SAAHrX,GAQoB,IARdke,EAASle,EAATke,UACAxR,EAAa1M,EAAb0M,cACAi5C,EAAa3lD,EAAb2lD,cACAC,EAAoB5lD,EAApB4lD,qBACA/I,EAAgB78C,EAAhB68C,iBACAC,EAAsB98C,EAAtB88C,uBACA+I,EAAwB7lD,EAAxB6lD,yBACAlP,EAAQ32C,EAAR22C,SACAmP,EAAM9lD,EAAN8lD,OAEbjrC,GAAUC,EAAAA,EAAAA,MACR69B,GAAa5rC,EAAAA,EAAAA,MAAb4rC,SACF7B,GAAQrqB,EAAAA,EAAAA,MACRs5B,EAAa,CAAC,mBAAoB,wBAAoBj1B,EAAW,aAMjEk1B,EAJgB,SAACrN,GACrB,OAAOoN,EAAWlpC,SAAS87B,EAC7B,CAEwBsN,CAAcnP,EAAMoP,OAAOvN,UAGnD,IAAKqN,EACH,OAAOjrD,EAAAA,cAACwV,EAAAA,QAAO,CAAC7D,cAAeA,IAGjC,IAAAxM,GAAoCC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAzCqe,EAAUne,EAAA,GAAEoe,EAAape,EAAA,GAChC8M,GAAoC/M,EAAAA,EAAAA,UAAS,IAAGgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAzCgI,EAAU/H,EAAA,GAAEg5C,EAAah5C,EAAA,GAChCG,GAA8CnN,EAAAA,EAAAA,UAAS,IAAGoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAnDioC,EAAehoC,EAAA,GAAE64C,EAAkB74C,EAAA,GAC1CG,GAAsCvN,EAAAA,EAAAA,UAAS,IAAGwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA3CwwC,EAAWvwC,EAAA,GAAE04C,EAAc14C,EAAA,GAClCG,IAAgD3N,EAAAA,EAAAA,UAAS,IAAG4N,IAAA1N,EAAAA,EAAAA,GAAAyN,GAAA,GAArDK,GAAgBJ,GAAA,GAAEiN,GAAmBjN,GAAA,GAC5CG,IAAwD/N,EAAAA,EAAAA,UAAS,IAAGmO,IAAAjO,EAAAA,EAAAA,GAAA6N,GAAA,GAA7DmJ,GAAoB/I,GAAA,GAAE2M,GAAuB3M,GAAA,GACpDG,IAA0CtO,EAAAA,EAAAA,UAAS,IAAG4O,IAAA1O,EAAAA,EAAAA,GAAAoO,GAAA,GAA/C63C,GAAav3C,GAAA,GAAEw3C,GAAgBx3C,GAAA,GACtC0M,IAAoCtb,EAAAA,EAAAA,UAAS,GAAEub,IAAArb,EAAAA,EAAAA,GAAAob,GAAA,GAAxCjO,GAAUkO,GAAA,GAAEjO,GAAaiO,GAAA,GAChCG,IAAsC1b,EAAAA,EAAAA,WAAS,GAAK2b,IAAAzb,EAAAA,EAAAA,GAAAwb,GAAA,GAA7CjO,GAAWkO,GAAA,GAAEjO,GAAciO,GAAA,GAClCE,IAA0C7b,EAAAA,EAAAA,WAAS,GAAM8b,IAAA5b,EAAAA,EAAAA,GAAA2b,GAAA,GAAlDd,GAAae,GAAA,GAAEd,GAAgBc,GAAA,GACtConB,IAAkDljC,EAAAA,EAAAA,WAAS,GAAMmjC,IAAAjjC,EAAAA,EAAAA,GAAAgjC,GAAA,GAA1DtuB,GAAiBuuB,GAAA,GAAEtuB,GAAoBsuB,GAAA,GAC9CG,IAAwDtjC,EAAAA,EAAAA,WAAS,GAAMujC,IAAArjC,EAAAA,EAAAA,GAAAojC,GAAA,GAAhE2Z,GAAoB1Z,GAAA,GAAE2Z,GAAuB3Z,GAAA,GACpDqU,IAAoD53C,EAAAA,EAAAA,WAAS,GAAM63C,IAAA33C,EAAAA,EAAAA,GAAA03C,GAAA,GAA5DmN,GAAkBlN,GAAA,GAAEwO,GAAqBxO,GAAA,GAChDyO,IAA4DtmD,EAAAA,EAAAA,WAAS,GAAMumD,IAAArmD,EAAAA,EAAAA,GAAAomD,GAAA,GAApEr4C,GAAsBs4C,GAAA,GAAElrC,GAAyBkrC,GAAA,GACxDC,IAA0DxmD,EAAAA,EAAAA,UAAS,MAAKymD,IAAAvmD,EAAAA,EAAAA,GAAAsmD,GAAA,GAAjEt4C,GAAqBu4C,GAAA,GAAE7qC,GAAwB6qC,GAAA,GAEtDC,IAA8B1mD,EAAAA,EAAAA,UAAS,CACrCq9C,cAAe,GACf9uC,KAAM,EACNC,QAASuP,EAAY,EAAI,GACzBrP,QAAS82C,GAAiB,8BAC1B/2C,eAAgBg3C,GAAwB,OACxC/mC,MAAO,GACPioC,0BAA0B,IAC1BC,IAAA1mD,EAAAA,EAAAA,GAAAwmD,GAAA,GARK73C,GAAO+3C,GAAA,GAAE93C,GAAU83C,GAAA,GAUlBvJ,GAAoFxuC,GAApFwuC,cAAe9uC,GAAqEM,GAArEN,KAAMC,GAA+DK,GAA/DL,QAASE,GAAsDG,GAAtDH,QAASD,GAA6CI,GAA7CJ,eAAgBk4C,GAA6B93C,GAA7B83C,yBAE/D53C,IAAwEzO,EAAAA,EAAAA,GAASgH,EAAAA,cAAe,CAC9F7E,UAASsN,EAAA,CAAIyoC,SAAAA,GAAa3pC,IAC1BrO,YAAa,SAAAC,GACX,IAAAomD,EAAiCpmD,EAAKof,UAA9BA,EAASgnC,EAAThnC,UAAWxS,EAAUw5C,EAAVx5C,WAEnB+4C,GAAiBvmC,GACjBvS,GAAcD,GACdI,IAAeC,IAAe,GAC9BwJ,IAAwB4D,GAAwB,GAClD,IATegsC,GAAgB/3C,GAAzBzN,QAA2BC,GAAKwN,GAALxN,MAAgBwlD,GAAgBh4C,GAAzBK,QAY1C/O,IAA2BO,EAAAA,EAAAA,GAAYsE,EAAAA,kBAAmB,CACxD1E,YAAa,SAAAC,GAAI,OAAKA,EAAKc,OAASo8C,IAA6B,IAD5DD,IAELx9C,EAAAA,EAAAA,GAAAG,GAAA,GAFqB,GAIjBiB,IAAW4V,IAAwB4vC,IAEzCr3C,EAAAA,EAAAA,YAAU,WACRs3C,KAAmBnkD,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAIvB,EAAM,GACtD,GAAG,KAEHkO,EAAAA,EAAAA,YAAU,WACRs3C,KAAmBnkD,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAIvB,EAAM,GACtD,GAAG,CAACsN,MAEJY,EAAAA,EAAAA,YAAU,WACRnO,IAAW8kD,GAAiBroD,MAAMyQ,IAAS2Q,KAAK,CAAC,GACnD,GAAG,CAAC7d,MAEJmO,EAAAA,EAAAA,YAAU,WACR,IAAIu3C,EAAsB,KAE1Bb,GAAc5jD,KAAI,SAAAiC,GAAQ,OAAIA,EAASu5C,cAAgBiJ,EAAsBxiD,EAASu5C,YAAY,IAClGmI,EAAec,EACjB,GAAG,CAACb,MAEJ/mC,EAAAA,EAAAA,qBAAmB,kBAAMxP,GAAc,CAAE8O,MAAON,EAAY7P,KAAM,GAAI,GAAE,CAAC6P,GAAa,KAGtF,IAAM6oC,GAAuB,qBAAbzO,EACVqG,GAAkBlC,GAA0BsK,GAQ5CC,GAAuB,CAC3B,CAACzoD,MAAO,KAAMiF,MAAOtH,KAAKC,EAAE,eAAgBJ,UAAYohD,GAA6B,KAAb,YACxE,CAAC5+C,MAAO,MAAOiF,MAAOiiD,EAAOwB,KAC7B,CAAC1oD,MAAO,SAAUiF,MAAOiiD,EAAOyB,QAChC,CAAC3oD,MAAO,aAAciF,MAAOiiD,EAAO0B,WACpC,CAAC5oD,MAAO,SAAUiF,MAAOiiD,EAAO2B,SAG5B5nC,GAAe,CACnB,CAAEhc,MAAOtH,KAAKC,EAAE,2CAA4CoC,OAAO,EAAMkhB,QAASgnC,IAClF,CAAEjjD,MAAOtH,KAAKC,EAAE,yCAA0CoC,OAAO,EAAOkhB,SAAUgnC,KAI9E/2C,GAAgB,SAACC,GAAU,OAC/Bf,IAAW,SAAAgB,GAAW,OAAAC,EAAAA,EAAA,GACjBD,GACAD,EAAU,GACX,EAyDA8tC,GAA8B,SAAC1gC,EAAYzY,EAAU2d,GAAc,OACvE4kC,KACG7pC,MAAK,WACJiF,GAAkBtH,GAAoBsH,GACtClF,GAAcA,IACd5B,IAA0B,EAC5B,IACCzY,OAAM,SAAArB,GACLsB,QAAQC,IAAI,QAASvB,GACrB0b,GAAcA,GAChB,GAAG,EAGDsqC,IAAmBzC,EAAAA,EAAAA,kBAAiBv4C,EACA45C,GACAzJ,EACAhuC,GACAD,GACAs2C,GACAsB,GACAnvC,IA1EpB,SAAChH,GAGrBN,GAAc,CAAElB,QAASwB,EAAOzB,eAFNyB,IAAUxB,IAA8B,QAAnBD,GAA2B,OAAS,OAGrF,IAe4B,SAACnQ,EAAOkpD,GAElC,IAAAC,EAAwBtB,GAAcqB,GAA9BruC,EAAOsuC,EAAPtuC,QAAS3W,EAAEilD,EAAFjlD,GAMjB,OAJAwjD,EAAcxjD,GACdyjD,EAAmB9sC,GACnB0B,GAAoBze,KAAKC,EAAE,6BAADH,OAA8BoC,EAAK,kBAErDA,GACN,IAAK,SAUH,OATAwc,GAAwBtY,QACxBk7C,GAAiB,CAAEj7C,UAAW,CAAED,GAAIG,OAAOH,MACxCI,OAAM,SAAArB,GACLsB,QAAQC,IAAI,QAASvB,GACrBuZ,GAAwB,IACxBD,GAAoBze,KAAKC,EAAE,uDAC3Buf,IAAyB,GACzBP,IAA0B,EAC5B,IAEJ,IAAK,SAEH,YADAxG,IAAqB,GAEvB,IAAK,aAOH,YANAgqC,GACInkC,EAAQ4C,KAAK,CACXC,SAAS,GAADrhB,OAAKqQ,EAAa,8BAC1BiR,OAAO,gBAADthB,OAAkBsG,KAE1B06C,IAAwB,IAGlC,IA5CuB,SAACnoC,GACtBiG,IAAiB,GACjBgrC,EAAcjxC,EAChB,IAqEM2yC,GACS,qBAAblP,EACIp8C,KAAKC,EAAE,iDACPD,KAAKC,EAAE,0CAEPsrD,GAAgC,IAAft6C,KAAqB/L,GAG5C,OAAKyc,GAAaxc,GAAc3G,EAAAA,cAACqlB,EAAAA,QAAY,OAE7ClC,GAAa2nC,GAA4BA,EAAyBiC,IAE5D5pC,GAAa4pC,GAkHV,KAhHL/sD,EAAAA,cAAA,OAAKqB,UAAS,qBAAAC,OAAwB6hB,EAAY,UAAY,MAEzDA,GAAaggC,IAAgBz8C,IAAW1G,EAAAA,cAACwlD,EAAAA,QAAe,CAAC7vC,QAASwtC,IAErEnjD,EAAAA,cAACkjB,EAAAA,QAAU,CACTxN,YAAa,kBAAM0K,IAAiB,EAAM,EAC1CxY,GAAIuS,EACJ3C,YAAY,EACZgE,UAAW2E,KAEbngB,EAAAA,cAACyV,EAAAA,QAAgB,CACfG,YAAatC,GAAwB,QAAU,KAC/CoC,YA5FsB,WAC5B+K,IAA0B,GAC1BnN,IAAyB0N,IAAyB,EACpD,EA0FQrL,QAASvC,GACTyC,QAASxC,KAET2G,IACAha,EAAAA,cAACylD,EAAAA,QAAuB,CACtBlnC,QAASi8B,EACT13B,iBAAkBigC,GAClBpxC,cAAeA,EACf+D,YAAa,kBAAMuE,IAAqB,EAAM,EAC9CE,WAAYA,EACZqB,UAAWxB,GACXiqC,gBAAiBA,GACjBrI,SAAUA,IAId57C,EAAAA,cAAC2lD,EAAAA,QAAc,CACbpnC,QAASi8B,EACT13B,iBAAkBigC,GAClBrtC,YAAa,kBAAM4sC,IAAwB,EAAM,EACjDnoC,WAAYA,EACZqB,UAAW6mC,GACXzG,SAAUA,KAETz4B,GACDnjB,EAAAA,cAAA,OAAKqB,UAAU,+BAEbrB,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAA,OAAKqB,UAAU,wBACbrB,EAAAA,cAAA,SACEqB,UAAU,eACVikB,UAAU,MACV5J,SAAU,SAACC,GAAC,OAAK8H,EAAc9H,EAAE3S,OAAOnF,MAAM,EAC9C4X,YAAaja,KAAKC,EAAE,kBACpB2W,KAAK,OACLvU,MAAO2f,IACTxjB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,SAASC,KAAM,MAG9B9B,EAAAA,cAACylB,EAAAA,QAAa,CACZ7N,aAAc,SAAC/T,GAAK,OAAKmR,GAAc,CAAEytC,cAAe5+C,GAAS,GAAI8P,KAAM,GAAI,EAC/EhT,QAAS2rD,GACT7wC,YAAaja,KAAKC,EAAE,qCACpBoC,MAAO4+C,IAAiB6J,GAAqB,GAAGzoD,MAChD6hB,aAAa,4BAEf1lB,EAAAA,cAAC2lB,EAAAA,QAAY,CACX/N,aAAc,SAAC/T,GAAK,OAAKmR,GAAc,CAAE+2C,yBAA0BloD,EAAO8P,KAAM,GAAI,EACpFhT,QAASmkB,OAGV3B,GAAa1Q,GAAa,GAC3BzS,EAAAA,cAAC4lB,EAAAA,QAAsB,CACrBC,SAAS,YACTC,UAAU,QACVhC,MAAOvX,EAAAA,wBACP1E,UAASsN,EAAAA,EAAA,GAAOlB,IAAO,IAAE2pC,SAAAA,EAAUjqC,KAAM,KAAMC,QAAS,KAAMmS,KAAK,OAM3E/lB,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,oBAAoBuD,MAAO,CAAE+iB,eAAgBxE,EAAY,aAAe,kBACrFnjB,EAAAA,cAAA,UAAM8sD,GAAe,KAAIr6C,GAAY,KACrCzS,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,mBAAArQ,OAA+B,qBAAbs8C,EAAkC,QAAuB,cAAbA,EAA2B,YAAc,QAAO,kBAAiB,KACnJyO,GACE7qD,KAAKC,EAAE,6CACPD,KAAKC,EAAE,+CAKjB0hB,GACAnjB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,6CAA6CtQ,UAAU,4BAC/ErB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,mCAKrBzB,EAAAA,cAACuW,EAAAA,QAAK,CACJnB,QAASu3C,GACTh2C,YAAahD,GACb9N,KAAM0lD,GACNn1C,eAAe,EACfkX,WAAW,UACXjX,oBAAqB8M,EACrBtQ,YAAaA,GACbnM,QAASA,GACT7E,KAAK,YACL+R,QAASA,GACTgD,eAjOe,CACrB,CAAE/S,MAAO,KAAMiF,MAAO,MACtB,CAAEjF,MAAO,KAAMiF,MAAO,MACtB,CAAEjF,MAAO,KAAMiF,MAAO,OA+NhB2N,QAAS,SAAC9C,GAAI,OAAKqB,GAAc,CAAErB,KAAAA,GAAO,EAC1C+C,WAAY,SAAC9C,GAAO,OAAKoB,GAAc,CAAEpB,QAAAA,EAASD,KAAM,GAAI,EAC5DlB,WAAYA,MAMtB,C,4HCvRA,UAlEsB,SAAHxN,GAUW,IAVL+nD,EAAW/nD,EAAX+nD,YACAntC,EAAuB5a,EAAvB4a,wBACAlO,EAAa1M,EAAb0M,cACAyR,EAAane,EAAbme,cACAxR,EAAQ3M,EAAR2M,SACAkwC,EAAgB78C,EAAhB68C,iBACAC,EAAsB98C,EAAtB88C,uBACAjwC,EAAqB7M,EAArB6M,sBACA8pC,EAAQ32C,EAAR22C,SACAmP,EAAM9lD,EAAN8lD,OAGvB5lD,GAA0DC,EAAAA,EAAAA,UAAS,MAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAjE8nD,EAAqB5nD,EAAA,GAAEylD,EAAwBzlD,EAAA,GAEtD,OACErF,EAAAA,cAAA,OAAKqB,UAAU,kBACbrB,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAA,KAAGqB,UAAU,4BACXrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,oCAAqC,CAAEI,KAAM,MAAc7B,EAAAA,cAAA,YAAM,KAAQ,IAAGgtD,GAE7FhtD,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,uCAEdzB,EAAAA,cAAA,OAAKuI,IAAK2kD,EAAkB5kD,IAAI,iBAAiBlG,MAAO,IAAKC,OAAQ,OAGrE4qD,GACAjtD,EAAAA,cAAA,OAAKqB,UAAU,2BACbrB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,sCAAqC,KACzDnQ,KAAKC,EAAE,+CAKjBzB,EAAAA,cAACmtD,EAAAA,QAAO,CACNhqC,WAAW,EACXtD,wBAAyBA,EACzBlO,cAAeA,EACfyR,cAAeA,EACfxR,SAAUA,EACVE,sBAAuBA,IAGzB9R,EAAAA,cAACotD,EAAAA,QAAS,CACRjqC,WAAW,EACXy6B,SAAS,mBACTjsC,cAAeA,EACf/N,IAAI,mBACJgnD,cAAc,8BACdC,qBAAqB,OACrB/I,iBAAkBA,EAClBC,uBAAwBA,EACxB+I,yBAA0BA,EAC1BlP,SAAUA,EACVmP,OAAQA,IAGV/qD,EAAAA,cAAC8oB,EAAAA,QAAY,CACX3F,WAAW,EACXxR,cAAeA,IAKvB,C,4HCVA,UAtDoC,SAAH1M,GAAgE,IAA1DuW,EAASvW,EAATuW,UAAW9F,EAAWzQ,EAAXyQ,YAAa3B,EAAQ9O,EAAR8O,SAAU+O,EAAgB7d,EAAhB6d,iBAEvE3d,GAA8BC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAtCuB,EAAOrB,EAAA,GAAEgjC,EAAUhjC,EAAA,GAE1BI,GAAuCO,EAAAA,EAAAA,GAAYsF,EAAAA,oBAAqB,CACtE1F,YAAa,SAAAC,GACNA,EAAKc,QACRmc,EAAmBA,EAAiBT,GAAcA,IAEtD,IACA/b,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GANK4nD,EAAiB/mD,EAAA,GAAIK,EAAKL,EAAA,GAALK,MActB0b,EAAa,WACjBgmB,GAAW,GACX3yB,GACF,EAGA,OACE1V,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,4BACX/xC,UAAWA,EACX9F,YAAaA,GAExB/O,GAAS3G,EAAAA,cAACwtD,EAAAA,QAAiB,MAE7BxtD,EAAAA,cAAA,OAAKqB,UAAU,uCACXG,KAAKC,EAAE,qCAGXzB,EAAAA,cAAA,OAAKqB,UAAU,0CACXG,KAAKC,EAAE,oCAGTiF,IAAYC,GAAS3G,EAAAA,cAACkuB,EAAAA,WAAU,MAElCluB,EAAAA,cAAA,OAAKqB,UAAU,8CACbrB,EAAAA,cAAA,OAAKqB,UAAS,gCAAAC,OAAkCoF,EAAU,WAAa,IAAMhF,QA9B5D,WACrB2mC,GAAW,GACXglB,EAAkB,CAAExlD,UAAW,CAAEkM,SAAAA,IACnC,GA4BUvS,KAAKC,EAAE,8CAEXzB,EAAAA,cAAA,OAAKqB,UAAS,0BAAAC,OAA4BoF,EAAU,WAAa,IAAMhF,QAASgU,GAC5ElU,KAAKC,EAAE,8CAMnB,C,sECvBA,UAjCkB,SAAHwD,GAOyB,IAPnBi3B,EAAiBj3B,EAAjBi3B,kBACAxmB,EAAWzQ,EAAXyQ,YACA+3C,EAAUxoD,EAAVwoD,WACAtxB,EAAWl3B,EAAXk3B,YACAC,EAAcn3B,EAAdm3B,eACAC,EAAap3B,EAAbo3B,cACAC,EAAgBr3B,EAAhBq3B,iBACAC,EAAWt3B,EAAXs3B,YAEnB,OACEv8B,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,aACX73C,YAAaA,EACb8F,UAAW2gB,GAExBn8B,EAAAA,cAAA,SAAKu8B,GAELv8B,EAAAA,cAAA,OAAKqB,UAAU,gCACVosD,GACDztD,EAAAA,cAAA,OAAKqB,UAAU,4BAA4BK,QAAS26B,GAChDC,GAINt8B,EAAAA,cAAA,OAAKqB,UAAU,6BAA6BK,QAAS06B,GACjDF,IAMZ,C,4FCgBA,UA5C8B,SAAHj3B,GAOW,IAPLqjB,EAAerjB,EAAfqjB,gBACAd,EAAuBviB,EAAvBuiB,wBACAnF,EAAUpd,EAAVod,WACA7G,EAASvW,EAATuW,UACAwL,EAAgB/hB,EAAhB+hB,iBACAK,EAASpiB,EAAToiB,UACAW,EAAU/iB,EAAV+iB,WAI/B,OACEhoB,EAAAA,cAACstD,EAAAA,QAAa,CACZ9xC,UAAWA,EACX9F,YAAa2M,EACbkrC,WAAW,yBAEXvtD,EAAAA,cAAA,OAAKqB,UAAU,iBACbrB,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAA,KAAGqB,UAAU,iCACTgmB,EACE7lB,KAAKC,EAAE,sDACPD,KAAKC,EAAE,uDAKfzB,EAAAA,cAAA,OAAKqB,UAAU,wBACbrB,EAAAA,cAAC0tD,EAAAA,QAAgB,CACf5mC,KAAME,EACN2mC,kBAAmBnmC,KAIvBxnB,EAAAA,cAACwoB,EAAAA,QAAgB,CACfF,gBAAiBA,EACjBjB,UAAWA,EACXW,WAAYA,EACZ3F,WAAYA,KAKtB,C,mJCsIA,UA5KgC,SAAHpd,GAOsB,IAPhBsZ,EAAOtZ,EAAPsZ,QACAuE,EAAgB7d,EAAhB6d,iBACAnR,EAAa1M,EAAb0M,cACA+D,EAAWzQ,EAAXyQ,YACAyE,EAAUlV,EAAVkV,WACAqB,EAASvW,EAATuW,UACAyoC,EAAeh/C,EAAfg/C,gBACArI,EAAQ32C,EAAR22C,SAEjCz2C,GAAkDC,EAAAA,EAAAA,WAAS,GAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAzDyoD,EAAiBvoD,EAAA,GAAEwoD,EAAoBxoD,EAAA,GAC9C8M,GAA8B/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAtCzL,EAAO0L,EAAA,GAAEi2B,EAAUj2B,EAAA,GAC1BG,GAAoDnN,EAAAA,EAAAA,UAAS,IAAGoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAzDu7C,EAAkBt7C,EAAA,GAAEu7C,EAAqBv7C,EAAA,GAChDG,GAA0DvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAAlEq7C,EAAqBp7C,EAAA,GAAEq7C,EAAwBr7C,EAAA,GAEhDkN,GAAUC,EAAAA,EAAAA,MAGhBta,GAAwCO,EAAAA,EAAAA,GAAY0E,EAAAA,oBAAqB,CACvE9E,YAAa,SAAAC,GACX,IAAAqoD,EAA4BroD,EAAKsoD,mBAAzBxnD,EAAKunD,EAALvnD,MAAOiD,EAAQskD,EAARtkD,UAEdjD,GAASmc,EAAmBA,EAAiBT,EAAYzY,GAAYyY,GACxE,IACA/b,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GANK0oD,EAAkB7nD,EAAA,GAAIK,EAAKL,EAAA,GAALK,MAS7B4a,GAAwFvb,EAAAA,EAAAA,GAAY4E,EAAAA,qCAAsC,CACxIhF,YAAa,SAAAC,IACOA,EAAKuoD,gCAAfznD,OAEEmc,EAAmBA,EAAiBT,GAAY,EAAO7gB,KAAKC,EAAE,0EAA4E4gB,GACtJ,EACAhc,eAAgB,CAAC,qBACjBi3C,GAAAh4C,EAAAA,EAAAA,GAAAic,EAAA,GAPK6sC,EAA+B9Q,EAAA,GAAW+Q,EAAiC/Q,EAAA,GAAxC32C,MAUpC2nD,EAAsB,CAC1B,CAAExlD,MAAOtH,KAAKC,EAAE,uDAAwDoC,OAAO,EAAMkhB,QAAS6oC,GAC9F,CAAE9kD,MAAOtH,KAAKC,EAAE,sDAAuDoC,OAAO,EAAOkhB,SAAU6oC,IAI3FW,EAA2B,CAC/B,CAAEzlD,MAAO9I,EAAAA,cAAA,OAAKqB,UAAU,uDACbrB,EAAAA,cAAA,OAAKqB,UAAU,gEACXG,KAAKC,EAAE,mEAEXzB,EAAAA,cAAA,OAAKqB,UAAU,mEACXG,KAAKC,EAAE,uEAGpBoC,OAAO,EACPkhB,SAAUipC,GAEZ,CAAEllD,MAAO9I,EAAAA,cAAA,OAAKqB,UAAU,uDACbrB,EAAAA,cAAA,OAAKqB,UAAU,gEACXG,KAAKC,EAAE,6DAEXzB,EAAAA,cAAA,OAAKqB,UAAU,mEACXG,KAAKC,EAAE,iEAGpBoC,OAAO,EACPkhB,QAASipC,IAKP3rC,EAAa,WACjBgmB,GAAW,GACX3yB,GACF,EAGMglB,EAAe,WACfkzB,GAAqB3J,EACvBnkC,EAAQ4C,KAAK,GAADphB,OAAIqQ,EAAa,2CAAArQ,OAA0C6Y,KAEvEkuB,GAAW,GACX8lB,EAAmB,CAAEtmD,UAAW,CAAED,GAAIG,OAAOoS,GAAaq0C,OAAQV,KAEtE,EAgBA,OACE9tD,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,4BACX/xC,UAAWA,EACX9F,YAAaA,IAEvB/O,GAAS0nD,IAAsCruD,EAAAA,cAACwtD,EAAAA,QAAiB,MAEpExtD,EAAAA,cAAA,OAAKqB,UAAU,uCACXG,KAAKC,EAAE,4CAGTwiD,EAEEjkD,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,0CACXG,KAAKC,EAAE,mDAAoD,CAAEgtD,KAAM7S,KAGvE57C,EAAAA,cAAA,OAAKqB,UAAU,+CACXkd,GAGJve,EAAAA,cAAA,OAAKqB,UAAU,gDACbrB,EAAAA,cAAA,OAAKqB,UAAU,mDACXG,KAAKC,EAAE,4DAEXzB,EAAAA,cAAA,OAAKqB,UAAU,mDACXG,KAAKC,EAAE,oDAGXzB,EAAAA,cAAC2lB,EAAAA,QAAY,CACX/N,aAAc,SAAA/T,GAAK,OA5CA,SAACA,GAChCgqD,EAAqBhqD,GACrBA,GAASkqD,EAAsB,GACjC,CAyCqCW,CAAyB7qD,EAAM,EACtDhC,KAAK,oBACLlB,QAAS2tD,KAERV,GACD5tD,EAAAA,cAAA,YACE4H,GAAG,qBACH/F,KAAK,qBACL6Z,SAAU,SAAAC,GAAC,OAAIoyC,EAAsBpyC,EAAE3S,OAAOnF,MAAM,EACpD4X,YAAaja,KAAKC,EAAE,sDACpBoC,MAAOiqD,MAMf9tD,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,0CACXG,KAAKC,EAAE,kDAAmD,KAG9DzB,EAAAA,cAAC2lB,EAAAA,QAAY,CACX/N,aAAc,SAAA/T,GAAK,OAAIoqD,EAAyBpqD,EAAM,EACtDhC,KAAK,oBACLlB,QAAS4tD,KAIf7nD,IAAYC,IAAU0nD,GAAqCruD,EAAAA,cAACkuB,EAAAA,WAAU,MAExEluB,EAAAA,cAAA,OAAKqB,UAAS,8CAAAC,OAAgDoF,EAAU,WAAa,KACnF1G,EAAAA,cAAA,OAAKqB,UAAU,0CAA0CK,QAASgU,GAC9DlU,KAAKC,EAAE,8BAEXzB,EAAAA,cAAA,OAAKqB,UAAS,6CAAAC,OAA+CoF,EAAU,WAAa,IAAMhF,QAxE1E,WACpBuiD,GACK2J,GAAqBE,EAAmB7qD,SAASy3B,IACjDszB,EAAwBtzB,IAAiB0zB,EAAgC,CAAEvmD,UAAW,CAAED,GAAIG,OAAOoS,KAC1G,GAqEW8pC,EAA6DziD,KAAKC,EAAE,2DAAlDD,KAAKC,EAAE,oCAMtC,C,kHC5HA,UAhDkC,SAAHwD,GAAoD,IAA9C4iB,EAAQ5iB,EAAR4iB,SAAUhiB,EAAIZ,EAAJY,KAAM6P,EAAWzQ,EAAXyQ,YAAa8F,EAASvW,EAATuW,UAExD5T,EAAO/B,EAAP+B,GAERnC,GAAmDO,EAAAA,EAAAA,GAAYmG,EAAAA,uBAAwB,CACrFjG,OAAM,SAACC,EAAOC,GAAS,EACvBC,eAAgB,CAAC,cAAe,oBAChCT,YAAa,WACXiiB,GAAYA,IACZnS,GACF,IACApP,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GAPMkpD,EAAkBroD,EAAA,GAAAE,EAAAF,EAAA,GAAII,EAAOF,EAAPE,QAASC,EAAKH,EAALG,MAevC,OACE3G,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,+BACX/xC,UAAWA,EACX9F,YAAaA,GAExB/O,GAAS3G,EAAAA,cAACwtD,EAAAA,QAAiB,MAE7BxtD,EAAAA,cAAA,OAAKqB,UAAU,0CACXG,KAAKC,EAAE,0EAGXzB,EAAAA,cAAA,OAAKqB,UAAU,sCACXG,KAAKC,EAAE,yEAGXzB,EAAAA,cAAA,OAAKqB,UAAU,iDACbrB,EAAAA,cAAA,OAAKqB,UAAS,uCAAAC,OAAyCoF,EAAU,WAAa,IAAMhF,QAASgU,GACzFlU,KAAKC,EAAE,8BAEXzB,EAAAA,cAAA,OAAKqB,UAAS,8BAAAC,OAAgCoF,EAAU,WAAa,IAAMhF,QAxB9C,WAAH,OAC9BitD,EAAmB,CAAE9mD,UAAW,CAAED,GAAImU,SAASnU,GAAM,MAClDI,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAAE,GAuBvCnF,KAAKC,EAAE,oBAMnB,C,uICAA,UA3C2B,SAAHwD,GAA4D,IAAtD4iB,EAAQ5iB,EAAR4iB,SAAUhiB,EAAIZ,EAAJY,KAAM6P,EAAWzQ,EAAXyQ,YAAa8F,EAASvW,EAATuW,UAAWozC,EAAM3pD,EAAN2pD,OAE5D/sD,EAAagE,EAAbhE,KAAM+F,EAAO/B,EAAP+B,GAEdnC,GAA8CO,EAAAA,EAAAA,GAAYiG,EAAAA,eAAgB,CACxE/F,OAAM,SAACC,EAAOC,GAAS,EACvBC,eAAgB,CAAC,cAAe,oBAChCT,YAAa,WACXiiB,GAAYA,IACZnS,IACIk5C,GACF3zC,OAAOrR,SAAS68C,OAAO,UAE3B,IACAngD,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GAVMopD,EAAavoD,EAAA,GAAAE,EAAAF,EAAA,GAAII,EAAOF,EAAPE,QAASC,EAAKH,EAALG,MAiBlC,OACE3G,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,uBACX/xC,UAAWA,EACX9F,YAAaA,GAExB/O,GAAS3G,EAAAA,cAACwtD,EAAAA,QAAiB,MAE7BxtD,EAAAA,cAAA,OAAKuI,IAAKumD,EAAiB1sD,MAAO,IAAKC,OAAQ,IAAKiG,IAAI,eAExDtI,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,gDAAiD,CAAEmyB,QAAS/xB,GAAQ,MAE9E6E,IAAYC,GAAS3G,EAAAA,cAACkuB,EAAAA,WAAU,MAElCluB,EAAAA,cAAA,OAAKqB,UAAS,0BAAAC,OAA4BoF,EAAU,WAAa,IAC5DhF,QAnBmB,WAAH,OACvBmtD,EAAc,CAAEhnD,UAAW,CAAEC,MAAO,CAAEF,GAAImU,SAASnU,GAAM,OACtDI,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAAE,GAkBzCnF,KAAKC,EAAE,mBAIjB,C,wICDA,UAvCwB,SAAHwD,GAA4D,IAAtDyQ,EAAWzQ,EAAXyQ,YAAa6F,EAAMtW,EAANsW,OAAQlV,EAAcpB,EAAdoB,eAAgBmV,EAASvW,EAATuW,UAE9D/V,GAA+CO,EAAAA,EAAAA,GAAYgJ,EAAAA,mBAAoB,CAC7E9I,OAAM,SAACC,EAAOC,GAAS,EACvBC,eAAgBA,GAAkB,GAClCT,YAAa,WACX8P,GACF,IACApP,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GANKspD,EAAgBzoD,EAAA,GAAAE,EAAAF,EAAA,GAAII,EAAOF,EAAPE,QAASC,EAAKH,EAALG,MAepC,OACE3G,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,oBACX/xC,UAAWA,EACX9F,YAAaA,GAExB/O,GAAS3G,EAAAA,cAACwtD,EAAAA,QAAiB,MAE7BxtD,EAAAA,cAAA,OAAKuI,IAAKumD,EAAiB1sD,MAAO,IAAKC,OAAQ,IAAKiG,IAAI,eAExDtI,EAAAA,cAAA,KAAGqB,UAAU,QAASG,KAAKC,EAAE,mCAE3BiF,IAAYC,GAAS3G,EAAAA,cAACkuB,EAAAA,WAAU,MAElCluB,EAAAA,cAAA,OAAKqB,UAAS,0BAAAC,OAA4BoF,EAAU,WAAa,IAC5DhF,QArBS,WAChB,IAAMoG,EAAQ,CAACF,GAAImU,SAASR,IAE5BwzC,EAAiB,CAAElnD,UAAW,CAAEC,MAAAA,KAC7BE,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAC/C,GAiBQnF,KAAKC,EAAE,mBAKjB,C,8JCsDA,UA1F+B,SAAHwD,GAA+D,IAAzD0M,EAAa1M,EAAb0M,cAAe6J,EAASvW,EAATuW,UAAW9F,EAAWzQ,EAAXyQ,YAAayE,EAAUlV,EAAVkV,WAEjE2F,GAAUC,EAAAA,EAAAA,MAEhB5a,GAA8BC,EAAAA,EAAAA,UAAS,MAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAArCuB,EAAOrB,EAAA,GAAEgjC,EAAUhjC,EAAA,GAC1B8M,GAAwC/M,EAAAA,EAAAA,UAAS,GAAEgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA5C68C,EAAY58C,EAAA,GAAE68C,EAAe78C,EAAA,GAEpC4R,GAA0BC,EAAAA,EAAAA,GAAazT,EAAAA,sBAAuB,CAC5Dw+C,aAAAA,EACAppD,YAAa,SAAAC,GACX,IAAAqpD,EAAuCrpD,EAAKspD,gBAApCC,EAAmBF,EAAnBE,oBAEM,SAFoBF,EAALxrD,QAG3Boc,EAAQ4C,KAAK,GAADphB,OAAIqQ,EAAa,kCAAArQ,OAAiC8tD,IAC9D/mB,GAAW,GACX3yB,IAEJ,IAVKy5C,GAWL7pD,EAAAA,EAAAA,GAAA0e,EAAA,GAXoB,GAatBve,GAAkCO,EAAAA,EAAAA,GAAYwE,EAAAA,cAAe,CAC3D5E,YAAa,SAAAC,GACX,IAAQwpD,EAAcxpD,EAAKypD,aAAnBD,UAEJA,IACFJ,EAAgB,KAChBE,EAAgB,CAAEtnD,UAAW,CAAED,GAAIG,OAAOsnD,MACvCrnD,OAAM,SAAArB,GACL0hC,GAAW,GACXpgC,QAAQC,IAAI,QAASvB,EACvB,IAEN,IACAL,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GAbK6pD,EAAYhpD,EAAA,GAAIK,EAAKL,EAAA,GAALK,MAuBvB,OACE3G,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,2BACX/xC,UAAWA,EACX9F,YAAaA,GAE1B1V,EAAAA,cAAA,OAAKuI,IAAKgnD,EAAcntD,MAAO,IAAKC,OAAQ,IAAKiG,IAAI,eAErDtI,EAAAA,cAAA,OAAKqB,UAAU,sCACXG,KAAKC,EAAE,4CAGRiF,GACD1G,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAS,yCAAAC,OAA2CqF,EAAQ,QAAU,KACtEA,EAECnF,KAAKC,EAAE,mDADPD,KAAKC,EAAE,mEAKbzB,EAAAA,cAAA,OAAKqB,UAAU,yBAAyBK,QA3B7B,WACjB2mC,GAAW,GACXinB,EAAa,CAAEznD,UAAW,CAAED,GAAIG,OAAOoS,MACpCnS,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAC/C,GAwBaA,EAECnF,KAAKC,EAAE,qDADPD,KAAKC,EAAE,iDAOfiF,GACA1G,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,+CACXG,KAAKC,EAAE,oDAGXzB,EAAAA,cAAA,OAAKqB,UAAU,iDACXG,KAAKC,EAAE,yDAGXzB,EAAAA,cAACkuB,EAAAA,WAAU,OAKrB,C,4JC8BA,UApHwB,SAAHjpB,GAA8G,IAAxG4a,EAAuB5a,EAAvB4a,wBAAyBmD,EAAkB/d,EAAlB+d,mBAAoBzC,EAAgBtb,EAAhBsb,iBAAkB1O,EAAM5M,EAAN4M,OAAQoR,EAAyBhe,EAAzBge,0BAEhG9d,GAA0CC,EAAAA,EAAAA,UAAS,CAAC,GAAEC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA/CqqD,EAAanqD,EAAA,GAAEoqD,EAAgBpqD,EAAA,IAEtCwP,EAAAA,EAAAA,YAAU,WACRmO,EACI0sC,EAAuB,CAAE7nD,UAAW,CAAED,GAAI2Y,KAAsBvY,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,IAC1G8oD,EAAiB,CAAC,EACxB,GAAG,CAACzsC,IAEJ,IA4BM2sC,EA5BN3rC,GAAiEC,EAAAA,EAAAA,GAAa5W,EAAAA,uBAAwB,CACpGzH,YAAa,SAAAC,GAAI,OAAIA,EAAK+D,UAAY6lD,EAAiB5pD,EAAK+D,SAAS,IACrEsa,GAAA5e,EAAAA,EAAAA,GAAA0e,EAAA,GAFK4rC,EAAgB1rC,EAAA,GAAAoT,EAAApT,EAAA,GAAa2rC,EAAgBv4B,EAAzB5wB,QAA2BC,EAAK2wB,EAAL3wB,MAItD8wB,GAAkGxT,EAAAA,EAAAA,GAAa3T,EAAAA,2BAA4B,CACzI1K,YAAa,SAAAC,GACX,IAAQ+B,EAAO/B,EAAK8b,MAAM/X,SAAlBhC,GACRA,GAAMgoD,EAAiB,CAAE/nD,UAAW,CAAED,GAAAA,KAAOI,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GACzF,IACAgxB,GAAAryB,EAAAA,EAAAA,GAAAmyB,EAAA,GALKi4B,EAAsB/3B,EAAA,GAAAE,EAAAF,EAAA,GAAam4B,EAA0Bj4B,EAAnCnxB,QAA4CqpD,EAAel4B,EAAtBlxB,MAQpE4X,EAYEixC,EAZFjxC,QACAyxC,EAWER,EAXFQ,mCACAC,EAUET,EAVFS,iCACAC,EASEV,EATFU,wBACAC,EAQEX,EARFW,sBACAhrC,EAOEqqC,EAPFrqC,SACAse,EAME+rB,EANF/rB,OACAre,EAKEoqC,EALFpqC,SACAka,EAIEkwB,EAJFlwB,WACAikB,EAGEiM,EAHFjM,YACAlxB,EAEEm9B,EAFFn9B,OACAqD,EACE85B,EADF95B,MAYI06B,EAAmB,SAAChS,EAAMjhC,EAAIkzC,GAClC,IAAMC,EAAQlS,GAAQjhC,EAAE,GAAA7b,OAAM88C,EAAI,OAAA98C,OAAM6b,GAAOihC,GAAQjhC,EAEvD,OAAOmzC,EAAK,GAAAhvD,OAAMgvD,EAAK,KAAAhvD,OAAI+uD,GAAS7uD,KAAKC,EAAE,gCAC7C,EAGA,OACEzB,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,mBACX73C,YAAauN,EACbzH,UAAWwH,IAErBrc,GAASopD,IAAoB/vD,EAAAA,cAACwtD,EAAAA,QAAiB,OAE/CqC,GAAoBC,MAAiCnpD,GAASopD,IAC/D/vD,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,2BAA2B0sB,MAAO,MAG1D1O,OAAOC,KAAKkwC,GAAevsD,QAC7BjD,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,gCACVuD,MAAO,CAAEuuC,gBAAgB,OAAD7xC,OAAS+wB,EAAOpvB,OAASovB,EAAO,GAAGk+B,cAAgBC,EAAc,QAE9FxwD,EAAAA,cAAA,OAAKqB,UAAU,8BA9BjBsuD,EAAaj6B,EAAM7jB,KACRwN,OAAOyV,QAAQY,GAAO/tB,KAAI,SAAA6Q,GAAA,IAAA4B,GAAA9U,EAAAA,EAAAA,GAAAkT,EAAA,GAAO3U,GAAFuW,EAAA,GAAOA,EAAA,YAAQvW,IAAU8rD,EAAa9rD,EAAM,IAEnF8rD,IA+BD3vD,EAAAA,cAAA,OAAKqB,UAAU,6BACXkd,GAGJve,EAAAA,cAAA,OAAKqB,UAAU,oCACbrB,EAAAA,cAAA,WACEA,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAM,OAAQC,KAAM,KAC1BN,KAAKC,EAAE,8CAEXzB,EAAAA,cAAA,WAAOowD,EAAiBjrC,EAAUse,EAAQre,GAAY,MAGxDplB,EAAAA,cAAA,OAAKqB,UAAU,oCACbrB,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,wDACdzB,EAAAA,cAAA,WACIowD,EACAF,IAA2BO,EAAAA,EAAAA,IAAyBP,GACpDC,IAAyBM,EAAAA,EAAAA,IAAyBN,GAClDtwC,EAAwByf,MAK9Bt/B,EAAAA,cAAA,OAAKqB,UAAU,oCACbrB,EAAAA,cAAA,WAAOwB,KAAKC,EAAE,sEACdzB,EAAAA,cAAA,WACIowD,EACAJ,IAAsCS,EAAAA,EAAAA,IAAyBT,GAC/DC,IAAoCQ,EAAAA,EAAAA,IAAyBR,GAC7DpwC,EAAwByf,MAK9Bt/B,EAAAA,cAAA,KAAG+I,KAAMw6C,EAAav6C,OAAO,UACzBxH,KAAKC,EAAE,oCAOrB,C,sGC9EA,UAxCgC,SAAHwD,GAA4E,IAAtE0B,EAAK1B,EAAL0B,MAAOwxC,EAAsBlzC,EAAtBkzC,uBAAwBziC,EAAWzQ,EAAXyQ,YAAahP,EAAOzB,EAAPyB,QAAS8U,EAASvW,EAATuW,UAGtF,OACExb,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,4BACX/xC,UAAWA,EACX9F,YAAaA,GAExB/O,GAAS3G,EAAAA,cAACwtD,EAAAA,QAAiB,MAE7BxtD,EAAAA,cAAA,OAAKuI,IAAKmoD,EAAuBtuD,MAAO,IAAKC,OAAQ,IAAKiG,IAAI,wBAE5D5B,IAAYC,GACZ3G,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,MAAIqB,UAAU,uCACVG,KAAKC,EAAE,gDAGXzB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,4CAEZzB,EAAAA,cAACkuB,EAAAA,WAAU,OAIbiqB,IAA2BzxC,GAC3B1G,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,MAAIqB,UAAU,uCACVG,KAAKC,EAAE,+CAGXzB,EAAAA,cAAA,KAAGqB,UAAU,yBAAyB0H,KAAMovC,EAAwBnvC,OAAO,UACvExH,KAAKC,EAAE,kDAOrB,C,0FCKA,UA/CoB,SAAHwD,GAIY,IAJNyQ,EAAWzQ,EAAXyQ,YACE63C,EAAUtoD,EAAVsoD,WACA/xC,EAASvW,EAATuW,UACAvZ,EAAGgD,EAAHhD,IAyBvB,OACEjC,EAAAA,cAAC2wD,IAAK,CACJC,aAAa,EACbvvD,UAAS,oBAAAC,OAAsBisD,GAAc,IAC7CsD,aAActD,EACduD,OAAQt1C,EACRu1C,eAAgBr7C,GAAe,KAC/B9Q,MA7BiB,CACnBosD,QAAS,CACPC,gBAAiB,kBACjBp2C,IAAK,IACLq2C,SAAU,OACVC,OAAQ,OACRC,eAAgB,aAElBjlC,QAAS,CACPtR,IAAK,MACLqE,KAAM,MACNk2B,MAAO,OACPsE,OAAQ,OACR9qB,YAAa,OACbwkB,UAAW,wBACXie,cAAe,UACf7kC,WAAY,QACZshB,aAAc,MACdxrC,SAAU,cAaVtC,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,8BAA8BK,QAASgU,GACpD1V,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAE7B9B,EAAAA,cAAA,UAAQuI,IAAKtG,EAAKs/C,YAAY,OAItC,C,gFC/BA,UAZmB,SAAHt8C,GAAoD,IAA9CyQ,EAAWzQ,EAAXyQ,YAAa9N,EAAE3C,EAAF2C,GAAI4P,EAAUvS,EAAVuS,WAAYgE,EAASvW,EAATuW,UAEjD,OACExb,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,cACX/xC,UAAWA,EACX9F,YAAaA,GAC1B1V,EAAAA,cAACuX,EAAAA,QAAK,CAACxF,UAAWnK,EAAIyR,OAAO,EAAM7B,WAAYA,IAGrD,C,0HC6EA,UAzFqB,SAAHvS,GAAyE,IAAnEqsD,EAAMrsD,EAANqsD,OAAQpwB,EAAQj8B,EAARi8B,SAAU1T,EAAoBvoB,EAApBuoB,qBAAsB+jC,EAAmBtsD,EAAnBssD,oBACxDC,GAASC,EAAAA,EAAAA,aACTC,GAAWC,EAAAA,EAAAA,eAEjBxsD,GAA8BC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAtCuB,EAAOrB,EAAA,GAAEgjC,EAAUhjC,EAAA,GAC1B8M,GAAwC/M,EAAAA,EAAAA,UAAS,MAAKgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA/Cwc,EAAYvc,EAAA,GAAEw/C,EAAex/C,EAAA,GAE9By/C,EAAgB,SAACnuD,GACrB2kC,EAAW3kC,GACX6tD,EAAoB7tD,EACtB,EAEMiU,EAAY,eAAAa,GAAAs5C,EAAAA,EAAAA,GAAAC,IAAAA,MAAG,SAAAC,EAAOplB,GAAK,IAAAxmC,EAAA,OAAA2rD,IAAAA,MAAA,SAAAE,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,OAGR,GAAvBvlB,EAAMqE,iBAEDugB,GAAWE,EAAQ,CAAAO,EAAAE,KAAA,eAAAF,EAAAG,OAAA,iBAMJ,OAApBP,GAAc,GAAMI,EAAAE,KAAA,EAECX,EAAOa,eAAe,CAEzCX,SAAAA,EACAY,cAAe,CACbC,WAAYt3C,OAAOrR,SAASb,MAE9BypD,SAAU,gBACT,KAAD,GAPIpsD,EAAM6rD,EAAAQ,MASDC,eAAiBtsD,EAAOssD,cAAcjwC,QAA0C,cAAhCrc,EAAOssD,cAAcjwC,SAC9EkM,GAAgBijC,EAAgB,MAChCC,GAAc,GACdrkC,KAGEpnB,EAAOO,QAEa,qBAAtBP,EAAOO,MAAMyR,MAA+Bw5C,EAAgBxrD,EAAOO,MAAMgP,SACzE1N,QAAQC,IAAI9B,EAAOO,MAAMgP,SACzBk8C,GAAc,IACf,wBAAAI,EAAAU,OAAA,GAAAX,EAAA,KACF,gBAlCiBY,GAAA,OAAAp6C,EAAAlV,MAAA,KAAAN,UAAA,KAqClB,OACEhD,EAAAA,cAAA,QAAMgY,SAAUL,GAEZgX,GACA3uB,EAAAA,cAAA,OAAKqB,UAAU,gCACXstB,GAIN3uB,EAAAA,cAAA,OAAKqB,UAAU,+BACbrB,EAAAA,cAAC6yD,EAAAA,eAAc,OAGjB7yD,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,mCACXG,KAAKC,EAAE,kBAAmB,KAE9BzB,EAAAA,cAAA,OAAKqB,UAAU,mCACXiwD,IAINtxD,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,mCACXG,KAAKC,EAAE,6CAA8C,KAEzDzB,EAAAA,cAAA,OAAKqB,UAAU,mCACX6/B,KAKRlhC,EAAAA,cAAA,OAAKqB,UAAS,6BAAAC,OAA+BoF,EAAU,WAAa,IAAMhF,QAASiW,GAC/EjR,EAAU1G,EAAAA,cAACif,EAAAA,QAAM,CAACnd,KAAM,KAASN,KAAKC,EAAE,gBAIlD,C,6JCTA,UAtEqB,SAAHwD,GAMW,IANLyQ,EAAWzQ,EAAXyQ,YACAmY,EAAS5oB,EAAT4oB,UACAL,EAAoBvoB,EAApBuoB,qBACA3b,EAAM5M,EAAN4M,OACA2J,EAASvW,EAATuW,UACAmR,EAAoB1nB,EAApB0nB,qBAGhBmmC,GAAgBC,EAAAA,EAAAA,GAAWpmC,EAAsB,CAAE9a,OAAQA,EAAO+oB,MAAM,KAAK,KAEnFz1B,GAA4BC,EAAAA,EAAAA,UAAS,MAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAnCmsD,EAAMjsD,EAAA,GAAE2tD,EAAS3tD,EAAA,GACxB8M,GAAwC/M,EAAAA,EAAAA,UAAS,MAAKgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA/C8gD,EAAY7gD,EAAA,GAAE8gD,EAAe9gD,EAAA,GACpCG,GAAgCnN,EAAAA,EAAAA,UAAS,MAAKoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAvC2uB,EAAQ1uB,EAAA,GAAE2gD,EAAW3gD,EAAA,GAC5BG,GAAgDvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAAxDygD,EAAgBxgD,EAAA,GAAE2+C,EAAmB3+C,EAAA,IAAoBiX,EAAAA,EAAAA,IAErDnkB,EAAAA,EAAAA,GAASqL,EAAAA,kBAAmB,CACrClJ,UAAW,CAAED,GAAIimB,GACjBjoB,YAAa,SAACC,GACZ,GAAIA,EAAM,CACR,IAAAwtD,EAAwCxtD,EAAKytD,aAArCL,EAAYI,EAAZJ,aAAcM,EAAaF,EAAbE,cACtBP,EAAUvmC,WAAY8mC,EAAcC,cAAe,KAAK9mC,QAAQ,IAChEwmC,EAAgBD,GAChBE,EAAYI,EAAcryB,SAASr/B,KACrC,CACF,KAGF,IAcMlB,EAAU,CAAEsyD,aAAAA,EAAcQ,WAdb,CACjBC,MAAO,SACP7rD,UAAW,CACT8rD,gBAAiB,UACjBC,UAAW,UACX9lB,aAAc,OAEhB+lB,MAAO,CACL,SAAU,CACRh1C,YAAa,cAQnB,OACE7e,EAAAA,cAACstD,EAAAA,QAAa,CACZC,WAAW,gBACX/xC,UAAWA,EACX9F,YAAa09C,EAAmB,KAAO19C,GAEvC1V,EAAAA,cAAA,MAAIqB,UAAU,2BAA4BG,KAAKC,EAAE,oBAE/CwxD,GACAjzD,EAAAA,cAAC8zD,EAAAA,SAAQ,CAACtC,OAAQsB,EAAenyD,QAASA,GACxCX,EAAAA,cAAC+zD,EAAAA,QAAY,CACXzC,OAAQA,EACRpwB,SAAUA,EACV1T,qBAAsBA,EACtB+jC,oBAAqBA,MAKxB0B,GAAiBjzD,EAAAA,cAACif,EAAAA,QAAM,CAACnd,KAAM,KAIxC,C,0FCTA,UAhEsB,SAAHmD,GAMU,IANJgE,EAAQhE,EAARgE,SACAyM,EAAWzQ,EAAXyQ,YACAs+C,EAAY/uD,EAAZ+uD,aACAzG,EAAUtoD,EAAVsoD,WACA/xC,EAASvW,EAATuW,UACAy4C,EAAUhvD,EAAVgvD,WA0BvB,OACEj0D,EAAAA,cAAC2wD,IAAK,CACJC,aAAa,EACbvvD,UAAS,kBAAAC,OAAoBisD,GAAc,IAC3CsD,aAActD,EACduD,OAAQt1C,EACRu1C,eAAgBr7C,GAAe,KAC/B9Q,MA9BiB,CACnBosD,QAAS,CACPC,gBAAiB,kBACjBp2C,IAAK,IACLq2C,SAAU,OACVC,OAAQ,OAER+C,eAAgB,UAElB/nC,QAAS,CACPtR,IAAK,MACLqE,KAAM,MACNk2B,MAAO,OACPsE,OAAQ,OACR9qB,YAAa,OACbwkB,UAAW,wBACXie,cAAe,UACf7kC,WAAY,QACZshB,aAAc,MACdxrC,SAAU,cAaR2xD,EAEEj0D,EAAAA,cAAA,OAAKqB,UAAU,4BACV2yD,GACDh0D,EAAAA,cAAA,OAAKqB,UAAU,4BAA4BK,QAASgU,GAClD1V,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAG7BmH,GAGJjJ,EAAAA,cAACwe,EAAAA,SAAQ,MACJw1C,GACDh0D,EAAAA,cAAA,OAAKqB,UAAU,4BAA4BK,QAASgU,GAClD1V,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAG7BmH,GAKd,C,qGC8BA,UAzF8B,SAAHhE,GAAsE,IAAhEY,EAAIZ,EAAJY,KAAM6P,EAAWzQ,EAAXyQ,YAAaimC,EAAgB12C,EAAhB02C,iBAAkBngC,EAASvW,EAATuW,UAAWogC,EAAQ32C,EAAR22C,SAEvEyD,EAAex5C,EAAfw5C,WACF8U,GAAe5O,EAAAA,EAAAA,mBAAkBlG,GAEjCkF,EAAW,SAAH/rC,GAAA,IAAMgsC,EAAQhsC,EAARgsC,SAAQ,OAC1BxkD,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAA,OAAKqB,UAAU,4CACbrB,EAAAA,cAAA,OAAKqB,UAAU,6CAA8CmjD,EAAS3iD,MACtE7B,EAAAA,cAAA,QACEqB,UAAU,mBACV,WAAUG,KAAKC,EAAE,6CAADH,OAA8CkjD,EAAS58C,IAAM,CAAEg0C,SAAAA,IAC/E,aAAW,mBACX,oBAAAt6C,OAAmBkjD,EAAS58C,GAAE,aAC9B5H,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,eAAeC,KAAM,MAEpC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,SAAAtG,OAAWkjD,EAAS58C,GAAE,YACxB8W,MAAM,SACNtG,KAAK,WAETpY,EAAAA,cAAA,OAAKqB,UAAS,6CAAAC,OAA+CkjD,EAAS37C,MAAQ,OAAS,OACjF27C,EAAS37C,OAAS7I,EAAAA,cAAC2yB,EAAAA,WAAU,CAAC5L,MAAM,UAAU/kB,KAAK,QAAQ0iD,SAAU,KACvEF,EAAS37C,MAAK,IAAAvH,OAAOkjD,EAAS37C,OAAU27C,EAASG,qBAEhD,EAGT,OACE3kD,EAAAA,cAACstD,EAAAA,QAAa,CACZC,WAAW,2BACX/xC,UAAWA,EACX9F,YAAaA,GAEb1V,EAAAA,cAAA,OAAKqB,UAAU,sCACXG,KAAKC,EAAE,0CAGXzB,EAAAA,cAAA,OAAKqB,UAAU,qCAEbrB,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAACklD,EAAAA,WAAU,CAACr8C,MAAOw2C,EAAYj9C,MAAO,MAEtCpC,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAU,gCACVQ,KAAI,sBAAAP,OAAyC,cAAjB6yD,GAAiD,SAAjBA,EAA0B,OAASA,GAC/F/xD,MAAO,IACPC,OAAQ,MAGVrC,EAAAA,cAAA,OAAKqB,UAAU,gDACXG,KAAKC,EAAE,uDAADH,OAAwD6yD,KAGlEn0D,EAAAA,cAAA,KAAG+I,KAAM4yC,EAAkB3yC,OAAO,SAAS3H,UAAU,uCACjDG,KAAKC,EAAE,uCACTzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,OAIrC9B,EAAAA,cAAA,OAAKqB,UAAU,mCACbrB,EAAAA,cAAA,OAAKqB,UAAU,8CACXG,KAAKC,EAAE,6CAGT4d,OAAOC,KAAKzZ,GAAM8B,KAAI,SAAAy9C,GAAY,MAChB,eAAjBA,IACKv/C,EAAKu/C,GAAcC,SACnBx/C,EAAKu/C,GAAcv8C,OACpB7I,EAAAA,cAACukD,EAAQ,CAACC,SAAU3+C,EAAKu/C,GAAexhD,IAAKiC,EAAKu/C,GAAcvjD,QAAa,IAAI,IAGtFwd,OAAOC,KAAKzZ,GAAM8B,KAAI,SAAAy9C,GAAY,MAChB,eAAjBA,GACIv/C,EAAKu/C,GAAcv8C,QAClBhD,EAAKu/C,GAAcC,QACpBrlD,EAAAA,cAACukD,EAAQ,CAACC,SAAU3+C,EAAKu/C,GAAexhD,IAAKiC,EAAKu/C,GAAcvjD,QAAa,IAAI,MAQlG,C,kHCyBA,UAjH6B,SAAHoD,GAA0C,IAApCY,EAAIZ,EAAJY,KAAM6P,EAAWzQ,EAAXyQ,YAAa8F,EAASvW,EAATuW,UACjDrW,GAA8BC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAnCyc,EAAOvc,EAAA,GAAE+uD,EAAU/uD,EAAA,GAC1B8M,GAAwC/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAhDkiD,EAAYjiD,EAAA,GAAEkiD,EAAeliD,EAAA,GAO5BmM,EACN1Y,EADM0Y,QAASg2C,EACf1uD,EADe0uD,YAAap9C,EAC5BtR,EAD4BsR,YAAavP,EACzC/B,EADyC+B,GAAIyP,EAC7CxR,EAD6CwR,WAAYD,EACzDvR,EADyDuR,YAG3D3R,GAAiDO,EAAAA,EAAAA,GAC/CwF,EAAAA,qBACA,CACEtF,OAAM,SAACC,EAAOC,GAAS,EACvBR,YAAa,SAACC,GAAI,OAAMA,EAAKc,OAAS+O,GAAa,EACnDrP,eAAgB,CAAC,gCAEpBC,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GAPM+uD,EAAkBluD,EAAA,GAAAE,EAAAF,EAAA,GAAWI,GAAFF,EAALG,MAAcH,EAAPE,SASpC,OACE1G,EAAAA,cAACstD,EAAAA,QAAa,CACZC,WAAW,yBACX/xC,UAAWA,EACX9F,YAAaA,GAEb1V,EAAAA,cAAA,UAAKwB,KAAKC,EAAE,yCAEZzB,EAAAA,cAAA,OAAKqB,UAAU,qCACZG,KAAKC,EAAE,6CAA6C,KAGvDzB,EAAAA,cAAA,OAAKqB,UAAU,+CACbrB,EAAAA,cAAA,OAAKqB,UAAU,2CACbrB,EAAAA,cAAA,OAAKqB,UAAU,6CACZG,KAAKC,EAAE,gBAAgB,KAE1BzB,EAAAA,cAAA,OAAKqB,UAAU,6CACZgW,IAILrX,EAAAA,cAAA,OAAKqB,UAAU,2CACbrB,EAAAA,cAAA,OAAKqB,UAAU,6CACZG,KAAKC,EAAE,wBAAwB,KAElCzB,EAAAA,cAAA,OAAKqB,UAAU,6CACZ8V,IAILnX,EAAAA,cAAA,OAAKqB,UAAU,2CACbrB,EAAAA,cAAA,OAAKqB,UAAU,6CACZG,KAAKC,EAAE,iBAAiB,KAE3BzB,EAAAA,cAAA,OAAKqB,UAAU,6CACZ+V,IAILpX,EAAAA,cAAA,OAAKqB,UAAU,2CACbrB,EAAAA,cAAA,OAAKqB,UAAU,6CACZG,KAAKC,EAAE,iBAAiB,KAE3BzB,EAAAA,cAAA,OAAKqB,UAAU,6CACZkzD,KAKPv0D,EAAAA,cAAA,OAAKqB,UAAU,qCACZG,KAAKC,EAAE,2CAGVzB,EAAAA,cAAA,SAAIue,GAEJve,EAAAA,cAAA,OAAKqB,UAAU,wCACbrB,EAAAA,cAAA,YACEqB,UAAS,GAAAC,OAAK+yD,EAAe,QAAU,IACvCxyD,KAAK,UACLgC,MAAO+d,EACPha,GAAG,0BACH8T,SAAU,SAACC,GAAC,OA/EG,SAACA,GACtB24C,GAAgB,GAChBF,EAAWz4C,EAAE3S,OAAOnF,MACtB,CA4EyB4wD,CAAe94C,EAAE,EAClCF,YAAaja,KAAKC,EAAE,mDAErB4yD,GACCr0D,EAAAA,cAAA,OAAMqB,UAAU,yCACbG,KAAKC,EAAE,iEAAkE,CAAE6T,MAAO9T,KAAKC,EAAE,uBAK/FiF,GAAW1G,EAAAA,cAACkuB,EAAAA,WAAU,MAEvBluB,EAAAA,cAAA,OACEqB,UAAS,0BAAAC,OAA4BoF,EAAU,WAAa,IAC5DhF,QAAS,WACgB,IAAnBkgB,EAAQ3e,OACVqxD,GAAgB,GAEhBE,EAAmB,CACjB3sD,UAAW,CAAED,GAAIG,OAAOH,GAAKga,QAAAA,EAASle,MAAO,WAEhD,GAGFlC,KAAKC,EAAE,8CAIhB,C,wIC7CA,UA/DuB,SAAHwD,GAKsB,IALhBsZ,EAAOtZ,EAAPsZ,QACAuE,EAAgB7d,EAAhB6d,iBACApN,EAAWzQ,EAAXyQ,YACAyE,EAAUlV,EAAVkV,WACAqB,EAASvW,EAATuW,UACAogC,EAAQ32C,EAAR22C,SAExBz2C,GAA8BC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAtCuB,EAAOrB,EAAA,GAAEgjC,EAAUhjC,EAAA,GAE1BI,GAAuCO,EAAAA,EAAAA,GAAY8E,EAAAA,4BAA6B,CAC9ElF,YAAa,SAAAC,GACX,IAAA6uD,EAA4B7uD,EAAK8uD,kBAAzBhuD,EAAK+tD,EAAL/tD,MAAOiD,EAAQ8qD,EAAR9qD,UAEdjD,GAASmc,EAAmBA,EAAiBT,EAAYzY,GAAYyY,GACxE,IACA/b,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GANKkvD,EAAiBruD,EAAA,GAAIK,EAAKL,EAAA,GAALK,MAStB0b,EAAa,WACjBgmB,GAAW,GACX3yB,GACF,EASA,OACE1V,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,4BACX/xC,UAAWA,EACX9F,YAAaA,GAExB/O,GAAS3G,EAAAA,cAACwtD,EAAAA,QAAiB,MAE7BxtD,EAAAA,cAAA,OAAKuI,IAAKqsD,EAAcxyD,MAAO,IAAKC,OAAQ,IAAKiG,IAAI,eAErDtI,EAAAA,cAAA,OAAKqB,UAAU,uCACXG,KAAKC,EAAE,4CAGXzB,EAAAA,cAAA,OAAKqB,UAAU,0CACXG,KAAKC,EAAE,iDAAkD,CAAEgtD,KAAM7S,KAGrE57C,EAAAA,cAAA,OAAKqB,UAAU,+CACXkd,GAGF7X,IAAYC,GAAS3G,EAAAA,cAACkuB,EAAAA,WAAU,MAElCluB,EAAAA,cAAA,OAAKqB,UAAS,0BAAAC,OAA4BoF,EAAU,WAAa,IAC5DhF,QA9Be,WACtB2mC,GAAW,GACXssB,EAAkB,CAAE9sD,UAAW,CAAED,GAAIG,OAAOoS,MAAgBnS,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GACxG,GA4BQnF,KAAKC,EAAE,mCAKjB,C,uGChBA,UA9C2B,SAAHwD,GAA+C,IAAzC0M,EAAa1M,EAAb0M,cAAe6J,EAASvW,EAATuW,UAAWnT,EAAOpD,EAAPoD,QAEhDwsD,EAAS,0CACTC,EAAa,2LACbC,EAAQ,GAAAzzD,OAAMqQ,EAAa,kBAKjC,OACE3R,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,uBACX/xC,UAAWA,EACX9F,YALW,WAAH,OAASuF,OAAOrR,SAASb,KAAOgsD,CAAS,EAMjDf,cAAc,GAEzBh0D,EAAAA,cAAA,OAAKuI,IAAKysD,EAAkB1sD,IAAI,iBAAiBjH,UAAU,WAAW,aAAW,OAAOe,MAAO,MAE/FpC,EAAAA,cAAA,UACIwB,KAAKC,EAAE,qCAGXzB,EAAAA,cAAA,KAAGqB,UAAU,wCACTG,KAAKC,EAAE,wCAGXzB,EAAAA,cAAA,KAAGqB,UAAU,qCACTG,KAAKC,EAAE,+CAGXzB,EAAAA,cAAA,KAAG+I,KAAkB,OAAZV,EAAmBwsD,EAASC,EAAY9rD,OAAO,UACpDxH,KAAKC,EAAE,gDAGXzB,EAAAA,cAAA,KAAGqB,UAAU,kCAAkC0H,KAAkB,OAAZV,EAAmBwsD,EAASC,EAAY9rD,OAAO,UAClGhJ,EAAAA,cAAA,OAAKqB,UAAU,mCAAmCkH,IAAK0sD,EAAc3sD,IAAI,eAG3EtI,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAI43C,EAAU1zD,UAAU,uCAC1BG,KAAKC,EAAE,0DAKnB,C,sECwBA,UAtEgC,SAAHwD,GAAkD,IAA5C0+B,EAAY1+B,EAAZ0+B,aAAcjuB,EAAWzQ,EAAXyQ,YAAa8F,EAASvW,EAATuW,UAE5D,OACExb,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,6BACX/xC,UAAWA,EACX9F,YAAaA,EACbs+C,cAAc,GAE3Bh0D,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,8DAEbzB,EAAAA,cAAA,KAAGqB,UAAU,2CACTG,KAAKC,EAAE,oEAGXzB,EAAAA,cAAA,OAAKqB,UAAU,4CACbrB,EAAAA,cAAA,OAAKqB,UAAU,qDACXG,KAAKC,EAAE,oEAAqE,KAGhFzB,EAAAA,cAAA,OAAKqB,UAAU,iDACbrB,EAAAA,cAAA,OAAKqB,UAAU,0DAAyD,KAClEG,KAAKC,EAAE,0BAA0B8kD,IAAK,KAE5CvmD,EAAAA,cAAA,OAAKqB,UAAU,uDAAsD,SAC3DG,KAAKC,EAAE,uEAInBzB,EAAAA,cAAA,OAAKqB,UAAU,iDACbrB,EAAAA,cAAA,OAAKqB,UAAU,0DAAyD,KAClEG,KAAKC,EAAE,0BAA0ByzD,MAAO,KAE9Cl1D,EAAAA,cAAA,OAAKqB,UAAU,uDAAsD,UAC1DG,KAAKC,EAAE,uEAIpBzB,EAAAA,cAAA,OAAKqB,UAAU,iDACbrB,EAAAA,cAAA,OAAKqB,UAAU,0DAAyD,KAClEG,KAAKC,EAAE,0BAA0ByzD,MAAO,KAE9Cl1D,EAAAA,cAAA,OAAKqB,UAAU,uDAAsD,UAC1DG,KAAKC,EAAE,uEAIpBzB,EAAAA,cAAA,OAAKqB,UAAU,iDACbrB,EAAAA,cAAA,OAAKqB,UAAU,0DAAyD,KAClEG,KAAKC,EAAE,0BAA0ByzD,MAAO,KAE9Cl1D,EAAAA,cAAA,OAAKqB,UAAU,uDAAsD,UAC1DG,KAAKC,EAAE,wEAKtBzB,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAA,OAAKqB,UAAU,gFAAgFK,QAASiiC,GACpGniC,KAAKC,EAAE,8BAEXzB,EAAAA,cAAA,OAAKqB,UAAU,qCAAqCK,QAASgU,GACzDlU,KAAKC,EAAE,6DAMnB,C,mJC2BA,UAxF+B,SAAHwD,GAA6D,IAAvD4gB,EAAQ5gB,EAAR4gB,SAAUsvC,EAAQlwD,EAARkwD,SAAUrvC,EAAS7gB,EAAT6gB,UAAWhC,EAAK7e,EAAL6e,MAAOjc,EAAS5C,EAAT4C,UAEtE1C,GAAsCC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA9Cg3B,EAAW92B,EAAA,GAAE+vD,EAAc/vD,EAAA,GAClC8M,GAAgD/M,EAAAA,EAAAA,UAAS,MAAKgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAvDkjD,EAAgBjjD,EAAA,GAAEkjD,EAAmBljD,EAAA,GAC5CG,GAAwCnN,EAAAA,EAAAA,UAAS,GAAEoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA5Cy8C,EAAYx8C,EAAA,GAAEy8C,EAAez8C,EAAA,GACpCG,GAAwCvN,EAAAA,EAAAA,UAAS,MAAKwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA/C4iD,EAAY3iD,EAAA,GAAE4iD,EAAe5iD,EAAA,GAEpCoR,GAA+CC,EAAAA,EAAAA,GAAa7T,EAAAA,mBAAoB,CAC9E4+C,aAAAA,EACAppD,YAAa,SAAAC,GACPA,EAAK4vD,eAAiB5vD,EAAK4vD,cAAcC,UAC3CJ,EAAoBzvD,EAAK4vD,cAAcC,SACvCzG,EAAgB,GAEpB,IACA/qC,GAAA5e,EAAAA,EAAAA,GAAA0e,EAAA,GARK2xC,EAAgBzxC,EAAA,GAAAoT,EAAApT,EAAA,GAAIxd,EAAO4wB,EAAP5wB,QAASC,EAAK2wB,EAAL3wB,MAUpC8wB,GAAsFxT,EAAAA,EAAAA,GAAaH,EAAO,CACxGoJ,YAAa,WACbtnB,YAAa,SAAAC,GAAI,OAAI2vD,EAAgB3vD,EAAKggB,GAAUsvC,GAAY,gBAAgB,IAChFx9B,GAAAryB,EAAAA,EAAAA,GAAAmyB,EAAA,GAHKm+B,EAAej+B,EAAA,GAAAE,EAAAF,EAAA,GAAWk+B,EAAiBh+B,EAAxBlxB,MAAmCmvD,EAAmBj+B,EAA5BnxB,SAKpDmO,EAAAA,EAAAA,YAAU,WACR0gD,GAAgBQ,GAClB,GAAG,CAACR,IAGJ,IAAMQ,EAAS,WACbT,EAAoB,MACpBrG,EAAgB,KAChB0G,EAAiB,CAAE9tD,UAAW,CAAEmuD,MAAOT,KACpCvtD,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAIvB,EAAM,GACtC,EAeA,OACE3G,EAAAA,cAAA,OAAKqB,UAAU,6BAEbrB,EAAAA,cAAA,OAAK0B,QAhBe,WACtBk0D,EAAgB,CAAE/tD,UAAAA,IAClButD,GAAe,EACjB,EAamC/zD,UAAU,mCACvCrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,gBAAgBC,KAAM,KACjCgkB,GAAatkB,KAAKC,EAAE,uCAGxBzB,EAAAA,cAACstD,EAAAA,QAAa,CAACC,WAAW,qBACX73C,YAjBM,WACvB0/C,GAAe,GACfnG,EAAgB,GAChBuG,EAAgB,MAChBF,EAAoB,KACtB,EAamB95C,UAAW2gB,IAErBx1B,GAASkvD,IAAsB71D,EAAAA,cAACwtD,EAAAA,QAAiB,MAEpDxtD,EAAAA,cAAA,OAAKuI,IAAK0tD,EAAW3tD,IAAI,aAAajG,OAAQ,IAAKD,MAAO,OAExDizD,GAAqB3uD,GAAYovD,GAAwBnvD,EAYvD3G,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,gCACXG,KAAKC,EAAE,6CAEXzB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,4CACZzB,EAAAA,cAACkuB,EAAAA,WAAU,OAfbluB,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,OAAKqB,UAAU,gCACXG,KAAKC,EAAE,yCAEXzB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,qCACZzB,EAAAA,cAAA,KAAGqB,UAAU,iCAAiC0H,KAAMssD,GAChD7zD,KAAKC,EAAE,kDAezB,C,kyBCyUA,UA3Z6B,SAAHwD,GAKW,IALLouB,EAAgBpuB,EAAhBouB,iBACA3d,EAAWzQ,EAAXyQ,YACA8kC,EAAev1C,EAAfu1C,gBACArgC,EAAUlV,EAAVkV,WACAqB,EAASvW,EAATuW,UAG9BrW,GAA0CC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAlD+wD,EAAa7wD,EAAA,GAAE8wD,EAAgB9wD,EAAA,GACtC8M,GAAsC/M,EAAAA,EAAAA,UAAS,MAAKgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA7C6E,EAAW5E,EAAA,GAAEgkD,EAAchkD,EAAA,GAClCG,GAAgCnN,EAAAA,EAAAA,WAAS,GAAMoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAxC8jD,EAAQ7jD,EAAA,GAAE8jD,EAAW9jD,EAAA,GAC5BG,GAA8CvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAAtD4jD,EAAe3jD,EAAA,GAAE4jD,EAAkB5jD,EAAA,GAC1CG,GAAkD3N,EAAAA,EAAAA,UAAS,CACzDqxD,MAAO,GACPrkC,UAAW,EACXI,YAAa,EACbD,MAAO,EACP3Q,QAAS,GACTzH,WAAAA,IACAnH,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAPK2jD,EAAiB1jD,EAAA,GAAE2jD,EAAoB3jD,EAAA,GAU9CgR,GAAkDC,EAAAA,EAAAA,GAAazU,EAAAA,iBAAkB,CAC/E5J,YAAa,SAAAC,GAAI,OAAIA,GAAQA,EAAK+tB,SAAWwiC,EAAevwD,EAAK+tB,QAAQ,IACzE1P,GAAA5e,EAAAA,EAAAA,GAAA0e,EAAA,GAFK4yC,EAAc1yC,EAAA,GAKrBze,GAL4Cye,EAAA,GAAnBvd,OAKyBX,EAAAA,EAAAA,GAAY0F,EAAAA,uBAAwB,CACpF7D,UAASsN,EAAAA,EAAA,GACJuhD,GAAiB,IACpBtkC,UAAW,CAACskC,EAAkBtkC,WAC9BI,YAAa,CAACkkC,EAAkBlkC,aAChCD,MAAO,CAACmkC,EAAkBnkC,SAE5B3sB,YAAa,SAACC,IACOA,EAAKgxD,oBAAhB9+C,QAEGu+C,GAAY,EACzB,KACAhwD,GAAAhB,EAAAA,EAAAA,GAAAG,EAAA,GAZKoxD,EAAmBvwD,EAAA,GAAAE,EAAAF,EAAA,GAAII,EAAOF,EAAPE,QAASC,EAAKH,EAALG,OAevCkO,EAAAA,EAAAA,YAAU,WACJ2G,GACDxE,GAAe4/C,EAAe,CAAE/uD,UAAW,CAAED,GAAIyrB,MAElDsjC,EAAqB,CACnBF,MAAO,GACPrkC,UAAW,EACXI,YAAa,EACbD,MAAO,EACP3Q,QAAS,GACTzH,WAAAA,IAEFk8C,GAAYC,GAAY,GAE5B,GAAG,CAAC96C,KAGJ3G,EAAAA,EAAAA,YAAU,WACRlO,GAASsU,OAAOE,OAAO,EAAG,EAC5B,GAAG,CAACxU,IAGJ,IAAMmwD,EAAkB,SAAClZ,GAAQ,OAC/BmZ,EAAcnZ,GACXj2C,KAAI,SAAC22B,GAAM,MAAM,CAChBvZ,QAAS2xC,EAAkB9Y,KAActf,EAAO12B,GAChDkB,MACE9I,EAAAA,cAAA,QAAMqB,UAAU,uBACbi9B,EAAOx1B,MACR9I,EAAAA,cAAA,QAAMqB,UAAU,uBAAuBi9B,EAAOtM,QAGlDnuB,MAAOy6B,EAAO12B,GACf,IACAtG,OAAO,CACNyjB,QAAyC,IAAhC2xC,EAAkB9Y,GAC3B90C,MAAOtH,KAAKC,EAAE,4DACdoC,MAAO,GACN,EA8BDmzD,GAAiB,WACjBd,EACFM,GAAmB,GAEnBL,GAAiB,EAErB,EAUMc,GAAa,SAAHz+C,GAAA,IAAMolC,EAAQplC,EAARolC,SAAQ,OAC5B59C,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAC2lB,EAAAA,QAAY,CACX/N,aAAc,SAAC/T,GAAK,OA9CC,SAACA,EAAO+5C,GACjC+Y,GAAqB,SAAChpB,GAAS,OAAAx4B,EAAAA,EAAA,GAC1Bw4B,GAAS,IAAApqC,EAAAA,EAAAA,GAAA,GACXq6C,EAAW/5C,GAAK,IAGnBmzD,IACF,CAuC+BE,CAAmBrzD,EAAO+5C,EAAS,EAC5D/7C,KAAI,GAAAP,OAAKs8C,EAAQ,SACjBj9C,QAASm2D,EAAgBlZ,KAEvB,EAIFuZ,GAAgB,SAAH/8C,GAA2B,IAArBzZ,EAAOyZ,EAAPzZ,QAASkB,EAAIuY,EAAJvY,KAChC,OACE7B,EAAAA,cAAA,OAAKqB,UAAU,gCACXV,EAAQgH,KAAI,SAAA22B,GAAM,OAClBt+B,EAAAA,cAAA,OAAKqB,UAAU,iCAAiCuC,IAAG,UAAAtC,OAAYg9B,EAAO12B,KACpE5H,EAAAA,cAAC+zB,EAAAA,QAAQ,CACPze,MAAM,QACNsC,aAAc,SAAC+D,GAAC,OAnDC,SAAC9Z,EAAMu1D,GAClC,IAAMvzD,EAAQkE,OAAOqvD,GACfC,GAAQr1C,EAAAA,EAAAA,GAAQ00C,EAAkB70D,IAClCy1D,EAAcD,EAASl1C,QAAQte,GAEjCyzD,GAAe,GACjBD,EAASn1C,OAAOo1C,EAAa,GAC7BnB,GAAiB,KAEjBkB,EAAS30C,KAAK7e,GACdmzD,MAGFL,GAAqB,SAAChpB,GAAS,OAAAx4B,EAAAA,EAAA,GAAWw4B,GAAS,IAAApqC,EAAAA,EAAAA,GAAA,GAAG1B,EAAOw1D,GAAQ,GACvE,CAqCiCE,CAAqB11D,EAAM8Z,EAAE3S,OAAOpB,GAAG,EAC5DkB,MACE9I,EAAAA,cAAA,QAAMqB,UAAU,uBACZi9B,EAAOx1B,MACT9I,EAAAA,cAAA,QAAMqB,UAAU,uBAAwBi9B,EAAOtM,QAEnDnwB,KAAI,GAAAP,OAAKg9B,EAAO12B,IAChB/D,MAAO6yD,EAAkB70D,IAAS60D,EAAkB70D,GAAMigB,SAASwc,EAAO12B,MACxE,IAId,EAGM4vD,GAAiB,SAAC91D,GAAO,OAC7B1B,EAAAA,cAAA,OACEqB,UAAU,iCACVK,QAASA,GACT1B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,gBAAgBC,KAAM,KAC9B,EAGH21D,GAAgB,SAAC/1D,GAAO,OAC5B1B,EAAAA,cAAA,OACEqB,UAAU,gCACVK,QAASA,GACT1B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,aAAaC,KAAM,KAC3B,EAGH41D,GAAkB13D,EAAAA,SACtB,WACE,SAAK02D,EAAkBD,OAASC,EAAkBD,MAAMxzD,QAA4C,IAAhCyzD,EAAkBtkC,UAKxF,GACA,CAACskC,EAAkBD,MAAOC,EAAkBtkC,YAIxCulC,GAAiB,SAAC91D,EAAM+F,GAC5B,IAAMgwD,EAAab,EAAcl1D,GAAM+E,MAAK,SAAAf,GAAI,OAAIA,EAAK+B,KAAOA,CAAE,IAElE,OAAOgwD,EAEH53D,EAAAA,cAAA,OAAKqB,UAAU,qCAAqCuC,IAAG,uBAAAtC,OAAyBsG,IAC9E5H,EAAAA,cAAA,OAAKqB,UAAU,4CACXu2D,EAAW9uD,OAEf9I,EAAAA,cAAA,OAAKqB,UAAU,4CACXu2D,EAAW5lC,QAGjB,IACN,EAGM5e,GACJpT,EAAAA,cAAA,OAAKqB,UAAU,mCACbrB,EAAAA,cAAA,OAAKqB,UAAU,mCAAkC,oBAGjDrB,EAAAA,cAAA,KAAGqB,UAAU,mCAAmC0H,KAAK,mBAAmBrH,QAAS,kBAAMy0D,GAAiB,EAAM,GAC1G30D,KAAKC,EAAE,mBACTzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,gBAAgBC,KAAM,OAKzC,OACE9B,EAAAA,cAAA,WAEEA,EAAAA,cAAA,OAAKqB,UAAS,sCAAAC,OAAwC40D,IAAkBG,EAAW,UAAY,KAC7Fr2D,EAAAA,cAACyV,EAAAA,QAAgB,CACfxM,SAAUmK,GACVykD,eAAgB,IAChBniD,YAAa,kBAAMygD,GAAiB,EAAM,EAC1C2B,OAAQvB,EACRwB,eAAgB,kBAAMvB,GAAmB,EAAM,EAC/C3gD,QAASqgD,KAIbl2D,EAAAA,cAACstD,EAAAA,QAAa,CACZ53C,YAAaA,EACb63C,WAAU,gBAAAjsD,OAAmB+0D,EAAW,YAAc,IACtDpC,YAAY,EACZz4C,UAAWA,GAEXxb,EAAAA,cAAA,OAAKqB,UAAU,0BAA0BK,QAASgU,GAChD1V,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAG7B9B,EAAAA,cAAA,OAAKqB,UAAU,yBAEXsF,GAAS3G,EAAAA,cAACwtD,EAAAA,QAAiB,MAE3B6I,EAEAr2D,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,MAAIqB,UAAU,0BACVG,KAAKC,EAAE,2CAGXzB,EAAAA,cAAA,OAAKqB,UAAU,8BACXG,KAAKC,EAAE,0CAIbzB,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,MAAIqB,UAAU,0BAAyB,oDAIvCrB,EAAAA,cAAA,KAAGqB,UAAU,2BACTG,KAAKC,EAAE,yCAGXzB,EAAAA,cAAA,UACIwB,KAAKC,EAAE,8CAGXzB,EAAAA,cAACm3D,GAAa,CAACt1D,KAAK,QAAQlB,QAASo2D,EAAcN,QAEnDz2D,EAAAA,cAAA,OAAKqB,UAAU,6BAA4B,sBAI3CrB,EAAAA,cAAA,OAAKqB,UAAU,wCACbrB,EAAAA,cAACg4D,IAAY,CACXC,YAAY,EACZC,UAAU,EACVC,MAAOC,EAAO/lC,OACdolC,cAAeA,GACfD,eAAgBA,GAChBa,sBAAsB,EACtBC,gBAAgB,EAChBC,gBAAgB,KAIpBv4D,EAAAA,cAAA,UACIwB,KAAKC,EAAE,0DAGXzB,EAAAA,cAACi3D,GAAU,CAACrZ,SAAS,cAErB59C,EAAAA,cAAA,OAAKqB,UAAU,6BAA4B,sBAI3CrB,EAAAA,cAAA,OAAKqB,UAAU,6CACbrB,EAAAA,cAACg4D,IAAY,CACXC,YAAY,EACZC,UAAU,EACVC,MAAOC,EAAO5f,WACdif,cAAeA,GACfD,eAAgBA,GAChBa,sBAAsB,EACtBC,gBAAgB,EAChBC,gBAAgB,KAIpBv4D,EAAAA,cAAA,OAAKqB,UAAU,8BAEbrB,EAAAA,cAAA,OAAKqB,UAAU,qCACXG,KAAKC,EAAE,uCAGXzB,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAAA,OAAKqB,UAAU,oCACXG,KAAKC,EAAE,4CAA6C,KAExDzB,EAAAA,cAAA,OAAKqB,UAAU,oCACXm5C,IAINx6C,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAAA,OAAKqB,UAAU,oCACXG,KAAKC,EAAE,6CAA8C,KAEzDzB,EAAAA,cAAA,OAAKqB,UAAU,oCACX2V,GAAeA,EAAYnV,OAIjC7B,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAAA,OAAKqB,UAAU,oCACXG,KAAKC,EAAE,iBAAkB,KAE7BzB,EAAAA,cAAA,OAAKqB,UAAU,oCACX2V,GAAeA,EAAYlB,QAIjC9V,EAAAA,cAAA,OAAKqB,UAAU,kCACbrB,EAAAA,cAAA,OAAKqB,UAAU,oCACXG,KAAKC,EAAE,2EAA4E,KAGvFzB,EAAAA,cAAA,OAAKqB,UAAU,oCACX2V,GAAeA,EAAYI,eAKjCsgD,IACA13D,EAAAA,cAAA,OAAKqB,UAAU,sCAAsCuG,GAAG,mBACtD5H,EAAAA,cAAA,OAAKqB,UAAU,qCAAoC,kBAInDrB,EAAAA,cAAA,OAAKqB,UAAU,qCAAqCuC,IAAI,+BACtD5D,EAAAA,cAAA,OAAKqB,UAAU,4CAA2C,6BAG1DrB,EAAAA,cAAA,OAAKqB,UAAU,4CAA2C,cAK5DrB,EAAAA,cAAA,OAAKqB,UAAU,0CACRq1D,EAAkBD,QAASC,EAAkBD,MAAMxzD,SAAWyzD,EAAkBD,MAAM9uD,KAAI,SAAA22B,GAAM,OAAIq5B,GAAe,QAASr5B,EAAO,OACnIo4B,EAAkBtkC,WAA6C,IAAhCskC,EAAkBtkC,YAAoBulC,GAAe,YAAajB,EAAkBtkC,YAG1HpyB,EAAAA,cAAA,OAAKqB,UAAU,yEACbrB,EAAAA,cAAA,OAAKqB,UAAU,kCACXG,KAAKC,EAAE,mDAGXzB,EAAAA,cAAA,YACE4H,GAAG,UACH/F,KAAK,UACL6Z,SAAU,SAAAC,GAAC,OAxQXiG,EAwQ0BjG,EAAE3S,OAAOnF,MAvQrD8yD,GAAqB,SAAChpB,GAAS,OAAAx4B,EAAAA,EAAA,GAC1Bw4B,GAAS,IACZ/rB,QAAAA,GAAO,IAHQ,IAACA,CAwQyC,EACzC/d,MAAO6yD,EAAkB90C,WAI7B5hB,EAAAA,cAAA,OACEqB,UAAS,0BAAAC,OAA4BoF,EAAU,WAAa,IAC5DhF,QAAS,kBAAMm1D,GAAqB,GAClCr1D,KAAKC,EAAE,qBAMfzB,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKgqB,wBAAyB,CAACC,OAAQzoB,KAAKC,EAAE,oDAC9CzB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,kDACZzB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,sDAU5B,EAIA,IAAMs1D,EAAgB,CACpBN,MAAO,CACL,CACE7uD,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,0DACduwB,MAAOxwB,KAAKC,EAAE,2DAEhB,CACEmG,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,2DACduwB,MAAOxwB,KAAKC,EAAE,4DAEhB,CACEmG,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,0DACduwB,MAAOxwB,KAAKC,EAAE,4DAGlB2wB,UAAW,CACT,CACExqB,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,+DACduwB,MAAOxwB,KAAKC,EAAE,gEAEhB,CACEmG,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,gEACduwB,MAAOxwB,KAAKC,EAAE,iEAEhB,CACEmG,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,+DACduwB,MAAOxwB,KAAKC,EAAE,gEAEhB,CACEmG,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,gEACduwB,MAAOxwB,KAAKC,EAAE,kEAGlB+wB,YAAa,CACX,CACE5qB,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,iEACduwB,MAAOxwB,KAAKC,EAAE,kEAEhB,CACEmG,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,kEACduwB,MAAOxwB,KAAKC,EAAE,oEAGlB8wB,MAAO,CACL,CACE3qB,GAAI,EACJkB,MAAOtH,KAAKC,EAAE,0DACduwB,MAAOxwB,KAAKC,EAAE,6DAKd22D,EAAS,CACb/lC,OAAQ,CACN,CACE/U,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,SAGvBssB,WAAY,CACV,CACEl7B,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,QAErB,CACE5O,SAAU4O,EAAQ,OAClB0kB,UAAW1kB,EAAQ,S,sEC7gBzB,UAzBoB,SAAHjnB,GAAyF,IAAnF2tB,EAAU3tB,EAAV2tB,WAAY3wB,EAAGgD,EAAHhD,IAAKgH,EAAQhE,EAARgE,SAAUgqB,EAAShuB,EAATguB,UAAWD,EAAW/tB,EAAX+tB,YAAaN,EAAQztB,EAARytB,SAAUf,EAAc1sB,EAAd0sB,eAElF,OAAIiB,EAEA5yB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAIlb,EACJZ,UAAW4xB,EACXvxB,QACEsxB,EACE,SAACrX,GACCA,EAAEs1B,iBACFtf,IAAmBA,EAAelX,QAAQoc,SAAWnE,GACrDM,EAAYN,EACd,EACA,MAENzpB,GAKJjJ,EAAAA,cAACwe,EAAAA,SAAQ,KAAGvV,EAGlB,C,gDCpBIuvD,E,iCAsCJ,UAnCyB,SAAHvzD,GAA0G,IAApGgE,EAAQhE,EAARgE,SAAU2M,EAAW3Q,EAAX2Q,YAAaiiD,EAAc5yD,EAAd4yD,eAAgBniD,EAAWzQ,EAAXyQ,YAAaC,EAAO1Q,EAAP0Q,QAASmiD,EAAM7yD,EAAN6yD,OAAQC,EAAc9yD,EAAd8yD,eAAgBliD,EAAO5Q,EAAP4Q,QAE/G1Q,GAA4CC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAjDszD,EAAcpzD,EAAA,GAAEqzD,EAAiBrzD,EAAA,IAExCwP,EAAAA,EAAAA,YAAU,WACR6jD,EAAkB7iD,EAAU,SAAW,WACvCA,IAAY2iD,EAAQzhC,YAAW,kBAAMrhB,GAAa,GAAEmiD,GAAkB,KACxE,GAAG,CAAChiD,KAGJhB,EAAAA,EAAAA,YAAU,WACJijD,IACFa,aAAaH,GACbA,EAAQzhC,YAAW,kBAAMrhB,GAAa,GAAEmiD,GAAkB,KAC1DE,IAEJ,GAAG,CAACD,IASJ,OACE93D,EAAAA,cAAA,OAAKqB,UAAS,sBAAAC,OAAwBm3D,EAAc,KAAAn3D,OAAIsU,GAAe,IAAMgjD,KAAK,UAChF54D,EAAAA,cAAA,OAAKqB,UAAU,4BAA4BK,QAR5B,WACjBi3D,aAAaH,GACb9iD,GACF,EAKoEkjD,KAAK,UACnE54D,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAE3BmH,GAAYjJ,EAAAA,cAAA,OAAKgqB,wBAAyB,CAAEC,OAAQtU,KAG5D,C,2FC6CA,UA/EqB,SAAH1Q,GAYmB,IAZb4Z,EAAW5Z,EAAX4Z,YACA5V,EAAQhE,EAARgE,SACA5H,EAAS4D,EAAT5D,UACA8qB,EAAOlnB,EAAPknB,QACA9pB,EAAM4C,EAAN5C,OACAw2D,EAAU5zD,EAAV4zD,WACA72D,EAAIiD,EAAJjD,KACA4F,EAAE3C,EAAF2C,GACAgnB,EAAW3pB,EAAX2pB,YACAw5B,EAAUnjD,EAAVmjD,WACAzoC,EAAM1a,EAAN0a,OACAonC,EAAM9hD,EAAN8hD,OACAroC,EAAKzZ,EAALyZ,MAEtBvZ,GAA4CC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAApD2zD,EAAczzD,EAAA,GAAE0zD,EAAiB1zD,EAAA,GAClC2zD,GAAyBz/C,EAAAA,EAAAA,UACzB0oC,GAAkB1oC,EAAAA,EAAAA,UAelB0/C,EAA4B,SAA5BA,EAA6Bt9C,GAC7Bq9C,EAAuBv+C,UAAYu+C,EAAuBv+C,QAAQ0oB,SAASxnB,EAAE3S,UAC/EyV,EAAAA,EAAamvB,KAAKqU,EAAgBxnC,SAClCQ,OAAO65B,oBAAoB,QAASmkB,GAExC,EAGA,OACEj5D,EAAAA,cAAA,OAAKqB,UAAS,iBAAAC,OAAmBD,GAC5Bga,IAAK29C,EACLp0D,MAAO,CAAEvC,OAAQA,EAAM,GAAAf,OAAMe,EAAM,MAAO,SAE7CrC,EAAAA,cAAA,OAAKqB,UAAU,yBACV,WAAU8qB,GAAWljB,EACrB,cAAakjB,EACb9Q,IAAK4mC,EACL,aAAW,mBACX,WAAUr6C,IAEf5H,EAAAA,cAAA,OAAKqB,UAAU,sBACVK,QAjCa,WACpBo3D,EAAiBr6C,EAAAA,EAAamvB,KAAKqU,EAAgBxnC,SAAWgE,EAAAA,EAAaqI,KAAKm7B,EAAgBxnC,SAChGs+C,GAAmBD,EACrB,EA+BSl0D,MAAO,CACPgqB,YAAaA,EAAW,GAAAttB,OAAMstB,EAAW,MAAO,IAChDw5B,WAAYA,EAAU,GAAA9mD,OAAM8mD,EAAU,MAAO,MAChDpoD,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAMG,EAAMF,KAAMO,GAAU,MAGtCrC,EAAAA,cAACye,EAAAA,EAAY,CACXy6C,UAAW,kBAAMH,GAAkB,EAAM,EACzCI,UAAW,kBApCU,SAACL,GAC1BA,GAAkB79C,OAAO45B,iBAAiB,QAASokB,GACnDt5C,GAAUA,GAAO,kBAAMlB,EAAAA,EAAamvB,KAAKqU,EAAgBxnC,QAAQ,GACnE,CAiCuB2+C,EAAmB,EAAK,EACzCx6C,QAASi6C,EACTh6C,YAAaA,GAAe,QAC5Bw6C,WAAW,EACX16C,OAAO,QACP/W,GAAIA,EACJm/C,OAAQA,EACRroC,MAAOA,GAAS,OAChB46C,YAAY,EACZlhD,KAAK,SAEHnP,GAKV,C,mJCJA,UArEuB,SAAHhE,GAAiD,IAA3C0M,EAAa1M,EAAb0M,cAAetJ,EAAOpD,EAAPoD,QAASkxD,EAAWt0D,EAAXs0D,YAEhDp0D,GAAgDC,EAAAA,EAAAA,UAAS,MAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAvDq0D,EAAgBn0D,EAAA,GAAEo0D,EAAmBp0D,EAAA,GAC5C8M,GAA0C/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAlDunD,EAAatnD,EAAA,GAAEunD,EAAgBvnD,EAAA,GACtCG,GAAsBnN,EAAAA,EAAAA,WAAS,GAAMoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA9BtQ,EAAGuQ,EAAA,GAAEonD,EAAMpnD,EAAA,IAE4DqX,EAAAA,EAAAA,IAEnEnkB,EAAAA,EAAAA,GAASmL,EAAAA,oBAAqB,CACvCjL,YAAa,SAACC,GACRA,GAAQA,EAAKsnB,eAAelqB,QAC9Bw2D,GAAoB,EAExB,KAYF,OACEz5D,EAAAA,cAAA,OAAKqB,UAAU,kBAAkBuG,GAAG,mBAElC5H,EAAAA,cAAC65D,EAAAA,QAAW,CAACtM,WAAW,mBACX/xC,UAAWk+C,EACXhkD,YATQ,WACvBikD,GAAiB,EACnB,EAQiB13D,IAAKA,IAElBjC,EAAAA,cAAA,KAAGqB,UAAU,gCAAgC0H,KAAK,KAChD/I,EAAAA,cAAA,OACEqB,UAAU,gBACVkH,IA9B0B,OAAZF,EAAmByxD,EAAiBC,EA+BlD,aAAW,OACXrkC,MAAOl0B,KAAKC,EAAE,gDACd6G,IAAK9G,KAAKC,EAAE,sCAIhBzB,EAAAA,cAAA,OAAKqB,UAAU,oCAEbrB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,8BAA8BtQ,UAAU,2BAChErB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,8CAGjBzB,EAAAA,cAAA,KAAGqB,UAAU,0BAA0BK,QAAS,kBAjC9B,SAACO,GACvB23D,EAAO33D,GACP03D,GAAiB,EACnB,CA8B4DK,CAAgBT,EAAY,GAChFv5D,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,yCAGjBzB,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,mCAAmCtQ,UAAU,2BACrErB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,6BAGf+3D,GACAx5D,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,2BAA2BtQ,UAAU,2DAC7DrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,kDAQ3B,C,2DCnCA,UAvCyB,SAAHwD,GAAkB,IAAZY,EAAIZ,EAAJY,KAElBwkB,EAAqFxkB,EAArFwkB,YAAalT,EAAwEtR,EAAxEsR,YAAayT,EAA2D/kB,EAA3D+kB,gBAAiBD,EAA0C9kB,EAA1C8kB,iBAAkBG,EAAwBjlB,EAAxBilB,QAASJ,EAAe7kB,EAAf6kB,WAE9E,OACE1qB,EAAAA,cAAA,OAAKqB,UAAU,qBACbrB,EAAAA,cAAA,MAAIgqB,wBAAyB,CAACC,OAAQzoB,KAAKC,EAAE,uCAC7CzB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,sCACZzB,EAAAA,cAAA,OAAKqB,UAAU,+BACbrB,EAAAA,cAAA,OAAKqB,UAAU,wCACXG,KAAKC,EAAE,8BAEXzB,EAAAA,cAAA,OAAKqB,UAAU,oCACX8V,GAEJnX,EAAAA,cAAA,OAAKqB,UAAU,oCACXgpB,GAEJrqB,EAAAA,cAAA,OAAKqB,UAAU,oCACXqpB,GAEJ1qB,EAAAA,cAAA,OAAKqB,UAAU,0CACXG,KAAKC,EAAE,iBAAkB,KAAEzB,EAAAA,cAAA,KAAG+I,KAAM,UAAY6hB,GAAoBA,IAEtED,GACA3qB,EAAAA,cAAA,OAAKqB,UAAU,oCACXG,KAAKC,EAAE,iBAAkB,KAAIkpB,GAGjCG,GACA9qB,EAAAA,cAAA,OAAKqB,UAAU,4CACXG,KAAKC,EAAE,mBAAoB,KAAIqpB,IAM7C,C,6HC9BA,SAASmvC,EAAOh1D,GAcqB,IAdlB8sB,EAAI9sB,EAAJ8sB,KACA2D,EAAKzwB,EAALywB,MACAvD,EAAWltB,EAAXktB,YACA+nC,EAAUj1D,EAAVi1D,WACAC,EAAQl1D,EAARk1D,SACAC,EAAan1D,EAAbm1D,cACA5+C,EAASvW,EAATuW,UACAogC,EAAQ32C,EAAR22C,SACAzhC,EAAUlV,EAAVkV,WACAkgD,EAAUp1D,EAAVo1D,WACAC,EAAsBr1D,EAAtBq1D,uBACAjyD,EAAOpD,EAAPoD,QACAib,EAAUre,EAAVqe,WACAi3C,EAA6Bt1D,EAA7Bs1D,8BACA5oD,EAAa1M,EAAb0M,cAEjBxM,GAAwCC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA7Cw5B,EAAYt5B,EAAA,GAAEm1D,EAAen1D,EAAA,GAE9Bo1D,EAAkB,CACtB,CAAE52D,MAAO,IAAKiF,MAAO,OACrB,CAAEjF,MAAO,KAAMiF,MAAO,QAGhBjD,GAASH,EAAAA,EAAAA,GAASoK,EAAAA,aAAc,CACtCjI,UAAW,CAAEsS,WAAAA,KADPtU,KAiBR,OAbAgP,EAAAA,EAAAA,YAAU,WACR,GAAIhP,EAAM,CACR,IAAM60D,EAAiB70D,EAAK46B,WAAW94B,KAAI,SAACyW,GAAI,MAAM,CACpDva,MAAOua,EAAKxW,GACZkB,MAAOsV,EAAKvc,KACb,IACD24D,EAAgBE,EAClB,MACEF,EAAgBC,EAEpB,GAAG,CAAC50D,IAIF7F,EAAAA,cAAA,OAAKqB,UAAU,iBACbrB,EAAAA,cAAC26D,EAAAA,QAAkB,CACjBhpD,cAAeA,EACf6J,UAAWA,EACXnT,QAASA,IAEXrI,EAAAA,cAAC46D,EAAAA,QAAiB,CAChBj8B,aAAcA,EACdxM,YAAaA,EACbhY,WAAYA,EACZmJ,WAAYA,EACZi3C,8BAA+BA,EAC/BF,WAAYA,EACZC,uBAAwBA,EACxB1e,SAAUA,EACV7pB,KAAMA,EACNqoC,cAAeA,EACf1kC,MAAOA,IAGT11B,EAAAA,cAAA,WACEA,EAAAA,cAACg0B,EAAAA,QAAiB,CAACrD,aAAYupC,GAAa,kBAAMC,GAAU,KAIpE,CAgBAF,EAAQxiD,aAAe,CACrBsa,KAAM,EACNooC,SAAU,kBAAM,CAAI,EACpBzkC,MAAO,GACPvD,YAAa,GACb+nC,YAAY,EACZ7xD,QAAS,GACTkyD,+BAA+B,EAC/B3e,SAAU,GACVpgC,WAAW,EACX4+C,cAAe,kBAAM,CAAI,EACzBjgD,WAAY,IAGd,W,mJChGA,SAAS0gD,EAAwB51D,GAgBK,IAhBF05B,EAAY15B,EAAZ05B,aACAxM,EAAWltB,EAAXktB,YACApa,EAAM9S,EAAN8S,OACAD,EAAU7S,EAAV6S,WACcgjD,EAAkB71D,EAAhC2S,aACAD,EAAY1S,EAAZ0S,aACAwC,EAAUlV,EAAVkV,WACAmJ,EAAUre,EAAVqe,WACA+2C,EAAUp1D,EAAVo1D,WACAC,EAAsBr1D,EAAtBq1D,uBACAS,EAAa91D,EAAb81D,cACAnf,EAAQ32C,EAAR22C,SACA7pB,EAAI9sB,EAAJ8sB,KACA2D,EAAKzwB,EAALywB,MACA7d,EAAO5S,EAAP4S,QACAX,EAAMjS,EAANiS,OAGlC/R,GAAoCC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA5C61D,EAAU31D,EAAA,GAAE41D,EAAa51D,EAAA,GAChC8M,GAAoD/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA5D+oD,EAAkB9oD,EAAA,GAAE+oD,EAAqB/oD,EAAA,GAG1CgpD,GAAchlC,EAAAA,EAAAA,UAClB,kBAAM/W,OAAOC,KAAKvH,GAAQgd,QAAO,SAAC3W,GAAI,OAAKvG,EAAQuG,IAAS48C,CAAU,GAAC,GACvE,CAACjjD,EAAQijD,EAAYnjD,IAGvBpS,GAAwCO,EAAAA,EAAAA,GAAY6F,EAAAA,kCAA7CwvD,GAA8E/1D,EAAAA,EAAAA,GAAAG,EAAA,GAAjD,GAG9BmS,EAAe,SAAC+D,GACpBm/C,EAAmBn/C,GAEfxB,IAAe+gD,IACjBC,GAAsB,GACtBE,EAA8B,CAC5BxzD,UAAW,CAAEyb,WAAYvb,OAAOub,GAAanJ,WAAYpS,OAAOoS,MAC/DnS,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,IAEjD,EAGA,OACE3G,EAAAA,cAAA,WACIo7D,EAAYn4D,OAAS,GACrBjD,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,oDACZzB,EAAAA,cAAA,UACIo7D,EAAYzzD,KAAI,SAAAyW,GAAI,OAAIpe,EAAAA,cAAA,MAAIqB,UAAU,sBAAsB0W,EAAOqG,GAAW,MAKtFpe,EAAAA,cAAA,MAAIqB,UAAU,wBACV0wB,EAAM,KAAG2D,EAAO,IAClB11B,EAAAA,cAAA,QAAMqB,UAAU,oCAAqC8wB,IAGvDnyB,EAAAA,cAAA,OAAKqB,UAAU,eACbrB,EAAAA,cAAA,QAAM6B,KAAK,cAAcmW,SAAUL,EAAcM,YAAU,IAEvC,OAAfoiD,GAAsC,YAAfA,IACxBr6D,EAAAA,cAAA,OAAKqB,UAAU,6BAEbrB,EAAAA,cAAA,KAAGqB,UAAU,sBACTG,KAAKC,EAAE,6CAA8C,IAAE,KAG3DzB,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,SACE6B,KAAK,aACLgC,MAAOqT,EAAOokD,WACdljD,KAAK,SACLxQ,GAAG,aACHvG,UAAS,sBAAAC,OAAyB85D,EAAYt5C,SAAS,cAAgB,QAAU,GAAE,KACnFpG,SAAU9D,EACVm1B,OAAQj1B,KAIK,OAAfuiD,GACAr6D,EAAAA,cAAA,WACEA,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,SAAOqB,UAAU,iBAAiBmyC,QAAQ,sBACxCxzC,EAAAA,cAAA,SACE6B,KAAK,qBACL+F,GAAG,qBACHwQ,KAAK,WACL2M,QAAS7N,EAAOqkD,mBAChB7/C,SAAU9D,EACVm1B,OAAQj1B,IAGV9X,EAAAA,cAAA,QAAMqB,UAAU,aAClBrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAGzB9B,EAAAA,cAAA,OAAKqB,UAAU,kBACXG,KAAKC,EAAE,wDAUN,YAAf44D,GACAr6D,EAAAA,cAAA,OAAKqB,UAAU,6BAEbrB,EAAAA,cAAA,KAAGqB,UAAU,sBACTG,KAAKC,EAAE,2BAA4B,IAAE,KAGzCzB,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,SACE6B,KAAK,gBACLgC,MAAOqT,EAAOskD,cACdpjD,KAAK,SACLxQ,GAAG,gBACHvG,UAAS,sBAAAC,OAAyB85D,EAAYt5C,SAAS,cAAgB,QAAU,GAAE,KACnFpG,SAAU9D,EACVm1B,OAAQj1B,MAOhB9X,EAAAA,cAAA,OAAKqB,UAAU,6BAEbrB,EAAAA,cAAA,KAAGqB,UAAU,sBACM,OAAfg5D,EACE74D,KAAKC,EAAE,4CACQ,gBAAf44D,EACA74D,KAAKC,EAAE,4BACPD,KAAKC,EAAE,0BACV,IAAE,KAGLzB,EAAAA,cAAA,WACEA,EAAAA,cAAA,SACE6B,KAAK,aACLgC,MAAOqT,EAAOukD,WACdrjD,KAAK,OACLxQ,GAAG,aACHvG,UAAS,sBAAAC,OAAyB85D,EAAYt5C,SAAS,cAAgB,QAAU,GAAE,KACnFpG,SAAU9D,EACVm1B,OAAQj1B,EACRK,UAAQ,KAIK,OAAfkiD,GACAr6D,EAAAA,cAAA,WACEA,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,SAAOqB,UAAU,iBAAiBmyC,QAAQ,sBACxCxzC,EAAAA,cAAA,SACE6B,KAAK,qBACL+F,GAAG,qBACHwQ,KAAK,WACL2M,QAAS7N,EAAOwkD,mBAChBhgD,SAAU9D,EACVm1B,OAAQj1B,IAGV9X,EAAAA,cAAA,QAAMqB,UAAU,aAChBrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAG3B9B,EAAAA,cAAA,OAAKqB,UAAU,kBACXG,KAAKC,EAAE,yDASH,YAAf44D,GAA2C,kBAAfA,IAC7Br6D,EAAAA,cAAA,OAAKqB,UAAU,6BAEbrB,EAAAA,cAAA,KAAGqB,UAAU,sBACTG,KAAKC,EAAE,+BAAgC,IAAE,KAG7CzB,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,SACE6B,KAAK,cACLgC,MAAOqT,EAAOykD,YACdvjD,KAAK,SACLxQ,GAAG,cACHvG,UAAS,sBAAAC,OAAyB85D,EAAYt5C,SAAS,eAAiB,QAAU,GAAE,KACpFpG,SAAU9D,EACVm1B,OAAQj1B,MAOC,OAAfuiD,GACAr6D,EAAAA,cAAA,OAAKqB,UAAU,6BAEbrB,EAAAA,cAAA,KAAGqB,UAAU,sBACTG,KAAKC,EAAE,8CAA+C,IAAE,KAG5DzB,EAAAA,cAAA,WACEA,EAAAA,cAAA,SACE6B,KAAK,cACLuW,KAAK,OACLvU,MAAOqT,EAAO0kD,YACdh0D,GAAG,cACHvG,UAAU,qBACVqa,SAAU9D,EACVm1B,OAAQj1B,EACRK,UAAQ,KAIZnY,EAAAA,cAAA,WACEA,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,SAAOqB,UAAU,iBAAiBmyC,QAAQ,uBACxCxzC,EAAAA,cAAA,SACE6B,KAAK,sBACL+F,GAAG,sBACHwQ,KAAK,WACL2M,QAAS7N,EAAO2kD,oBAChBngD,SAAU9D,EACVm1B,OAAQj1B,IAGV9X,EAAAA,cAAA,QAAMqB,UAAU,aAChBrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAG3B9B,EAAAA,cAAA,OAAKqB,UAAU,kBACXG,KAAKC,EAAE,wDASrBzB,EAAAA,cAAA,OAAKqB,UAAU,6BAEI,gBAAfg5D,EAEEr6D,EAAAA,cAAA,KAAGqB,UAAU,sBACTG,KAAKC,EAAE,iBAAkB,IAAE,KAG/BzB,EAAAA,cAAA,KAAGqB,UAAU,sBACM,OAAfg5D,EACE74D,KAAKC,EAAE,6DACPD,KAAKC,EAAE,wBAEXzB,EAAAA,cAAA,WAAO,IACPA,EAAAA,cAAA,QAAMqB,UAAU,kCACZG,KAAKC,EAAE,8DAA+D,MAKhFzB,EAAAA,cAAA,WACkB,OAAfq6D,GAAsC,gBAAfA,EAEtBr6D,EAAAA,cAAA,SACE6B,KAAK,cACLgC,MAAOqT,EAAO4kD,YACdl0D,GAAG,cACHwQ,KAAK,SACL/W,UAAS,sBAAAC,OAAwB85D,EAAYt5C,SAAS,eAAiB,QAAU,GAAE,KACnFpG,SAAU9D,EACVm1B,OAAQj1B,EACRK,SAAyB,OAAfkiD,IAGZr6D,EAAAA,cAAA,SACE6B,KAAK,cACLgC,MAAOqT,EAAO6kD,YACdn0D,GAAG,cACHwQ,KAAK,SACL/W,UAAS,sBAAAC,OAAwB85D,EAAYt5C,SAAS,eAAiB,QAAU,GAAE,KACnFpG,SAAU9D,EACVm1B,OAAQj1B,KAKG,OAAfuiD,GACAr6D,EAAAA,cAAA,WACEA,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,SAAOqB,UAAU,iBAAiBmyC,QAAQ,uBACxCxzC,EAAAA,cAAA,SACE6B,KAAK,sBACL+F,GAAG,sBACHwQ,KAAK,WACL2M,QAAS7N,EAAO8kD,oBAChBtgD,SAAU9D,EACVm1B,OAAQj1B,IAGV9X,EAAAA,cAAA,QAAMqB,UAAU,aAChBrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAG3B9B,EAAAA,cAAA,OAAKqB,UAAU,kBACXG,KAAKC,EAAE,uDAOF,OAAf44D,GACAr6D,EAAAA,cAAA,WACEA,EAAAA,cAACi8D,EAAAA,EAAQ,CACPt7D,QAASg+B,EACTjjB,SAAU,SAAC7X,GAAK,OAAKk3D,EAAc,aAAcl3D,EAAM,EACvDA,MAAOqT,EAAOooB,WACd48B,YAAal8D,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KAC9Cq6D,UAAWn8D,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KAC5Cs6D,iBAAiB,uBAMR,OAAf/B,GACAr6D,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,KAAGqB,UAAU,sBACTG,KAAKC,EAAE,kEAAmE,IAC1E,KAGJzB,EAAAA,cAAA,WACEA,EAAAA,cAACi8D,EAAAA,EAAQ,CACPt7D,QAASg+B,EACTjjB,SAAU,SAAC7X,GAAK,OAAKk3D,EAAc,aAAcl3D,EAAM,EACvDA,MAAOqT,EAAOooB,WACd48B,YAAal8D,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KAC9Cq6D,UAAWn8D,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KAC5Cs6D,iBAAiB,yBAOrB9B,GAAqD,WAA3BA,IAC5Bt6D,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,SAAOqB,UAAU,iBAAiBmyC,QAAQ,sBACxCxzC,EAAAA,cAAA,SACE6B,KAAK,qBACLuW,KAAK,WACL2M,QAAS7N,EAAOi3C,mBAChBvmD,GAAG,qBACH8T,SAAU9D,EACVm1B,OAAQj1B,IAGV9X,EAAAA,cAAA,QAAMqB,UAAU,aACdrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAG7B9B,EAAAA,cAAA,OAAKqB,UAAU,kCACXG,KAAKC,EAAE,oDAAqD,CAAE46D,UAAWzgB,QAOrF57C,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAAA,MAAIqB,UAAU,8BAA6B,MACrCG,KAAKC,EAAE,oBAEbzB,EAAAA,cAAA,YACE4H,GAAG,UACH/F,KAAK,UACLgC,MAAOqT,EAAO0K,QACdlG,SAAU9D,EACVm1B,OAAQj1B,EACR2D,YACiB,OAAf4+C,EACE74D,KAAKC,EAAE,0DACQ,gBAAf44D,EACA74D,KAAKC,EAAE,2DACPD,KAAKC,EAAE,wDAIbzB,EAAAA,cAAA,WACEA,EAAAA,cAAA,UACEoY,KAAK,SACL/W,UAAU,uBACVK,QAAS,kBAAMu5D,GAAc,EAAK,GAChCz5D,KAAKC,EAAE,oDAS3B,CAGA,IAAMm5D,GAAoBviD,EAAAA,EAAAA,IACxB,CACAC,oBAAoB,EACpBC,iBAAkB,SAAAC,GAAA,IAAGmmB,EAAYnmB,EAAZmmB,aAAc47B,EAA6B/hD,EAA7B+hD,8BAA+BF,EAAU7hD,EAAV6hD,WAAU,MAAQ,CAClFz4C,QAAS,GACT25C,oBAAoB,EACpBG,oBAAoB,EACpBG,qBAAqB,EACrBG,qBAAqB,EACrB7N,oBAAoB,EACpBmO,QAAwB,OAAfjC,EACTkC,UAA0B,YAAflC,EACX/6B,WAAYX,EAAa,GACzB69B,iBAAkBjC,EACnB,EAED3hD,iBAAkBC,EAAAA,GAAAA,SAAaC,MAAM,CACnCyiD,mBAAoB1iD,EAAAA,GAAAA,UACpB6iD,mBAAoB7iD,EAAAA,GAAAA,UACpBgjD,oBAAqBhjD,EAAAA,GAAAA,UACrBmjD,oBAAqBnjD,EAAAA,GAAAA,UACrBs1C,mBAAoBt1C,EAAAA,GAAAA,UACpB2jD,iBAAkB3jD,EAAAA,GAAAA,UAClByjD,QAASzjD,EAAAA,GAAAA,UACT0jD,UAAW1jD,EAAAA,GAAAA,UACXyiD,WAAYziD,EAAAA,GAAAA,SACT6P,KAAK,CAAC,qBAAsB,UAAW,oBAAqB,CAC3DC,IAAI,EACJrG,KAAMzJ,EAAAA,GAAAA,SAAaV,UAASskD,EAAAA,EAAAA,oBAAmBj7D,KAAKC,EAAE,8CAEvDi7D,KAAK,OAAQl7D,KAAKC,EAAE,6CAA6C,SAASoC,GACzE,OAAQC,KAAK64D,OAAOJ,aAAgBz4D,KAAK64D,OAAOnB,eAAiB33D,CACnE,IACF43D,WAAY5iD,EAAAA,GAAAA,OACT6P,KAAK,CAAC,qBAAsB,UAAW,oBAAqB,CAC3DC,IAAI,EACJrG,KAAMzJ,EAAAA,GAAAA,OAAWV,UAASskD,EAAAA,EAAAA,oBAAmBj7D,KAAKC,EAAE,kDAExDm6D,YAAa/iD,EAAAA,GAAAA,OACbijD,YAAajjD,EAAAA,GAAAA,SACV6P,KAAK,CAAC,sBAAuB,UAAW,oBAAqB,CAC5DC,IAAI,EACJrG,KAAMzJ,EAAAA,GAAAA,SAAaV,UAASskD,EAAAA,EAAAA,oBAAmBj7D,KAAKC,EAAE,oDAG1Dk6D,YAAa9iD,EAAAA,GAAAA,SACbkjD,YAAaljD,EAAAA,GAAAA,SACb2iD,cAAe3iD,EAAAA,GAAAA,WAGjBlB,aAAc,SAACT,EAAQiC,GACrBA,EAAIpZ,MAAMq6D,cAAcljD,EAC1B,EAEAkC,YAAa,uBAtDWf,CAwDxBwiD,GAoBFA,EAAyBpjD,aAAe,CACtCE,aAAc,kBAAM,CAAI,EACxBT,OAAQ,CAAC,EACTU,aAAc,kBAAM,CAAI,EACxBC,SAAS,EACTC,WAAY,kBAAM,CAAI,EACtBC,OAAQ,GACR2d,MAAO,GACPvD,YAAa,GACbypB,SAAU,GACVjd,aAAc,GACdo8B,cAAe,kBAAM,CAAI,EACzBhpC,KAAM,GAGR,W,srBC9fA,SAAS6qC,EAAgB33D,GAmBrB,IAlBF8sB,EAAI9sB,EAAJ8sB,KACA2D,EAAKzwB,EAALywB,MACAvD,EAAWltB,EAAXktB,YACAtsB,EAAIZ,EAAJY,KACAa,EAAOzB,EAAPyB,QACA0O,EAAOnQ,EAAPmQ,QACAyhB,EAAQ5xB,EAAR4xB,SACAsjC,EAAQl1D,EAARk1D,SACAD,EAAUj1D,EAAVi1D,WACA2C,EAAiB53D,EAAjB43D,kBACA53C,EAAShgB,EAATggB,UACA63C,EAAW73D,EAAX63D,YACA1vB,EAAUnoC,EAAVmoC,WACAp4B,EAAa/P,EAAb+P,cACAmM,EAAalc,EAAbkc,cACA1O,EAAUxN,EAAVwN,WACAsqD,EAAW93D,EAAX83D,YACAj5C,EAAK7e,EAAL6e,MAGA3e,GAAkCC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA1C63D,EAAS33D,EAAA,GAAE43D,EAAY53D,EAAA,GAC9B8M,GAAwC/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAhD+qD,EAAY9qD,EAAA,GAAE+qD,EAAe/qD,EAAA,IAEpCyC,EAAAA,EAAAA,YAAU,WACRu4B,GAAcgwB,GAChB,GAAG,CAAChwB,IAEJ,IAAQz5B,EAAkBopD,EAAlBppD,KAAMC,EAAYmpD,EAAZnpD,QAYRypD,EAAqB,IAATtrC,EAEZqrC,EAAiB,WACrBC,EAAYJ,EAAa,cAAgBE,EAAgB,eAC3D,EAEMjpD,EAAa,SAACe,GAAU,OAC5BD,GAAc,SAAAE,GAAW,OAAAC,EAAAA,EAAA,GACpBD,GACAD,EAAU,GACX,EAGN,OACEjV,EAAAA,cAAA,OAAKqB,UAAU,eACbrB,EAAAA,cAAA,MAAIqB,UAAU,sBACX0wB,EAAK,IAAE2D,EACR11B,EAAAA,cAAA,YAAM,KAAGmyB,EAAY,MAGvBnyB,EAAAA,cAAA,OAAKqB,UAAU,wBACbrB,EAAAA,cAAA,SACEoY,KAAK,OACL/W,UAAU,eACVwC,MAAOigB,EACPrI,YAAaja,KAAKC,EAAE,kBACpBia,SAAU,SAACC,GAAC,OA/BG2hD,EA+BgB3hD,EAAE3S,OAAOnF,MA9B9CohB,EACI43C,EAAkBS,GAAa,GAC/BT,EAAkBS,GAHF,IAACA,CA+B+B,EAC9Ch4C,UAAU,QAEZtlB,EAAAA,cAAC4B,EAAAA,OAAM,CAACP,UAAU,cAAcQ,KAAK,SAASC,KAAM,MAGtD9B,EAAAA,cAACuW,EAAAA,QAAK,CACJ1Q,KAAMA,EACNuP,QAASA,EACTxB,QAASA,EACTgD,eA9CiB,CACrB,CAAE/S,MAAO,IAAKiF,MAAO,KACrB,CAAEjF,MAAO,KAAMiF,MAAO,OA6ClBpC,QAASA,EACTiQ,YAAahD,EACbwN,cAAeA,EACf/K,eAAe,EACfK,QAAS,SAAC9C,GAAI,OAAKO,EAAW,CAAEP,KAAAA,GAAO,EACvC+C,WAAY,SAAC9C,GAAO,OAAKM,EAAW,CAAEN,QAAAA,EAASD,KAAM,GAAI,EACzDlB,WAAYA,IAGdzS,EAAAA,cAAA,OAAKqB,UAAU,sCACbrB,EAAAA,cAAA,OAAKqB,UAAU,gBACbrB,EAAAA,cAAA,SACEoY,KAAK,QACLvW,KAAMw7D,EAAY,eAAiB,UACnCz1D,GAAG,aACH/D,MAAOw5D,EAAYL,EAAYE,EAC/Bn4C,QACEs4C,EACkB,eAAdL,EACiB,iBAAjBE,EAEN77D,UAAU,sBAEZrB,EAAAA,cAAA,SACEwzC,QAAQ,aACRnyC,UAAU,gBACVK,QAAS,kBAAM07D,GAAgB,GAE/Bp9D,EAAAA,cAAA,QAAMqB,UAAU,qBACdg8D,EACE77D,KAAKC,EAAE,0CACPD,KAAKC,EAAE,4CAKfzB,EAAAA,cAAA,WACEA,EAAAA,cAAA,SACEoY,KAAK,OACL/W,UAAU,kCACVwC,MAAOupC,EACP3xB,YACE4hD,EACI77D,KAAKC,EAAE,0CACPD,KAAKC,EAAE,0CAEbia,SAAU,SAACC,GAAC,OAAKmhD,EAAYnhD,EAAE3S,OAAOnF,MAAM,EAC5CyhB,UAAU,UAKhBtlB,EAAAA,cAAA,WACEA,EAAAA,cAACg0B,EAAAA,QAAiB,CAChBvD,WAAY,kBAAMoG,GAAU,EAC5BlG,aAAYupC,GAAa,kBAAMC,GAAU,KAKnD,CAoBAyC,EAAiBnlD,aAAe,CAC9Bsa,KAAM,EACN8E,SAAU,kBAAM,CAAI,EACpBsjC,SAAU,kBAAM,CAAI,EACpBzkC,MAAO,GACPvD,YAAa,GACbtsB,KAAM,GACNi3D,YAAa,kBAAM,CAAI,EACvBS,cAAe,GACfC,WAAY,GACZ/mD,QAAS,kBAAM,CAAI,EACnB22B,WAAY,GACZnoB,WAAW,EACX43C,kBAAmB,kBAAM,CAAI,EAC7B3C,YAAY,EACZvmD,KAAM,GAGR,W,2DCtLA,SAAS8pD,EAAkBx4D,GAAyB,IAAtBy4D,EAAKz4D,EAALy4D,MAAOC,EAAU14D,EAAV04D,WACnC,OACE39D,EAAAA,cAAA,OAAKqB,UAAU,yCACbrB,EAAAA,cAAA,OAAKqB,UAAU,kCAEdq8D,EAAM/1D,KAAI,SAACyW,EAAMsP,GAAK,OACrB1tB,EAAAA,cAAA,OACEqB,UAAS,8BAAAC,OACPq8D,IAAejwC,EAAQ,EAAI,UAAY,IAEzC9pB,IAAK8pB,GAEL1tB,EAAAA,cAAA,OAAKqB,UAAU,qCACbrB,EAAAA,cAAA,OACEqB,UAAS,6BAAAC,OACP8c,EAAKyU,OAAS,WAAa,KAG5BnF,EAAQ,IAIb1tB,EAAAA,cAAA,OAAKqB,UAAU,2BAA2B+c,EAAKvc,MAC3C,IAId,CAOA47D,EAAmBhmD,aAAe,CAChCimD,MAAO,GACPC,WAAY,GAGd,W,2FCnCA,SAASC,IAEP,IAAA9uC,GAiCIC,EAAAA,EAAAA,YAAWC,EAAAA,SAhCb6uC,EAAU/uC,EAAV+uC,WACAlsD,EAAamd,EAAbnd,cACAmsD,EAAiBhvC,EAAjBgvC,kBACAC,EAA0BjvC,EAA1BivC,2BACAC,EAAgBlvC,EAAhBkvC,iBACAC,EAAanvC,EAAbmvC,cACA9jD,EAAU2U,EAAV3U,WACAwyC,EAAgB79B,EAAhB69B,iBACA3nC,EAAa8J,EAAb9J,cACAk5C,EAAapvC,EAAbovC,cACAC,EAAmBrvC,EAAnBqvC,oBACAZ,EAAazuC,EAAbyuC,cACAzoD,EAAMga,EAANha,OACAyN,EAAauM,EAAbvM,cACA67C,EAAgBtvC,EAAhBsvC,iBACAZ,EAAU1uC,EAAV0uC,WACAa,EAAWvvC,EAAXuvC,YACAC,EAAoBxvC,EAApBwvC,qBACAh7C,EAAUwL,EAAVxL,WACAi3C,EAA6BzrC,EAA7ByrC,8BACAF,EAAUvrC,EAAVurC,WACA7+C,EAASsT,EAATtT,UACA8+C,EAAsBxrC,EAAtBwrC,uBACAiE,EAAazvC,EAAbyvC,cACAC,EAAgB1vC,EAAhB0vC,iBACAn2D,EAAOymB,EAAPzmB,QACAuzC,EAAQ9sB,EAAR8sB,SACA7pB,EAAIjD,EAAJiD,KACAqoC,EAAatrC,EAAbsrC,cACAyC,EAAiB/tC,EAAjB+tC,kBACAhmC,EAAQ/H,EAAR+H,SACAsjC,EAAQrrC,EAARqrC,SAGIsE,GAAgCz5C,EAActD,MAAK,SAAA7b,GAAI,OAAIA,EAAKmvB,kBAAkB,IAuExF,OAAOh1B,EAAAA,cAAA,WArEO,WACZ,OAAQ+xB,GACN,KAAK,EACH,OACE/xB,EAAAA,cAAC48D,EAAAA,QAAgB,CACfC,kBAAmBA,EACnBznD,QAASmN,EACT1c,KAAMiP,EACNqd,YAAa3wB,KAAKC,EAAE,uCACpBs7D,YAAac,EACb7oD,cAAeupD,EACfzB,YAAagB,EACb1wB,WAAYixB,EACZ33D,QAASu3D,EACTpnC,SAAUA,EACV/S,MAAO05C,EACPzrC,KAAMA,EACN2D,MAAOl0B,KAAKC,EAAE,sCACdgR,WAAY2rD,IAGlB,KAAK,EACH,OACEp+D,EAAAA,cAAC48D,EAAAA,QAAgB,CACf1C,YAAU,EACV2C,kBAAmBA,EACnBznD,QAASu3C,EACT9mD,KAAMmf,EACNmN,YAAa3wB,KAAKC,EAAE,uCACpBs7D,YAAamB,EACblpD,cAAewpD,EACf1B,YAAaiB,EACb58C,cAAes9C,EAA+B,CAAC,sBAAwB,KACvErxB,WAAYkxB,EACZ53D,QAASs3D,EACT/4C,WAAS,EACT4R,SAAUA,EACVsjC,SAAUA,EACVr2C,MAAOy5C,EACPxrC,KAAMA,EACN2D,MAAOl0B,KAAKC,EAAE,oCACdgR,WAAY0rD,IAGlB,KAAK,EACH,OACEn+D,EAAAA,cAACi6D,EAAAA,QAAO,CACNtoD,cAAeA,EACfogB,KAAMA,EACN2D,MAAOl0B,KAAKC,EAAE,mBACd0wB,YAAa3wB,KAAKC,EAAE,0CACpB04D,SAAUA,EACVC,cAAeA,EACf5+C,UAAWA,EACXogC,SAAUA,EACVzhC,WAAYA,EACZkgD,WAAYA,EACZC,uBAAwBA,EACxBjyD,QAASA,EACTib,WAAYA,EACZi3C,8BAA+BA,EAC/BL,YAAU,IAMpB,CAEcwD,GAChB,CAwBAE,EAAYnmD,aAAe,CACzBpP,QAAS,GACTuzC,SAAU,GACV2e,+BAA+B,EAC/BxoC,KAAM,EACNjd,OAAQ,GACRkQ,cAAe,GACf6R,SAAU,kBAAM,CAAI,EACpBsjC,SAAU,kBAAM,CAAI,EACpBC,cAAe,kBAAM,CAAI,EACzByC,kBAAmB,kBAAM,CAAI,EAC7BiB,kBAAmB,kBAAM,CAAI,EAC7BD,WAAY,EACZ1jD,WAAY,GACZqB,WAAW,EACX6iD,YAAa,GACbN,2BAA4B,kBAAM,CAAI,EACtCO,qBAAsB,GACtBd,WAAY,GACZD,cAAe,IAGjB,W,wyBCnJO,IAAMvuC,GAAU0sB,EAAAA,EAAAA,eAAc,CAAC,GAGtC,SAASgjB,EAAUz5D,GAAmF,IAAhF0M,EAAa1M,EAAb0M,cAAeiqC,EAAQ32C,EAAR22C,SAAUvzC,EAAOpD,EAAPoD,QAASib,EAAUre,EAAVqe,WAAYi3C,EAA6Bt1D,EAA7Bs1D,8BAC5Dz2C,GAAQ66C,EAAAA,EAAAA,kBAEdx5D,GAAkCC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAvC8f,EAAS5f,EAAA,GAAEu5D,EAAYv5D,EAAA,GAC9B8M,GAAgC/M,EAAAA,EAAAA,UAAS,IAAGgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAArC2C,EAAM1C,EAAA,GAAEysD,EAAazsD,EAAA,GAC5BG,GAAwBnN,EAAAA,EAAAA,UAAS,GAAEoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA5Bwf,EAAIvf,EAAA,GAAEssD,EAAOtsD,EAAA,GACpBG,GAAgCvN,EAAAA,EAAAA,UAAS2W,SAAS+H,EAAMi7C,IAAI,eAAiB,MAAKnsD,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA3EoB,EAAQnB,EAAA,GAAEoN,EAAWpN,EAAA,GAC5BG,GAAoC3N,EAAAA,EAAAA,UAAS0e,EAAMi7C,IAAI,gBAAkB,MAAK/rD,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAAvEoH,EAAUnH,EAAA,GAAEo4C,EAAap4C,EAAA,GAChCG,GAAkC/N,EAAAA,EAAAA,UAAS0e,EAAMi7C,IAAI,eAAiB,MAAKxrD,GAAAjO,EAAAA,EAAAA,GAAA6N,EAAA,GAC3EO,GADgBH,EAAA,GAAcA,EAAA,IACAnO,EAAAA,EAAAA,UAAS0e,EAAMi7C,IAAI,aAAe,OAAK/qD,GAAA1O,EAAAA,EAAAA,GAAAoO,EAAA,GAA9D8O,EAAOxO,EAAA,GACd0M,GAD0B1M,EAAA,IACU5O,EAAAA,EAAAA,UAAS,KAAGub,GAAArb,EAAAA,EAAAA,GAAAob,EAAA,GAAzC88C,EAAU78C,EAAA,GAAEq+C,EAAar+C,EAAA,GAChCG,GAA0C1b,EAAAA,EAAAA,UAAS,IAAG2b,GAAAzb,EAAAA,EAAAA,GAAAwb,EAAA,GAA/Cy8C,EAAax8C,EAAA,GAAEk+C,EAAgBl+C,EAAA,GACtCE,IAAoC7b,EAAAA,EAAAA,UAAS,CAAC,GAAE8b,IAAA5b,EAAAA,EAAAA,GAAA2b,GAAA,GAA7Bi+C,IAAFh+C,GAAA,GAAeA,GAAA,IAChConB,IAAgDljC,EAAAA,EAAAA,UAAS,MAAKmjC,IAAAjjC,EAAAA,EAAAA,GAAAgjC,GAAA,GAAvD62B,GAAgB52B,GAAA,GAAE62B,GAAmB72B,GAAA,GAC5CG,IAAsDtjC,EAAAA,EAAAA,UAAS,MAAKujC,IAAArjC,EAAAA,EAAAA,GAAAojC,GAAA,GAA7D22B,GAAmB12B,GAAA,GAAE22B,GAAsB32B,GAAA,GAClDqU,IAAsC53C,EAAAA,EAAAA,UAAS,MAAK63C,IAAA33C,EAAAA,EAAAA,GAAA03C,GAAA,GAA7CuiB,GAAWtiB,GAAA,GAAEuiB,GAAcviB,GAAA,GAClCyO,IAA4CtmD,EAAAA,EAAAA,UAAS,MAAKumD,IAAArmD,EAAAA,EAAAA,GAAAomD,GAAA,GAAnD+T,GAAc9T,GAAA,GAAE+T,GAAiB/T,GAAA,GACxCC,IAAgDxmD,EAAAA,EAAAA,UAAS,GAAEymD,IAAAvmD,EAAAA,EAAAA,GAAAsmD,GAAA,GAApDwS,GAAgBvS,GAAA,GAAE8T,GAAmB9T,GAAA,GAC5CC,IAAsD1mD,EAAAA,EAAAA,UAAS,GAAE4mD,IAAA1mD,EAAAA,EAAAA,GAAAwmD,GAAA,GAA1DqS,GAAmBnS,GAAA,GAAE4T,GAAsB5T,GAAA,GAClD6T,IAAoCz6D,EAAAA,EAAAA,UAAS,CAAEuO,KAAM,EAAGC,QAAS,EAAGkQ,MAAO,KAAKg8C,IAAAx6D,EAAAA,EAAAA,GAAAu6D,GAAA,GAAzEhC,GAAUiC,GAAA,GAAEvB,GAAauB,GAAA,GAChCC,IAA0C36D,EAAAA,EAAAA,UAAS,CAAEuO,KAAM,EAAGC,QAAS,EAAGkQ,MAAO,KAAKk8C,IAAA16D,EAAAA,EAAAA,GAAAy6D,GAAA,GAA/E7B,GAAa8B,GAAA,GAAExB,GAAgBwB,GAAA,GACtCC,IAAsC76D,EAAAA,EAAAA,UAAS,IAAG86D,IAAA56D,EAAAA,EAAAA,GAAA26D,GAAA,GAA3C5B,GAAW6B,GAAA,GAAEC,GAAcD,GAAA,GAClCE,IAAwDh7D,EAAAA,EAAAA,UAAS,IAAGi7D,IAAA/6D,EAAAA,EAAAA,GAAA86D,GAAA,GAA7D9B,GAAoB+B,GAAA,GAAEC,GAAuBD,GAAA,GACpDE,IAAkCn7D,EAAAA,EAAAA,WAAS,GAAMo7D,IAAAl7D,EAAAA,EAAAA,GAAAi7D,GAAA,GAA1C/kD,GAASglD,GAAA,GAAEj6C,GAAYi6C,GAAA,GAC9BC,IAA4Dr7D,EAAAA,EAAAA,UAAS,MAAKs7D,IAAAp7D,EAAAA,EAAAA,GAAAm7D,GAAA,GAAnEnG,GAAsBoG,GAAA,GAAEC,GAAyBD,GAAA,GACxDE,IAAgDx7D,EAAAA,EAAAA,UAAS,CACvD0hB,MAAM,EACNnR,QAAS,GACToR,MAAO,QACP85C,IAAAv7D,EAAAA,EAAAA,GAAAs7D,GAAA,GAJK55C,GAAgB65C,GAAA,GAAE55C,GAAmB45C,GAAA,GAO5CC,IAA0B17D,EAAAA,EAAAA,UAAS,CACjC,CAAEvD,KAAML,KAAKC,EAAE,sCAAuCoxB,QAAQ,GAC9D,CAAEhxB,KAAML,KAAKC,EAAE,oCAAqCoxB,QAAQ,GAC5D,CAAEhxB,KAAML,KAAKC,EAAE,mBAAoBoxB,QAAQ,KAC3CkuC,IAAAz7D,EAAAA,EAAAA,GAAAw7D,GAAA,GAJKpD,GAAKqD,GAAA,GAAEC,GAAQD,GAAA,GAOtB/8C,IAAsDC,EAAAA,EAAAA,GAAavU,EAAAA,0BAA2B,CAC5F9J,YAAa,SAACC,GACRA,EAAKof,YACP26C,GAAuB/5D,EAAKof,UAAUxS,YAEtCwuD,GAAmB,CACjBp7D,KAAMA,EAAKof,UAAUA,UACrBhR,QAASiqD,GACTgD,gBAAiB7B,GACjB8B,WAAY1B,GACZ2B,QAASxC,EACTyC,cAAe3B,KAGrB,IACAx7C,IAAA5e,EAAAA,EAAAA,GAAA0e,GAAA,GAfK25B,GAAYz5B,GAAA,GAAa85C,GAAgB95C,GAAA,GAAzBxd,QAkBvB+wB,IAAoDxT,EAAAA,EAAAA,GAAarU,EAAAA,yBAA0B,CACzFhK,YAAa,SAACC,GACZA,EAAK+D,UAAY01D,GAAuBz5D,EAAK+D,UAC7C+zC,GAAa,CAAE91C,UAAWq2D,KACvBl2D,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAC/C,IACAgxB,IAAAryB,EAAAA,EAAAA,GAAAmyB,GAAA,GANK6pC,GAAW3pC,GAAA,GAAa4pC,GAAe5pC,GAAA,GAAxBjxB,QAStBsxB,IAAgD/T,EAAAA,EAAAA,GAAajU,EAAAA,uBAAwB,CACnFpK,YAAa,SAACC,GACRA,EAAKiP,SACP6qD,GAAoB95D,EAAKiP,OAAOrC,YAEhCwuD,GAAmB,CACjBp7D,KAAMA,EAAKiP,OAAOA,OAClBb,QAAS4pD,GACTqD,gBAAiB/B,GACjBgC,WAAY5B,GACZ6B,QAASvC,EACTwC,cAAe7B,KAGrB,IACAtnC,IAAA5yB,EAAAA,EAAAA,GAAA0yB,GAAA,GAfKwpC,GAAStpC,GAAA,GAAa+lC,GAAa/lC,GAAA,GAAtBxxB,QAkBpB6xB,IAA8CtU,EAAAA,EAAAA,GAAapX,EAAAA,UAAW,CACpEjH,YAAa,SAACC,GACZA,EAAK8b,OAASy9C,GAAoBv5D,EAAK8b,OACvC6/C,GAAU,CAAE35D,UAASsN,EAAA,GAAO0oD,MACzB71D,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAC/C,IACA8xB,IAAAnzB,EAAAA,EAAAA,GAAAizB,GAAA,GANKkpC,GAAQhpC,GAAA,GAAaipC,GAAYjpC,GAAA,GAArB/xB,QASnBjB,IAAqBO,EAAAA,EAAAA,GAAYgF,EAAAA,aAA1B22D,IAAsCr8D,EAAAA,EAAAA,GAAAG,GAAA,GAA5B,GAGX40D,IAAajkC,EAAAA,EAAAA,UACjB,WACE,IAAMwrC,EAAeznD,GAAc8K,GAAaA,EAAUhiB,QAAUgiB,EAAUre,MAAK,SAAAgD,GAAQ,OAAIA,EAAShC,KAAOuS,CAAU,IAAE8iB,KAC3H,MAAmB,OAAZ50B,EACH,KACiB,mBAAjBu5D,EACA,gBACiB,iBAAjBA,EACA,cACA,SACN,GACA,CAACznD,KAIHtF,EAAAA,EAAAA,YAAU,WACRgtD,KACAC,IACF,GAAG,KAEHjtD,EAAAA,EAAAA,YAAU,WACJypD,KACFlT,EAAc,MACduV,GAA0B,MAE9B,GAAG,CAACrC,MAGJzpD,EAAAA,EAAAA,YAAU,WACRwpD,IAAer+C,EAAY,KAC7B,GAAG,CAACq+C,MAGJxpD,EAAAA,EAAAA,YAAU,WACR2sD,GAAU,CAAE35D,UAASsN,EAAA,GAAO0oD,MACzB71D,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAC/C,GAAG,CAACk3D,MAGJhpD,EAAAA,EAAAA,YAAU,WACR8oC,GAAa,CAAE91C,UAASsN,EAAA,GAAO+oD,MAC5Bl2D,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAC/C,GAAG,CAACu3D,MAGJ15C,EAAAA,EAAAA,qBAAmB,kBAAM+5C,IAAc,SAAArpD,GAAW,OAAAC,EAAAA,EAAA,GAAUD,GAAW,IAAE4O,MAAO05C,EAAY7pD,KAAM,EAAG+oD,KAAM,GAAC,GAAI,GAAE,CAACc,GAAa,MAChIh5C,EAAAA,EAAAA,qBAAmB,kBAAMg6C,IAAiB,SAAAtpD,GAAW,OAAAC,EAAAA,EAAA,GAAUD,GAAW,IAAE4O,MAAOy5C,EAAe5pD,KAAM,EAAG+oD,KAAM,GAAC,GAAI,GAAE,CAACa,GAAgB,KAGzI,IAAMsE,GAAgB,WACpBr/C,EACIi/C,GAAS,CAAE55D,UAAW,CAAED,GAAI4a,KAC5Bg/C,GAAU,CAAE35D,UAAWg2D,IAC7B,EAGMiE,GAAmB,WACvB3nD,EACImnD,GAAY,CAAEz5D,UAAW,CAAED,GAAIuS,KAC/BwjC,GAAa,CAAE91C,UAAWq2D,IAChC,EAGM+C,GAAqB,SAAHzoD,GAAgF,IAA1E3S,EAAI2S,EAAJ3S,KAAMoO,EAAOuE,EAAPvE,QAASitD,EAAe1oD,EAAf0oD,gBAAiBC,EAAU3oD,EAAV2oD,WAAYC,EAAO5oD,EAAP4oD,QAASC,EAAa7oD,EAAb6oD,cAC7E5kC,GAAWza,EAAAA,EAAAA,GAAQnc,GAEvB,GAAIq7D,IAAoBjtD,EAAQ6P,MAAO,CACrC,IAAMi+C,EAA2BtlC,EAAY/a,MAAK,SAAAsM,GAAI,OAAIA,EAAKpmB,KAAOs5D,EAAgBt5D,EAAE,IAEnE,IAAjBqM,EAAQN,MACVouD,EACItlC,EAAcA,EAAY1H,QAAO,SAAA/G,GAAI,OAAIA,EAAKpmB,KAAOs5D,EAAgBt5D,EAAE,IACvEy5D,EAAc5kC,EAAYulC,OAE9BvlC,EAAYwF,QAAQi/B,IAEpBa,GACGZ,IACC1kC,EAAcA,EAAY90B,KAAI,SAAAqmB,GAAI,OAAIA,EAAKpmB,KAAOs5D,EAAgBt5D,GAAKu5D,EAAanzC,CAAI,IAEhG,CAEAozC,EAAQ3kC,EACV,EAeMjV,GAA0B,WAAH,OAC3BP,GAAoB,CAAEH,MAAM,EAAOnR,QAAS,IAAM,EAO9C4M,IAAgB0/C,EAAAA,EAAAA,kBACpBntD,GAfyB,SAAClN,GAC1BoY,EAAYpY,GACZy2D,IAAe8B,GAAe,GAChC,GAcEpsD,EACAyT,IAGImlC,IAAmBuV,EAAAA,EAAAA,oBACvBj9C,EACA9K,GA9B2B,SAACvS,EAAIlE,GAChC0nD,EAAcxjD,GACd+4D,GAA0Bj9D,GAC1B46D,IAAwBgC,GAAwB,GAClD,IAgGM6B,GAAc,SAACjrD,GACnB,IACEokD,EAcEpkD,EAdFokD,WACAC,EAaErkD,EAbFqkD,mBACA35C,EAYE1K,EAZF0K,QACA0d,EAWEpoB,EAXFooB,WACA6uB,EAUEj3C,EAVFi3C,mBACAyN,EASE1kD,EATF0kD,YACAC,EAQE3kD,EARF2kD,oBACAE,EAOE7kD,EAPF6kD,YACAJ,EAMEzkD,EANFykD,YACAH,EAKEtkD,EALFskD,cACAC,EAIEvkD,EAJFukD,WACAC,EAGExkD,EAHFwkD,mBACAI,EAEE5kD,EAFF4kD,YACAE,EACE9kD,EADF8kD,oBAIIoG,EAAe,CACnBruD,SAAUA,EAAWgI,SAAShI,GAAY,KAC1C6N,QAAAA,EACA0d,WAAYA,EAAavjB,SAASujB,EAAWz7B,OAAS,KACtDsqD,mBAAAA,EACAkU,UAAWtmD,SAAS+H,EAAMi7C,IAAI,gBAAkB,KAChD5kD,WAAYA,EAAa4B,SAAS5B,GAAc,KAChDshD,WAAAA,EACA4C,YAAAA,GACAC,qBAAAA,GACAgE,eAAgBvmD,SAAS+H,EAAMi7C,IAAI,sBAAwB,MAIvD7f,EAAQ,CACZqjB,GAAEptD,EAAAA,EAAA,GACGitD,GAAY,IACf9G,WAA2B,IAAfA,GAAoBA,EAAaA,EAAa,KAC1DC,mBAAAA,EACAK,YAAAA,EACAC,oBAAAA,EACAH,mBAAAA,EACAI,YAAAA,EACAE,oBAAAA,IAEF,QAAS7mD,EAAAA,EAAA,GACJitD,GAAY,IACf9G,WAA2B,IAAfA,GAAoBA,EAAaA,EAAa,KAC1DE,cAAez/C,SAASy/C,GACxBO,YAAAA,EACAJ,YAAa5/C,SAAS4/C,KAExB6G,cAAartD,EAAAA,EAAA,GACRitD,GAAY,IACfrG,YAAAA,EACAJ,YAAa5/C,SAAS4/C,KAExB8G,YAAWttD,EAAAA,EAAA,GACNitD,GAAY,IACftG,YAAAA,KAIJ6F,GAAW,CACT95D,UAAW,CAAEoyB,WAAYilB,EAAMmb,KAE/Bn0D,OAAM,SAACC,EAAOC,GAAS,EACvBC,eAAgB,CAAC,8BAEjBT,YAAa,WACX2gB,IAAa,EACf,EAEAjP,QAAS,SAAA8C,GAAsC,IAAnCsoD,EAAatoD,EAAbsoD,cAAeC,EAAYvoD,EAAZuoD,aACzB16D,QAAQC,IAAI,gBAAiBw6D,GAC7Bz6D,QAAQC,IAAI,eAAgBy6D,EAC9B,IACC36D,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAC/C,EAGMuQ,GAAS,CACb2mD,WAAAA,GACAlsD,cAAAA,EACAmsD,kBAAmBqC,GACnBpC,2BAA4BuC,GAC5BtC,iBAAkBA,IAAoBuD,GACtCtD,cAAeA,IAAiByD,GAChCvnD,WAAAA,EACAwyC,iBAAAA,GACA3nC,cAAeC,EACfi5C,cAAAA,GACAC,oBAAAA,GACAZ,cAAAA,EACAzoD,OAAAA,EACAyN,cAAAA,GACA67C,iBAAAA,GACAZ,WAAAA,EACAa,YAAAA,GACAC,qBAAAA,GACAh7C,WAAAA,EACAi3C,8BAAAA,EACAF,WAAAA,GACAC,uBAAAA,GACAiE,cAAAA,GACAC,iBAAAA,GACAhjD,UAAAA,GACAnT,QAAAA,EACAuzC,SAAAA,EACA7pB,KAAAA,EACAqoC,cAtHuB,SAACljD,GAIxBgoD,GAAchoD,GACdirD,GAAYjrD,EACd,EAiHE2lD,kBAjMwB,SAACS,EAAar4C,GAAS,OAC/CA,EAAYg6C,EAAiB3B,GAAe0B,EAAc1B,EAAa,EAiMvEzmC,SAhLe,WACf,IAAM+rC,EAAW,SAACC,GAChB,IAAMC,GAAM9gD,EAAAA,EAAAA,GAAO07C,IACnBoF,EAAOD,GAAOhwC,QAAS,EACvBmuC,GAAS8B,GACThE,EAAQ/sC,EAAO,GACXyrC,IACFwB,EAAc,IACdT,IAAc,SAAArpD,GAAW,OAAAC,EAAAA,EAAA,GAAUD,GAAW,IAAE4O,MAAO,IAAE,KAEvDy5C,IACF0B,EAAiB,IACjBT,IAAiB,SAAAtpD,GAAW,OAAAC,EAAAA,EAAA,GAAUD,GAAW,IAAE4O,MAAO,IAAE,IAEhE,EAEA,OAAQiO,GACN,KAAK,EACChe,GAAYsqD,GAAYp7D,OAAS,EACnC2/D,EAAS,GAET37C,GAAoB,CAClBH,MAAM,EACNnR,QAASnU,KAAKC,EAAE,qCAChBslB,MAAO,QAGX,MACF,KAAK,EACC5M,GAAcmkD,GAAqBr7D,OAAS,EAC9C2/D,EAAS,GAET37C,GAAoB,CAClBH,MAAM,EACNnR,QAASnU,KAAKC,EAAE,sCAChBslB,MAAO,QAKjB,EAyIEozC,SAtIe,WACf2E,EAAQ/sC,EAAO,GACXyrC,IACFwB,EAAc,IACdT,IAAc,SAAArpD,GAAW,OAAAC,EAAAA,EAAA,GAAUD,GAAW,IAAE4O,MAAO,IAAE,KAEvDy5C,IACF0B,EAAiB,IACjBT,IAAiB,SAAAtpD,GAAW,OAAAC,EAAAA,EAAA,GAAUD,GAAW,IAAE4O,MAAO,IAAE,IAEhE,GAgIA,OACE9jB,EAAAA,cAAA,WACEA,EAAAA,cAACgvB,EAAQswB,SAAQ,CAACz7C,MAAOqT,IACvBlX,EAAAA,cAAA,OAAKqB,UAAU,cACbrB,EAAAA,cAACy9D,EAAAA,QAAkB,CAACC,MAAOA,GAAOC,WAAY5rC,IAE9C/xB,EAAAA,cAAC0tD,EAAAA,QAAgB,CACf5mC,KAAME,GACN2mC,kBAAmBnmC,KAGrBxnB,EAAAA,cAAC49D,EAAAA,QAAW,QAMtB,CAQAc,EAAWjnD,aAAe,CACxBpP,QAAS,GACTuzC,SAAU,GACV2e,+BAA+B,GAGjC,W,kjBCrbA,IA8Eaxc,EAAkB,SAACl4C,EAAMgM,EAAQ1J,GAC5C,IAAM68C,E,qWAAS7vC,CAAA,GA/Ee,SAACgF,EAAYtI,EAAQ1J,EAAiB80B,GAAI,MAAM,CAC9E9K,YAAa,CACXwyB,oBAAqB,MACrB/8C,GAAI,cACJg9C,SAAUzqC,GAAU,GAAA7Y,OAAOuQ,EAAM,kCAAAvQ,OAAiC6Y,EAAU,4BAC5EtY,KAAML,KAAKC,EAAE,gCACboH,MAAO,GAETqpB,aAAc,CACZyyB,oBAAqB,MACrB/8C,GAAI,gBACJy9C,OAAiB,YAATpoB,EACR2nB,SAAUzqC,GAAU,GAAA7Y,OAAOuQ,EAAM,kCAAAvQ,OAAiC6Y,EAAU,uBAC5EtY,KAAML,KAAKC,EAAE,iCACboH,MAAO,GAETopB,WAAY,CACV0yB,oBAAqB,MACrBU,OAAiB,YAATpoB,EACRr1B,GAAI,aACJg9C,SAAUzqC,GAAU,GAAA7Y,OAAOuQ,EAAM,kCAAAvQ,OAAiC6Y,EAAU,qBAC5EtY,KAAML,KAAKC,EAAE,+BACboH,MAAO,GAETupB,UAAW,CACTuyB,oBAAqB,MACrB/8C,GAAI,aACJg9C,SAAUzqC,GAAU,GAAA7Y,OAAOuQ,EAAM,kCAAAvQ,OAAiC6Y,EAAU,wBAC5EtY,KAAML,KAAKC,EAAE,+BACboH,MAAO,GAETwpB,OAAQ,CACNsyB,oBAAqB,oBACrB/8C,GAAI,SACJg9C,SAAUzqC,GAAU,GAAA7Y,OAAOuQ,EAAM,kCAAAvQ,OAAiC6Y,EAAU,kBAC5EtY,KAAML,KAAKC,EAAE,6BACboH,MAAO,GAETmpB,MAAO,CACL2yB,oBAAqB,MACrB/8C,GAAI,QACJg9C,SAAUzqC,GAAU,GAAA7Y,OAAOuQ,EAAM,kCAAAvQ,OAAiC6Y,EAAU,mBAC5EtY,KAAML,KAAKC,EAAE,0BACboH,MAAO,GAETypB,WAAY,CACVqyB,oBAAqB,MACrB/8C,GAAI,aACJg9C,SAAUzqC,GAAU,GAAA7Y,OAAOuQ,EAAM,kCAAAvQ,OAAiC6Y,EAAU,yBAC5EtY,KAAML,KAAKC,EAAE,+BACboH,MAAO,GAETD,gBAAiB,CACf+7C,oBAAqB,MACrB/8C,GAAI,gBACJg9C,SAAUz8C,GAAmB,GAC7BtG,KAAML,KAAKC,EAAE,kCACbshE,QAAQ,EACRl6D,MAAO,GAET0pB,MAAO,CACLoyB,oBAAqB,MACrB/8C,GAAI,QACJg9C,SAAUzqC,GAAU,GAAA7Y,OAAOuQ,EAAM,kCAAAvQ,OAAiC6Y,EAAU,qBAC5EtY,KAAML,KAAKC,EAAE,0BACboH,MAAO,GAET2pB,YAAa,CACXmyB,oBAAqB,MACrB/8C,GAAI,eACJg9C,SAAUzqC,GAAU,GAAA7Y,OAAOuQ,EAAM,kCAAAvQ,OAAiC6Y,EAAU,yBAC5EtY,KAAML,KAAKC,EAAE,iCACboH,MAAO,GAETw2C,WAAY,EACb,CAIwB2jB,CAAwBn9D,EAAK+B,IAAM,KAAMiK,EAAQ1J,EAAiBtC,EAAKo3B,OACxFumB,EAAc39C,EAAKo9D,sBAAyBp9D,EAAKwsB,QAAUxsB,EAAKwsB,OAAOpvB,OACvEigE,EAAmBr9D,EAAKs9D,2BAA8Bt9D,EAAK2yC,YAAc3yC,EAAK2yC,WAAWv1C,OACzFmgE,EAAoBv9D,EAAKw9D,0BAA6Bx9D,EAAKysB,YAAczsB,EAAKysB,WAAW1qB,GAEzF07D,EAAW,SAACz6D,EAAOizB,GACvBkpB,EAAUlpB,GAASjzB,MAAQA,EAC3Bm8C,EAAU3F,WAAa2F,EAAU3F,WAAax2C,CAChD,EAEM06D,EAAe,SAACvxC,GAAK,OACP,kBAAVA,GAAuC,kBAAVA,IAAuBjqB,OAAOiqB,IAAU,CAAE,EAUjF,GARIwxB,IACFA,GAAe,GACX8f,EAAS,GAAI,UACb9f,GAAe,GACf8f,EAAS,EAAG,WAIdz9D,EAAKssB,aAAe9S,OAAOC,KAAKzZ,EAAKssB,aAAalvB,OAAQ,CAC5D,IAAIugE,EAAa,EAEjBnkD,OAAOC,KAAKzZ,EAAKssB,aAAaxqB,KAAI,SAAA/D,GAE9B,GAAIiC,EAAKssB,YAAYvuB,GAAM,CACzB,IAAM6/D,EAAMljE,SAASmjE,cAAc,YAEnCD,EAAIE,UAAY99D,EAAKssB,YAAYvuB,GAAKk1B,QAAQ,WAAY,IAE1D,IAAM8qC,EAAqBH,EAAI5/D,OAAS4/D,EAAI5/D,MAAMZ,QAAW,EAE7D2gE,EAAoBJ,IAAeA,EAAaI,EAClD,CACF,IAEFJ,GAAc,KAAOF,EAAS,GAAI,cACpC,CA+CA,OA7CAz9D,EAAK++B,aAAe/+B,EAAK++B,YAAY3hC,QAAUqgE,EAAS,GAAI,eAC3Dz9D,EAAKqsB,cAAgBrsB,EAAK8+B,2BAA6B2+B,EAAS,GAAI,gBACrEz9D,EAAK2sB,aAAe8wC,EAAS,GAAI,eACjCJ,GAAoBI,EAAS,GAAI,aACjCF,GAAqBE,EAAS,GAAI,cAClCz9D,EAAKi6C,SAAWwjB,EAAS,GAAI,SAC7Bz9D,EAAK+C,iBAAmB06D,EAAS,GAAI,oBAEnCC,EAAa19D,EAAKg+D,qCAClBN,EAAa19D,EAAKi+D,mCAClBP,EAAa19D,EAAKk+D,iCAClBR,EAAa19D,EAAKm+D,+BAClBT,EAAa19D,EAAKmqD,qCAClBuT,EAAa19D,EAAKoqD,mCAClBsT,EAAa19D,EAAKqqD,0BAClBqT,EAAa19D,EAAKsqD,wBAClBoT,EAAa19D,EAAKo+D,+BAClBV,EAAa19D,EAAKq+D,6BAClBX,EAAa19D,EAAKs+D,+BAClBZ,EAAa19D,EAAKu+D,6BAClBb,EAAa19D,EAAKw+D,wBAClBd,EAAa19D,EAAKy+D,gBAClBf,EAAa19D,EAAK0+D,6BAClBhB,EAAa19D,EAAK2+D,0BAClBjB,EAAa19D,EAAK4+D,wBAClBlB,EAAa19D,EAAK6+D,mCAClBnB,EAAa19D,EAAK8+D,iCAClBpB,EAAa19D,EAAK++D,YAClBrB,EAAa19D,EAAKg/D,8BAClBtB,EAAa19D,EAAKi/D,4BAClBvB,EAAa19D,EAAKk/D,0CAClBxB,EAAa19D,EAAKm/D,wCAClBzB,EAAa19D,EAAKo/D,sCAClB1B,EAAa19D,EAAKq/D,oCAClB3B,EAAa19D,EAAKs/D,0CAClB5B,EAAa19D,EAAKu/D,wCAClB7B,EAAa19D,EAAKo4C,+BAClBslB,EAAa19D,EAAKq4C,6BAClBqlB,EAAa19D,EAAKw/D,qBAClB9B,EAAa19D,EAAKy/D,oCAClB/B,EAAa19D,EAAK0/D,mCACfjC,EAAS,GAAI,SAEJ,YAAdz9D,EAAKo3B,OAAuB+nB,EAAU3F,WAAa2F,EAAU3F,WAAa,IAEnE2F,CACT,EAGaO,EAAoB,SAAC18C,GAAK,OAC3B,MAAVA,EACI,YACAA,GAAS,GACT,OACAA,GAAS,GACT,SACA,KAAM,EAGC8pB,EAAa,SAAH1tB,GAA8C,IAAxCugE,EAASvgE,EAATugE,UAAWz+C,EAAK9hB,EAAL8hB,MAAO/kB,EAAIiD,EAAJjD,KAAM0iD,EAAQz/C,EAARy/C,SACnDv/C,GAAgCC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAxCsgE,EAAQpgE,EAAA,GAAEqgE,EAAWrgE,EAAA,GAC5B8M,GAAsC/M,EAAAA,EAAAA,WAAS,GAAKgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA7CwzD,EAAWvzD,EAAA,GAAEwzD,EAAcxzD,EAAA,GAUlC,OARAyC,EAAAA,EAAAA,YAAU,WACR+wD,GAAe,EACjB,GAAG,KAEH/wD,EAAAA,EAAAA,YAAU,WACR6wD,GAAaC,GAAeH,GAAsB,UAATxjE,EAC3C,GAAG,CAACA,IAGFhC,EAAAA,cAAA,OAAKqB,UAAS,oBAAuBuD,MAAO,CAAE4nB,WAAYzF,GAAS,YACjE/mB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAMG,GAAQ,WAAYF,KAAM4iD,GAAY,KAClD+gB,GAAYzlE,EAAAA,cAAA,OAAKqB,UAAU,+BAGnC,EAGa6jD,EAAa,SAAH1sC,GAAkC,IAA5B3P,EAAK2P,EAAL3P,MAAOs8C,EAAM3sC,EAAN2sC,OAAQ/iD,EAAKoW,EAALpW,MAEpCyjE,EAAW9qD,KAAKm6B,MAAMrsC,EAAQ,GAC9Bi9D,EAAkBvgB,EAAkB18C,GAG1C,OACE7I,EAAAA,cAAA,OAAKqB,UAAS,eAAAC,OAAiBwkE,IAC7B9lE,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAA,OAAKqB,UAAU,cAAcuD,MAAO,CAAC,MAAO,GAAI,MAAM,GAADtD,OAAKc,EAAK,MAAM,MAAM,GAADd,OAAK6jD,GAAU,GAAE,SAC3FnlD,EAAAA,cAAA,OAAKqB,UAAU,MAAMuD,MAAO,CAAC,MAAOihE,EAAU,MAAM,GAADvkE,OAAKc,EAAK,MAAM,MAAM,GAADd,OAAK6jD,GAAU,GAAE,UAG3FnlD,EAAAA,cAAA,OAAKqB,UAAU,8BACbrB,EAAAA,cAAA,OAAKqB,UAAU,yBACXwH,EACF7I,EAAAA,cAAC2yB,EAAU,CAAC+xB,SAAU,MAClB,SACEljD,KAAKC,EAAE,wCAGjBzB,EAAAA,cAAA,OAAKqB,UAAU,yCACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCACXG,KAAKC,EAAE,iDAADH,OAAkDwkE,MAKpE,EAGap9D,EAAqB,SAAH0R,GAAA,IAAMzR,EAAMyR,EAANzR,OAAQG,EAAKsR,EAALtR,MAAK,OAChD9I,EAAAA,cAAA,OAAKqB,UAAS,wBAAAC,OAA0BqH,EAAS,SAAW,KAC1D3I,EAAAA,cAAC2yB,EAAU,CACT6yC,YAAa78D,EACboe,MAAOpe,EAAS,UAAY,GAC5B3G,KAAM2G,EAAS,QAAU,GACzB+7C,SAAU,KAEZ1kD,EAAAA,cAAA,OAAKgqB,wBAAyB,CAAEC,OAAQnhB,KACnC,EAGI42C,EAAqB,SAArBA,EAAkB2B,GAAiE,IAA3Dx7C,EAAIw7C,EAAJx7C,KAAM81C,EAAgB0F,EAAhB1F,iBAAkBC,EAAQyF,EAARzF,SAAU59B,EAAMqjC,EAANrjC,OAAQ2hC,EAAS0B,EAAT1B,UAC7EptC,GAAsCnN,EAAAA,EAAAA,WAAS,GAAMoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA9C4pB,EAAW3pB,EAAA,GAAE4iD,EAAc5iD,EAAA,GAClCG,GAAgCvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAAxCozD,EAAQnzD,EAAA,GAAEozD,EAAWpzD,EAAA,IAE5BiC,EAAAA,EAAAA,YAAU,YACPmJ,GAAU/C,OAAO45B,iBAAiB,UAAUoxB,EAAAA,EAAAA,UAAS,GAAIC,GAC5D,GAAG,IAEH,IAAMA,EAAe,WACnB,IAAMC,EAAS5lE,SAAS64B,eAAe,wBACjCgtC,EAAeD,GAAUA,EAAOvrD,wBAAwB8+B,OAE9DysB,GAAUC,EAAe,IAAMJ,GAAY,GAC3CG,GAAUC,EAAe,IAAMJ,GAAY,EAC7C,EAGA,OACEhmE,EAAAA,cAAA,OAAKqB,UAAS,wBAAAC,OAA0B0c,EAAS,SAAW,IAAMpW,GAAG,uBAAuBhE,IAAI,uBAC3FlC,QAAS,kBAAMqkE,GAAY3Q,GAAe,SAAAznB,GAAS,OAAKA,CAAS,GAAC,EAClE/oC,MAAOoZ,GAAU2hC,GAAa,CAAE9kC,IAAI,GAADvZ,OAAKq+C,EAAS,QAElDomB,GACA/lE,EAAAA,cAAC0/C,EAAkB,CACjB75C,KAAMA,EACN81C,iBAAkBA,EAClBC,SAAUA,EACV59B,QAAQ,EACR2hC,UAAWA,EACX/7C,IAAI,WAIR5D,EAAAA,cAACqmE,EAAAA,QAAqB,CACpBxgE,KAAMA,EACN6P,YAAa,kBAAM0/C,GAAe,EAAM,EACxCzZ,iBAAkBA,EAClBC,SAAUA,EACVpgC,UAAW2gB,IAEbn8B,EAAAA,cAAC2yB,EAAU,CAAC+xB,SAAU1mC,EAAS,GAAK,KACpChe,EAAAA,cAAA,OAAKqB,UAAU,yCACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,+BACXG,KAAKC,EAAE,yCAA0C,KAAIoE,EAAKw5C,WAAY,IAACr/C,EAAAA,cAAA,YAAM,WAE9Ege,GAA8B,MAApBnY,EAAKw5C,YAChBr/C,EAAAA,cAAA,OAAKqB,UAAU,qCACXG,KAAKC,EAAE,oDAIfzB,EAAAA,cAAA,OAAKqB,UAAU,wCAAwCK,QAAS,kBAAOqkE,GAAY3Q,GAAe,SAAAznB,GAAS,OAAKA,CAAS,GAAC,IACrH3vB,GAAUxc,KAAKC,EAAE,kDACpBzB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,OAK3C,C,uGC5SA,SAASwkE,EAAyBrhE,GAQ9B,IAPF0S,EAAY1S,EAAZ0S,aACAT,EAAMjS,EAANiS,OACAU,EAAY3S,EAAZ2S,aACAC,EAAO5S,EAAP4S,QACAC,EAAU7S,EAAV6S,WACAyuD,EAAYthE,EAAZshE,aACAxuD,EAAM9S,EAAN8S,OAEA,OACE/X,EAAAA,cAAA,OACEqB,UAAS,iCAAAC,OACPilE,EAAe,cAAgB,KAGjCvmE,EAAAA,cAAA,QACE6B,KAAK,iBACLR,UAAU,wBACV2W,SAAUL,EACVM,YAAU,GAEVjY,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,cACLuW,KAAK,WACLvU,MAAOqT,EAAOsvD,YACd5uD,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,4BACdkF,MAAOkR,EAAQ2uD,aAAezuD,EAAOyuD,YACrCruD,UAAQ,IAGVnY,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,WACLuW,KAAK,WACLvU,MAAOqT,EAAO+Q,SACdrQ,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,wBACdkF,MAAOkR,EAAQoQ,UAAYlQ,EAAOkQ,SAClC9P,UAAQ,IAEVnY,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,uBACLuW,KAAK,WACLvU,MAAOqT,EAAOgR,qBACdtQ,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,yDACdkF,MAAOkR,EAAQqQ,sBAAwBnQ,EAAOmQ,qBAC9C/P,UAAQ,IAGVnY,EAAAA,cAAA,UAAQoY,KAAK,SAAS/W,UAAU,gCAC5BG,KAAKC,EAAE,kBAKnB,CAEA,IAAMglE,GAAqBpuD,EAAAA,EAAAA,IAAW,CACpCO,iBAAkBC,EAAAA,GAAAA,SAAaC,MAAM,CACnC0tD,YAAa3tD,EAAAA,GAAAA,SACboP,SAAUW,EAAAA,mBACVV,qBAAsBW,EAAAA,iCAGxBlR,aAAc,SAACT,EAAQiC,GACrBA,EAAIpZ,MAAMq6D,cAAcljD,EAC1B,GATyBmB,CAUxBiuD,GAYHA,EAA0B7uD,aAAe,CACvCP,OAAQ,CAAC,EACTS,aAAc,kBAAM,CAAI,EACxBC,aAAc,kBAAM,CAAI,EACxBC,SAAS,EACTC,WAAY,kBAAM,CAAI,EACtByuD,cAAc,EACdxuD,OAAQ,IAGV,W,uGC7FA,SAAS2uD,EAAkBzhE,GAOvB,IANF0S,EAAY1S,EAAZ0S,aACAT,EAAMjS,EAANiS,OACAU,EAAY3S,EAAZ2S,aACAC,EAAO5S,EAAP4S,QACAC,EAAU7S,EAAV6S,WACAC,EAAM9S,EAAN8S,OAEA,OACE/X,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAA,QACE6B,KAAK,eACLR,UAAU,eACV2W,SAAUL,EACVM,YAAU,GAEVjY,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,OACLgC,MAAOqT,EAAOrV,KACd+V,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,gBACdkF,MAAOkR,EAAQhW,MAAQkW,EAAOlW,KAC9BsW,UAAQ,KAIZnY,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,QACLgC,MAAOqT,EAAOpB,MACd8B,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,iBACdkF,MAAOkR,EAAQ/B,OAASiC,EAAOjC,MAC/BqC,UAAQ,MAIdnY,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,cACLgC,MAAOqT,EAAOE,YACdQ,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,iBACdkF,MAAOkR,EAAQT,aAAeW,EAAOX,YACrCe,UAAQ,MAKdnY,EAAAA,cAAA,UAAQoY,KAAK,SAAS/W,UAAU,6BAC7BG,KAAKC,EAAE,kBAKlB,CAEA,IAAMklE,GAActuD,EAAAA,EAAAA,IAAW,CAC7BC,oBAAoB,EACpBC,iBAAkB,SAAAC,GAAA,IAAGxB,EAAWwB,EAAXxB,YAAW,MAAQ,CACtCnV,KAAMmV,EAAcA,EAAYnV,KAAO,GACvCiU,MAAOkB,EAAcA,EAAYlB,MAAQ,GACzCsB,YAAaJ,EAAcA,EAAYI,YAAc,GACtD,EAEDwB,iBAAkBC,EAAAA,GAAAA,SAAaC,MAAM,CACnCjX,KAAMmX,EAAAA,eACNlD,MAAOmD,EAAAA,gBACP7B,YAAa8B,EAAAA,kBAGfvB,aAAc,SAACT,EAAQiC,GACrBA,EAAIpZ,MAAMq6D,cAAcljD,EAC1B,EAEAkC,YAAa,gBAlBKf,CAmBjBquD,GAWHA,EAAmBjvD,aAAe,CAChCP,OAAQ,CAAC,EACTS,aAAc,kBAAM,CAAI,EACxBC,aAAc,kBAAM,CAAI,EACxBC,SAAS,EACTC,WAAY,kBAAM,CAAI,EACtBC,OAAQ,IAGV,W,8LC/FA,SAAS6uD,EAAgB7mE,GACvB,IAAAoF,GAAsCC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA3C6R,EAAW3R,EAAA,GAAE+wD,EAAc/wD,EAAA,GAClC8M,GAA8C/M,EAAAA,EAAAA,UAAS,IAAGgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAnD00D,EAAez0D,EAAA,GAAE00D,EAAkB10D,EAAA,GAC1CG,GAAwCnN,EAAAA,EAAAA,WAAS,GAAKoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA/Cg0D,EAAY/zD,EAAA,GACnBG,GADoCH,EAAA,IACNpN,EAAAA,EAAAA,UAAS,IAAEwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAAlCiB,EAAOhB,EAAA,GAAE8D,EAAU9D,EAAA,GAC1BG,GAAgD3N,EAAAA,EAAAA,WAAS,GAAM4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAAxD7N,EAAgB8N,EAAA,GAAE+zD,EAAmB/zD,EAAA,GAC5CG,GAA8C/N,EAAAA,EAAAA,WAAS,GAAMmO,GAAAjO,EAAAA,EAAAA,GAAA6N,EAAA,GAAtDqT,EAAejT,EAAA,GAAEkT,EAAkBlT,EAAA,GAC1CG,GAAqCtO,EAAAA,EAAAA,UAAS,CAAC,GAAE4O,GAAA1O,EAAAA,EAAAA,GAAAoO,EAAA,GAA1CkT,EAAS5S,EAAA,GAAE6S,EAAe7S,EAAA,GACjC0M,GAAgDtb,EAAAA,EAAAA,UAAS,CACvD0hB,MAAM,EACNnR,QAAS,GACToR,MAAO,UACPpG,GAAArb,EAAAA,EAAAA,GAAAob,EAAA,GAJKsG,EAAgBrG,EAAA,GAAEsG,EAAmBtG,EAAA,GAK5CG,GAAsC1b,EAAAA,EAAAA,UAAS,CAAEuO,KAAM,IAAIoN,GAAAzb,EAAAA,EAAAA,GAAAwb,EAAA,GAApDkmD,EAAWjmD,EAAA,GAAEkmD,EAAclmD,EAAA,GAC1BpN,EAASqzD,EAATrzD,KAGN0f,EAMEtzB,EANFszB,iBACA1hB,EAKE5R,EALF4R,cACAq+B,EAIEjwC,EAJFiwC,cACAk3B,EAGEnnE,EAHFmnE,uBACAC,GAEEpnE,EAFFonE,uBACAlwD,GACElX,EADFkX,kBAEF9C,IAAmCzO,EAAAA,EAAAA,GAAS8J,EAAAA,iBAAkB,CAC5D3H,UAAW,CAAED,GAAIyrB,KADLO,GAAOzf,GAAbtO,KAAe2O,GAAOL,GAAPK,QAGT4yD,IAAwB1hE,EAAAA,EAAAA,GAASwK,EAAAA,uBAAvCrK,KACRJ,IAAwBO,EAAAA,EAAAA,GAAYwH,EAAAA,gBAA7BoH,IAA4CtP,EAAAA,EAAAA,GAAAG,GAAA,GAA/B,IAEpBoP,EAAAA,EAAAA,YAAU,WACJ+e,KACFwiC,EAAexiC,GAAQA,SACvBmzC,EAAoBnzC,GAAQA,QAAQyzC,eACpCpwD,GAAkB2c,GAAQA,UAExBwzC,IACFN,EAAmBM,GAAoBE,iBAE3C,GAAG,CAAC1zC,GAASwzC,KAEb,IAiFMhyD,IAAUmyD,EAAAA,EAAAA,yBAAwBV,EAAiBl1D,GAEzD,OACE3R,EAAAA,cAAA,OAAKqB,UAAU,oBACbrB,EAAAA,cAAC0tD,EAAAA,QAAgB,CACf5mC,KAAME,EACN2mC,kBAnB0B,WAC9B1mC,EAAoB,CAAEH,MAAM,EAAOnR,QAAS,GAAIoR,MAAO,IACzD,IAoBI/mB,EAAAA,cAAA,UAAKwB,KAAKC,EAAE,yCAEZzB,EAAAA,cAACwnE,EAAAA,QAAW,CACVC,SAAUzwD,EAAY0wD,SACtBC,WAAYT,EACZl3B,cAAeA,EACf43B,kBAAmBpmE,KAAKC,EAAE,wCAC1BomE,cAAerzD,GACfszD,WAAYX,KAGdnnE,EAAAA,cAAC2mE,EAAAA,QAAW,CACV3vD,YAAaA,EACbojD,cAvGoB,SAACljD,GACzB+P,EAAoB,CAAEH,MAAM,EAAOnR,QAAS,KAC5C,IAAQ9T,EAA6BqV,EAA7BrV,KAAMiU,EAAuBoB,EAAvBpB,MAAOsB,EAAgBF,EAAhBE,YAQrBxC,GAAc,CACZ/M,UAAW,CAAEC,MARD,CACZjG,KAAAA,EACAiU,MAAAA,EACAsB,YAAAA,EACAxP,GAAIyrB,IAKJhtB,eAAgB,CAAC,WACjBT,YAAa,SAAAX,GAAiB,IAAd8S,EAAM9S,EAAN8S,OACVA,GAAUA,EAAO9U,OACnBgF,QAAQC,IAAI6P,GAEZkP,EAAoB,CAClBH,MAAM,EACNnR,QAASnU,KAAKC,EAAE,+CAChBslB,MAAO,SAGb,GAEJ,IAiFI/mB,EAAAA,cAAA,UAAKwB,KAAKC,EAAE,qDAMZzB,EAAAA,cAACymE,EAAAA,QAAkB,CACjBrM,cAtFiB,SAACljD,GACtB,IAAQ+Q,EAAgD/Q,EAAhD+Q,SAAUC,EAAsChR,EAAtCgR,qBAAsBs+C,EAAgBtvD,EAAhBsvD,YAQxC5xD,GAAc,CACZ/M,UAAW,CAAEC,MARD,CACZF,GAAIyrB,EACJpL,SAAAA,EACAC,qBAAAA,EACAs+C,YAAAA,IAKA5gE,YAAa,SAAA4S,GAAwB,IAC3BT,EADmBS,EAAb5D,cACNmD,OACRkD,OAAO8sD,SAAS,EAAG,GACfhwD,GAAUA,EAAO9U,OACnBgkB,EAAoB,CAClBH,MAAM,EACNnR,QAASnU,KAAKC,EAAE,kCAChBslB,MAAO,QAGTE,EAAoB,CAClBH,MAAM,EACNnR,QAASnU,KAAKC,EAAE,+CAChBslB,MAAO,SAGb,GAEJ,EA0DMw/C,aAAcA,IAGhBvmE,EAAAA,cAAA,UAAKwB,KAAKC,EAAE,4CAEZzB,EAAAA,cAACuW,EAAAA,QAAK,CACJ1Q,KAAMghE,EACNzxD,QAASA,GACTsB,WAAYA,EACZ9C,QAASA,EACT+C,YAAahD,EACb8C,QAAS,SAAC9C,GA/CdszD,EAAe,CAAEtzD,KA+CoB,CAAEA,KAAAA,GA/CRA,MA+Ce,EAC1CiD,eAtDiB,CACrB,CAAE/S,MAAO,IAAKiF,MAAO,KACrB,CAAEjF,MAAO,KAAMiF,MAAO,OAqDlBk/D,aAAW,EACXC,YAAU,EACVnxD,eAAa,IAGd5R,GACClF,EAAAA,cAAAA,EAAAA,SAAA,KACEA,EAAAA,cAAC4nB,EAAAA,QAAkB,CACjBC,SAAU,kBAAMhB,EAAgB,CAAC,EAAE,EACnChhB,KAAM+gB,EACNlR,YAAa,kBAAM+Q,GAAmB,EAAM,EAC5CjL,UAAWgL,EACXooC,QAAM,IAGR5uD,EAAAA,cAAA,UAAI,kBACJA,EAAAA,cAAA,SAAIwB,KAAKC,EAAE,gDAEXzB,EAAAA,cAAA,UACEoY,KAAK,SACL/W,UAAU,kCACVK,QA1FY,WACpB,IAAMmE,EAAO,CAAE+B,GAAIyrB,EAAkBxxB,KAAMmV,EAAYnV,MACvDglB,EAAgBhhB,GAChB4gB,GAAmB,EACrB,GAwFWjlB,KAAKC,EAAE,oBAKdzB,EAAAA,cAACkoE,EAAAA,QAAc,CAAChjE,iBAAkBA,IAGxC,CASA0hE,EAAgBnvD,aAAe,CAC7B4b,iBAAkB,GAClB2c,cAAe,GACfk3B,uBAAwB,GACxBC,uBAAwB,IAG1B,W,uHC9NA,SAASK,EAAWviE,GAQhB,IAPFwiE,EAAQxiE,EAARwiE,SACAE,EAAU1iE,EAAV0iE,WACA33B,EAAa/qC,EAAb+qC,cACA83B,EAAU7iE,EAAV6iE,WACAK,EAAQljE,EAARkjE,SACAP,EAAiB3iE,EAAjB2iE,kBACAC,EAAa5iE,EAAb4iE,cAEA1iE,GAA4BC,EAAAA,EAAAA,UAAS,IAAGC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAjCizD,EAAM/yD,EAAA,GAAE+iE,EAAS/iE,EAAA,GACxB8M,GAAwC/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAhDk2D,EAAYj2D,EAAA,GAAEk2D,EAAel2D,EAAA,GAkDpC,OACEpS,EAAAA,cAAA,OAAKqB,UAAU,gBACbrB,EAAAA,cAACuoE,IAAc,CACb70B,UAAU,EACV7vC,MAAOu0D,EACP18C,SAXW,SAAC8sD,GAChBJ,EAAUI,GACcA,EAAUvlE,OA5CnB,SAACulE,GAChBF,GAAgB,GAChB,IAAMz4B,EAAW,IAAIC,SACrBq4B,EACIt4B,EAASE,OAAO,iBAAkBy4B,EAAU,GAAGl4B,MAC/CT,EAASE,OAAO,iBAAkBy4B,EAAU,GAAGl4B,MACnDT,EAASE,OAAO,qBAAsBC,GAEtC,IAAMC,EAAa,CACjBhuC,IAAK0lE,EACLz3B,OAAQ,MACRrqC,KAAMgqC,GAGR7D,EAAAA,EAAYoE,YAAYH,GACrB3tB,MAAK,SAAA0oB,GACe,YAAfA,EAAIvoB,SACN6lD,GAAgB,GAChBT,IAEJ,GACJ,CAwBoBY,CAASD,GArB3BE,IAAAA,IAEIZ,EACA,CAAEt2B,mBAAoBxB,GACtB,CACEG,QAAS,CACP,eAAgB,mBAChBw4B,OAAQ,sBAIbrmD,MAAK,SAAC4pB,GACmB,MAApBA,EAASzpB,QACXolD,GAEJ,GAOJ,EAQMe,WAAW,aAEV,SAAApwD,GAAA,IAAGgwD,EAAShwD,EAATgwD,UAAWK,EAAarwD,EAAbqwD,cAAeC,EAAgBtwD,EAAhBswD,iBAAgB,OAC5C9oE,EAAAA,cAAA,OAAKqB,UAAU,8BACS,IAArBmnE,EAAUvlE,QACTjD,EAAAA,cAAA,OAAKqB,UAAU,+BACbrB,EAAAA,cAAA,OACEqB,UAAS,6BAAAC,OACPmmE,EAAW,eAAiB,KAG7BA,EACCznE,EAAAA,cAAA,OACEqB,UAAU,8BACVkH,IAAKk/D,EACLn/D,IAAI,kBAGNtI,EAAAA,cAAA,YAAQmoE,EAAW3mE,KAAKC,EAAE,mCAAqCD,KAAKC,EAAE,uCAM7E+mE,EAAU7gE,KAAI,SAACohE,EAAOr7C,GAAK,OAC1B1tB,EAAAA,cAAA,OAAK4D,IAAK8pB,EAAOrsB,UAAU,cACzBrB,EAAAA,cAAA,OAAKqB,UAAU,gBACbrB,EAAAA,cAAA,OACEsI,IAAI,UACJjH,UAAU,QACVkH,IAAKwgE,EAAMC,SACX3mE,OAAO,UAGP,IAGRrC,EAAAA,cAAA,UACEoY,KAAK,SACL1W,QAASmnE,EACTxnE,UAAU,iBAERG,KAAKC,EAAE,mBAGXzB,EAAAA,cAAA,UACEoY,KAAK,SACL1W,QAASonE,EACTp6C,UAAW+4C,GAAYY,EACvBhnE,UAAS,iBAAAC,OAAoBmmE,EAAW,uBAAyB,KAE/DY,GAAgBroE,EAAAA,cAAA,OAAKqB,UAAU,oBACjCrB,EAAAA,cAAA,YAAQ4nE,IAEN,IAKhB,CAYAJ,EAAY/vD,aAAe,CACzBgwD,SAAU,GACVE,WAAY,GACZ33B,cAAe,GACf83B,WAAY,GACZK,UAAU,EACVP,kBAAmB,GACnBC,cAAe,kBAAM,CAAI,GAG3B,W,mJCjJA,SAASoB,EAAiBlpE,GAExB,IAAAoF,GAAwCC,EAAAA,EAAAA,UAAS,CAAC,GAAEC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA7CglB,EAAY9kB,EAAA,GAAE6jE,EAAe7jE,EAAA,GACpC8M,GAAwC/M,EAAAA,EAAAA,UAAS,IAAGgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA7Cg3D,EAAY/2D,EAAA,GAAEg3D,EAAeh3D,EAAA,GACpCG,GAAsCnN,EAAAA,EAAAA,WAAS,GAAKoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA7C82D,EAAW72D,EAAA,GAAE82D,EAAc92D,EAAA,GAClCG,GAA8CvN,EAAAA,EAAAA,UAAS,IAAGwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAAnD42D,EAAe32D,EAAA,GAAE42D,EAAkB52D,EAAA,GAC1CG,GAAgD3N,EAAAA,EAAAA,UAAS,CACvD0hB,MAAM,EACNnR,QAAS,GACToR,MAAO,UACP/T,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAJKiU,EAAgBhU,EAAA,GAAEiU,EAAmBjU,EAAA,GAO1Cy2D,EAYE1pE,EAZF0pE,aACAv0C,EAWEn1B,EAXFm1B,cACA7B,EAUEtzB,EAVFszB,iBACAq2C,EASE3pE,EATF2pE,aACA15B,EAQEjwC,EARFiwC,cACA25B,EAOE5pE,EAPF4pE,QACArmD,EAMEvjB,EANFujB,WACAsmD,EAKE7pE,EALF6pE,uBACAC,EAIE9pE,EAJF8pE,0BACAxhE,EAGEtI,EAHFsI,QACAyhE,EAEE/pE,EAFF+pE,mBACAC,EACEhqE,EADFgqE,uBAGIC,EAAsB,OAAZ3hE,EAEhB8L,GAA0BzO,EAAAA,EAAAA,GAASwI,EAAAA,aAAc,CAAErG,UAAW,CAAED,GAAI0b,KAA5Dzd,EAAIsO,EAAJtO,KAAM2O,EAAOL,EAAPK,QACAof,GAAYluB,EAAAA,EAAAA,GAAS8J,EAAAA,iBAAkB,CAAE3H,UAAW,CAAED,GAAIyrB,KAAhExtB,KAERJ,GAAyBO,EAAAA,EAAAA,GAAYgI,EAAAA,iBAA9Bi8D,GAA8C3kE,EAAAA,EAAAA,GAAAG,EAAA,GAAhC,GAEfykE,EAAqB7qD,OAAOC,KAAKoqD,GAAc/hE,KAAI,SAAC/D,GAAG,MAAM,CACjEC,MAAOD,EACPkF,MAAO4gE,EAAa9lE,GACrB,IAEKumE,EAAgB9qD,OAAOC,KAAKqqD,GAAShiE,KAAI,SAAC/D,GAAG,MAAM,CACvDC,MAAOD,EACPkF,MAAO6gE,EAAQ/lE,GAChB,IAEKwmE,EAA0BD,EAAclnE,OAAS,GAAKinE,EAAmBjnE,OAAS,EAClFonE,EAA0BH,EAAmBjnE,OAAS,EACtDqnE,EAA8BH,EAAclnE,OAAS,GAG3D4R,EAAAA,EAAAA,YAAU,WACJ+e,GACF01C,GAAgB11C,EAAQA,QAAQyzC,eAE9BxhE,IACFqjE,EAAgBrjE,EAAKsiE,UACrBiB,EAAgBvjE,EAAKsiE,SAASgB,cAC9BK,EAAmB3jE,EAAKsiE,SAASoB,iBACjCO,EAAmBjkE,EAAKsiE,UAE5B,GAAG,CAACtiE,EAAM+tB,IAwEV,OACE5zB,EAAAA,cAAA,OAAKqB,UAAU,qBAEbrB,EAAAA,cAAC0tD,EAAAA,QAAgB,CACf5mC,KAAME,EACN2mC,kBAT0B,WAAH,OAC3B1mC,EAAoB,CAAEH,MAAM,EAAOnR,QAAS,IAAM,IAWhD3V,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,kDAEV4nE,GACDrpE,EAAAA,cAAA,WACEA,EAAAA,cAAA,KAAGqB,UAAU,yBAAyB2oB,wBAAyB,CAACC,OAAQzoB,KAAKC,EAAE,uDAE/EzB,EAAAA,cAAA,OAAKqB,UAAU,4BACZ8oB,EAAaU,QACZ7qB,EAAAA,cAAA,OACEqB,UAAU,8BACVkH,IAAK4hB,EAAaU,QAClBviB,IAAI,kBAGJtI,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,sCAMvBzB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,wBAAyB,KAAEzB,EAAAA,cAAA,SAAImqB,EAAahT,cACxDnX,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,+CAAgD,KAAEzB,EAAAA,cAAA,SAAKmqB,EAAasB,QAC9EtB,EAAawB,KACb3rB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,wCAAyC,KAAEzB,EAAAA,cAAA,SAAKmqB,EAAawB,MAE3E3rB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,6CAA8C,KAAEzB,EAAAA,cAAA,SAAKmqB,EAAa1iB,OAC9EzH,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,+CAAgD,KAAEzB,EAAAA,cAAA,SAAKmqB,EAAaiB,QAEhFprB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,qDAAsD,KAAEzB,EAAAA,cAAA,SAAImqB,EAAa/S,cACrFpX,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,sDAAuD,KAAEzB,EAAAA,cAAA,SAAKmqB,EAAaogD,iBAErFpgD,EAAaO,YACb1qB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,oDAAqD,KAAEzB,EAAAA,cAAA,SAAImqB,EAAaO,aAGtF1qB,EAAAA,cAAA,SAAKwB,KAAKC,EAAE,mDAAoD,KAAEzB,EAAAA,cAAA,SAAIypE,IAEtEzpE,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAA,SACEqB,UAAU,iBACVmyC,QAAQ,0CAERxzC,EAAAA,cAAA,SACE6B,KAAK,yCACLuW,KAAK,WACL2M,QAASoF,EAAaqgD,uCACtB5iE,GAAG,yCACH8mB,UAAQ,IAEV1uB,EAAAA,cAAA,QAAMqB,UAAU,aAChBrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAE3B9B,EAAAA,cAAA,OAAKqB,UAAU,kBACXG,KAAKC,EAAE,mFAKbooE,GACA7pE,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAA,SAAOqB,UAAU,iBAAiBmyC,QAAQ,wBACxCxzC,EAAAA,cAAA,SACE6B,KAAK,uBACLuW,KAAK,WACL2M,QAAS8kD,EACTjiE,GAAG,uBACH8mB,UAAQ,IAEV1uB,EAAAA,cAAA,QAAMqB,UAAU,aAChBrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAE3B9B,EAAAA,cAAA,OAAKqB,UAAU,kBACXG,KAAKC,EAAE,+DAQnB4nE,GACArpE,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAACwnE,EAAAA,QAAW,CACVx3B,cAAeA,EACf63B,cAAerzD,EACfizD,SAAUt9C,EAAaU,QACvBs9C,UAAQ,EACRL,WAAY8B,EACZhC,kBAAmBpmE,KAAKC,EAAE,uCAC1BkmE,WAAYoC,IAGd/pE,EAAAA,cAACyqE,EAAAA,QAAc,CACbC,oBAlHwB,SAAC7mE,GAAK,OACtCulE,EAAgBvlE,EAAO,EAkHf8mE,wBA/GsB,SAAC9mE,GAAK,OACpC2lE,EAAmB3lE,EAAO,EA+GlBmmE,QAASA,EACTP,aAAcA,EACdv0C,cAAeA,EACfi0C,aAAcA,EACde,mBAAoBA,EACpBC,cAAeA,EACfZ,gBAAiBA,EACjBqB,eApLa,SAAC1zD,GACtB,IACEC,EAUED,EAVFC,YACAsU,EASEvU,EATFuU,MACArU,EAQEF,EARFE,YACAmH,EAOErH,EAPFqH,QACAmM,EAMExT,EANFwT,WACAjjB,EAKEyP,EALFzP,KACA+iE,EAIEtzD,EAJFszD,uCACAK,EAGE3zD,EAHF2zD,qBACAl/C,EAEEzU,EAFFyU,IACA4+C,EACErzD,EADFqzD,eAGIziE,EAAQ,CACZF,GAAImU,SAASuH,GACbnM,YAAAA,EACAsU,MAAAA,EACArU,YAAAA,EACAgU,MAAO7M,EACPmM,WAAAA,EACAjjB,KAAAA,EACA+iE,uCAAAA,EACAK,qBAAAA,EACAl/C,IAAKA,GAAO,KACZw9C,aAAcA,GAAgB,GAC9BI,gBAAiBA,GAAmB,GACpCgB,eAAgBA,GAAkB,IAGpCN,EAAe,CACbpiE,UAAW,CAAEC,MAAAA,GACbzB,eAAgB,CAAC,eACjBT,YAAa,SAACC,GACZ,IAAQkS,EAAWlS,EAAKokE,eAAhBlyD,OACR,GACEoS,EAAag/C,eAAiBA,GAC9Bh/C,EAAao/C,kBAAoBA,EACjC,CACA,IAAM53D,EAAgB43D,GAAuC,UAApBA,EAA2B,IAAAjoE,OAAOioE,GAAoB,GAC/FtuD,OAAOrR,SAAS68C,OAAO,GAADnlD,OAAIqQ,EAAa,oCACzC,CACIoG,GAAUA,EAAO9U,OACnBgF,QAAQC,IAAI6P,IAEZkP,EAAoB,CAClBH,MAAM,EACNnR,QAASnU,KAAKC,EAAE,wDAChBslB,MAAO,UAET9L,OAAO8sD,SAAS,EAAG,GAEvB,GAEJ,EA+HU59C,aAAcA,EACdigD,wBAAyBA,EACzBC,wBAAyBA,EACzBC,4BAA6BA,EAC7BT,0BAA2BA,KAOvC,CAcAZ,EAAiBxxD,aAAe,CAC9BgyD,aAAc,GACdI,2BAA2B,EAC3BF,QAAS,CAAC,EACVD,aAAc,CAAC,EACfE,uBAAwB,GACxB55B,cAAe,GACf+5B,uBAAwB,GACxBzmD,WAAY,IAId,W,kJC/QA,SAASwnD,EAAqB7lE,GAiBK,IAjBFylE,EAAmBzlE,EAAnBylE,oBACAC,EAAuB1lE,EAAvB0lE,wBACAX,EAAO/kE,EAAP+kE,QACAP,EAAYxkE,EAAZwkE,aACA1xD,EAAM9S,EAAN8S,OACAmyD,EAAkBjlE,EAAlBilE,mBACAC,EAAallE,EAAbklE,cACAryD,EAAU7S,EAAV6S,WACAF,EAAY3S,EAAZ2S,aACAD,EAAY1S,EAAZ0S,aACAwS,EAAYllB,EAAZklB,aACA0/C,EAAyB5kE,EAAzB4kE,0BACAO,EAAuBnlE,EAAvBmlE,wBACAC,EAAuBplE,EAAvBolE,wBACAC,EAA2BrlE,EAA3BqlE,4BACAzyD,EAAO5S,EAAP4S,QACAX,EAAMjS,EAANiS,OAI/B,OACElX,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,QAAM6B,KAAK,iBAAiBmW,SAAUL,EAAcM,YAAU,GAC5DjY,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,cACLgC,MAAOqT,EAAOC,YACdS,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,wBACdkF,MAAOkR,EAAQV,aAAeY,EAAOZ,YACrCgB,UAAQ,KAIZnY,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,QACLgC,MAAOqT,EAAOuU,MACd7T,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,+CACdkF,MAAOkR,EAAQ4T,OAAS1T,EAAO0T,MAC/BtT,UAAQ,MAKdnY,EAAAA,cAAA,OAAKqB,UAAU,OACX8oB,EAAawB,KACb3rB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,MACLgC,MAAOqT,EAAOyU,IACd/T,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,wCACdkF,MAAOkR,EAAQ8T,KAAO5T,EAAO4T,IAC7BxT,UAAQ,KAKdnY,EAAAA,cAAA,OAAKqB,UAAS,GAAAC,OAAK6oB,EAAawB,IAAM,WAAa,aACjD3rB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,iBACLgC,MAAOqT,EAAOqzD,eACd3yD,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,sDACdkF,MAAOkR,EAAQ0yD,gBAAkBxyD,EAAOwyD,eACxCpyD,UAAQ,IAGVnY,EAAAA,cAAC8d,EAAAA,gBAAe,CACdlW,GAAI,gCACJtF,SAAU,SACVyb,QAASvc,KAAKC,EAAE,sDAMtBzB,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,OACLgC,MAAOqT,EAAOzP,KACdmQ,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,6CACdkF,MAAOkR,EAAQpQ,MAAQsQ,EAAOtQ,KAC9B0Q,UAAQ,MAKdnY,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,UACLgC,MAAOqT,EAAOqH,QACd3G,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,+CACdkF,MAAOkR,EAAQ0G,SAAWxG,EAAOwG,QACjCpG,UAAQ,MAKdnY,EAAAA,cAAA,OAAKqB,UAAU,OACbrB,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,cACLgC,MAAOqT,EAAOE,YACdQ,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,qDACdkF,MAAOkR,EAAQT,aAAeW,EAAOX,YACrCe,UAAQ,KAIZnY,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAACkY,EAAAA,QAAK,CACJrW,KAAK,aACLgC,MAAOqT,EAAOwT,WACd9S,aAAcA,EACdE,WAAYA,EACZhP,MAAOtH,KAAKC,EAAE,oDACdkF,MAAOkR,EAAQ6S,YAAc3S,EAAO2S,WACpCvS,WAAY6xD,MAKlBhqE,EAAAA,cAAA,WACEA,EAAAA,cAAA,SACGwB,KAAKC,EAAE,mDAAmD,IAAE,IAC7DzB,EAAAA,cAAA,QAAMqB,UAAU,mCACbooE,KAKPzpE,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAA,SACEqB,UAAU,iBACVmyC,QAAQ,0CAERxzC,EAAAA,cAAA,SACE6B,KAAK,yCACLuW,KAAK,WACL2M,UAAW7N,EAAOszD,uCAClB5iE,GAAG,yCACH8T,SAAU9D,EACVm1B,OAAQj1B,IAEV9X,EAAAA,cAAA,QAAMqB,UAAU,aACdrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAE7B9B,EAAAA,cAAA,OAAKqB,UAAU,kBACZG,KAAKC,EAAE,mFAKbooE,GACC7pE,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAA,SAAOqB,UAAU,iBAAiBmyC,QAAQ,wBACxCxzC,EAAAA,cAAA,SACE6B,KAAK,uBACLuW,KAAK,WACL2M,UAAW7N,EAAO2zD,qBAClBjjE,GAAG,uBACH8T,SAAU9D,EACVm1B,OAAQj1B,IAEV9X,EAAAA,cAAA,QAAMqB,UAAU,aACdrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAE7B9B,EAAAA,cAAA,OAAKqB,UAAU,kBACZG,KAAKC,EAAE,8DAMf2oE,GACCpqE,EAAAA,cAAA,OAAKqB,UAAU,+BACbrB,EAAAA,cAAA,UAAKwB,KAAKC,EAAE,iCAEZzB,EAAAA,cAAA,OAAKqB,UAAU,yCACbrB,EAAAA,cAAA,OAAKqB,UAAU,OACZgpE,GACCrqE,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAAA,SACGwB,KAAKC,EAAE,gDAAgD,IAAE,KAE5DzB,EAAAA,cAACylB,EAAAA,QAAa,CACZ9kB,QAASupE,EACTtyD,aAAc,SAAC/T,GAAK,OAAK6mE,EAAoB7mE,EAAM,EACnDA,MAAOqT,EAAOiyD,gBAInBmB,GACCtqE,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAAA,SACGwB,KAAKC,EAAE,mDAAmD,IACzD,KAEJzB,EAAAA,cAACylB,EAAAA,QAAa,CACZ9kB,QAASwpE,EACTvyD,aAAc,SAAC/T,GAAK,OAAK8mE,EAAwB9mE,EAAM,EACvDA,MAAOqT,EAAOqyD,sBAS5BvpE,EAAAA,cAAA,WACEA,EAAAA,cAAA,UAAQqB,UAAU,uBAAuB+W,KAAK,UAC1C5W,KAAKC,EAAE,mBAMrB,CAEA,IAAMgpE,GAAiBpyD,EAAAA,EAAAA,IAAW,CAChCC,oBAAoB,EACpBC,iBAAkB,SAAAC,GAAA,IACG2R,EAAY3R,EAAZ2R,aACAg/C,EAAY3wD,EAAZ2wD,aACAI,EAAe/wD,EAAf+wD,gBACAS,EAAOxxD,EAAPwxD,QACA90C,EAAa1c,EAAb0c,cAAa,MACR,CACxB/d,YAAagT,EAAeA,EAAahT,YAAc,GACvDsU,MAAOtB,EAAeA,EAAasB,MAAQ,GAC3CrU,YAAa+S,EAAeA,EAAa/S,YAAc,GACvDmH,QAAS4L,EAAeA,EAAaiB,MAAQ,GAC7CV,WAAYP,EAAeA,EAAaO,WAAa,GACrDjjB,KAAM0iB,EAAeA,EAAa1iB,KAAO,GACzC+iE,yCAAwCrgD,GACpCA,EAAaqgD,uCAEjBK,uBAAsB1gD,GAClBA,EAAa0gD,qBAEjBl/C,IAAKxB,EAAawB,KAAO,GACzBw9C,aAAAA,EACAI,gBAAAA,EACAwB,QAAS5gD,EAAawB,IACtBq+C,QAASA,EACT90C,cAAeA,EACfq1C,eAAgBpgD,EAAaogD,eAC9B,EAED3xD,iBAAkBC,EAAAA,GAAAA,SAAaC,MAAM,CACnCiyD,MAAOlyD,EAAAA,GAAAA,UACPmxD,QAASnxD,EAAAA,GAAAA,UACT1B,YAAa4B,EAAAA,kBACbwxD,eAAgBtxD,EAAAA,gBAChB7B,YAAa8B,EAAAA,gBACbyS,IAAK9S,EAAAA,GAAAA,SAAa6P,KAAK,QAAS,CAC9BC,IAAI,EACJrG,KAAM0oD,EAAAA,wBAERzsD,QAAS0sD,EAAAA,kBACTxjE,KAAMyjE,EAAAA,eACNxgD,WAAYygD,EAAAA,qBACZ1/C,MAAO5S,EAAAA,GAAAA,SACJV,UAASskD,EAAAA,EAAAA,oBAAmBj7D,KAAKC,EAAE,mDAGxCkW,aAAc,SAACT,EAAQiC,GACrBA,EAAIpZ,MAAM6qE,eAAe1zD,EAC3B,EAEAkC,YAAa,kBAnDQf,CAoDpByyD,GAuBHA,EAAsBrzD,aAAe,CACnCP,OAAQ,CAAC,EACTS,aAAc,kBAAM,CAAI,EACxBC,aAAc,kBAAM,CAAI,EACxBC,SAAS,EACTC,WAAY,kBAAM,CAAI,EACtBC,OAAQ,GACR0xD,aAAc,GACdS,mBAAoB,GACpBC,cAAe,GACfC,yBAAyB,EACzBC,yBAAyB,EACzBC,6BAA6B,EAC7BT,2BAA2B,EAC3B1/C,aAAc,CAAC,GAGjB,W,0FCtTA,UAhCoB,SAAHllB,GAAkE,IAA5DmmE,EAAcnmE,EAAdmmE,eAAgBtiE,EAAK7D,EAAL6D,MAAOuiE,EAAMpmE,EAANomE,OAAQC,EAAYrmE,EAAZqmE,aAAcC,EAAOtmE,EAAPsmE,QAElE,OACEvrE,EAAAA,cAAA,MAAIqB,UAAU,eACV,WAAUyH,EACV,uBAAAxH,OAAsBiqE,EAAO,aAC/BvrE,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,YAAAtG,OAAciqE,EAAO,YACvB7sD,MAAM,QACNtG,KAAK,QACLozD,QAASJ,EACT/pE,UAAU,qBAEZrB,EAAAA,cAACyrE,EAAAA,GAAO,CAACC,OAAK,EAACvuD,GAAIkuD,EAAQM,gBAAgB,UACzC3rE,EAAAA,cAAA,WACEA,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAM0pE,EAASzpE,KAAM,MAE/B9B,EAAAA,cAAA,YAAQ8I,GAENwiE,GACAtrE,EAAAA,cAAA,OAAKqB,UAAU,uCACXiqE,IAMd,C,sICqLA,UA9MgB,SAAHrmE,GASW,IATLkS,EAAWlS,EAAXkS,YACA4U,EAAmB9mB,EAAnB8mB,oBACAF,EAAkB5mB,EAAlB4mB,mBACAla,EAAa1M,EAAb0M,cACAi6D,EAAgB3mE,EAAhB2mE,iBACAvoD,EAAepe,EAAfoe,gBACAwoD,EAAK5mE,EAAL4mE,MACAjjE,EAAe3D,EAAf2D,gBACAP,EAAOpD,EAAPoD,QAGjBlD,GAA0CC,EAAAA,EAAAA,WAAS,WACjD,GAAG0mE,aAAc,CACf,IAAMC,EAAoBD,aAAaE,QAAQ,yBAE/C,OAAID,EAC2B,SAAtBA,GAEPD,aAAaG,QAAQ,wBAAyBvrC,KAAKwrC,WAAU,KACtD,EAEX,CACE,OAAO,CAEX,IAAE7mE,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAbKgnE,EAAa9mE,EAAA,GAAE+mE,EAAgB/mE,EAAA,GAetC8M,GAA0C/M,EAAAA,EAAAA,WAAS,GAAMgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAAlDunD,EAAatnD,EAAA,GAAEunD,EAAgBvnD,EAAA,GACtCG,GAAsBnN,EAAAA,EAAAA,WAAS,GAAMoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA9BtQ,EAAGuQ,EAAA,GAAEonD,EAAMpnD,EAAA,GAEVwvC,EAA+C6pB,EAA/C7pB,qBAAsBqqB,EAAyBR,EAAzBQ,qBACxBC,EAA0B,OAAZjkE,EAAmB,qDAAuDgkE,EAExFE,GAAgBC,EAAAA,EAAAA,cAAY,kBAAMJ,GAAkBD,EAAc,KAGxEt3D,EAAAA,EAAAA,YAAU,WACLi3D,eACyBA,aAAaE,QAAQ,0BAE1BF,aAAaG,QAAQ,wBAAyBvrC,KAAKwrC,UAAUC,IAEtF,GAAG,CAACA,IAGJ,IAAMnS,EAAkB,SAAC/3D,GACvB23D,EAAO33D,EAAG,wBAAAX,OAA2BuqB,EAAkB,iBAAAvqB,OAAgBsqE,EAAgB,iBAAAtqE,OAAgByqB,EAAmB,wBAAAzqB,OAAuB6V,IACjJwiD,GAAiB,EACnB,EAQA,OACE35D,EAAAA,cAAA,OAAKqB,UAAS,WAAAC,OAAa6qE,EAAgB,GAAK,aAE9CnsE,EAAAA,cAAC65D,EAAAA,QAAW,CACVnkD,YATmB,WACvBikD,GAAiB,EACnB,EAQMpM,WAAW,mBACX/xC,UAAWk+C,EACXz3D,IAAKA,IAGPjC,EAAAA,cAAA,MAAIqB,UAAU,iBAEZrB,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAOtH,KAAKC,EAAE,uCACd4pE,OAAM,GAAA/pE,OAAKqQ,EAAa,kBACxB45D,QAAQ,uBAEVvrE,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAOtH,KAAKC,EAAE,uCACd4pE,OAAM,GAAA/pE,OAAKqQ,EAAa,4BACxB45D,QAAQ,uBAEVvrE,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAOtH,KAAKC,EAAE,oCACd4pE,OAAM,GAAA/pE,OAAKqQ,EAAa,6CACxB45D,QAAQ,oBAEI,OAAZljE,GACArI,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAM,iBACNuiE,OAAM,GAAA/pE,OAAKqQ,EAAa,6CACxB45D,QAAQ,WAGE,OAAZljE,GACArI,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAM,2BACNuiE,OAAM,GAAA/pE,OAAKqQ,EAAa,sCACxB45D,QAAQ,cAGZvrE,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAOtH,KAAKC,EAAE,sCACd4pE,OAAM,GAAA/pE,OAAKqQ,EAAa,yBACxB25D,aAAcjoD,EACdkoD,QAAQ,qBAEVvrE,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAOtH,KAAKC,EAAE,sCACd4pE,OAAM,GAAA/pE,OAAKqQ,EAAa,2BACxB45D,QAAQ,sBAEVvrE,EAAAA,cAAA,MAAIqB,UAAU,oBAEdrB,EAAAA,cAAA,MAAIqB,UAAU,iBAAiBK,QAAS6qE,GACpCJ,EAAgBnsE,EAAAA,cAACs2C,EAAAA,yBAAwB,CAACx0C,KAAM,KAAS9B,EAAAA,cAACu2C,EAAAA,0BAAyB,CAACz0C,KAAM,MAG9F9B,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAOtH,KAAKC,EAAE,+CACd4pE,OAAM,GAAA/pE,OAAKqQ,EAAa,oCACxB45D,QAAQ,sBAEVvrE,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAOtH,KAAKC,EAAE,8CACd4pE,OAAM,GAAA/pE,OAAKqQ,EAAa,mCACxB45D,QAAQ,qBAEVvrE,EAAAA,cAACysE,EAAAA,QAAW,CACVrB,eAAgBe,EAChBrjE,MAAOtH,KAAKC,EAAE,kCACd4pE,OAAM,GAAA/pE,OAAKqQ,EAAa,uBACxB45D,QAAQ,iBAGVvrE,EAAAA,cAAA,MAAIqB,UAAU,eACV,WAAUG,KAAKC,EAAE,sCACjB,WAAS,6BACXzB,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAG,4BACH8W,MAAM,QACNtG,KAAK,QACLozD,QAASW,EACT9qE,UAAU,qBAEZrB,EAAAA,cAAA,KAAG+I,KAAK,WACN/I,EAAAA,cAAA,WACEA,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,kBAAkBC,KAAM,MAEvC9B,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,0CAKrBzB,EAAAA,cAAA,OAAKqB,UAAU,2BACbrB,EAAAA,cAAA,OAAKuI,IAAKmkE,EAAiBpkE,IAAI,uBAC/BtI,EAAAA,cAAA,WACEA,EAAAA,cAAA,KAAGqB,UAAU,gCACTG,KAAKC,EAAE,sCAGbzB,EAAAA,cAAA,KAAG0B,QAAS,kBAAMs4D,EAAgBhY,EAAqB,GACnDxgD,KAAKC,EAAE,yCAIVmH,GAA+B,OAAZP,IACpBrI,EAAAA,cAAA,OAAKqB,UAAU,2BACbrB,EAAAA,cAAA,KAAGqB,UAAU,gBACTG,KAAKC,EAAE,+CAEXzB,EAAAA,cAAA,KAAGqB,UAAU,cACV2oB,wBAAyB,CAAEC,OAAQzoB,KAAKC,EAAE,4DAC7CzB,EAAAA,cAAA,WACEA,EAAAA,cAAA,KAAGqB,UAAU,qBAAqBK,QAAS,kBAAMs4D,EAAgBsS,EAAY,GACzE9qE,KAAKC,EAAE,gDAMH,OAAZ4G,GACArI,EAAAA,cAAA,OAAKqB,UAAU,2BACbrB,EAAAA,cAAA,KAAGqB,UAAU,gBAAiBG,KAAKC,EAAE,6CACrCzB,EAAAA,cAAA,KAAGqB,UAAU,eAAgBG,KAAKC,EAAE,+CACpCzB,EAAAA,cAAA,WACEA,EAAAA,cAAA,KAAGqB,UAAU,yBAAyBK,QAAS,kBAAMs4D,EAAgB,oDAAoD,GACvHh6D,EAAAA,cAAA,OAAKuI,IAAKokE,EAAcrkE,IAAI,aAC1B9G,KAAKC,EAAE,wBAQvB,C,gDC5MImrE,E,wFAoLJ,UAjL2B,SAAH3nE,GAAkB,IAAZY,EAAIZ,EAAJY,KAE5BV,GAAoCC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA5C0nE,EAAUxnE,EAAA,GAAEynE,EAAaznE,EAAA,GAChC8M,GAAwC/M,EAAAA,EAAAA,UAAS,CAAC,GAAEgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA7C46D,EAAY36D,EAAA,GAAE46D,EAAe56D,EAAA,GAIlC66D,EAUEF,EAVFE,qBACAC,EASEH,EATFG,4BACAC,EAQEJ,EARFI,oBACAC,EAOEL,EAPFK,2BACAC,EAMEN,EANFM,sBACAC,EAKEP,EALFO,oBACAC,EAIER,EAJFQ,uCACAC,EAGET,EAHFS,wCACAC,EAEEV,EAFFU,yBACAC,EACEX,EADFW,iCAIF74D,EAAAA,EAAAA,YAAU,WACRi4D,EAAcjnE,EAAK8nE,SACrB,GAAG,KAGH94D,EAAAA,EAAAA,YAAU,WACR8jD,aAAaiU,GAET/mE,EAAK8nE,SACPb,EAAcjnE,EAAK8nE,UAEnBf,EAAU71C,YAAW,kBAAM+1C,EAAcjnE,EAAK8nE,SAAS,GAAE,IAE7D,GAAG,CAAC9nE,EAAK8nE,WAGT,IAAA3pD,GAA4CC,EAAAA,EAAAA,GAAa7U,EAAAA,wBAAyB,CAChF8d,YAAa,WACbtnB,YAAa,SAACC,GACZA,GAAQA,EAAK+nE,sBAAwBZ,EAAgBnnE,EAAK+nE,qBAC5D,IACA1pD,GAAA5e,EAAAA,EAAAA,GAAA0e,EAAA,GALK6pD,EAAoB3pD,EAAA,GAAIxd,EAAOwd,EAAA,GAAPxd,QAQzBonE,EAAgC,SAACzlB,GACrC,IAAM0lB,EAAW,IAAI5mE,KACf6mE,EAAS,IAAI7mE,KAEnB4mE,EAAS5kB,QAAQ4kB,EAAS3kB,UAAYf,EAAa,GACnD0lB,EAAS/kB,SAAS,EAAE,EAAE,EAAE,GAExB,IAAMilB,EAA4D,IAA/BF,EAASG,oBACtCC,EAAwD,IAA7BH,EAAOE,oBAExCL,EAAqB,CAAEhmE,UAAW,CAC9BkmE,SAAU,IAAI5mE,KAAK4mE,EAASrmB,UAAYumB,GACxCD,OAAQ,IAAI7mE,KAAK6mE,EAAOtmB,UAAYymB,GACpCvmE,GAAI/B,EAAKsU,cACTnS,OAAM,SAAArB,GAAK,OAAIsB,QAAQC,IAAI,QAASvB,EAAM,GAChD,EAIMm+C,EAAmB9kD,EAAAA,SACvB,kBACEA,EAAAA,cAAC+kD,EAAAA,QAAkB,CACjB39C,UAAWvB,EAAKuB,UAChB4/C,qBAAsB8mB,EACtB3zD,WAAYtU,EAAKsU,WACjBmpC,wBAAyBz9C,EAAKy9C,yBAA2B,CAAC,EAC1DyD,OAAQ,CAAE7nC,MAAO,IACjB+nC,aAAc,EACd7kD,MAAO,IACP8kD,YAAa,IACb,GACJ,IAIF,OAAI2lB,EAEA7sE,EAAAA,cAAA,OAAKqB,UAAU,uCACbrB,EAAAA,cAAA,OAAKqB,UAAU,6BACbrB,EAAAA,cAAA,OAAKqB,UAAU,iCAEbrB,EAAAA,cAAA,OAAKqB,UAAU,2BACXyjD,GAGJ9kD,EAAAA,cAAA,OAAKqB,UAAS,8BAAAC,OAAgCoF,EAAU,UAAY,KAClE1G,EAAAA,cAAA,OAAKqB,UAAU,qCAEbrB,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,MAAMC,KAAM,KAEzB9B,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,qCACXG,KAAKC,EAAE,gDAGXzB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,+BAAgC,KAAEzB,EAAAA,cAAA,eAAUywD,EAAAA,EAAAA,IAAyBgd,IAClFztE,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,iCAG5BrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,oBAAqB,KAAEzB,EAAAA,cAAA,eAAUywD,EAAAA,EAAAA,IAAyBid,IACvE1tE,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,mCAKhCrB,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KAEjC9B,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,qCACXG,KAAKC,EAAE,gDAGXzB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,+BAAgC,KAAEzB,EAAAA,cAAA,eAAUywD,EAAAA,EAAAA,IAAyB1oD,OAAOklE,GAAwBllE,OAAOslE,GAAyBtlE,OAAOulE,KACxJttE,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,iCAG5BrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,oBAAqB,KAAEzB,EAAAA,cAAA,eAAUywD,EAAAA,EAAAA,IAAyByc,IACvEltE,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,oCAMlCrB,EAAAA,cAAA,OAAKqB,UAAU,qCACbrB,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,KAE3B9B,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,qCACXG,KAAKC,EAAE,mBAGXzB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,qDAAsD,KAAEzB,EAAAA,cAAA,eAAUywD,EAAAA,EAAAA,IAAyB+c,IACxGxtE,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,iCAG5BrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,2CAA4C,KAAEzB,EAAAA,cAAA,eAAUywD,EAAAA,EAAAA,IAAyB8c,IAC9FvtE,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,mCAKhCrB,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,aAAaC,KAAM,KAEhC9B,EAAAA,cAAA,OAAKqB,UAAU,iCACbrB,EAAAA,cAAA,OAAKqB,UAAU,qCACXG,KAAKC,EAAE,+CAGXzB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,+BAAgC,KAAEzB,EAAAA,cAAA,eAAUywD,EAAAA,EAAAA,IAAyB0c,IAClFntE,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,iCAG5BrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,oBAAqB,KAAEzB,EAAAA,cAAA,eAAUywD,EAAAA,EAAAA,IAAyB2c,IACvEptE,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,wCAYrC,IAEX,C,2ICtLa+sE,EAAmB,SAACC,EAAeC,EAAoB38D,EAAe48D,EAAc1uD,GAAuB,OAAK7f,EAAAA,SAC3H,iBACI,CAIE,CAAE2c,OAAQnb,KAAKC,EAAE,sCACfub,SAAU,kBACVpY,MAAO,CAAE4Y,SAAU,QAASC,SAAU,SACtC+wD,OAAQhtE,KAAKC,EAAE,+BACfwb,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,OAAKqB,UAAU,4BACXwE,EAAKuX,KAAKC,IAAIC,SAASqwD,SACrB3tE,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,GAAIJ,QAAS,kBAAM6sE,EAAa1oE,EAAKuX,KAAKC,IAAIC,SAASnD,WAAW,IACnGna,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,GAAIJ,QAAS,kBAAM6sE,EAAa1oE,EAAKuX,KAAKC,IAAIC,SAASnD,WAAW,IAGvGna,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKuX,KAAKC,IAAIC,SAASnD,aAC9EtU,EAAKhC,OAEL,GAKV,CAAE8Y,OAAQnb,KAAKC,EAAE,mCACf+sE,OAAQ,GACRxxD,SAAU,eACVpY,MAAO,CAAE0lD,WAAY,UACrBrtC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAK7E,CAAE8Y,OAAQnb,KAAKC,EAAE,qCACf+sE,OAAQ,GACRxxD,SAAU,gBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAK7E,CAAE8Y,OAAQ3c,EAAAA,cAAA,OAAKqB,UAAU,eAAgBG,KAAKC,EAAE,mDAC9C+sE,OAAQ,GACRxxD,SAAU,mBACVpY,MAAO,CAAE6pE,UAAW,SACpBxxD,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,OAAK4E,MAAO,CAAE0lD,WAAY,WACtBzkD,EAAKhC,MAAK,GAAAvC,OACLuE,EAAKhC,MAAK,KAAAvC,OAAgD,QAA5CuE,EAAKuX,KAAKC,IAAIC,SAASoxD,iBAA6B,SAAQ,SAC7E,GAEA,GAKV,CAAE/xD,OAAQ3c,EAAAA,cAAA,OAAKqB,UAAU,eAAgBG,KAAKC,EAAE,sDAC9C+sE,OAAQ,GACRxxD,SAAU,0BACVpY,MAAO,CAAE6pE,UAAW,SACpBxxD,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,OAAKqB,UAAU,2BACXwE,EAAKhC,OACH4sD,EAAAA,EAAAA,IAAyB1oD,OAAOlC,EAAKhC,MAAMge,WAAW,IAAK,KAAMhC,EAAwBha,EAAKuX,KAAKC,IAAIC,SAASgiB,YAAY,IAC5H,GAEA,GAKV,CAAE3iB,OACE3c,EAAAA,cAAA,OAAKqB,UAAU,eACXG,KAAKC,EAAE,yCAA0C,CAAEktE,eAAgBN,EAAcprE,OAASorE,EAAc,GAAGO,aAAe,KAGhIJ,OAAQ,GACR5pE,MAAO,CAAE6pE,UAAW,SACpBzxD,SAAU,0BACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,OAAQ4sD,EAAAA,EAAAA,IAAyB1oD,OAAOlC,EAAKhC,QAAU,EAAS,GAKhI,CAAE8Y,OAAQ3c,EAAAA,cAAA,OAAKqB,UAAU,eAAgBG,KAAKC,EAAE,2CAC9C+sE,OAAQF,EAAmBb,0BAA2Bhd,EAAAA,EAAAA,IAAyB1oD,OAAOumE,EAAmBb,2BAA6B,IACtI7oE,MAAO,CAAE6pE,UAAW,SACpBzxD,SAAU,2BACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,OAAQ4sD,EAAAA,EAAAA,IAAyB1oD,OAAOlC,EAAKhC,QAAU,EAAS,GAKhI,CAAE8Y,OAAQ3c,EAAAA,cAAA,OAAKqB,UAAU,eAAgBG,KAAKC,EAAE,gDAC9C+sE,OAASF,GAAsBjvD,OAAOC,KAAKgvD,GAAoBrrE,SAAUwtD,EAAAA,EAAAA,IAAyB1oD,OAAOumE,EAAmBrB,sBAAwBllE,OAAOumE,EAAmBjB,uBAAyBtlE,OAAOumE,EAAmBhB,uBAA0B,EAC3PtwD,SAAU,uBACVpY,MAAO,CAAE6pE,UAAW,SACpBxxD,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,OAAKqB,UAAU,4BACXovD,EAAAA,EAAAA,IAAyB1oD,OAAOlC,EAAKhC,OAASkE,OAAOlC,EAAKuX,KAAKC,IAAIC,SAAS+vD,uBAAyBtlE,OAAOlC,EAAKuX,KAAKC,IAAIC,SAASgwD,uBAAyB,EAC1J,GAmBV,CAAE3wD,OAAQ3c,EAAAA,cAAA,OAAKqB,UAAU,eAAgBG,KAAKC,EAAE,+CAC9C+sE,OAAQF,EAAmBnB,qBAAsB1c,EAAAA,EAAAA,IAAyB6d,EAAmBnB,qBAAuB,IACpHvoE,MAAO,CAAE6pE,UAAW,SACpBzxD,SAAU,sBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,OAAQ4sD,EAAAA,EAAAA,IAAyB1oD,OAAOlC,EAAKhC,QAAU,EAAS,GAKhI,CAAE8Y,OAAQ3c,EAAAA,cAAA,OAAKqB,UAAU,eAAgBG,KAAKC,EAAE,4CAC9C+sE,OAAQF,EAAmBf,wCAAyC9c,EAAAA,EAAAA,IAAyB6d,EAAmBf,wCAA0C,IAC1J3oE,MAAO,CAAE6pE,UAAW,SACpBzxD,SAAU,yCACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,OAAQ4sD,EAAAA,EAAAA,IAAyB1oD,OAAOlC,EAAKhC,QAAU,EAAS,GAKhI,CAAE8Y,OAAQ3c,EAAAA,cAAA,OAAKqB,UAAU,eAAgBG,KAAKC,EAAE,6CAC9C+sE,OAAQF,EAAmBd,yCAA0C/c,EAAAA,EAAAA,IAAyB6d,EAAmBd,yCAA2C,IAC5J5oE,MAAO,CAAE6pE,UAAW,QAASI,aAAc,QAC3C7xD,SAAU,0CACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,OAAQ4sD,EAAAA,EAAAA,IAAyB1oD,OAAOlC,EAAKhC,QAAU,EAAS,GAKjI,GACL,CAACwqE,EAAeC,GAChB,C,6wBCsFF,UA7NkB,SAAHrpE,GAAkH,IAA5G4a,EAAuB5a,EAAvB4a,wBAAyBlO,EAAa1M,EAAb0M,cAAektB,EAAU55B,EAAV45B,WAAsBiwC,EAAe7pE,EAAzBokD,SAAmC0lB,EAAa9pE,EAArBqkD,OAElGnkD,GAA+BC,EAAAA,EAAAA,UAAS,IAAI+B,KAAK2nE,IAAiBzpE,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA3DkkD,EAAQhkD,EAAA,GAAE2pE,EAAU3pE,EAAA,GAC3B8M,GAA2B/M,EAAAA,EAAAA,UAAS,IAAI+B,KAAK4nE,IAAe38D,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAArDm3C,EAAMl3C,EAAA,GAAE68D,EAAQ78D,EAAA,GACvBG,GAA0CnN,EAAAA,EAAAA,UAAS,IAAGoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAA/C87D,EAAa77D,EAAA,GAAE08D,EAAgB18D,EAAA,GACtCG,GAAoDvN,EAAAA,EAAAA,UAAS,CAAC,GAAEwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAAzD27D,EAAkB17D,EAAA,GAAEu8D,EAAqBv8D,EAAA,GAChDG,GAAoC3N,EAAAA,EAAAA,UAAS,GAAE4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAAxCN,EAAUO,EAAA,GAAEN,EAAaM,EAAA,GAChCG,GAAsC/N,EAAAA,EAAAA,WAAS,GAAKmO,GAAAjO,EAAAA,EAAAA,GAAA6N,EAAA,GAA7CN,EAAWU,EAAA,GAAET,EAAcS,EAAA,GAClCG,GAAoCtO,EAAAA,EAAAA,UAAS,IAAG4O,GAAA1O,EAAAA,EAAAA,GAAAoO,EAAA,GAAzC8P,EAAUxP,EAAA,GAAEyP,EAAazP,EAAA,GAEhC0M,GAA8Btb,EAAAA,EAAAA,UAAS,CACrC2oE,SAAU,GACVC,OAAQ,GACR/wC,KAAM,KACNtpB,KAAM,EACNC,QAAS,GACTkQ,MAAO,KACPnD,GAAArb,EAAAA,EAAAA,GAAAob,EAAA,GAPKzM,EAAO0M,EAAA,GAAEzM,EAAUyM,EAAA,GAS1BxM,GAA2BzO,EAAAA,EAAAA,GAASwJ,EAAAA,eAClC,CAAErH,UAASsN,EAAA,GAAOlB,GAChBiZ,YAAa,WACbtnB,YAAa,SAAAogC,GACX,IAAMngC,EAAOmgC,EAAQopC,UAGrB,IAFmBvpE,EAAKwoE,eAAiBxoE,EAAKwoE,cAAcprE,SAE1C,EAAG,CACnB,IAAMosE,EAAa,GACbrxB,EAAO7oC,EAAAA,EAAA,GAAQtP,EAAKwoE,cAAc,IAAE,IAAEV,UAAU,IAEtD9nE,EAAKwoE,cAAc1mE,KAAI,SAAC9B,EAAM6nB,GAAK,OAAK2hD,EAAW3sD,KAAe,IAAVgL,EAAcswB,EAAO7oC,EAAA,GAAQtP,GAAO,IAC5FqpE,EAAiBG,GAEjB38D,EAAc7M,EAAKypE,qBAClBjmB,GAAY2lB,EAAW,IAAI7nE,MAAK,IAAIA,MAAOgiD,SAAQ,IAAIhiD,MAAOiiD,UAAYvjD,EAAKwoE,cAAc,GAAGO,eACnG,CAEA97D,GAAe,EAEjB,IApBIpM,GAAOyN,EAAPzN,QAASC,GAAKwN,EAALxN,MAuBA4oE,IAAiB7pE,EAAAA,EAAAA,GAAS4J,EAAAA,qBACzC,CAAEzH,UAASsN,EAAA,GAAOlB,GAChBiZ,YAAa,WACbtnB,YAAa,SAAAogC,GACXA,GAAWA,EAAQwpC,gBAAkBL,EAAsBnpC,EAAQwpC,eACrE,IALI9oE,QASAu2B,GAAwBhpB,EAAxBgpB,KAAMtpB,GAAkBM,EAAlBN,KAAMC,GAAYK,EAAZL,QACd67D,IAAwBpB,EAAc3sD,MAAK,SAAA7b,GAAI,OAAIA,EAAK6pE,uBAAuB,IAC/EC,KAA8BtB,GAAiBA,EAAcprE,QAAUorE,EAAc,GAAGuB,8BAExFzuD,GAAgB,CAAC,GAAD7f,OACjBmuE,IAAwB,2BAAyB,GAAAnuE,OACjDquE,IAA6B,0CAAwC,GAAAruE,OACrEquE,IAA6B,4CAS5B1xC,GACJ,CAAC,CAAEp6B,MAAO,KAAMiF,MAAOtH,KAAKC,EAAE,eAAgBJ,UAAY47B,GAAoB,KAAb,aAC9D37B,OAAOu9B,EAAWl3B,KAAI,SAAAs1B,GAAI,MAAK,CAAEp5B,MAAOo5B,EAAMn0B,MAAOtH,KAAKC,EAAE,WAADH,OAAY27B,IAAS,KAa/EjoB,GAAgB,SAACC,GACrBf,GAAW,SAAAgB,GAAW,OAAAC,EAAAA,EAAA,GACjBD,GACAD,EAAU,IAEfi6D,EAAiB,GACnB,EAGMW,GAAa,SAAC1rC,EAAM7uB,EAAO7R,GAE/B,IAAIqsE,EAAU,IAAI3oE,KAAKg9B,GAIvB,GAAc,WAAV7uB,GAAsB6uB,EAAM,CAC9B2rC,EAAQ9mB,SAAS,GAAG,GAAG,GAAG,IAC1B,IAAMmlB,EAAyD,IAA9B2B,EAAQ5B,oBACzC4B,EAAU,IAAI3oE,KAAK2oE,EAAQpoB,UAAYymB,EACzC,CAEAn5D,IAAazR,EAAAA,EAAAA,GAAC,CAAC,EAAE+R,EAAQw6D,GAAW,KACpCrsE,EAAS0gC,EACX,GAGA3f,EAAAA,EAAAA,qBAAmB,WACjBhB,IAAevP,EAAQ6P,OAAS9O,GAAc,CAAC8O,MAAON,EAAY7P,KAAM,GAC1E,GAAG,CAAC6P,GAAa,KAGjB,IAWMusD,IAAmB3B,EAAAA,EAAAA,kBAAiBC,EAAeC,EAAoB38D,GAXxD,SAAC/J,GACpB,IAAMynE,EAAa,GACbW,EAAgB3B,EAAc1gD,WAAU,SAAA9nB,GAAI,OAAIA,EAAKsU,aAAevS,CAAE,IACtEilE,GAAawB,EAAc2B,GAAerC,SAC1C3vB,EAAO7oC,EAAAA,EAAA,GAAQk5D,EAAc2B,IAAc,IAAErC,SAAUd,IAE7DwB,EAAc1mE,KAAI,SAAC9B,EAAM6nB,GAAK,OAAK2hD,EAAW3sD,KAAKgL,IAAUsiD,EAAgBhyB,EAAO7oC,EAAA,GAAQtP,GAAO,IACnGqpE,EAAiBG,EACnB,GAG0GxvD,GAG1G,OAAIlZ,GAAc3G,EAAAA,cAACqlB,EAAAA,QAAY,MAI7BrlB,EAAAA,cAAA,OAAKqB,UAAU,cACbrB,EAAAA,cAAA,OAAKqB,UAAU,+BACbrB,EAAAA,cAAA,OAAKqB,UAAU,uBAEbrB,EAAAA,cAAA,OAAKqB,UAAU,wBACbrB,EAAAA,cAAA,SACEqB,UAAU,eACVikB,UAAU,MACV5J,SAAU,SAACC,GAAC,OAAK8H,EAAc9H,EAAE3S,OAAOnF,MAAM,EAC9C4X,YAAaja,KAAKC,EAAE,kBACpB2W,KAAK,OACLvU,MAAO2f,IACTxjB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,SAASC,KAAM,MAG9B9B,EAAAA,cAAC+jC,EAAAA,EAAc,CACbC,aAAchkC,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,iBAAiBC,KAAM,KAClDmiC,UAAWjkC,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,KACtCT,UAAWgoD,EAAW,GAAK,QAC3B4mB,eAAgBzuE,KAAKC,EAAE,wCACvByuE,cAAc,EACdC,OAAO,aACPC,QAAS,IAAIjpE,KACbuU,SAAU,SAACyoB,GAAI,OAAK0rC,GAAW1rC,EAAM,WAAY6qC,EAAW,EAC5DnrE,MAAOwlD,IAETrpD,EAAAA,cAAC+jC,EAAAA,EAAc,CACbC,aAAchkC,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,iBAAiBC,KAAM,KAClDmiC,UAAWjkC,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,KACtCT,UAAWioD,EAAS,GAAK,QACzB2mB,eAAgBzuE,KAAKC,EAAE,sCACvByuE,cAAc,EACdC,OAAO,aACPjsC,QAASmlB,EACT3tC,SAAU,SAACyoB,GAAI,OAAK0rC,GAAW1rC,EAAM,SAAU8qC,EAAS,EACxDprE,MAAOylD,IAETtpD,EAAAA,cAACylB,EAAAA,QAAa,CACZ7N,aAAc,SAAC/T,GAAK,OAAKmR,GAAc,CAAEioB,KAAMp5B,GAAS,GAAI8P,KAAM,GAAI,EACtE9R,KAAK,OACLlB,QAASs9B,GACTxiB,YAAaja,KAAKC,EAAE,gDACpBoC,MAAOo5B,GACPvX,aAAa,mBAIb2oD,EAAcprE,QAChBjD,EAAAA,cAAA,OAAKqB,UAAU,oCACXrB,EAAAA,cAAC4lB,EAAAA,QAAsB,CACrBC,SAAS,gBACTsvC,SAAS,oBACTrvC,UAAU,MACVhC,MAAOrX,EAAAA,mBACP5E,UAAW,CAAEkmE,SAAU95D,EAAQ85D,SAAUC,OAAQ/5D,EAAQ+5D,OAAQ/wC,KAAMhpB,EAAQgpB,MAAQ,GAAI7kB,KAAM,SAEnGpY,EAAAA,cAAC4lB,EAAAA,QAAsB,CACrBC,SAAS,gBACTsvC,SAAS,oBACTrvC,UAAU,QACVhC,MAAOrX,EAAAA,mBACP5E,UAAW,CAAEkmE,SAAU95D,EAAQ85D,SAAUC,OAAQ/5D,EAAQ+5D,OAAQ/wC,KAAMhpB,EAAQgpB,MAAQ,GAAI7kB,KAAM,WAO3GpY,EAAAA,cAACuW,EAAAA,QAAK,CACJnB,QAAS26D,GACTp5D,YAAahD,GACb9N,KAAMwoE,EACNj4D,eAAe,EACfi6D,YAAY,EACZ75D,cAAe+4D,GACfpuD,cAAeA,GACftO,YAAaA,EACbnM,QAASA,GACTkN,QAASA,GACTgD,eArJiB,CACrB,CAAE/S,MAAO,KAAMiF,MAAO,MACtB,CAAEjF,MAAO,KAAMiF,MAAO,MACtB,CAAEjF,MAAO,KAAMiF,MAAO,OAmJlBwnE,oBAAqB,SAACzqE,GAAI,OAAK7F,EAAAA,cAACuwE,EAAAA,QAAkB,CAAC1qE,KAAMA,EAAMjC,IAAKiC,EAAKsU,YAAc,EACvF1D,QAAS,SAAC9C,GAAI,OAAKqB,GAAc,CAAErB,KAAAA,GAAO,EAC1C+C,WAAY,SAAC9C,GAAO,OAAKoB,GAAc,CAAEpB,QAAAA,EAASD,KAAM,GAAI,EAC5DkD,YAAY,EACZpE,WAAYA,IAIpB,C,+mBCnOamK,EAAoB,SAAH3X,GAAuF,IAAjFuxC,EAAevxC,EAAfuxC,gBAAiB15B,EAAa7X,EAAb6X,cAAeD,EAAQ5X,EAAR4X,SAAUE,EAAQ9X,EAAR8X,SAAUnY,EAAKK,EAALL,MAEhF4rE,EAA8B,SAFuEvrE,EAAd4O,gBAE/CkJ,EAAW,eAAiB,iBAE1E,OACE/c,EAAAA,cAAA,OAAKqB,UAAS,gBAAAC,OAAkBk1C,GAAmB,IAAM90C,QAASob,GAChE9c,EAAAA,cAAA,QAAM4E,MAAOA,GAAS,MAAQiY,GAC9B7c,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAW0b,EAAW,UAAY,GAClClb,KAAM2uE,EACN1uE,KAAM,KAGd,EAGayoD,EAAgB,SAAH/xC,GAA0D,IAApDpP,EAAIoP,EAAJpP,KAAMvF,EAAK2U,EAAL3U,MAAOkjD,EAAMvuC,EAANuuC,OAAQvQ,EAAeh+B,EAAfg+B,gBAAiBgU,EAAMhyC,EAANgyC,OASpE,OACExqD,EAAAA,cAAC6kD,EAAAA,GAAQ,CACP1pC,OAAQ,SAACs1D,GAAE,OARP91D,EAQyB81D,EARR71D,wBAAwBC,IACzCC,EAAeC,KAAKC,MAAML,EAAYM,OAAOC,QAAU6rC,QAE7D9rC,OAAOE,OAAO,EAAGL,GAJE,IACbH,EACAG,CAO4B,EAAEzZ,UAAWm1C,GAAmB,GAChE5xC,MAAO4lD,EAAS,CAAEF,WAAY,UAAa,CAAC,EAC5CntC,GAAI/T,GACFvF,EAGR,EAGaia,EAAkB,SAAH1D,GAAA,IAAMxS,EAAEwS,EAAFxS,GAAImW,EAAO3D,EAAP2D,QAASzb,EAAQ8X,EAAR9X,SAAQ,OACnDtC,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAA,OAAK,WAAU+d,EACZ,aAAW,gBACX,cAAAzc,OAAasG,EAAE,aAChB5H,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,eAAeC,KAAM,MAGpC9B,EAAAA,cAACye,EAAAA,EAAY,CACXG,QAAQ,EACRC,YAAY,QACZF,OAAO,QACP/W,GAAE,GAAAtG,OAAKsG,EAAE,YACT8W,MAAOpc,GAAY,MACnB8V,KAAK,UAEF,EAGEoH,EAAe,SAAH6hC,GAAiH,IAA3G1gD,EAAO0gD,EAAP1gD,QAASiX,EAAYypC,EAAZzpC,aAAc/T,EAAKw9C,EAALx9C,MAAO+D,EAAEy5C,EAAFz5C,GAAI8X,EAAe2hC,EAAf3hC,gBAAiBD,EAAY4hC,EAAZ5hC,aAAcixD,EAAiBrvB,EAAjBqvB,kBAAmB/wD,EAAM0hC,EAAN1hC,OAAQjZ,EAAO26C,EAAP36C,QACzHvB,GAAwCC,EAAAA,EAAAA,UAASzE,EAAQo0B,QAAO,SAAAuJ,GAAM,OAAIA,EAAOz6B,QAAUA,CAAK,IAAE,IAAGwB,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA9FwrE,EAAYtrE,EAAA,GAAEurE,EAAevrE,EAAA,GACpC8M,GAA8B/M,EAAAA,EAAAA,UAAS,MAAKgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAArC0+D,EAAOz+D,EAAA,GAAE0+D,EAAU1+D,EAAA,GAC1BG,GAAgCnN,EAAAA,EAAAA,UAAS,MAAKoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAvCw+D,EAAQv+D,EAAA,GAAEw+D,EAAWx+D,EAAA,GAC5BG,GAAoCvN,EAAAA,EAAAA,WAAS,GAAMwN,GAAAtN,EAAAA,EAAAA,GAAAqN,EAAA,GAA5Cu1B,EAAUt1B,EAAA,GAAEu1B,EAAav1B,EAAA,GAChCG,GAA0C3N,EAAAA,EAAAA,UAAS,QAAO4N,GAAA1N,EAAAA,EAAAA,GAAAyN,EAAA,GAAnDk+D,EAAaj+D,EAAA,GAAEk+D,EAAgBl+D,EAAA,GAChCm+D,GAAW53D,EAAAA,EAAAA,UAEX63D,EAAa,CAAElyD,KAAK,GAAD5d,OAAKyvE,EAAQ,MAAMl2D,IAAI,GAADvZ,OAAKuvE,EAAO,QAE3Dh8D,EAAAA,EAAAA,YAAU,WAIR,OAHAw8D,IACAp2D,OAAO45B,iBAAiB,QAASy8B,GAE1B,kBAAMr2D,OAAO65B,oBAAoB,QAASw8B,EAAoB,CACvE,GAAG,KAEHz8D,EAAAA,EAAAA,YAAU,WACR67D,GAAqBA,EAAkBC,EAAa9sE,MACtD,GAAG,CAAC8sE,IAEJ,IAoBMW,EAAqB,SAAC31D,GAAC,OAC1Bw1D,EAAS12D,QAAQ0oB,SAASxnB,EAAE3S,SAAWm/B,GAAc,EAAO,EAGzDkpC,EAAsB,WAC1B,GAAK3xD,EAAL,CAEA,IAAM6xD,EAAoBhxE,SAAS64B,eAAexxB,GAC5C4pE,EAA0BD,GAAqBA,EAAkBE,aAEvEP,EAAiB,GAAD5vE,OAAIkwE,EAAuB,MALf,CAa9B,EAGA,OACExxE,EAAAA,cAAA,OAAKqB,UAAU,wBAAwBuD,MAAO,CAAEvC,OAAQ4uE,IACtDjxE,EAAAA,cAAA,OAAKqB,UAAU,gBAAgBK,QA3Cd,WACnB,GAAIwmC,EACFC,GAAc,OACT,CACL,IAAMupC,EAAcP,EAAS12D,QACvBk3D,EAAuBD,GAAeA,EAAY92D,wBAAwBC,IAAMI,OAAOC,QAAUw2D,EAAYD,aAAe,EAC5HG,EAAqBF,GAAeA,EAAY92D,wBAAwBsE,KAE9E4xD,EAAWa,GACXX,EAAYY,GACZzpC,GAAc,GACdxoB,GAAUA,GAAO,kBAAMwoB,GAAc,EAAM,GAC7C,CACF,EA8B0D9sB,IAAK81D,GACvDjpC,GACAloC,EAAAA,cAAC6xE,EAAAA,OAAM,KACL7xE,EAAAA,cAAA,OAAKqB,UAAU,sBAAsBuD,MAAOwsE,GACxCzwE,EAAQgH,KAAI,SAAA22B,GAAM,OAClBt+B,EAAAA,cAAA,OAAKqB,UAAS,yBAAAC,OAA2Bg9B,EAAOz6B,QAAUA,EAAQ,SAAW,IACxEnC,QAAS,kBAlCF,SAAC48B,IACxB7e,GAAgBmxD,EAAgBtyC,GACjC1mB,EAAa0mB,EAAOz6B,OAAO,kBAAM+sE,EAAgBtyC,EAAO,GAC1D,CA+BkCwzC,CAAkBxzC,EAAO,EACxC16B,IAAG,GAAAtC,OAAKg9B,EAAOx1B,OAAKxH,OAAGsG,IACxB02B,EAAOx1B,MACL,MAMZpC,EAAU1G,EAAAA,cAACmuB,EAAAA,eAAc,MAAMwiD,EAAa7nE,MAE5Co/B,EACEloC,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KACjC9B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,MAM7C,EAGaiwE,EAAe,SAAHjzB,GAA8B,IAAxBj5C,EAAIi5C,EAAJj5C,KAAMmsE,EAAUlzB,EAAVkzB,WAE7BC,EAAkB,SAACpsE,EAAMwhB,GAC7B2qD,EAAWnsE,EAAMwhB,EACnB,EAEA,OACErnB,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAAA,KAAGqB,UAAU,oBAAoBK,QAAS,kBAAMuwE,EAAgBpsE,EAAKwX,IAAIC,UAAU,EAAK,GACtFtd,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,OAAOC,KAAM,KACxBN,KAAKC,EAAE,iBAEToE,EAAKwX,IAAIC,SAAS+pD,eAClBrnE,EAAAA,cAAA,KAAGqB,UAAU,oBAAoBK,QAAS,kBAAMuwE,EAAgBpsE,EAAKwX,IAAIC,SAAS,GAChFtd,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,iBAAiBC,KAAM,KAClCN,KAAKC,EAAE,mBAKnB,EAGame,EAAyB,SAAC/d,EAAM6T,GAC3C,IAAMw8D,EAAe3xE,SAAS64B,eAAe,GAAD93B,OAAIO,EAAI,iBAOpDqwE,EAAar9B,iBAAiB,UALT,SAAfqxB,IACJxwD,IACAw8D,EAAap9B,oBAAoB,SAAUoxB,EAC7C,GAGF,EASa7wD,EAAsB,SAAChD,EAAckK,EAAY1I,EAAgBC,GAAO,OAAK9T,EAAAA,SACxF,iBAAM,CACJ,CACE2c,OAAO3c,EAAAA,cAAC4c,EAAiB,CAACC,SAAUrb,KAAKC,EAAE,6CACjBoS,eAAgBA,EAChBiJ,cAAe,kBAAMP,EAAW,aAAa,EAC7CQ,SAAsB,eAAZjJ,IACpCkJ,SAAU,sBAEZ,CACEL,OAAQ,SAAAw1D,GAAe,IAAbC,EAAMD,EAANC,OACR,OACEpyE,EAAAA,cAAA,OAAKqB,UAAS,gBACZrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,qCACfzB,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAW+wE,EAAOC,aAAe,UAAY,GAC7CxwE,KAAMuwE,EAAOC,aAAe,eAAiB,iBAC7CvwE,KAAM,KAGd,EACAkb,SAAU,kBACVC,KAAM,SAAAq1D,GAAa,IAAXl1D,EAAIk1D,EAAJl1D,KACN,OACEpd,EAAAA,cAAA,KAAG+I,KAAMqU,EAAKC,IAAIC,SAASi1D,cAAen1D,EAAKC,IAAIC,SAASk9B,gBAEhE,GAEF,CACE79B,OAAQ,SAAA61D,GAAe,IAAbJ,EAAMI,EAANJ,OACR,OACEpyE,EAAAA,cAAA,OAAKqB,UAAS,gBACZrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,mDACfzB,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAW+wE,EAAOC,aAAe,UAAY,GAC7CxwE,KAAMuwE,EAAOC,aAAe,eAAiB,iBAC7CvwE,KAAM,KAGd,EACAkb,SAAU,wBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAE7E,CACE8Y,OAAQ,SAAA81D,GAAe,IAAbL,EAAMK,EAANL,OACR,OACEpyE,EAAAA,cAAA,OAAKqB,UAAS,gBACZrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,6DACfzB,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAW+wE,EAAOC,aAAe,UAAY,GAC7CxwE,KAAMuwE,EAAOC,aAAe,eAAiB,iBAC7CvwE,KAAM,KAGd,EACAkb,SAAU,uCACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAE7E,CACE8Y,OAAQ,SAAA+1D,GAAe,IAAbN,EAAMM,EAANN,OACR,OACEpyE,EAAAA,cAAA,OAAKqB,UAAS,gBACZrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,oCACfzB,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAW+wE,EAAOC,aAAe,UAAY,GAC7CxwE,KAAMuwE,EAAOC,aAAe,eAAiB,iBAC7CvwE,KAAM,KAGd,EACAkb,SAAU,yBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAE9E,GACD,CAACwO,GACD,EAMW6vD,EAAqB,SAACj9C,EAAW9K,EAAYw4D,GAAY,OAAK3yE,EAAAA,SACzE,iBAAM,CACJ,CACE2c,OAAQnb,KAAKC,EAAE,sCACfub,SAAU,eACVC,KAAM,SAAApX,GACJ,OACE7F,EAAAA,cAAA,OAAKqB,UAAU,gBACbrB,EAAAA,cAAA,SACEoY,KAAK,QACLvW,KAAK,UACL+F,GAAI/B,EAAKuX,KAAKC,IAAIC,SAAS1V,GAC3B/D,MAAOgC,EAAKuX,KAAKC,IAAIC,SAAS1V,GAC9Bmd,QAAS5K,GAActU,EAAKuX,KAAKC,IAAIC,SAAS1V,GAC9C8T,SAAU,SAACC,GAAC,OAAKg3D,EAAah3D,EAAE3S,OAAOnF,MAAOgC,EAAKuX,KAAKC,IAAIC,SAAS5Z,MAAM,EAC3ErC,UAAU,sBAEZrB,EAAAA,cAAA,SAAOwzC,QAAS3tC,EAAKuX,KAAKC,IAAIC,SAAS1V,GAAIvG,UAAU,iBACnDrB,EAAAA,cAAA,QAAMqB,UAAU,qBAChBrB,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,QAE7C,GAEb,CACE8Y,OAAQnb,KAAKC,EAAE,yCACfub,SAAU,aACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAE7E,CACE8Y,OAAQnb,KAAKC,EAAE,gBACfub,SAAU,iBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAE7E,CACE8Y,OAAO,GAADrb,OAAKE,KAAKC,EAAE,mDAClBub,SAAU,WACVC,KAAM,SAAApX,GACJ,GAAIA,EAAKhC,MAAO,CACd,IAAM+uE,EAAS,GAAAtxE,OAAMuE,EAAKhC,OAAKvC,OAAGuE,EAAKuX,KAAKC,IAAIC,SAASmmB,OAAM,MAAAniC,OAASuE,EAAKuX,KAAKC,IAAIC,SAASmmB,QAAW,GAAE,KAAAniC,OAAKuE,EAAKuX,KAAKC,IAAIC,SAAS8H,UAAY,IAEpJ,OAAOplB,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BuxE,EACpD,CACE,MAAO,EAEX,GAEF,CACEj2D,OAAQnb,KAAKC,EAAE,qCACfub,SAAU,kBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAE7E,CACE8Y,OAAQnb,KAAKC,EAAE,wDACfub,SAAU,qBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAE9E,GAAE,CAACohB,EAAW9K,GACf,EAMW8nD,EAAmB,SAACntD,EAAQkL,EAAawC,EAASgF,GAAuB,OAAKxnB,EAAAA,SACzF,iBAAM,CACJ,CACE2c,OAAQnb,KAAKC,EAAE,wBACfub,SAAU,cACVC,KAAM,SAAApX,GACJ,OACA7F,EAAAA,cAAA,OAAKqB,UAAU,gBACbrB,EAAAA,cAAA,SACEoY,KAAK,QACLvW,KAAK,eACL+F,GAAI/B,EAAKuX,KAAKC,IAAIC,SAASvJ,SAC3BlQ,MAAOgC,EAAKuX,KAAKC,IAAIC,SAASvJ,SAC9BgR,QAASvC,GAAW3c,EAAKuX,KAAKC,IAAIC,SAASvJ,SAC3C2H,SAAU,SAACC,GAAQqE,EAAYrE,EAAE3S,OAAOnF,OAAQ2jB,GAAyB,EACzEnmB,UAAU,sBAEZrB,EAAAA,cAAA,SAAOwzC,QAAS3tC,EAAKuX,KAAKC,IAAIC,SAASvJ,SAAU1S,UAAU,iBACzDrB,EAAAA,cAAA,QAAMqB,UAAU,qBAChBrB,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,QAE7C,GAEX,CACE8Y,OAAQnb,KAAKC,EAAE,gBACfub,SAAU,aACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAE7E,CACE8Y,OAAQnb,KAAKC,EAAE,iBACfub,SAAU,QACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAE9E,GAAE,CAACiR,EAAQ0N,GACZ,EAMWkF,EAAkB,SAACzB,EAAWgsD,EAAiBp+D,EAAgB0I,EAAYF,GAAY,OAAKrc,EAAAA,SACvG,iBAAM,CACJ,CACE2c,OAAQnb,KAAKC,EAAE,mBACfub,SAAU,SACVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACmoD,EAAAA,QAAY,CAACvgD,GAAE,GAAAtG,OAAKuE,EAAKuX,KAAKC,IAAIC,SAAS1V,GAAE,kBAChC8W,MAAM,QACNrd,UAAU,sBACVgB,OAAQ,GACR0kD,OAAQ,CAAElsC,KAAM,IAChBg+C,YAAY,EACZl5C,OAAQ,SAACjK,GAAW,OAAKkK,EAAuB,WAAYlK,EAAY,EACxE1T,KAAK,YACLiH,SACEjJ,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAC+xE,EAAY,CACXlsE,KAAMA,EACNmsE,WAAYC,MAEP,GAI7B,CACEt1D,OAAQ,KACRK,SAAU,KACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAG7E,CACE8Y,OACE3c,EAAAA,cAAC4c,EAAiB,CAACC,SAAUrb,KAAKC,EAAE,gBACjBoS,eAAgBA,EAChBiJ,cAAe,kBAAMP,EAAW,OAAO,EACvCQ,SAA2B,SAAjBV,IAC/BW,SAAU,OACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAG7E,CACE8Y,OAAQnb,KAAKC,EAAE,iBACfub,SAAU,QACVC,KAAM,SAAAtB,GAAC,OAAI3b,EAAAA,cAAA,KAAG+I,KAAI,UAAAzH,OAAYqa,EAAE9X,QAAS,IAAE8X,EAAE9X,MAAM,IAAK,GAG1D,CACE8Y,OAAQnb,KAAKC,EAAE,iBACfub,SAAU,cACVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,WACEA,EAAAA,cAAA,KAAG+I,KAAI,SAAAzH,OAAWuE,EAAKwX,IAAIC,SAASlG,cAAe,IAAEvR,EAAKwX,IAAIC,SAASlG,YAAY,KAC/E,GAEX,GACD,CAAC6O,EAAW5J,GACZ,EAMWoL,EAAyB,SAACxB,EAAW4sD,EAAuBC,EAAqBj/D,EAAgB0I,EAAYF,GAAY,OAAMrc,EAAAA,SAC1I,iBAAM,CAEJ,CACE2c,OAAQ,KACRK,SAAU,KACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAG7E,CACE8Y,OACE3c,EAAAA,cAAC4c,EAAiB,CAACC,SAAUrb,KAAKC,EAAE,gBACjBoS,eAAgBA,EAChBiJ,cAAe,kBAAMP,EAAW,OAAO,EACvCQ,SAA2B,SAAjBV,IAC/BW,SAAU,OACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAG7E,CACE8Y,OAAQnb,KAAKC,EAAE,iBACfub,SAAU,QACVC,KAAM,SAAAtB,GAAC,OAAI3b,EAAAA,cAAA,KAAG+I,KAAI,UAAAzH,OAAYqa,EAAE9X,QAAS,IAAE8X,EAAE9X,MAAM,IAAK,GAG1D,CACE8Y,OAAQnb,KAAKC,EAAE,kBACfub,SAAU,GACVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,WACEA,EAAAA,cAAA,KAAGqB,UAAU,gCAAgCK,QAAS,kBAAMoxE,EAAoBjtE,EAAKwX,IAAIC,SAAS1V,GAAG,GACjGpG,KAAKC,EAAE,6CAEP,GAEV,CACEkb,OAAQnb,KAAKC,EAAE,qDACfub,SAAU,GACVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAAA,WACEA,EAAAA,cAAA,KAAGqB,UAAU,wCAAwCK,QAAS,kBAAMmxE,EAAsBhtE,EAAKwX,IAAIC,SAAS,GACxG9b,KAAKC,EAAE,uDAEP,GAEX,GACD,CAACwkB,EAAW5J,GACZ,EAMWkrD,EAA0B,SAACV,EAAiBl1D,GAAa,OAAK3R,EAAAA,SACzE,iBAAM,CACJ,CACE2c,OAAQ,SAAAo2D,GAAe,IAAbX,EAAMW,EAANX,OACR,OACEpyE,EAAAA,cAAA,OAAKqB,UAAS,gBACZrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,iBACfzB,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAW+wE,EAAOC,aAAe,UAAY,GAC7CxwE,KAAMuwE,EAAOC,aAAe,eAAiB,iBAC7CvwE,KAAM,KAGd,EACAkb,SAAU,OACVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKwX,IAAIC,SAAS1T,SAAShC,GAAE,cACrF/B,EAAKwX,IAAIC,SAAS1T,SAAS2U,QACvB,GAEX,CACE5B,OAAQ,SAAAq2D,GAAe,IAAbZ,EAAMY,EAANZ,OACR,OACEpyE,EAAAA,cAAA,OAAKqB,UAAS,gBACZrB,EAAAA,cAAA,YAAQwB,KAAKC,EAAE,iCACfzB,EAAAA,cAAC4B,EAAAA,OAAM,CACLP,UAAW+wE,EAAOC,aAAe,UAAY,GAC7CxwE,KAAMuwE,EAAOC,aAAe,eAAiB,iBAC7CvwE,KAAM,KAGd,EAEAkb,SAAU,iBACVC,KAAM,SAAApX,GAAI,OACR7F,EAAAA,cAACkd,EAAAA,GAAI,CAACC,GAAE,GAAA7b,OAAKqQ,EAAa,kCAAArQ,OAAiCuE,EAAKwX,IAAIC,SAAS1T,SAAShC,GAAE,cACpF/B,EAAKhC,MACF,GAEZ,GAAE,CAACgjE,GACJ,C,szBC9OF,UAvRc,SAAH5hE,GAyBJ,IAxBLY,EAAIZ,EAAJY,KACAuP,EAAOnQ,EAAPmQ,QACAoB,EAAavR,EAAbuR,cACA5C,EAAO3O,EAAP2O,QACA8C,EAAUzR,EAAVyR,WACAE,EAAc3R,EAAd2R,eACA/D,EAAW5N,EAAX4N,YACA4D,EAAOxR,EAAPwR,QACAhE,EAAUxN,EAAVwN,WACAoE,EAAU5R,EAAV4R,WACAhV,EAAIoD,EAAJpD,KACAyU,EAAYrR,EAAZqR,aACAF,EAAanR,EAAbmR,cACAC,EAAiBpR,EAAjBoR,kBACAM,EAAW1R,EAAX0R,YACA2W,EAAUroB,EAAVqoB,WACAnM,EAAalc,EAAbkc,cACArK,EAAa7R,EAAb6R,cACApQ,EAAOzB,EAAPyB,QACAusE,EAAahuE,EAAbguE,cACAjL,EAAW/iE,EAAX+iE,YACAC,EAAUhjE,EAAVgjE,WACAoI,EAAUprE,EAAVorE,WACAC,EAAmBrrE,EAAnBqrE,oBAGAnrE,GAAgDC,EAAAA,EAAAA,WAAS,GAAKC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAvD+tE,EAAgB7tE,EAAA,GAAE8tE,EAAmB9tE,EAAA,GAEtC+tE,EAAYpzE,EAAAA,SAChB,kBAAO0G,EAAUvD,MAAMyQ,GAAS2Q,KAAK,CAAC,GAAK1e,CAAI,GAC/C,CAACa,EAASb,IAGNwtE,EAAerzE,EAAAA,SACnB,kBACE0G,EACI0O,EAAQzN,KAAI,SAACyqE,GAAM,OAAAj9D,EAAAA,EAAA,GACdi9D,GAAM,IACTn1D,KAAMjd,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,eAAe0sB,MAAO,KAAK,IAE7D3Y,CAAO,GACb,CAAC1O,EAAS0O,IAGNk+D,EAAYtzE,EAAAA,SAChB,kBAAO0G,IAAYmM,IAAgBhN,EAAK5C,MAAM,GAC9C,CAACyD,EAASmM,EAAahN,IAGnB0tE,EAAevzE,EAAAA,SACnB,kBAAMqwE,CAAU,GAChB,CAACA,KAGHx7D,EAAAA,EAAAA,YAAU,WACR,IAAM2+D,EAAQjzE,SAAS64B,eAAe,GAAD93B,OAAIO,GAAQ,GAAE,iBAC7C4xE,EAAoBlzE,SAAS64B,eAAe,GAAD93B,OAAIO,EAAI,yBAEzD2xE,GAASC,GAAqBD,EAAM3+B,iBAAiB,UAAUoxB,EAAAA,EAAAA,UAAS,GAAIyN,GAC9E,GAAG,IAEH,IAAMA,EAAoB,WACxB,IAAMD,EAAoB14D,KAAKm6B,MAAM30C,SAAS64B,eAAe,GAAD93B,OAAIO,EAAI,yBAAwB+Y,wBAAwBsE,MAC9Gy0D,EAAkB54D,KAAKm6B,MAAM30C,SAAS64B,eAAe,GAAD93B,OAAIO,EAAI,uBAAsB+Y,wBAAwBw6B,OAG5G+9B,EADJM,IAAsBE,EAGxB,GAEA9+D,EAAAA,EAAAA,YAAU,WACRuM,GAAiBD,GAAiB,GACpC,GAAG,CAACA,IAEJ,IAAAyyD,GAYIC,EAAAA,EAAAA,UACF,CACEz+D,QAASi+D,EACTxtE,KAAMutE,EACNU,kBAAmB9L,EACnB5xD,cAAAA,EACAgtC,aAAc,CACZ2wB,UAAWd,EAAgBt8D,EAAc,EAAI,EAC7Cq9D,SAAUpgE,EACVuN,cAAeA,GAAiB,GAChC8yD,OAAQjM,EACJ,CACE,CACEpgE,GAAI,OACJssE,KAAK,GAEP,CACEtsE,GAAI,iBACJssE,KAAK,IAGT,KAGRC,EAAAA,UACAC,EAAAA,cACAC,EAAAA,WArCAC,EAAaV,EAAbU,cACAC,EAAiBX,EAAjBW,kBACAC,GAAYZ,EAAZY,aACA7gE,GAAIigE,EAAJjgE,KACA8gE,GAAUb,EAAVa,WACAC,GAAYd,EAAZc,aACAC,GAASf,EAATe,UACAC,GAAQhB,EAARgB,SACAC,GAAWjB,EAAXiB,YACAzzD,GAAgBwyD,EAAhBxyD,iBAAgB0zD,GAAAlB,EAChBlwE,MAASqwE,GAASe,GAATf,UAAWC,GAAQc,GAARd,UA8BtBn/D,EAAAA,EAAAA,YAAU,WACRggE,GAAYjhE,EACd,GAAG,CAACA,KAEJiB,EAAAA,EAAAA,YAAU,YACHyB,GAAgB2xD,GACnBxxD,EAAQs9D,GAAU,EACtB,GAAG,CAACC,KAEJ,IAmBMe,IAAazB,KAAeF,EAAUnwE,OAG5C,OACEjD,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,OACEqB,UAAS,kBAAAC,OAAoBgsB,GAC7B1lB,GAAE,GAAAtG,OAAKO,GAAQ,GAAE,iBAEfyxE,IAAczgE,GACd7S,EAAAA,cAAA,OAAKqB,UAAU,sCACbrB,EAAAA,cAAA,SAAIwB,KAAKC,EAAE,4BACXzB,EAAAA,cAAA,OACEuI,IAAKysE,EACL1sE,IAAI,aACJjH,UAAU,iCACVe,MAAO,IACPC,OAAQ,OAIb0yE,IACC/0E,EAAAA,cAACi1E,EAAAA,EAAQ51D,OAAAonC,OAAA,GAAK6tB,IAAe,CAAEjzE,UAAS,gBAAAC,OAAkB4xE,EAAmB,gBAAkB,MAC7FlzE,EAAAA,cAACk1E,EAAAA,EAAS,CAAC7zE,UAAU,UAClBmzE,GAAa7sE,KAAI,SAACwtE,GAAW,OAC5Bn1E,EAAAA,cAAA,KAAQm1E,EAAYC,sBACjBD,EAAYhlC,QAAQxoC,KAAI,SAACyqE,GAAM,OAC9BpyE,EAAAA,cAAA,KACMoyE,EAAOiD,eAAejD,EAAOkD,wBAEhClD,EAAOmD,OAAO,UACZ,IAEJ,KAITv1E,EAAAA,cAACw1E,EAAAA,EAASn2D,OAAAonC,OAAA,GACJ8tB,IAAmB,CACvBlzE,UAAS,QAAAC,OAAUoF,EAAU,UAAY,MAEvCiN,GAAKhM,KAAI,SAAC0V,GAEV,OADAo3D,GAAWp3D,GAETrd,EAAAA,cAACwe,EAAAA,SAAQ,CAAC5a,IAAG,aAAAtC,OAAe+b,EAAIqQ,QAE9B1tB,EAAAA,cAACy1E,EAAAA,EAAQp2D,OAAAonC,OAAA,GACHppC,EAAIq4D,cAAa,CACrBr0E,UAAS,6BAAAC,OACH+b,EAAIC,SAAS+pD,eAA0B,aAATxlE,EAAwC,GAAjB,eAAmB,8BAAAP,OAC1E+b,EAAIqQ,MAAQ,IAAM,EAAI,QAAU,GAAE,8BAEpCrQ,EAAIs4D,MAAMhuE,KAAI,SAACyV,GAAI,OACjBpd,EAAAA,cAAC41E,EAAAA,EAAcx4D,EAAKy4D,aAAa,CAAC,CAAEjxE,MAAOwY,EAAKg1D,OAAOxtE,SACnDwY,EAAKm4D,OAAO,QACJ,KAIhBhC,IAAiB7sE,GACjB1G,EAAAA,cAAA,MAAIqB,UAAS,+BAAAC,OAAiC+b,EAAIC,SAASqwD,SAAW,YAAc,IAAErsE,OAAG+b,EAAIqQ,MAAQ,IAAM,EAAI,QAAU,KACvH1tB,EAAAA,cAAA,OAAKqB,UAAU,UAAUuD,MAAO,CAAEtC,SAAU,WAAYkrC,QAAS,aAC7D8iC,EAAoBjzD,EAAIC,WAG1Bna,MAAMG,MAAM,OAAQH,MAAMka,EAAIs4D,MAAM1yE,SAAS0E,KAAI,SAACqmB,EAAMN,GAAK,OAC7D1tB,EAAAA,cAAA,MAAI4D,IAAK,cAAgB8pB,EAAOrsB,UAAWgc,EAAIC,SAASqwD,SAAW,YAAc,IAAM,KAOnG,KAEA92D,GACA7W,EAAAA,cAAC81E,EAAAA,EAAW,KACTpB,GAAa/sE,KAAI,SAAC02C,GAAK,OACtBr+C,EAAAA,cAACy1E,EAAAA,EAAap3B,EAAM03B,sBACjB13B,EAAMlO,QAAQxoC,KAAI,SAACyqE,GAAM,OACxBpyE,EAAAA,cAAC41E,EAAAA,EAAcxD,EAAO4D,iBAClBx/D,EAAgBxW,EAAAA,cAAC8tB,EAAAA,eAAc,CAACzsB,UAAU,eAAe0sB,MAAO,IAAQqkD,EAAOmD,OAAO,UAE9E,IAEL,QAQrBj/D,GAAgBy+D,IAChB/0E,EAAAA,cAAA,OAAKqB,UAAU,uBACXgV,GACArW,EAAAA,cAACwe,EAAAA,SAAQ,KACPxe,EAAAA,cAACi2E,IAAa,CACZC,cAAel2E,EAAAA,cAACs2C,EAAAA,yBAAwB,CAACx0C,KAAM,KAC/Cq0E,UAAWn2E,EAAAA,cAACu2C,EAAAA,0BAAyB,CAACz0C,KAAM,KAC5C6yE,UACEliE,EAAasI,KAAK6sC,KAAKn1C,EAAamB,GAAW+gE,GAEjDyB,WAAY,MACZC,mBAAoB,EACpBC,qBAAsB,EACtBC,aAAc,SAAC1wE,GAAI,OACjB4Q,GAtHI5S,EAuHWgC,EAAKwxD,SAAW,GAtH5CvgD,GAAiBmE,OAAOE,OAAO,CAAEN,IAAK,EAAGijC,SAAU,gBAIpD/mB,YAAW,WACTtgB,EAAQ5S,GACRokE,GAAa2M,GAAS/wE,EAAQ,EAChC,GAAG,KAgHe+wE,GAAS/uE,EAAKwxD,UAxHf,IAACxzD,CAwHuB,EAE7B2yE,mBAAoB,aACpB7K,gBAAiB,SACjB8K,UAAW9/D,EAAcA,EAAc,EAAI,IAG7C3W,EAAAA,cAAA,OAAKqB,UAAU,oBACbrB,EAAAA,cAAA,OAAKqB,UAAU,kBAAkBG,KAAKC,EAAE,gBAAgB,KACxDzB,EAAAA,cAACylB,EAAAA,QAAa,CACZ9kB,QAASiW,EACT/S,MAAK,GAAAvC,OAAKsS,GACV/R,KAAK,UACL6jB,aAAa,WACb9N,aAAc,SAAC0mB,GAAM,OA9Idz6B,EA8IiCkE,OAAOu2B,GA7IvD5jB,EAAY9G,EAAU/P,EAC5BgxE,GAAYhxE,GAEZ6S,EAAW7S,QACX6W,GAAaO,OAAOE,OAAO,EAAG,IALV,IAACtX,EACf6W,CA6I+D,OASzE,C,+HCxSag8D,EAA6B,SAACC,EAAgBhlE,EAAeilE,GAAY,OACpF52E,EAAAA,SACE,iBAAM,CAGJ,CACE2c,OAAQnb,KAAKC,EAAE,2DACfub,SAAU,aACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,MAAa,GAK7E,CACE8Y,OAAQnb,KAAKC,EAAE,qBACfub,SAAU,UACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,OAAS,GAAU,GAKnF,CACE8Y,OAAQnb,KAAKC,EAAE,+DACfub,SAAU,qBACVC,KAAM,SAAApX,GAAI,OAAI7F,EAAAA,cAAA,OAAKqB,UAAU,2BAA4BwE,EAAKhC,OAAS,GAAU,GAKnF,CACE8Y,OAAQ,GACRK,SAAU,UAEVC,KAAM,SAACpX,GACL,IAAAgxE,EAA8ChxE,EAAKwX,IAAIC,SAA/CvJ,EAAQ8iE,EAAR9iE,SAAUoG,EAAU08D,EAAV18D,WAAYvS,EAAEivE,EAAFjvE,GAAI4a,EAAOq0D,EAAPr0D,QAClC,OACExiB,EAAAA,cAACkd,EAAAA,GAAI,CACH7b,UAAU,qCACV8b,GAAE,GAAA7b,OAAKqQ,EAAa,yCAAArQ,OAAwCyS,EAAQ,iBAAAzS,OAAgB6Y,EAAU,sBAAA7Y,OAAqBsG,EAAE,cAAAtG,OAAakhB,IAEhIhhB,KAAKC,EAAE,2DAGf,GAKF,CACEkb,OAAQ,GACRK,SAAU,SAEVC,KAAM,SAACpX,GAAI,OACT7F,EAAAA,cAAA,OAAK0B,QAAS,kBAAMk1E,EAAa/wE,EAAKwX,IAAIC,SAAS,EAAEjc,UAAU,qCAC3DG,KAAKC,EAAE,kBACL,GAGX,GACD,CAACk1E,GACD,C,6JCaJ,UA/D4B,SAAH1xE,GAA2B,IAArB0M,EAAa1M,EAAb0M,cAEvBmS,GAAQ66C,EAAAA,EAAAA,kBAEdx5D,GAAkDC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAA1D2xE,EAAiBzxE,EAAA,GAAE0xE,EAAoB1xE,EAAA,GAC9C8M,GAAwD/M,EAAAA,EAAAA,UAAS,CAAC,GAAEgN,GAAA9M,EAAAA,EAAAA,GAAA6M,EAAA,GAA7D6kE,EAAoB5kE,EAAA,GAAE6kE,EAAuB7kE,EAAA,GACpDG,GAA8DnN,EAAAA,EAAAA,UAAS,IAAGoN,GAAAlN,EAAAA,EAAAA,GAAAiN,EAAA,GAAnE2kE,EAAuB1kE,EAAA,GAAE2kE,EAA0B3kE,EAAA,IAAiBqX,EAAAA,EAAAA,IAEhEnkB,EAAAA,EAAAA,GAASgL,EAAAA,8BAA+B,CACjD9K,YAAa,SAACC,GACZ,IAAMuxE,EAAer7D,SAAS+H,EAAMi7C,IAAI,mBAChCmY,EAA4BrxE,EAA5BqxE,wBACFG,EAAeD,GAAgBF,EAAwBtwE,MAAK,SAAA0wE,GAAI,OAAIvvE,OAAOuvE,EAAK1vE,MAAQG,OAAOqvE,EAAa,IAElHvxE,GAAQqxE,GAA2BC,EAA2BD,GAE1DG,IACFJ,EAAwBI,GACxBN,GAAqB,GAEzB,KAGF,IAKM3hE,GAAUshE,EAAAA,EAAAA,4BAA2BQ,EAAyBvlE,GAL/C,SAAC9L,GACpBoxE,EAAwBpxE,GACxBkxE,GAAqB,EACvB,IAGMQ,GAAoBC,EAAAA,EAAAA,MAAc70D,SAASb,SAAS,eAE1D,OAAMo1D,EAAwBj0E,SAAWs0E,EAErCv3E,EAAAA,cAAA,OAAKqB,UAAU,wBACbrB,EAAAA,cAACy3E,EAAAA,QAAoB,CACnB5xE,KAAMmxE,EACNthE,YAAa,kBAAMqhE,GAAqB,EAAM,EAC9Cv7D,UAAWs7D,IAGb92E,EAAAA,cAAA,UAAMwB,KAAKC,EAAE,6DAEbzB,EAAAA,cAAA,KAAGqB,UAAU,qCACTG,KAAKC,EAAE,iEAGXzB,EAAAA,cAACuW,EAAAA,QAAK,CACJnB,QAASA,EACTvP,KAAMqxE,EACN9gE,eAAe,EACfkX,WAAW,UACXzrB,KAAK,uBACLyU,cAAc,EACdD,mBAAmB,EACnBzC,QAAS,MAKR,IAEX,C,iFCnCA,UA/BoB,SAAH3O,GAAgE,IAE3DpD,EAFC+5C,EAAQ32C,EAAR22C,SAAUoR,EAAW/nD,EAAX+nD,YAAa0qB,EAAYzyE,EAAZyyE,aAAc/lE,EAAa1M,EAAb0M,cAI1D,OACE3R,EAAAA,cAAA,OAAKqB,UAAU,WACbrB,EAAAA,cAAA,OAAKuI,IAAKovE,EAAervE,IAAI,iBAAiBlG,MAAO,IAAKC,OAAQ,MAClErC,EAAAA,cAAA,MAAIqB,UAAU,kBAAmBG,KAAKC,EAAE,mCAAoC,IAAEurD,GAC9EhtD,EAAAA,cAAA,KAAGqB,UAAU,qBAAsBG,KAAKC,EAAE,0CAA2C,CAAE46D,UAAWzgB,KAClG57C,EAAAA,cAAA,KAAGqB,UAAU,wBAAyBG,KAAKC,EAAE,2CAA4C,CAACqU,MAAO4hE,KAEjG13E,EAAAA,cAAA,KAAGqB,UAAU,qBAAsBG,KAAKC,EAAE,4CAE1CzB,EAAAA,cAAA,OAAKqB,UAAU,4BACbrB,EAAAA,cAACkd,EAAAA,GAAI,CACHC,GAAE,GAAA7b,OAAKqQ,EAAa,qCACpBtQ,UAAU,oCACTG,KAAKC,EAAE,8CAEVzB,EAAAA,cAACkd,EAAAA,GAAI,CACHC,GAAE,GAAA7b,OAAKqQ,EAAa,oCACpBtQ,UAAU,qCAnBEQ,EAoBAL,KAAKC,EAAE,8CApBO07B,OAAO,GAAGC,cAAgBv7B,EAAKw7B,MAAM,KA2BzE,C,qXC0QA,UA9QiB,SAAHp4B,GAqBP,IApBL2yE,EAAW3yE,EAAX2yE,YACA1tD,EAAMjlB,EAANilB,OACA/lB,EAAYc,EAAZd,aACA0zE,EAAW5yE,EAAX4yE,YACAhM,EAAK5mE,EAAL4mE,MACAh6D,EAAM5M,EAAN4M,OACAoT,EAAShgB,EAATggB,UACA5B,EAAepe,EAAfoe,gBACAlb,EAAelD,EAAfkD,gBACAkwC,EAA0BpzC,EAA1BozC,2BACAwJ,EAA2B58C,EAA3B48C,4BACAC,EAAgB78C,EAAhB68C,iBACAg2B,EAAgB7yE,EAAhB6yE,iBACA/1B,EAAsB98C,EAAtB88C,uBACAn5C,EAAe3D,EAAf2D,gBACAmvE,EAAQ9yE,EAAR8yE,SACA1vE,EAAOpD,EAAPoD,QACAuzC,EAAQ32C,EAAR22C,SACAo8B,EAAU/yE,EAAV+yE,WACArrD,EAAoB1nB,EAApB0nB,qBAGAxnB,GAAoDC,EAAAA,EAAAA,UAASie,GAAgBhe,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAtE8yE,EAAkB5yE,EAAA,GAAE6yE,EAAqB7yE,EAAA,GAChD8M,IAAsD/M,EAAAA,EAAAA,UAAS,MAAKgN,IAAA9M,EAAAA,EAAAA,GAAA6M,GAAA,GAA7DgmE,GAAmB/lE,GAAA,GAAEgmE,GAAsBhmE,GAAA,GAClDG,IAAoDnN,EAAAA,EAAAA,UAAS,MAAKoN,IAAAlN,EAAAA,EAAAA,GAAAiN,GAAA,GAA3D8lE,GAAkB7lE,GAAA,GAAE8lE,GAAqB9lE,GAAA,GAE1Cb,IAAgBE,GAAsB,UAAXA,GAAiC,UAAXA,EAAqC,GAAlB,IAAAvQ,OAAOuQ,GACzEmwC,GAAyB6pB,EAAzB7pB,sBAGRntC,EAAAA,EAAAA,YAAU,YACR0jE,EAAAA,EAAAA,YAAWlwE,IACXmwE,EAAAA,EAAAA,IACF,GAAG,IAGH,IAAM34D,GAA0B,SAACyf,EAAYm5C,GAC3C,IAAQ95C,EAAoCi5C,EAApCj5C,aAAcC,EAAsBg5C,EAAtBh5C,kBAEhBsC,EADaR,KAAKC,MAAMhC,GACF5J,QAAO,SAAC3W,GAClC,IAAM+iB,EACH7B,GAAcv3B,OAAOu3B,IAAgBV,EAAkBh3B,GAC1D,OAAOwW,EAAKxW,KAAOu5B,CACrB,IAAG,GAEH,OAAOs3C,EAASv3C,EAASr/B,KAAOq/B,EAASE,SAC3C,EAGMtvB,GAAwB,SAACnL,GAAK,SAC9BA,GACGA,EAAM+7D,eACN/7D,EAAM+7D,cAAcz/D,QACpB0D,EAAM+7D,cAAc,GAAGgW,YACoB,uBAA3C/xE,EAAM+7D,cAAc,GAAGgW,WAAWC,KACrC,EAGA/mE,GAAW,SAAC/N,GAAK,OAAKA,GAAQ,QAAQ64D,KAAK74D,EAAc,EAG/D,OACE7D,EAAAA,cAAA,OAAKqB,UAAU,YACbrB,EAAAA,cAAC44E,EAAAA,EAAc,CAAC1vE,OAAQA,EAAAA,QACtBlJ,EAAAA,cAAC64E,EAAAA,GAAa,KAEZ74E,EAAAA,cAAC84E,EAAAA,QAAc,CACbnnE,cAAeA,GACftJ,QAASA,EACTkxD,YAAawe,EAASxe,cAGxBv5D,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAC+4E,EAAAA,QAAO,CACN5hE,YAAa+S,EAAOC,aAAahT,YACjC4U,oBAAqB7B,EAAO6B,oBAC5BF,mBAAoB3B,EAAO2B,mBAC3Bla,cAAeA,GACfi6D,iBAAkB1hD,EAAO0hD,iBACzBC,MAAOA,EACPxoD,gBAAiB40D,EACjBrvE,gBAAiBA,EACjBP,QAASA,IAGXrI,EAAAA,cAAA,OAAKqB,UAAU,kBAAkBuG,GAAG,oBAE/BkwE,GAAoB93E,EAAAA,cAACg5E,EAAAA,QAAmB,CAACrnE,cAAeA,KAE3D3R,EAAAA,cAACi5E,EAAAA,QAAW,OAETnB,GACD93E,EAAAA,cAACu/C,EAAAA,GAAM,KACLv/C,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAM,2BACjBz/C,EAAAA,cAACk5E,EAAAA,QAAa,CACZr5D,wBAAyBA,GACzBmtC,YAAa9iC,EAAOE,mBAAmBvoB,KACvC8P,cAAeA,GACfyR,cAAe20D,EAAS30D,cACxBxR,SAAUA,GACVkwC,iBAAkBA,EAClBC,uBAAwBA,EACxBjwC,sBAAuBA,GACvB8pC,SAAUA,EACVmP,OAAQ9lC,EAAU8lC,UAItB/qD,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAK,qCAChBz/C,EAAAA,cAACm5E,EAAAA,QAAS95D,OAAAonC,OAAA,GACJuxB,EAAU,CACdn4D,wBAAyBA,GACzBlO,cAAeA,GACfktB,WAAY+4C,EAAY/4C,eAI5B7+B,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAK,sBAChBz/C,EAAAA,cAACo5E,EAAAA,QAAQ,CAACzsD,qBAAsBA,EAAsB9a,OAAQA,KAGhE7R,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAK,+CAChBz/C,EAAAA,cAACotD,EAAAA,QAAS,CACRz7C,cAAeA,GACfowC,uBAAwBA,EACxBnG,SAAUA,EACVmP,OAAQ9lC,EAAU8lC,OAClBjJ,iBAAkBA,KAItB9hD,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAK,8CAChBz/C,EAAAA,cAACq5E,EAAAA,QAAY,CACXx5D,wBAAyBA,GACzBlO,cAAeA,GACfxN,aAAcA,EACdyN,SAAUA,GACVzJ,gBAAiBA,EACjB05C,4BAA6BA,EAC7BC,iBAAkBA,EAClBC,uBAAwBA,EACxBn5C,gBAAiBA,EACjBo5C,qBAAsBA,GACtBlwC,sBAAuBA,GACvBzJ,QAASA,EACTuzC,SAAUA,KAId57C,EAAAA,cAACw/C,EAAAA,GAAK,CACJC,KAAM,CACJ,+CACA,oDAGFz/C,EAAAA,cAACs5E,EAAAA,QAAYj6D,OAAAonC,OAAA,GACPmxB,EAAW,CACf1iD,cAAe6iD,EAAS7iD,cACxB7B,iBAAkB0kD,EAAS1kD,iBAC3B1hB,cAAeA,GACfxN,aAAcA,EACdyN,SAAUA,GACVzJ,gBAAiBA,EACjBkwC,2BAA4BA,EAC5BzvC,gBAAiBA,EACjBkJ,sBAAuBA,GACvBzJ,QAASA,EACTuzC,SAAUA,MAId57C,EAAAA,cAACw/C,EAAAA,GAAK,CACJksB,OAAK,EACLjsB,KAAM,CAAC,iCAAkC,uCAEzCz/C,EAAAA,cAACmtD,EAAAA,QAAO9tC,OAAAonC,OAAA,GACFsxB,EAAQ,CACZl4D,wBAAyBA,GACzBlO,cAAeA,GACfwiB,cAAeyjD,EAAYzjD,cAC3BviB,SAAUA,GACVC,OAAQA,EACRwR,gBAAiBA,EACjBC,WAAYy0D,EAASz0D,WACrBC,gBAAiB,kBAAM20D,EAAsB,KAAK,EAClDpmE,sBAAuBA,OAI3B9R,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAK,uCAChBz/C,EAAAA,cAAC0R,EAAAA,QAAU,CACTC,cAAeA,GACfC,SAAUA,GACVC,OAAQA,EACRC,sBAAuBA,MAI3B9R,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAK,gCAChBz/C,EAAAA,cAACu5E,EAAAA,QAAQ,CAACptD,QAAS0rD,KAGrB73E,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAK,6CAChBz/C,EAAAA,cAACipE,EAAAA,QAAgB5pD,OAAAonC,OAAA,GACXsxB,EAAQ,CACZpmE,cAAeA,GACftJ,QAASA,EACTyhE,mBAAoBsO,OAGxBp4E,EAAAA,cAACw/C,EAAAA,GAAK,CAACC,KAAK,4CACVz/C,EAAAA,cAAC4mE,EAAAA,QAAevnD,OAAAonC,OAAA,GACVsxB,EAAQ,CACZpmE,cAAeA,GACfsF,kBAAmBqhE,OAGvBt4E,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAM,uCACjBz/C,EAAAA,cAAC0+D,EAAAA,QAAU,CACT/sD,cAAeA,GACfiqC,SAAUA,EACVvzC,QAASA,EACTib,WAAYy0D,EAASz0D,WACrBi3C,8BAA+Bwd,EAASxd,iCAI5Cv6D,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAK,mCAChBz/C,EAAAA,cAACw5E,EAAAA,QAAW,CACV59B,SAAUA,EACV87B,aAAcxtD,EAAOE,mBAAmBtU,MACxCk3C,YAAa9iC,EAAOE,mBAAmBvoB,KACvC8P,cAAeA,MAInB3R,EAAAA,cAACw/C,EAAAA,GAAK,CAACksB,OAAK,EAACjsB,KAAK,oCAChBz/C,EAAAA,cAAC8oB,EAAAA,QAAY,CACXnX,cAAeA,GACf2R,WAAYy0D,EAASz0D,cAGzBtjB,EAAAA,cAACw/C,EAAAA,GAAK,CAACC,KAAK,KACVz/C,EAAAA,cAACwV,EAAAA,QAAO,CAAC7D,cAAeA,OAK5BmmE,GACA93E,EAAAA,cAACy5E,EAAAA,QAAgB,CACf9nE,cAAeA,GACf9L,KAAMqkB,QAQlBlqB,EAAAA,cAACwuE,EAAAA,QAAM,CACLtkD,OAAQA,EACRC,aAAcguD,IAAuBjuD,EAAOC,aAC5CC,mBAAoBiuD,IAAsBnuD,EAAOE,qBAIzD,C,0HCrSMsvD,EAAqB,SAAC35E,GAC1B,IAAQ45E,EAA4B55E,EAA5B45E,SAAUC,EAAkB75E,EAAlB65E,EAAGC,EAAe95E,EAAf85E,EAAGC,EAAY/5E,EAAZ+5E,QAExB,OACE95E,EAAAA,cAAA,KAAGozC,UAAS,aAAA9xC,OAAes4E,EAAC,KAAAt4E,OAAIu4E,EAAC,MAC/B75E,EAAAA,cAAA,QAAM45E,EAAG,EAAGC,EAAG,EAAGE,GAAI,EAChBC,WAAW,MACXz1D,KAAK,QACL6uB,UAAU,cACVumC,SAAUA,GAAY,IACxBG,EAAQj2E,OAIlB,EAGMo2E,EAAgB,SAAHh1E,GAA6B,IAAvBunD,EAAMvnD,EAANunD,OAAQstB,EAAO70E,EAAP60E,QAE/B,OAAIttB,GAAUstB,GAAWA,EAAQ72E,QAAU62E,EAAQ,GAAGA,QAAQ/7D,QAE1D/d,EAAAA,cAAA,OAAKqB,UAAU,kBACXy4E,EAAQ,GAAGA,QAAQ/7D,SAKpB,IACT,EAGMm8D,EAAgB,SAACn6E,GACrB,IAAQo6E,EAA2Bp6E,EAA3Bo6E,GAAIC,EAAuBr6E,EAAvBq6E,GAAIN,EAAmB/5E,EAAnB+5E,QAAS/yD,EAAUhnB,EAAVgnB,MACjB8iC,EAAmBiwB,EAAnBjwB,QAAS/gD,EAAUgxE,EAAVhxE,MAEjB,OAAIgxE,GAAWhxE,EAEX9I,EAAAA,cAAA,OAAK45E,EAAGO,GAAMtwB,EAAUA,EAAU,EAAI,GAAIgwB,EAAGO,GAAMvwB,EAAUA,EAAU,EAAI,GAAIznD,MAAOynD,GAAW,EAAGxnD,OAAQwnD,GAAW,EAAGtlC,KAAK,SAC7HvkB,EAAAA,cAAA,KAAGozC,UAAS,aAAA9xC,OAAeuoD,EAAUA,EAAU,EAAI,EAAC,KAAAvoD,OAAIuoD,EAAUA,EAAU,EAAI,EAAC,MAC/E7pD,EAAAA,cAAA,UAAQq6E,EAAGxwB,EAAUA,EAAU,EAAI,EAAGtlC,KAAMwC,GAAS,YACrD/mB,EAAAA,cAAA,UAAQq6E,EAAGxwB,EAAUA,EAAU,EAAI,EAAGtlC,KAAK,YAM5C,IACT,EA2CA,UAxCoB,SAAH/L,GAA2E,IAArE3S,EAAI2S,EAAJ3S,KAAMohD,EAAYzuC,EAAZyuC,aAAc5kD,EAAMmW,EAANnW,OAAQ0nD,EAAOvxC,EAAPuxC,QAASE,EAAIzxC,EAAJyxC,KAAM7nD,EAAKoW,EAALpW,MAAO8kD,EAAW1uC,EAAX0uC,YAEjEozB,EAAUz0E,EAAK00E,QAAO,SAACC,EAAe//D,GAAO,OAAK+/D,EAAgB//D,EAAQsvC,EAAQ,GAAE,GAAK,EAAI,UAAY,EAE/G,OACE/pD,EAAAA,cAAA,OAAKqB,UAAU,gBACbrB,EAAAA,cAACy6E,EAAAA,EAAmB,CAACr4E,MAAM,OAAOC,OAAO,QACvCrC,EAAAA,cAAC06E,EAAAA,EAAS,CACRt4E,MAAOA,GAAS,IAChBC,OAAQA,GAAU,IAClBwD,KAAMA,EACN80E,OAAQ,CAAE9/D,IAAK,GAAIu6B,MAAO,EAAGl2B,MAAO,GAAIw6B,OAAQ,KAEhD15C,EAAAA,cAAC46E,EAAAA,EAAK,CAACrjC,SAAU,EACVsjC,QAAS5wB,EACT6wB,KAAM96E,EAAAA,cAAC05E,EAAkB,CAACC,SAAU1yB,IACpC5kD,OAAQ6kD,GAAe,GACvB/B,OAAO,UAEdnlD,EAAAA,cAAC+6E,EAAAA,EAAK,CAAC51B,OAAO,QACP61B,OAAQ,CAAC,UAAWV,GACpBW,eAAe,IAEtBj7E,EAAAA,cAAC+nD,EAAAA,EAAO,CAAC57B,QAASnsB,EAAAA,cAACi6E,EAAa,QAEhCj6E,EAAAA,cAACk7E,EAAAA,EAAI,CAACC,IAAKn7E,EAAAA,cAACk6E,EAAa,MACnBt2E,IAAKmX,KAAKw0B,SACVn3B,KAAK,WACLgjE,YAAa,EACbP,QAAS9wB,EACT5E,OAAO,UACP5gC,KAAK,8BAOrB,C,sECrDA,UArCyB,SAAHtf,GAAoC,IAA9B6hB,EAAI7hB,EAAJ6hB,KAAM6mC,EAAiB1oD,EAAjB0oD,kBAChCxoD,GAA6BC,EAAAA,EAAAA,UAAS0hB,EAAKA,MAAKzhB,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAzCk2E,EAASh2E,EAAA,GAAEi2E,EAAOj2E,EAAA,GACnB0hB,EAAQD,EAAKC,MAwBnB,OAtBAlS,EAAAA,EAAAA,YAAU,WACRymE,EAAQx0D,EAAKA,KACf,GAAG,CAACA,EAAKA,QAGTjS,EAAAA,EAAAA,YACE,WACE,IAAI0mE,EAASxkD,YAAW,WACtBukD,GAAQ,GACJ3tB,GACFA,GAEJ,GAAG,KAEH,OAAO,WACLgL,aAAa4iB,EACf,CACF,GAEA,CAACF,IAIDr7E,EAAAA,cAACwe,EAAAA,SAAQ,KACL68D,GACAr7E,EAAAA,cAAA,OAAKqB,UAAS,2BAAAC,OAAuC,UAAVylB,EAAoB,QAAU,QACvE/mB,EAAAA,cAAA,YAAO8mB,EAAKnR,UAKtB,C,gFCVA,UArBsB,SAAH1Q,GAAsG,IAAhGypB,EAAQzpB,EAARypB,SAAU/nB,EAAK1B,EAAL0B,MAAOhG,EAAOsE,EAAPtE,QAASiX,EAAY3S,EAAZ2S,aAAc/T,EAAKoB,EAALpB,MAAOhC,EAAIoD,EAAJpD,KAAM6jB,EAAYzgB,EAAZygB,aAAcvN,EAAQlT,EAARkT,SAAUsD,EAAWxW,EAAXwW,YAEpG,OACEzb,EAAAA,cAAA,OAAKqB,UAAS,kBAAAC,OAAoBokB,GAAgB,IAAEpkB,OAAIqF,EAAQ,SAAW,IAAErF,OAAKotB,EAAW,YAAc,KACzG1uB,EAAAA,cAACi8D,EAAAA,EAAQ,CACPC,YAAal8D,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KAC9Cq6D,UAAWn8D,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KAC5C8F,GAAI/F,EACJA,KAAMA,EACN6Z,SAAU,SAAC4iB,GAAM,OAAK1mB,EAAa0mB,EAAOz6B,MAAOhC,EAAK,EACtDlB,QAASA,EACT8a,YAAaA,GAAeja,KAAKC,EAAE,yBACnCoC,MAAOA,IAEPsU,GAAYnY,EAAAA,cAAA,QAAMqB,UAAU,iBAAgB,KAC5CsF,GAAS3G,EAAAA,cAAA,OAAKqB,UAAU,iBAAkBsF,GAIlD,C,qGCsCA,UA1DmB,SAAH1B,GAYW,IAZLypB,EAAQzpB,EAARypB,SACA/nB,EAAK1B,EAAL0B,MACA2oB,EAAKrqB,EAALqqB,MACA1X,EAAY3S,EAAZ2S,aACA2Y,EAAStrB,EAATsrB,UACAirD,EAAUv2E,EAAVu2E,WACA35E,EAAIoD,EAAJpD,KACA4Z,EAAWxW,EAAXwW,YACAtD,EAAQlT,EAARkT,SACAC,EAAInT,EAAJmT,KACAvU,EAAKoB,EAALpB,MACA6hB,EAAYzgB,EAAZygB,aAGpBvgB,GAAiDC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAzDs2E,EAAep2E,EAAA,GAAEq2E,EAAqBr2E,EAAA,GACvCs2E,EAAerrD,IAAWkrD,EAAY,CAAE,MAAS70E,EAAO,OAAU9C,EAAO,sBAAuBsU,IAChG6+B,EAAYykC,IAAoBrjE,GAAiB,WAATA,EAAoB,OAASA,EAe3E,OACEpY,EAAAA,cAAA,OAAKqB,UAAS,iBAAAC,OAAoBokB,GAAgB,KAChD1lB,EAAAA,cAAA,SACE0uB,SAAUA,EACV7sB,KAAMA,EACNuW,KAAM4+B,EACNnzC,MAAOA,EACP+D,GAAI/F,EACJ6Z,SAlBoB,SAACC,GACzB,IAAM9X,EAAQ8X,EAAE3S,OAAOnF,MAAMi1B,QAAQ,IAAK,KAC1Cnd,EAAE3S,OAAOnF,MAAQA,EAER,WAATuU,IACMkX,EAAQ,cAAgB,SAASotC,KAAK/gD,EAAE3S,OAAOnF,SAAW8X,EAAE3S,OAAOnF,QAAU+T,EAAa+D,GAC5F/D,EAAa+D,EACnB,EAYMta,UAAWs6E,EACXlgE,YAAaA,GAAeja,KAAKC,EAAE,iCAG1B,aAAT2W,IACEqjE,EACEz7E,EAAAA,cAAC4B,EAAAA,OAAM,CAACP,UAAU,sBAAsBQ,KAAK,aAAaH,QAAS,kBAAMg6E,GAAsB,EAAM,EAAE55E,KAAM,KAC7G9B,EAAAA,cAAC4B,EAAAA,OAAM,CAACP,UAAU,sBAAsBQ,KAAK,iBAAiBH,QAAS,kBAAMg6E,GAAsB,EAAK,EAAE55E,KAAM,MAIpHqW,GAAYnY,EAAAA,cAAA,QAAMqB,UAAU,iBAAgB,KAC5CsF,IAAU4pB,GAAavwB,EAAAA,cAAA,OAAKqB,UAAU,iBAAkBsF,GAGhE,C,0FC1BA,UA7BiB,SAAH1B,GAA6E,IAAvEpD,EAAIoD,EAAJpD,KAAM+V,EAAY3S,EAAZ2S,aAAcE,EAAU7S,EAAV6S,WAAY0jE,EAAUv2E,EAAVu2E,WAAY1yE,EAAK7D,EAAL6D,MAAOwM,EAAKrQ,EAALqQ,MAAOzR,EAAKoB,EAALpB,MAEtE+3E,EAAkBtrD,IAAW,WAAY,CAAEkrD,WAAAA,IAGjD,OACEx7E,EAAAA,cAAA,OAAKqB,UAAU,mCACbrB,EAAAA,cAAA,OAAKqB,UAAU,0BACbrB,EAAAA,cAAA,SAAOwzC,QAAS3xC,GACd7B,EAAAA,cAAA,SACE6B,KAAMA,EACNuW,KAAK,WACLvU,MAAOA,EACP+D,GAAI/F,EACJ6Z,SAAU,SAACC,GAAC,OAAK/D,EAAa+D,EAAGrG,GAASzT,EAAK,EAC/CkrC,OAAQj1B,EACRzW,UAAWu6E,EACX72D,QAASlhB,IAEX7D,EAAAA,cAAA,QAAMqB,UAAU,aACdrB,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,QAAQC,KAAM,MAE7B9B,EAAAA,cAAA,OAAKqB,UAAU,kBAAmByH,KAK5C,C,klBCnCO,IAAM+yE,EAAYr6E,KAAKC,EAAE,kDACnBq6E,EAAat6E,KAAKC,EAAE,+DACpBs6E,EAAgBv6E,KAAKC,EAAE,qDACvBu6E,EAAax6E,KAAKC,EAAE,mDACpBw6E,EAAkBz6E,KAAKC,EAAE,yEACzBy6E,EAAW16E,KAAKC,EAAE,6DAClB06E,EAAa36E,KAAKC,EAAE,oDACpB26E,EAAe56E,KAAKC,EAAE,qDACtB46E,EAAY76E,KAAKC,EAAE,kDACnB66E,EAA0B96E,KAAKC,EAAE,4EACjC86E,EAAwB/6E,KAAKC,EAAE,uEAC/B+6E,EAA0Bh7E,KAAKC,EAAE,qEAEjCg7E,EAAoB,SAACC,GAAa,OAAKl7E,KAAKC,EAAE,sDAAuD,CAAEi7E,cAAAA,GAAiB,EACxHjgB,EAAqB,SAACnnD,GAAK,OAAK9T,KAAKC,EAAE,iEAAkE,CAAE6T,MAAAA,GAAS,EACpHqnE,EAAiB,SAACrnE,GAAK,OAAK9T,KAAKC,EAAE,6DAA8D,CAAE6T,MAAAA,GAAS,C,qGCgCzH,UAtCc,SAAHrQ,GAAiH,IAA3GpD,EAAIoD,EAAJpD,KAAMuW,EAAInT,EAAJmT,KAAMvU,EAAKoB,EAALpB,MAAO+T,EAAY3S,EAAZ2S,aAAcE,EAAU7S,EAAV6S,WAAY0jE,EAAUv2E,EAAVu2E,WAAY1yE,EAAK7D,EAAL6D,MAAOnC,EAAK1B,EAAL0B,MAAOwR,EAAQlT,EAARkT,SAAUsD,EAAWxW,EAAXwW,YAAa7W,EAAKK,EAALL,MAE7GO,GAAiDC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAAzDs2E,EAAep2E,EAAA,GAAEq2E,EAAqBr2E,EAAA,GACvCs2E,EAAerrD,IAAWkrD,EAAY,CAAE,MAAS70E,EAAO,OAAU9C,GAAS4X,IAC3Eu7B,EAAYykC,IAAoBrjE,EAAO,OAASA,EAGtD,OACEpY,EAAAA,cAAA,OAAKqB,UAAU,yBACbrB,EAAAA,cAAA,SACE6B,KAAMA,EACNuW,KAAM4+B,EACNnzC,MAAOA,EACP+D,GAAI/F,EACJ6Z,SAAU9D,EACVm1B,OAAQj1B,EACRzW,UAAWs6E,EACXlgE,YAAaA,EACb7W,MAAOA,IAGE,aAATwT,IACEqjE,EACEz7E,EAAAA,cAAC4B,EAAAA,OAAM,CAACP,UAAU,sBAAsBQ,KAAK,aAAaH,QAAS,kBAAMg6E,GAAsB,EAAM,EAAE55E,KAAM,KAC7G9B,EAAAA,cAAC4B,EAAAA,OAAM,CAACP,UAAU,sBAAsBQ,KAAK,iBAAiBH,QAAS,kBAAMg6E,GAAsB,EAAK,EAAE55E,KAAM,MAItH9B,EAAAA,cAAA,QAAMqB,UAAS,kBAAAC,QAAqBuC,GAAS4X,IAAgB,WACzD3S,EAASqP,GAAY,KAGvBxR,GAAS3G,EAAAA,cAAA,OAAKqB,UAAU,iBAAgB,IAAGsF,GAGnD,C,2DCFA,UArCqB,SAAH1B,GAKW,IALLtE,EAAOsE,EAAPtE,QACAkB,EAAIoD,EAAJpD,KACA+V,EAAY3S,EAAZ2S,aACA8N,EAAYzgB,EAAZygB,aACA0J,EAAWnqB,EAAXmqB,YAEtB,OACEpvB,EAAAA,cAAA,OAAKqB,UAAS,iBAAAC,OAAmBokB,GAAgB,KAC9C/kB,EAAQgH,KAAI,SAAC22B,GAAM,OAClBt+B,EAAAA,cAAA,OACEqB,UAAS,gCAAAC,OAAmCg9B,EAAOvZ,QAAU,WAAa,IAC1EnhB,IAAG,GAAAtC,OAAKO,GAAIP,OAAGg9B,EAAOz6B,QAEtB7D,EAAAA,cAAA,SACEqB,UAAS,uBAAAC,OAA0Bg9B,EAAOvZ,SAAWqK,EAAW,IAAA9tB,OAAO8tB,GAAgB,IACvFokB,QAAO,GAAAlyC,OAAKO,EAAI,KAAAP,OAAIg9B,EAAOz6B,QAE3B7D,EAAAA,cAAA,SACEoY,KAAK,QACLvU,MAAOy6B,EAAOz6B,MACdhC,KAAMA,EACN+F,GAAE,GAAAtG,OAAKO,EAAI,KAAAP,OAAIg9B,EAAOz6B,OACtBkhB,QAASuZ,EAAOvZ,QAChBrJ,SAAU,kBAAM9D,EAAa0mB,EAAOz6B,MAAM,IAE1Cy6B,EAAOx1B,OAGX9I,EAAAA,cAAA,OAAKqB,UAAU,uBACbrB,EAAAA,cAAA,cAEE,IAId,C,srBCiDA,UA/E2B,SAAHiF,GAAuH,IAAjHtE,EAAOsE,EAAPtE,QAASiX,EAAY3S,EAAZ2S,aAAc/T,EAAKoB,EAALpB,MAAOhC,EAAIoD,EAAJpD,KAAM6jB,EAAYzgB,EAAZygB,aAAcvN,EAAQlT,EAARkT,SAAUuW,EAAQzpB,EAARypB,SAAU/nB,EAAK1B,EAAL0B,MAAO8U,EAAWxW,EAAXwW,YAAa+J,EAAevgB,EAAfugB,gBAEtHrgB,GAA4BC,EAAAA,EAAAA,WAAS,GAAMC,GAAAC,EAAAA,EAAAA,GAAAH,EAAA,GAApC2rD,EAAMzrD,EAAA,GAAEu3E,EAASv3E,EAAA,GAClBw3E,GAAoBtjE,EAAAA,EAAAA,UACpBo+C,EAAiB9zD,GAASlD,EAAQsC,OAAStC,EAAQo0B,QAAO,SAAAuJ,GAAM,OAAIA,EAAOz6B,QAAUA,CAAK,IAAE,GAAK,MAGvGgR,EAAAA,EAAAA,YAAU,WACR,IAAMioE,EAAYD,EAAkBpiE,QAC9BsiE,EAAgB,SAACphE,GAAC,OAAMmhE,EAAU35C,SAASxnB,EAAE3S,SAAW4zE,GAAU,EAAO,EAE/E9rB,EACI71C,OAAO45B,iBAAiB,QAASkoC,GACjC9hE,OAAO65B,oBAAoB,QAASioC,EAC1C,GAAG,CAACjsB,IAYJ,OACE9wD,EAAAA,cAAA,OAAKqB,UAAS,uBAAAC,OAAyBokB,GAAgB,IAAMrK,IAAKwhE,GAEhE78E,EAAAA,cAAA,OAAKqB,UAAS,oCAAAC,OAAsCotB,EAAW,YAAc,IAAEptB,OAAIqF,EAAQ,SAAW,IACjGjF,QAAS,kBAAOgtB,GAAYkuD,GAAU,SAAAjvC,GAAS,OAAKA,CAAS,GAAC,GAEjE3tC,EAAAA,cAAA,OAAKqB,UAAS,qCAAAC,OAAwCuC,EAAyB,GAAjB,iBAC1D8zD,EAAiBA,EAAe7uD,MAAQ2S,GAAeja,KAAKC,EAAE,0BAGhEqvD,EACE9wD,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,KACjC9B,EAAAA,cAAC4B,EAAAA,OAAM,CAACC,KAAK,cAAcC,KAAM,MAKrC6E,GAAS3G,EAAAA,cAAA,OAAKqB,UAAU,iBAAkBsF,GAE5C3G,EAAAA,cAACg9E,EAAAA,GAAM,CACLC,cAAY,EACZC,WAAY,CAAEC,kBA9BM,SAAAp9E,GACxB,OACEC,EAAAA,cAACk9E,EAAAA,EAAWC,kBAAsBp9E,EAChCC,EAAAA,cAAC4B,EAAAA,OAAM,CAACP,UAAU,cAAcQ,KAAK,SAASC,KAAM,KAG1D,GAyBMnB,QAASA,EACTU,UAAS,GAAAC,OAAKkkB,GAAelkB,OAAIwvD,EAAqB,GAAZ,WAC1C5oB,YAAY,EACZk1C,SAAU,kBAAMR,GAAU,EAAM,EAChCS,WAAW,EACXC,WAAW,EACXz5E,MAAO,CAAEA,MAAAA,GACThC,KAAMA,EACNV,OAAQo8E,EACR/3D,gBAAiBA,EACjBknB,iBAAkB,kBAAMlrC,KAAKC,EAAE,2BAA2B,EAC1Dia,SAAU,SAAC4iB,GACTs+C,GAAU,GACVhlE,EAAa0mB,EAAOz6B,MAAOhC,EAC7B,EACA6xD,MAAO,SAAAA,GAAK,OAAAv+C,EAAAA,EAAA,GACPu+C,GAAK,IACR8pB,OAAMroE,EAAAA,EAAA,GACDu+C,EAAM8pB,QAAM,IACfC,UAAW,UACXC,QAAS,aACV,IAIHvlE,GAAYnY,EAAAA,cAAA,QAAMqB,UAAU,iBAAgB,KAIpD,EAKA,IAAMk8E,EAAe,CACnBI,mBAAoB,SAACpwC,GAAQ,OAAAp4B,EAAAA,EAAA,GACxBo4B,GAAQ,IAAAhqC,EAAAA,EAAAA,GAAA,CACXwjB,MAAO,WACN,WAAY,iBAAO,CAClBA,MAAO,UACR,IAAC,EAEJuX,OAAQ,SAACiP,EAAU7pC,GAAK,OAAAyR,EAAAA,EAAA,GACnBo4B,GAAQ,IACXqwC,WAAY,OACZC,QAAS,YACTrwC,QAAS,OACTswC,WAAY,SACZ/2D,MAAO,QACP+mB,aAAc,MACdiwC,OAAQ,WAAS,EAEnBtiE,YAAa,iBAAO,CAClB+xB,QAAS,OACV,EACDC,QAAS,iBAAO,CACdzR,UAAW,OACXgiD,UAAW,OACXxxD,WAAY,QACZ5N,OAAQ,oBACRkvB,aAAc,MACd6sC,OAAQ,iBACRntC,QAAS,OACV,EACD1lC,MAAO,kBAAAvE,EAAAA,EAAAA,GAAC,CACNlB,OAAQ,OACRmrC,QAAS,OACTswC,WAAY,SACZl6C,cAAe,MACfiK,YAAa,MACbua,WAAY,QACX,SAAU,iBAAO,CAChBhmD,MAAO,OACR,GAAC,EAEJ67E,KAAM,iBAAO,CACXtD,OAAQ,EACRqD,UAAW,QACX9sB,SAAU,SACV1kC,WAAY,QACZ0xD,WAAY,MACZC,WAAY,0CACb,EACDC,SAAU,SAAC7wC,GAAQ,OAAAp4B,EAAAA,EAAA,GACdo4B,GAAQ,IACXywC,UAAW,SAAO,EAEpBtwC,YAAa,iBAAO,CAClB7yB,IAAK,OACLvY,SAAU,WACX,EACDw6E,UAAW,SAACvvC,GAAQ,OAAAp4B,EAAAA,EAAA,GACfo4B,GAAQ,IACX3uB,OAAQ,oBACRs/D,WAAY,OACZpwC,aAAc,MACdxrC,SAAU,WACVF,MAAO,oBACP+uD,OAAQ,EACR3kC,WAAY,SAAO,EAErB6xD,mBAAoB,iBAAO,CACzB7wC,QAAS,OACV,E,owBC5IH8wC,EAWUC,EAAAA,EAAOC,mBAVTC,EAAWH,EAAXG,YACAC,EAAUJ,EAAVI,WACAC,EAAUL,EAAVK,WACAC,EAAeN,EAAfM,gBACAC,EAAQP,EAARO,SACAC,EAAQR,EAARQ,SACAC,EAAST,EAATS,UACAC,EAASV,EAATU,UACAC,EAAYX,EAAZW,aACAC,EAAOZ,EAAPY,QAIKnmE,EACXF,EAAAA,GAAAA,SACIsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0C,QAAQC,EAAAA,EAAmBE,QAASvD,EAAAA,cACpCoD,QAAQC,EAAAA,EAAmBG,8BAA+BjD,EAAAA,yBAC1D6C,QAAQC,EAAAA,EAAmBI,iBAAkBjD,EAAAA,uBAC7CpkE,UAASskD,EAAAA,EAAAA,oBAAmBgiB,IAGrBgB,EACX5mE,EAAAA,GAAAA,SACGsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0C,QAAQC,EAAAA,EAAmBE,QAASvD,EAAAA,cACpCoD,QAAQC,EAAAA,EAAmBG,8BAA+BjD,EAAAA,yBAC1D6C,QAAQC,EAAAA,EAAmBI,iBAAkBjD,EAAAA,uBAGrCmD,EACX7mE,EAAAA,GAAAA,SACGsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0C,QAAQC,EAAAA,EAAmBE,QAASnD,EAAAA,YACpCzf,KAAK,cAAcD,EAAAA,EAAAA,oBAAmBiiB,IAAa,SAAS76E,GAC3D,IAAQ47C,EAAsB37C,KAAtB27C,KAAMkgC,EAAgB77E,KAAhB67E,YAEd,MAAsC,OAA/B77E,KAAK64D,OAAOijB,gBAA2B/7E,GAAS87E,EAAY,CAAElgC,KAAAA,EAAM9pC,SAAS8mD,EAAAA,EAAAA,oBAAmBiiB,IACzG,IAGSmB,EACXhnE,EAAAA,GAAAA,SACGsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0C,QAAQC,EAAAA,EAAmBzzD,IAAKuwD,EAAAA,UAGxBlR,EACXnyD,EAAAA,GAAAA,SACIsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0C,QAAQC,EAAAA,EAAmBzzD,IAAKuwD,EAAAA,UAChC/jE,UAASskD,EAAAA,EAAAA,oBAAmByiB,IAGrBjU,EACXpyD,EAAAA,GAAAA,SACIsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0C,QAAQC,EAAAA,EAAmBE,QAASlD,EAAAA,cACpC+C,QAAQC,EAAAA,EAAmBG,8BAA+BjD,EAAAA,yBAC1D6C,QAAQC,EAAAA,EAAmBI,iBAAkBjD,EAAAA,uBAC7CpkE,UAASskD,EAAAA,EAAAA,oBAAmBkiB,IAGrBxT,EACXtyD,EAAAA,GAAAA,SACI6jD,KAAK,eAAgBuf,EAAAA,iBAAiB,SAASp4E,GAC9C,IAAQ47C,EAAsB37C,KAAtB27C,KAAMkgC,EAAgB77E,KAAhB67E,YAGd,OAAuB,IAFHG,EAAAA,SAAqBh8E,KAAK64D,OAAOznC,cAAerxB,KAEpCA,GAAS87E,EAAY,CAAElgC,KAAAA,EAAM9pC,QAASsmE,EAAAA,iBACxE,IACC9jE,UAASskD,EAAAA,EAAAA,oBAAmBmiB,IAGrBmB,EACXlnE,EAAAA,GAAAA,SACGV,UAASskD,EAAAA,EAAAA,oBAAmBmiB,IAGpB1T,EACXryD,EAAAA,GAAAA,SACIsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0C,QAAQC,EAAAA,EAAmBv9E,KAAMw6E,EAAAA,WACjC8C,QAAQC,EAAAA,EAAmBG,8BAA+BjD,EAAAA,yBAC1D6C,QAAQC,EAAAA,EAAmBI,iBAAkBjD,EAAAA,uBAC7CpkE,UAASskD,EAAAA,EAAAA,oBAAmBoiB,IAGrB7lE,EACXH,EAAAA,GAAAA,SACIsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0C,QAAQC,EAAAA,EAAmBv9E,KAAMg6E,EAAAA,WACjCsD,QAAQC,EAAAA,EAAmBG,8BAA+BjD,EAAAA,yBAC1D6C,QAAQC,EAAAA,EAAmBI,iBAAkBjD,EAAAA,uBAC7CpkE,UAASskD,EAAAA,EAAAA,oBAAmBqiB,IAGrB7lE,EACXJ,EAAAA,GAAAA,SACIsmE,QAAQC,EAAAA,EAAmBY,mBAAmBvD,EAAAA,EAAAA,mBAAkB,MAChE3mE,MAAMgmE,EAAAA,YACN3jE,UAASskD,EAAAA,EAAAA,oBAAmBsiB,IAGrB7lE,EACXL,EAAAA,GAAAA,SACIsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0C,QAAQC,EAAAA,EAAmBa,MAAOjE,EAAAA,YAClCmD,QAAQC,EAAAA,EAAmBc,kCAAmC5D,EAAAA,yBAC9D5f,KAAK,sBAAuB8f,EAAAA,yBAAyB,SAAS34E,GAC7D,IAAQ47C,EAAsB37C,KAAtB27C,KAAMkgC,EAAgB77E,KAAhB67E,YAGd,OAFqB97E,GAASA,EAAMi1B,QAAQ,aAAc,IAAI71B,QAAU,IAEhDY,GAAS87E,EAAY,CAAElgC,KAAAA,EAAM9pC,QAAS6mE,EAAAA,yBAChE,IACCrkE,UAASskD,EAAAA,EAAAA,oBAAmBuiB,IAGrBp2D,EACX/P,EAAAA,GAAAA,SACIsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3D0D,IAAI,GAAGxD,EAAAA,EAAAA,gBAAesC,IACtB9mE,UAASskD,EAAAA,EAAAA,oBAAmBwiB,IAGrBp2D,EACXhQ,EAAAA,GAAAA,SACGsmE,QAAQC,EAAAA,EAAmBC,cAAc5C,EAAAA,EAAAA,mBAAkB,MAC3DtkE,UAASskD,EAAAA,EAAAA,oBAAmBj7D,KAAKC,EAAE,2DACnCi7D,KAAK,kBAAmBl7D,KAAKC,EAAE,iCAAiC,SAASoC,GACxE,OAAOC,KAAK64D,OAAO10C,WAAapkB,CAClC,IAGSu8E,EAA4BvnE,EAAAA,GAAAA,SAAawnE,MAAM,CAACxnE,EAAAA,GAAAA,IAAQ,YAAa,MAAO,wBAE5EynE,EAAsBznE,EAAAA,GAAAA,S,sEC9InC,WAAe0nE,EAAAA,EAAAA,KAbf,SAAoBt7E,GAAe,IAAZ6a,EAAO7a,EAAP6a,QAUrB,OATAjL,EAAAA,EAAAA,YAAU,WACR,IAAM2rE,EAAW1gE,EAAQ2gE,QAAO,WAC9BxlE,OAAO8sD,SAAS,EAAG,EACrB,IACA,OAAO,WACLyY,GACF,CACF,GAAG,IAEK,IACV,G,0jBCZO,IAAMhI,EAA6B,WACxC,IAYMr2C,EAAIlnB,OAAOylE,eACjBzlE,OAAOylE,eAAc,SAAAz7E,IAAAvC,EAAAA,EAAAA,GAAAg+E,EAAAz7E,GAAA,IAAAtC,EAAAC,EAAA89E,GACnB,SAAAA,EAAY74D,GACuB,OADb/kB,EAAAA,EAAAA,GAAA,KAAA49E,GACpB74D,EAfa,SAACA,EAAU84D,GAC1B,IAAIC,EACJ,OAAO,WAAmB,IAAD,IAAA79E,EAAAC,UAAAC,OAANC,EAAI,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,GAAAJ,UAAAI,GAErB,IAAMy9E,EAAMC,KACZF,GAAOjoB,aAAaioB,GACpBA,EAAM7pD,YAAW,WACflP,EAASvkB,MAAMu9E,EAAK39E,EACtB,GAAGy9E,EACL,CACF,CAKe1a,CAASp+C,EAAU,IAAGllB,EAAAU,KAAA,KAC3BwkB,EACR,CAAC,OAAAlkB,EAAAA,EAAAA,GAAA+8E,EAAA,CAJkB,CAAgCv+C,EAMvD,C,uBCtBA,IAAIx6B,EAAM,CACT,WAAY,MACZ,UAAW,MACX,UAAW,MACX,UAAW,KACX,UAAW,KACX,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,aAAc,MACd,UAAW,KACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,aAAc,OAIf,SAASo5E,EAAeC,GACvB,IAAIp5E,EAAKq5E,EAAsBD,GAC/B,OAAOE,EAAoBt5E,EAC5B,CACA,SAASq5E,EAAsBD,GAC9B,IAAIE,EAAoBC,EAAEx5E,EAAKq5E,GAAM,CACpC,IAAIrlE,EAAI,IAAIylE,MAAM,uBAAyBJ,EAAM,KAEjD,MADArlE,EAAEg9D,KAAO,mBACHh9D,CACP,CACA,OAAOhU,EAAIq5E,EACZ,CACAD,EAAezhE,KAAO,WACrB,OAAOD,OAAOC,KAAK3X,EACpB,EACAo5E,EAAeM,QAAUJ,EACzBK,EAAOC,QAAUR,EACjBA,EAAen5E,GAAK,I","sources":["webpack:///./app/javascript/components/Map/BaseMap.jsx","webpack:///./app/javascript/components/Map/index.jsx","webpack:///./app/javascript/components/Provider/ActiveSessions/index.jsx","webpack:///./app/javascript/components/Provider/AdvertismentBlock/Banners.jsx","webpack:///./app/javascript/components/Provider/AdvertismentBlock/index.jsx","webpack:///./app/javascript/components/Provider/ApolloClient/client.js","webpack:///./app/javascript/components/Provider/ApolloClient/mutations.jsx","webpack:///./app/javascript/components/Provider/ApolloClient/queries.js","webpack:///./app/javascript/components/Provider/Banners/AnonymousBanner.jsx","webpack:///./app/javascript/components/Provider/ClientInfo/ClientInfo.jsx","webpack:///./app/javascript/components/Provider/ClientInfo/ContactInfoForm.jsx","webpack:///./app/javascript/components/Provider/ClientInfo/Notes/index.jsx","webpack:///./app/javascript/components/Provider/Clients/ClientsColumns.jsx","webpack:///./app/javascript/components/Provider/Clients/ClientsTable.jsx","webpack:///./app/javascript/components/Provider/Clients/index.jsx","webpack:///./app/javascript/components/Provider/ContactsPage/ContactsTable.jsx","webpack:///./app/javascript/components/Provider/ContactsPage/CreateNewContact.jsx","webpack:///./app/javascript/components/Provider/ContactsPage/index.jsx","webpack:///./app/javascript/components/Provider/Errors/ModalNetworkError.jsx","webpack:///./app/javascript/components/Provider/Errors/NetworkError.jsx","webpack:///./app/javascript/components/Provider/Errors/Page404.jsx","webpack:///./app/javascript/components/Provider/Errors/PageInfoMessage.jsx","webpack:///./app/javascript/components/Provider/Footer/index.jsx","webpack:///./app/javascript/components/Provider/HelpPage/index.jsx","webpack:///./app/javascript/components/Provider/Invoices/Columns.jsx","webpack:///./app/javascript/components/Provider/Invoices/index.jsx","webpack:///./app/javascript/components/Provider/Loaders/index.jsx","webpack:///./app/javascript/components/Provider/LocationForm/FormGroups/DropdownGroup.jsx","webpack:///./app/javascript/components/Provider/LocationForm/FormGroups/InputGroup.jsx","webpack:///./app/javascript/components/Provider/LocationForm/FormGroups/RadioFormGroup.jsx","webpack:///./app/javascript/components/Provider/LocationForm/FormGroups/RangeInputs.jsx","webpack:///./app/javascript/components/Provider/LocationForm/NavigationButtons/index.jsx","webpack:///./app/javascript/components/Provider/LocationForm/ProgressBar/index.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Contacts.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Description.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Economy/CombinedKindForm/index.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Economy/index.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/FactsAndFacilities.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Location/Map.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Location/MapWrapper.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Location/index.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Visuals/FileInput.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Visuals/FixedNavigationBar.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Visuals/InputBanner.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Visuals/VisualsBlock.jsx","webpack:///./app/javascript/components/Provider/LocationForm/Steps/Visuals/index.jsx","webpack:///./app/javascript/components/Provider/LocationForm/StepsWrapper.jsx","webpack:///./app/javascript/components/Provider/LocationForm/index.jsx","webpack:///./app/javascript/components/Provider/LocationInfo/AssetsBlock.jsx","webpack:///./app/javascript/components/Provider/LocationInfo/index.jsx","webpack:///./app/javascript/components/Provider/LocationViewsChart/index.jsx","webpack:///./app/javascript/components/Provider/Locations/LocaationsColumns.jsx","webpack:///./app/javascript/components/Provider/Locations/index.jsx","webpack:///./app/javascript/components/Provider/MainDashboard/index.jsx","webpack:///./app/javascript/components/Provider/Modals/AlreadyKnownLeadStatusModal.jsx","webpack:///./app/javascript/components/Provider/Modals/BaseModal.jsx","webpack:///./app/javascript/components/Provider/Modals/CreateNewContactModal.jsx","webpack:///./app/javascript/components/Provider/Modals/DeactivateLocationModal.jsx","webpack:///./app/javascript/components/Provider/Modals/DeleteContactForeverModal.jsx","webpack:///./app/javascript/components/Provider/Modals/DeleteContactModal.jsx","webpack:///./app/javascript/components/Provider/Modals/DeleteNoteModal.jsx","webpack:///./app/javascript/components/Provider/Modals/DuplicateLocationModal.jsx","webpack:///./app/javascript/components/Provider/Modals/ExtraOrderModal.jsx","webpack:///./app/javascript/components/Provider/Modals/GenerateProspectusModal.jsx","webpack:///./app/javascript/components/Provider/Modals/IframeModal.jsx","webpack:///./app/javascript/components/Provider/Modals/NotesModal.jsx","webpack:///./app/javascript/components/Provider/Modals/PaymentModal/CheckoutForm.jsx","webpack:///./app/javascript/components/Provider/Modals/PaymentModal/PaymentModal.jsx","webpack:///./app/javascript/components/Provider/Modals/ProviderModal.jsx","webpack:///./app/javascript/components/Provider/Modals/QualityScoreInfoModal.jsx","webpack:///./app/javascript/components/Provider/Modals/RejectAgreementModal.jsx","webpack:///./app/javascript/components/Provider/Modals/RentedOutModal.jsx","webpack:///./app/javascript/components/Provider/Modals/ReportADealSuccess.jsx","webpack:///./app/javascript/components/Provider/Modals/SecondaryKindsInfoModal.jsx","webpack:///./app/javascript/components/Provider/Modals/TokenizedFileModalLink.jsx","webpack:///./app/javascript/components/Provider/Modals/VisualsProposalsForm.jsx","webpack:///./app/javascript/components/Provider/MutableLink/index.jsx","webpack:///./app/javascript/components/Provider/Popups/InfoMessagePopup.jsx","webpack:///./app/javascript/components/Provider/Popups/TooltipPopup.jsx","webpack:///./app/javascript/components/Provider/ProviderHeader/index.jsx","webpack:///./app/javascript/components/Provider/ProviderInactive/index.jsx","webpack:///./app/javascript/components/Provider/ReportDeal/Details.jsx","webpack:///./app/javascript/components/Provider/ReportDeal/DetailsReportForm.jsx","webpack:///./app/javascript/components/Provider/ReportDeal/ReaportDealTable.jsx","webpack:///./app/javascript/components/Provider/ReportDeal/ReportDealProgress.jsx","webpack:///./app/javascript/components/Provider/ReportDeal/ReportSteps.jsx","webpack:///./app/javascript/components/Provider/ReportDeal/index.jsx","webpack:///./app/javascript/components/Provider/ScoreWidget/index.jsx","webpack:///./app/javascript/components/Provider/Settings/ChangePasswordForm/index.jsx","webpack:///./app/javascript/components/Provider/Settings/ContactForm/index.jsx","webpack:///./app/javascript/components/Provider/Settings/ContactSettings.jsx","webpack:///./app/javascript/components/Provider/Settings/PhotoUpload.jsx","webpack:///./app/javascript/components/Provider/Settings/ProviderSettings.jsx","webpack:///./app/javascript/components/Provider/Settings/UpdateProvider.jsx","webpack:///./app/javascript/components/Provider/SideBar/SideBarLink.jsx","webpack:///./app/javascript/components/Provider/SideBar/index.jsx","webpack:///./app/javascript/components/Provider/Statistic/ExpandedStatistics.jsx","webpack:///./app/javascript/components/Provider/Statistic/StatisticColumns.jsx","webpack:///./app/javascript/components/Provider/Statistic/index.jsx","webpack:///./app/javascript/components/Provider/Table/Columns.jsx","webpack:///./app/javascript/components/Provider/Table/index.jsx","webpack:///./app/javascript/components/Provider/UnresolvedAgreement/Columns.jsx","webpack:///./app/javascript/components/Provider/UnresolvedAgreement/index.jsx","webpack:///./app/javascript/components/Provider/WelcomePage/index.jsx","webpack:///./app/javascript/components/Provider/index.jsx","webpack:///./app/javascript/components/SharedComponents/Charts/InlineChart.jsx","webpack:///./app/javascript/components/SharedComponents/FormMessages/FormMessageBlock.jsx","webpack:///./app/javascript/components/SharedComponents/Forms/BasicDropdown/index.jsx","webpack:///./app/javascript/components/SharedComponents/Forms/BasicInput/index.jsx","webpack:///./app/javascript/components/SharedComponents/Forms/CheckBox/index.jsx","webpack:///./app/javascript/components/SharedComponents/Forms/ErrorMessages.js","webpack:///./app/javascript/components/SharedComponents/Forms/Input/index.jsx","webpack:///./app/javascript/components/SharedComponents/Forms/RadioButtons/index.jsx","webpack:///./app/javascript/components/SharedComponents/Forms/SearchableDropdown/index.jsx","webpack:///./app/javascript/components/SharedComponents/Forms/ValidationSchemaPattern.js","webpack:///./app/javascript/components/SharedComponents/ScrollToTop.jsx","webpack:///./app/javascript/utils/resizeObzerver.js","webpack:///./node_modules/suneditor/src/lang/ sync ^\\.\\/.*\\.js$"],"sourcesContent":["import React from 'react';\nimport {\n  withScriptjs,\n  withGoogleMap,\n  GoogleMap,\n  Marker,\n} from 'react-google-maps';\n\n\nimport mapPin from '../../src/images/details-page-pin.svg';\nimport mapStyles from \"../../src/stylesheets/map_styles.json\";\nimport { SvgIco } from \"../SharedComponents/Icons\";\n\n\nfunction removeStyles() {\n  const gm = document.querySelector('.bottom-map-container .gm-style');\n  if (gm) {\n    gm.classList.remove('gm-style');\n  }\n};\n\n\nconst BaseMap = withScriptjs(\n  withGoogleMap(props => (\n    <GoogleMap\n      defaultZoom={props.defaultZoom || 15}\n      defaultCenter={props.coordinates}\n      onLoaded={removeStyles()}\n      options={{\n        gestureHandling: 'cooperative',\n        fullscreenControl: !props.isFullscreenMobile && !props.isGalleryMobileComponent,\n        mapTypeControl: !props.isFullscreenMobile || !props.isGalleryMobileComponent,\n        streetViewControl: !props.isFullscreenMobile && !props.isMobile,\n        styles: mapStyles,\n      }}\n    >\n      <div className={`dv-gallery-map-fullscreen-header${props.isFullscreenMobile && !props.orientationHorizontalMobile ? ' active' : ''}`}>\n        <span>\n          { I18n.t('lb_showroom.detailed.asset_box.new_map_button') }\n        </span>\n        { props.isGalleryMobileComponent &&\n          <div className=\"map-mobile-fullscreen-btn\" onClick={props.handleFullscreenMobile}>\n            { props.isFullscreenMobile\n              ? <SvgIco name=\"close\" size={24} />\n              : <SvgIco name=\"crop_free\" size={24} />\n            }\n          </div>\n        }\n      </div>\n      <Marker icon={{ url: mapPin, scaledSize: { width: 56, height: 56} }} position={props.coordinates} />\n      { props.markers }\n    </GoogleMap>\n  ))\n);\n\nexport default BaseMap;\n","import React, { Component } from 'react';\nimport BaseMap from './BaseMap';\nimport { isMobile, isTablet } from \"react-device-detect\";\n\nfunction loadingElement() {\n  return <div style={{ height: `100%` }} />;\n}\n\nclass Map extends Component {\n  state = {\n    isGalleryMobileComponent: false,\n    isFullscreenMobile: false,\n    orientationHorizontalMobile: false,\n  };\n\n  componentDidMount() {\n    this.props.isGalleryComponent && isMobile && this.setState({ isGalleryMobileComponent: true });\n  }\n\n  handleFullscreenMobile = () => this.setState({ isFullscreenMobile: !this.state.isFullscreenMobile });\n\n  render() {\n    const { latitude, longitude , googleApiKey, orientationHorizontalMobile, oldVariant } = this.props;\n    const { isFullscreenMobile, isGalleryMobileComponent } = this.state;\n    const coordinatesObj = { lat: latitude, lng: longitude };\n    const containerClass = `map-container${isFullscreenMobile ? ' fullscreen-mobile' : ''}`;\n\n\n    return (\n      <BaseMap\n        googleMapURL={`https://maps.googleapis.com/maps/api/js?key=${googleApiKey}&libraries=places`}\n        loadingElement={loadingElement()}\n        containerElement={<div className={containerClass} />}\n        mapElement={<div className=\"map-element\" />}\n        coordinates={coordinatesObj}\n        isGalleryMobileComponent={isGalleryMobileComponent}\n        isMobile={isMobile && !isTablet}\n        handleFullscreenMobile={this.handleFullscreenMobile}\n        isFullscreenMobile={isFullscreenMobile}\n        orientationHorizontalMobile={orientationHorizontalMobile}\n        oldVariant={oldVariant}\n      />\n    );\n  }\n}\n\nexport default Map;\n","import React, { useState } from 'react';\nimport { useMutation, useQuery } from \"@apollo/client\";\n\nimport { GET_SERVER_SIDE_SESSIONS } from \"../ApolloClient/queries\";\nimport { DELETE_SERVER_SIDE_SESSION } from \"../ApolloClient/mutations\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './index.sass';\n\n\nconst ActiveSessions = ({ showDeleteButton }) => {\n\n  const [sessions, setSessions] = useState([]);\n\n  const { getServerSideSessions } = useQuery(GET_SERVER_SIDE_SESSIONS, {\n    onCompleted: (data) =>\n      data && data.serverSideSessions && setSessions(data.serverSideSessions),\n  });\n\n  const [ deleteServerSideSession, { loading, error } ] = useMutation(DELETE_SERVER_SIDE_SESSION, {\n    update(cache, result) {},\n    refetchQueries: [\"getServerSideSessions\"],\n    // onCompleted: () => {\n    // }\n  });\n\n  const deleteSession = (id) =>\n    deleteServerSideSession({ variables: { input: { id: Number(id) } }})\n      .catch(error => console.log('error', error));\n\n  const currentSession = sessions && sessions.find(session => session.isCurrent);\n\n\n  if (sessions && sessions.length) {\n    return (\n      <div className=\"active-sessions\" style={{ marginTop: showDeleteButton ? '24px' : 0 }}>\n        <div className=\"active-sessions__headline\">\n          { I18n.t('provider.active_sessions.headline') }\n        </div>\n\n        <div className=\"active-sessions__wrapper\">\n          { currentSession &&\n            <div className=\"active-sessions__sessions-list\">\n              <div className=\"active-sessions__sub-header\">\n                { I18n.t('provider.active_sessions.this_device') }\n              </div>\n              <div className=\"active-sessions__session\">\n                <div className=\"active-sessions__session-top\">\n                  <div className=\"active-sessions__browser-info\">\n                    { currentSession.browserName }, { currentSession.osName } { currentSession.osVersion }\n                  </div>\n                  <div className=\"active-sessions__time-info\">\n                    <div className=\"active-sessions__time current\">\n                      { new Date(currentSession.createdAt).toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'}) }\n                    </div>\n                  </div>\n                </div>\n                <div className=\"active-sessions__session-bottom\">\n                  { currentSession.remoteIp } - { currentSession.city }, { currentSession.country }\n                </div>\n              </div>\n            </div>\n          }\n\n          { currentSession &&  sessions.length > 1 &&\n            <div className=\"active-sessions__sessions-list other-sessions\">\n              <div className=\"active-sessions__sub-header\">\n                { I18n.t('provider.active_sessions.other_sessions') }\n              </div>\n              { sessions.map(session => !session.isCurrent &&\n                <div className=\"active-sessions__session\">\n                  <div className=\"active-sessions__session-top\">\n                    <div className=\"active-sessions__browser-info\">\n                      { session.browserName }, { session.osName } { session.osVersion }\n                    </div>\n                    <div className=\"active-sessions__time-info\">\n                      <div className=\"active-sessions__time\">\n                        { new Date(session.createdAt).toLocaleTimeString([], {hour: '2-digit', minute:'2-digit'}) }\n                      </div>\n                      <SvgIco name=\"delete_forever\" size={24} onClick={() => deleteSession(session.id)} />\n                    </div>\n                  </div>\n                  <div className=\"active-sessions__session-bottom\">\n                    { session.remoteIp } - { session.city }, { session.country }\n                  </div>\n                </div>\n              )}\n            </div>\n          }\n        </div>\n      </div>\n    )\n  } else {\n    return null;\n  }\n}\n\nexport default ActiveSessions;\n","import React from 'react';\n\nimport PartnerBadgeIcon from '../../../src/images/provider/partner-badge.svg';\nimport PartnerBadgeIconDk from '../../../src/images/provider/partner-badge-dk.svg';\nimport { ScoreActionTooltip } from \"../ScoreWidget\";\n\nimport './index.sass';\n\n\nconst PartnerBadgeBanner = ({ partnerBadgeUrl, qualityScore, siteKey }) => {\n\n  return (\n    <div className=\"partner-badge\">\n      <img\n        alt=\"Partner Badge\"\n        src={siteKey === 'dk' ? PartnerBadgeIconDk : PartnerBadgeIcon}\n        height={70}\n        width={180}\n      />\n      <div className=\"partner-badge__content\">\n        <ScoreActionTooltip\n          filled={qualityScore && qualityScore.providerPartner.score}\n          label={qualityScore && I18n.t(`provider.form.quality_score.hint_label.partner_badge`)}\n        />\n        <div className=\"google-translate-helper\">\n          { I18n.t('provider.partner_badge.banner_text') }\n        </div>\n      </div>\n      <a href={partnerBadgeUrl} target=\"_blank\">\n        { I18n.t('generic.providers.sidebar.get-partner-badge-button-text') }\n      </a>\n    </div>\n  )\n}\n\nexport default PartnerBadgeBanner;\n","import React from 'react';\n\nimport './index.sass';\n\n\nconst AdvertisementBlock = ({ children }) => {\n\n  return (\n    // Please, do not use any keywords(advertising, etc) in className to avoid blocking.\n    <div className=\"prm-block\">\n      <div className=\"prm-block__wrapper\">\n        { children }\n      </div>\n    </div>\n  )\n}\n\nexport default AdvertisementBlock;\n","import { ApolloClient, InMemoryCache, HttpLink } from \"@apollo/client\";\n\nexport const client = new ApolloClient({\n  link: new HttpLink({\n    credentials: 'same-origin'\n  }),\n  cache: new InMemoryCache({\n    addTypename: false,\n    typePolicies: {\n      Query: {\n        fields: {\n          location: {\n            merge: true,\n          },\n        },\n      }\n    }\n  }),\n});\n","import { gql } from \"@apollo/client\";\n\n\nexport const VALIDATE_LOCATION_FIELDS = gql`\n\n  mutation ValidateLocation($attributes: LocationAttributes!) {\n      validateLocation(input: {\n        attributes: $attributes\n      }) {\n        errors {\n          attrName\n          errorMessages\n        }\n      }\n    }\n`;\n\n\nexport const ADD_LOCATION = gql`\n\n  mutation AddLocation($attributes: LocationAttributes!) {\n      addLocation(input: {\n        attributes: $attributes\n      })\n      {\n        location {\n          id\n          kind\n          addressLine1\n        },\n        errors\n      }\n    }\n`;\n\n\nexport const UPDATE_LOCATION = gql`\n\n  mutation UpdateLocation($attributes: LocationAttributes!, $id: Int!) {\n      updateLocation(input: {\n        attributes: $attributes\n        id: $id\n      })\n      {\n        location {\n          id\n          kind\n          addressLine1\n        },\n        errors\n      }\n    }\n`;\n\n\nexport const ACTIVATE_LOCATION = gql`\n\n  mutation activateLocation($id: Int!) {\n    activateLocation(input: { id: $id })\n    {\n      location {\n        address\n        annualElectricityCostWithCentsFrom\n        annualElectricityCostWithCentsTo\n        annualHeatingCostWithCentsFrom\n        annualHeatingCostWithCentsTo\n        annualOperationalCostWithCentsFrom\n        annualOperationalCostWithCentsTo\n        annualRentWithCentsFrom\n        annualRentWithCentsTo\n        annualTotalCostWithCentsFrom\n        annualTotalCostWithCentsTo\n        annualWaterCostWithCentsFrom\n        annualWaterCostWithCentsTo\n        areaFrom\n        areaTo\n        areaUnit\n        createdAt\n        currencyId\n        depositAndPrepaidRent\n        description\n        disposalPrice\n        energyRating\n        enquiries\n        enquiriesCountInteger\n        exemptedFromEnergyRating\n        explainLocationIncomplete\n        facilityIds\n        fixedAnnualOperationalCost\n        floorPlans { thumbnailW600 }\n        floorPlansCount\n        hourlyRentWithCentsFrom\n        hourlyRentWithCentsTo\n        id\n        infoMessage\n        initialState\n        isComplete\n        kind\n        latitude\n        locationShownDatapoints\n        locationUrl\n        longitude\n        monthlyRentPerSpaceWithCentsFrom\n        monthlyRentPerSpaceWithCentsTo\n        photos { thumbnailW600 }\n        photosCount\n        prospectus {\n          id\n          prospectusPath\n          createAssetPath\n        }\n        prospectusCount\n        salePrice\n        scoreInPercents\n        scoreItemsList\n        section\n        sectionTranslated\n        state\n        stateInfo\n        stateTranslated\n        vimeoId\n        virtualTour\n        workstationCostPerMonthFrom\n        workstationCostPerMonthTo\n        yearlyRentPerM2WithCentsFrom\n        yearlyRentPerM2WithCentsTo\n        yearlyElectricityCostPerM2WithCentsFrom\n        yearlyElectricityCostPerM2WithCentsTo\n        yearlyHeatingCostPerM2WithCentsFrom\n        yearlyHeatingCostPerM2WithCentsTo\n        yearlyOperationalCostPerM2WithCentsFrom\n        yearlyOperationalCostPerM2WithCentsTo\n        yearlyRentalIncome\n        yearlyWaterCostPerM2WithCentsFrom\n        yearlyWaterCostPerM2WithCentsTo\n      }\n      error\n    }\n  }\n`;\n\n\nexport const COPY_LOCATION = gql`\n\n  mutation copyLocation($id: Int!) {\n    copyLocation(input: { id: $id })\n    {\n      copyJobId\n    }\n  }\n`;\n\n\nexport const DEACTIVATE_LOCATION = gql`\n\n  mutation deactivateLocation($id: Int!, $reason: String!) {\n    deactivateLocation(input: { id: $id, reason: $reason })\n    {\n      location {\n        address\n        annualElectricityCostWithCentsFrom\n        annualElectricityCostWithCentsTo\n        annualHeatingCostWithCentsFrom\n        annualHeatingCostWithCentsTo\n        annualOperationalCostWithCentsFrom\n        annualOperationalCostWithCentsTo\n        annualRentWithCentsFrom\n        annualRentWithCentsTo\n        annualTotalCostWithCentsFrom\n        annualTotalCostWithCentsTo\n        annualWaterCostWithCentsFrom\n        annualWaterCostWithCentsTo\n        areaFrom\n        areaTo\n        areaUnit\n        createdAt\n        currencyId\n        depositAndPrepaidRent\n        description\n        disposalPrice\n        energyRating\n        enquiries\n        enquiriesCountInteger\n        exemptedFromEnergyRating\n        explainLocationIncomplete\n        facilityIds\n        fixedAnnualOperationalCost\n        floorPlans { thumbnailW600 }\n        floorPlansCount\n        hourlyRentWithCentsFrom\n        hourlyRentWithCentsTo\n        id\n        infoMessage\n        initialState\n        isComplete\n        kind\n        latitude\n        locationShownDatapoints\n        locationUrl\n        longitude\n        monthlyRentPerSpaceWithCentsFrom\n        monthlyRentPerSpaceWithCentsTo\n        photos { thumbnailW600 }\n        photosCount\n        prospectus {\n          id\n          prospectusPath\n          createAssetPath\n        }\n        prospectusCount\n        salePrice\n        scoreInPercents\n        scoreItemsList\n        section\n        sectionTranslated\n        state\n        stateInfo\n        stateTranslated\n        vimeoId\n        virtualTour\n        workstationCostPerMonthFrom\n        workstationCostPerMonthTo\n        yearlyRentPerM2WithCentsFrom\n        yearlyRentPerM2WithCentsTo\n        yearlyElectricityCostPerM2WithCentsFrom\n        yearlyElectricityCostPerM2WithCentsTo\n        yearlyHeatingCostPerM2WithCentsFrom\n        yearlyHeatingCostPerM2WithCentsTo\n        yearlyOperationalCostPerM2WithCentsFrom\n        yearlyOperationalCostPerM2WithCentsTo\n        yearlyRentalIncome\n        yearlyWaterCostPerM2WithCentsFrom\n        yearlyWaterCostPerM2WithCentsTo\n      }\n      error\n    }\n  }\n`;\n\n\nexport const DEACTIVATE_LOCATION_AT_THE_MONTH_END = gql`\n  mutation deactivateLocationAtTheMonthEnd($id: Int!) {\n    deactivateLocationAtTheMonthEnd(input: { id: $id })\n    {\n      error\n    }\n  }\n`;\n\n\nexport const MARK_LOCATION_AS_RENTED_OUT = gql`\n\n  mutation rentedOutLocation($id: Int!) {\n    rentedOutLocation(input: { id: $id })\n    {\n      location {\n        address\n        annualElectricityCostWithCentsFrom\n        annualElectricityCostWithCentsTo\n        annualHeatingCostWithCentsFrom\n        annualHeatingCostWithCentsTo\n        annualOperationalCostWithCentsFrom\n        annualOperationalCostWithCentsTo\n        annualRentWithCentsFrom\n        annualRentWithCentsTo\n        annualTotalCostWithCentsFrom\n        annualTotalCostWithCentsTo\n        annualWaterCostWithCentsFrom\n        annualWaterCostWithCentsTo\n        areaFrom\n        areaTo\n        areaUnit\n        createdAt\n        currencyId\n        depositAndPrepaidRent\n        description\n        disposalPrice\n        energyRating\n        enquiries\n        enquiriesCountInteger\n        exemptedFromEnergyRating\n        explainLocationIncomplete\n        facilityIds\n        fixedAnnualOperationalCost\n        floorPlans { thumbnailW600 }\n        floorPlansCount\n        hourlyRentWithCentsFrom\n        hourlyRentWithCentsTo\n        id\n        infoMessage\n        initialState\n        isComplete\n        kind\n        latitude\n        locationShownDatapoints\n        locationUrl\n        longitude\n        monthlyRentPerSpaceWithCentsFrom\n        monthlyRentPerSpaceWithCentsTo\n        photos { thumbnailW600 }\n        photosCount\n        prospectus {\n          id\n          prospectusPath\n          createAssetPath\n        }\n        prospectusCount\n        salePrice\n        scoreInPercents\n        scoreItemsList\n        section\n        sectionTranslated\n        state\n        stateInfo\n        stateTranslated\n        vimeoId\n        virtualTour\n        workstationCostPerMonthFrom\n        workstationCostPerMonthTo\n        yearlyRentPerM2WithCentsFrom\n        yearlyRentPerM2WithCentsTo\n        yearlyElectricityCostPerM2WithCentsFrom\n        yearlyElectricityCostPerM2WithCentsTo\n        yearlyHeatingCostPerM2WithCentsFrom\n        yearlyHeatingCostPerM2WithCentsTo\n        yearlyOperationalCostPerM2WithCentsFrom\n        yearlyOperationalCostPerM2WithCentsTo\n        yearlyRentalIncome\n        yearlyWaterCostPerM2WithCentsFrom\n        yearlyWaterCostPerM2WithCentsTo\n      }\n      error\n    }\n  }\n`;\n\n\nexport const REPORT_DEAL = gql`\n  mutation addLease($attributes: LeaseAttributes!) {\n    addLease(input: {\n        attributes: $attributes\n      }) {\n        lease {\n          id\n        }\n      }\n    }\n`;\n\n\nexport const ACTIVATE_ENQUIRY = gql`\n\n  mutation activateEnquiry($id: Int!) {\n    activateEnquiry(input: { id: $id })\n    {\n      id\n    }\n  }\n`;\n\n\nexport const GIVE_UP_ENQUIRY = gql`\n\n  mutation giveUpEnquiry($id: Int!) {\n    giveUpEnquiry(input: { id: $id })\n    {\n      id\n    }\n  }\n`;\n\n\nexport const ADD_CLIENT_RELATION = gql`\n\n  mutation addClientRelation($clientId: Int!) {\n    addClientRelation(input: { clientId: $clientId })\n    {\n      clientRelationId\n      error\n    }\n  }\n`;\n\n\nexport const REJECT_PROVIDER_DEAL = gql`\n  mutation rejectProviderDeal($id: Int!, $comment: String!, $state: String!) {\n    updateProviderDeal(input: { id: $id, comment: $comment, state: $state }) {\n      providerDeal {\n        id\n      }\n      errors\n    }\n  }\n`;\n\n\nexport const ADD_PAID_SERVICE_ORDER = gql`\n\n  mutation addPaidServiceOrder(\n    $photo: [Int!]!\n    $floorPlan: [Int!]!\n    $virtualTour: [Int!]!\n    $video: [Int!]!\n    $comment: String!\n    $locationId: ID!\n  ) {\n    addPaidServiceOrder(input: {\n      photo: $photo\n      floorPlan: $floorPlan\n      virtualTour: $virtualTour\n      video: $video\n      comment: $comment\n      locationId: $locationId\n    })\n    {\n      errors\n    }\n  }\n`;\n\n\nexport const DELETE_SERVER_SIDE_SESSION = gql`\n\n  mutation deleteServerSideSession($input: DeleteServerSideSessionMutationInput!) {\n    deleteServerSideSession(input: $input) {\n      id\n    }\n  }\n`;\n\n\nexport const ADD_INCOMPLETE_DEAL_NOTIFICATION = gql`\n  mutation addIncompleteDealNotification($providerId: Int!, $locationId: Int!) {\n    addIncompleteDealNotification(input: { providerId: $providerId, locationId: $locationId }) {\n      incompleteDealNotification {\n        id\n      },\n      errors\n    }\n  }\n`;\n\n\nexport const RESET_NEW_CLIENTS_COUNT = gql`\n\n  mutation resetNewClientsCount($providerId: Int!) {\n    resetNewClientsCount(input: { providerId: $providerId })\n    {\n      errors\n    }\n  }\n`;\n\n\nexport const DELETE_CONTACT = gql`\n  mutation deleteContact($input: DeleteContactMutationInput!) {\n    deleteContact(input: $input) {\n      id\n    }\n  }\n`;\n\n\nexport const DELETE_CONTACT_FOREVER = gql`\n  mutation hideDeletedContact($id: Int!) {\n    hideDeletedContact(input: { id: $id }) {\n      errors\n    }\n  }\n`;","import { gql } from \"@apollo/client\";\n\nexport const GET_CONTACTS = gql`\n  query getContacts(\n      $orderBy: String\n      $orderDirection: String\n      $page: Int\n      $perPage: Int) {\n      contacts(\n        page: $page,\n        perPage: $perPage,\n        orderBy: $orderBy,\n        orderDirection: $orderDirection) {\n        contacts {\n          id\n          email,\n          login,\n          name,\n          phoneNumber,\n          isDestroyable,\n        }\n        totalCount\n      }\n    }\n`;\n\n\nexport const GET_LOCATIONS_OPTIONS_LIST = gql`\n  query getLocations(\n    $perPage: Int=3000,\n    $category: String=\"lease_properties\",\n    $query: String=\"\") {\n    locations(\n      category: $category,\n      perPage: $perPage,\n      query: $query) {\n      locations {\n        address,\n        areaFrom,\n        areaUnit,\n        id,\n      }\n    }\n  }\n`;\n\n\nexport const GET_LOCATIONS_XLS_TOKEN = gql`\n  query getLocationsXlsFileToken(\n    $perPage: Int,\n    $category: String,\n    $query: String,\n    $locationState: String,\n    $orderBy: String,\n    $showOnlyContactLocations: Boolean,\n    $orderDirection: String,\n    $page:  Int,\n    $xls: Boolean) {\n    locations(\n      category: $category,\n      perPage: $perPage,\n      query: $query,\n      locationState: $locationState,\n      orderBy: $orderBy,\n      showOnlyContactLocations: $showOnlyContactLocations,\n      orderDirection: $orderDirection,\n      page: $page\n      xls: $xls) {\n      xlsFileToken\n    }\n  }\n`;\n\n\nexport const GET_ORDERS_XLS_TOKEN = gql`\n  query getOrdersXlsFileToken(\n    $query: String,\n    $enquiryState: String,\n    $showOnlyContactOrders: Boolean,\n    $perPage: Int,\n    $orderBy: String,\n    $orderDirection: String,\n    $locationId: Int,\n    $page:  Int,\n    $xls: Boolean) {\n    orders(\n      query: $query,\n      enquiryState: $enquiryState,\n      showOnlyContactOrders: $showOnlyContactOrders,\n      perPage: $perPage,\n      orderBy: $orderBy,\n      locationId: $locationId,\n      orderDirection: $orderDirection,\n      page: $page\n      xls: $xls) {\n      xlsFileToken\n    }\n  }\n`;\n\n\nexport const GET_STATISTIC_FILE = gql`\n  query statisticFile(\n    $timeFrom: String!,\n    $timeTo: String!,\n    $kind: String,\n    $type: String,\n    ) {\n    statisticFile (\n      timeFrom: $timeFrom,\n      timeTo: $timeTo,\n      kind: $kind,\n      type: $type)\n      {\n        downloadFileToken\n    }\n  }\n`;\n\n\n\nexport const GET_LOCATIONS = gql`\n  query getLocations(\n      $perPage: Int=20,\n      $category: String=\"lease_properties\",\n      $query: String=\"\",\n      $locationState: String=\"\",\n      $orderBy: String=\"address_line_1\",\n      $showOnlyContactLocations: Boolean = false,\n      $orderDirection: String=\"asc\",\n      $page:  Int = 1) {\n    locations(\n      category: $category,\n      perPage: $perPage,\n      query: $query,\n      locationState: $locationState,\n      orderBy: $orderBy,\n      showOnlyContactLocations: $showOnlyContactLocations,\n      orderDirection: $orderDirection,\n      page: $page) {\n        locations {\n          address,\n          areaUnit,\n          avaliableEnquiryStates,\n          id,\n          infoMessage,\n          category,\n          kind,\n          kindTranslated,\n          areaFrom,\n          fullArea,\n          updatedAt,\n          primaryContactName,\n          photosCount,\n          floorPlansCount,\n          prospectusCount,\n          enquiriesCountInteger,\n          notesCount,\n          scoreInPercents,\n          section,\n          state,\n          stateInfo,\n          stateTranslated,\n          providersLocationPhotosUri,\n          providersLocationFloorPlansUri,\n          providersLocationProspectusUri,\n          updatedAtByProviderOnlyFormatted,\n        }\n        totalCount\n    }\n  }\n`;\n\n\nexport const GET_LOCATIONS_STATISTIC = gql`\n  query getLocationsStatistic {\n    locations {\n      address\n      avaliableEnquiryStates\n      id\n      kind\n      areaFrom\n      updatedAt\n      primaryContactName\n      photosCount\n      floorPlansCount\n      prospectusCount\n      enquiriesCountInteger\n      notesCount\n      scoreInPercents\n      state\n      providersLocationPhotosUri\n      providersLocationFloorPlansUri\n      providersLocationProspectusUri\n    }\n  }\n`;\n\n\nexport const GET_ORDERS = gql`\n  query getOrders($query: String,\n                  $enquiryState: String,\n                  $showOnlyContactOrders: Boolean = false,\n                  $perPage: Int=20,\n                  $orderBy: String=\"created_at\",\n                  $orderDirection: String=\"desc\",\n                  $locationId: Int=null\n                  $page:  Int = 1\n                  $xls: Boolean=false){\n     orders(query: $query,\n            enquiryState: $enquiryState,\n            showOnlyContactOrders: $showOnlyContactOrders,\n            perPage: $perPage,\n            orderBy: $orderBy,\n            locationId: $locationId,\n            orderDirection: $orderDirection,\n            page: $page\n            xls: $xls) {\n            orders {\n              id,\n              createdAtFormatted,\n              companyName,\n              personName,\n              phoneNumber,\n              email,\n              comment,\n              section,\n              userToken,\n              clientNotesCount,\n              orderContextTranslated,\n              orderContextMessage,\n              enquiries,\n              clientId,\n              clientOrOrderCompanyName,\n              clientOrOrderPersonName,\n              clientOrOrderPhone,\n              clientOrOrderEmail,\n             },\n           totalCount\n    }\n  }\n`;\n\n\nexport const GET_ORDER = gql`\n  query getOrder($id: ID!) {\n    order(id: $id) {\n      id,\n      createdAtFormatted,\n      companyName,\n      personName,\n      phoneNumber,\n      email,\n      comment,\n      section,\n      userToken,\n      clientNotesCount,\n      orderContextTranslated,\n      orderContextMessage,\n      enquiries,\n      clientId,\n      clientOrOrderCompanyName,\n      clientOrOrderPersonName,\n      clientOrOrderPhone,\n      clientOrOrderEmail,\n    },\n  }\n`;\n\n\nexport const GET_CLIENT_INFO = gql`\n  query getClientInfo($id: ID!){\n    order(id: $id) {\n      id,\n      createdAtFormatted,\n      companyName,\n      personName,\n      phoneNumber,\n      email,\n      comment,\n      userToken,\n      clientNotesCount,\n      enquiries\n    }\n  }\n`;\n\n\nexport const GET_CLIENT_ORDERS = gql`\n  query getClientOrders(\n    $clientId: ID!\n    $orderBy: String=\"created_at\"\n    $orderDirection: String=\"asc\"\n    $page: Int= 1\n    $perPage: Int=8){\n    clientOrders(\n      clientId: $clientId\n      page: $page,\n      perPage: $perPage,\n      orderBy: $orderBy,\n      orderDirection: $orderDirection) {\n      orders {\n        id,\n        createdAtFormatted,\n        locationAddress,\n        locationPath,\n        locationAreaFormatted,\n        locationYearlyRentPerM2FromFormatted,\n        locationKindTranslated\n      }\n      totalCount\n    }\n  }\n`;\n\n\nexport const GET_CLIENT_ENQUIRIES = gql`\n  query getClientEnquiries(\n    $clientId: ID!\n    $orderBy: String=\"created_at\"\n    $orderDirection: String=\"asc\"\n    $page: Int= 1\n    $perPage: Int=20) {\n    clientEnquiries(\n      page: $page,\n      perPage: $perPage,\n      orderBy: $orderBy,\n      orderDirection: $orderDirection\n      clientId: $clientId) {\n      orders {\n        id\n        createdAtFormatted\n        companyName\n        personName\n        phoneNumber\n        email\n        comment\n        section\n        userToken\n        clientNotesCount\n        orderContextTranslated\n        orderContextMessage\n        enquiries\n        clientId\n        clientOrOrderCompanyName\n        clientOrOrderPersonName\n        clientOrOrderPhone\n        clientOrOrderEmail\n        contextTranslated\n      }\n      totalCount\n    }\n  }\n`;\n\n\nexport const GET_PROVINCES = gql`\n  query getProvinces($countryAlpha2: String!){\n    province(countryAlpha2: $countryAlpha2) {\n      id,\n      name,\n    }\n  }\n`;\n\n\nexport const GET_POSTAL_DISTRICTS = gql`\n  query getPostalDistricts($provinceId: ID!){\n    postalDistrict(provinceId: $provinceId) {\n      id,\n      name,\n    }\n  }\n`;\n\n\nexport const GET_LOCATION_INFO = gql`\n  query getLocationInfo($id: ID!){\n    location(id: $id) {\n      address\n      annualElectricityCostWithCentsFrom\n      annualElectricityCostWithCentsTo\n      annualHeatingCostWithCentsFrom\n      annualHeatingCostWithCentsTo\n      annualOperationalCostWithCentsFrom\n      annualOperationalCostWithCentsTo\n      annualRentWithCentsFrom\n      annualRentWithCentsTo\n      annualTotalCostWithCentsFrom\n      annualTotalCostWithCentsTo\n      annualWaterCostWithCentsFrom\n      annualWaterCostWithCentsTo\n      areaFrom\n      areaTo\n      areaUnit\n      createdAt\n      currencyId\n      depositAndPrepaidRent\n      description\n      disposalPrice\n      energyRating\n      enquiries\n      enquiriesCountInteger\n      exemptedFromEnergyRating\n      explainLocationIncomplete\n      facilityIds\n      fixedAnnualOperationalCost\n      floorPlans { thumbnailW600 }\n      floorPlansCount\n      hourlyRentWithCentsFrom\n      hourlyRentWithCentsTo\n      id\n      infoMessage\n      initialState\n      isComplete\n      kind\n      latitude\n      locationShownDatapoints\n      locationUrl\n      longitude\n      monthlyRentPerSpaceWithCentsFrom\n      monthlyRentPerSpaceWithCentsTo\n      photos { thumbnailW600 }\n      photosCount\n      prospectus {\n        id\n        prospectusPath\n        createAssetPath\n      }\n      prospectusCount\n      salePrice\n      scoreInPercents\n      scoreItemsList\n      section\n      sectionTranslated\n      state\n      stateInfo\n      stateTranslated\n      vimeoId\n      virtualTour\n      workstationCostPerMonthFrom\n      workstationCostPerMonthTo\n      yearlyRentPerM2WithCentsFrom\n      yearlyRentPerM2WithCentsTo\n      yearlyElectricityCostPerM2WithCentsFrom\n      yearlyElectricityCostPerM2WithCentsTo\n      yearlyHeatingCostPerM2WithCentsFrom\n      yearlyHeatingCostPerM2WithCentsTo\n      yearlyOperationalCostPerM2WithCentsFrom\n      yearlyOperationalCostPerM2WithCentsTo\n      yearlyRentalIncome\n      yearlyWaterCostPerM2WithCentsFrom\n      yearlyWaterCostPerM2WithCentsTo\n    }\n  }\n`;\n\n\nexport const GET_LOCATION_VISUALS = gql`\n  query getLocationVisuals($id: ID!){\n    location(id: $id) {\n      id\n      address\n      floorPlans {\n        id\n        thumbnailW120\n      }\n      photos {\n        id\n        thumbnailW120\n      }\n      prospectus {\n        id\n        prospectusPath\n        createAssetPath\n        #         thumbnailW120\n      }\n      prospectusCount\n      providerWebsiteLink\n      vimeoId\n      virtualTour\n    }\n  }\n`;\n\n\nexport const GET_EXTRA_LEAD_PREVIEW = gql`\n  query getLocation($id: ID!){\n    location(id: $id) {\n      address\n      areaFrom\n      areaTo\n      areaUnit\n      annualRentWithCentsFrom\n      annualRentWithCentsTo\n      annualOperationalCostWithCentsFrom\n      annualOperationalCostWithCentsTo\n      currencyId\n      id\n      locationUrl\n      photos {\n        id\n        thumbnailW120\n        thumbnailW400\n      }\n      title\n    }\n  }\n`;\n\n\nexport const GET_LOCATION_VALUES = gql`\n  query getLocationValues($id: ID!){\n    location(id: $id) {\n      id\n      addressLine1\n      addressLine2\n      amountOfSpacesFrom\n      amountOfSpacesTo\n      annualElectricityCostWithCentsFrom\n      annualElectricityCostWithCentsTo\n      annualHeatingCostWithCentsFrom\n      annualHeatingCostWithCentsTo\n      annualOperationalCostWithCentsFrom\n      annualOperationalCostWithCentsTo\n      annualRentWithCentsFrom\n      annualRentWithCentsTo\n      annualTotalCostWithCentsFrom\n      annualTotalCostWithCentsTo\n      annualWaterCostWithCentsFrom\n      annualWaterCostWithCentsTo\n      anonymous\n      areaFrom\n      areaTo\n      auctionNumber\n      combinedLocationsAttributes {\n        area\n        id\n        kind\n        locationId\n        yearlyPricePerM2\n      }\n      countryAlpha2\n      currencyId\n      dateOfAuction\n      depositAndPrepaidRent\n      description\n      disposalPrice\n      employeesCountFrom\n      employeesCountTo\n      employeesCountVisible\n      enableCombinedLocations\n      energyRating\n      exemptedFromEnergyRating\n      energyCertificateLevelsObject\n      existingPrimaryContact { id }\n      facilityIds\n      fixedAnnualOperationalCost\n      hasEnergyCertificateLevels\n      hourlyRentWithCentsFrom\n      hourlyRentWithCentsTo\n      internalIdentifier\n      isBuilt\n      isRentIncludeOperationalCost\n      kind\n      latitude\n      longitude\n      lotArea\n      monthlyRentPerSpaceWithCentsFrom\n      monthlyRentPerSpaceWithCentsTo\n      ownerId\n      parkingType\n      postalCode\n      postalDistrictId\n      providerWebsiteLink\n      provinceId\n      returnRate\n      salePrice\n      secondaryKinds\n      section\n      subscriberContactIds\n      suitableForKinds\n      title\n      vimeoId\n      virtualTour\n      workstationCostPerMonthFrom\n      workstationCostPerMonthTo\n      workstationsCountFrom\n      workstationsCountTo\n      yearBuilt\n      yearlyElectricityCostPerM2Visible\n      yearlyElectricityCostPerM2WithCentsFrom\n      yearlyElectricityCostPerM2WithCentsTo\n      yearlyHeatingCostPerM2Visible\n      yearlyHeatingCostPerM2WithCentsFrom\n      yearlyHeatingCostPerM2WithCentsTo\n      yearlyOperationalCostPerM2Visible\n      yearlyOperationalCostPerM2WithCentsFrom\n      yearlyOperationalCostPerM2WithCentsTo\n      yearlyRentPerM2AmountFlexible\n      yearlyRentPerM2WithCentsFrom\n      yearlyRentPerM2WithCentsTo\n      yearlyRentalIncome\n      yearlyWaterCostPerM2Visible\n      yearlyWaterCostPerM2WithCentsFrom\n      yearlyWaterCostPerM2WithCentsTo\n    }\n  }\n`;\n\n\nexport const ADD_NEW_CONTACT = gql`\n  mutation addContact($input: AddContactMutationInput!) {\n    addContact(input: $input) {\n      contact {\n        name,\n        email,\n        phoneNumber,\n      }\n      errors\n    }\n   }\n`;\n\n\nexport const UPDATE_CONTACT = gql`\n  mutation updateContact($input: UpdateContactMutationInput!) {\n    updateContact(input: $input) {\n      contact {\n        name,\n        email,\n        phoneNumber,\n      }\n      errors\n    }\n   }\n`;\n\n\nexport const GET_DELETED_CONTACTS = gql`\n  query getDeleteContact(\n    $orderBy: String=\"name\"\n    $orderDirection: String=\"asc\"\n    $page: Int= 1\n    $perPage: Int=20\n    $onlyDeleted: Boolean!) {\n    contacts(\n      orderBy: $orderBy,\n      orderDirection: $orderDirection,\n      page: $page,\n      perPage: $perPage\n      onlyDeleted: $onlyDeleted) {\n      contacts {\n        id,\n        name,\n        email,\n        phoneNumber\n      }\n      totalCount\n    }\n  }\n`;\n\n\nexport const ACTIVATE_DELETED_CONTACT = gql`\n  mutation recoverContact($input: RecoverContactMutationInput!) {\n    recoverContact(input: $input) {\n      contact {\n        id,\n        name,\n        email\n      }\n    }\n  }\n`;\n\n\nexport const HIDE_DELETED_CONTACT = gql`\n  mutation hideDeletedContact($input: HideDeletedContactMutationInput!) {\n    hideDeletedContact(input: $input) {\n      contact {\n        id\n      }\n    }\n  }\n`;\n\n\n\nexport const UPDATE_PROVIDER = gql`\n  mutation updateProvider($input: UpdateProviderMutationInput!) {\n    updateProvider(input: $input) {\n      provider {\n        city,\n        companyName,\n        phoneNumber,\n      }\n    }\n  }\n`;\n\n\n\nexport const GET_PROVIDER = gql`\n  query getProvider($id: ID!){\n    provider(id: $id) {\n      id,\n      logoUrl,\n      companyName,\n      vatId,\n      ean,\n      phoneNumber,\n      city,\n      line1,\n      postalCode,\n      line2,\n      isMailSubjectIncludeInternalIdentifier,\n      smsOrderNotification,\n      emailsLocale,\n      interfaceLocale,\n      countryAlpha2,\n      invoicingEmail\n    }\n  }\n`;\n\nexport const UPDATE_CLIENT_INFO = gql`\n  mutation updateClientData($input: UpdateClientDataMutationInput!) {\n    updateClientData(input: $input) {\n      clientData {\n        personName,\n        email,\n        phoneNumber,\n        companyName,\n      }\n    }\n  }\n`;\n\nexport const GET_CLIENT_NOTES = gql`\n query clientNotes($clientId: ID!){\n    clientNotes(clientId: $clientId) {\n      id,\n      note,\n      createdAtFormatted,\n      authorId,\n      noteableId,\n      author {\n        name\n      }\n    }\n  }\n`;\n\nexport const GET_LOCATION_NOTES = gql`\n query locationNotes($locationId: ID!){\n    locationNotes(locationId: $locationId) {\n      id,\n      note,\n      createdAtFormatted,\n      authorId,\n      noteableId,\n      author {\n        name\n      }\n    }\n  }\n`;\n\nexport const ADD_CLIENT_NOTE = gql`\n  mutation addClientNote($input: AddClientNoteMutationInput!) {\n    addClientNote(input: $input) {\n      clientNote {\n        note\n      }\n    }\n  }\n`;\n\n\nexport const ADD_LOCATION_NOTE = gql`\n  mutation addLocationNote($input: AddLocationNoteMutationInput!) {\n    addLocationNote(input: $input) {\n      locationNote {\n        note\n      }\n    }\n  }\n`;\n\nexport const UPDATE_CLIENT_NOTE = gql`\n  mutation updateClientNote($input: UpdateClientNoteMutationInput!) {\n    updateClientNote(input: $input) {\n      clientNote {\n        id,\n        note\n      }\n    }\n  }\n`;\n\n\nexport const DELETE_CLIENT_NOTE = gql`\n  mutation deleteClientNote($input: DeleteClientNoteMutationInput!) {\n    deleteClientNote(input: $input) {\n        id,\n        error\n      }\n    }\n`;\n\n\nexport const GET_STATISTICS = gql`\n  query getStatistics($timeFrom: String!, $timeTo: String!, $kind: String = null, $page: Int = 1, $perPage: Int = 10, $query: String=\"\"){\n    statistic(timeFrom: $timeFrom, timeTo: $timeTo, kind: $kind, page: $page, perPage: $perPage, query: $query) {\n      statisticData {\n        countClientEnquiries\n        countExtraEnquiries\n        countProviderMessages\n        countShowcaseOrders\n        createdAt\n        daysInPeriod\n        locationAddress\n        locationAreaFrom\n        locationFullArea\n        locationAreaUnit\n        locationCountDaysActive\n        locationEventsContactDetailsShownCount\n        locationEventsProviderAdvertsShownCount\n        locationEventsShownCount\n        locationKind\n        locationState\n        locationId\n        locationShownDatapoints\n        locationYearlyRentPerM2\n        showContactDetailsInFrontend\n        currencyId\n      },\n      statisticRowsCount\n    }\n  }\n`;\n\n\nexport const GET_LOCATION_STATISTICS = gql`\n  query getLocationStatistics($timeFrom: String!, $timeTo: String!, $id: ID!){\n    statisticForLocation(timeFrom: $timeFrom, timeTo: $timeTo, id: $id) {\n        countClientEnquiries,\n        countClientEnquiriesPerWeek,\n        countExtraEnquiries,\n        countExtraEnquiriesPerWeek,\n        countProviderMessages,\n        countShowcaseOrders,\n        locationEventsContactDetailsShownCount,\n        locationEventsProviderAdvertsShownCount,\n        locationEventsShownCount,\n        locationEventsShownCountPerWeek,\n    }\n  }\n`;\n\n\nexport const GET_STATISTICS_TOTAL = gql`\n  query getStatisticsTotal($timeFrom: String!, $timeTo: String!, $kind: String = null, $page: Int = 1, $perPage: Int = 20, $query: String=\"\"){\n    statisticTotal(timeFrom: $timeFrom, timeTo: $timeTo, kind: $kind, page: $page, perPage: $perPage, query: $query) {\n        countClientEnquiries\n        countExtraEnquiries\n        countProviderMessages\n        countShowcaseOrders\n        locationEventsContactDetailsShownCount\n        locationEventsProviderAdvertsShownCount\n        locationEventsShownCount\n    }\n  }\n`;\n\n\nexport const GET_CONTACT_INFO = gql`\n  query contact($id: ID!) {\n      contact(id: $id) {\n        name,\n        email,\n        phoneNumber,\n        photoUrl,\n        isDestroyable,\n      }\n    }\n`;\n\n\nexport const GET_LOCATIONS_REPORT_DEAL = gql`\n  query getLocations(\n      $query: String=\"\",\n      $category: String=\"lease_properties\",\n      $locationState: String=\"\",\n      $perPage: Int!\n      $page: Int!\n      $orderBy: String=\"address_line_1\") {\n    locations(\n      query: $query,\n      category: $category,\n      locationState: $locationState,\n      perPage: $perPage,\n      page: $page,\n      orderBy: $orderBy) {\n        locations {\n          id,\n          addressLine1,\n          addressLine2,\n          address,\n          areaUnit,\n          areaFrom,\n          areaTo,\n          internalIdentifier,\n          kind,\n          kindTranslated,\n          oldFullAddress,\n          postalCode,\n          state,\n          stateTranslated,\n        }\n        totalCount\n    }\n  }\n`;\n\n\nexport const GET_LOCATION_REPORT_DEAL = gql`\n  query getLocation($id: ID!){\n    location(id: $id) {\n      id,\n      addressLine1,\n      addressLine2,\n      address,\n      areaUnit,\n      postalCode,\n      kind,\n      kindTranslated,\n      areaFrom,\n      areaTo,\n      state,\n      stateTranslated,\n      oldFullAddress,\n    }\n  }\n`;\n\n\nexport const GET_CURRENCY = gql`\n  query getCurrency($locationId: ID) {\n    currencies(locationId: $locationId) {\n      id,\n      name\n    }\n  }\n`;\n\n\nexport const GET_ORDERS_REPORT_DEAL = gql`\n  query getOrdersReportDeal($query: String, $perPage: Int!, $page: Int!) {\n    orders(query: $query, showOnlySent: false, showOnlyUniqClients: true, enquiryState: \"all\", orderBy: \"created_at\", orderDirection: \"desc\", page: $page, perPage: $perPage) {\n      orders{\n        id,\n        companyName\n        personName,\n        email,\n        clientId\n      }\n      totalCount\n    }\n  }\n`;\n\n\nexport const GET_CONTACT_LOCATIONS = gql`\n  query getContactLocations($orderDirection: String = \"asc\", $orderBy: String=\"address_line_1\") {\n   contactLocations(orderDirection: $orderDirection, orderBy: $orderBy) {\n    location {\n        id,\n        address\n      },\n      roleTranslated\n    }\n  }\n`;\n\n\nexport const GET_TOKENIZED_FILE = gql`\n  query tokenizedFile($token: String!) {\n    tokenizedFile(token: $token) {\n      file\n      fileUrl\n    }\n  }\n`;\n\n\nexport const GET_EXTRA_LEAD_LOCATION_ID = gql`\n  query getOrder($id: ID!) {\n    order(id: $id) {\n      location { id }\n    }\n  }\n`;\n\n\nexport const GET_LOCATION_COPY_JOB = gql`\n  query locationCopyJob($id: ID!) {\n    locationCopyJob(id: $id) {\n      duplicateLocationId\n      state\n    }\n  }\n`;\n\n\nexport const GET_UNRESOLVED_PROVIDER_DEALS = gql`\n  query getUnresolvedProviderDeals {\n    unresolvedProviderDeals {\n      address\n      clientEmail\n      clientId\n      companyName\n      createdAtFormatted\n      id\n      locationId\n      personName\n      phoneNumber\n      orderId\n    }\n  }\n`;\n\n\nexport const GET_SERVER_SIDE_SESSIONS = gql`\n  query getServerSideSessions {\n    serverSideSessions {\n      browserName\n      city\n      country\n      createdAt\n      data\n      id\n      isCurrent\n      osName\n      osVersion\n      remoteIp\n      updatedAt\n    }\n  }\n`;\n\n\nexport const GET_STRIPE_INVOICES = gql`\n  query getStripeInvoices {\n    stripeInvoices {\n      amountInCents\n      currency { name }\n      description\n      id\n      invoiceFile\n      invoiceFileUploadedIn\n      invoicePdfShowPath\n      status\n    }\n  }\n`;\n\n\nexport const GET_STRIPE_INTENT = gql`\n  query getStripeIntent($id: ID!) {\n    stripeIntent(id: $id) {\n      clientSecret\n      stripeInvoice {\n        amountInCents\n        currency { name }\n      }\n    }\n  }\n`;\n\n\nexport const GENERATE_LOCATION_DESCRIPTION = gql`\n  query generateLocationDescription($locationId: ID!, $locale: String!){\n    locationChatGptDescription(locationId: $locationId, locale: $locale) {\n      id,\n      text,\n    }\n  }\n`;\n\n\nexport const GENERATE_LOCATION_TITLE = gql`\n  query generateLocationTitle($locationId: ID!, $locale: String!){\n    locationChatGptTitle(locationId: $locationId, locale: $locale) {\n      id,\n      text,\n    }\n  }\n`;\n\n\n\nexport const GENERATE_NEW_LOCATION_DESCRIPTION = gql`\n  query generateNewLocationDescription($attributes: LocationAttributes!, $locale: String!){\n    newLocationChatGptDescription(attributes: $attributes, locale: $locale) {\n      id, text\n    }\n  }\n`;\n\n\nexport const GENERATE_NEW_LOCATION_TITLE = gql`\n  query generateNewLocationTitle($attributes: LocationAttributes!, $locale: String!){\n    newLocationChatGptTitle(attributes: $attributes, locale: $locale) {\n      id, text\n    }\n  }\n`;\n\n","import React from 'react';\n\nimport AnonymousBannerImg from '../../../src/images/provider/anonymous-banner.svg';\n\nimport './AnonymousBanner.sass';\n\n\nconst AnonymousBanner = () => {\n\n  return (\n    <div className=\"anonymous-banner\">\n      <img src={AnonymousBannerImg} alt=\"anonymous\" height={78} width={139} />\n      <div className=\"anonymous-banner__content\">\n        <div className=\"anonymous-banner__headline\">\n          { I18n.t('layouts.providers.navigation.anonymous') }\n        </div>\n        <p>{ I18n.t('views.providers.locations.anonymous.on_deal_notification') }</p>\n      </div>\n    </div>\n  )\n}\n\nexport default AnonymousBanner;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useParams } from 'react-router-dom';\nimport { useMutation, useQuery } from '@apollo/client';\nimport { LatestOrdersColumns } from '../Table/Columns';\nimport {GET_CLIENT_ORDERS, GET_CLIENT_ENQUIRIES, UPDATE_CLIENT_INFO } from '../ApolloClient/queries';\nimport ContactInfoForm from './ContactInfoForm';\nimport Notes from './Notes';\nimport Table from '../Table';\nimport ClientsTable from '../Clients/ClientsTable';\nimport InfoMessagePopup from '../Popups/InfoMessagePopup';\nimport Page404 from '../Errors/Page404';\n\nimport './ClientInfo.sass';\n\n\nfunction ClientInfo({ currentLocale, isNumber, locale, resourceNotFoundError }) {\n\n  const { id: currentId } = useParams();\n\n  const [clientInfo, setClientInfo] = useState([]);\n  const [clientOrders, setClientOrders] = useState([]);\n  const [totalCount, setTotalCount] = useState(0);\n  const [initialLoad, setInitialLoad] = useState(true);\n  const [showClientInfoLoading, setShowClientInfoLoading] = useState(null);\n  const [infoPopUp, setInfoPopUp] = useState({\n    infoPopupMessage: '',\n    infoMessagePopupIsOpen: false,\n    infoPopupMessageError: null,\n  });\n\n  const [filters, setFilters] = useState({\n    page: 1,\n    perPage: 4,\n    orderDirection: 'desc',\n    orderBy: 'created_at',\n    clientId: Number(currentId),\n  });\n\n  const perPageOptions = [\n    { value: '4', label: '4' },\n    { value: '8', label: '8' },\n  ];\n\n  const { page, perPage, orderDirection, orderBy } = filters;\n\n  const {\n    loading: clientInfoLoading,\n    error,\n    data: dataClientInfo,\n    refetch: refetchClientInfo\n  } = useQuery(GET_CLIENT_ENQUIRIES, {variables: { clientId: Number(currentId) }, errorPolicy: \"all\"});\n\n  const { data: dataClientOrders, loading: clientOrdersLoading } = useQuery(GET_CLIENT_ORDERS, {variables: filters});\n\n  const [updateContact] = useMutation(UPDATE_CLIENT_INFO);\n\n\n  useEffect(() => {\n    if (error) return;\n\n    if (dataClientOrders) {\n      setClientOrders(dataClientOrders.clientOrders.orders);\n      setTotalCount(dataClientOrders.clientOrders.totalCount);\n    }\n\n    if (dataClientInfo) {\n      setInitialLoad(false);\n      setClientInfo(dataClientInfo.clientEnquiries.orders);\n    }\n  }, [dataClientOrders, dataClientInfo, error]);\n\n\n  const handleFilters = (newFilters) => {\n    setFilters((prevFilters) => ({\n      ...prevFilters,\n      ...newFilters,\n    }));\n  };\n\n\n  const updateContactInfo = (values) => {\n    const { companyName, name, email, phoneNumber } = values;\n    const input = {\n      id: Number(currentId),\n      personName: name,\n      companyName,\n      email,\n      phoneNumber,\n    };\n\n    updateContact({\n      variables: { input },\n      refetchQueries: ['getClientEnquiries'],\n      onCompleted: () => {\n        setInfoPopUp({\n          infoPopupMessage: I18n.t('providers.contacts.edit.information_updated'),\n          infoMessagePopupIsOpen: true,\n        });\n      },\n      onError: () => {\n        setInfoPopUp({\n          infoPopupMessage: 'Some network error happened',\n          infoMessagePopupIsOpen: true,\n          infoPopupMessageError: true,\n        });\n      },\n    });\n  };\n\n\n  const setOrderBy = (field) => {\n    const newOrderDirection =\n      field === orderBy && orderDirection === 'asc' ? 'desc' : 'asc';\n\n    handleFilters({ orderBy: field, orderDirection: newOrderDirection });\n  };\n\n\n  const columns = LatestOrdersColumns(\n    clientOrders,\n    setOrderBy,\n    orderDirection,\n    orderBy\n  );\n\n\n  const clientOrOrderEmail = clientInfo.length\n    ? clientInfo[0].clientOrOrderEmail\n    : '';\n\n\n  const closeInfoMessagePopup = () => {\n    setInfoPopUp({ infoMessagePopupIsOpen: false });\n  };\n\n\n  if (resourceNotFoundError(error) || !isNumber(currentId)) return <Page404 currentLocale={currentLocale} />;\n\n\n  const hiddenColumns = [\n    'clientOrOrderCompanyName',\n    'clientOrOrderPersonName',\n    'clientOrOrderPhone',\n    'clientOrOrderEmail',\n    'clientNotesCount',\n    'orderContextTranslated',\n  ];\n\n  const loading = showClientInfoLoading && clientInfoLoading;\n\n  return (\n    <div className=\"clients-info\">\n      <InfoMessagePopup\n        handleClose={closeInfoMessagePopup}\n        message={infoPopUp.infoPopupMessage}\n        customClass={infoPopUp.infoPopupMessageError ? 'error' : null}\n        visible={infoPopUp.infoMessagePopupIsOpen}\n      />\n\n      <p className=\"clients-info__main-title\">\n        {I18n.t('providers.clients.show.header', {client: clientOrOrderEmail})}{' '}\n      </p>\n      <p>\n        {I18n.t('providers.clients.show.info', { email: clientOrOrderEmail })}:\n      </p>\n\n      <h3 className=\"clients-info__enquiries-title\">\n        {I18n.t('reports.providers_order_report.enquiries')}\n      </h3>\n\n      <ClientsTable\n        hiddenColumnsList={hiddenColumns}\n        currentLocale={currentLocale}\n        initialLoad={initialLoad}\n        loading={loading}\n        locale={locale}\n        orders={clientInfo}\n        perPage={perPage}\n        refetchOrders={refetchClientInfo}\n        setShowLoading={setShowClientInfoLoading}\n        setOrders={setClientInfo}\n        disableSortBy\n        hideBottomFilters\n        noPagination\n      />\n\n      <p className=\"clients-info__main-title\">\n        {I18n.t('provider.clients.client_orders.title')}\n      </p>\n\n      <Table\n        data={clientOrders}\n        columns={columns}\n        footerLoading={clientOrdersLoading}\n        loading={clientOrdersLoading}\n        perPage={perPage}\n        setPage={(page) => handleFilters({ page })}\n        setPerPage={(perPage) => handleFilters({ perPage, page: 1 })}\n        currentPage={page}\n        totalCount={totalCount}\n        perPageOptions={perPageOptions}\n        showFooter\n        noScrollToTop\n      />\n\n      <div className=\"clients-info__form-wrapper\">\n        <p className=\"clients-info__main-title\">\n          {I18n.t('providers.clients.show.contact_info')}\n        </p>\n\n        <ContactInfoForm\n          contactInfo={clientInfo[0]}\n          updateContactInfo={updateContactInfo}\n        />\n      </div>\n\n      <Notes currentId={currentId} orderNotes />\n    </div>\n  );\n}\n\nClientInfo.propTypes = {\n  locale: PropTypes.string,\n};\n\nClientInfo.defaultProps = {\n  locale: '',\n};\n\nexport default ClientInfo;\n","import React from 'react';\nimport { withFormik } from 'formik';\nimport PropTypes from 'prop-types';\nimport Yup from 'yup';\n\nimport {\n  phoneValidation,\n  nameValidation,\n  emailValidation,\n  companyValidation,\n} from '../../SharedComponents/Forms/ValidationSchemaPattern';\nimport Input from '../../SharedComponents/Forms/Input';\n\nfunction ContactInfoFormWrapper({\n  handleSubmit,\n  values,\n  handleChange,\n  touched,\n  handleBlur,\n  errors,\n}) {\n  return (\n    <div className=\"create-new contact\">\n      <form\n        name=\"createNewContact\"\n        className=\"new-contact-form\"\n        onSubmit={handleSubmit}\n        noValidate\n      >\n        <div className=\"row\">\n          <div className=\"col-md-3\">\n            <Input\n              name=\"companyName\"\n              value={values.companyName}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('generic.company_name')}\n              error={\n                (touched.companyName && errors.companyName) ||\n                errors.companyName\n              }\n              required\n            />\n          </div>\n          <div className=\"col-md-3\">\n            <Input\n              name=\"name\"\n              value={values.name}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('generic.name')}\n              error={touched.name && errors.name}\n              required\n            />\n          </div>\n        </div>\n        <div className=\"row\">\n          <div className=\"col-md-3\">\n            <Input\n              name=\"email\"\n              value={values.email}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('generic.email')}\n              error={touched.email && errors.email}\n              required\n            />\n          </div>\n          <div className=\"col-md-3\">\n            <Input\n              name=\"phoneNumber\"\n              value={values.phoneNumber}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('signup.new_form.register.phone_number.placeholder')}\n              error={touched.phoneNumber && errors.phoneNumber}\n              required\n            />\n          </div>\n        </div>\n\n        <div className=\"client-info\">\n          <button type=\"submit\" className=\"clients-info__save-button\">\n            {I18n.t('generic.save')}\n          </button>\n        </div>\n      </form>\n    </div>\n  );\n}\n\nconst ContactInfoForm = withFormik({\n  enableReinitialize: true,\n  mapPropsToValues: ({ contactInfo }) => ({\n    companyName: contactInfo ? contactInfo.clientOrOrderCompanyName : '',\n    name: contactInfo ? contactInfo.clientOrOrderPersonName : '',\n    email: contactInfo ? contactInfo.clientOrOrderEmail : '',\n    phoneNumber: contactInfo ? contactInfo.clientOrOrderPhone : '',\n  }),\n  validationSchema: Yup.object().shape({\n    companyName: companyValidation,\n    name: nameValidation,\n    email: emailValidation,\n    phoneNumber: phoneValidation,\n  }),\n\n  handleSubmit: (values, bag) => {\n    bag.props.updateContactInfo(values);\n  },\n\n  displayName: 'ContactInfoForm',\n})(ContactInfoFormWrapper);\n\nContactInfoFormWrapper.propTypes = {\n  handleSubmit: PropTypes.func,\n  values: PropTypes.oneOfType([PropTypes.object]),\n  handleChange: PropTypes.func,\n  touched: PropTypes.bool,\n  handleBlur: PropTypes.func,\n  errors: PropTypes.oneOfType([PropTypes.array]),\n};\n\nContactInfoFormWrapper.defaultProps = {\n  handleSubmit: () => true,\n  values: {},\n  handleChange: () => true,\n  touched: false,\n  handleBlur: () => true,\n  errors: [],\n};\n\nexport default ContactInfoForm;\n","import React, { useEffect, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { useMutation, useQuery } from '@apollo/client';\nimport { SvgIco } from \"../../../SharedComponents/Icons\";\nimport {\n  ADD_CLIENT_NOTE,\n  ADD_LOCATION_NOTE,\n  GET_CLIENT_NOTES,\n  GET_LOCATION_NOTES,\n  UPDATE_CLIENT_NOTE,\n} from '../../ApolloClient/queries';\nimport DeleteNoteModal from '../../Modals/DeleteNoteModal';\n\nimport './index.sass';\n\nfunction Notes({ currentId, modal, orderNotes }) {\n  const notesWrapperRef = useRef();\n\n  const [note, setNotes] = useState('');\n  const [editNoteId, setEditNoteId] = useState('');\n  const [deleteNoteId, setDeleteNoteId] = useState(null);\n  const [clientNotes, setClientNotes] = useState([]);\n  const [deleteModalIsOpen, setDeleteModalIsOpen] = useState(false);\n\n  const { data: notes } = orderNotes\n    ? useQuery(GET_CLIENT_NOTES, { variables: { clientId: Number(currentId) } })\n    : useQuery(GET_LOCATION_NOTES, {\n        variables: { locationId: Number(currentId) },\n      });\n  const [addNote] = orderNotes\n    ? useMutation(ADD_CLIENT_NOTE)\n    : useMutation(ADD_LOCATION_NOTE);\n\n  const [updateClientNote] = useMutation(UPDATE_CLIENT_NOTE);\n\n  useEffect(() => {\n    if (notes) {\n      const checkNotes = orderNotes ? 'clientNotes' : 'locationNotes';\n      setClientNotes(notes[checkNotes]);\n    }\n  }, [notes]);\n\n  const noteSubmit = () => {\n    const updateNotesAfterRefetch = orderNotes\n      ? ['clientNotes', 'getOrders']\n      : ['locationNotes', 'getLocations'];\n    const updateAfterEditNote = orderNotes\n      ? ['clientNotes']\n      : ['locationNotes'];\n    const input = orderNotes\n      ? { clientId: Number(currentId), note }\n      : { locationId: Number(currentId), note };\n    const updateInput = { id: parseInt(editNoteId), note };\n\n    editNoteId\n      ? updateClientNote({\n          variables: { input: updateInput },\n          refetchQueries: updateAfterEditNote,\n          onCompleted: () => {\n            setNotes('');\n            setEditNoteId('');\n          },\n        })\n      : addNote({\n          variables: { input },\n          refetchQueries: updateNotesAfterRefetch,\n          onCompleted: () => {\n            setNotes('');\n          },\n        });\n  };\n\n  const scrollToTextarea = () => {\n    const notesWrapper = notesWrapperRef.current;\n\n    if (modal) {\n      notesWrapper.scrollTop = 0;\n    } else {\n      const targetTop = notesWrapper.getBoundingClientRect().top;\n      const targetCoords = Math.floor(targetTop + window.scrollY - 24);\n\n      window.scroll(0, targetCoords);\n    }\n  };\n\n  const updateNote = (id, note) => {\n    setNotes(note);\n    setEditNoteId(id);\n    scrollToTextarea();\n  };\n\n  const closeDeleteModal = () => {\n    setNotes('');\n    setEditNoteId('');\n    setDeleteModalIsOpen(false);\n  };\n\n  const openDeleteModal = (id) => {\n    setDeleteNoteId(id);\n    setDeleteModalIsOpen(true);\n  };\n\n  return (\n    <div className=\"notes-wrapper\" ref={notesWrapperRef}>\n      <DeleteNoteModal\n        handleClose={closeDeleteModal}\n        noteId={deleteNoteId}\n        refetchQueries={\n          orderNotes\n            ? ['clientNotes', 'getOrders']\n            : ['locationNotes', 'getLocations']\n        }\n        showModal={deleteModalIsOpen}\n      />\n\n      <p className=\"notes-wrapper__main-title\">\n        {I18n.t('providers.notes.list.title')}\n      </p>\n\n      <div className=\"row\">\n        <div className={`${modal ? 'col-md-12' : 'col-md-6'}`}>\n          <textarea\n            name=\"text\"\n            placeholder={I18n.t('providers.notes.list.add_notes_placeholder')}\n            value={note}\n            onChange={(e) => setNotes(e.target.value)}\n          />\n\n          <div>\n            <button\n              type=\"button\"\n              onClick={noteSubmit}\n              className=\"notes-wrapper__add-notes-button\"\n            >\n              {editNoteId\n                ? I18n.t('generic.update_button')\n                : I18n.t('providers.notes.new.add_new_note')}\n            </button>\n          </div>\n\n          {clientNotes.map((noteItem) => {\n            const { id, author, note, createdAtFormatted } = noteItem;\n\n            return (\n              <div className=\"notes-wrapper__notes\" key={id}>\n                <div className=\"notes-edit-block\">\n                  <div className=\"notes-author\">{author.name}</div>\n                  <div>\n                    <SvgIco\n                      className=\"edit\"\n                      name=\"edit\"\n                      onClick={() => updateNote(id, note)}\n                      size={24}\n                    />\n                    &nbsp;{' '}\n                    <SvgIco\n                      className=\"delete\"\n                      name=\"delete_outline\"\n                      onClick={() => openDeleteModal(id)}\n                      size={24}\n                    />\n                  </div>\n                </div>\n                <p className=\"notes-text\">{note}</p>\n                <div className=\"notes-date\">{createdAtFormatted}</div>\n              </div>\n            );\n          })}\n        </div>\n      </div>\n    </div>\n  );\n}\n\nNotes.propTypes = {\n  currentId: PropTypes.string,\n  modal: PropTypes.bool,\n  orderNotes: PropTypes.oneOfType([PropTypes.array]),\n};\n\nNotes.defaultProps = {\n  currentId: '',\n  modal: false,\n  orderNotes: [],\n};\n\nexport default Notes;\n","import React, { Fragment } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport ReactTooltip from \"react-tooltip\";\n\nimport NotesImg from \"../../../src/images/provider/note.svg\";\nimport Loader from \"../../SharedComponents/Loader\";\nimport { TableFilterHeader, InfoIconTooltip, CellDropdown, handleHorizontalScroll } from '../Table/Columns';\n\n\nexport const ClientsColumns = (data,\n                               activeFilter,\n                               orderDirection,\n                               stateChangeLoadingId,\n                               setOrderBy,\n                               currentLocale,\n                               openNotesModal,\n                               openExtraLeadModal,\n                               handleEnquiryStatus) => React.useMemo(\n    () =>\n      [\n        //===========================================================================>\n\n        { Header: <TableFilterHeader\n                    headline={I18n.t(\"reports.providers_order_report.created_at\")}\n                    orderDirection={orderDirection}\n                    handleOrderBy={() => setOrderBy && setOrderBy('created_at')}\n                    isActive={activeFilter === 'created_at'} />,\n\n          accessor: 'createdAtFormatted',\n\n          Cell: data =>\n            <Link to={`${currentLocale}/new_providers/clients/${data.cell.row.original.clientId}`}>\n              { data.value }\n            </Link>,\n        },\n\n        //===========================================================================>\n\n        { Header: I18n.t(\"providers.clients.show.contact_info\"),\n\n          accessor: 'contactInfo',\n\n          Cell: ({ data }) => {\n            const { clientOrOrderCompanyName, clientOrOrderPersonName, clientOrOrderEmail, clientOrOrderPhone } = data[0];\n\n            return (\n              <div>\n                <p  className=\"client-info-text\">\n                  { clientOrOrderCompanyName }<br />\n                  { clientOrOrderPersonName }<br />\n                  <a href={`mailto: ${clientOrOrderEmail}`}>{clientOrOrderEmail}</a><br />\n                  { clientOrOrderPhone }\n                </p>\n              </div>\n            )\n          }\n        },\n\n        //===========================================================================>\n\n        { Header: <TableFilterHeader\n                    headline={I18n.t('generic.company_name')}\n                    orderDirection={orderDirection}\n                    handleOrderBy={() => setOrderBy && setOrderBy('company_name')}\n                    isActive={activeFilter === 'company_name'} />,\n\n          accessor: 'clientOrOrderCompanyName',\n\n          Cell: data =>\n            <Link to={`${currentLocale}/new_providers/clients/${data.cell.row.original.clientId}`}>\n              { data.value }\n            </Link>,\n        },\n\n        //===========================================================================>\n\n        { Header: <TableFilterHeader\n                    headline={I18n.t('generic.name')}\n                    orderDirection={orderDirection}\n                    handleOrderBy={() => setOrderBy && setOrderBy('person_name')}\n                    isActive={activeFilter === 'person_name'} />,\n\n          accessor: 'clientOrOrderPersonName',\n\n          Cell: data =>\n            <Link to={`${currentLocale}/new_providers/clients/${data.cell.row.original.clientId}`}>\n              { data.value }\n            </Link>,\n        },\n\n        //===========================================================================>\n\n        { Header: <TableFilterHeader\n                    headline={I18n.t('generic.phone')}\n                    orderDirection={orderDirection}\n                    handleOrderBy={() => setOrderBy && setOrderBy('phone_number')}\n                    isActive={activeFilter === 'phone_number'} />,\n\n          accessor: 'clientOrOrderPhone',\n\n          Cell: data => <a href={`tel://${data.value}`}>{ data.value }</a>,\n        },\n\n        //===========================================================================>\n\n        { Header: I18n.t(\"generic.email\"),\n          accessor: 'clientOrOrderEmail',\n          Cell: data => <a href={`mailto:${data.value}`}>{ data.value }</a>,\n        },\n\n        //===========================================================================>\n\n        { Header: I18n.t(\"generic.comment\"),\n          style: { maxWidth: '340px', minWidth: '340px' },\n          accessor: 'comment',\n          Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <div>{ I18n.t('providers.notes.list.title') }\n              <div id=\"orders-scroll-end-target\" className=\"scroll-end-target\" />\n            </div>,\n          accessor: 'clientNotesCount',\n\n          Cell: data =>\n            <div onClick={() => openNotesModal(data.cell.row.original.clientId)} className=\"table-notes-cell\">\n              <img src={NotesImg} width={15} height={19} alt=\"Note\"/>\n              <p>({ data.value })</p>\n            </div>\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <div>{ I18n.t(\"generic.type\") }\n              <div id=\"orders-sticky-start-target\" className=\"sticky-start-target\" />\n            </div>,\n          accessor: 'orderContextTranslated',\n\n          Cell: data => {\n\n            const { id, enquiries } = data.cell.row.original;\n\n            return enquiries ?\n              <div className=\"with-icon\">\n                <div className=\"sticky-start-target\" />\n                { data.value }\n                { enquiries[0].is_extra_lead && <InfoIconTooltip tooltip={I18n.t('helpers.ui_helper.type_popup_text')} id={id} /> }\n              </div>\n              : '';\n\n          },\n          sticky: 'right',\n        },\n\n        //===========================================================================>\n\n        { Header: I18n.t(\"generic.providers.sidebar.leases\"),\n          accessor: \"Leases\",\n          width: 290,\n          style: { maxWidth: '290px', minWidth: '290px' },\n\n          Cell: data => {\n\n            const { enquiries, id } = data.cell.row.original;\n            const isAlreadyKnown = enquiries && enquiries.find(enquiry => enquiry.already_known);\n\n            if (isAlreadyKnown) return I18n.t('providers.orders.enquiries_with_state.already_known');\n\n            return enquiries ?\n              <div className=\"table-list\">\n                { enquiries.map(item => {\n\n                  const { location_id, enquiry_id, address, is_extra_lead } = item;\n\n                  return (\n                    <div className=\"order-leases-cell\"\n                         key={'leases-cell' + location_id}\n                         id={`${enquiry_id}${location_id}`}>\n\n                      <Link to={`${currentLocale}/new_providers/locations/info/${location_id}`} key={location_id}>\n                        { address }\n                      </Link>\n\n                      { is_extra_lead &&\n                        <Fragment>\n                          <div className=\"extra-lead-tooltip\"\n                               onClick={() => openExtraLeadModal(id)}\n                               data-tip={I18n.t('helpers.ui_helper.vip_alt_title')}\n                               data-class=\"table-tooltip\"\n                               data-for={`extra-lead-tooltip`}>\n                            { I18n.t('providers.orders.list.see_extra_order') }\n                          </div>\n                          <ReactTooltip\n                            place='top'\n                            effect='solid'\n                            id=\"extra-lead-tooltip\"\n                            type=\"light\"\n                            border={true}\n                            borderColor=\"black\"/>\n                        </Fragment>\n                      }\n                    </div>\n                  )}\n                )}\n              </div>\n              : '';\n          },\n          sticky: 'right',\n        },\n\n        //===========================================================================>\n\n        { Header: I18n.t(\"providers.statistics.index.status\"),\n          accessor: 'locationStates',\n          width: 155,\n\n          Cell: data => {\n\n            const { enquiries, clientId, id } = data.cell.row.original;\n            const isAlreadyKnown = enquiries && enquiries.find(enquiry => enquiry.already_known);\n\n            if (isAlreadyKnown) {\n\n              const { enquiry_id, enquiry_state } = isAlreadyKnown;\n\n              return (\n                <div className=\"table-button\" onClick={() => handleEnquiryStatus(isAlreadyKnown, clientId, enquiry_state)}>\n                  <span>\n                    { stateChangeLoadingId === enquiry_id && <Loader size={14} left={-22} top={-2} /> }\n                    { I18n.t('generic.undo') }\n                  </span>\n                </div>\n              )\n            }\n\n            if (enquiries) {\n              return (\n                <div className=\"table-list\">\n                  { enquiries.map(enquiry => {\n\n                    const { enquiry_id, location_id, enquiry_state, available_enquiry_states } = enquiry;\n                    const enquiryStatesOptions = Object.keys(available_enquiry_states).map(state => ({ value: state, label: available_enquiry_states[state] }));\n                    const isLoading = stateChangeLoadingId === enquiry_id;\n\n                    return <CellDropdown\n                             options={enquiryStatesOptions}\n                             withCallback={true}\n                             key={enquiry_id}\n                             matchPrevColumn={true}\n                             loading={isLoading}\n                             onShow={(handleClose) => handleHorizontalScroll('orders', handleClose)}\n                             id={`${enquiry_id}${location_id}`}\n                             handleChange={(value) => handleEnquiryStatus(enquiry, clientId, value, id)}\n                             value={enquiry_state === 'resolved' ? 'deal_confirmed' : enquiry_state} />\n                  })}\n                </div>\n              )\n            } else {\n              return '';\n            }\n          },\n          sticky: 'right',\n        },\n\n        //===========================================================================>\n      ],\n  [data, activeFilter, stateChangeLoadingId]);\n","import React, { useEffect, useState } from 'react';\nimport { useHistory } from \"react-router-dom\";\nimport { useMutation } from \"@apollo/client\";\n\nimport { ACTIVATE_ENQUIRY, GIVE_UP_ENQUIRY } from \"../ApolloClient/mutations\";\nimport AlreadyKnownLeadStatusModal from \"../Modals/AlreadyKnownLeadStatusModal\";\nimport ExtraOrderModal from \"../Modals/ExtraOrderModal\";\nimport NotesModal from \"../Modals/NotesModal\";\nimport InfoMessagePopup from \"../Popups/InfoMessagePopup\";\nimport Table from \"../Table\";\nimport { ClientsColumns } from \"./ClientsColumns\";\n\n\nconst ClientsTable = ({ currencySymbolFormatter,\n                        currentPage,\n                        currentLocale,\n                        disableSortBy,\n                        handleOrderBy,\n                        hiddenColumnsList,\n                        hideBottomFilters,\n                        initialLoad,\n                        loading,\n                        locale,\n                        noPagination,\n                        orders,\n                        orderBy,\n                        orderDirection,\n                        perPage,\n                        perPageOptions,\n                        refetchOrders,\n                        setShowLoading,\n                        setPage,\n                        setPerPage,\n                        totalCount }) => {\n\n  const history = useHistory();\n\n  const [clientId, setClientId] = useState('');\n  const [infoPopupMessage, setInfoPopupMessage] = useState('');\n  const [stateChangeLoadingId, setStateChangeLoadingId] = useState('');\n  const [showNoteModal, setShowNoteModal] = useState(false);\n  const [extraLeadModalIsOpen, setExtraLeadModalIsOpen] = useState(false);\n  const [extraLeadOrderId, setExtraLeadOrderId] = useState(false);\n  const [infoMessagePopupIsOpen, setInfoMessagePopupIsOpen] = useState(false);\n  const [alreadyKnownModalIsOpen, setAlreadyKnownModalIsOpen] = useState(false);\n  const [infoPopupMessageError, setInfoPopupMessageError] = useState(null);\n  const [hiddenColumns, setHiddenColumns] = useState(hiddenColumnsList || []);\n\n  const [activateEnquiry] = useMutation(ACTIVATE_ENQUIRY, {\n    onCompleted: data => !data.error && leadStateChangeCallback(),\n  });\n\n  const [giveUpEnquiry] = useMutation(GIVE_UP_ENQUIRY, {\n    onCompleted: data => !data.error && leadStateChangeCallback(),\n  });\n\n  useEffect(() => {\n    setShowLoading(!stateChangeLoadingId)\n  }, [stateChangeLoadingId]);\n\n  useEffect(() => {\n    if (orders) {\n      const showCommentColumn = orders.some(order => typeof order.comment === \"string\" ? order.comment.replaceAll(' ', '') : order.comment);\n\n      !showCommentColumn && !hiddenColumns.includes('comment') && setHiddenColumns(prevColumns => ([ ...prevColumns, 'comment' ]));\n\n      if (showCommentColumn && hiddenColumns.includes('comment')) {\n        const newHiddenColumns = [ ...hiddenColumnsList];\n\n        newHiddenColumns.splice(hiddenColumns.indexOf('comment'), 1);\n        setHiddenColumns(newHiddenColumns);\n      }\n    }\n  }, [orders]);\n\n\n  const openNotesModal = (clientId) => {\n    setClientId(clientId);\n    setShowNoteModal(true);\n  };\n\n\n  const handleEnquiryStatus = (enquiry, clientId, status, id) => {\n    const { location_id, enquiry_id } = enquiry;\n\n    setInfoPopupMessage(`${I18n.t('provider.clients.status_change_message')} \"${ I18n.t(`activerecord.attributes.enquiry.states/${status}`) }\"`);\n\n    switch (status) {\n\n      case 'unresolved':\n        setStateChangeLoadingId(enquiry_id);\n        activateEnquiry({ variables: { id: enquiry_id }})\n          .catch(error => handleStateChangeError(error));\n        return;\n\n      case 'lost':\n        setStateChangeLoadingId(enquiry_id);\n        giveUpEnquiry({ variables: { id: enquiry_id }})\n          .catch(error => handleStateChangeError(error));\n        return;\n\n      case 'already_known':\n        setClientId(clientId);\n        setAlreadyKnownModalIsOpen(true);\n        return;\n\n      case 'deal_confirmed':\n        history.push({\n          pathname: `${currentLocale}/new_providers/report_deal`,\n          search: `?client_id=${clientId}&location_id=${location_id}&enquiry_id=${enquiry_id}&order_id=${id}`,\n        });\n        return;\n    }\n  };\n\n\n  const handleStateChangeError = (error) => {\n    console.log('error', error);\n    setStateChangeLoadingId('');\n    setInfoPopupMessage(I18n.t('apps.lb_showroom.detailed.order_form.error.message'));\n    setInfoPopupMessageError(true);\n    setInfoMessagePopupIsOpen(true);\n  };\n\n\n  const handleOpenExtraLeadModal = (orderId) => {\n    setExtraLeadOrderId(orderId);\n    setExtraLeadModalIsOpen(true);\n  };\n\n\n  const handleCloseExtraLeadModal = () => {\n    setExtraLeadModalIsOpen(false);\n  };\n\n\n  const closeInfoMessagePopup = () => {\n    setInfoMessagePopupIsOpen(false);\n    infoPopupMessageError && setInfoPopupMessageError(false);\n  };\n\n\n  const leadStateChangeCallback = (closeModal) => {\n\n    const handleClose = () => {\n      closeModal && closeModal();\n      stateChangeLoadingId && setStateChangeLoadingId('');\n    };\n\n    refetchOrders()\n      .then(() => {\n        handleClose();\n        setInfoMessagePopupIsOpen(true);\n      })\n      .catch(error => {\n        console.log('error', error);\n        handleClose();\n      });\n  };\n\n\n  const ordersColumns = ClientsColumns(\n    orders,\n    orderBy,\n    orderDirection,\n    stateChangeLoadingId,\n    handleOrderBy,\n    currentLocale,\n    openNotesModal,\n    handleOpenExtraLeadModal,\n    handleEnquiryStatus);\n\n\n  return (\n    <div className=\"client-table\">\n\n      <AlreadyKnownLeadStatusModal\n        callbackFunction={leadStateChangeCallback}\n        clientId={clientId}\n        handleClose={() => setAlreadyKnownModalIsOpen(false)}\n        showModal={alreadyKnownModalIsOpen} />\n\n      <InfoMessagePopup\n        customClass={infoPopupMessageError ? 'error' : null}\n        handleClose={closeInfoMessagePopup}\n        message={infoPopupMessage}\n        visible={infoMessagePopupIsOpen} />\n\n      <ExtraOrderModal\n        currencySymbolFormatter={currencySymbolFormatter}\n        extraLeadModalOpen={extraLeadModalIsOpen}\n        extraLeadOrderId={extraLeadOrderId}\n        handleCloseExtraLeadModal={handleCloseExtraLeadModal}\n        locale={locale} />\n\n      <NotesModal\n        id={clientId}\n        orderNotes={true}\n        handleClose={() => setShowNoteModal(false)}\n        showModal={showNoteModal} />\n\n      <Table\n        columns={ordersColumns}\n        currentPage={currentPage}\n        data={orders}\n        disableSortBy={disableSortBy}\n        hiddenColumns={hiddenColumns}\n        hideBottomFilters={hideBottomFilters}\n        initialLoad={initialLoad}\n        loading={loading}\n        name=\"orders\"\n        noPagination={noPagination}\n        perPage={perPage}\n        perPageOptions={perPageOptions}\n        setPage={setPage}\n        setPerPage={setPerPage}\n        totalCount={totalCount}\n      />\n\n    </div>\n  )\n}\n\n\nexport default ClientsTable;\n","import React, { useEffect, useState } from 'react';\nimport { Link, useParams } from \"react-router-dom\";\nimport { useQuery, useLazyQuery, useMutation } from \"@apollo/client\";\n\nimport { useDebouncedEffect } from \"../../SharedComponents/hooks\";\nimport SearchableDropdown from \"../../SharedComponents/Forms/SearchableDropdown\";\nimport BasicDropdown from \"../../SharedComponents/Forms/BasicDropdown\";\nimport RadioButtons from \"../../SharedComponents/Forms/RadioButtons\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport NetworkError from \"../Errors/NetworkError\";\nimport Page404 from '../Errors/Page404';\nimport TokenizedFileModalLink from \"../Modals/TokenizedFileModalLink\";\nimport { GET_LOCATIONS_OPTIONS_LIST, GET_ORDERS, GET_ORDERS_XLS_TOKEN } from \"../ApolloClient/queries\";\nimport { RESET_NEW_CLIENTS_COUNT } from \"../ApolloClient/mutations\";\nimport ClientsTable from \"./ClientsTable\";\n\nimport '../Table/TablePage.sass';\nimport './index.sass';\n\n\nconst Clients = ({ asPreview,\n                   currencySymbolFormatter,\n                   currentLocale,\n                   enquiryStates,\n                   isNumber,\n                   locale,\n                   newClientsCount,\n                   providerId,\n                   resetNewClients,\n                   resourceNotFoundError,\n                 }) => {\n\n  const { id } = useParams();\n\n  const [orders, setOrders] = useState([]);\n  const [queryValue, setQueryValue] = useState('');\n  const [totalCount, setTotalCount] = useState(0);\n  const [initialLoad, setInitialLoad] = useState(true);\n  const [locationsSearchValue, setLocationsSearchValue] = useState(id || null);\n  const [showLoading, setShowLoading] = useState(true);\n\n  const [filters, setFilters] = useState({\n    enquiryState: 'all',\n    locationId: (id && Number(id)) || null,\n    orderBy: 'created_at',\n    orderDirection: 'desc',\n    page: 1,\n    perPage: asPreview ? 4 : 20,\n    query: '',\n    showOnlyContactOrders: false,\n  });\n\n  const { enquiryState, orderBy, orderDirection, page, perPage, showOnlyContactOrders } = filters;\n\n  const [getLocationsOptionsList, { data: locationsOptionsData }] = useLazyQuery(GET_LOCATIONS_OPTIONS_LIST);\n\n  const { loading: ordersLoading, error, refetch: refetchOrders } = useQuery(GET_ORDERS, {\n    variables: { ...filters },\n    onCompleted: data => {\n      !asPreview && initialLoad && getLocationsOptionsList().catch(error => console.log('error', error));\n      setOrders(data.orders.orders);\n      setTotalCount(data.orders.totalCount);\n      setInitialLoad(false);\n    },\n  });\n\n  const [resetNewClientsCount] = useMutation(RESET_NEW_CLIENTS_COUNT);\n\n  const loading = showLoading && ordersLoading;\n\n  useEffect(() => {\n    refetchOrders().catch(error => console.log(error));\n\n    if (newClientsCount) {\n      resetNewClients();\n      resetNewClientsCount({\n        variables: { providerId: Number(providerId) },\n      }).catch(error => console.log('Error', error));\n    }\n  }, []);\n\n  useEffect(() => {\n    loading && setOrders(Array(perPage).fill({}));\n  }, [loading]);\n\n  useEffect(() => {\n    refetchOrders().catch(error => console.log(error));\n  }, [filters]);\n\n  useDebouncedEffect(() => {\n    handleFilters({query: queryValue, page: 1});\n  }, [queryValue], 500);\n\n\n  const { alreadyKnown, lost, resolved, unresolved } = enquiryStates;\n\n  const statusOptions = [\n    {value: 'all', label: I18n.t('generic.all'), className: !enquiryState ? 'selected' : null },\n    {value: 'unresolved', label: unresolved},\n    {value: 'already_known', label: alreadyKnown},\n    {value: 'lost', label: lost},\n    {value: 'resolved', label: resolved},\n  ];\n\n  const perPageOptions = [\n    { value: '10', label: '10' },\n    { value: '20', label: '20' },\n    { value: '40', label: '40' },\n  ];\n\n  const radioOptions = [\n    { label: I18n.t('providers.locations.filter.my_locations'), value: true, checked: showOnlyContactOrders },\n    { label: I18n.t('providers.orders.filter.all_locations'), value: false, checked: !showOnlyContactOrders },\n  ];\n\n  const locationsList = (locationsOptionsData && locationsOptionsData.locations.locations) || [];\n\n  const locationsSearchOptions = [{ label: I18n.t('generic.all'), value: null }].concat(locationsList.map(location =>\n    ({ label: `${location.address}${location.areaFrom ? `, ${location.areaFrom} ${location.areaUnit || ''}` : ''}`, value: location.id })));\n\n\n  const handleFilters = (newFilters) =>\n    setFilters(prevFilters => ({\n      ...prevFilters,\n      ...newFilters,\n    }));\n\n\n  const handleOrderBy = (field) => {\n    const newOrderDirection = field === orderBy && orderDirection === 'asc' ? 'desc' : 'asc';\n\n    handleFilters({ orderBy: field, orderDirection: newOrderDirection });\n  };\n\n\n  const handleLocationsSelect = (value) => {\n    setLocationsSearchValue(value);\n    handleFilters({ locationId: Number(value) || value, page: 1 });\n  };\n\n  if (resourceNotFoundError(error) || !isNumber(id)) return <Page404 currentLocale={currentLocale} />;\n  if (!asPreview && error) return <NetworkError />;\n\n  if (!(asPreview && totalCount === 0 && !loading)) {\n    return (\n      <div className={`clients table-page ${ asPreview ? 'preview' : '' }`}>\n\n        { !asPreview &&\n          <div className=\"table-page__filters-wrapper\">\n\n            <div className=\"table-page__filters-left\">\n              <div className=\"search-input-wrapper\">\n                <input\n                  type=\"text\"\n                  className=\"search-input\"\n                  value={queryValue}\n                  placeholder={I18n.t('generic.search')}\n                  onChange={(e) => setQueryValue(e.target.value)}\n                  maxLength=\"256\" />\n                <SvgIco name=\"search\" size={16} />\n              </div>\n\n              <SearchableDropdown\n                options={locationsSearchOptions}\n                value={locationsSearchValue}\n                classNamePrefix={'locations-search-select'}\n                placeholder={I18n.t(\"providers.orders.filter.select_location\")}\n                handleChange={handleLocationsSelect} />\n\n              <BasicDropdown\n                options={statusOptions}\n                wrapperClass=\"clients__status-dropdown\"\n                placeholder={I18n.t('providers.statistics.index.status')}\n                handleChange={(value) => handleFilters({ enquiryState: value || '', page: 1 })}\n                value={enquiryState} />\n\n              <RadioButtons\n                options={radioOptions}\n                handleChange={(value) => handleFilters({ showOnlyContactOrders: value, page: 1 })} />\n            </div>\n\n            { !asPreview && totalCount > 0 &&\n              <TokenizedFileModalLink\n                dataName=\"orders\"\n                linkLabel=\"Excel\"\n                query={GET_ORDERS_XLS_TOKEN}\n                variables={{ ...filters, page: null, perPage: null, xls: true }}\n              />\n            }\n          </div>\n        }\n\n        <div className=\"table-page__title-wrapper\">\n          <h3>{ I18n.t('providers.providers.show.customers') } ({ totalCount })</h3>\n          { asPreview &&\n            <Link to={`${currentLocale}/new_providers/orders`} className=\"table-page__see-all-link\">\n              <span>{ I18n.t('provider.tables.see_all_link') }</span>\n            </Link>\n          }\n        </div>\n\n        <ClientsTable\n          currencySymbolFormatter={currencySymbolFormatter}\n          currentLocale={currentLocale}\n          currentPage={page}\n          disableSortBy={true}\n          handleOrderBy={handleOrderBy}\n          hiddenColumnsList={['contactInfo']}\n          hideBottomFilters={!!asPreview}\n          initialLoad={initialLoad}\n          loading={loading}\n          locale={locale}\n          orders={orders}\n          orderBy={orderBy}\n          orderDirection={orderDirection}\n          perPage={perPage}\n          perPageOptions={perPageOptions}\n          refetchOrders={refetchOrders}\n          setPage={(page) => handleFilters({ page })}\n          setPerPage={(perPage) => handleFilters({ perPage, page: 1 })}\n          setShowLoading={setShowLoading}\n          totalCount={totalCount} />\n\n      </div>\n    );\n  } else {\n    return null;\n  }\n}\n\n\nexport default Clients;\n","import React, { useState } from 'react';\nimport { useMutation } from '@apollo/client';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nimport { ADD_NEW_CONTACT, ACTIVATE_DELETED_CONTACT, UPDATE_CONTACT } from '../ApolloClient/queries';\nimport { ContactsColumns, DeletedContactsColumns } from '../Table/Columns';\nimport CreateNewContactModal from '../Modals/CreateNewContactModal';\nimport DeleteContactModal from '../Modals/DeleteContactModal';\nimport DeleteContactForeverModal from \"../Modals/DeleteContactForeverModal\";\nimport InfoMessagePopup from '../Popups/InfoMessagePopup';\nimport Table from '../Table';\n\nimport '../Table/TablePage.sass';\nimport './ContactsTable.sass';\n\n\nfunction ContactsTable({\n  currentLocale,\n  dataTable,\n  deletedTotalCount,\n  initialLoad,\n  asPreview,\n  contactsLoading,\n  contactsTotalCount,\n  currentPage,\n  perPage,\n  setPage,\n  setPerPage,\n  showDeletedContacts,\n  totalCount,\n  orderDirection,\n  setOrderBy,\n  activeFilter,\n  changeActiveTab,\n}) {\n\n  const [showModal, setShowModal] = useState(false);\n  const [showDeleteModal, setShowDeleteModal] = useState(false);\n  const [showDeleteContactForeverModal, setShowDeleteContactForeverModal] = useState(false);\n  const [modalData, setDataForModal] = useState({});\n  const [infoMessagePopupIsOpen, setInfoMessagePopupIsOpen] = useState(false);\n  const [infoPopupMessage, setInfoPopupMessage] = useState('');\n  const [showNotification, setSnowNotification] = useState({\n    show: false,\n    message: '',\n    color: 'green',\n  });\n\n  const [updateContact] = useMutation(UPDATE_CONTACT);\n  const [addNewContact] = useMutation(ADD_NEW_CONTACT);\n  const [activeDeletedContact] = useMutation(ACTIVATE_DELETED_CONTACT);\n\n  const activeDeleteContact = (currentId) => {\n    const input = { id: parseInt(currentId) };\n\n    activeDeletedContact({\n      variables: { input },\n      refetchQueries: ['getContacts', 'getDeleteContact'],\n    });\n  };\n\n  const editModal = Object.keys(modalData).length !== 0;\n\n  const contactFormSubmit = (values) => {\n    const { name, email, phoneNumber, password, passwordConfirmation } = values;\n    const id = editModal ? parseInt(modalData.id) : null;\n    const input = editModal\n      ? { name, email, phoneNumber, id }\n      : { name, email, phoneNumber, password, passwordConfirmation };\n\n    editModal\n      ? updateContact({\n          variables: { input },\n          refetchQueries: ['getContacts'],\n          onCompleted: ({ updateContact }) => {\n            const { errors } = updateContact;\n            const successEdit = I18n.t('providers.contacts.list.contact_edit_successfully');\n\n            showNotifications(errors, successEdit);\n          },\n        })\n      : addNewContact({\n          variables: { input },\n          refetchQueries: ['getContacts'],\n          onCompleted: ({ addContact }) => {\n            const { errors } = addContact;\n            const successCreate = I18n.t('providers.contacts.list.created_new_contact');\n\n            showNotifications(errors, successCreate);\n          },\n        });\n  };\n\n  const showNotifications = (errors, successMessage) => {\n    if (errors && errors.length) {\n      setSnowNotification({\n        show: true,\n        message: I18n.t('providers.contacts.list.contact_email_already_exists'),\n        color: 'red',\n      });\n    } else {\n      setShowModal(false);\n      setDataForModal({});\n      setInfoPopupMessage(successMessage);\n      setInfoMessagePopupIsOpen(true);\n    }\n  };\n\n  const closeModal = () => {\n    handleCloseNotification();\n    setShowModal(false);\n    setDataForModal({});\n  };\n\n  const handleCloseNotification = () => {\n    setSnowNotification({ show: false, message: '' });\n  };\n\n  const closeInfoMessagePopup = () => {\n    setInfoMessagePopupIsOpen(false);\n  };\n\n  const clickOnDropDown = (data, editModal) => {\n    setDataForModal(data);\n    editModal ? setShowModal(true) : setShowDeleteModal(true);\n  };\n\n  const clickOnDeleteForever = (data) => {\n    setDataForModal(data);\n    setShowDeleteContactForeverModal(true);\n  };\n\n  const columns = showDeletedContacts\n    ?\n      DeletedContactsColumns(\n        dataTable,\n        clickOnDeleteForever,\n        activeDeleteContact,\n        orderDirection,\n        setOrderBy,\n        activeFilter)\n    :\n      ContactsColumns(\n        dataTable,\n        clickOnDropDown,\n        orderDirection,\n        setOrderBy,\n        activeFilter);\n\n\n  const perPageOptions = [\n    { value: '20', label: '20' },\n    { value: '30', label: '30' },\n  ];\n\n\n  return (\n    <div className={`contacts-table ${asPreview ? 'preview' : ''}`}>\n      <div className=\"contacts-table__button-wrapper\">\n        <div\n          className=\"table-page__title\"\n          style={{ justifyContent: asPreview ? 'flex-start' : 'space-between' }}\n        >\n          <div className=\"contacts-table__tabs\">\n            <p\n              onClick={() => changeActiveTab(false)}\n              className={`${!showDeletedContacts ? 'active' : ''}`}\n            >\n              {I18n.t('layouts.providers.navigation.contacts')} (\n              {contactsTotalCount})\n            </p>\n            <p\n              onClick={() => changeActiveTab(true)}\n              className={`${showDeletedContacts ? 'active' : ''}`}\n            >\n              {I18n.t('providers.contacts.deleted_list.deleted_contacts')} (\n              {deletedTotalCount})\n            </p>\n          </div>\n          <div\n            className=\"contacts-table__new-contact-button\"\n            onClick={() => setShowModal(true)}\n          >\n            <p>+ {I18n.t('providers.contacts.list.new_contact')}</p>\n          </div>\n        </div>\n        {asPreview && (\n          <Link\n            to={`${currentLocale}/new_providers/contacts`}\n            className=\"table-page__see-all-link\"\n          >\n            <span>{I18n.t('provider.tables.see_all_link')}</span>\n          </Link>\n        )}\n      </div>\n\n      <InfoMessagePopup\n        handleClose={closeInfoMessagePopup}\n        message={infoPopupMessage}\n        visible={infoMessagePopupIsOpen}\n      />\n\n      { modalData &&\n        <DeleteContactModal\n          callback={() => setDataForModal({})}\n          data={modalData}\n          handleClose={() => setShowDeleteModal(false)}\n          showModal={showDeleteModal}\n        />\n      }\n\n      { showDeleteContactForeverModal &&\n        <DeleteContactForeverModal\n          callback={() => setDataForModal({})}\n          data={modalData}\n          handleClose={() => setShowDeleteContactForeverModal(false)}\n          showModal={showDeleteContactForeverModal}\n        />\n      }\n\n      <CreateNewContactModal\n        closeModal={closeModal}\n        showModal={showModal}\n        submitForm={contactFormSubmit}\n        showNotification={showNotification}\n        handleCloseNotification={handleCloseNotification}\n        editContactData={modalData}\n        editModal={editModal}\n      />\n\n      <Table\n        data={dataTable}\n        name=\"contacts\"\n        columns={columns}\n        perPage={perPage}\n        setPage={setPage}\n        setPerPage={setPerPage}\n        currentPage={currentPage}\n        perPageOptions={perPageOptions}\n        initialLoad={initialLoad}\n        hideBottomFilters={!!asPreview}\n        loading={contactsLoading}\n        totalCount={totalCount}\n      />\n    </div>\n  );\n}\n\nContactsTable.propTypes = {\n  dataTable: PropTypes.oneOfType([PropTypes.object]),\n  deletedTotalCount: PropTypes.string,\n  initialLoad: PropTypes.bool,\n  asPreview: PropTypes.bool,\n  contactsLoading: PropTypes.bool,\n  contactsTotalCount: PropTypes.string,\n  currentPage: PropTypes.string,\n  perPage: PropTypes.string,\n  setPage: PropTypes.func,\n  setPerPage: PropTypes.func,\n  showDeletedContacts: PropTypes.bool,\n  totalCount: PropTypes.string,\n  orderDirection: PropTypes.string,\n  setOrderBy: PropTypes.func,\n  activeFilter: PropTypes.string,\n  changeActiveTab: PropTypes.func,\n};\n\nContactsTable.defaultProps = {\n  dataTable: {},\n  deletedTotalCount: '',\n  initialLoad: false,\n  asPreview: false,\n  contactsLoading: false,\n  contactsTotalCount: '',\n  currentPage: '',\n  perPage: '',\n  setPage: () => true,\n  setPerPage: () => true,\n  showDeletedContacts: false,\n  totalCount: '',\n  orderDirection: '',\n  setOrderBy: () => true,\n  activeFilter: '',\n  changeActiveTab: () => true,\n};\n\nexport default ContactsTable;\n","import React from 'react';\nimport { withFormik } from 'formik';\nimport PropTypes from 'prop-types';\nimport Yup from 'yup';\n\nimport Input from '../../SharedComponents/Forms/Input';\nimport {\n  phoneValidation,\n  nameValidation,\n  emailValidation,\n  passwordValidation,\n  passwordConfirmationValidation,\n} from '../../SharedComponents/Forms/ValidationSchemaPattern';\n\nfunction CreateNewContactWrapper({\n  handleSubmit,\n  values,\n  handleChange,\n  touched,\n  handleBlur,\n  errors,\n  closeModal,\n  editContactData,\n  editModal,\n}) {\n  return (\n    <div className=\"create-new\">\n      <form\n        name=\"createNewContact\"\n        className=\"new-contact-form\"\n        onSubmit={handleSubmit}\n        noValidate\n      >\n        <Input\n          name=\"name\"\n          value={values.name}\n          handleChange={handleChange}\n          handleBlur={handleBlur}\n          label={I18n.t('generic.name')}\n          error={touched.name && errors.name}\n          required\n        />\n        <Input\n          name=\"email\"\n          value={values.email}\n          handleChange={handleChange}\n          handleBlur={handleBlur}\n          label={I18n.t('generic.email')}\n          error={touched.email && errors.email}\n          required\n        />\n\n        <Input\n          name=\"phoneNumber\"\n          value={values.phoneNumber}\n          handleChange={handleChange}\n          handleBlur={handleBlur}\n          label={I18n.t('signup.new_form.register.phone_number.placeholder')}\n          error={touched.phoneNumber && errors.phoneNumber}\n          required\n        />\n\n        {!editModal && (\n          <>\n            <Input\n              name=\"password\"\n              type=\"password\"\n              value={values.password}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('generic.password')}\n              error={touched.password && errors.password}\n              required\n            />\n\n            <Input\n              name=\"passwordConfirmation\"\n              type=\"password\"\n              value={values.passwordConfirmation}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('activerecord.attributes.contact.password_confirmation')}\n              error={\n                touched.passwordConfirmation && errors.passwordConfirmation\n              }\n              required\n            />\n          </>\n        )}\n\n        <div className=\"create-new__button-wrapper\">\n          <button\n            type=\"button\"\n            onClick={() => closeModal()}\n            className=\"cancel-button b-button\"\n          >\n            {I18n.t('search_agent.modal.cancel')}\n          </button>\n\n          <button type=\"submit\" className=\"save-button b-button\">\n            {I18n.t('generic.save')}\n          </button>\n        </div>\n      </form>\n    </div>\n  );\n}\n\nconst CreateNewContact = withFormik({\n  mapPropsToValues: ({ editContactData, editModal }) => ({\n    name: editContactData ? editContactData.name : '',\n    email: editContactData ? editContactData.email : '',\n    phoneNumber: editContactData ? editContactData.phoneNumber : '',\n    createNewContact: !editModal,\n    password: '',\n    passwordConfirmation: '',\n  }),\n  validationSchema: Yup.object().shape({\n    name: nameValidation,\n    email: emailValidation,\n    phoneNumber: phoneValidation,\n    createNewContact: Yup.boolean(),\n    password: Yup.string().when('createNewContact', {\n      is: true,\n      then: passwordValidation,\n    }),\n    passwordConfirmation: Yup.string().when('createNewContact', {\n      is: true,\n      then: passwordConfirmationValidation,\n    }),\n  }),\n\n  handleSubmit: (values, bag) => {\n    bag.props.submitForm(values);\n  },\n\n  displayName: 'CreateNewContactForm',\n})(CreateNewContactWrapper);\n\nCreateNewContactWrapper.propTypes = {\n  handleSubmit: PropTypes.func,\n  values: PropTypes.oneOfType([PropTypes.object]),\n  handleChange: PropTypes.func,\n  touched: PropTypes.bool,\n  handleBlur: PropTypes.func,\n  errors: PropTypes.oneOfType([PropTypes.array]),\n  closeModal: PropTypes.bool,\n  editContactData: PropTypes.oneOfType([PropTypes.object]),\n};\n\nCreateNewContactWrapper.defaultProps = {\n  handleSubmit: () => true,\n  values: {},\n  handleChange: () => true,\n  touched: false,\n  handleBlur: () => true,\n  errors: [],\n  closeModal: false,\n  editContactData: {},\n};\n\nexport default CreateNewContact;\n","import React, { useEffect, useState } from 'react';\nimport { useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\n\nimport { GET_CONTACTS, GET_DELETED_CONTACTS } from '../ApolloClient/queries';\nimport NetworkError from '../Errors/NetworkError';\nimport ContactsTable from './ContactsTable';\n\nimport './index.sass';\n\n\nfunction ContactsPage({ asPreview, currentLocale }) {\n  const [contacts, setContactsList] = useState([]);\n  const [contactsTotalCount, setContactsTotalCount] = useState(0);\n  const [deletedTotalCount, setDeletedTotalCount] = useState(0);\n  const [deletedContactsList, setDeletedContactsList] = useState([]);\n  const [initialLoad, setInitialLoad] = useState(true);\n  const [showDeletedContacts, setShowDeletedContacts] = useState(false);\n\n  const [filters, setFilters] = useState({\n    page: 1,\n    perPage: asPreview ? 4 : 20,\n    orderDirection: 'desc',\n    orderBy: 'is_main_contact',\n  });\n\n  const [deletedContactsFilters, setDeletedContactFilters] = useState({\n    page: 1,\n    perPage: asPreview ? 4 : 20,\n    orderDirection: 'desc',\n    orderBy: 'created_at',\n    onlyDeleted: true,\n  });\n\n  const { page, perPage, orderDirection, orderBy } = showDeletedContacts\n    ? deletedContactsFilters\n    : filters;\n\n  const {\n    error: contactsError,\n    data,\n    loading: contactsLoading,\n  } = useQuery(GET_CONTACTS, { variables: filters });\n\n  const {\n    error: deletedContactsError,\n    data: deletedContacts,\n    loading: deletedContactsLoading,\n  } = useQuery(GET_DELETED_CONTACTS, { variables: deletedContactsFilters });\n\n\n  const handleFilters = (newFilters) => {\n    showDeletedContacts\n      ? setDeletedContactFilters((prevFilters) => ({\n          ...prevFilters,\n          ...newFilters,\n        }))\n      : setFilters((prevFilters) => ({\n          ...prevFilters,\n          ...newFilters,\n        }));\n  };\n\n\n  const setOrderBy = (field) => {\n    const newOrderDirection =\n      field === orderBy && orderDirection === 'asc' ? 'desc' : 'asc';\n\n    handleFilters({ orderBy: field, orderDirection: newOrderDirection });\n  };\n\n\n  const changeActiveTab = (value) => setShowDeletedContacts(value);\n\n\n  useEffect(() => {\n    if (data) {\n      setContactsList(data.contacts.contacts);\n      setContactsTotalCount(data.contacts.totalCount);\n      setInitialLoad(false);\n    }\n  }, [data]);\n\n\n  useEffect(() => {\n    if (deletedContacts) {\n      setDeletedContactsList(deletedContacts.contacts.contacts);\n      setDeletedTotalCount(deletedContacts.contacts.totalCount);\n    }\n  }, [deletedContacts]);\n\n  if (contactsError || deletedContactsError) return <NetworkError />;\n\n\n  const dataTable = showDeletedContacts ? deletedContactsList : contacts;\n\n  const totalCount = showDeletedContacts\n    ? deletedTotalCount\n    : contactsTotalCount;\n\n  return (\n    <div className=\"contacts\">\n      <div className={`contacts-wrapper ${asPreview ? 'preview' : ''}`}>\n        <ContactsTable\n          currentLocale={currentLocale}\n          currentPage={page}\n          perPage={perPage}\n          deletedTotalCount={deletedTotalCount}\n          contactsTotalCount={contactsTotalCount}\n          initialLoad={initialLoad}\n          asPreview={asPreview}\n          contactsLoading={contactsLoading || deletedContactsLoading}\n          setPage={(page) => handleFilters({ page })}\n          setPerPage={(perPage) => handleFilters({ perPage, page: 1 })}\n          showDeletedContacts={showDeletedContacts}\n          dataTable={dataTable}\n          totalCount={totalCount}\n          orderDirection={orderDirection}\n          setOrderBy={setOrderBy}\n          activeFilter={orderBy}\n          changeActiveTab={changeActiveTab}\n        />\n      </div>\n    </div>\n  );\n}\n\nContactsPage.propTypes = {\n  asPreview: PropTypes.bool,\n};\n\nContactsPage.defaultProps = {\n  asPreview: false,\n};\n\nexport default ContactsPage;\n","import React from 'react';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './ModalNetworkError.sass';\n\n\nconst ModalNetworkError = () => {\n\n  return (\n    <div className=\"modal-network-error\">\n      <SvgIco name=\"caution-outline\" size={28} />\n      <div className=\"modal-network-error__message\">\n        { I18n.t('generic.server-error-listview-page') } <a href={window.location.href}>{ I18n.t('general.refresh-page') }</a>.\n      </div>\n    </div>\n  )\n}\n\nexport default ModalNetworkError;\n","import React from 'react';\n\nimport ErrorImg from '../../../src/images/provider/error.svg';\n\nimport './NetworkError.sass';\n\n\nconst NetworkError = ({}) => {\n\n  return (\n    <div className=\"errors-page\">\n      <h3>{ I18n.t('provider.error.oops') } !</h3>\n      <img src={ErrorImg} height={243} width={345} alt=\"Error\" />\n      <div>{ I18n.t('provider.error.network_first_sentence') }</div>\n      <div>\n        { I18n.t('generic.server-error-listview-page') }\n        <a href={window.location.href}>\n          { I18n.t('general.refresh-page') }\n        </a>\n        .\n      </div>\n    </div>\n  )\n}\n\nexport default NetworkError;\n","import React from 'react';\nimport ErrorImg from '../../../src/images/provider/error.svg';\nimport { Link } from 'react-router-dom';\n\n\nconst Page404 = ({ currentLocale }) => {\n  return (\n    <div className=\"errors-page\">\n      <h3>{ I18n.t('provider.error.404') } !</h3>\n      <img src={ErrorImg} height={243} width={345} alt=\"Error\" />\n      <p className=\"page-not-found\">{ I18n.t('error_pages.404_page.header')}</p>\n      <p >{I18n.t(\"error_pages.404_page.description\")}</p>\n\n      <Link to={`${currentLocale}/new_providers`} clasName=\"return-dashboard-link\"> {I18n.t(\"providers.leases.success.review.text_dashboard_button\")}</Link>\n\n    </div>\n  );\n}\n\nexport default Page404;\n","import React from 'react';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './PageInfoMessage.sass';\n\n\nconst PageInfoMessage = ({ message }) => {\n\n  return (\n    <div className=\"page-info-message\">\n      <SvgIco name=\"caution\" size={51} />\n      <div className=\"page-info-message__content\" dangerouslySetInnerHTML={{ __html: message }} />\n    </div>\n  )\n}\n\nexport default PageInfoMessage;\n","import React from 'react';\n\nimport SslSecureLogo from '../../../src/images/logos/ssl-secure-encryption.svg';\n\nimport './index.sass'\n\n\nconst Footer = ({ footer, providerInfo, currentContactInfo }) => {\n\n  const { addressLine,\n          copyrightUrl,\n          privacyUrl,\n          supportUrl,\n          sslLink,\n          postalCode,\n          contactInfoPhone,\n          contactInfoMail,\n          logoUrl,\n          hotline,\n          showCvrCode,\n          cvrCode,\n          root,\n          socialLinks } = footer;\n\n  const {\n    companyName,\n    line1: providerLine1,\n    line2: providerLine2,\n    city: providerCity,\n    vatId: providerVatId,\n    ean: providerEan,\n    phoneNumber: providerPhone,\n  } = providerInfo;\n\n  const {\n    name: currentContactName,\n    email: currentPhoneNumber,\n    phoneNumber: currentContactEmail\n  } = currentContactInfo\n\n\n  return (\n    <footer className=\"provider-footer\">\n      <div className=\"container\">\n        <div className=\"provider-footer__info row\">\n\n          <div className=\"provider-footer__contacts col-xl-3 col-lg-3\">\n            <a href={root} className=\"provider-footer__logo\">\n              <img src={logoUrl} alt=\"Logo\" className=\"lazyload\" id=\"logo-image\" data-sizes=\"auto\" width={140} />\n            </a>\n            <p>{ addressLine }</p>\n            <p>{ postalCode }</p>\n            <p>{ I18n.t('generic.email') }: <a href={\"mailTo:\" + contactInfoMail} >{ contactInfoMail }</a></p>\n            { contactInfoPhone && <p>{ I18n.t('generic.phone') } { contactInfoPhone }</p> }\n            { hotline && <p>{ I18n.t('generic.hotline') } { hotline }</p> }\n            { showCvrCode && <p>{ cvrCode }</p> }\n          </div>\n\n          <div className=\"provider-footer__col col-xl-3 col-lg-3\">\n            <h3>{I18n.t('layouts.providers.bottom.your_company')}</h3>\n            <p>{ companyName }</p>\n            <p>{ providerLine1 }</p>\n            { providerLine2 && <p>{ providerLine2 }</p> }\n            <p>{ providerInfo.postalCode } { providerCity }</p>\n            { providerVatId && <p>{ I18n.t('generic.vat') }: { providerVatId }</p> }\n            { providerEan && <p>{ I18n.t('activerecord.attributes.provider.ean') }: { providerEan }</p> }\n            <p>{ I18n.t('layouts.providers.bottom.phone_number') }: { providerPhone }</p>\n          </div>\n\n          <div className=\"provider-footer__col col-xl-2 col-lg-2 offset-1\">\n            <h3>{ I18n.t('layouts.providers.bottom.logged_in_as') }</h3>\n            <p>{ currentContactName }</p>\n            <p>{ currentPhoneNumber }</p>\n            <p>{ currentContactEmail }</p>\n          </div>\n\n          <div className=\"col-xl-3 col-lg-3\">\n            <div className=\"provider-footer__social-links\">\n              <a href={sslLink}>\n                <img src={SslSecureLogo} alt=\"SSL secured\" className=\"lazyload global-footer__ssl-img\" height={44} width={134}/>\n              </a>\n              <ul className=\"provider-footer__social-buttons-list\">\n                { socialLinks.map(link =>\n                  <li className=\"provider-footer__social-link\" key={link[0]}>\n                    <a href={link[1]} className={`provider-footer__social-link--${link[0]}`}/>\n                  </li>\n                )}\n              </ul>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div className=\"provider-footer__bottom-links\">\n        <div className=\"container\">\n          <a href={supportUrl}>{ I18n.t('layouts.responsive.bottom.help_link') }</a>\n          <a href={copyrightUrl} className=\"global-footer__copyright-link\">\n            Copyright { new Date().getFullYear() }\n          </a>\n          <a href={privacyUrl} className=\"provider-footer__privacy-link\">\n            <img src={require('../../../src/images/icons/cookie-badge.svg')} alt=\"cookies\" width=\"15px\" height=\"13.5px\" />\n            { I18n.t('cookie_consent.privacy_policy') }\n          </a>\n        </div>\n      </div>\n    </footer>\n  );\n}\n\n\nexport default Footer;\n","import React from 'react';\nimport { parseMd } from '../../../utils/helpers';\nimport './index.sass';\n\nconst HelpPage = ({ content }) => {\n\n  return (\n    <div className=\"help-page\">\n      <div className=\"help-page__content\" dangerouslySetInnerHTML={{__html: parseMd(content)}} />\n    </div>\n  );\n};\n\n\nexport default HelpPage;\n","import React from 'react';\n\nconst handleBackgroundColor = (status) =>\n  status === 'paid' ? 'rgba(119, 188, 31, 0.05)' : 'rgba(238, 0, 0, 0.05)';\n\n\n\nexport const InvoicesColumns = (data, openPaymentModal) =>\n  React.useMemo(\n    () => [\n      //===========================================================================>\n\n      {\n        Header: I18n.t('generic.status'),\n        accessor: 'status',\n        style: {maxWidth: '298px', minWidth: '298px', width: '298px' },\n        Cell: (data) =>\n          <div className=\"invoices__column\" style={{ color: data.value === 'paid' ? '#539533' : '#EE0000', }}>\n            <div className=\"invoices__column-bg\" style={{ background: handleBackgroundColor(data.value) }} />\n            { I18n.t(`generic.status_value.${data.value}`) }\n          </div>\n      },\n\n      //===========================================================================>\n\n      {\n        Header: I18n.t('generic.amount'),\n        accessor: 'amountInCents',\n        style: {minWidth: '162px', width: '162px' },\n        Cell: (data) =>\n          <div className=\"invoices__column\">\n            <div className=\"invoices__column-bg\" style={{ background: handleBackgroundColor(data.row.original.status) }} />\n            { (data.value && parseFloat((data.value)/100).toFixed(2)) || '' }\n          </div>,\n      },\n\n      //===========================================================================>\n\n      {\n        Header: I18n.t('activerecord.attributes.location.currency'),\n        accessor: 'currency.name',\n        style: {minWidth: '162px', width: '162px' },\n        Cell: (data) => data.value\n          ?\n            <div className=\"invoices__column\">\n              <div className=\"invoices__column-bg\" style={{ background: handleBackgroundColor(data.row.original.status) }} />\n              { data.value }\n            </div>\n          : '',\n      },\n\n      //===========================================================================>\n\n      {\n        Header: I18n.t('generic.invoice') + '(pdf)',\n        accessor: 'invoicePdfShowPath',\n        style: {minWidth: '162px', width: '162px' },\n        Cell: (data) => data.value\n          ?\n            <a href={data.value}>\n              <div className=\"invoices__column-bg\" style={{ background: handleBackgroundColor(data.row.original.status) }} />\n              { I18n.t('generic.show') } { I18n.t('generic.invoice') }\n            </a>\n          : '',\n      },\n\n      //===========================================================================>\n\n      {\n        Header: '',\n        accessor: 'payment',\n        style: { background: 'white' },\n        Cell: (data) =>\n          data.row.original.status === 'waiting'\n          ? <div onClick={() => openPaymentModal(data.row.original.id)} className=\"invoices__pay-link\">\n              { I18n.t('generic.pay') }\n            </div>\n          : null,\n      },\n    ],\n    [data],\n  );\n","import React, { useEffect, useState } from 'react';\nimport { useLazyQuery } from \"@apollo/client\";\n\nimport PaymentModal from \"../Modals/PaymentModal/PaymentModal\";\nimport { GET_STRIPE_INVOICES } from \"../ApolloClient/queries\";\nimport Table from \"../Table\";\nimport { InvoicesColumns } from \"./Columns\";\n\nimport './index.sass';\n\n\nconst Invoices = ({ locale, stripeInvoicesApiKey }) => {\n\n  const [activeInvoiceId, setActiveInvoiceId] = useState(null);\n  const [initialLoad, setInitialLoad] = useState(true);\n  const [invoices, setInvoices] = useState([]);\n  const [paymentModalIsOpen, setPaymentModalIsOpen] = useState(false);\n\n  const [getStripedInvoices, { loading }] = useLazyQuery(GET_STRIPE_INVOICES, {\n    fetchPolicy: 'no-cache',\n    onCompleted: (data) => {\n      if (data && data.stripeInvoices) {\n        setInvoices(data.stripeInvoices);\n        initialLoad && setInitialLoad(false);\n      }\n    },\n  });\n\n  useEffect(() => {\n    getStripedInvoices().catch(error => console.log('error', error));\n  }, []);\n\n  useEffect(() => {\n    activeInvoiceId && setPaymentModalIsOpen(true);\n  }, [activeInvoiceId]);\n\n  const openPaymentModal = (id) => {\n    setActiveInvoiceId(id);\n  }\n\n  const closePaymentModal = () => {\n    setPaymentModalIsOpen(false);\n    setActiveInvoiceId(null);\n  };\n\n  const handlePaymentSuccess = () => {\n    const updatedInvoices = [ ...invoices ];\n    const index = invoices.findIndex(invoice => invoice.id === activeInvoiceId);\n\n    updatedInvoices.splice(index, 1, { ...updatedInvoices[index], status: 'paid' });\n    setInvoices(updatedInvoices);\n    closePaymentModal();\n    // getStripedInvoices().catch(error => console.log(error));\n  };\n\n  const columns = InvoicesColumns(invoices, openPaymentModal);\n\n\n  return (\n    <div className=\"invoices\">\n\n      <Table\n        columns={columns}\n        data={invoices}\n        disableSortBy={true}\n        initialLoad={initialLoad}\n        extraClass=\"no-wrap\"\n        loading={initialLoad && loading}\n        name=\"invoices\"\n        noPagination={true}\n        hideBottomFilters={true}\n        perPage={!!invoices.length ? 100 : 5}\n      />\n\n      { paymentModalIsOpen &&\n        <PaymentModal\n          handleClose={closePaymentModal}\n          handlePaymentSuccess={handlePaymentSuccess}\n          invoiceId={activeInvoiceId}\n          locale={locale}\n          showModal={paymentModalIsOpen}\n          stripeInvoicesApiKey={stripeInvoicesApiKey}\n        />\n      }\n\n    </div>\n  )\n}\n\nexport default Invoices;\n","import React from 'react';\n\nimport './index.sass';\n\n\nexport const SkeletonLoader = ({ className, count }) =>\n  <div className={`skeleton-box-wrapper ${className}`}>\n    { Array.apply('test', Array(count)).map((elem, index) =>\n      <div className={`skeleton-box skeleton-box--${index + 1}`} key={className + index} />\n    )}\n  </div>;\n\n\nexport const PulsingLoader = () =>\n  <div className=\"pulsing-loader-wrapper\">\n    <div className=\"pulsing-loader\" />\n  </div>;\n\n\nexport const FileLoader = () =>\n  <div className=\"file-loader\">\n    <div className=\"progress\" />\n  </div>;\n\n\nexport const EllipsisLoader = () =>\n  <div className=\"ellipsis-loader\">\n    <div>\n      <span/>\n      <span/>\n      <span/>\n    </div>\n  </div>;\n","import React, { Fragment } from 'react';\nimport ReactTooltip from 'react-tooltip';\n\nimport BasicDropdown from '../../../SharedComponents/Forms/BasicDropdown';\nimport SearchableDropdown from '../../../SharedComponents/Forms/SearchableDropdown';\nimport { SvgIco } from \"../../../SharedComponents/Icons\";\n\n\nconst DropdownGroup = ({ children,\n                         label,\n                         labelCol,\n                         options,\n                         handleChange,\n                         name,\n                         value,\n                         tooltipClass,\n                         tooltipChildren,\n                         labelTooltip,\n                         labelClass,\n                         wrapperClass,\n                         searchable,\n                         disabled,\n                         error,\n                         required }) => {\n\n  const errorMessage = error ? `${label} ${error}` : null;\n\n  return (\n    <div className={`form-group row ${wrapperClass || ''}${required ? ' required-form-group' : ''}`} id={name}>\n      <div className={`form-label col-xl-${labelCol || 3} col-lg-${labelCol || 3} ${labelClass || ''}`}>\n\n        <span className=\"label-text\" style={labelTooltip ? { marginRight: '8px' } : null}>\n          { label }{ required && '*' }\n        </span>\n\n        { labelTooltip &&\n          <Fragment>\n\n            <span\n              className=\"provider-tooltip\"\n              data-tip={labelTooltip}\n              data-class=\"provider-tooltip\"\n              data-for={`${name}-tooltip`}>\n              <SvgIco name=\"info_outline\" size={24} />\n            </span>\n\n            <ReactTooltip\n              border={true}\n              borderColor=\"black\"\n              effect='solid'\n              id={`${name}-tooltip`}\n              place='right'\n              type=\"light\" />\n\n          </Fragment>\n        }\n\n      </div>\n\n      { searchable\n        ? <SearchableDropdown\n            disabled={disabled}\n            error={errorMessage}\n            handleChange={handleChange}\n            name={name}\n            options={options}\n            wrapperClass=\"col-xl-3 col-lg-4\"\n            value={value} />\n\n        : <BasicDropdown\n            disabled={disabled}\n            error={errorMessage}\n            handleChange={handleChange}\n            name={name}\n            options={options}\n            value={value}\n            wrapperClass=\"col-xl-3 col-lg-4\" />\n      }\n\n      { children || null }\n\n      { tooltipChildren &&\n        <Fragment>\n          <div className=\"col-xl-1 col-lg-1\" />\n          <div className=\"col-xl-5 col-lg-4\">\n            <div className={`form-group__tooltip ${ tooltipClass || '' }`}>\n              { tooltipChildren }\n            </div>\n          </div>\n        </Fragment>\n      }\n    </div>\n  )\n};\n\n\nexport default DropdownGroup;\n","import React, { Fragment, useContext } from 'react';\nimport ReactTooltip from 'react-tooltip';\n\nimport BasicInput from '../../../SharedComponents/Forms/BasicInput';\nimport { SvgIco } from \"../../../SharedComponents/Icons\";\nimport { Context } from '../index';\n\n\nconst InputGroup = ({ disabled,\n                      error,\n                      handleChange,\n                      inputWrapperClass,\n                      label,\n                      labelClass,\n                      labelTooltip,\n                      name,\n                      placeholder,\n                      required,\n                      tooltip,\n                      value,\n                    }) => {\n\n  const { errors, handleInputChange } = useContext(Context);\n  const errorMessage = error || (errors[name] ? `${label} ${error || errors[name]}` : null);\n\n\n  return (\n    <div className={`form-group row ${required ? 'required-form-group' : ''}`} id={name}>\n      <div className={`form-label col-xl-3 col-lg-3 ${labelClass || ''}`}>\n\n        <span className=\"label-text\" style={labelTooltip ? { marginRight: '8px' } : null}>\n          { label }{ required && '*' }\n        </span>\n\n        { labelTooltip &&\n          <Fragment>\n            <span\n              className=\"provider-tooltip\"\n              data-tip={labelTooltip}\n              data-class=\"provider-tooltip\"\n              data-for={`${name}-tooltip`}>\n              <SvgIco name=\"info_outline\" size={24} />\n            </span>\n            <ReactTooltip\n              border={true}\n              borderColor=\"black\"\n              effect='solid'\n              id={`${name}-tooltip`}\n              place='right'\n              type=\"light\" />\n          </Fragment>\n        }\n      </div>\n\n      <BasicInput\n        disabled={disabled}\n        error={errorMessage}\n        handleChange={handleChange || handleInputChange}\n        name={name}\n        placeholder={placeholder}\n        value={value}\n        wrapperClass={inputWrapperClass || 'col-xl-3 col-lg-4'} />\n\n      { tooltip &&\n        <Fragment>\n          <div className=\"col-xl-1 col-lg-1\" />\n          <div className=\"col-xl-5 col-lg-4\">\n            <div className=\"form-group__tooltip\">\n              <div className=\"form-group__tooltip-content\">\n                { tooltip }\n              </div>\n            </div>\n          </div>\n        </Fragment>\n      }\n    </div>\n  )\n}\n\nexport default InputGroup;\n","import React, { Fragment, useContext } from 'react';\nimport ReactTooltip from 'react-tooltip';\n\nimport RadioButtons from '../../../SharedComponents/Forms/RadioButtons';\nimport { SvgIco } from \"../../../SharedComponents/Icons\";\nimport { Context } from '../index';\n\n\nconst RadioFormGroup = ({\n    label,\n    field,\n    tooltip,\n    htmlTooltip,\n    activeClass,\n  }) => {\n\n  const { handleChange, values, activeSection } = useContext(Context);\n\n  const options = [\n    { label: I18n.t('generic.yes'), value: true, checked: values[field] },\n    { label: I18n.t('generic.no'), value: false, checked: !values[field] },\n  ];\n\n  return (\n    <div className=\"form-group form-group--radio row\">\n\n      { label\n        ?\n          <div className=\"form-label form-label--align-top col-xl-3 col-lg-3\">\n            <span style={tooltip ? { marginRight: '8px' } : null}>{label}</span>\n\n            { tooltip &&\n              <Fragment>\n              <span\n                data-tip={tooltip}\n                data-class=\"provider-tooltip\"\n                data-html={htmlTooltip}\n                data-for={`${field}-tooltip`}\n                className=\"provider-tooltip\"\n              >\n                <SvgIco name=\"info_outline\" size={24} />\n              </span>\n                <ReactTooltip\n                  border={true}\n                  borderColor=\"black\"\n                  effect=\"solid\"\n                  id={`${field}-tooltip`}\n                  place=\"right\"\n                  type=\"light\"\n                />\n              </Fragment>\n            }\n          </div>\n        :\n          <div className=\"form-label form-label--align-top col-lg-1\" />\n      }\n\n      <RadioButtons\n        activeClass={activeClass}\n        handleChange={(value) => handleChange(value, field, activeSection)}\n        name={field}\n        options={options}\n        wrapperClass=\"col-xl-3 col-lg-3\"\n      />\n    </div>\n  );\n};\n\nexport default RadioFormGroup;\n","import React, { Fragment, useContext } from 'react';\nimport classNames from 'classnames';\n\nimport BasicInput from '../../../SharedComponents/Forms/BasicInput';\nimport { Context } from '../index';\n\nimport './RangeInputs.sass';\n\n\nconst RangeInputs = ({ float,\n                       handleChange,\n                       hideSecondField,\n                       formGroupClass,\n                       label,\n                       labelCol,\n                       name,\n                       requiredFrom,\n                       requiredTo,\n                       tooltip,\n                       type,\n                       value,\n                       units,\n                       unitsPosition,\n                       useOriginName,\n                     }) => {\n\n  const { handleNumberInputChange, values, errors } = useContext(Context);\n  const nameFrom = useOriginName ? name : `${name}From`;\n  const nameTo = `${name}To`;\n  const valueFrom = values[nameFrom];\n  const valueTo = values[nameTo];\n  const errorFrom = errors && errors[nameFrom];\n  const errorTo = errors && errors[nameTo];\n  const unitsClasses = classNames(\"range-inputs__units\", { 'top': unitsPosition === 'top' });\n\n\n  return (\n    <div className={`form-group range-inputs row ${formGroupClass || ''}`}>\n\n      <div className={`form-label col-xl-${labelCol || 3} col-lg-${labelCol || 3}`}>\n        <span>{ label }</span>\n      </div>\n\n      <div className={`range-inputs__col col-lg-4 col-xl-${hideSecondField && !units ? '3 wide' : '4'}`}>\n        <div className=\"range-inputs__col-wrapper\">\n          <div className=\"range-inputs__wrapper\">\n            <div className=\"range-inputs__input-wrapper\">\n\n              <BasicInput\n                error={errorFrom}\n                float={float}\n                handleChange={(e) => handleChange ? handleChange(e, nameFrom) : handleNumberInputChange(e)}\n                hideError={true}\n                name={nameFrom}\n                placeholder={I18n.t('generic.from')}\n                required={requiredFrom}\n                type={type || \"number\"}\n                value={value || valueFrom || ''}\n              />\n\n              <span className=\"range-inputs__required-wrapper\">\n                { hideSecondField && units && <div className={unitsClasses}>{ units }</div> }\n                { requiredFrom && <span className=\"range-inputs__required-icon\">*</span> }\n              </span>\n            </div>\n\n            { !hideSecondField &&\n              <Fragment>\n                <span className=\"range-inputs__separator\">-</span>\n\n                <div className=\"range-inputs__input-wrapper\" id={nameTo}>\n                  <BasicInput\n                    error={errorTo}\n                    float={float}\n                    handleChange={(e) => handleChange ? handleChange(e, nameTo) : handleNumberInputChange(e)}\n                    hideError={true}\n                    name={nameTo}\n                    placeholder={I18n.t('generic.to')}\n                    required={requiredTo}\n                    type={type || \"number\"}\n                    value={valueTo || ''}\n                  />\n                </div>\n              </Fragment>\n            }\n          </div>\n\n          { !hideSecondField && units &&\n            <div className=\"range-inputs__second-units\">\n              <span className={unitsClasses}>\n                { units }{ requiredTo && <span className=\"range-inputs__required-icon\">*</span> }\n              </span>\n            </div>\n          }\n        </div>\n\n        { errorFrom &&\n          <div className=\"error-tooltip\">\n            { `${label} \"${I18n.t('generic.from').toLowerCase()}\" ${errorFrom}` }\n          </div>\n        }\n\n        { errorTo &&\n          <div className=\"error-tooltip\">\n            { `${label} \"${I18n.t('generic.to').toLowerCase()}\" ${errorTo}` }\n          </div>\n        }\n\n      </div>\n\n      { tooltip &&\n        <div className=\"range-inputs__tooltip\">\n          <div className=\"form-group__tooltip\">\n            { tooltip }\n          </div>\n        </div>\n      }\n    </div>\n  )\n}\n\nexport default RangeInputs;\n","import React, {useContext} from 'react';\nimport classNames from 'classnames';\n\nimport { SvgIco } from \"../../../SharedComponents/Icons\";\nimport { Context } from \"../index\";\n\nimport './index.sass';\n\n\nconst NavigationButtons = ({ handleNext, isSubmit, handleBack, requiredFieldsValid }) => {\n\n  const { activeSection,\n          addLocationLoading,\n          editPage,\n          editedValuesFields,\n          handleEdit,\n          validateFields,\n          validateLocationLoading,\n          updateLocationValuesLoading,\n        } = useContext(Context);\n\n  const nextButtonClasses = classNames('navigation-buttons__next', { 'submit': isSubmit }, { 'disabled': addLocationLoading || validateLocationLoading });\n  const updateButtonClasses = classNames('navigation-buttons__edit', {\n    'active': editPage && editedValuesFields.length,\n    'loading': updateLocationValuesLoading });\n\n  const handleEditValues = () =>\n    requiredFieldsValid\n      ? requiredFieldsValid() && validateFields(false, handleEdit)\n      : validateFields(false, handleEdit);\n\n\n  return (\n    <div className=\"navigation-buttons\">\n\n      { handleBack &&\n        <div className=\"navigation-buttons__back-link\" onClick={handleBack}>\n          <SvgIco name=\"arrow-back\" size={24} />\n          <div className=\"navigation-buttons__back-text\">\n            <span>{ I18n.t('generic.back') }</span>\n          </div>\n        </div>\n      }\n\n      <div className=\"navigation-buttons__right-block\">\n        { editPage && activeSection !== 'visuals' &&\n          <div className={updateButtonClasses} onClick={handleEditValues}>\n            { I18n.t('generic.save_changes') }\n          </div>\n        }\n\n        { handleNext &&\n          <div className={nextButtonClasses} onClick={handleNext}>\n            { isSubmit ? I18n.t('provider.form.complete_button') : I18n.t('generic.next') }\n            { !isSubmit && <SvgIco name=\"arrow_forward\" size={24} /> }\n          </div>\n        }\n      </div>\n    </div>\n  )\n}\n\nexport default NavigationButtons;\n","import React from 'react';\nimport classNames from \"classnames\";\nimport { useRouteMatch } from \"react-router-dom\";\nimport ReactTooltip from \"react-tooltip\";\n\nimport { SvgIco } from \"../../../SharedComponents/Icons\";\nimport MutableLink from '../../MutableLink';\nimport { ActionIcon } from \"../../ScoreWidget\";\n\nimport './index.sass';\n\n\nconst ProgressBar = ({ activeSection,\n                       editPage,\n                       lastAvailableStep,\n                       qualityScore,\n                       showFacts,\n                       stepsData,\n                       stepsRefs,\n                       validateFields\n                     }) => {\n\n  const { url } = useRouteMatch();\n  const currentStepRef = stepsRefs[activeSection] || null;\n  const validateFunction = currentStepRef ? () => currentStepRef.current.validateStep() : validateFields;\n\n  const scoreIconActive = (step) => {\n    if (qualityScore) {\n      switch (step) {\n        case 'economy':\n          return qualityScore.price.score;\n        case 'facts':\n          return qualityScore.facilities.score && qualityScore.energyRating.score;\n        case 'description':\n          return qualityScore.description.score;\n        case 'visuals':\n          return qualityScore\n            && qualityScore.floorPlan.score\n            && qualityScore.photos.score\n            && qualityScore.prospectus.score\n            && qualityScore.video.score\n            && qualityScore.virtualTour.score;\n        default:\n          return false\n      }\n    } else {\n      return false;\n    }\n  };\n\n  const ScoreIcon = ({ stepLink }) =>\n    <div className=\"provider-tooltip score-icon-wrapper\"\n         data-tip={\"This step includes items that can raise the rating of your lease\"}\n         data-class=\"provider-tooltip\"\n         data-for={`score-progress-${stepLink}-tooltip`}>\n      <ActionIcon color={scoreIconActive(stepLink) ? '#77BC1F' : ''} />\n      <ReactTooltip\n        border={true}\n        borderColor=\"black\"\n        effect='solid'\n        id={`score-progress-${stepLink}-tooltip`}\n        place='left'\n        type=\"light\" />\n    </div>;\n\n\n  return (\n    <div className='progress-bar'>\n      <div className=\"progress-bar__background-line\" />\n\n      { Object.keys(stepsData).map((item, index) => {\n\n        const step = stepsData[item];\n        const isActive = activeSection === step.link;\n        const showAsLink = (step.passed || lastAvailableStep === step.link || editPage) && !isActive;\n        const wrapperClasses = classNames(`progress-bar__step-wrapper`, {\n          'active': isActive,\n          'first': index === 0,\n          'last': index === Object.keys(stepsData).length - 1,\n        });\n\n        if (step.link === 'facts' && !showFacts) return;\n\n        return (\n          <MutableLink\n            currentStepRef={currentStepRef}\n            handleClick={validateFunction}\n            key={step.name}\n            linkClass=\"progress-bar__step-link\"\n            showAsLink={showAsLink}\n            stepLink={step.link}\n            url={`${url}/${step.link}`}\n          >\n            <div className={wrapperClasses}>\n              <div className=\"progress-bar__step-number-wrapper\">\n                { step.passed || editPage\n                  ?\n                    <div className=\"progress-bar__step-passed\">\n                      <SvgIco name={step.starRating ? 'star' : 'check'} size={16} />\n                      { step.showScoreIcon && <ScoreIcon stepLink={step.link} /> }\n                    </div>\n                  :\n                    <div className=\"progress-bar__step-number\">\n                      <div className=\"google-translate-helper\">\n                        { index + 1 }\n                      </div>\n                      { step.showScoreIcon && <ScoreIcon stepLink={step.link} /> }\n                    </div>\n                }\n              </div>\n              <div className=\"progress-bar__step-name\">\n                { step.name }\n              </div>\n            </div>\n          </MutableLink>\n        )\n      })}\n    </div>\n  )\n};\n\n\nexport default ProgressBar;\n","import React, { useState, useContext, useEffect } from 'react';\nimport { useLazyQuery } from \"@apollo/client\";\n\nimport Checkbox from '../../../SharedComponents/Forms/CheckBox';\nimport { GET_CONTACTS } from \"../../ApolloClient/queries\";\nimport NavigationButtons from '../NavigationButtons';\nimport DropdownGroup from '../FormGroups/DropdownGroup';\nimport { Context } from '../index';\n\nimport './Contacts.sass';\n\n\nconst Contacts = () => {\n\n  const [contacts, setContacts] = useState(null);\n\n  const {\n    currentContactId,\n    handleCheckboxesSelect,\n    showFacts,\n    validateFields,\n    values,\n    updateValues,\n  } = useContext(Context);\n\n  const { existingPrimaryContact, subscriberContactIds } = values;\n\n  const [getContacts] = useLazyQuery(GET_CONTACTS, {\n    fetchPolicy: 'no-cache',\n    onCompleted: (data) => {\n      if (data.contacts) {\n        setContacts([ ...data.contacts.contacts ]);\n      }\n    },\n  });\n\n  useEffect(() => {\n    getContacts({ variables: { perPage: 1000 } })\n      .catch(error => console.log('error', error));\n  }, []);\n\n  const primaryContactOptions =\n    contacts && contacts.map(contact =>\n      ({ value: `${contact.id}`, label: `${contact.name} - ${contact.email}`})\n    );\n\n\n  const handlePrimaryContactChange = (value) =>\n    updateValues({ existingPrimaryContact: { id: value } });\n\n\n  return (\n    <div className=\"contacts-step\">\n      <h3>{ I18n.t('generic.providers.sidebar.contacts') }</h3>\n\n      { primaryContactOptions &&\n        <DropdownGroup\n          handleChange={handlePrimaryContactChange}\n          label={I18n.t('activerecord.attributes.location.primary_contact')}\n          name=\"existingPrimaryContact\"\n          options={primaryContactOptions}\n          value={(existingPrimaryContact && existingPrimaryContact.id) || `${currentContactId}`}\n          tooltipChildren={\n            <p dangerouslySetInnerHTML={{ __html: I18n.t('providers.locations.form.primary_contact_help') }} />\n          }\n        />\n      }\n\n      <div className=\"form-group row\">\n        <div className=\"form-label form-label--bold form-label--left col-xl-12 col-lg-12\" style={{ marginBottom: '24px' }}>\n          <span>{ I18n.t('providers.locations.form.secondary_contacts') }</span>\n        </div>\n\n        <div className=\"col-xl-6 col-lg-6\">\n          { contacts && contacts.map(contact =>\n            <Checkbox\n              field=\"subscriberContactIds\"\n              handleChange={(e, field) => handleCheckboxesSelect(e, field, true)}\n              key={contact.id}\n              label={`${contact.name} - ${contact.email}`}\n              name={contact.id}\n              value={!!subscriberContactIds && subscriberContactIds.includes(Number(contact.id))} />\n          )}\n        </div>\n      </div>\n\n      <NavigationButtons\n        handleBack={() => validateFields('economy')}\n        handleNext={() => validateFields(showFacts ? 'facts' : 'description')}\n      />\n\n    </div>\n  )\n}\n\n\nexport default Contacts;\n","import React, {\n  useState,\n  useContext,\n  Fragment,\n  useEffect,\n  useRef,\n  useImperativeHandle,\n  forwardRef,\n  useMemo\n} from 'react';\nimport ReactTooltip from \"react-tooltip\";\nimport { useLazyQuery } from \"@apollo/client\";\nimport Truncate from 'react-truncate';\nimport SunEditor from 'suneditor-react';\nrequire(\"suneditor/dist/css/suneditor.min.css\")\n// import 'suneditor/dist/css/suneditor.min.css';\nrequire('react-quill/dist/quill.snow.css');\n\nimport GoEditImg from '../../../../src/images/provider/goedit.png';\nimport { SvgIco } from \"../../../SharedComponents/Icons\";\nimport Loader from \"../../../SharedComponents/Loader\";\nimport InfoMessagePopup from \"../../Popups/InfoMessagePopup\";\nimport BaseModal from \"../../Modals/BaseModal\";\nimport {\n  GENERATE_LOCATION_DESCRIPTION,\n  GENERATE_NEW_LOCATION_DESCRIPTION,\n  GENERATE_LOCATION_TITLE,\n  GENERATE_NEW_LOCATION_TITLE,\n} from \"../../ApolloClient/queries\";\nimport { ScoreActionTooltip } from \"../../ScoreWidget\";\nimport NavigationButtons from '../NavigationButtons';\nimport DropdownGroup from '../FormGroups/DropdownGroup';\nimport InputGroup from '../FormGroups/InputGroup';\nimport { Context } from '../index';\n\nimport './Description.sass';\n\n\n\n// We need to wrap component in `forwardRef` in order to gain\n// access to the ref object that is assigned using the `ref` prop.\n// This ref is passed as the second parameter to the function component.\nconst Description = forwardRef((props, ref) => {\n\n  const { defaultLocale,\n          editPage,\n          errors,\n          goEditUrl,\n          handleFormSubmit,\n          locationId,\n          prepareData,\n          qualityScore,\n          scrollToTarget,\n          setErrors,\n          setInfoMessagePopupIsOpen,\n          setInfoPopupMessageError,\n          showFacts,\n          showLocationInternalDetailsText,\n          siteKey,\n          translationsLocales,\n          updateLocation,\n          updateValues,\n          validateFields,\n          values,\n        } = useContext(Context);\n\n  const filterObjects = (data) =>\n    data ? Object.fromEntries(Object.entries(data).filter(([key, value]) => !!value)) : {};\n\n  const { internalIdentifier, providerWebsiteLink, countryAlpha2 } = values;\n  const localeObj = translationsLocales.find(locale => locale.id === countryAlpha2);\n  const countryLocale = (localeObj && localeObj.name) || defaultLocale;\n\n  const [errorMessagePopupIsOpen, setErrorMessagePopupIsOpen] = useState(null);\n  const [descriptionLanguage, setDescriptionLanguage] = useState(countryLocale);\n  const [description, setDescriptionsList] = useState(filterObjects(values.description));\n  const [title, setTitlesList] = useState(filterObjects(values.title));\n  const [showModal, setShowModal] = useState(false);\n  const [descriptionCounter, setDescriptionCounter] = useState();\n  const [callback, setCallback] = useState(null);\n  // We need this control variable as the description that we receive from backend\n  // is not always a valid option for Sun Editor(it has special characters, extra spaces ...).\n  // After skipping original description through Sun Editor(in case of \"Edit location\")\n  // it automatically edits HTML that causes failures for description changes check.\n  // In this case user sees save changes dialog when there wasn't actually any changes\n  const [controlDescription, setControlDescription] = useState(undefined);\n\n  const editor = useRef();\n\n  const requiredValuesFilled = useMemo(() => {\n      const descriptionFilled = Object.keys(filterObjects(description)).length;\n      const titleFilled = Object.keys(filterObjects(title)).length;\n\n      return descriptionFilled && titleFilled;\n  },[ title, description ]);\n\n  const currentDescriptionName = `description_${descriptionLanguage}`;\n  const currentHeadlineName = `title_${descriptionLanguage}`;\n  const bodyRequiredMessage = `${I18n.t('activerecord.attributes.location.description')} ${I18n.t('apps.lb_showroom.detailed.order_form.validation.field_required', { field: '' })}`;\n  const titleRequiredMessage = `${I18n.t('activerecord.attributes.location.title')} ${I18n.t('apps.lb_showroom.detailed.order_form.validation.field_required', { field: '' })}`;\n\n  const languageOptions =\n    translationsLocales.map(locale =>\n      ({ value: locale.name,\n         label: <Fragment>\n                  <i className={`description-step__locale-icon fi fi-${locale.id}`} />\n                  <div className=\"description-step__locale-name\">{ locale.name }</div>\n                </Fragment>\n      })\n    );\n\n\n  // Description has a difficult logic, and additional checks on validation\n  // this is why here we have a separate validate function,\n  // and we need to use 'forwardRef' to use this function in ProgressBar component.\n\n  // The component instance will be extended\n  // with whatever you return from the callback passed\n  // as the second argument.\n  // We need this functionality as some of the steps require additional checks.\n  // And we need to pass this functions and checks to ProgressBar component\n  // in order to validate step changes on ProgressBar link click.\n  // This will allow us to call function from this component in a parent component\n  // or any of it's child / example => [ref].current.validateStep()\n  // KEEP \"args\" to have opportunity to update nextStep!!!\n  useImperativeHandle(ref, (args) => ({\n    nextStep: null,\n    description,\n    title,\n    controlDescription,\n    validateStep: () => {\n      ref.current.nextStep && handleSubmit(ref.current.nextStep);\n    },\n  }));\n\n\n  useEffect(() => {\n    handleCounter();\n    setTimeout(handleControlProp, 100);\n  }, [descriptionLanguage]);\n\n\n  useEffect(() => {\n    callback && callback(values);\n    setCallback(null);\n  }, [values]);\n\n\n  // REMOVE ERROR ON DESCRIPTION CHANGE\n  // INVESTIGATE - any function call in handleDescriptionChange\n  // causes bugs while working with props (props doesn't change).\n  // Probably caused by SunEditor.\n  useEffect(() => {\n    description[descriptionLanguage] && handleErrors(['description']);\n    handleErrors([currentDescriptionName]);\n  }, [description]);\n\n\n  const [generateLocationDescription, { error: generateDescriptionError, loading: generatingDescription }] = useLazyQuery(GENERATE_LOCATION_DESCRIPTION, {\n    fetchPolicy: 'no-cache',\n    onCompleted: (data) => {\n      if (data) {\n        setDescriptionsList(prevValues => ({\n          ...prevValues,\n          [descriptionLanguage]: data.locationChatGptDescription.text,\n        }));\n      }\n    },\n  });\n\n\n  const [generateLocationTitle, { error: generateTitleError, loading: generatingTitle }] = useLazyQuery(GENERATE_LOCATION_TITLE, {\n    fetchPolicy: 'no-cache',\n    onCompleted: (data) => {\n      if (data) {\n        setTitlesList(prevValues => ({\n          ...prevValues,\n          [descriptionLanguage]: data.locationChatGptTitle.text,\n        }))\n      }\n    },\n  });\n\n\n  const [generateNewLocationDescription, { error: generateNewDescriptionError, loading: generatingNewLocationDescription }] = useLazyQuery(GENERATE_NEW_LOCATION_DESCRIPTION, {\n    fetchPolicy: 'no-cache',\n    onCompleted: (data) => {\n      if (data) {\n        setDescriptionsList(prevValues => ({\n          ...prevValues,\n          [descriptionLanguage]: data.newLocationChatGptDescription.text,\n        }));\n      }\n    },\n  });\n\n\n  const [generateNewLocationTitle, { error: generateNewTitleError, loading: generatingNewLocationTitle }] = useLazyQuery(GENERATE_NEW_LOCATION_TITLE, {\n    fetchPolicy: 'no-cache',\n    onCompleted: (data) => {\n      if (data) {\n        setTitlesList(prevValues => ({\n          ...prevValues,\n          [descriptionLanguage]: data.newLocationChatGptTitle.text,\n        }))\n      }\n    },\n  });\n\n\n  useEffect(() => {\n    (generateDescriptionError || generateTitleError || generateNewDescriptionError || generateNewTitleError) && setErrorMessagePopupIsOpen(true);\n  }, [generateDescriptionError, generateTitleError, generateNewDescriptionError, generateNewTitleError]);\n\n\n  const handleControlProp = () => ref.current && ref.current.description && setControlDescription({ ...ref.current.description });\n\n\n  const handleCounter = () => {\n    setDescriptionCounter(\n      description[descriptionLanguage]\n      ? description[descriptionLanguage].replace(/<[^>]+>/g, '').length\n      : 0\n    );\n  };\n\n\n  const setInitialValues = (locale) => {\n    setDescriptionsList(prevValues => ({\n      ...prevValues,\n      [locale]: (values.description && values.description[locale]) || '',\n    }));\n\n    setTitlesList(prevValues => ({\n      ...prevValues,\n      [locale]: (values.title && values.title[locale]) || '',\n    }));\n\n    callback && callback();\n    setCallback(null);\n  };\n\n\n  const handleSelectLanguage = (value) => {\n    if (handleUnsavedChanges(() => setDescriptionLanguage(value))) {\n      if (errors[currentDescriptionName] || errors[currentHeadlineName]) {\n        const updatedErrors = { ...errors };\n\n        errors[currentDescriptionName] && delete updatedErrors[currentDescriptionName];\n        errors[currentHeadlineName] && delete updatedErrors[currentHeadlineName];\n        setErrors({ ...updatedErrors });\n      }\n    }\n  };\n\n\n  const handleHeadlineChange = (e) => {\n    const field = e.target.name.split('_')[1];\n    const value = e.target.value;\n\n    handleErrors([e.target.name, 'title']);\n\n    setTitlesList(prevValues => ({\n      ...prevValues,\n      [field]: value,\n    }));\n  };\n\n\n  const handleDescriptionChange = (text) => {\n    // we need this check as ReactQuill will return <p><br/></p> if field is empty\n    const currentTextLength = editor.current.getText().length;\n    const formattedText = text.replace(/<\\s*(\\w+).*?>/g, '<$1>')\n                              .replace(/<(?!br)[^/>][^>]*><\\/[^>]+>/gim, \"\");\n\n    setDescriptionsList(prevValues => ({\n      ...prevValues,\n      [descriptionLanguage]: currentTextLength ? formattedText : '',\n    }));\n\n    ref.current.controlDescription === undefined && setControlDescription({\n      ...description,\n      [descriptionLanguage]: currentTextLength ? formattedText : '',\n    });\n\n    setDescriptionCounter(editor.current.getText().length);\n  };\n\n\n  const handleErrors = (fields) => {\n    const updatedErrors = { ...errors };\n\n    fields.map(field => {\n      if (updatedErrors[field]) {\n        delete updatedErrors[field];\n        setErrors({ ...updatedErrors });\n      }\n    });\n  };\n\n\n  const handleSave = () => {\n    const currentTitleFilled = !!title[descriptionLanguage];\n    const currentDescriptionFilled = !!description[descriptionLanguage];\n\n    if (currentDescriptionFilled !== currentTitleFilled) {\n      const fieldsError = { ...errors };\n\n      !currentTitleFilled && (fieldsError[currentHeadlineName] = titleRequiredMessage)\n      !currentDescriptionFilled && (fieldsError[currentDescriptionName] = bodyRequiredMessage)\n\n      setErrors({ ...fieldsError });\n      scrollToTarget(document.getElementById(!currentTitleFilled ? currentHeadlineName : currentDescriptionName));\n\n    } else {\n      updateValues({ description, title });\n      setControlDescription({ ...description });\n      // selectNextLocale();\n      editPage && validateRequiredFields() && updateDescription({ description, title });\n    }\n  };\n\n\n  const selectNextLocale = () => {\n    const unsetDefaultLocale = !description[countryLocale] ? countryLocale : !description[defaultLocale] ? defaultLocale : null;\n\n    if (unsetDefaultLocale) {\n      setDescriptionLanguage(unsetDefaultLocale);\n    } else {\n      const unfilledLocale = translationsLocales.find(locale => locale.name !== descriptionLanguage && !description[locale.name]);\n\n      unfilledLocale && setDescriptionLanguage(unfilledLocale.name);\n    }\n  };\n\n\n  const handleClear = () => {\n    setDescriptionsList(prevValues => ({\n      ...prevValues,\n      [descriptionLanguage]: '',\n    }));\n\n    setTitlesList(prevValues => ({\n      ...prevValues,\n      [descriptionLanguage]: '',\n    }));\n\n    const updatedErrors = { ...errors };\n\n    updatedErrors[currentDescriptionName] && (delete updatedErrors[currentDescriptionName]);\n    updatedErrors[currentHeadlineName] && (delete updatedErrors[currentHeadlineName]);\n    setErrors(updatedErrors);\n  };\n\n\n  const handleDelete = (locale) => {\n\n    const updatedDescriptionsList = { ...description, [locale]: '' };\n    const updatedTitlesList = { ...title, [locale]: '' };\n\n    setDescriptionsList(updatedDescriptionsList);\n    setTitlesList(updatedTitlesList);\n    updateValues({\n      description: { ...updatedDescriptionsList },\n      title: { ...updatedTitlesList },\n    });\n  };\n\n\n  const handleUnsavedChanges = (callbackFunction) => {\n\n    // TODO refactor\n    const comparatorError = (objectName) => {\n      const prevValue = objectName === 'description'\n        ? (controlDescription && controlDescription[descriptionLanguage]) || ''\n        : (values[objectName] && values[objectName][descriptionLanguage]) || '';\n      const currentValue = ref.current[objectName][descriptionLanguage];\n\n      return !prevValue ? !!prevValue !== !!currentValue : prevValue !== currentValue;\n    };\n\n    if (comparatorError('description') || comparatorError('title')) {\n      setShowModal(true);\n      setCallback(() => callbackFunction)\n      return false;\n    } else {\n      callbackFunction && callbackFunction();\n      return true;\n    }\n  };\n\n\n  const validateRequiredFields = () => {\n    const currentErrors = { ...errors };\n    const descriptionFilled = Object.keys(filterObjects(description)).length;\n    const titleFilled = Object.keys(filterObjects(title)).length;\n\n    !requiredValuesFilled && setDescriptionLanguage(countryLocale);\n    !descriptionFilled && (currentErrors[`description_${countryLocale}`] = bodyRequiredMessage);\n    !titleFilled && (currentErrors[`title_${countryLocale}`] = titleRequiredMessage);\n    setErrors({ ...currentErrors });\n\n    const errorField = !titleFilled ? `title_${countryLocale}` : !descriptionFilled ? `description_${countryLocale}` : null;\n\n    if (errorField) {\n      // setDescriptionLanguage(countryLocale);\n      scrollToTarget(document.getElementById(errorField));\n    }\n\n    return !Object.keys(currentErrors).length;\n  };\n\n\n  const handleSubmit = (nextStep, callback) =>\n    handleUnsavedChanges((data) => validateRequiredFields() && validateFields(nextStep, callback && callback(data)));\n\n\n  const handleModal = (save) => {\n    save ? handleSave() : setInitialValues(descriptionLanguage);\n    setShowModal(false);\n  };\n\n\n  // The sunEditor parameter will be set to the core suneditor instance when this function is called\n  const getSunEditorInstance = (sunEditor) =>\n    editor.current = sunEditor;\n\n\n  const handleEditorLanguage = () => {\n    const languageId = descriptionLanguage.split('-')[0];\n\n    switch (languageId) {\n      case 'uk':\n        return 'ua';\n      case 'fi':\n        return 'en';\n      case 'nb':\n        return 'en';\n      case 'tr':\n        return 'en';\n      case 'sv':\n        return 'se';\n      default:\n        return languageId;\n    }\n  };\n\n\n  const handleInput = () =>\n    setDescriptionCounter(editor.current.getText().length);\n\n\n  const updateDescription = (editedValues) => {\n    updateLocation({\n      variables: {\n        attributes: { ...prepareData(editedValues), countryAlpha2: values.countryAlpha2 },\n        id: Number(locationId),\n      },\n    }).catch((error) => {\n      console.log('error', error);\n      setInfoPopupMessageError(true);\n      setInfoMessagePopupIsOpen(true);\n    });\n  };\n\n\n  const generateDescription = () => {\n    if (!editPage) {\n      generateNewLocationDescription({ variables: { attributes: prepareData(values), locale: descriptionLanguage } });\n      generateNewLocationTitle({ variables: { attributes: prepareData(values), locale: descriptionLanguage } });\n    } else {\n      generateLocationDescription({ variables: { locationId, locale: descriptionLanguage } });\n      generateLocationTitle({ variables: { locationId, locale: descriptionLanguage } });\n    }\n  };\n\n\n  const generatingDescriptionAndTitle =\n    generatingDescription ||\n    generatingTitle ||\n    generatingNewLocationDescription ||\n    generatingNewLocationTitle;\n\n\n  const generateDescriptionButton =\n    <div className=\"description-step__generate-button-wrapper col-xl-4 col-lg-3\">\n      <div className={`description-step__generate-button provider-tooltip ${generatingDescriptionAndTitle ? 'disabled' : ''}`}\n           data-tip={I18n.t('providers.locations.form.description_generate_tooltip')}\n           data-class=\"provider-tooltip\"\n           data-for={'generate-description-tooltip'}\n           onClick={() => generatingDescriptionAndTitle ? null : generateDescription()}>\n        { I18n.t('providers.locations.form.description_generate_button') }\n        { generatingDescriptionAndTitle && <Loader size={18} left={0} top={0}/> }\n      </div>\n      <ReactTooltip\n        border={true}\n        borderColor=\"#FFA300\"\n        effect='solid'\n        id={'generate-description-tooltip'}\n        place='bottom'\n        type=\"light\" />\n    </div>;\n\n\n  return (\n    <div className=\"description-step notranslate\" content=\"notranslate\" translate=\"no\">\n\n      <InfoMessagePopup\n        customClass={'error'}\n        handleClose={() => setErrorMessagePopupIsOpen(false)}\n        message={I18n.t('providers.locations.form.description_limit_exceeded_error')}\n        visible={errorMessagePopupIsOpen}\n      />\n\n      <div className=\"location-form__section-wrapper\">\n        <h3>\n          { I18n.t('providers.locations.form.description') }\n\n          <ScoreActionTooltip\n            filled={qualityScore && qualityScore.description.score}\n            label={qualityScore && I18n.t(`provider.form.quality_score.hint_label.description`)}\n          />\n        </h3>\n\n        { values.description && translationsLocales.map(locale =>\n          values.description[locale.name] &&\n          <div className=\"description-step__preview-card\" key={`preview${locale.name}`}>\n\n            <div className=\"description-step__preview-locale-wrapper\">\n              <i className={`description-step__locale-icon fi fi-${locale.id}`} />\n              <div className=\"description-step__locale-name\">{ locale.name }</div>\n            </div>\n\n            <div className=\"description-step__preview-headline\">\n              { values.title[locale.name] }\n            </div>\n\n            <div className=\"description-step__preview-description\">\n              <Truncate\n                lines={2}\n                ellipsis=\"...\"\n                children={<p dangerouslySetInnerHTML={{__html: values.description[locale.name].replace(/<[^>]+>/g, '').replace(/&nbsp;/g, '')}}/>}\n              />\n            </div>\n\n            <div className=\"description-step__edit-button\">\n              <SvgIco\n                className=\"description-step__preview-delete\"\n                name=\"delete_forever\"\n                onClick={() => handleDelete(locale.name)}\n                size={22} />\n              <SvgIco\n                className=\"description-step__preview-edit\"\n                name=\"border_color\"\n                onClick={() => setDescriptionLanguage(locale.name)}\n                size={18} />\n            </div>\n          </div>\n        )}\n\n        <div className=\"description-step__wrapper\">\n\n          <DropdownGroup\n            children={generateDescriptionButton}\n            disabled={languageOptions.length === 1}\n            handleChange={handleSelectLanguage}\n            label={I18n.t('providers.form.description_language')}\n            name=\"descriptionLanguage\"\n            options={languageOptions}\n            value={descriptionLanguage}\n            wrapperClass={`form-group--lang ${generatingDescriptionAndTitle ? 'disabled' : ''}`} />\n\n          <div id=\"title\" />\n          <div id={`title_${countryLocale}`} className={`description-step__title-wrapper${(generatingTitle || generatingNewLocationTitle) ? ' disabled' : ''}`}>\n            <InputGroup\n              error={errors[currentHeadlineName] || (errors.title && `${I18n.t('activerecord.attributes.location.title')} ${errors.title}`)}\n              inputWrapperClass=\"notranslate col-xl-7 col-lg-7\"\n              handleChange={handleHeadlineChange}\n              label={`${I18n.t('activerecord.attributes.location.title')}${!requiredValuesFilled ? '*' : ''}`}\n              name={currentHeadlineName}\n              value={title[descriptionLanguage] || ''} />\n          </div>\n\n          <div className=\"form-group row\">\n\n            <div className=\"form-label col-xl-3 col-lg-3\">\n            <span>\n              { I18n.t('activerecord.attributes.location.description') }{!requiredValuesFilled && '*'}\n            </span>\n            </div>\n\n            <div className=\"col-xl-7 col-lg-7\">\n              <div className=\"sectionScrollTarget\" id=\"description\" />\n              <div className={`notranslate description-step__formatter-wrapper${errors[currentDescriptionName] || errors.description ? ' error' : ''}${(generatingDescription || generatingNewLocationDescription) ? ' disabled' : ''}`}\n                   id={`description_${countryLocale}`}\n                   content=\"notranslate\"\n                   translate=\"no\"\n                   key={`wrapper-${descriptionLanguage}`}>\n\n                <SunEditor\n                  getSunEditorInstance={getSunEditorInstance}\n                  value={description[descriptionLanguage] || ''}\n                  setContents={description[descriptionLanguage] || ''}\n                  onChange={handleDescriptionChange}\n                  lang={handleEditorLanguage()}\n                  resizingBar={false}\n                  onInput={handleInput}\n                  options={{ pasteTagsWhitelist: 'p|ul|ol|li|sup|br|strong' }}\n                  name={currentDescriptionName}\n                  historyStackDelayTime={10}\n                  setOptions={{\n                    pasteTagsWhitelist: 'p|ul|ol|li|sup|br|strong',\n                    buttonList: [\n                      ['list', 'superscript', 'removeFormat', 'bold'],\n                      ['preview', 'undo', 'redo'],\n                    ],\n                  }} />\n              </div>\n\n              <div className={`description-step__description-counter${(generatingDescription || generatingNewLocationDescription) ? ' disabled' : ''}`}>\n                { I18n.t('providers.form.description_text_length') }: { descriptionCounter }\n              </div>\n\n              { errors[currentDescriptionName] &&\n                <div className=\"description-step__description-error-tooltip\">\n                  { errors[currentDescriptionName] }\n                </div>\n              }\n\n              { !errors[currentDescriptionName] && errors.description &&\n                <div className=\"description-step__description-error-tooltip\">\n                  { I18n.t('activerecord.attributes.location.description') } { errors.description }\n                </div>\n              }\n\n              <p className=\"description-step__description-notice\"\n                 dangerouslySetInnerHTML={{__html: I18n.t('providers.locations.form.notice') }} />\n\n              <div className=\"description-step__description-buttons\">\n                <div className=\"description-step__button-clear\" onClick={handleClear}>\n                  { I18n.t('providers.form.description_clear_button') }\n                </div>\n\n                <div className=\"description-step__button-save\" onClick={handleSave}>\n                  { I18n.t('generic.save') }\n                </div>\n              </div>\n            </div>\n\n            { siteKey === 'dk' &&\n              <div className=\"col-xl-10 col-lg-10 offset-1\">\n                <div className=\"description-step__go-edit\">\n\n                  <a href={goEditUrl} className=\"description-step__go-edit-img\">\n                    <img src={GoEditImg} alt=\"GoEdit\" />\n                  </a>\n\n                  <div className=\"description-step__go-edit-headline\">\n                    { I18n.t('providers.goedit_banner.headline') }\n                  </div>\n\n                  <p className=\"description-step__go-edit-description\">\n                    { I18n.t('providers.locations.form.go_edit_part_above_image',\n                      { type: values.section === 'lease' || values.anonymous ? I18n.t('global.terms.lease_property') : I18n.t('global.terms.sale_property') })\n                    }\n                    <a href={goEditUrl} className=\"description-step__go-edit-link\" target=\"_blank\">\n                      { I18n.t('providers.goedit_banner.button_text') }\n                    </a>\n                  </p>\n\n                </div>\n              </div>\n            }\n          </div>\n        </div>\n      </div>\n\n\n      <div className=\"location-form__section-wrapper\" style={{ marginTop: '16px', minHeight: '259px' }}>\n        <div className=\"row\">\n          <div className=\"col-xl-7 col-lg-8\">\n            <h3>{ I18n.t('providers.locations.form.internal_header_text_new') }</h3>\n          </div>\n\n          { showLocationInternalDetailsText &&\n            <div className=\"col-xl-5 col-lg-4\">\n              <div className=\"form-group__tooltip description-step__internal-details-tooltip\"\n                   dangerouslySetInnerHTML={{ __html: I18n.t('activerecord.attributes.property.provider_website_link_tooltip') }} />\n            </div>\n          }\n        </div>\n\n        <InputGroup\n          label={I18n.t('activerecord.attributes.location.internal_identifier')}\n          name=\"internalIdentifier\"\n          value={internalIdentifier || ''} />\n\n        <InputGroup\n          label={I18n.t('activerecord.attributes.property.provider_website_link_new')}\n          name=\"providerWebsiteLink\"\n          value={providerWebsiteLink} />\n      </div>\n\n      <NavigationButtons\n        handleBack={() => handleSubmit(showFacts ? 'facts' : 'contacts')}\n        handleNext={() => handleSubmit(editPage ? 'visuals' : null, editPage ? null : handleFormSubmit)}\n        isSubmit={!editPage && siteKey !== 'dk'}\n        requiredFieldsValid={() => handleUnsavedChanges() && validateRequiredFields()} />\n\n      <BaseModal\n        confirmButtonText={I18n.t('generic.save')}\n        handleClose={() => setShowModal(false)}\n        modalIsOpen={showModal}\n        onConfirmClick={() => handleModal(true)}\n        onRejectClick={() => handleModal(false)}\n        rejectButtonText={I18n.t('providers.form.unsaved_changes_modal.decline_button')}\n        textContent={I18n.t('providers.form.unsaved_changes_modal.text')} />\n\n    </div>\n  )\n});\n\n\nexport default Description;\n","import React, { useEffect, Fragment } from 'react';\nimport ReactTooltip from \"react-tooltip\";\n\nimport { SvgIco } from \"../../../../../SharedComponents/Icons\";\nimport DropdownGroup from \"../../../FormGroups/DropdownGroup\";\nimport RangeInputs from \"../../../FormGroups/RangeInputs\";\n\nimport './index.sass';\n\n\nconst CombinedKindForm = ({ areaUnit,\n                            combinedKinds,\n                            currentData,\n                            data,\n                            formattedCurrency,\n                            errors,\n                            handleErrors,\n                            initialData,\n                            mainKind,\n                            selectedKinds,\n                            updateSelectedKinds,\n                            updateValues }) => {\n\n\n  useEffect(() => {\n    (data.area || data.yearlyPricePerM2) && errors.includes(data.kind) && handleErrors(errors.filter(error => error !== data.kind));\n  }, [data]);\n\n\n  const capitalize = (name) => name.charAt(0).toUpperCase() + name.slice(1);\n\n\n  const combinedKindsWithIndex = () => {\n    const newCurrentKinds = [];\n    const currentKindsIndex = currentData.findIndex(combinedKind => combinedKind.kind === data.kind);\n    const selectedKindsIndex = selectedKinds.findIndex(combinedKind => combinedKind.kind === data.kind);\n    // We need to copy all objects through iteration as we receive frozen objects from backend.\n    currentData.map(location => newCurrentKinds.push({ ...location }));\n\n    return { newCurrentKinds, currentKindsIndex, selectedKindsIndex };\n  };\n\n\n  const handleChange = (e) => {\n    const field = e.target.name;\n    const value = Number(e.target.value) || null;\n    const { newCurrentKinds, currentKindsIndex, selectedKindsIndex } = combinedKindsWithIndex();\n    const newSelectedKinds = [ ...selectedKinds ];\n\n\n    newCurrentKinds[currentKindsIndex][field] = value;\n    newSelectedKinds[selectedKindsIndex][field] = value;\n    updateValues({ combinedLocationsAttributes: [ ...newCurrentKinds ] });\n    updateSelectedKinds(newSelectedKinds);\n  };\n\n\n  const updateKind = (newKind) => {\n    const { newCurrentKinds, currentKindsIndex, selectedKindsIndex } = combinedKindsWithIndex();\n    const newSelectedKinds = [ ...selectedKinds ];\n    const destroyKindIndex = initialData.findIndex(combinedKind => combinedKind.kind === data.kind);\n\n    newSelectedKinds[selectedKindsIndex].kind = newKind;\n    updateSelectedKinds(newSelectedKinds);\n\n    if (destroyKindIndex >= 0) {\n      newCurrentKinds[currentKindsIndex] = {\n        ...newCurrentKinds[currentKindsIndex],\n        area: null,\n        yearlyPricePerM2: null,\n        _destroy: 1,\n      };\n      newCurrentKinds.push(newSelectedKinds[selectedKindsIndex]);\n    } else {\n      newCurrentKinds[currentKindsIndex].kind = newKind;\n      newCurrentKinds[currentKindsIndex]._destroy && delete newCurrentKinds[currentKindsIndex]._destroy;\n    }\n\n    updateValues({ combinedLocationsAttributes: [ ...newCurrentKinds ] });\n  };\n\n\n  const deleteKind = () => {\n    const { newCurrentKinds, currentKindsIndex, selectedKindsIndex } = combinedKindsWithIndex();\n    const newSelectedKinds = [ ...selectedKinds ];\n    const destroyKindIndex = initialData.findIndex(combinedKind => combinedKind.kind === data.kind);\n\n    selectedKindsIndex >= 0 && newSelectedKinds.splice(selectedKindsIndex, 1);\n    updateSelectedKinds(newSelectedKinds);\n\n    if (destroyKindIndex >= 0) {\n      newCurrentKinds[currentKindsIndex] = {\n        ...newCurrentKinds[currentKindsIndex],\n        area: null,\n        yearlyPricePerM2: null,\n        _destroy: 1,\n      };\n    } else {\n      currentKindsIndex >= 0 && newCurrentKinds.splice(currentKindsIndex, 1);\n    }\n\n    updateValues({ combinedLocationsAttributes: [ ...newCurrentKinds ] });\n  };\n\n\n  const currentKind = data.kind;\n  const area = data.area || null;\n  const yearlyPricePerM2 = data.yearlyPricePerM2 || null;\n  const hasError = errors.includes(data.kind);\n  const isMainKind = mainKind === currentKind;\n  const kindsOptions = combinedKinds\n    .filter(kind => !selectedKinds.some(selectedKind => selectedKind.kind === kind))\n    .map(kind => ({ value: kind, label: capitalize(I18n.t(`global.models.combined_location.kinds.${ kind }.normal`)) }));\n\n\n  return (\n    <div className=\"combined-kind-form\" id={`combined-form-${data.kind}`}>\n\n      { !isMainKind &&\n\n        <Fragment>\n          <span className=\"provider-tooltip combined-kind-form__delete-btn\"\n                data-tip={I18n.t('generic.delete')}\n                data-for=\"combined-delete-btn\">\n            <SvgIco\n              name=\"delete_outline\"\n              size={24}\n              onClick={deleteKind}\n              className=\"\"\n            />\n          </span>\n          <ReactTooltip\n            border={true}\n            borderColor=\"black\"\n            effect='solid'\n            id=\"combined-delete-btn\"\n            place='top'\n            type=\"light\"\n          />\n        </Fragment>\n      }\n\n      <div className=\"combined-kind-form__headline\">\n        { isMainKind ? I18n.t('providers.locations.form.combined_locations_main_property') : I18n.t('providers.locations.form.combined_locations_additional_property') }\n      </div>\n\n      { isMainKind || !kindsOptions.length\n        ?\n          <div className=\"combined-kind-form__kind row\">\n            <div className=\"col-lg-4\">\n              { I18n.t('activerecord.attributes.property.category') }\n            </div>\n            <div className=\"col-lg-4\">\n              { capitalize(I18n.t(`global.models.combined_location.kinds.${currentKind}.normal`)) }\n            </div>\n          </div>\n        :\n          <DropdownGroup\n            handleChange={(option) => updateKind(option)}\n            label={I18n.t('activerecord.attributes.property.category')}\n            labelCol={4}\n            name=\"section\"\n            options={kindsOptions}\n            value={{ value: currentKind, label: capitalize(I18n.t(`global.models.combined_location.kinds.${currentKind}.normal`)) }}\n          />\n      }\n\n      <RangeInputs\n        functionAttr={currentKind}\n        handleChange={(e) => handleChange(e)}\n        hideSecondField={true}\n        formGroupClass={hasError && 'error'}\n        label={ I18n.t('apps.lb_showroom.detailed.facts.area_label') }\n        labelCol={4}\n        name={`area`}\n        value={area}\n        units={areaUnit}\n        useOriginName={true} />\n\n      <RangeInputs\n        functionAttr={currentKind}\n        handleChange={(e) => handleChange(e)}\n        hideSecondField={true}\n        formGroupClass={hasError && 'error'}\n        label={ I18n.t('activerecord.attributes.combined_location.yearly_price_per_m2') }\n        labelCol={4}\n        name={`yearlyPricePerM2`}\n        value={yearlyPricePerM2}\n        units={`${ formattedCurrency }/${areaUnit}`}\n        useOriginName={true} />\n\n\n      { hasError &&\n        <div className=\"row\">\n          <div className=\"combined-kind-form__error-message col-lg-8 offset-lg-4\">\n            { I18n.t('providers.locations.form.combined_locations_error') }\n          </div>\n        </div>\n      }\n\n    </div>\n  )\n};\n\n\nexport default CombinedKindForm;\n","import React, { Fragment, useState, useContext, useMemo, useEffect } from 'react';\nimport DateTimePicker from 'react-datetime-picker';\nimport ReactTooltip from \"react-tooltip\";\n\nimport Checkbox from '../../../../SharedComponents/Forms/CheckBox';\nimport { SvgIco } from \"../../../../SharedComponents/Icons\";\nimport SecondaryKindsInfoModal from \"../../../Modals/SecondaryKindsInfoModal\";\nimport RangeInputs from '../../FormGroups/RangeInputs';\nimport RadioFormGroup from '../../FormGroups/RadioFormGroup';\nimport DropdownGroup from '../../FormGroups/DropdownGroup';\nimport NavigationButtons from '../../NavigationButtons';\nimport InputGroup from '../../FormGroups/InputGroup';\nimport { ScoreActionTooltip } from \"../../../ScoreWidget\";\nimport { Context } from '../../index';\nimport CombinedKindForm from \"./CombinedKindForm\";\n\nimport './index.sass';\n\n\nconst Economy = () => {\n\n  const {\n    capitalize,\n    currencyList,\n    currentStepRef,\n    defaultCurrencyId,\n    errors,\n    handleChange,\n    leaseKinds,\n    leasePrices,\n    handleCheckboxesSelect,\n    parkingTypes,\n    qualityScore,\n    saleKinds,\n    saleSections,\n    scrollToTarget,\n    setErrors,\n    showSecondaryKindsMessage,\n    siteKey,\n    updateValues,\n    validateFields,\n    validateRequiredFields,\n    values,\n    secondaryKindsMapping,\n    suitableForKindsMapping,\n  } = useContext(Context);\n\n  const {\n    auctionNumber,\n    combinedLocationsAttributes,\n    currencyId,\n    dateOfAuction,\n    enableCombinedLocations,\n    isRentIncludeOperationalCost,\n    kind,\n    parkingType,\n    secondaryKinds,\n    section,\n    suitableForKinds,\n  } = values;\n\n  const [annualPricesOpen, setAnnualPricesOpen] = useState(false);\n  const [annualPricesM2Open, setAnnualPricesM2Open] = useState(true);\n  const [combinedKindsErrors, setCombinedKindsErrors] = useState([]);\n  const [initialCombinedKinds, setInitialCombinedKinds] = useState([]);\n  const [secondaryKindModalIsOpen, setSecondaryKindModalIsOpen] = useState(false);\n  const [visibleCombinedKinds, setVisibleCombinedKinds] = useState([]);\n\n  const countryAlpha2 = values.countryAlpha2 || null;\n  const areaUnit = countryAlpha2 === 'us' ? 'ft²' : 'm²';\n  const currencies = JSON.parse(currencyList);\n  const sectionLease = section === 'lease' || section === 'anonymous';\n  const locationKinds = sectionLease ? leaseKinds : saleKinds;\n  const filterLocationKinds = values.countryAlpha2 !== 'dk' ? locationKinds.filter(kind => kind !== 'parking') : locationKinds;\n\n  const kindsOptions =\n          filterLocationKinds.map(kind =>\n              ({ value: kind, label: I18n.t(`generic.${kind}`) })\n          );\n\n  const saleSectionsOptions =\n          saleSections.map(section =>\n            ({ value: section, label: capitalize(I18n.t(`generic.models.property.category.${section}`, { count: 1 }))})\n          );\n\n  const parkingTypesOptions =\n          parkingTypes.map(type =>\n            ({ value: type, label: I18n.t(`providers.locations.form.parking_types.${type}`) })\n          );\n\n  const currencyOptions =\n          currencies.map(currency =>\n            ({ value: `${currency.id}`, label: currency.name })\n          );\n\n  const combinedKinds =\n    kind === 'office'\n      ? ['office', 'warehouse', 'store', 'showroom']\n      : kind === 'store'\n      ? ['store', 'warehouse', 'office', 'showroom']\n      : kind === 'warehouse'\n      ? ['warehouse', 'office', 'showroom']\n      : null;\n\n  const formattedCurrency = currencies.filter(item => {\n    const currentCurrency = (currencyId && Number(currencyId)) || defaultCurrencyId.id;\n    return item.id === currentCurrency;\n  })[0].formatted;\n\n  const defaultSection = saleSectionsOptions.some(option => option.value === section) ? section : '';\n\n\n  useEffect(() => {\n    if (enableCombinedLocations) {\n      const combinedKinds = [];\n      const initialKinds = [];\n\n      combinedLocationsAttributes && combinedLocationsAttributes.map(kind => {\n        (kind.hasOwnProperty('area') || kind.hasOwnProperty('yearlyPricePerM2')) && combinedKinds.push({ ...kind });\n        initialKinds.push(kind);\n      });\n\n      setVisibleCombinedKinds(checkCombinedKindsOrder(combinedKinds));\n      setInitialCombinedKinds(initialKinds);\n    }\n  }, []);\n\n\n  const additionalCombinedKindsAvailable = useMemo(\n    () =>\n      visibleCombinedKinds && visibleCombinedKinds.length && combinedKinds\n        ? !combinedKinds.every(kind => visibleCombinedKinds.find(attr => attr.kind === kind))\n        : true,\n    [visibleCombinedKinds],\n  );\n\n\n  const checkCombinedKindsOrder = (initialKinds, newLocationKind) => {\n    // Put main combined kind to the top in case location kind change\n    if (enableCombinedLocations && visibleFor(['office', 'warehouse', 'store'])) {\n      const updatedCombinedKinds = [];\n      const combinedKinds = initialKinds || visibleCombinedKinds;\n      const mainLocationKind = newLocationKind || kind;\n\n      combinedKinds && combinedKinds.map(kind =>\n        (kind.hasOwnProperty('area') || kind.hasOwnProperty('yearlyPricePerM2')) && updatedCombinedKinds.push({ ...kind }));\n\n      const mainKindIndex = updatedCombinedKinds.findIndex(combinedKind => combinedKind.kind === mainLocationKind);\n      const mainKind = (mainKindIndex >= 0 && updatedCombinedKinds[mainKindIndex]) || { mainLocationKind };\n\n      mainKindIndex >= 0 && updatedCombinedKinds.splice(mainKindIndex, 1);\n      updatedCombinedKinds.unshift(mainKind);\n\n      return initialKinds ? updatedCombinedKinds : setVisibleCombinedKinds(updatedCombinedKinds);\n    }\n  };\n\n\n  const toCamelCase = (value) =>\n    value.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());\n\n\n  const secondaryKindsList = () =>\n    secondaryKindsMapping[toCamelCase(section)]?.[toCamelCase(kind)];\n\n\n  const suitableForKindsList = () =>\n    suitableForKindsMapping[toCamelCase(section)]?.[toCamelCase(kind)]\n\n\n  const handleKindChange = (value, name) => {\n    Object.keys(errors).length && setErrors({});\n    secondaryKinds.length && handleChange([], 'secondaryKinds');\n    parkingType && handleChange(null, 'parkingType');\n    handleChange(value, name);\n  };\n\n\n  const handleSecondaryKindsChange = (e, name) => {\n    showSecondaryKindsMessage\n    && invisibleFor(['virtual_office', 'parking', 'coworking', 'meeting_room'])\n    && (!secondaryKinds || secondaryKinds.length === 0)\n    && setSecondaryKindModalIsOpen(true);\n\n    handleCheckboxesSelect(e, name);\n  };\n\n\n  const addNewCombinedKind = () => {\n\n    const newKind = (visibleCombinedKinds && visibleCombinedKinds.length)\n      ? combinedKinds.find(kind => !visibleCombinedKinds.some(attr => attr.kind === kind)) || null\n      : combinedKinds[0];\n\n    if (newKind) {\n      const updatedCombinedKinds = [ ...visibleCombinedKinds ];\n      const currentKindsKindIndex = combinedLocationsAttributes && combinedLocationsAttributes.findIndex(attr => attr.kind === newKind);\n      const newCombinedLocationAttributes = [];\n\n      // We need to copy all objects through iteration as we receive frozen objects from backend.\n      combinedLocationsAttributes && combinedLocationsAttributes.map(kind => newCombinedLocationAttributes.push({ ...kind }));\n      updatedCombinedKinds.push({ kind: newKind });\n      setVisibleCombinedKinds(updatedCombinedKinds);\n\n      if (!currentKindsKindIndex || currentKindsKindIndex < 0) {\n        newCombinedLocationAttributes.push({ kind: newKind });\n        updateValues({ combinedLocationsAttributes: [ ...newCombinedLocationAttributes ] });\n      } else {\n        newCombinedLocationAttributes[currentKindsKindIndex]._destroy\n          && delete newCombinedLocationAttributes[currentKindsKindIndex]._destroy;\n        updateValues({ combinedLocationsAttributes: [ ...newCombinedLocationAttributes ] });\n      }\n    }\n  };\n\n\n  const errorsHandler = (errors) => {\n    const errorField = document.getElementById(Object.keys(errors)[0]);\n    const annualPricesWrapper = document.getElementById('annual-prices');\n    const annualM2pricesWrapper = document.getElementById('annual-prices-m2');\n    const openAnnualPrices = annualPricesWrapper && annualPricesWrapper.contains(errorField) && !annualPricesOpen;\n    const openAnnualM2Prices = annualM2pricesWrapper && annualM2pricesWrapper.contains(errorField) && !annualPricesM2Open;\n\n    if (openAnnualPrices || openAnnualM2Prices) {\n      openAnnualPrices ? setAnnualPricesOpen(true) : setAnnualPricesM2Open(true);\n      setTimeout(scrollToTarget(document.getElementById(Object.keys(errors)[0])), 500);\n    } else {\n      scrollToTarget(document.getElementById(Object.keys(errors)[0]))\n    }\n  };\n\n  const validateCombinedLocations = () => {\n    if (enableCombinedLocations) {\n      const errors = [];\n\n      visibleCombinedKinds && visibleCombinedKinds.length &&\n      visibleCombinedKinds.map(combinedKind =>\n        combinedKinds.includes(combinedKind.kind) && !combinedKind.area && !combinedKind.yearlyPricePerM2 && errors.push(combinedKind.kind)\n      );\n\n      setCombinedKindsErrors(errors);\n      errors.length && setTimeout(scrollToTarget(document.getElementById(`combined-form-${errors[0]}`)), 500);\n\n      return !errors.length;\n    } else {\n      return true;\n    }\n  };\n\n  const handleValidate = (nextStep) => validateRequiredFields(errorsHandler) && validateCombinedLocations() && validateFields(nextStep, null, errorsHandler);\n\n  const handleChangeTime = (date) => handleChange(date ? date.toISOString() : date, 'dateOfAuction');\n\n  const visibleFor = (kinds) => kinds.indexOf(sectionLease ? kind : section) >= 0;\n\n  const invisibleFor = (kinds) => kinds.indexOf(sectionLease ? kind : section) < 0;\n\n  const showUptoField = (name) => !(values[`${name}To`] || values.areaTo);\n\n\n  return (\n    <div className=\"economy-step\" ref={currentStepRef}>\n\n      <SecondaryKindsInfoModal\n        handleCancel={() => {\n          handleChange([], 'secondaryKinds');\n          setSecondaryKindModalIsOpen(false);\n        }}\n        handleClose={() => setSecondaryKindModalIsOpen(false)}\n        showModal={secondaryKindModalIsOpen}\n      />\n\n      <div className=\"location-form__section-wrapper\">\n        { !sectionLease &&\n          <DropdownGroup\n            handleChange={handleChange}\n            label={I18n.t('activerecord.attributes.property.category')}\n            name=\"section\"\n            options={saleSectionsOptions}\n            value={defaultSection} />\n        }\n\n        <DropdownGroup\n          handleChange={(value, name) => {\n            visibleCombinedKinds.length && checkCombinedKindsOrder(false, value);\n            handleKindChange(value, name);\n          }}\n          label={I18n.t('activerecord.attributes.property.kind')}\n          labelTooltip={I18n.t('provider.form.economy.kind_tooltip')}\n          name=\"kind\"\n          options={kindsOptions}\n          required={true}\n          tooltipClass={showSecondaryKindsMessage && 'relative'}\n          value={kind || kindsOptions[0]} />\n\n        { kind === 'parking' &&\n          <DropdownGroup\n            error={errors.parkingType}\n            handleChange={handleKindChange}\n            label={I18n.t('activerecord.attributes.location.parking_type')}\n            name=\"parkingType\"\n            options={parkingTypesOptions}\n            required={true}\n            value={parkingType} />\n        }\n\n        { secondaryKindsList() && secondaryKindsList().length > 0 &&\n          <div className=\"form-group row\">\n            <div className=\"form-label form-label--align-top col-xl-3 col-lg-3\">\n              <span>{ I18n.t('activerecord.attributes.location.secondary_kinds') }</span>\n            </div>\n\n            <div className=\"checkboxes-wrapper col-xl-3 col-lg-4\">\n              { secondaryKindsList().map(kind =>\n                <Checkbox\n                  field=\"secondaryKinds\"\n                  handleChange={handleSecondaryKindsChange}\n                  key={`secondary-${kind}`}\n                  label={capitalize(I18n.t(`global.models.location.kinds.${kind}.short`, { count: 1 }))}\n                  name={kind}\n                  value={secondaryKinds && secondaryKinds.includes(kind)} />\n              )}\n            </div>\n            { showSecondaryKindsMessage && invisibleFor(['virtual_office', 'parking', 'coworking', 'meeting_room']) &&\n              <Fragment>\n                <div className=\"col-xl-1 col-lg-1\" />\n                <div className=\"col-xl-5 col-lg-4\">\n                  <div className=\"form-group__tooltip secondary-kinds\">\n                    <h3>{ I18n.t('providers.locations.secondary_kind_payment.header_new') }</h3>\n                    <p dangerouslySetInnerHTML={{ __html: I18n.t('providers.locations.secondary_kind_payment.body_new') }} />\n                  </div>\n                </div>\n              </Fragment>\n            }\n          </div>\n        }\n\n        { suitableForKindsList() && suitableForKindsList().length > 0 &&\n          <div className=\"form-group row\">\n            <div className=\"form-label form-label--align-top col-xl-3 col-lg-3\">\n              <span style={{ marginRight: '8px' }}>{ I18n.t('generic.suitable_for') }</span>\n              <span\n                className=\"provider-tooltip\"\n                data-tip={I18n.t('providers.locations.form.suitable_for_kinds.other.helper')}\n                data-class=\"provider-tooltip\"\n                data-for=\"suitable-for-tooltip\">\n              <SvgIco name=\"info_outline\" size={24} />\n            </span>\n\n              <ReactTooltip\n                border={true}\n                borderColor=\"black\"\n                effect='solid'\n                id=\"suitable-for-tooltip\"\n                place='right'\n                type=\"light\" />\n            </div>\n\n            <div className=\"checkboxes-wrapper col-xl-3 col-lg-4\">\n              { suitableForKindsList().map(kind =>\n                <Checkbox\n                  field=\"suitableForKinds\"\n                  handleChange={handleCheckboxesSelect}\n                  key={`suitable-${kind}`}\n                  label={capitalize(I18n.t(`global.models.location.kinds.${kind}.short`, { count: 1 }))}\n                  name={kind}\n                  value={suitableForKinds && suitableForKinds.includes(kind)} />\n              )}\n            </div>\n          </div>\n        }\n      </div>\n\n      <div className=\"location-form__section-wrapper\" style={{ marginBottom: 0, paddingBottom: '8px' }}>\n        <div className=\"sectionScrollTarget\" id=\"prices\" />\n        <div className=\"step-header\">\n          { I18n.t('providers.locations.form.economy') }\n\n          <ScoreActionTooltip\n            filled={qualityScore && qualityScore.price.score}\n            label={qualityScore && I18n.t(`provider.form.quality_score.hint_label.price`)}\n          />\n        </div>\n\n        { siteKey !== 'dk' &&\n          <DropdownGroup\n            handleChange={(value, field) => handleChange(Number(value), field)}\n            label={I18n.t('activerecord.attributes.location.currency')}\n            name=\"currencyId\"\n            options={currencyOptions}\n            value={(currencyId && `${currencyId}`) || `${defaultCurrencyId.id}`} />\n        }\n\n        { invisibleFor(['virtual_office', 'parking']) &&\n          <RangeInputs\n            label={`${I18n.t('apps.lb_showroom.detailed.facts.area_label')}`}\n            name=\"area\"\n            requiredFrom={true}\n            unitsPosition=\"top\"\n            units={areaUnit} />\n        }\n\n        { leasePrices && kind === \"store\" &&\n          <RangeInputs\n            hideSecondField={true}\n            label={I18n.t('activerecord.attributes.location.disposal_price')}\n            name=\"disposalPrice\"\n            units={formattedCurrency}\n            useOriginName={true} />\n        }\n\n        { visibleFor(['parking']) &&\n          <RangeInputs\n            hideSecondField={showUptoField('amountOfSpaces')}\n            label={I18n.t('providers.locations.form.amount_of_spaces')}\n            name=\"amountOfSpaces\"\n            requiredFrom={true} />\n        }\n\n        { visibleFor(['coworking', 'business_center']) &&\n          <RangeInputs\n            hideSecondField={showUptoField('workstationsCount')}\n            label={I18n.t('providers.locations.form.workstations_count')}\n            name=\"workstationsCount\" />\n        }\n\n        { sectionLease && visibleFor(['office', 'coworking', 'meeting_room', 'business_center']) &&\n          <Fragment>\n            <RangeInputs\n              hideSecondField={showUptoField('employeesCount')}\n              label={I18n.t('views.shared.employee_count')}\n              name=\"employeesCount\" />\n\n            <RadioFormGroup\n              field=\"employeesCountVisible\"\n              htmlTooltip={true}\n              label={I18n.t('generic.visible')}\n              tooltip={I18n.t('providers.locations.popover.number_of_employees')} />\n          </Fragment>\n        }\n\n        { invisibleFor(['virtual_office', 'parking']) &&\n          <Fragment>\n            <div className=\"form-group row\">\n              <div className=\"form-label form-label--bold step-subheader col-xl-3 col-lg-3\">\n                { !sectionLease &&\n                  <span>{ I18n.t('apps.lb_showroom.detailed.economy.annual_prices_m2') }</span>\n                }\n                { sectionLease &&\n                  <div className=\"economy-step__expand-btn-wrapper\" onClick={() => setAnnualPricesM2Open(!annualPricesM2Open)}>\n                    <span>{ kind === 'meeting_room' ? I18n.t('generic.price') : I18n.t('apps.lb_showroom.detailed.economy.annual_prices_m2') }</span>\n                    { annualPricesM2Open\n                      ? <SvgIco name=\"expand-less\" size={18} />\n                      : <SvgIco name=\"expand-more\" size={18} />\n                    }\n                  </div>\n                }\n              </div>\n            </div>\n\n            <div id=\"annual-prices-m2\" className={annualPricesM2Open ? 'uncollapsed' : ''}>\n              { visibleFor(['coworking', 'business_center']) &&\n                <RangeInputs\n                  hideSecondField={showUptoField('workstationCostPerMonth')}\n                  label={I18n.t('providers.locations.form.workstation_cost_per_month')}\n                  name=\"workstationCostPerMonth\" />\n              }\n\n              { sectionLease &&\n                <Fragment>\n                  { visibleFor(['meeting_room']) &&\n                    <RangeInputs\n                      hideSecondField={showUptoField('hourlyRentWithCents')}\n                      label={I18n.t('providers.locations.form.rent_price_per_hour')}\n                      name=\"hourlyRentWithCents\"\n                      units={`${ formattedCurrency }`} />\n                  }\n\n                  { invisibleFor(['meeting_room']) &&\n                    <Fragment>\n                      <RangeInputs\n                        float={true}\n                        handleChange={(e, name) => handleChange(e.target.value, name)}\n                        hideSecondField={showUptoField('yearlyRentPerM2WithCents')}\n                        label={ I18n.t('apps.lb_showroom.detailed.economy.price_per_year') }\n                        name=\"yearlyRentPerM2WithCents\"\n                        tooltip={ I18n.t('providers.locations.form.money_row.yearly_rent_per_m2_help') }\n                        units={ `${ formattedCurrency }/${areaUnit}` }\n                      />\n\n                      <RadioFormGroup\n                        field=\"yearlyRentPerM2AmountFlexible\"\n                        label={ I18n.t('providers.locations.form.yearly_rent_per_m2_amount_flexible') }\n                        tooltip={ I18n.t('providers.locations.popover.yearly_rent_per_m2_amount_flexible') } />\n\n                      { siteKey === 'dk' &&\n                        <RadioFormGroup\n                          field=\"isRentIncludeOperationalCost\"\n                          label={ I18n.t('activerecord.attributes.location.is_rent_include_operational_cost') } />\n                      }\n\n                      { siteKey === 'dk' && sectionLease && visibleFor(['office', 'warehouse', 'store']) &&\n                        <Fragment>\n                          <RadioFormGroup\n                            field=\"enableCombinedLocations\"\n                            label={I18n.t('activerecord.attributes.location.enable_combined_locations')} />\n\n                          { enableCombinedLocations &&\n                            <div className=\"economy-step__combined-locations\">\n\n                              { visibleCombinedKinds && visibleCombinedKinds.length\n                                ? visibleCombinedKinds.map(combinedKind =>\n                                  combinedKinds.includes(combinedKind.kind) &&\n                                  <CombinedKindForm\n                                    areaUnit={areaUnit}\n                                    combinedKinds={combinedKinds}\n                                    currentData={combinedLocationsAttributes}\n                                    data={combinedKind}\n                                    formattedCurrency={formattedCurrency}\n                                    errors={combinedKindsErrors}\n                                    handleErrors={setCombinedKindsErrors}\n                                    initialData={initialCombinedKinds}\n                                    key={`combined-kind-${combinedKind.kind}`}\n                                    mainKind={kind}\n                                    selectedKinds={visibleCombinedKinds}\n                                    updateValues={updateValues}\n                                    updateSelectedKinds={setVisibleCombinedKinds}\n                                  />\n                                )\n                                : (!combinedLocationsAttributes || !combinedLocationsAttributes.length) && addNewCombinedKind()\n                              }\n\n                              { additionalCombinedKindsAvailable &&\n                                <div className=\"economy-step__combined-locations-add-btn\"\n                                     onClick={() => validateCombinedLocations() && addNewCombinedKind()}>\n                                  + { I18n.t('providers.locations.form.combined_locations_add_property') }\n                                </div>\n                              }\n\n                            </div>\n                          }\n                        </Fragment>\n                      }\n\n                      { !(siteKey === 'dk' && isRentIncludeOperationalCost) &&\n                        <RangeInputs\n                          hideSecondField={showUptoField('yearlyOperationalCostPerM2WithCents')}\n                          label={ I18n.t('apps.lb_showroom.detailed.economy.operational_per_m2_per_year') }\n                          name=\"yearlyOperationalCostPerM2WithCents\"\n                          units={ `${ formattedCurrency }/${areaUnit}` } />\n                      }\n\n                      <RangeInputs\n                        hideSecondField={showUptoField('yearlyHeatingCostPerM2WithCents')}\n                        label={ I18n.t('apps.lb_showroom.detailed.economy.heating_per_m2_per_year') }\n                        name=\"yearlyHeatingCostPerM2WithCents\"\n                        units={ `${ formattedCurrency }/${areaUnit}` } />\n\n                      <RangeInputs\n                        hideSecondField={showUptoField('yearlyWaterCostPerM2WithCents')}\n                        label={ I18n.t('apps.lb_showroom.detailed.economy.water_per_m2_per_year') }\n                        name=\"yearlyWaterCostPerM2WithCents\"\n                        units={ `${ formattedCurrency }/${areaUnit}` } />\n\n                      <RangeInputs\n                        hideSecondField={showUptoField('yearlyElectricityCostPerM2WithCents')}\n                        label={ I18n.t('apps.lb_showroom.detailed.economy.electricity_per_m2_per_year') }\n                        name=\"yearlyElectricityCostPerM2WithCents\"\n                        units={ `${ formattedCurrency }/${areaUnit}` } />\n                    </Fragment>\n                  }\n                </Fragment>\n              }\n            </div>\n          </Fragment>\n        }\n\n        { sectionLease && invisibleFor(['meeting_room']) &&\n          <Fragment>\n            <div className=\"form-group row\">\n              <div className=\"form-label form-label--bold step-subheader col-xl-3 col-lg-3\">\n                { visibleFor(['virtual_office', 'parking']) &&\n                  <span>{ I18n.t('apps.lb_showroom.detailed.economy.annual_prices') }</span>\n                }\n                { invisibleFor(['virtual_office', 'parking']) &&\n                  <div className=\"economy-step__expand-btn-wrapper\" onClick={() => setAnnualPricesOpen(!annualPricesOpen)}>\n                    <span>{ I18n.t('apps.lb_showroom.detailed.economy.annual_prices') }</span>\n                    { annualPricesOpen\n                      ? <SvgIco name=\"expand-less\" size={18} />\n                      : <SvgIco name=\"expand-more\" size={18} />\n                    }\n                  </div>\n                }\n              </div>\n            </div>\n\n            { invisibleFor(['virtual_office', 'parking']) &&\n\n              <div id=\"annual-prices\" className={annualPricesOpen ? 'uncollapsed' : ''}>\n                <RangeInputs\n                  hideSecondField={showUptoField('annualRentWithCents')}\n                  label={isRentIncludeOperationalCost ? I18n.t('apps.lb_showroom.detailed.economy.annual_prices_m2_including_operational') : I18n.t('apps.lb_showroom.detailed.economy.annual_rent')}\n                  name=\"annualRentWithCents\"\n                  units={formattedCurrency} />\n\n                { !(siteKey === 'dk' && isRentIncludeOperationalCost) &&\n                  <RangeInputs\n                    hideSecondField={showUptoField('annualOperationalCostWithCents')}\n                    label={I18n.t('apps.lb_showroom.detailed.economy.annual_operational_cost')}\n                    name=\"annualOperationalCostWithCents\"\n                    units={formattedCurrency} />\n                }\n\n                <RangeInputs\n                  hideSecondField={showUptoField('annualHeatingCostWithCents')}\n                  label={I18n.t('apps.lb_showroom.detailed.economy.annual_heating_cost')}\n                  name=\"annualHeatingCostWithCents\"\n                  units={formattedCurrency} />\n\n                <RangeInputs\n                  hideSecondField={showUptoField('annualWaterCostWithCents')}\n                  label={I18n.t('apps.lb_showroom.detailed.economy.annual_water_cost')}\n                  name=\"annualWaterCostWithCents\"\n                  units={formattedCurrency} />\n\n                <RangeInputs\n                  hideSecondField={showUptoField('annualElectricityCostWithCents')}\n                  label={I18n.t('apps.lb_showroom.detailed.economy.annual_electricity_cost')}\n                  name=\"annualElectricityCostWithCents\"\n                  units={formattedCurrency} />\n\n                <RangeInputs\n                  hideSecondField={showUptoField('annualTotalCostWithCents')}\n                  label={I18n.t('apps.lb_showroom.detailed.economy.annual_rent_and_service_cost')}\n                  name=\"annualTotalCostWithCents\"\n                  units={formattedCurrency} />\n              </div>\n            }\n\n            { visibleFor(['virtual_office', 'parking']) &&\n              <RangeInputs\n                hideSecondField={showUptoField('monthlyRentPerSpaceWithCents')}\n                label={I18n.t('apps.lb_showroom.detailed.economy.monthly_rent_per_space')}\n                name=\"monthlyRentPerSpaceWithCents\"\n                units={formattedCurrency} />\n            }\n          </Fragment>\n        }\n\n        { !sectionLease &&\n          <Fragment>\n            { invisibleFor(['foreclosure']) &&\n              <RangeInputs\n                hideSecondField={true}\n                label={I18n.t('apps.lb_showroom.detailed.economy.sale_price')}\n                name={`salePrice`}\n                useOriginName={true} />\n            }\n\n            <RangeInputs\n              hideSecondField={true}\n              label={I18n.t('activerecord.attributes.location.lot_area')}\n              name={`lotArea`}\n              useOriginName={true} />\n\n            <RangeInputs\n              hideSecondField={true}\n              label={I18n.t('activerecord.attributes.location.year_built')}\n              name={`yearBuilt`}\n              useOriginName={true} />\n\n            <RangeInputs\n              hideSecondField={true}\n              label={I18n.t('apps.lb_showroom.detailed.economy.yearly_rental_income')}\n              name={`yearlyRentalIncome`}\n              useOriginName={true} />\n\n            <RangeInputs\n              hideSecondField={true}\n              label={I18n.t('apps.lb_showroom.detailed.economy.fixed_annual_operational_cost')}\n              name={`fixedAnnualOperationalCost`}\n              useOriginName={true} />\n\n            <RangeInputs\n              hideSecondField={true}\n              label={I18n.t('apps.lb_showroom.detailed.economy.deposit_and_prepaid_rent')}\n              name={`depositAndPrepaidRent`}\n              useOriginName={true} />\n\n            { invisibleFor(['foreclosure']) &&\n              <RangeInputs\n                hideSecondField={true}\n                label={I18n.t('apps.lb_showroom.detailed.economy.return_rate_new')}\n                name={`returnRate`}\n                useOriginName={true} />\n            }\n\n            { visibleFor(['foreclosure']) &&\n              <Fragment>\n                <div className=\"form-group row\">\n                  <div className=\"form-label form-label--align-top col-xl-3 col-lg-3\">\n                    <span>{ I18n.t('provider.form.economy.auction_date') }</span>\n                  </div>\n\n                  <div className=\"checkboxes-wrapper col-xl-3 col-lg-4\">\n                    <DateTimePicker\n                      calendarIcon={<SvgIco name=\"calendar_today\" size={20} />}\n                      clearIcon={<SvgIco name=\"close\" size={24} />}\n                      minDate={new Date()}\n                      onChange={handleChangeTime}\n                      value={dateOfAuction ? new Date(dateOfAuction) : null} />\n                  </div>\n                </div>\n\n                <InputGroup\n                  label={I18n.t('provider.form.economy.auction_number')}\n                  name={`auctionNumber`}\n                  value={auctionNumber || ''} />\n\n              </Fragment>\n            }\n\n          </Fragment>\n        }\n      </div>\n\n      <NavigationButtons\n        handleBack={() => handleValidate('location')}\n        handleNext={() => handleValidate('contacts')}\n        requiredFieldsValid={() => validateRequiredFields(errorsHandler) && validateCombinedLocations()} />\n\n    </div>\n  )\n};\n\n\nexport default Economy;\n","import React, { useContext, Fragment } from 'react';\n\nimport Checkbox from '../../../SharedComponents/Forms/CheckBox';\nimport EnergyRatingImg from '../../../../src/images/provider/energy-rating.svg';\nimport RadioFormGroup from '../FormGroups/RadioFormGroup';\nimport DropdownGroup from '../FormGroups/DropdownGroup';\nimport { ScoreActionTooltip } from \"../../ScoreWidget\";\nimport NavigationButtons from '../NavigationButtons';\nimport { Context } from '../index';\n\nimport './FactsAndFacilities.sass';\n\n\nconst FactsAndFacilities = () => {\n\n  const {\n    countryAlpha2,\n    energyRatingList,\n    energyRatingListDk,\n    energyRatingUrl,\n    energyCertificateLevelsList,\n    facilitiesList,\n    handleChange,\n    handleCheckboxesSelect,\n    qualityScore,\n    siteKey,\n    validateFields,\n    values,\n  } = useContext(Context);\n\n  const { energyCertificateLevelsObject, energyRating, exemptedFromEnergyRating, facilityIds, hasEnergyCertificateLevels } = values;\n  const isDk = siteKey === 'dk' || countryAlpha2 === 'dk' || (values.countryAlpha2 && values.countryAlpha2 === 'dk');\n  const energyRatingOptions = (isDk ? energyRatingListDk : energyRatingList).map(item => ({ value: item, label: item }));\n  const energyCertificatesOptions = energyCertificateLevelsList && Object.keys(energyCertificateLevelsList).map(certificate =>\n    ({\n      name: certificate.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`),\n      label: I18n.t(`energy_certificate.name.${certificate.replace(/[A-Z]/g, letter => `_${letter.toLowerCase()}`)}`),\n      options: [ { value: 0, label: I18n.t('helpers.select.prompt') }, ...energyCertificateLevelsList[certificate].map(option => ({ value: option.id, label: option.label })) ],\n    })\n  );\n\n\n  const handleEnergyCertificates = (certificateId, certificateGroup) => {\n    const newCertificates = { ...energyCertificateLevelsObject };\n\n    certificateId === 0\n      ? delete newCertificates[certificateGroup]\n      : newCertificates[certificateGroup] = certificateId;\n\n    handleChange(newCertificates, 'energyCertificateLevelsObject');\n  };\n\n\n  return (\n    <div className=\"facts-step\">\n\n      <div className=\"location-form__section-wrapper\">\n        <div className=\"sectionScrollTarget\" id=\"energyRating\" />\n        <div className=\"form-title\">\n          { I18n.t('providers.locations.form.energy_rating') }\n\n          <ScoreActionTooltip\n            filled={qualityScore && qualityScore.energyRating.score}\n            label={qualityScore && I18n.t(`provider.form.quality_score.hint_label.energy_rating`)}\n          />\n        </div>\n\n        <RadioFormGroup\n          field=\"exemptedFromEnergyRating\"\n          label={I18n.t('activerecord.attributes.location.exempted_from_energy_rating')} />\n\n        { !exemptedFromEnergyRating &&\n          <DropdownGroup\n            handleChange={handleChange}\n            label={I18n.t('activerecord.attributes.location.energy_rating')}\n            name=\"energyRating\"\n            options={energyRatingOptions}\n            value={energyRating} />\n        }\n      </div>\n\n      <div className=\"location-form__section-wrapper\">\n        <div className=\"sectionScrollTarget\" id=\"facilities\" />\n        <div className=\"form-title\">\n          { I18n.t('apps.lb_showroom.detailed.tabs.facilities') }\n\n          <ScoreActionTooltip\n            filled={qualityScore && qualityScore.facilities.score}\n            label={qualityScore && I18n.t(`provider.form.quality_score.hint_label.facilities`)}\n          />\n        </div>\n\n        <div className=\"row\">\n          <div className=\"facts-step__facilities-wrapper col-xl-12 col-lg-12\">\n            { facilitiesList.map(facility =>\n              <Checkbox\n                field=\"facilityIds\"\n                handleChange={(e, value) => handleCheckboxesSelect(e, value, true)}\n                key={facility.key}\n                label={facility.name}\n                name={`${facility.id}`}\n                value={facilityIds && facilityIds.includes(facility.id)} />\n            )}\n          </div>\n        </div>\n      </div>\n\n\n      <div className=\"location-form__section-wrapper\" style={{ marginBottom: 0 }}>\n        { isDk &&\n          <Fragment>\n            <div className=\"form-title\">\n              { I18n.t('generic.certifications') }\n            </div>\n            <RadioFormGroup\n              field=\"hasEnergyCertificateLevels\"\n              label={I18n.t('provider.form.facts.certifications.label')}\n            />\n\n            { hasEnergyCertificateLevels && energyCertificatesOptions &&\n              <div className=\"facts-step__energy-certificates-wrapper\">\n                { energyCertificatesOptions.map(certificate =>\n                  <div className=\"facts-step__energy-certificates-dropdown-wrapper\" key={`certificate-${certificate.name}`}>\n                    <DropdownGroup\n                      handleChange={handleEnergyCertificates}\n                      label={certificate.label}\n                      name={certificate.name}\n                      options={certificate.options}\n                      value={\n                        ( energyCertificateLevelsObject\n                          && Object.keys(energyCertificateLevelsObject).length\n                          && certificate.options.find(option => option.value === energyCertificateLevelsObject[certificate.name])\n                        )\n                        || certificate.options[0]\n                      }\n                    />\n                  </div>\n                )}\n              </div>\n            }\n          </Fragment>\n        }\n\n        <div className=\"form-title\">\n          { I18n.t('activerecord.attributes.location.is_built') }\n        </div>\n\n        <RadioFormGroup field=\"isBuilt\" />\n      </div>\n\n      <NavigationButtons\n        handleBack={() => validateFields('contacts')}\n        handleNext={() => validateFields('description')} />\n\n    </div>\n  )\n};\n\n\nexport default FactsAndFacilities;\n","import React, { useState, useContext, useEffect } from \"react\";\nimport { GoogleMap, InfoWindow, Marker, withGoogleMap } from \"react-google-maps\";\nimport { geocodeByLatLng, geocodeByPlaceId } from 'react-google-places-autocomplete';\n\nimport mapPin from '../../../../../src/images/provider/map-pin.svg';\nimport mapStyles from '../../../../../src/stylesheets/map_styles.json';\nimport { Context } from '../../index';\n\n\nconst Map = React.memo((props) => {\n  const [center, setCenter] = useState();\n  const [refMap, setMapRef] = useState(null);\n\n  const { siteKey } = useContext(Context);\n\n  const { placeId, handleGeocodedResults, restrictionBounds, showPinInfoMessage } = props;\n  const worldCoords = { lat: 28.304380682962783, lng: 3.515625 };\n\n\n  useEffect(() => {\n    placeId && refMap && geocodeByPlaceId(placeId)\n      .then(results => {\n        const bounds = results[0].geometry.bounds || results[0].geometry.viewport;\n        refMap.fitBounds(bounds);\n      })\n      .catch(error => console.error('error', error));\n  }, [refMap, placeId]);\n\n\n  const handleBoundsChanged = () => {\n    const mapCenter = refMap.getCenter(); //get map center\n\n    setCenter({ lat: mapCenter.lat(), lng: mapCenter.lng() });\n  };\n\n\n  const handleDragEnd = () =>\n    geocodeByLatLng(center)\n      .then(results => results.length && handleGeocodedResults(results))\n      .catch(error => console.error('error',error));\n\n\n  return (\n    <GoogleMap\n      ref={(map) => setMapRef(map)}\n      defaultZoom={siteKey === 'global' ? 2 : 13}\n      onBoundsChanged={handleBoundsChanged}\n      defaultCenter={worldCoords}\n      onDragEnd={handleDragEnd}\n      options={\n        restrictionBounds\n          ?\n            { restriction: {\n                latLngBounds:restrictionBounds,\n                strictBounds: false,\n              },\n              styles: mapStyles,\n            }\n          :\n            { styles: mapStyles }\n      }\n      defaultOptions={{ mapTypeControl: false }}\n    >\n      <Marker\n        icon={{ url: mapPin, scaledSize: { width: 56, height: 56} }}\n        key=\"markerKey\"\n        noRedraw={true}\n        place_id={placeId || null}\n        position={center}\n      >\n        { showPinInfoMessage &&\n          <InfoWindow options={{ disableAutoPan: true }}>\n            <div>{ I18n.t('provider.map.move_cursor_tooltip') }</div>\n          </InfoWindow>\n        }\n      </Marker>\n    </GoogleMap>\n  );\n});\n\n\nexport default withGoogleMap(Map);\n","import React, { Fragment, useContext, useState, useEffect, useRef } from 'react';\nimport GooglePlacesAutocomplete, { geocodeByAddress, geocodeByPlaceId, geocodeByLatLng } from 'react-google-places-autocomplete';\nimport { useLazyQuery } from '@apollo/client';\nimport ReactTooltip from 'react-tooltip';\n\nimport { apiProvider } from \"../../../../../api/core\";\nimport { SvgIco } from \"../../../../SharedComponents/Icons\";\nimport AnonymousBanner from \"../../../Banners/AnonymousBanner\";\nimport { GET_PROVINCES, GET_POSTAL_DISTRICTS } from '../../../ApolloClient/queries';\nimport { Context } from '../../index';\nimport InputGroup from '../../FormGroups/InputGroup';\nimport DropdownGroup from '../../FormGroups/DropdownGroup';\nimport NavigationButtons from '../../NavigationButtons';\nimport Map from \"./Map\";\n\nimport './MapWrapper.sass';\n\n// !!! README !!!\n// STREET_NUMBER ========================================================================\n// By the moment we rejected STREET_NUMBER functionality as market team requested\n// for user to have possibility to save any location address (even without street_number);\n// This functionality allows to prevent save location address without street_number.\n// In case we receive incomplete address without street_number the search field will autofocus\n// and a tooltip will appear saying \"#street\".\n// ======================================================================================\n\n\nconst MapWrapper = () => {\n\n  const {\n    anonymous,\n    countries,\n    errors,\n    handleChange,\n    handleInputChange,\n    owners,\n    setErrors,\n    setVisualsData,\n    siteKey,\n    validateFields,\n    values,\n    updateValues,\n  } = useContext(Context);\n\n  const formWrapper = useRef();\n  const postalDistrictTooltip = useRef();\n  const provinceTooltip = useRef();\n  // const streetNumberPlaceholder = useRef();                                         <---------- STREET_NUMBER\n\n  const [address, setAddress] = useState('');\n  const [searchInputValue, setSearchInputValue] = useState('');\n  // const [inputShift, setInputShift] = useState(0);                                  <---------- STREET_NUMBER\n  const [suggestNewProvince, setSuggestNewProvince] = useState(false);\n  const [suggestNewDistrict, setSuggestNewDistrict] = useState(false);\n  const [showOnlySuggestedProvince, setShowOnlySuggestedProvince] = useState(false);\n  const [showPinInfoMessage, setShowPinInfoMessage] = useState(false);\n  const [menuIsOpen, setMenuIsOpen] = useState(false);\n  // const [streetNumberRequired, setStreetNumberRequired] = useState(null);           <---------- STREET_NUMBER\n  // const [streetPlaceholderPos, setStreetPlaceholderPos] = useState(null);           <---------- STREET_NUMBER\n  const [restrictionBounds, setRestrictionBounds] = useState(null)\n  const [placeId, setPlaceId] = useState(null);\n  const [loading, setLoading] = useState(null);\n  const [provincesOptions, setProvincesOptions] = useState([]);\n  const [postalDistrictsOptions, setPostalDistrictsOptions] = useState([]);\n\n  const [getProvinces, { data: provincesData }] = useLazyQuery(GET_PROVINCES);\n  const [getPostalDistrict, { data: postalDistrictData }] = useLazyQuery(GET_POSTAL_DISTRICTS);\n\n  const {\n    addressLine1,\n    addressLine2,\n    countryAlpha2,\n    latitude,\n    longitude,\n    postalCode,\n    postalDistrictId,\n    postalDistrictSuggestion,\n    provinceId,\n    provinceSuggestion,\n  } = values;\n\n\n  useEffect(() => {\n    if (latitude && longitude) {\n      geocodeByLatLng({ lat: latitude, lng: longitude }).then(results => {\n        if (results && results.length) {\n          setAddress({ label: addressLine1, value: { place_id: results[0].place_id }});\n          setPlaceId(results[0].place_id);\n        }\n      });\n    } else {\n      siteKey !== 'global' && handleSelectCountry(siteKey, 'countryAlpha2')\n    }\n\n    // Commented as we have a bug with viewport coords on Address Line 1 copy-paste\n    // In case it's local site - restrict bounds to local country\n    // siteKey !== 'global' && geocodeByAddress(siteKey).then(results => {\n    //   const geometryViewport = results[0].geometry.viewport;\n    //\n    //   setRestrictionBounds({\n    //     north: geometryViewport.getNorthEast().lat(),\n    //     south: geometryViewport.getSouthWest().lat(),\n    //     west: geometryViewport.getSouthWest().lng(),\n    //     east:geometryViewport.getNorthEast().lng(),\n    //   });\n    // });\n  }, []);\n\n\n  useEffect(() => {\n    postalDistrictSuggestion && !suggestNewDistrict && setSuggestNewDistrict(true);\n    provinceSuggestion && !suggestNewProvince && setSuggestNewProvince(true);\n  }, [countryAlpha2]);\n\n\n  useEffect(() => {\n    if (provincesData) {\n\n      if (provincesData.province.length) {\n        const newProvincesOptions = provincesData.province.map(province => ({ value: Number(province.id), label: province.name }));\n\n        setProvincesOptions(newProvincesOptions);\n        setShowOnlySuggestedProvince(false);\n      } else {\n        provincesData !== undefined && setShowOnlySuggestedProvince(true);\n      }\n    }\n  }, [provincesData]);\n\n\n  useEffect(() => {\n    if (postalDistrictData && postalDistrictData.postalDistrict.length) {\n      const newPostalDistrictsOptions = postalDistrictData.postalDistrict.map(district => ({ value: Number(district.id), label: district.name }));\n\n      setPostalDistrictsOptions(newPostalDistrictsOptions);\n    }\n  }, [postalDistrictData]);\n\n\n  useEffect(() => {\n    countryAlpha2 && getProvinces({ variables: { countryAlpha2 }});\n  }, [countryAlpha2]);\n\n\n  useEffect(() => {\n    !!provinceId && !!provinceSuggestion && updateValues({ provinceSuggestion: '' });\n  }, [provinceId]);\n\n\n  useEffect(() => {\n    !!provinceSuggestion && !!provinceId && updateValues({ provinceId: '' });\n  }, [provinceSuggestion]);\n\n\n  useEffect(() => {\n    !!postalDistrictId && !!postalDistrictSuggestion && updateValues({ postalDistrictSuggestion: '' });\n  }, [postalDistrictId]);\n\n\n  useEffect(() => {\n    !!postalDistrictSuggestion && postalDistrictId && updateValues({ postalDistrictId: '' });\n  }, [postalDistrictSuggestion]);\n\n\n  useEffect(() => {\n    if(provinceId) {\n      getPostalDistrict({ variables: { provinceId: String(provinceId) }});\n      postalDistrictsOptions.find(option => option.value === postalDistrictId) && updateValues({ postalDistrictId: '' });\n    }\n  }, [provinceId]);\n\n\n  useEffect(() => {\n    if(provinceId) {\n      getPostalDistrict({ variables: { provinceId: String(provinceId) }});\n      postalDistrictsOptions.find(option => option.value === postalDistrictId) && updateValues({ postalDistrictId: '' });\n    }\n  }, [provinceId]);\n\n\n  useEffect(() => {\n    const postalDistrict = postalDistrictId\n      ? postalDistrictsOptions.find(option => option.value === postalDistrictId)\n      : postalDistrictSuggestion || '';\n    const postalDistrictLabel = postalDistrict ? postalDistrict.label || postalDistrict  : '';\n    const newAddress = `${addressLine1}, ${postalCode} ${postalDistrictLabel}`;\n\n    setVisualsData({ address: newAddress });\n  }, [addressLine1, postalCode, postalDistrictId, postalDistrictsOptions, postalDistrictSuggestion]);\n\n\n  // STREET_NUMBER\n  // ------------------------------------------------------------------------------------->\n  // useEffect(() => {\n  //   clearInputShift();\n  // }, [searchInputValue]);\n\n\n  // useEffect(() => {\n  //   !loading && streetNumberRequired && setTimeout(handleStreetNumberPlaceholderPosition, 100);\n  // }, [loading]);\n  // <-------------------------------------------------------------------------------------\n\n\n  const countriesOptions = countries.map(country => ({ label: country[0], value: country[1] }));\n  const ownersOptions = owners.map(owner => ({ label: owner[0], value: String(owner[1]) }));\n\n  // STREET_NUMBER\n  // -------------------------------------------------------------------------------------->\n  // const autocompleteStreetLabelStyles = {\n  //   visibility: !!streetPlaceholderPos ? 'visible' : 'hidden',\n  //   paddingLeft: `${streetPlaceholderPos + 16}px`\n  // };\n\n\n  // const clearInputShift = () => {\n  //   streetPlaceholderPos && setStreetPlaceholderPos(null);\n  //   inputShift && setInputShift(0);\n  //   setStreetNumberRequired(false);\n  // };\n  // <--------------------------------------------------------------------------------------\n\n\n  const handleSearchValue = (value, event) => {\n    if (event.action === 'input-change') {\n      !value && clearAddress();\n      setSearchInputValue(value);\n    }\n  };\n\n\n  const clearAddress = () => {\n    setAddress('');\n    countryAlpha2 && handleSelectCountry(countryAlpha2, 'countryAlpha2');\n  };\n\n\n  const setValue = (option) => {\n    const { place_id } = option.value;\n\n    setLoading(true);\n    setPlaceId(place_id);\n    geocodeByPlaceId(place_id)\n      .then(results => results.length && handleGeocodedResults(results, place_id))\n      .catch(error => console.error('error', error));\n  };\n\n\n  const handleSelectCountry = (value, field) => {\n    handleChange(value, field);\n\n    const countryName = countries.filter(country => country[1] === value)[0][0];\n\n    geocodeByAddress(countryName).then(results => setPlaceId(results[0].place_id));\n  };\n\n\n  const handleSuggestNewProvince = () => {\n    setSuggestNewDistrict(!suggestNewProvince);\n    setSuggestNewProvince(prevState => !prevState);\n    ReactTooltip.hide(provinceTooltip);\n  };\n\n\n  const handleSubmit = (nextStep) => validateFields(nextStep);\n\n\n  const clearErrorsList = (list) => {\n    const updatedErrors = { ...errors };\n\n    list.map(field => delete updatedErrors[field]);\n    setErrors(updatedErrors);\n  };\n\n  // STREET_NUMBER\n  // ------------------------------------------------------------------------------------->\n  // const handleStreetNumberPlaceholderPosition = () => {\n  //   const autocompleteInput = document.getElementById('autocomplete-input');\n  //   const streetNumberNodeWidth = streetNumberPlaceholder.current.offsetWidth;\n  //   const inputTextWidth = autocompleteInput.nextSibling.offsetWidth;\n  //   const parentWidth = autocompleteInput.offsetWidth;\n  //   const inputWidth = streetNumberNodeWidth + inputTextWidth;\n  //   const leftInputShift = inputWidth > parentWidth ? inputWidth - parentWidth : 0;\n  //   const streetNumberNodePos = leftInputShift ? inputTextWidth - leftInputShift : inputTextWidth;\n  //\n  //   leftInputShift && setInputShift(leftInputShift);\n  //   setStreetPlaceholderPos(streetNumberNodePos);\n  // };\n  // <--------------------------------------------------------------------------------------\n\n\n  const handleGeocodedResults = (results, placeId) => {\n    const locationInfo = results[0];\n    const addressComponents = locationInfo.address_components;\n    const streetNumberComponentIndex = addressComponents.findIndex(component => component.types[0] === 'street_number');\n    const countryCodeObj = addressComponents.filter(res => res.types.includes('country'));\n    const newCountryAlpha2 = countryCodeObj && countryCodeObj.length ? countryCodeObj[0].short_name.toLowerCase() : '';\n    const inCountryBoundaries = siteKey === 'global' || newCountryAlpha2 === siteKey;\n    const postalCodeObj = addressComponents.filter(res => res.types.includes('postal_code'))[0];\n    const errorsList = [];\n    let value = { label: '', value: { place_id: placeId } };\n\n    let updatedValues = {\n      latitude: locationInfo.geometry.location.lat(),\n      longitude: locationInfo.geometry.location.lng(),\n      countryAlpha2: siteKey === 'global' ? newCountryAlpha2 : countryAlpha2,\n      postalCode: '',\n    };\n\n    /* TODO: find a way to format addresses for different countries\n       TODO: In USA for example the address starts from street number */\n\n    // IF WE HAVE FULL ADDRESS WITH STREET NUMBER\n    if (streetNumberComponentIndex >= 0 && inCountryBoundaries) {\n      const streetNumber = addressComponents[streetNumberComponentIndex].short_name;\n      const streetName = addressComponents[streetNumberComponentIndex + 1].long_name;\n      const administrativeLevel2 = addressComponents.filter(res => res.types.includes('administrative_area_level_2'))[0];\n      const locality = addressComponents.filter(res => res.types.includes('locality'))[0];\n      const autocompleteInput = document.getElementById('autocomplete-input');\n\n      /* In case we can find province name in addressComponents from our provincesOptions list\n         we can fill and request province and postal districts */\n      const handleProvinceSelect = () => {\n        if (provincesOptions && (administrativeLevel2 || locality)) {\n          provincesOptions.map(option => {\n            const administrativeIncludesProvince = administrativeLevel2 && administrativeLevel2.long_name === option.label;\n            const localityIncludesProvince = locality && locality.long_name === option.label;\n\n            (administrativeIncludesProvince || localityIncludesProvince) && handleChange(Number(option.value), 'provinceId');\n            errorsList.push('provinceId', 'postalDistrictId', 'provinceSuggestion', 'postalDistrictSuggestion');\n            setSuggestNewProvince(false);\n            setSuggestNewDistrict(false);\n            setShowOnlySuggestedProvince(false);\n          });\n        };\n      }\n\n      showPinInfoMessage && setShowPinInfoMessage(false);\n      errorsList.push('addressLine1', 'countryAlpha2');\n\n      if (postalCodeObj) {\n        updatedValues.postalCode = postalCodeObj.long_name;\n        errorsList.push('postalCode');\n\n        // FILL PROVINCE AND POSTAL DISTRICT SELECTS\n        apiProvider.getAll(`/lease/api/frontend/postal_districts/search_by_postal_code?postal_code=${postalCodeObj.long_name}&country_alpha2=${newCountryAlpha2}`)\n          .then(response => {\n            if (response) {\n              updatedValues.provinceId = response.province.id;\n              updatedValues.postalDistrictId = response.postal_district.id;\n              setTimeout(() => {\n                updateValues(updatedValues);\n                clearErrorsList(['addressLine1', 'countryAlpha2', 'provinceId', 'postalDistrictId', 'provinceSuggestion', 'postalDistrictSuggestion', 'postalCode']);\n              });\n              setSuggestNewProvince(false);\n              setSuggestNewDistrict(false);\n              setShowOnlySuggestedProvince(false);\n            } else {\n              handleProvinceSelect();\n            }\n          });\n      } else {\n        handleProvinceSelect();\n      }\n\n      value.label = `${streetName} ${streetNumber}`;\n      setSearchInputValue(`${streetName} ${streetNumber}`);\n      setAddress(value);\n      setMenuIsOpen(false);\n      updatedValues.addressLine1 = value.label;\n      autocompleteInput.blur();\n\n      /* IF WE HAVE LOCATION WITHOUT STREET NUMBER\n         we place street_name (google places will mark it as a route) + ', street #'\n         to places input, so the user knows the street_number is required */\n    } else if (placeId && inCountryBoundaries) {\n      // Add  |`${locationInfo.address_components[0].short_name}, `| for both for STREET_NUMBER functionality\n      value.label = `${locationInfo.address_components[0].short_name}`;\n      setSearchInputValue(`${locationInfo.address_components[0].short_name}`);\n\n      // STREET_NUMBER\n      // ------------------------------------------------------------------------------------->\n      // setStreetNumberRequired(true);\n      // errorsList.push('addressLine1', 'countryAlpha2');\n      // <-------------------------------------------------------------------------------------\n\n      setShowPinInfoMessage(true);\n      setAddress(value);                        // Remove for STREET_NUMBER functionality\n      updatedValues.addressLine1 = value.label; // Remove for STREET_NUMBER functionality\n\n      /* IF WE RECEIVED RESULTS WITH NO STREET NEITHER STREET NUMBER\n         clear all fields and show Map Pin to inform user he should move marker to another position */\n    } else {\n      setAddress(value);\n      updatedValues = {\n        ...updatedValues,\n        addressLine1: '',\n        provinceId: '',\n        postalDistrictId: '',\n        postalCode: '',\n      };\n      setShowPinInfoMessage(true);\n    }\n\n    clearErrorsList(errorsList);\n    updateValues(updatedValues);\n    setLoading(false);\n  };\n\n\n  const onAutocompleteBlur = () => {\n    // STREET_NUMBER\n    // -------------------------------------------------------------------------------------->\n    // clearInputShift();\n    // <--------------------------------------------------------------------------------------\n\n    setMenuIsOpen(false);\n    setSearchInputValue(address.label || '');\n  };\n\n  const onAutocompleteFocus = () => {\n    setMenuIsOpen(true);\n    setSearchInputValue(address.label || '');\n  };\n\n\n  return (\n    <div className=\"location__content\" ref={formWrapper}>\n      <div className=\"location__content-wrapper\">\n        <div className=\"location__inputs-wrapper\">\n          { !anonymous &&\n            <Fragment>\n              <div className=\"form-group row required-form-group\" id=\"addressLine1\">\n\n                <div className=\"form-label address\">\n                  <span>{ I18n.t('activerecord.attributes.location.address_line_1') }*</span>\n\n                  <span\n                    className=\"provider-tooltip\"\n                    data-class=\"provider-tooltip\"\n                    data-for={`addressLine1-tooltip`}\n                    data-tip={`${I18n.t('providers.locations.form.set_address')} ${I18n.t('providers.locations.form.helper_2')}`}>\n                    <SvgIco name=\"info_outline\" size={24} />\n                  </span>\n\n                  <ReactTooltip\n                    border={true}\n                    borderColor=\"black\"\n                    effect='solid'\n                    id={`addressLine1-tooltip`}\n                    place='right'\n                    type=\"light\" />\n                </div>\n\n                <div className=\"location__places col-xl-3 col-lg-4\">\n                  <GooglePlacesAutocomplete\n                    autocompletionRequest={{\n                      // types: ['address'],\n                      componentRestrictions: { country: countryAlpha2 && siteKey !== 'global' ? [countryAlpha2] : null },\n                    }}\n                    selectProps={{\n                      loadingMessage: () => `${I18n.t('generic.loading')}...`,\n                      noOptionsMessage: () => I18n.t('searches.show.no_results'),\n                      onInputChange: (value, e) => handleSearchValue(value, e),\n                      onChange: setValue,\n                      onBlur: onAutocompleteBlur,\n                      onFocus: onAutocompleteFocus,\n                      blurInputOnSelect: false,\n                      classNamePrefix: 'places',\n                      className: 'places',\n                      closeMenuOnSelect: false,\n                      isLoading: loading,\n                      inputId: 'autocomplete-input',\n                      inputValue: loading ? `${I18n.t('generic.loading')}...` : searchInputValue,\n                      loadingIndicator: { isDisabled: true },\n                      menuIsOpen: menuIsOpen,\n                      name: 'addressLine1',\n                      placeholder: I18n.t('providers.locations.form.address_line_1_placeholder'),\n                      value: address,\n                      styles: {\n                        placeholder: (provided) => ({\n                          ...provided,\n                          display: `${menuIsOpen ? 'none' : 'flex'}`,\n                        }),\n                        control: (provided) => ({\n                          ...provided,\n                          border: `1px solid ${errors.addressLine1 ? '#FF5A5A' : '#E0E2E2'}`,\n                          ['&:hover']: { border: `1px solid ${errors.addressLine1 ? '#FF5A5A' : '#E0E2E2'}`, },\n                          // ['input']: { left: `-${inputShift}px` },  <---------- STREET_NUMBER\n                        }),\n                        singleValue: (provided) => ({\n                          ...provided,\n                          display: `${menuIsOpen ? 'none' : 'flex'}`,\n                        }),\n                      }\n                    }} />\n\n                  {/* STREET_NUMBER ----------------------------------------------------> */}\n                  {/*<div className=\"location__street-placeholder\"*/}\n                  {/*     ref={streetNumberPlaceholder}*/}\n                  {/*     style={autocompleteStreetLabelStyles}>*/}\n                  {/*  { I18n.t('provider.form.location.street_number_placeholder') }*/}\n                  {/*</div>*/}\n                  {/* <---------------------------------------------------- STREET_NUMBER */}\n\n                  { errors.addressLine1 &&\n                    <div className=\"error-tooltip\">\n                      { I18n.t('activerecord.attributes.location.address_line_1') } { errors.addressLine1 }\n                    </div>\n                  }\n                </div>\n              </div>\n\n              <InputGroup\n                handleChange={handleInputChange}\n                label={I18n.t('activerecord.attributes.location.address_line_2')}\n                labelTooltip={I18n.t('provider.form.location.address_line2.tooltip')}\n                name=\"addressLine2\"\n                value={addressLine2} />\n\n            </Fragment>\n          }\n\n\n          { siteKey === 'global' &&\n            <DropdownGroup\n              error={errors.countryAlpha2}\n              handleChange={handleSelectCountry}\n              label={I18n.t('providers.locations.form.country')}\n              name=\"countryAlpha2\"\n              options={countriesOptions}\n              required={true}\n              searchable={true}\n              value={countryAlpha2} />\n          }\n\n          { suggestNewProvince || showOnlySuggestedProvince\n            ? <InputGroup\n                handleChange={handleInputChange}\n                label={I18n.t('providers.locations.form.province')}\n                name=\"provinceSuggestion\"\n                required={true}\n                value={provinceSuggestion} />\n\n            : <DropdownGroup\n                disabled={!provincesOptions.length}\n                error={errors.provinceId}\n                handleChange={(value, field) => handleChange(Number(value), field)}\n                label={I18n.t('providers.locations.form.province')}\n                name=\"provinceId\"\n                options={provincesOptions}\n                required={true}\n                searchable={true}\n                value={provinceId} />\n          }\n\n          { !showOnlySuggestedProvince &&\n            <div className=\"form-group row\">\n\n              { anonymous && <div className=\"col-xl-3 col-lg-3\" /> }\n\n              <div className=\"location__suggestion-link\" onClick={handleSuggestNewProvince}>\n\n                { suggestNewProvince ? <SvgIco name=\"arrow-back\" size={18} /> : '+' }\n\n                <div className=\"location__suggestion-link-text provider-tooltip\"\n                     data-tip={!suggestNewProvince ? I18n.t('providers.locations.form.suggestion_text') : null}\n                     data-class=\"provider-tooltip\"\n                     ref={provinceTooltip}\n                     data-for={`province-tooltip`}>\n                  { suggestNewProvince\n                    ? I18n.t('provider.form.location.districts_back_button')\n                    : I18n.t('providers.locations.form.suggest_province')\n                  }\n                </div>\n\n                { !suggestNewProvince &&\n                  <ReactTooltip\n                    place='right'\n                    effect='solid'\n                    id=\"province-tooltip\"\n                    type=\"light\"\n                    border={true}\n                    borderColor=\"black\"/>\n                }\n              </div>\n            </div>\n          }\n\n          { suggestNewDistrict || showOnlySuggestedProvince\n            ? <InputGroup\n                handleChange={handleInputChange}\n                label={I18n.t('providers.locations.form.postal_district')}\n                name=\"postalDistrictSuggestion\"\n                required={true}\n                value={postalDistrictSuggestion} />\n\n            : <DropdownGroup\n                disabled={!postalDistrictsOptions.length}\n                error={errors.postalDistrictId}\n                handleChange={(value, field) => handleChange(Number(value), field)}\n                label={I18n.t('providers.locations.form.postal_district')}\n                name=\"postalDistrictId\"\n                options={postalDistrictsOptions}\n                required={true}\n                searchable={true}\n                value={postalDistrictId} />\n          }\n\n          { !suggestNewProvince && !showOnlySuggestedProvince &&\n            <div className=\"form-group row\">\n\n              { anonymous && <div className=\"col-xl-3 col-lg-3\" /> }\n\n              <div className=\"location__suggestion-link\" onClick={() => setSuggestNewDistrict(prevState => !prevState)}>\n                { suggestNewDistrict ? <SvgIco name=\"arrow-back\" size={18} /> : '+' }\n                <div\n                  className=\"location__suggestion-link-text provider-tooltip\"\n                  data-class=\"provider-tooltip\"\n                  data-for={`district-tooltip`}\n                  data-tip={!suggestNewProvince ? I18n.t('providers.locations.form.suggestion_text') : null}\n                  ref={postalDistrictTooltip}>\n\n                  { suggestNewDistrict\n                    ? I18n.t('provider.form.location.districts_back_button')\n                    : I18n.t('providers.locations.form.suggest_postal_district')\n                  }\n\n                  { !suggestNewDistrict &&\n                    <ReactTooltip\n                      border={true}\n                      borderColor=\"black\"\n                      effect='solid'\n                      id={`district-tooltip`}\n                      place='right'\n                      type=\"light\" />\n                  }\n                </div>\n              </div>\n            </div>\n          }\n\n          <InputGroup\n            handleChange={handleInputChange}\n            label={I18n.t('signup.new_form.register.postal_code.placeholder')}\n            name=\"postalCode\"\n            required={true}\n            value={postalCode}\n            wrapperClass={!(siteKey === 'dk' && !!ownersOptions.length) ? 'no-padding' : ''} />\n        </div>\n\n        { !anonymous &&\n          <Map\n            { ...{ placeId, restrictionBounds, handleGeocodedResults, showPinInfoMessage }}\n            containerElement={<div style={{ height: `auto`, width: '100%', paddingLeft: '24px' }} />}\n            mapElement={<div style={{ height: `100%`, borderRadius: '4px' }} />} />\n        }\n\n        { anonymous && <AnonymousBanner />}\n      </div>\n\n      <NavigationButtons handleNext={() => handleSubmit('economy')} />\n\n    </div>\n  );\n};\n\n\nexport default MapWrapper;\n","import React, { useContext, useMemo } from 'react';\nimport { withScriptjs, withGoogleMap } from 'react-google-maps';\n\nimport { Context } from '../../index';\nimport MapWrapper from './MapWrapper';\n\n\nconst Location = () => {\n\n  const { googleApiKey, siteKey, stepsRefs, translationsLocales } = useContext(Context);\n  const mapLanguage = siteKey === 'global' ? 'en' : translationsLocales.filter(locale => locale.id === siteKey)[0].name;\n  const region = siteKey === 'global' ? '' : siteKey.toUpperCase();\n  const MapLoader = useMemo(\n    () =>\n      withScriptjs(\n        withGoogleMap(() => <MapWrapper ref={stepsRefs.location} />),\n      ),\n    [],\n  );\n\n  return (\n    <div className=\"location\">\n      <MapLoader\n        googleMapURL={`https://maps.googleapis.com/maps/api/js?key=${googleApiKey}&region=${region}&language=${mapLanguage}&libraries=geometry,drawing,places`}\n        containerElement={<div style={{ height: `100%` }} />}\n        mapElement={<div style={{ height: `100%` }} />}\n        loadingElement={<div style={{ height: `100%` }} />}\n      />\n    </div>\n  );\n};\n\nexport default Location;\n","import React, { Fragment, Component } from 'react';\nimport { FileDrop } from 'react-file-drop';\nimport ReactTooltip from 'react-tooltip';\n\nimport { apiProvider } from '../../../../../api/core';\nimport { SvgIco } from \"../../../../SharedComponents/Icons\";\nimport InfoMessagePopup from \"../../../Popups/InfoMessagePopup\";\n\nimport './FileInput.sass';\n\n\nclass FileInput extends Component {\n\n  state = {\n    filesList: [],\n    draggable: null,\n    draggableIndex: null,\n    infoMessagePopupActive: false,\n    pdfFileLoading: false,\n    pdfFileDeleting: false,\n  };\n\n\n  componentDidMount() {\n    this.handleDefaultFileList();\n  };\n\n\n  componentDidUpdate(prevProps, prevState, snapshot) {\n    const { defaultFileList, name, setVisualsData } = this.props;\n\n    if (prevProps.defaultFileList !== defaultFileList) {\n      this.handleDefaultFileList();\n    }\n\n    if (this.state.filesList !== prevState.filesList) {\n      const currentFilesCount = this.state.filesList.filter(file => !file.error).length;\n      setVisualsData(prevData => ({ ...prevData, [`${name}_current_count`]: currentFilesCount }));\n    }\n  };\n\n\n  handleDefaultFileList = () => {\n    const { defaultFileList } = this.props;\n    const data = defaultFileList || [];\n    const newList = [];\n\n    data.map(item => newList.push({id: item.id, imgUrl: item.thumbnailW120 }));\n    this.setState({ filesList: newList });\n  };\n\n\n  handleChange = (files) => {\n    const filesToDownload = { ...files };\n    const newFilesList = [ ...this.state.filesList ];\n    const { locationId, name, isPdf, refetchValues } = this.props;\n\n    for (const [key, value] of Object.entries(files)) {\n\n      const id = Number(('' + Math.random()).split(\".\")[1]);\n      const newFile = { loading: true, name: value.name, id };\n\n      value.id = id;\n      newFilesList.push(newFile);\n    }\n\n    this.setState({ filesList: newFilesList, pdfFileLoading: !!isPdf }, () => {\n      for (const [key, value] of Object.entries(filesToDownload)) {\n\n        const formData = new FormData();\n        formData.append('asset[asset_file]', value);\n        formData.append('asset[location_id]:', `${locationId}`);\n        formData.append('authenticity_token', this.props.formAuthToken);\n        formData.append('utf8', 'true');\n\n        const apiOptions = {\n          url: `/providers/locations/${locationId}/${name}`,\n          method: 'post',\n          data: formData,\n          headers: { 'Content-Type': 'application/json; charset=utf-8', 'Accept': 'application/json' },\n        };\n\n        apiProvider.withOptions(apiOptions)\n          .then(response => {\n            const { filesList } = this.state;\n            const newFileIndex = filesList.findIndex(file => file.id === value.id);\n            const currentFile = filesList[newFileIndex];\n            const newFilesList = [ ...filesList ];\n\n            currentFile.loading = false;\n\n            if (response) {\n              const assetInfo = response.assets_info || [];\n              const errorsPresent = response.errors && response.errors.length;\n\n              if (response.status === 'success') {\n\n                if (assetInfo.length === 0) {\n                  refetchValues && refetchValues();\n                } else {\n                  const asset = assetInfo[0];\n\n                  if (isPdf) {\n                    this.setState({ pdfFileLoading: false });\n                    refetchValues();\n                  } else {\n                    currentFile.imgUrl = asset.thumbnail;\n                    currentFile.id = asset.id;\n                  }\n                }\n\n              } else if (errorsPresent) {\n                currentFile.error = response.errors;\n                currentFile.id = Number(('' + Math.random()).split(\".\")[1]);\n              }\n\n              newFilesList.splice(newFileIndex, 1, currentFile);\n              this.setState({ filesList: newFilesList, pdfFileLoading: false }, () => {\n                newFilesList.length && !this.state.filesList.some(file => file.loading) && this.handleReorder();\n              });\n\n            } else {\n              newFilesList.splice(newFileIndex, 1);\n              this.setState({ filesList: newFilesList, infoMessagePopupActive: true });\n            }\n          })\n          .catch(error => {\n            console.log('Error--->', error);\n          });\n      }}\n    );\n  };\n\n\n  handleInputChange = (e) => {\n    this.handleChange(e.target.files);\n    e.target.value = '';\n  }\n\n\n  handleDragStart = (e) => {\n    const targetIndex = e.target.dataset.index;\n    e.target.classList.add('dragging');\n\n    this.setState({\n      draggable: this.state.filesList[targetIndex],\n      draggableIndex: targetIndex,\n    });\n  };\n\n\n  handleDragEnd = (e) =>\n    e.target.classList.remove('dragging');\n\n\n  handleDragEnter = (e) =>\n    e.preventDefault();\n\n\n  handleDrop = (e) => {\n    const dropzoneIndex = e.target.dataset.index;\n    const reorderedFilesList = [ ...this.state.filesList ];\n\n    reorderedFilesList.splice(Number(dropzoneIndex), 0, reorderedFilesList.splice(this.state.draggableIndex, 1)[0]);\n    this.setState({ filesList: reorderedFilesList }, () => this.handleReorder());\n  }\n\n\n  handleReorder = () => {\n    const { locationId, name } = this.props;\n    const url = `/providers/locations/${locationId}/${name}/set_positions`;\n    const formData = new FormData();\n\n    this.state.filesList.map(file => !file.error && formData.append('assets[]', file.id));\n    formData.append('authenticity_token', this.props.formAuthToken);\n\n    apiProvider.put(url, formData).then(response => console.log('response reorder', response));\n  };\n\n\n  handleDelete = (fileId) => {\n    const { filesList } = this.state;\n    const { locationId, name, isPdf, formAuthToken, refetchValues } = this.props;\n    const url = `/providers/locations/${locationId}/${name}${fileId ? `/${fileId}` : ''}`;\n    const apiOptions = {\n      url,\n      method: 'delete',\n      data: { authenticity_token: formAuthToken  },\n      headers: {'Content-Type': 'application/json; charset=utf-8', 'Accept': 'application/json'}\n    };\n\n    if (isPdf) {\n\n      this.setState({ pdfFileDeleting: true });\n\n      apiProvider.withOptions(apiOptions)\n        .then(response => {\n          if (response.status && response.status === 'success') {\n            refetchValues();\n            this.setState({ pdfFileDeleting: false });\n          }})\n        .catch(error => {\n          console.log('error', error);\n          this.setState({ pdfFileDeleting: false });\n        });\n\n    } else {\n\n      const removableFileIndex = filesList.findIndex(file => file.id === fileId);\n      // In case we have file error file is absent in database\n      const removeFromDatabase = !filesList[removableFileIndex].error;\n      const removeFileFromState = () => {\n        const newFilesList = [ ...filesList ];\n\n        newFilesList.splice(removableFileIndex, 1);\n        this.setState({ filesList: newFilesList });\n      }\n\n      if (removeFromDatabase) {\n        const newFilesList = [ ...filesList ];\n        const removableFile = newFilesList[removableFileIndex];\n\n        removableFile.loading = true;\n        newFilesList.splice(removableFileIndex, 1, removableFile);\n        this.setState({ filesList: newFilesList });\n\n        apiProvider.withOptions(apiOptions).then(response => {\n          console.log('remove', response);\n          removeFileFromState();\n        });\n      } else {\n        removeFileFromState();\n      }\n    }\n  };\n\n\n  handleRotate = (fileId) => {\n    const { formAuthToken, locationId, name } = this.props;\n    const url = `/providers/locations/${locationId}/${name}/${fileId}`;\n    const newFilesList = [ ...this.state.filesList ];\n    const currentFileIndex = newFilesList.findIndex(file => file.id === fileId);\n    const currentFile = newFilesList[currentFileIndex];\n\n    currentFile.loading = true;\n    newFilesList.splice(currentFileIndex, 1, currentFile);\n    this.setState({ filesList: newFilesList });\n\n    const apiOptions = {\n      url,\n      method: 'put',\n      data: { authenticity_token: formAuthToken, rotation_angle: 90  },\n      headers: {'Content-Type': 'application/json; charset=utf-8', 'Accept': 'application/json'}\n    };\n\n    apiProvider.withOptions(apiOptions).then(response => {\n      if (response && response.status === 'success') {\n        const rotationAngle = currentFile.rotationAngle;\n\n        currentFile.rotationAngle = rotationAngle ? rotationAngle + 90 : 90;\n        currentFile.loading = false;\n        newFilesList.splice(currentFileIndex, 1, currentFile);\n        this.setState({ filesList: newFilesList });\n      }\n    });\n  };\n\n\n  render() {\n\n    const { name, fileTypes, isPdf, linkFile } = this.props;\n    const { filesList, infoMessagePopupActive, pdfFileLoading, pdfFileDeleting } = this.state;\n    const showFileLink = isPdf && (linkFile.url || pdfFileLoading);\n\n\n    return (\n      <div className=\"file-input\">\n\n        <InfoMessagePopup\n          handleClose={() => this.setState({ infoMessagePopupActive: false })}\n          message={I18n.t('apps.lb_showroom.detailed.order_form.error.message')}\n          customClass={'error'}\n          visible={infoMessagePopupActive}\n        />\n\n        <div className=\"file-input__preview-list\">\n\n          { !isPdf && filesList.length > 0 && filesList.map((file, index) =>\n            <div className=\"file-input__dropzone\"\n                 key={index}\n                 data-index={index}\n                 onDrop={this.handleDrop}\n                 onDragEnter={this.handleDragEnter}>\n\n              <div draggable={!file.error}\n                   onDragStart={this.handleDragStart}\n                   onDragEnd={this.handleDragEnd}\n                   data-index={index}\n                   className={`file-input__preview-img ${file.error ? ' error' : ''}`}>\n\n                <div className=\"file-input__background\"\n                     style={ file.imgUrl\n                       ? { backgroundImage: `url('${file.imgUrl}')`, transform: `rotate(${file.rotationAngle || 0}deg)`, opacity: file.loading ? 0.5 : 1 }\n                       : null }\n                />\n\n                { !file.loading &&\n                  <div className=\"file-input__delete\" onClick={() => this.handleDelete(file.id)}>\n                    <SvgIco name=\"close\" size={14} />\n                  </div>\n                }\n\n                { !file.loading && !file.error &&\n                  <div className=\"file-input__rotate\" onClick={() => this.handleRotate(file.id)}>\n                    <SvgIco name=\"sync\" size={13} />\n                  </div>\n                }\n\n                { file.loading &&\n                  <div className={`lds-spinner${file.imgUrl ? ' black' : ''}`}>\n                    <div /><div /><div /><div /><div /><div /><div /><div /><div /><div /><div /><div />\n                  </div>\n                }\n\n                { (file.loading || file.error) &&\n                  <div className=\"file-input__name\">\n                    { file.name }\n                  </div>\n                }\n\n                { file.error &&\n                  <Fragment>\n                    <div className=\"file-input__error\">\n                      <div className=\"provider-tooltip\"\n                           data-tip={file.error[0]}\n                           data-class=\"provider-tooltip__body\"\n                           data-for={`${file.name}-tooltip`}>\n\n                        <div className=\"file-input__error-label\">\n                          { I18n.t('error_page.general.error') }\n                          <SvgIco name=\"info_outline\" size={18} />\n                        </div>\n                      </div>\n\n                      <ReactTooltip\n                        border={true}\n                        borderColor=\"black\"\n                        effect='solid'\n                        id={`${file.name}-tooltip`}\n                        place='right'\n                        type=\"light\"\n                      />\n                    </div>\n                  </Fragment>\n                }\n\n              </div>\n            </div>\n          )}\n\n          <div className=\"file-input__drop-wrapper\">\n            <FileDrop onDrop={(files) => this.handleChange(files)}>\n\n              <label htmlFor={name}>\n                <SvgIco name=\"add_circle_outline\" size={32} />\n              </label>\n\n              <input\n                accept={fileTypes}\n                className=\"file-input__input\"\n                id={name}\n                multiple={!isPdf}\n                name={name}\n                onChange={this.handleInputChange}\n                onDrop={this.handleDrop}\n                type=\"file\" />\n            </FileDrop>\n          </div>\n\n        </div>\n\n        { showFileLink &&\n          <div className=\"file-input__url-file-wrapper\">\n            <a href={linkFile.url} target=\"_blank\">\n\n              { pdfFileLoading || pdfFileDeleting\n                ? <div className={`lds-spinner ${pdfFileDeleting ? 'lds-spinner--red' : ''}`}>\n                    <div /><div /><div /><div /><div /><div /><div /><div /><div /><div /><div /><div />\n                  </div>\n                : <SvgIco name=\"pdf\" size={24} />\n              }\n\n              <div className=\"google-translate-helper\">\n                { linkFile.name }.pdf\n              </div>\n            </a>\n\n            { !pdfFileLoading &&\n              <SvgIco\n                className={pdfFileDeleting ? 'inactive' : ''}\n                name=\"delete_outline\"\n                onClick={() => this.handleDelete(false)}\n                size={24} />\n            }\n\n          </div>\n        }\n      </div>\n    )\n  }\n}\n\n\nexport default FileInput;\n","import React, { useState, useEffect, useRef } from 'react';\n\nimport {\n  KeyboardArrowRightRounded,\n  KeyboardArrowLeftRounded,\n} from '../../../../SharedComponents/Icons';\n\nimport './FixedNavigationBar.sass';\n\nconst FixedNavigationBar = (props) => {\n  const [showLeftArrow, setShowLeftArrow] = useState(false);\n  const [showRightArrow, setShowRightArrow] = useState(false);\n  const [activeSection, setActiveSection] = useState(\n    props.activeSection || null,\n  );\n  const [isScrollable, setIsScrollable] = useState(false);\n  const [initialization, setInitialization] = useState(true);\n\n  const refsList = {\n    navigationLinksList: useRef(),\n    photosRef: useRef(),\n    floorPlansRef: useRef(),\n    interiorDesignRef: useRef(),\n    virtualTourRef: useRef(),\n    vimeoRef: useRef(),\n    prospectusRef: useRef(),\n  };\n\n  const {\n    photosRef,\n    floorPlansRef,\n    interiorDesignRef,\n    virtualTourRef,\n    vimeoRef,\n    prospectusRef,\n  } = refsList;\n  const navigationLinksList = refsList.navigationLinksList.current;\n\n  useEffect(() => {\n    setActiveSection(props.activeSection || null);\n    props.activeSection && handleActiveSectionChange(props.activeSection);\n    window.addEventListener('resize', handleHorizontalScroll);\n    return () => {\n      window.removeEventListener('resize', handleHorizontalScroll);\n    };\n  }, []);\n\n  useEffect(() => {\n    handleActiveSectionChange(props.activeSection);\n    return () => null;\n  }, [props.activeSection]);\n\n  useEffect(() => {\n    if (navigationLinksList) {\n      handleArrowAppearance();\n      handleHorizontalScroll();\n    }\n\n    return () => null;\n  }, [navigationLinksList]);\n\n  const handleHorizontalScroll = () => {\n    if (navigationLinksList) {\n      const navigationListFirstChild =\n        navigationLinksList && navigationLinksList.firstChild;\n\n      const isScrollable =\n        navigationListFirstChild &&\n        (Math.round(navigationListFirstChild.getBoundingClientRect().left) <\n          navigationLinksList.getBoundingClientRect().left ||\n          Math.round(\n            navigationLinksList.lastChild.getBoundingClientRect().right,\n          ) > navigationLinksList.getBoundingClientRect().right);\n\n      handleArrowAppearance();\n      navigationLinksList.addEventListener('scroll', handleArrowAppearance);\n      setIsScrollable(isScrollable);\n    }\n  };\n\n  const handleActiveSectionChange = (targetName) => {\n    const targetSection = refsList[targetName] && refsList[targetName].current;\n\n    if (targetSection) {\n      if (targetName !== activeSection || initialization) {\n        if (isScrollable) {\n          const targetRightCoodrs = targetSection.getBoundingClientRect().right,\n            targetLeftCoords = targetSection.getBoundingClientRect().left,\n            navigationListFirstChild = navigationLinksList.firstChild,\n            navigationListLastChild = navigationLinksList.lastChild,\n            navigationListRightCoords =\n              targetSection === navigationListLastChild\n                ? navigationLinksList.getBoundingClientRect().right\n                : navigationLinksList.getBoundingClientRect().right - 24,\n            navigationListLeftCoords =\n              targetSection === navigationListFirstChild\n                ? navigationLinksList.getBoundingClientRect().left\n                : navigationLinksList.getBoundingClientRect().left + 24;\n\n          targetRightCoodrs > navigationListRightCoords\n            ? scrollToRightTarget(targetLeftCoords)\n            : targetLeftCoords < navigationListLeftCoords\n            ? scrollToLeftTarget(targetLeftCoords)\n            : null;\n        }\n        activeSection &&\n          refsList[activeSection].current.classList.remove('active');\n        targetSection.classList.add('active');\n        setActiveSection(targetName);\n        initialization && setInitialization(false);\n      }\n    } else {\n      // At first render React needs time to initialize ref and we get undefined\n      setTimeout(() => handleActiveSectionChange(targetName), 10);\n    }\n  };\n\n  const handleArrowAppearance = () => {\n    if (navigationLinksList) {\n      const leftBoundary =\n        navigationLinksList.firstChild.getBoundingClientRect().left;\n      const rightBoundary =\n        navigationLinksList.lastChild.getBoundingClientRect().right;\n      const navigationListLeftBorder =\n        navigationLinksList.getBoundingClientRect().left;\n      const navigationListRightBorder =\n        navigationLinksList.getBoundingClientRect().right;\n\n      setShowLeftArrow(Math.round(leftBoundary) < navigationListLeftBorder);\n      setShowRightArrow(Math.round(rightBoundary) > navigationListRightBorder);\n    }\n  };\n\n  const scrollToTarget = (target) => {\n    if (activeSection !== target) {\n      handleActiveSectionChange(target);\n      props.scrollToTarget(target);\n    }\n  };\n\n  const handleLeftScroll = () =>\n    (navigationLinksList.scrollLeft =\n      navigationLinksList.scrollLeft - navigationLinksList.offsetWidth);\n\n  const handleRightScroll = () =>\n    (navigationLinksList.scrollLeft =\n      navigationLinksList.offsetWidth + navigationLinksList.scrollLeft);\n\n  const scrollToRightTarget = (targetLeftCoords) => {\n    navigationLinksList.scrollLeft =\n      targetLeftCoords - 44 + navigationLinksList.scrollLeft;\n  };\n\n  const scrollToLeftTarget = (targetLeftCoords) => {\n    const targetLeftScroll =\n      targetLeftCoords >= 0 ? targetLeftCoords : targetLeftCoords * -1;\n    navigationLinksList.scrollLeft =\n      navigationLinksList.scrollLeft - (targetLeftScroll + 44);\n  };\n\n  const { showNavigationMenu } = props;\n  const classes = `fixed-nav${showNavigationMenu ? ' active' : ''}`;\n\n  return (\n    <div className={classes}>\n      <div className=\"fixed-nav__container\">\n        <ul\n          className=\"fixed-nav__links-wrapper\"\n          ref={refsList.navigationLinksList}\n        >\n          <li className=\"fixed-nav__link\" ref={photosRef}>\n            <span onClick={() => scrollToTarget('photosRef')}>\n              {I18n.t('providers.photos.form.add_pictures')}\n            </span>\n          </li>\n\n          <li className=\"fixed-nav__link\" ref={floorPlansRef}>\n            <span onClick={() => scrollToTarget('floorPlansRef')}>\n              {I18n.t('providers.locations.edit.assets.add_floor_plans')}\n            </span>\n          </li>\n\n          {/*<li className=\"fixed-nav__link\" ref={interiorDesignRef}>*/}\n          {/*  <span onClick={() => scrollToTarget('interiorDesignRef')}>{I18n.t('providers.locations.form.add_interior_design')}</span>*/}\n          {/*</li>*/}\n\n          <li className=\"fixed-nav__link\" ref={virtualTourRef}>\n            <span onClick={() => scrollToTarget('virtualTourRef')}>\n              {I18n.t('providers.locations.form.add_virtual_tour')}\n            </span>\n          </li>\n\n          <li className=\"fixed-nav__link\" ref={vimeoRef}>\n            <span onClick={() => scrollToTarget('vimeoRef')}>\n              {I18n.t('providers.locations.form.add_video')}\n            </span>\n          </li>\n\n          <li className=\"fixed-nav__link\" ref={prospectusRef}>\n            <span onClick={() => scrollToTarget('prospectusRef')}>\n              {I18n.t('providers.prospectuses.show.add_prospect')}\n            </span>\n          </li>\n        </ul>\n        {showLeftArrow && (\n          <div className=\"fixed-nav__arrow-left\" onClick={handleLeftScroll}>\n            <KeyboardArrowLeftRounded />\n          </div>\n        )}\n        {showRightArrow && (\n          <div className=\"fixed-nav__arrow-right\" onClick={handleRightScroll}>\n            <KeyboardArrowRightRounded />\n          </div>\n        )}\n      </div>\n    </div>\n  );\n};\n\nexport default FixedNavigationBar;\n","import React from 'react';\n\nimport './InputBanner.sass';\n\n\nconst InputBanner = ({ additionalClass, buyNowLink, content, headline, readMoreLink }) => {\n  return (\n    <div className={`input-banner ${additionalClass || ''}`}>\n      <div className=\"input-banner__content-wrapper\">\n        <div className=\"input-banner__headline\">\n          { headline }\n        </div>\n        <div className=\"input-banner__content\">\n          { content }\n        </div>\n      </div>\n\n        <div className=\"input-banner__buttons\">\n          { readMoreLink &&\n            <a className=\"input-banner__read-more\" href={readMoreLink} target='_blank'>\n              { I18n.t('generic.read_more') }\n            </a>\n          }\n\n          { readMoreLink && buyNowLink &&\n            <div className=\"input-banner__buttons-separator\">\n              { I18n.t('generic.or') }\n            </div>\n          }\n\n          { buyNowLink }\n        </div>\n    </div>\n  )\n}\n\nexport default InputBanner;\n","import React, { Fragment, useContext } from 'react';\nimport ReactTooltip from 'react-tooltip';\n\nimport BasicInput from '../../../../SharedComponents/Forms/BasicInput';\nimport { SvgIco } from \"../../../../SharedComponents/Icons\";\nimport { ScoreActionTooltip } from \"../../../ScoreWidget\";\nimport { Context } from '../../index';\nimport FileInput from './FileInput';\nimport InputBanner from './InputBanner';\n\nimport './VisualsBlock.sass';\n\nconst VisualsBlock = ({ bannerClass,\n                        bannerContent,\n                        bannerHeadline,\n                        buyNowLink,\n                        defaultFileList,\n                        fileTypes,\n                        handleChange,\n                        inputHeadline,\n                        inputLabel,\n                        inputType,\n                        isPdf,\n                        linkFile,\n                        name,\n                        qualityScore,\n                        qualityScoreName,\n                        readMoreLink,\n                        refetchValues,\n                        setVisualsData,\n                        showBanner,\n                        showFileAsLink,\n                        singleFileInput,\n                        tooltip, }) => {\n\n  const { editedValuesFields,\n          errors,\n          formAuthToken,\n          handleEdit,\n          handleInputChange,\n          locationId,\n          validateFields,\n          values } = useContext(Context);\n\n  const isFileInput = inputType === 'file';\n  const value = values[name];\n\n\n  return (\n    <div className=\"visuals-block\">\n      <div className=\"visuals-block__wrapper\">\n        <div className={`form-group form-group--visuals${ isFileInput ? ' file' : '' }`}>\n          <div className=\"visuals-block__input-headline\">\n            { inputHeadline }\n\n            <span className=\"provider-tooltip\"\n                  data-tip={tooltip}\n                  data-class=\"provider-tooltip__body\"\n                  data-html={tooltip}\n                  data-for={`${name}-tooltip`}>\n              <SvgIco name=\"info_outline\" size={22} />\n            </span>\n\n            <ReactTooltip\n              border={true}\n              borderColor=\"black\"\n              effect='solid'\n              id={`${name}-tooltip`}\n              place='right'\n              type=\"light\"\n            />\n\n            <ScoreActionTooltip\n              filled={(qualityScore && qualityScore[qualityScoreName].score) || value}\n              label={qualityScore && I18n.t(`provider.form.quality_score.hint_label.${qualityScore[qualityScoreName].id}`)}\n            />\n          </div>\n\n          <div className=\"visuals-block__input-label\">\n            { inputLabel }\n          </div>\n\n          <div className=\"visuals-block__input-wrapper\">\n            { isFileInput\n              ?\n                <FileInput\n                  defaultFileList={defaultFileList}\n                  fileTypes={fileTypes}\n                  formAuthToken={formAuthToken}\n                  linkFile={linkFile}\n                  locationId={locationId}\n                  name={name}\n                  refetchValues={refetchValues}\n                  setVisualsData={setVisualsData}\n                  singleFileInput={singleFileInput}\n                  isPdf={isPdf}\n                  showFileAsLink={showFileAsLink} />\n              :\n                <Fragment>\n                  <BasicInput\n                    error={errors[name]}\n                    handleChange={handleChange || handleInputChange}\n                    name={name}\n                    type={inputType}\n                    value={value || ''}/>\n\n                  <div className={`visuals-block__input-submit-btn ${editedValuesFields.includes(name) ? 'active' : ''}`}\n                       onClick={() => validateFields(false, handleEdit)}>\n                    { I18n.t('generic.update_button') }\n                  </div>\n                </Fragment>\n            }\n          </div>\n        </div>\n      </div>\n\n      { showBanner &&\n        <InputBanner\n          additionalClass={bannerClass}\n          buyNowLink={buyNowLink}\n          content={bannerContent}\n          headline={bannerHeadline}\n          readMoreLink={readMoreLink}\n        />\n      }\n\n    </div>\n  )\n}\n\n\nexport default VisualsBlock;\n","import React, {Fragment, useContext, useEffect, useRef, useState,} from 'react';\nimport { Link } from \"react-router-dom\";\n\nimport { apiProvider } from '../../../../../api/core';\nimport { SvgIco } from '../../../../SharedComponents/Icons';\nimport GenerateProspectusModal from '../../../Modals/GenerateProspectusModal';\nimport VisualsProposalsForm from '../../../Modals/VisualsProposalsForm';\nimport { Context } from '../../index';\nimport VisualsBlock from './VisualsBlock';\nimport FixedNavigationBar from './FixedNavigationBar';\n\nimport './index.sass';\n\nlet interval;\n\n\nconst Visuals = () => {\n\n  const [showNavigationMenu, setShowNavigationMenu] = useState();\n  const [proposalFormIsOpen, setProposalFormIsOpen] = useState(false);\n  const [prospectusError, setProspectusError] = useState(false);\n  const [prospectusIsLoading, setProspectusIsLoading] = useState(false);\n  const [prospectusModalIsOpen, setProspectusModalIsOpen] = useState(false);\n  const [proposalFormTrigger, setProposalFormTrigger] = useState(null);\n  const [activeSection, setActiveSection] = useState(null);\n  const [generatedProspectusUrl, setGeneratedProspectusUrl] = useState(null);\n\n\n  const {\n    currentLocale,\n    currentContactId,\n    locationId,\n    patternedProspectusEnabled,\n    qualityScore,\n    refetchVisualValues,\n    setVisualsData,\n    siteKey,\n    visualsData,\n  } = useContext(Context);\n\n\n  const refsList = {\n    navigationLinksList: useRef(),\n    photosRef: useRef(),\n    floorPlansRef: useRef(),\n    interiorDesignRef: useRef(),\n    virtualTourRef: useRef(),\n    vimeoRef: useRef(),\n    prospectusRef: useRef(),\n  };\n\n  const {\n    floorPlansRef,\n    photosRef,\n    prospectusRef,\n    virtualTourRef,\n    vimeoRef,\n  } = refsList;\n\n  const { floorPlans, photos, prospectus, address } = visualsData;\n  const { prospectusPath } = prospectus || {};\n  const showBanner = siteKey === 'dk';\n\n\n  useEffect(() => {\n    handleShowNavigationMenu();\n    window.addEventListener('scroll', handleShowNavigationMenu);\n\n    return () => window.removeEventListener('scroll', handleShowNavigationMenu);\n  }, []);\n\n\n  const activateSection = () =>\n    setTimeout(handleActiveAreaSection, 10);\n\n\n  const onScrollEnd = (targetCoords) =>\n    setTimeout(() => endOfScroll(targetCoords), 20);\n\n\n  const handleShowNavigationMenu = () => {\n    const topOffset = 104;\n    const showNavigation =\n      photosRef.current.getBoundingClientRect().top - 100 <= topOffset;\n\n    if (showNavigation !== showNavigationMenu) {\n      showNavigation && handleActiveAreaSection();\n      setShowNavigationMenu(showNavigation);\n    } else if (showNavigation) {\n      activateSection();\n    }\n  };\n\n\n  const handleActiveAreaSection = () => {\n    const topOffset = document.getElementById('provider-header').offsetHeight + 48;\n    const sectionsList = document.querySelectorAll('.visuals__block-wrapper');\n    const viewPortBottomBorder = (window.innerHeight - topOffset) / 2;\n\n    if (photosRef.current.getBoundingClientRect().top <= topOffset) {\n      Object.keys(sectionsList).forEach((elem) => {\n        const node = sectionsList[elem];\n        const nodeName =\n          node && node.firstChild && node.firstChild.dataset.name;\n\n        if (nodeName && activeSection !== nodeName) {\n          const nodeTop = node.getBoundingClientRect().top;\n          const nodeBottom = node.getBoundingClientRect().bottom;\n\n          // If node is partially in area viewPort\n          if (nodeTop < viewPortBottomBorder && nodeBottom > topOffset) {\n            // If node is 100% in area viewPort\n            if (\n              (nodeTop < topOffset && nodeBottom > viewPortBottomBorder) ||\n              (nodeTop > topOffset && nodeBottom < viewPortBottomBorder)\n            ) {\n              setActiveSection(nodeName);\n            } else {\n              const viewPortNodeTop = nodeTop < topOffset ? topOffset : nodeTop;\n              const viewPortNodeBottom =\n                nodeBottom > viewPortBottomBorder\n                  ? viewPortBottomBorder\n                  : nodeBottom;\n\n              // If node takes at least 50% of area viewPort\n              if (\n                viewPortNodeBottom - viewPortNodeTop >=\n                (viewPortBottomBorder - topOffset) / 2\n              ) {\n                setActiveSection(nodeName);\n              }\n            }\n          }\n        }\n      });\n    } else if (activeSection !== 'photosRef') {\n      setActiveSection('photosRef');\n    }\n  };\n\n\n  const scrollToTarget = (target) => {\n    const targetTopCoords = refsList[target].current.getBoundingClientRect().top;\n    const headerHeight = document.getElementById('provider-header').offsetHeight;\n    const windowHeight = window.pageYOffset;\n    const targetCoords = Math.floor(targetTopCoords + windowHeight - (headerHeight + 80));\n\n    window.removeEventListener('scroll', handleShowNavigationMenu);\n    window.scroll(0, targetCoords);\n    window.addEventListener('scroll', onScrollEnd(targetCoords));\n  };\n\n\n  const endOfScroll = (targetCoords) => {\n    if (window.pageYOffset === targetCoords) {\n      window.addEventListener('scroll', handleShowNavigationMenu);\n      window.removeEventListener('scroll', onScrollEnd(targetCoords));\n    }\n  };\n\n\n  const openProposalForm = (triggerSection) => {\n    setProposalFormTrigger(triggerSection);\n    setProposalFormIsOpen(true);\n  };\n\n\n  const closeProposalForm = () => {\n    setProposalFormTrigger(null);\n    setProposalFormIsOpen(false);\n  };\n\n\n  const BuyNowFormButton = ({ triggerSection, buttonText }) =>\n    <div className=\"input-banner__buy-button input-banner__order-service-button\"\n         onClick={() => openProposalForm(triggerSection)}>\n      { buttonText }\n    </div>;\n\n\n  const GenerateProspectusButton = () =>\n    <div className=\"input-banner__buy-button\"\n         onClick={() => generatedProspectusUrl ? setProspectusModalIsOpen(true) : generateProspectus()}>\n      { I18n.t('order_confirmations.show.generate-prospectus') }\n    </div>;\n\n\n  const generateProspectus = () => {\n    const url = `/api/frontend/locations/${locationId}/patterned_prospectus`;\n\n    setProspectusIsLoading(true);\n    setProspectusModalIsOpen(true);\n\n    apiProvider\n      .post(url, { location_id: locationId })\n      .then((response) => {\n        const { pdf_url, status_url } = response;\n\n        setGeneratedProspectusUrl(pdf_url);\n\n        interval = setInterval(\n          () =>\n            apiProvider.getAll(status_url).then((response) => {\n              if (response.status === 'finished') {\n                clearInterval(interval);\n                setProspectusIsLoading(false);\n              }\n            }),\n          2000,\n        );\n      })\n      .catch((error) => {\n        setProspectusIsLoading(false);\n        setProspectusError(true);\n        clearInterval(interval);\n        console.log('error', error);\n      });\n  };\n\n\n  const handleCloseProspectusModal = () => {\n    setProspectusModalIsOpen(false);\n    prospectusError && setProspectusError(false);\n  };\n\n\n  return (\n    <div className=\"visuals\">\n      <VisualsProposalsForm\n        handleClose={closeProposalForm}\n        currentContactId={currentContactId}\n        locationAddress={address}\n        locationId={locationId}\n        showModal={proposalFormIsOpen}\n        trigger={proposalFormTrigger}\n      />\n\n      { showNavigationMenu &&\n        <FixedNavigationBar\n          activeSection={activeSection}\n          scrollToTarget={scrollToTarget}\n          showNavigationMenu={showNavigationMenu}\n        />\n      }\n\n      <div className=\"visuals__block-wrapper\">\n        <div\n          className=\"sectionScrollTarget\"\n          data-name=\"photosRef\"\n          id=\"photo\"\n          ref={photosRef}\n        />\n        <VisualsBlock\n          bannerContent={I18n.t('providers.locations.form.photos_banner_content')}\n          bannerHeadline={I18n.t('providers.locations.form.photos_banner_headline')}\n          buyNowLink={<BuyNowFormButton triggerSection=\"photo\" buttonText=\"Køb fotopakke\" />}\n          defaultFileList={photos}\n          fileTypes=\"image/bmp, image/gif, image/jpeg, image/jpg, image/png, image/tif, image/tiff, image/webp\"\n          inputHeadline={I18n.t('providers.photos.form.add_pictures')}\n          inputLabel={I18n.t('providers.locations.form.add_photos_label')}\n          inputType=\"file\"\n          name=\"photos\"\n          qualityScore={qualityScore}\n          qualityScoreName=\"photos\"\n          readMoreLink={'/serviceydelser-til-udlejere/fotos'}\n          setVisualsData={setVisualsData}\n          showBanner={showBanner}\n          tooltip={I18n.t('providers.locations.form.add_photos_tooltip')}\n        />\n      </div>\n\n      <div className=\"visuals__block-wrapper\">\n        <div\n          className=\"sectionScrollTarget\"\n          data-name=\"floorPlansRef\"\n          id=\"floor-plans\"\n          ref={floorPlansRef}\n        />\n        <VisualsBlock\n          bannerContent={I18n.t('providers.locations.form.floor_plan_banner_content')}\n          bannerHeadline={I18n.t('providers.locations.form.floor_plan_banner_headline')}\n          buyNowLink={<BuyNowFormButton triggerSection=\"floorPlan\" buttonText=\"Køb plantegning\" />}\n          defaultFileList={floorPlans}\n          fileTypes=\"image/bmp, image/gif, image/jpeg, image/jpg, image/png, image/tif, image/tiff, image/webp, application/pdf, application/x-pdf\"\n          inputHeadline={I18n.t('providers.locations.edit.assets.add_floor_plans')}\n          inputLabel={I18n.t('providers.locations.form.add_floor_plans_label')}\n          inputType=\"file\"\n          name=\"floor_plans\"\n          qualityScore={qualityScore}\n          qualityScoreName=\"floorPlan\"\n          readMoreLink={'/serviceydelser-til-udlejere/fotos'}\n          refetchValues={() => refetchVisualValues({ id: locationId })}\n          setVisualsData={setVisualsData}\n          showBanner={showBanner}\n          tooltip={I18n.t('providers.locations.form.add_floor_plan_tooltip')}\n        />\n      </div>\n\n      {/*<div className=\"visuals__block-wrapper\">*/}\n      {/*  <div className=\"sectionScrollTarget\" ref={interiorDesignRef} data-name=\"interiorDesignRef\"/>*/}\n      {/*  <VisualsBlock*/}\n      {/*    name=\"interiorDesign\"*/}\n      {/*    inputHeadline={I18n.t('providers.locations.form.add_interior_design')}*/}\n      {/*    inputLabel={I18n.t('providers.locations.form.add_floor_interior_design_label')}*/}\n      {/*    tooltip={I18n.t('providers.locations.form.add_interior_design_tooltip')}*/}\n      {/*    inputType=\"file\"*/}\n      {/*    fileTypes=\"image/bmp, image/gif, image/jpeg, image/jpg, image/png, image/tif, image/tiff, application/pdf, application/x-pdf\"*/}\n      {/*    showBanner={showBanner}*/}\n      {/*    bannerHeadline={I18n.t('providers.locations.form.interior_design_banner_headline')}*/}\n      {/*    bannerContent={I18n.t('providers.locations.form.interior_design_banner_content')}*/}\n      {/*    readMoreLink={'/serviceydelser-til-udlejere/fotos'}*/}\n      {/*    buyNowLink={<InteriorDesignForm />} />*/}\n      {/*</div>*/}\n\n      <div className=\"visuals__block-wrapper\">\n        <div\n          className=\"sectionScrollTarget\"\n          data-name=\"virtualTourRef\"\n          id=\"virtual-tour\"\n          ref={virtualTourRef}\n        />\n        <VisualsBlock\n          bannerContent={I18n.t('providers.locations.form.virtual_tour_banner_content')}\n          bannerHeadline={I18n.t('providers.locations.form.virtual_tour_banner_headline')}\n          buyNowLink={<BuyNowFormButton triggerSection=\"virtualTour\" buttonText=\"Køb virtuel tur\" />}\n          inputHeadline={I18n.t('providers.locations.form.add_virtual_tour')}\n          inputLabel={I18n.t('providers.locations.form.virtual_tour_label')}\n          name=\"virtualTour\"\n          qualityScore={qualityScore}\n          qualityScoreName=\"virtualTour\"\n          readMoreLink={'/serviceydelser-til-udlejere/fotos'}\n          showBanner={false}\n          tooltip={I18n.t('providers.locations.form.add_virtual_tour_tooltip')}\n        />\n      </div>\n\n      <div className=\"visuals__block-wrapper\">\n        <div\n          className=\"sectionScrollTarget\"\n          data-name=\"vimeoRef\"\n          id=\"vimeo-id\"\n          ref={vimeoRef}\n        />\n        <VisualsBlock\n          bannerContent={I18n.t('providers.locations.form.video_banner_content')}\n          bannerHeadline={I18n.t('providers.locations.form.video_banner_headline')}\n          buyNowLink={<BuyNowFormButton triggerSection=\"video\" buttonText=\"Køb video\" />}\n          inputHeadline={I18n.t('providers.locations.form.add_video')}\n          inputLabel={I18n.t('providers.locations.form.add_video_label')}\n          inputType=\"number\"\n          name=\"vimeoId\"\n          qualityScore={qualityScore}\n          qualityScoreName=\"video\"\n          readMoreLink={'/serviceydelser-til-udlejere/fotos'}\n          showBanner={false}\n          tooltip={I18n.t('providers.locations.form.add_video_tooltip')}\n        />\n      </div>\n\n      <div className=\"visuals__block-wrapper\">\n        <div\n          className=\"sectionScrollTarget\"\n          data-name=\"prospectusRef\"\n          id=\"prospectuses\"\n          ref={prospectusRef}\n        />\n        <VisualsBlock\n          bannerClass=\"green\"\n          bannerContent={I18n.t('providers.locations.form.prospectus_banner_content')}\n          bannerHeadline={I18n.t('providers.locations.form.prospectus_banner_headline')}\n          buyNowLink={<GenerateProspectusButton />}\n          fileTypes=\"application/pdf, application/x-pdf\"\n          inputHeadline={I18n.t('providers.prospectuses.show.add_prospect')}\n          inputType=\"file\"\n          isPdf={true}\n          linkFile={{ url: prospectusPath, name: address }}\n          name=\"prospectus\"\n          qualityScore={qualityScore}\n          qualityScoreName=\"prospectus\"\n          refetchValues={() => refetchVisualValues({ id: locationId })}\n          setVisualsData={setVisualsData}\n          showBanner={patternedProspectusEnabled && !prospectusPath}\n          tooltip={I18n.t('providers.prospectuses.show.add_prospectus_tooltip')}\n          inputLabel={\n            <Fragment>\n              <p>{ I18n.t('providers.prospectuses.show.add_prospectus_label') }</p>\n              { prospectusPath && <p>{ I18n.t('providers.prospectuses.show.notice') }</p>}\n            </Fragment>\n          }\n        />\n\n        <GenerateProspectusModal\n          error={prospectusError}\n          generatedProspectusUrl={generatedProspectusUrl}\n          handleClose={handleCloseProspectusModal}\n          loading={prospectusIsLoading}\n          showModal={prospectusModalIsOpen}\n        />\n      </div>\n\n      <div className=\"visuals__save-button-wrapper\">\n        <Link to={`${currentLocale}/new_providers/locations/edit/${locationId}/description`} className=\"visuals__back-button\">\n          <SvgIco name=\"arrow-back\" size={24} />\n          <span>{ I18n.t('generic.back') }</span>\n        </Link>\n        <Link to={`${currentLocale}/new_providers/locations/info/${locationId}`} className=\"visuals__save-button\">\n          { I18n.t('generic.finish') }\n        </Link>\n      </div>\n\n    </div>\n  );\n};\n\nexport default Visuals;\n","import React, { Fragment, useEffect } from 'react';\nimport { useParams } from 'react-router-dom';\n\nimport Description from './Steps/Description';\nimport Location from './Steps/Location';\nimport FactsAndFacilities from './Steps/FactsAndFacilities';\nimport Economy from './Steps/Economy';\nimport Contacts from './Steps/Contacts';\nimport Visuals from './Steps/Visuals';\n\nconst StepsWrapper = ({ setActiveSection, stepsData, setLastAvailableStep, showFacts, activeSection: currentActiveSection, stepsRefs, setShowNotFoundPage  }) => {\n\n  const { section: activeSection } = useParams();\n\n  useEffect(() => {\n    setActiveSection(activeSection);\n\n    const getAllSteps = Object.keys(stepsData);\n    const checkExistStep = getAllSteps.includes(activeSection);\n\n    if (checkExistStep) {\n      !stepsData[activeSection].passed && setLastAvailableStep(activeSection);\n    } else {\n      setShowNotFoundPage(true)\n    }\n  }, [activeSection]);\n\n  const renderStep = () => {\n    switch (true) {\n      case activeSection === 'description':\n        return <Description ref={stepsRefs.description} />;\n      case activeSection === 'location':\n        return <Location />\n      case activeSection === 'facts' && showFacts:\n        return <FactsAndFacilities />\n      case activeSection === 'economy':\n        return <Economy ref={stepsRefs.economy} />\n      case activeSection === 'contacts':\n        return <Contacts />;\n      case activeSection === 'visuals':\n        return <Visuals />\n      default:\n        return <Location />;\n    }\n  };\n\n\n  return (\n    <Fragment>\n      { currentActiveSection && renderStep() }\n    </Fragment>\n  )\n}\n\nexport default StepsWrapper;\n","import React, { useEffect, useState, useRef, useMemo, Fragment } from 'react';\nimport { createContext } from 'react';\nimport {\n  Switch,\n  Route,\n  useRouteMatch,\n  useHistory,\n  useParams,\n} from 'react-router-dom';\nimport { useLazyQuery, useMutation } from '@apollo/client';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { VALIDATE_LOCATION_FIELDS, ADD_LOCATION, UPDATE_LOCATION } from '../ApolloClient/mutations';\nimport { GET_LOCATION_VALUES, GET_LOCATION_VISUALS, GET_LOCATIONS } from '../ApolloClient/queries';\nimport NetworkError from '../Errors/NetworkError';\nimport InfoMessagePopup from '../Popups/InfoMessagePopup';\nimport Page404 from '../Errors/Page404';\nimport { QualityScoreBanner, scoreCalculator } from \"../ScoreWidget\";\nimport ProgressBar from './ProgressBar/index';\nimport StepsWrapper from './StepsWrapper';\n\nimport './index.sass';\n\nexport const Context = createContext({});\n\n\nconst LocationForm = (props) => {\n\n  const {\n    currentLocale,\n    defaultCurrencyId,\n    isNumber,\n    partnerBadgeUrl,\n    qualityScoreLink,\n    resourceNotFoundError,\n    siteName\n  } = props;\n\n  const { id: locationId, locationSection, editPage } = useParams();\n  const history = useHistory();\n  const match = useRouteMatch();\n  const stepsRefs = { description: useRef() };\n  const currentStepRef = useRef();\n\n  const firstKind = (section) => {\n    switch (section) {\n      case 'lease':\n        return props.leaseKinds[0];\n      case 'sales':\n        return props.saleKinds[0];\n      case 'anonymous':\n        return props.leaseKinds[0];\n      default:\n        return 'office';\n    }\n  };\n\n  const [values, setValues] = useState({\n    addressLine1: locationSection === 'anonymous' ? 'anonymous' : '',\n    exemptedFromEnergyRating: false,\n    isBuilt: true,\n    facilityIds: [],\n    section: locationSection === 'sales' ? 'own_use' : 'lease',\n    kind: firstKind(locationSection),\n    anonymous: locationSection === 'anonymous',\n    currencyId: defaultCurrencyId.id,\n    secondaryKinds: [],\n    subscriberContactIds: [],\n    suitableForKinds: [],\n    employeesCountVisible: true,\n    isRentIncludeOperationalCost: false,\n    enableCombinedLocations: false,\n    yearlyRentPerM2AmountFlexible: true,\n  });\n\n  const [stepsData, setStepsData] = useState({\n    location: {\n      link: 'location',\n      passed: false,\n      starRating: false,\n      name: I18n.t('detailed.location.headline'),\n    },\n    economy: {\n      link: 'economy',\n      passed: false,\n      starRating: false,\n      name: I18n.t('apps.lb_showroom.detailed.tabs.economy'),\n      showScoreIcon: true,\n    },\n    contacts: {\n      link: 'contacts',\n      passed: false,\n      starRating: false,\n      name: I18n.t('layouts.providers.navigation.contacts'),\n    },\n    facts: {\n      link: 'facts',\n      passed: false,\n      starRating: false,\n      name: I18n.t('apps.lb_showroom.detailed.tabs.facts_and_facilities'),\n      hide: false,\n      showScoreIcon: true,\n    },\n    description: {\n      link: 'description',\n      passed: false,\n      starRating: false,\n      name: I18n.t('activerecord.attributes.property.description'),\n      showScoreIcon: true,\n    },\n    visuals: {\n      link: 'visuals',\n      passed: false,\n      starRating: false,\n      name: I18n.t('generic.visuals'),\n      showScoreIcon: true,\n    },\n  });\n\n  const [errors, setErrors] = useState({});\n  const [editedValues, setEditedValues] = useState({});\n  const [showStatusBanner, setStatusBanner] = useState(false);\n  const [activeSection, setActiveSection] = useState('');\n  const [lastAvailableStep, setLastAvailableStep] = useState('');\n  const [showEditPage, setShowEditPage] = useState(false);\n  const [infoMessagePopupIsOpen, setInfoMessagePopupIsOpen] = useState(false);\n  const [infoPopupMessageError, setInfoPopupMessageError] = useState(null);\n  const [showNotFoundPage, setShowNotFoundPage] = useState(false);\n  const [showQualityScore, setShowQualityScore] = useState(false);\n  const [visualsData, setVisualsData] = useState({});\n\n\n  const [getLocationVisuals, { refetch: refetchVisualValues }] = useLazyQuery(\n    GET_LOCATION_VISUALS,\n    {\n      fetchPolicy: 'no-cache',\n      onCompleted: (data) =>\n        data.location && setVisualsData({ ...data.location }),\n    },\n  );\n\n\n  const [addLocation, { loading: addLocationLoading }] = useMutation(ADD_LOCATION, {\n    onCompleted: (data) => {\n      const { errors, location } = data.addLocation;\n\n      if (errors) {\n        handleErrors(errors);\n      } else {\n        setStepPassed();\n        setStatusBanner(true);\n        setShowEditPage(true);\n        setShowQualityScore(false);\n        history.push(`${currentLocale}/new_providers/locations/edit/${location.id}/visuals`);\n      }\n    },\n  });\n\n\n  const [updateLocation, { loading: updateLocationValuesLoading }] =\n    useMutation(UPDATE_LOCATION, {\n      refetchQueries: ['getLocationValues'],\n      onCompleted: () => {\n        setEditedValues({});\n        setInfoMessagePopupIsOpen(true);\n        refetchVisualValues().catch(error => console.log('Error', error));\n      },\n    });\n\n\n  const [validateLocation, { loading: validateLocationLoading }] = useMutation(VALIDATE_LOCATION_FIELDS);\n\n\n  const [getLocationValues, { data: initialLocationValues, error }] =\n    useLazyQuery(GET_LOCATION_VALUES, {\n      onCompleted: (data) => {\n        if (data.location) {\n          setShowEditPage(true);\n          setValues({ ...data.location });\n        }\n      },\n    });\n\n\n  const [getLocations] = useLazyQuery(GET_LOCATIONS, {\n    fetchPolicy: 'no-cache',\n    onCompleted: data => {\n      data.locations && data.locations.totalCount > 0 && setShowQualityScore(true);\n    },\n  });\n\n\n  useEffect(() => {\n    editPage && locationId && getLocationVisuals({ variables: { id: locationId } });\n  }, []);\n\n\n  useEffect(() => {\n    const category = locationSection === 'anonymous' ? 'anonymous' : locationSection === 'sales' ? 'sales_properties' : 'lease_properties';\n\n    getValues();\n    getLocations({ variables: { category, perPage: 0 }})\n      .catch((error) => console.log('error', error));\n  }, []);\n\n\n  useEffect(() => {\n    getValues();\n  }, [editPage, locationId]);\n\n\n  useEffect(() => {\n    activeSection &&\n      !editPage &&\n      !stepsData.location.passed &&\n      activeSection !== 'location' &&\n      history.replace(`${match.url}/location`);\n    !editPage && window.scroll({ top: 1, behavior: 'smooth' });\n  }, [activeSection]);\n\n\n  const editedValuesFields = useMemo(\n    () =>\n      Object.entries(editedValues)\n        .filter(\n          ([key, value]) =>\n            !(\n              initialLocationValues.location[key] === value ||\n              (!initialLocationValues.location[key] && !value)\n            ),\n        )\n        .map(([key]) => key),\n    [editedValues, initialLocationValues],\n  );\n\n  const qualityScore = useMemo(\n    () => scoreCalculator({ ...values, ...visualsData, providerPartner: props.providerPartner, ...editedValues }, currentLocale, partnerBadgeUrl),\n    [editedValues, values, visualsData],\n  );\n\n\n  const showFacts = values.kind !== 'parking';\n  const anonymous = values.anonymous;\n\n  const getValues = () => {\n    editPage &&\n    locationId &&\n    getLocationValues({ variables: { id: locationId } });\n  };\n\n  const updateValues = (values) => {\n    setValues((prevValues) => ({ ...prevValues, ...values }));\n    editPage && setEditedValues((prevValues) => ({ ...prevValues, ...values }));\n  };\n\n  const prepareData = (data) => {\n    const newData = { ...data };\n    const { yearlyRentPerM2WithCentsFrom, yearlyRentPerM2WithCentsTo } = data;\n\n    data.hasOwnProperty('yearlyRentPerM2WithCentsFrom') && (newData.yearlyRentPerM2WithCentsFrom = parseFloat(yearlyRentPerM2WithCentsFrom) || null);\n    data.hasOwnProperty('yearlyRentPerM2WithCentsTo') && (newData.yearlyRentPerM2WithCentsTo = parseFloat(yearlyRentPerM2WithCentsTo) || null);\n    data.hasOwnProperty('postalDistrictId') && !data.postalDistrictId && (newData.postalDistrictId = 0);\n    data.hasOwnProperty('provinceId') && !data.provinceId && (newData.provinceId = 0);\n\n    return newData;\n  };\n\n  const handleChange = (value, field) => {\n    if (errors[field]) {\n      const updatedErrors = { ...errors };\n\n      delete updatedErrors[field];\n      setErrors({ ...updatedErrors });\n    }\n\n    updateValues({ [field]: value });\n  };\n\n  const handleCheckboxesSelect = (e, field, asNumber) => {\n    const value = asNumber ? Number(e.target.name) : e.target.name;\n    const currentValues = values[field];\n    const index = currentValues ? currentValues.indexOf(value) : -1;\n    const newValues = [...currentValues];\n\n    index >= 0 ? newValues.splice(index, 1) : newValues.push(value);\n    handleChange(newValues, field);\n  };\n\n  const handleInputChange = (e) => {\n    const field = e.target.name;\n    const value = e.target.value;\n\n    handleChange(value, field);\n  };\n\n  const handleNumberInputChange = (e) => {\n    const field = e.target.name;\n    const inputValue = e.target.value;\n    const value = inputValue ? Number(inputValue) : null;\n\n    handleChange(value, field);\n  };\n\n  const setStepPassed = () =>\n    setStepsData((prevData) => ({\n      ...prevData,\n      [activeSection]: {\n        ...prevData[activeSection],\n        passed: true,\n      },\n    }));\n\n  const validateRequiredFields = (errorsHandler) => {\n    const currentErrors = { ...errors };\n    const requiredFormGroups = document.querySelectorAll('.required-form-group');\n\n    Array.from(requiredFormGroups).map((group) => {\n      const name = group.id;\n\n      !values[name] &&\n        (currentErrors[name] = I18n.t(\n          'apps.lb_showroom.detailed.order_form.validation.field_required',\n          { field: '' },\n        ));\n    });\n\n    setErrors({ ...currentErrors });\n\n    const errorsLength = Object.keys(currentErrors).length;\n\n    if (errorsLength) {\n      errorsHandler\n        ? errorsHandler(currentErrors)\n        : scrollToTarget(document.getElementById(Object.keys(currentErrors)[0]));\n    }\n\n    return !errorsLength;\n  };\n\n  const validateFields = (nextStepUrl, callbackFunction, errorsHandler) => {\n\n    const dataValues = prepareData(values);\n\n    validateRequiredFields(errorsHandler) &&\n    validateLocation({\n      variables: { attributes: dataValues },\n      onCompleted: (data) => {\n        const { errors } = data.validateLocation;\n\n        if (errors.length) {\n          handleErrors(errors, errorsHandler);\n        } else {\n          callbackFunction && callbackFunction();\n\n          if (nextStepUrl) {\n            setStepPassed();\n            handleNext(nextStepUrl);\n          }\n        }\n      },\n    }).catch((error) => console.log('error', error));\n  };\n\n\n  const handleErrors = (errorsList, errorsHandler) => {\n    const newErrors = { ...errors };\n\n    errorsList.map((listError) => (newErrors[listError.attrName] = listError.errorMessages));\n\n    const filteredErrors =\n      Object.keys(Object.fromEntries(Object.entries(newErrors).filter(([key]) => !key.includes('description') && !key.includes('title')))).length;\n\n    setErrors({ ...newErrors });\n\n    ((newErrors.title || newErrors.description) && !filteredErrors)\n      && activeSection !== 'description'\n      && history.push(`${match.url}/description`);\n\n    if (Object.keys(newErrors).length) {\n      errorsHandler\n        ? errorsHandler(newErrors)\n        : scrollToTarget(document.getElementById(Object.keys(newErrors)[0]));\n    }\n  };\n\n  const scrollToTarget = (target) => {\n    if (target) {\n      const targetTop = target.getBoundingClientRect().top;\n      const targetCoords = Math.floor(targetTop + window.scrollY - 80);\n\n      window.scroll(0, targetCoords);\n    }\n  };\n\n  const handleFormSubmit = (data) => {\n    const attrs = prepareData(data || values);\n\n    addLocation({ variables: { attributes: { ...attrs } } })\n      .catch(error => console.log('Error', error));\n  };\n\n  const handleEdit = () => {\n    updateLocation({\n      variables: {\n        attributes: { ...prepareData(editedValues), countryAlpha2: values.countryAlpha2 },\n        id: Number(locationId),\n      },\n    }).catch((error) => {\n      console.log('error', error);\n      setInfoPopupMessageError(true);\n      setInfoMessagePopupIsOpen(true);\n    });\n  };\n\n  const closeInfoMessagePopup = () => {\n    setInfoMessagePopupIsOpen(false);\n    infoPopupMessageError && setInfoPopupMessageError(false);\n  };\n\n  const handleNext = (section) =>\n    section && history.push(`${match.url}/${section}`);\n\n  const capitalize = (name) => name.charAt(0).toUpperCase() + name.slice(1);\n\n  const value = {\n    ...props,\n    activeSection,\n    addLocationLoading,\n    anonymous,\n    currentLocale,\n    currentStepRef,\n    editPage,\n    editedValuesFields,\n    errors,\n    locationId,\n    match,\n    qualityScore,\n    setErrors,\n    setInfoMessagePopupIsOpen,\n    setInfoPopupMessageError,\n    setVisualsData,\n    showFacts,\n    showQualityScore,\n    stepsRefs,\n    validateLocation,\n    validateLocationLoading,\n    values,\n    visualsData,\n    updateLocation,\n    updateLocationValuesLoading,\n    capitalize,\n    handleChange,\n    handleCheckboxesSelect,\n    handleEdit,\n    handleFormSubmit,\n    handleInputChange,\n    handleNext,\n    handleNumberInputChange,\n    prepareData,\n    refetchVisualValues,\n    scrollToTarget,\n    validateFields,\n    validateRequiredFields,\n    updateValues,\n  };\n\n  const pageNotFound = editPage ? (!isNumber(locationId) || showNotFoundPage) : false;\n  const showQualityScoreBanner = qualityScore.totalScore !== 100 && (editPage || (activeSection && stepsData[activeSection].showScoreIcon));\n\n  if (resourceNotFoundError(error) || pageNotFound) return <Page404 currentLocale={currentLocale} />;\n  if (error) return <NetworkError />;\n\n\n  return (\n    <div className=\"location-form-wrapper\">\n      <InfoMessagePopup\n        customClass={infoPopupMessageError ? 'error' : null}\n        handleClose={closeInfoMessagePopup}\n        message={\n          infoPopupMessageError\n            ? I18n.t('apps.lb_showroom.detailed.order_form.error.message')\n            : I18n.t('providers.form.update_success')\n        }\n        visible={infoMessagePopupIsOpen}\n      />\n\n      { activeSection === 'visuals' && showStatusBanner &&\n        <div className=\"status-banner-wrapper\">\n          <div className=\"status-banner\">\n            <div className=\"status-banner__icon\">\n              <SvgIco name=\"check\" size={20}/>\n            </div>\n            <div className=\"status-banner__content\">\n              <div className=\"status-banner__headline\">\n                {I18n.t('providers.locations.form.location_created_headline')}\n              </div>\n              <p>\n                <div className=\"status-banner__subheader\">\n                  {I18n.t('providers.locations.form.location_created_subheadline')}\n                </div>\n                {I18n.t('providers.locations.form.location_created_content')}\n              </p>\n            </div>\n            <SvgIco\n              className=\"status-banner__close\"\n              name=\"close\"\n              size={28}\n              onClick={() => setStatusBanner(false)}/>\n          </div>\n        </div>\n      }\n\n      { activeSection === 'visuals' && (\n        <div className=\"visuals-headline\">\n          { values.section === 'lease' || values.anonymous\n            ? I18n.t('providers.locations.form.visuals_headline')\n            : \"Opret ny salgsejendom: Tilføj fotos m.m.\"\n          }\n        </div>\n      )}\n\n      { (showEditPage || !editPage) &&\n        <div id=\"locationForm\" className=\"location-form\">\n          <Context.Provider value={value}>\n            <Switch>\n\n              <Route path={`${match.url}/:section`}>\n                <Fragment>\n                  { showQualityScoreBanner &&\n                    <QualityScoreBanner\n                      data={qualityScore}\n                      qualityScoreLink={qualityScoreLink}\n                      siteName={siteName}\n                      stickyTop={activeSection === 'visuals' ? 144 : 96}\n                    />\n                  }\n\n                  <ProgressBar\n                    activeSection={activeSection}\n                    editPage={editPage}\n                    lastAvailableStep={lastAvailableStep}\n                    showFacts={showFacts}\n                    stepsData={stepsData}\n                    stepsRefs={stepsRefs}\n                    qualityScore={qualityScore}\n                    validateFields={validateFields}\n                  />\n\n                  <StepsWrapper\n                    setActiveSection={setActiveSection}\n                    stepsData={stepsData}\n                    stepsRefs={stepsRefs}\n                    showFacts={showFacts}\n                    activeSection={activeSection}\n                    setLastAvailableStep={setLastAvailableStep}\n                    setShowNotFoundPage={setShowNotFoundPage}\n                  />\n                </Fragment>\n              </Route>\n\n              <Route path=\"*\">\n                <Page404 currentLocale={currentLocale} />\n              </Route>\n\n            </Switch>\n          </Context.Provider>\n        </div>\n      }\n    </div>\n  );\n};\n\n\nexport default LocationForm;\n","import React, { Fragment, useState } from 'react';\nimport { Carousel } from \"react-responsive-carousel\";\nimport \"react-responsive-carousel/lib/styles/carousel.min.css\";\n\nimport AnonymousPlaceholder from '../../../src/images/provider/anonymous-placeholder.svg';\nimport { DetailedViewSet, SvgIco } from \"../../SharedComponents/Icons\";\nimport Map from \"../../Map\";\n\nimport './AssetsBlock.sass';\n\n\nconst AssetsBlock = ({ photos, floorPlans, latitude, longitude, vimeoId, virtualTour, googleApiKey }) => {\n\n  const assetsList = [\n    { name: 'photos', available: !!photos.length },\n    { name: 'floor-plans', available: !!floorPlans.length },\n    { name: 'map', available: !!(latitude && longitude) },\n    { name: 'videos', available: !!vimeoId },\n    { name: 'virtual_tour', available: !!virtualTour }\n  ];\n\n  const showAssetsBlock = assetsList.some(asset => asset.available);\n\n  const [activeTab, setActiveTab] = useState(showAssetsBlock ? assetsList.find(asset => asset.available).name : 'photos');\n\n\n  const Tab = ({ name }) =>\n    <div className={`assets-block__tab ${ activeTab === name ? 'active' : '' }`} onClick={() => setActiveTab(name)}>\n      { DetailedViewSet[name] }\n      <span>\n        { I18n.t(`lb_showroom.detailed.asset_box.new_${ name }_button`) }\n      </span>\n    </div>;\n\n\n  const Gallery = ({ imgList }) =>\n    <Carousel\n      infiniteLoop={true}\n      renderArrowPrev={(clickHandler) =>\n        <div className=\"arrow-prev\" onClick={clickHandler} >\n          <SvgIco name=\"keyboard-arrow-left-rounded-ios\" size={22} />\n        </div>\n      }\n      renderArrowNext={(clickHandler) =>\n        <div className=\"arrow-next\" onClick={clickHandler} >\n          <SvgIco name=\"keyboard-arrow-right-rounded-ios\" size={22} />\n        </div>\n      }\n      showIndicators={false}\n      showStatus={true}\n      showThumbs={false}\n      statusFormatter={(current, total) => `${current}/${total}`}\n      swipeable={imgList.length !== 1}\n    >\n      { imgList.map(elem => (\n        <div className=\"assets-block__carousel-img-wrapper\"\n             key={elem.thumbnailW600}\n             style={{ backgroundImage: `url(${elem.thumbnailW600})` }}>\n        </div>)\n      )}\n    </Carousel>\n\n\n  const VideoBlock = ({ url }) =>\n    <div className=\"assets-block__frame-wrapper\">\n      <iframe\n        allowFullScreen\n        frameBorder={0}\n        id=\"provider-video\"\n        mozallowfullscreen=\"mozallowfullscreen\"\n        src={url}\n        webkitallowfullscreen=\"webkitallowfullscreen\"\n      />\n    </div>;\n\n\n  const MapBlock = () =>\n    <Map\n      googleApiKey={googleApiKey}\n      isGalleryComponent={true}\n      latitude={latitude}\n      longitude={longitude}\n      orientationHorizontalMobile={false} />\n\n\n  const showContent = () => {\n    switch (activeTab) {\n      case 'photos':\n      case 'floor-plans':\n        return <Gallery imgList={ activeTab === 'photos' ? photos : floorPlans }/>;\n      case 'map':\n        return <MapBlock />\n      case 'videos':\n      case 'virtual_tour':\n        return <VideoBlock url={activeTab === 'videos' ? `https://player.vimeo.com/video/${vimeoId}?autoplay=1&badge=0` : virtualTour} />\n    }\n  };\n\n\n  return (\n    <div className=\"assets-block\">\n      { showAssetsBlock\n        ? <Fragment>\n            <div className=\"assets-block__gallery-wrapper\">\n              { showContent() }\n            </div>\n            <div className=\"assets-block__tabs-wrapper\">\n              { assetsList.map(asset => asset.available && <Tab name={asset.name} key={asset.name} />) }\n            </div>\n          </Fragment>\n        : <div className=\"assets-block__placeholder\">\n            <img src={AnonymousPlaceholder} alt=\"Anonymous\" width=\"100%\" height=\"auto\" />\n          </div>\n      }\n    </div>\n  )\n}\n\n\nexport default AssetsBlock;\n","import React, { useEffect, useMemo, useState, Fragment, useRef } from 'react';\nimport { Link, useParams } from 'react-router-dom';\nimport { useLazyQuery, useMutation, useQuery} from '@apollo/client';\nimport ReactTooltip from 'react-tooltip';\nimport { HashLink } from 'react-router-hash-link';\nimport { FacebookShareButton, LinkedinShareButton, TwitterShareButton } from 'react-share';\n\nimport ActivateIcon from '../../../src/images/provider/activate-icon.svg';\nimport CopyIcon from '../../../src/images/provider/copy-icon.svg';\nimport ReportIcon from '../../../src/images/provider/report-icon.svg';\nimport DeactivationIcon from '../../../src/images/provider/eye-off-icon.svg';\nimport EditIcon from '../../../src/images/provider/edit.svg';\nimport facebookShare from '../../../src/images/provider/facebook-share-button.svg';\nimport linkinShare from '../../../src/images/provider/linkedin-share-button.svg';\nimport twitterShare from '../../../src/images/provider/twitter-share-button.svg';\nimport shareIcon from '../../../src/images/provider/share-icon.svg';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport Loader from '../../SharedComponents/Loader';\nimport { GET_LOCATION_INFO, GET_LOCATIONS } from '../ApolloClient/queries';\nimport { ACTIVATE_LOCATION } from '../ApolloClient/mutations';\nimport AdvertisementBlock from '../AdvertismentBlock';\nimport PartnerBadgeBanner from '../AdvertismentBlock/Banners';\nimport DeactivateLocationModal from '../Modals/DeactivateLocationModal';\nimport DuplicateLocationModal from '../Modals/DuplicateLocationModal';\nimport { PulsingLoader } from '../Loaders';\nimport RentedOutModal from '../Modals/RentedOutModal';\nimport Notes from '../ClientInfo/Notes';\nimport Page404 from '../Errors/Page404';\nimport PageInfoMessage from '../Errors/PageInfoMessage';\nimport NetworkError from '../Errors/NetworkError';\nimport LocationViewsChart from \"../LocationViewsChart\";\nimport { ActionIcon, scoreCalculator, ScoreChart, visibilityQuality } from \"../ScoreWidget\";\nimport AssetsBlock from './AssetsBlock';\n\nimport './index.sass';\n\n\nconst LocationInfo = ({ currentLocale,\n                        currencySymbolFormatter,\n                        googleApiKey,\n                        isNumber,\n                        partnerBadgeUrl,\n                        providerAdvertisingStrategy,\n                        providerApproved,\n                        providerOnDealStrategy,\n                        qualityScorePageLink,\n                        resourceNotFoundError,\n                        siteKey,\n                        siteName,\n                        providerPartner,\n                      }) => {\n\n  const { id: locationId } = useParams();\n\n  const tooltipPopupRef = useRef();\n\n  const [locationInfo, setLocationInfo] = useState({});\n  const [deleteModalIsOpen, setDeleteModalIsOpen] = useState(false);\n  const [duplicateModalIsOpen, setDuplicateModalIsOpen] = useState(false);\n  const [rentedOutModalIsOpen, setRentedOutModalIsOpen] = useState(false);\n  const [locationActivationLoading, setLocationActivationLoading] = useState(null);\n  const [locationState, setLocationState] = useState(null);\n  const [showPartnerBadgeBanner, setShowPartnerBadgeBanner] = useState(false);\n\n\n  const { error } = useQuery(GET_LOCATION_INFO, {\n    variables: { id: locationId },\n    fetchPolicy: 'no-cache',\n    onCompleted: (data) => {\n      if (data.location) {\n        setLocationInfo(data.location);\n      }\n    }\n  });\n\n\n  const [getLocations] = useLazyQuery(GET_LOCATIONS, {\n    fetchPolicy: 'no-cache',\n    onCompleted: data => {\n      data.locations && data.locations.totalCount >= 3 && setShowPartnerBadgeBanner(true);\n    },\n  });\n\n\n  const [activateLocation, {}] = useMutation(ACTIVATE_LOCATION, {\n    onCompleted: (data) => {\n      const { error, location } = data.activateLocation;\n\n      !error && locationStateChangeCallback(null, location);\n    },\n  });\n\n\n  const {\n    address,\n    areaFrom,\n    areaTo,\n    areaUnit,\n    createdAt,\n    currencyId,\n    enquiries,\n    enquiriesCountInteger,\n    explainLocationIncomplete,\n    floorPlans,\n    floorPlansCount,\n    infoMessage,\n    initialState,\n    isComplete,\n    latitude,\n    locationShownDatapoints,\n    locationUrl,\n    longitude,\n    photos,\n    photosCount,\n    prospectusCount,\n    section,\n    sectionTranslated,\n    state,\n    stateInfo,\n    stateTranslated,\n    vimeoId,\n    virtualTour,\n    yearlyRentPerM2WithCentsFrom,\n    yearlyRentPerM2WithCentsTo,\n  } = locationInfo;\n\n  const assetsProps = {\n    photos,\n    floorPlans,\n    latitude,\n    longitude,\n    vimeoId,\n    virtualTour,\n  };\n\n  const showYearlyPrice = yearlyRentPerM2WithCentsFrom || yearlyRentPerM2WithCentsTo;\n  const showMonthlyPrice = false;\n  const showLocationInfo = Object.keys(locationInfo).length;\n  const showReportADeal = providerOnDealStrategy && section === 'lease';\n\n\n  useEffect(() => {\n    getLocations({ variables: { category: 'lease_properties', perPage: 0 }})\n      .catch((error) => console.log('error', error));\n    window.scroll({ top: 1, behavior: 'smooth' });\n  }, []);\n\n\n  useEffect(() => {\n    locationState && animateStatus();\n    setLocationState(state);\n  }, [state, stateInfo]);\n\n\n  const pricesFormatter = (priceFrom, priceTo) => {\n    return priceFrom && priceTo\n      ? `${priceFrom}-${priceTo}`\n      : priceFrom\n      ? I18n.t('search_agents.create.price_from', { price: priceFrom })\n      : priceTo\n      ? I18n.t('search_agents.create.price_to', { price: priceTo })\n      : null;\n  };\n\n\n  const animateStatus = () => {\n    const statusWrapper = document.getElementById('statusWrapper');\n\n    statusWrapper.classList.add('activated');\n    ReactTooltip.show(tooltipPopupRef.current);\n    setTimeout(() => ReactTooltip.hide(tooltipPopupRef.current), 4000);\n    setTimeout(() => statusWrapper.classList.remove('activated'), 2500);\n  };\n\n\n  const areaFormatter = (areaFrom, areaTo) => {\n    return areaFrom && areaTo\n      ? `${areaFrom}-${areaTo}`\n      : `${I18n.t('generic.from')} ${areaFrom}`;\n  };\n\n\n  const locationStateChangeCallback = (closeModal, location, infoMessage) => {\n    closeModal && closeModal();\n\n    if (infoMessage) {\n      setLocationInfo({ ...locationInfo, stateInfo: infoMessage });\n      animateStatus();\n    }\n\n    location && setLocationInfo(location);\n    locationActivationLoading && setLocationActivationLoading(false);\n  };\n\n\n  const handleActivateLocation = () => {\n    setLocationActivationLoading(true);\n    activateLocation({ variables: { id: Number(locationId) } }).catch((error) =>\n      console.log('error', error)\n    );\n  };\n\n\n  const ListItem = ({ itemData }) => {\n    const linkInnerContent =\n      <Fragment>\n        <div className={`location-info__score-list-item-label ${itemData.score ? 'done' : ''}`}>\n          <div className=\"location-info__score-list-item-name\">\n            { itemData.name }\n          </div>\n          <div className=\"location-info__score-list-item-score\">\n            { !!itemData.score && <ActionIcon color=\"#77BC1F\" icon=\"check\" iconSize={12} /> }\n            { itemData.score ? `+${itemData.score}` : itemData.availableScoreLabel }\n          </div>\n        </div>\n        <SvgIco name=\"keyboard-arrow-right-rounded-ios\" size={14} />\n      </Fragment>;\n\n    return itemData.id === 'partner_badge'\n      ?\n        <a className=\"location-info__score-list-item\" href={itemData.infoLink} target=\"_blank\">\n          { linkInnerContent }\n        </a>\n      :\n        <HashLink to={itemData.infoLink} className=\"location-info__score-list-item\">\n          { linkInnerContent }\n        </HashLink>;\n  };\n\n\n  // We need to use useMemo to prevent charts SVG form rerender on data update\n  const cachedViewsChart = React.useMemo(\n    () => <LocationViewsChart\n      createdAt={createdAt}\n      locationShownDatapoints={locationShownDatapoints}\n    />,\n    [createdAt, locationShownDatapoints],\n  );\n\n\n  const scoreData = useMemo(\n    () => scoreCalculator({ ...locationInfo, providerPartner }, currentLocale, partnerBadgeUrl),\n    [locationInfo]\n  );\n\n\n  const scoreChart = useMemo(\n    () =>\n      <div>\n        <div className=\"location-info__score-widget\">\n          <ScoreChart score={scoreData && scoreData.totalScore} stroke={15} width={278} />\n        </div>\n        <div className=\"location-info__chart-score-list\">\n          { Object.keys(scoreData).map(scoreSection =>\n            (scoreSection !== 'totalScore'\n              && !scoreData[scoreSection].score\n              && !scoreData[scoreSection].hidden\n              && <ListItem itemData={scoreData[scoreSection]} key={scoreData[scoreSection].name} />)\n            || null\n          )}\n\n          { Object.keys(scoreData).map(scoreSection =>\n            (scoreSection !== 'totalScore'\n              && scoreData[scoreSection].score\n              && !scoreData[scoreSection].hidden\n              && <ListItem itemData={scoreData[scoreSection]} key={scoreData[scoreSection].name} />)\n            || null\n          )}\n        </div>\n      </div>,\n    [scoreData]\n  );\n\n\n  if (resourceNotFoundError(error) || !isNumber(locationId)) return <Page404 currentLocale={currentLocale} />;\n  if (error) return <NetworkError />;\n\n\n  const visibilityQualityState = scoreData && visibilityQuality(scoreData.totalScore);\n\n\n  return (\n    <div className=\"location-info\">\n\n      { !!infoMessage &&\n        <PageInfoMessage message={infoMessage} />\n      }\n\n      { !!deleteModalIsOpen &&\n        <DeactivateLocationModal\n          address={address}\n          callbackFunction={locationStateChangeCallback}\n          currentLocale={currentLocale}\n          handleClose={() => setDeleteModalIsOpen(false)}\n          locationId={locationId}\n          showModal={deleteModalIsOpen}\n          siteName={siteName}\n          showReportADeal={showReportADeal}\n        />\n      }\n\n      <DuplicateLocationModal\n        currentLocale={currentLocale}\n        handleClose={() => setDuplicateModalIsOpen(false)}\n        locationId={locationId}\n        showModal={duplicateModalIsOpen}\n      />\n\n      <RentedOutModal\n        address={address}\n        callbackFunction={locationStateChangeCallback}\n        handleClose={() => setRentedOutModalIsOpen(false)}\n        locationId={locationId}\n        showModal={rentedOutModalIsOpen}\n        siteName={siteName}\n      />\n\n      { !!(!providerPartner && showPartnerBadgeBanner) &&\n        <AdvertisementBlock\n          children={\n            <PartnerBadgeBanner\n              partnerBadgeUrl={partnerBadgeUrl}\n              qualityScore={scoreData}\n              siteKey={siteKey}\n            />\n          }\n        />\n      }\n\n      { !showLocationInfo && <PulsingLoader /> }\n\n      { !!showLocationInfo &&\n        <Fragment>\n\n          { state === 'active' &&\n\n            <div className=\"location-info__share-button-wrap\">\n\n              <img className=\"share-icon\" src={shareIcon} alt=\"share-button\"/>\n\n              <FacebookShareButton url={`${window.location.origin}${locationUrl}`}>\n                <img src={facebookShare} alt=\"facebook-share\"/>\n              </FacebookShareButton>\n\n              <LinkedinShareButton url={`${window.location.origin}${locationUrl}`}>\n                <img src={linkinShare} alt=\"linkin-share\"/>\n              </LinkedinShareButton>\n\n              <TwitterShareButton url={`${window.location.origin}${locationUrl}`}>\n                <img src={twitterShare} alt=\"twitter-share\"/>\n              </TwitterShareButton>\n            </div>\n          }\n\n          <div className=\"location-info__main-info-wrapper\">\n            <div className=\"location-info__main-info-block\">\n\n              <div className=\"location-info__main-info-headline-block\">\n                <div className=\"location-info__main-info-headline\">\n                  { sectionTranslated }:\n                </div>\n\n                { state === 'active' &&\n                  <a className=\"location-url\" href={locationUrl} target=\"_blank\">\n                    <SvgIco name=\"visibility\" size={24} />\n                    <span>{ I18n.t('provider.show_location') }</span>\n                  </a>\n                }\n\n                { !providerApproved &&\n                  <div className=\"location-info__pending-approval\">\n                    { I18n.t('providers.locations.edit.pending_provider_approval') }\n                  </div>\n                }\n              </div>\n\n              <div className=\"location-info__address\">{ address }</div>\n\n              <div className=\"location-info__quality-score-info-wrapper\">\n                <div className=\"location-info__quality-score-info\">\n                  <div className={`location-info__quality-score-state ${visibilityQualityState}`}>\n                    { I18n.t('provider.location_info.quality_score.visibility_label') }:&nbsp; <strong>{ I18n.t(`provider.quality_score_chart.visibility_state.${visibilityQualityState}`) }</strong>\n                  </div>\n                  <div className=\"location-info__quality-score-points\">\n                    <ActionIcon iconSize={20} />\n                    { I18n.t('provider.location_info.quality_score.points_label') }:&nbsp; <strong>{ scoreData ? scoreData.totalScore : 0 }</strong>\n                  </div>\n                </div>\n                <div className=\"location-info__main-info-headline-block\">\n                  <HashLink to=\"#score-widget\" className=\"location-info__quality-score-link\">\n                    { I18n.t('provider.location_info.quality_score.details_link') }\n                  </HashLink>\n                </div>\n              </div>\n\n              <div className={`location-info__status ${state}`} id=\"statusWrapper\">\n                { I18n.t('providers.statistics.index.status') }:\n                <div\n                  className=\"location-info__status-label\"\n                  data-tip={!isComplete ? explainLocationIncomplete : stateInfo}\n                  data-class=\"provider-tooltip\"\n                  data-for=\"state-tooltip\"\n                  ref={tooltipPopupRef}\n                >\n                  <div className=\"location-info__status-dot\" />\n                  <div className=\"google-translate-helper\">\n                    { stateTranslated }\n                  </div>\n                  <ReactTooltip\n                    border={true}\n                    borderColor=\"black\"\n                    effect=\"solid\"\n                    id=\"state-tooltip\"\n                    place=\"right\"\n                    type=\"light\"\n                  />\n                </div>\n              </div>\n\n              { areaFrom &&\n                <div className=\"location-info__area\">\n                  { I18n.t('apps.lb_showroom.detailed.facts.area_label') }:\n                  <SvgIco name={'area'} size={22} />\n                  <span>{areaFormatter(areaFrom, areaTo)} {areaUnit || ''}</span>\n                </div>\n              }\n\n              {(showYearlyPrice || showMonthlyPrice) && (\n                <div className=\"location-info__prices\">\n                  <div className=\"location-info__prices-labels\">\n                    {showMonthlyPrice && (\n                      <div className=\"location-info__prices-label\">\n                        <SvgIco name={'price'} size={22} />\n                        { I18n.t('apps.lb_showroom.detailed.facts.monthly_price') }\n                        :\n                      </div>\n                    )}\n\n                    { showYearlyPrice &&\n                      <div className=\"location-info__prices-label\">\n                        <SvgIco name={'price'} size={22} />\n                        { I18n.t('apps.lb_showroom.detailed.economy.annual_prices_m2') }\n                        :\n                      </div>\n                    }\n                  </div>\n\n                  <div className=\"location-info__prices-values\">\n                    { showMonthlyPrice &&\n                      <div className=\"location-info__prices-value\">\n                        { pricesFormatter(yearlyRentPerM2WithCentsFrom, yearlyRentPerM2WithCentsTo)}{' '}\n                        { currencySymbolFormatter(currencyId) }\n                      </div>\n                    }\n\n                    { showYearlyPrice && (\n                      <div className=\"location-info__prices-value\">\n                        { pricesFormatter(yearlyRentPerM2WithCentsFrom, yearlyRentPerM2WithCentsTo)}{' '}\n                        { currencySymbolFormatter(currencyId) }\n                      </div>\n                    )}\n                  </div>\n                </div>\n              )}\n\n              <div className=\"location-info__main-info-headline-block\">\n                <div className=\"location-info__main-info-headline\">\n                  { I18n.t('generic.visuals') }:\n                </div>\n\n                <Link to={`${currentLocale}/new_providers/locations/edit/${locationId}/visuals`}>\n                  { I18n.t('provider.location_info.add_new') }\n                </Link>\n              </div>\n\n              <div className=\"location-info__visuals-info-wrapper\">\n                <div className=\"location-info__visuals-info\">\n                  { I18n.t('lb_showroom.detailed.asset_box.new_photos_button') }:\n                  <span>{photosCount}</span>\n                </div>\n\n                <div className=\"location-info__visuals-info\">\n                  { I18n.t('providers.floor_plans.form.description') }:\n                  <span>{floorPlansCount}</span>\n                </div>\n\n                <div className=\"location-info__visuals-info prospectuses\">\n                  { I18n.t('activerecord.models.prospectus_asset').one }:\n                  <span>{prospectusCount}</span>\n                </div>\n              </div>\n\n              <div className=\"location-info__main-info-headline-block\">\n                <div className=\"location-info__main-info-headline\">\n                  { I18n.t('reports.providers_order_report.enquiries') }\n                </div>\n\n                {!!enquiriesCountInteger && (\n                  <Link to={`${currentLocale}/new_providers/orders/${locationId}`}>\n                    { I18n.t('providers.locations.edit.show_enquiries') }\n                  </Link>\n                )}\n              </div>\n\n              <div className=\"location-info__enquiries-list\">\n                { enquiries &&\n                  !!Object.keys(enquiries).length &&\n                  Object.keys(enquiries).map((type, key) => (\n                    <div className=\"location-info__inquiry\" key={key}>\n                      { type }:<span>{ enquiries[type] }</span>\n                    </div>\n                  ))}\n              </div>\n            </div>\n\n            <AssetsBlock {...assetsProps} googleApiKey={googleApiKey} />\n          </div>\n\n          <div className=\"location-info__manage-buttons\">\n            <Link\n              to={`${currentLocale}/new_providers/locations/edit/${locationId}/location`}\n              className=\"location-info__manage-button location-info__manage-button--green\"\n            >\n              <img src={EditIcon} alt=\"Copy\" height={24} width={24} />\n              { I18n.t('generic.edit') }\n            </Link>\n\n            <div\n              className=\"location-info__manage-button\"\n              onClick={() => setDuplicateModalIsOpen(true)}\n            >\n              <img src={CopyIcon} alt=\"Copy\" height={24} width={24} />\n              { I18n.t('providers.copy_location_job.new.copy_button') }\n            </div>\n\n            {initialState === 'active' && (\n              <Fragment>\n                { providerAdvertisingStrategy ?\n                  (section === 'lease' ?\n                    <div className=\"location-info__manage-button\" onClick={() => setRentedOutModalIsOpen(true)}>\n                      <img src={ReportIcon} alt=\"Report\" height={24} width={24} />\n                      { I18n.t('providers.locations.edit.mark_as_rented_out') }\n                    </div>\n                    :\n                    null\n                  )\n                  :\n                  <Link to={`${currentLocale}/new_providers/report_deal?location_id=${locationId}`} className=\"location-info__manage-button\">\n                    <img src={ReportIcon} alt=\"Report\" height={24} width={24} />\n                    { I18n.t('providers.locations.edit.report_deal') }\n                  </Link>\n                }\n\n                <div className=\"location-info__manage-button\" onClick={() => setDeleteModalIsOpen(true)}>\n                  <img\n                    src={DeactivationIcon}\n                    alt=\"Deactivate\"\n                    height={24}\n                    width={24}\n                  />\n                  { I18n.t('parking.parking_lot.deactivate') }\n                </div>\n              </Fragment>\n            )}\n\n            {(initialState === 'new' || initialState === 'closed') &&\n              <Fragment>\n                { isComplete && providerApproved &&\n                  <div className={`location-info__manage-button location-info__manage-button--green ${locationActivationLoading ? 'disabled' : ''}`}\n                       onClick={handleActivateLocation}>\n                    { locationActivationLoading\n                      ?\n                        <Loader size={24} left={-8} />\n                      :\n                        <img\n                          src={ActivateIcon}\n                          alt=\"Activate\"\n                          height={24}\n                          width={24}\n                        />\n                    }\n                    <div>{ I18n.t('apps.lb_showroom.filters.activate') }</div>\n                  </div>\n                }\n              </Fragment>\n            }\n          </div>\n\n          <div className=\"location-info__charts-wrapper\">\n            <div className=\"location-info__chart-block\">\n              { cachedViewsChart }\n            </div>\n\n            <div className=\"location-info__chart-block score\">\n              <div className=\"sectionScrollTarget\" id=\"score-widget\" />\n              <div className=\"location-info__chart-headline\">\n                { I18n.t('providers.locations.edit.scores.title') }\n                <a href={qualityScorePageLink} target=\"_blank\" className=\"location-info__score-read-more\">\n                  { I18n.t('provider_backend.quality_score.link') }\n                  <SvgIco name=\"open_in_new\" size={16} />\n                </a>\n              </div>\n\n              <div className=\"location-info__chart-wrapper\">\n                { scoreChart }\n              </div>\n            </div>\n          </div>\n\n          <Notes currentId={locationId} orderNotes={false} />\n\n        </Fragment>\n      }\n    </div>\n  );\n};\n\n\nexport default LocationInfo;\n","import React, { Fragment, useEffect, useState} from 'react';\nimport InlineChart from \"../../SharedComponents/Charts/InlineChart\";\nimport TooltipPopup from '../Popups/TooltipPopup';\nimport \"./index.sass\";\n\n\nconst LocationViewsChart = ({ createdAt,\n                              locationId,\n                              locationShownDatapoints,\n                              offset,\n                              switchPeriodCallback,\n                              tickFontSize,\n                              width,\n                              xaxisHeight }) => {\n\n  const [activeDaysInChart, setActiveDaysInChart] = useState(15);\n  const [locationDaysActive, setLocationDaysActive] = useState(1);\n\n\n  useEffect(() => {\n    const today = new Date();\n    const dayCreatedAt = new Date(Date.parse(createdAt));\n    const timeInMilliseconds = today.getTime() - dayCreatedAt.getTime();\n    const daysActive = Math.ceil(timeInMilliseconds / (1000 * 60 * 60 * 24));\n    const defaultActiveDays = daysActive > 30 ? 90 : daysActive > 15 ? 30 : 15;\n\n    setLocationDaysActive(daysActive);\n    setActiveDaysInChart(defaultActiveDays);\n    switchPeriodCallback && switchPeriodCallback(defaultActiveDays);\n  }, []);\n\n\n  const locationViewsData = () => {\n    const periodsCount = 15;\n    const daysForOnePeriod = activeDaysInChart / periodsCount;\n    const isOneDayPeriod = daysForOnePeriod === 1;\n    const dayCreatedAt = new Date(Date.parse(createdAt));\n    const setDateToLocalDateString = (dateObj) => dateObj.toLocaleDateString('en-GB').split('/').join('.');\n    let showAsLastPeriod = false;\n    let increment = 0;\n    let data = [];\n\n    dayCreatedAt.setHours(0,0,0,0);\n\n    const dayCreatedAtTime = dayCreatedAt.getTime();\n\n    for (let i = 0; i < periodsCount; i++) {\n      const date = new Date();\n      let views = 0;\n\n      date.setDate(date.getDate() - increment);\n\n      const dateFrom = new Date(date);\n      const dateTo = new Date(date);\n\n      !isOneDayPeriod && dateFrom.setDate(dateFrom.getDate() - daysForOnePeriod);\n      i !== 0 && !isOneDayPeriod && dateTo.setDate(dateTo.getDate() - 1);\n      dateFrom.setHours(0,0,0,0);\n      dateTo.setHours(23,59,59,59);\n\n      const dateToTime = dateTo.getTime();\n      const dateFromTime = dateFrom.getTime();\n\n      Object.entries(locationShownDatapoints).map(\n        ([key, value]) => {\n          const shownDate = new Date(key.replace(/-/g, '/'));\n          const showDateTime = shownDate.getTime();\n          const isInTimePeriod = showDateTime <= dateToTime && showDateTime >= dateFromTime;\n\n          return isInTimePeriod && (views = value + views);\n        }\n      );\n\n      const pointData = { date: setDateToLocalDateString(date) };\n      const createdAtDateIsInPeriod = (dayCreatedAtTime === dateFromTime && isOneDayPeriod) || showAsLastPeriod;\n\n      if ((dateFromTime === dayCreatedAtTime) || (dayCreatedAtTime < dateToTime) || showAsLastPeriod) {\n        const dateLabel = `${activeDaysInChart !== 15 ? dateFrom.getDate() + '-' : ''}${setDateToLocalDateString(dateTo)}`;\n\n        pointData.value = views;\n        pointData.label = dateLabel;\n        createdAtDateIsInPeriod && (pointData.dotSize = 14);\n        pointData.tooltip =\n          <Tooltip\n            dateCreated={createdAtDateIsInPeriod ? setDateToLocalDateString(dayCreatedAt) : null}\n            dateLabel={dateLabel}\n            viewsCount={views}\n          />\n      }\n\n      data.unshift(pointData);\n      increment = increment + daysForOnePeriod;\n      showAsLastPeriod && (showAsLastPeriod = false);\n\n      if (!isOneDayPeriod && dayCreatedAtTime < dateToTime && dateFromTime <= dayCreatedAtTime) {\n        showAsLastPeriod = true;\n      }\n    }\n\n    return data;\n  };\n\n\n  const switchPeriod = (daysPeriod) => {\n    setActiveDaysInChart(daysPeriod);\n    switchPeriodCallback && switchPeriodCallback(daysPeriod);\n  };\n\n\n  const renderDaysSwitchers = () => {\n    const daysPeriods = [15, 30, 90];\n\n    return daysPeriods.map((daysPeriod, index) =>\n      (index === 0 || locationDaysActive >= daysPeriod || (locationDaysActive < daysPeriod && locationDaysActive > daysPeriods[index - 1])) &&\n        <div key={`location-views-chart-${index}`} className={`location-views-chart__days-switcher ${daysPeriod === activeDaysInChart ? 'active' : ''}`}\n             onClick={() => switchPeriod(daysPeriod)}>\n          { daysPeriod } { I18n.t('provider.views_chart.days') }\n        </div>\n    )\n  };\n\n\n  const Tooltip = ({ dateCreated, dateLabel, viewsCount }) =>\n    <Fragment>\n      { dateCreated &&\n        <Fragment>\n          <div>{ I18n.t('provider.views_chart.date_created') }</div>\n          <div className=\"custom-tooltip__headline custom-tooltip__headline--green\">{ dateCreated }</div>\n          { dateLabel !== dateCreated && !!viewsCount && <hr/> }\n        </Fragment>\n      }\n      { !(dateCreated && !viewsCount) &&\n        <Fragment>\n          { !(dateCreated && dateLabel === dateCreated) &&\n            <div className=\"custom-tooltip__headline\">{ dateLabel }</div>\n          }\n          <div className=\"custom-tooltip__value\">\n            { I18n.t('activerecord.attributes.location.views_count') }: { viewsCount }\n          </div>\n        </Fragment>\n      }\n    </Fragment>\n\n\n  return (\n    <div className=\"location-views-chart\">\n      <div className=\"location-views-chart__top\">\n        <div className=\"location-views-chart__tooltip-wrap\">\n          <h3>{ I18n.t('activerecord.attributes.location.views_count') }</h3>\n          <TooltipPopup\n            content={I18n.t('providers.locations.edit.views.description')}\n            icon=\"info\"\n            id={locationId ? locationId : \"view-tooltip\"}\n            marginLeft={6}\n            place=\"bottom\"\n            offset={offset ? offset : {}}\n          />\n        </div>\n\n        <div className=\"location-views-chart__days-switchers\">\n          { renderDaysSwitchers() }\n        </div>\n      </div>\n\n      <InlineChart\n        data={locationViewsData(locationShownDatapoints || {})}\n        lineKey=\"value\"\n        tickFontSize={tickFontSize}\n        tooltipLabel={I18n.t('activerecord.attributes.location.views_count')}\n        width={width}\n        xaxisHeight={xaxisHeight}\n        xKey=\"date\"\n      />\n    </div>\n  )\n}\n\nexport default LocationViewsChart;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport ReactTooltip from \"react-tooltip\";\n\nimport NotesImg from \"../../../src/images/provider/note.svg\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport TooltipPopup from \"../Popups/TooltipPopup\";\nimport {\n  CellDropdown,\n  handleHorizontalScroll,\n  InfoIconTooltip,\n  TableFilterHeader,\n  TableHashLink\n} from \"../Table/Columns\";\n\n\nexport const LocationsColumns = (currentLocale,\n                                 data,\n                                 providerApproved,\n                                 activeFilter,\n                                 orderDirection,\n                                 stateUpdateSuccess,\n                                 stateChangeCallback,\n                                 stateChangeLoadingId,\n                                 setOrderBy,\n                                 handleLocationState,\n                                 openNotesModal) => React.useMemo(\n    () =>\n      [\n        //===========================================================================>\n\n        { Header: I18n.t('generic.actions'),\n          accessor: 'manage-icons',\n\n          Cell: data =>\n            <div className=\"table-actions-wrapper\">\n              <ReactTooltip\n                border={true}\n                borderColor=\"black\"\n                effect='solid'\n                id=\"location-show-tooltip\"\n                place='top'\n                type=\"light\" />\n\n              <Link to={`${currentLocale}/new_providers/locations/info/${data.cell.row.original.id}`}\n                    className=\"table-action-link\"\n                    data-for=\"location-show-tooltip\"\n                    data-tip={I18n.t('provider.show_location')}>\n                <SvgIco name=\"visibility\" size={20} />\n              </Link>\n\n              <ReactTooltip\n                border={true}\n                borderColor=\"black\"\n                effect='solid'\n                id=\"location-edit-tooltip\"\n                place='top'\n                type=\"light\" />\n\n              <Link to={`${currentLocale}/new_providers/locations/edit/${data.cell.row.original.id}/location`}\n                    className=\"table-action-link\"\n                    data-for=\"location-edit-tooltip\"\n                    data-tip={I18n.t('provider.locations.edit_location')}>\n                <SvgIco name=\"edit\" size={20} />\n              </Link>\n            </div>\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <TableFilterHeader\n              handleOrderBy={() => setOrderBy('address_line_1')}\n              headline={I18n.t('providers.statistics.index.address')}\n              isActive={activeFilter === 'address_line_1'}\n              orderDirection={orderDirection} />,\n\n          accessor: 'address',\n          style: { maxWidth: '266px', minWidth: '266px' },\n\n          Cell: data =>\n            <Link to={`${currentLocale}/new_providers/locations/info/${data.cell.row.original.id}`}>\n              { data.value }\n            </Link>,\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <TableFilterHeader\n              handleOrderBy={() => setOrderBy('area_from')}\n              headline={I18n.t('activerecord.attributes.location.area_interval')}\n              isActive={activeFilter === 'area_from'}\n              orderDirection={orderDirection}\n              style={{ whiteSpace: 'nowrap' }} />,\n\n          accessor: 'fullArea',\n\n          Cell: data =>\n            <TableHashLink\n              link={`${currentLocale}/new_providers/locations/edit/${data.cell.row.original.id}/economy#areaFrom`}\n              offset={102}\n              value={data.value ? `${data.value} ${data.cell.row.original.areaUnit || ''}` : ''}\n              nowrap\n            />\n        },\n\n        //===========================================================================>\n\n        { Header: I18n.t('activerecord.attributes.property.category'),\n          style: { whiteSpace: 'nowrap' },\n\n          Cell: data => {\n            const { id, section, kindTranslated } = data.cell.row.original;\n            const translatedSection = I18n.t(`generic.models.property.category.${section}`);\n\n            return (\n              <TableHashLink\n                additionalClass=\"capitalize\"\n                link={`${currentLocale}/new_providers/locations/edit/${id}/economy#kind`}\n                offset={102}\n                value={`${ section === 'investment' ? translatedSection.one : translatedSection } / ${kindTranslated}`} />\n            )\n          }\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <TableFilterHeader\n              handleOrderBy={() => setOrderBy('updated_at_by_provider_only')}\n              headline={I18n.t('activerecord.attributes.location.updated_at')}\n              isActive={activeFilter === 'updated_at_by_provider_only'}\n              orderDirection={orderDirection} />,\n\n          accessor: 'updatedAtByProviderOnlyFormatted',\n\n          Cell: data =>\n            <Link to={`${currentLocale}/new_providers/locations/edit/${data.cell.row.original.id}/location`}>\n              { data.value }\n            </Link>\n        },\n\n        //===========================================================================>\n\n        { Header: I18n.t('activerecord.attributes.location.primary_contact'),\n          accessor: 'primaryContactName',\n          Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <TableFilterHeader\n              handleOrderBy={() => setOrderBy('photo_assets')}\n              headline={I18n.t('lb_showroom.detailed.asset_box.new_photos_button')}\n              isActive={activeFilter === 'photo_assets'}\n              orderDirection={orderDirection} />,\n\n          accessor: 'photosCount',\n\n          Cell: data =>\n            <TableHashLink\n              link={`${currentLocale}/new_providers/locations/edit/${data.cell.row.original.id}/visuals#photo`}\n              offset={160}\n              value={data.value} />\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <TableFilterHeader\n              handleOrderBy={() => setOrderBy('floor_plan_assets')}\n              headline={I18n.t('providers.floor_plans.form.description')}\n              isActive={activeFilter === 'floor_plan_assets'}\n              orderDirection={orderDirection}\n              style={{ whiteSpace: 'nowrap' }} />,\n\n          accessor: 'floorPlansCount',\n\n          Cell: data =>\n            <TableHashLink\n              link={`${currentLocale}/new_providers/locations/edit/${data.cell.row.original.id}/visuals#floor-plans`}\n              offset={160}\n              value={data.value} />\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <TableFilterHeader\n              additionalClass=\"capitalize\"\n              handleOrderBy={() => setOrderBy('prospectus_assets')}\n              headline={I18n.t('reports.providers_order_report.prospectuses')}\n              isActive={activeFilter === 'prospectus_assets'}\n              orderDirection={orderDirection} />,\n\n          accessor: 'prospectusCount',\n\n          Cell: data =>\n            <TableHashLink\n              link={`${currentLocale}/new_providers/locations/edit/${data.cell.row.original.id}/visuals#prospectuses`}\n              offset={160}\n              value={data.value} />\n        },\n\n        //===========================================================================>\n\n        {\n          Header:\n            <TableFilterHeader\n              handleOrderBy={() => setOrderBy('enquiries_count')}\n              headline={I18n.t('reports.providers_order_report.enquiries')}\n              isActive={activeFilter === 'enquiries_count'}\n              orderDirection={orderDirection} />,\n\n          accessor: 'enquiriesCountInteger',\n          Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <div className=\"leases__quality-score-table-header\">\n              { I18n.t('providers.locations.edit.scores.title') }\n              <TooltipPopup\n                content={I18n.t('providers.locations.edit.scores.description')}\n                icon=\"info\"\n                id=\"score-tooltip\"\n                marginLeft={8}\n                onShow={(handleClose) => handleHorizontalScroll('locations', handleClose)} />\n            </div>,\n\n          accessor: 'scoreInPercents',\n\n          Cell: data =>\n            <div className=\"leases__quality-score-table-cell\">\n              <progress className=\"location-score-progress\" value={data.value} max=\"100\">\n                { data.value } / 100\n              </progress>\n              { `${data.value} / 100` }\n            </div>\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <div>{ I18n.t('providers.notes.list.title') }\n              <div id=\"locations-scroll-end-target\" className=\"scroll-end-target\" />\n            </div>,\n          accessor: 'notesCount',\n\n          Cell: data =>\n            <div className=\"table-notes-cell\"\n                 onClick={() => openNotesModal(data.cell.row.original.id)}>\n              <img\n                alt=\"Note\"\n                height={19}\n                src={NotesImg}\n                width={15} />\n              <p>({ data.value })</p>\n            </div>\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <div>{ I18n.t('providers.statistics.index.status') }\n              <div id=\"locations-sticky-start-target\" className=\"sticky-start-target\" />\n            </div>,\n          accessor: 'avaliableEnquiryStates',\n          sticky: 'right',\n\n          Cell: data => {\n            const { id, state, stateInfo, stateTranslated } = data.cell.row.original;\n            const statusOptions = data.value && providerApproved && Object.entries(data.value).map(([key, value]) => ({ value: key, label: value }));\n\n            return (\n              <div className=\"leases__status-cell\">\n                <div className=\"sticky-start-target\" />\n                { statusOptions\n                  ?\n                    <CellDropdown\n                      handleChange={(value) => handleLocationState(value, data.row.id)}\n                      loading={stateChangeLoadingId === id}\n                      onShow={(handleClose) => handleHorizontalScroll('locations', handleClose)}\n                      options={statusOptions}\n                      value={state}\n                      withCallback={true}/>\n                  :\n                    stateTranslated\n                }\n\n                <InfoIconTooltip id={`status-${id}-tooltip`} position=\"left\" tooltip={stateInfo} />\n              </div>\n            )\n          },\n        },\n\n        //===========================================================================>\n\n      ], [data, activeFilter, stateChangeLoadingId]\n  )\n;\n","import React, { useState, useEffect } from 'react';\nimport { useQuery, useMutation } from '@apollo/client';\nimport { Link, useHistory, useParams, useRouteMatch } from 'react-router-dom';\n\nimport BasicDropdown from \"../../SharedComponents/Forms/BasicDropdown\";\nimport RadioButtons from \"../../SharedComponents/Forms/RadioButtons\";\nimport { useDebouncedEffect } from \"../../SharedComponents/hooks\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport PageInfoMessage from \"../Errors/PageInfoMessage\";\nimport NetworkError from \"../Errors/NetworkError\";\nimport { GET_LOCATIONS, GET_LOCATIONS_XLS_TOKEN } from '../ApolloClient/queries';\nimport { ACTIVATE_LOCATION } from \"../ApolloClient/mutations\";\nimport Table from '../Table';\nimport TokenizedFileModalLink from \"../Modals/TokenizedFileModalLink\";\nimport NotesModal from '../Modals/NotesModal';\nimport DeactivateLocationModal from \"../Modals/DeactivateLocationModal\";\nimport RentedOutModal from \"../Modals/RentedOutModal\";\nimport InfoMessagePopup from \"../Popups/InfoMessagePopup\";\nimport Page404 from '../Errors/Page404';\nimport { LocationsColumns } from './LocaationsColumns';\n\nimport '../Table/TablePage.sass';\nimport './index.sass';\n\n\nconst Locations = ({ asPreview,\n                     currentLocale,\n                     orderByFilter,\n                     orderDirectionFilter,\n                     providerApproved,\n                     providerOnDealStrategy,\n                     setShowCreateLeaseButton,\n                     siteName,\n                     states }) => {\n\n  const history = useHistory();\n  const { category } = useParams();\n  const match = useRouteMatch();\n  const categories = ['lease_properties', 'sales_properties', undefined, 'anonymous'];\n\n  const checkCategory = (category) => {\n    return categories.includes(category)\n  };\n\n  const isValidCategory = checkCategory(match.params.category);\n\n\n  if (!isValidCategory) {\n    return <Page404 currentLocale={currentLocale} />\n  }\n\n  const [queryValue, setQueryValue] = useState('');\n  const [locationId, setLocationId] = useState('');\n  const [locationAddress, setLocationAddress] = useState('');\n  const [infoMessage, setInfoMessage] = useState('');\n  const [infoPopupMessage, setInfoPopupMessage] = useState('');\n  const [stateChangeLoadingId, setStateChangeLoadingId] = useState('');\n  const [locationsData, setLocationsData] = useState([]);\n  const [totalCount, setTotalCount] = useState(0);\n  const [initialLoad, setInitialLoad] = useState(true);\n  const [showNoteModal, setShowNoteModal] = useState(false);\n  const [deleteModalIsOpen, setDeleteModalIsOpen] = useState(false);\n  const [rentedOutModalIsOpen, setRentedOutModalIsOpen] = useState(false);\n  const [stateUpdateSuccess, setStateUpdateSuccess] = useState(false);\n  const [infoMessagePopupIsOpen, setInfoMessagePopupIsOpen] = useState(false);\n  const [infoPopupMessageError, setInfoPopupMessageError] = useState(null);\n\n  const [filters, setFilters] = useState({\n    locationState: '',\n    page: 1,\n    perPage: asPreview ? 4 : 20,\n    orderBy: orderByFilter || 'updated_at_by_provider_only',\n    orderDirection: orderDirectionFilter || 'desc',\n    query: '',\n    showOnlyContactLocations: false,\n  });\n\n  const { locationState, page, perPage, orderBy, orderDirection, showOnlyContactLocations } = filters;\n\n  const { loading: locationsLoading, error, refetch: refetchLocations } = useQuery(GET_LOCATIONS, {\n    variables: { category, ...filters },\n    onCompleted: data => {\n      const { locations, totalCount }= data.locations;\n\n      setLocationsData(locations);\n      setTotalCount(totalCount);\n      initialLoad && setInitialLoad(false);\n      stateChangeLoadingId && setStateChangeLoadingId('');\n    },\n  });\n\n  const [activateLocation] = useMutation(ACTIVATE_LOCATION, {\n    onCompleted: data => !data.error && locationStateChangeCallback(),\n  });\n\n  const loading = !stateChangeLoadingId && locationsLoading;\n\n  useEffect(() => {\n    refetchLocations().catch(error => console.log(error));\n  }, []);\n\n  useEffect(() => {\n    refetchLocations().catch(error => console.log(error));\n  }, [filters]);\n\n  useEffect(() => {\n    loading && setLocationsData(Array(perPage).fill({}));\n  }, [loading]);\n\n  useEffect(() => {\n    let locationInfoMessage = null;\n\n    locationsData.map(location => location.infoMessage && (locationInfoMessage = location.infoMessage))\n    setInfoMessage(locationInfoMessage);\n  }, [locationsData]);\n\n  useDebouncedEffect(() => handleFilters({ query: queryValue, page: 1 }), [queryValue], 500);\n\n\n  const isLease = category !== 'sales_properties';\n  const showReportADeal = providerOnDealStrategy && isLease;\n\n  const perPageOptions = [\n    { value: '10', label: '10' },\n    { value: '20', label: '20' },\n    { value: '40', label: '40' },\n  ];\n\n  const locationStateOptions = [\n    {value: null, label: I18n.t('generic.all'), className: !locationState ? 'selected' : null},\n    {value: \"new\", label: states.new},\n    {value: \"active\", label: states.active},\n    {value: \"rented_out\", label: states.rentedOut},\n    {value: \"closed\", label: states.closed},\n  ];\n\n  const radioOptions = [\n    { label: I18n.t('providers.locations.filter.my_locations'), value: true, checked: showOnlyContactLocations },\n    { label: I18n.t('providers.orders.filter.all_locations'), value: false, checked: !showOnlyContactLocations },\n  ];\n\n\n  const handleFilters = (newFilters) =>\n    setFilters(prevFilters => ({\n      ...prevFilters,\n      ...newFilters,\n    }));\n\n\n  const handleOrderBy = (field) => {\n    const newOrderDirection = field === orderBy && orderDirection === 'asc' ? 'desc' : 'asc';\n\n    handleFilters({ orderBy: field, orderDirection: newOrderDirection });\n  };\n\n\n  const openNotesModal = (locationId) => {\n    setShowNoteModal(true);\n    setLocationId(locationId);\n  };\n\n\n  const closeInfoMessagePopup = () => {\n    setInfoMessagePopupIsOpen(false);\n    infoPopupMessageError && setInfoPopupMessageError(false);\n  };\n\n\n  const handleLocationState = (state, locationIndex) => {\n\n    const { address, id } = locationsData[locationIndex];\n\n    setLocationId(id);\n    setLocationAddress(address);\n    setInfoPopupMessage(I18n.t(`providers.locations.state.${state}.information`));\n\n    switch (state) {\n      case 'active':\n        setStateChangeLoadingId(id);\n        activateLocation({ variables: { id: Number(id) }})\n          .catch(error => {\n            console.log('error', error);\n            setStateChangeLoadingId('');\n            setInfoPopupMessage(I18n.t('apps.lb_showroom.detailed.order_form.error.message'));\n            setInfoPopupMessageError(true);\n            setInfoMessagePopupIsOpen(true);\n          });\n        return;\n      case 'closed':\n        setDeleteModalIsOpen(true);\n        return;\n      case 'rented_out':\n        showReportADeal\n          ? history.push({\n              pathname: `${currentLocale}/new_providers/report_deal`,\n              search: `?location_id=${id}`,\n            })\n          : setRentedOutModalIsOpen(true);\n        return;\n    }\n  };\n\n\n  const locationStateChangeCallback = (closeModal, location, successMessage) =>\n    refetchLocations()\n      .then(() => {\n        successMessage && setInfoPopupMessage(successMessage)\n        closeModal && closeModal();\n        setInfoMessagePopupIsOpen(true);\n      })\n      .catch(error => {\n        console.log('error', error);\n        closeModal && closeModal();\n      });\n\n\n  const locationsColumns = LocationsColumns(currentLocale,\n                                            locationsData,\n                                            providerApproved,\n                                            orderBy,\n                                            orderDirection,\n                                            stateUpdateSuccess,\n                                            setStateUpdateSuccess,\n                                            stateChangeLoadingId,\n                                            handleOrderBy,\n                                            handleLocationState,\n                                            openNotesModal);\n\n  const tableHeadline =\n    category === 'sales_properties'\n      ? I18n.t('layouts.providers.navigation.sales_properties')\n      : I18n.t('layouts.providers.navigation.locations');\n\n  const locationsEmpty = totalCount === 0 && !loading;\n\n\n  if (!asPreview && error) return <NetworkError />;\n\n  asPreview && setShowCreateLeaseButton && setShowCreateLeaseButton(locationsEmpty);\n\n  if (!(asPreview && locationsEmpty)) {\n    return (\n      <div className={`leases table-page ${ asPreview ? 'preview' : '' }`}>\n\n        { !asPreview && infoMessage && !loading && <PageInfoMessage message={infoMessage} /> }\n\n        <NotesModal\n          handleClose={() => setShowNoteModal(false)}\n          id={locationId}\n          orderNotes={false}\n          showModal={showNoteModal} />\n\n        <InfoMessagePopup\n          customClass={infoPopupMessageError ? 'error' : null}\n          handleClose={closeInfoMessagePopup}\n          message={infoPopupMessage}\n          visible={infoMessagePopupIsOpen} />\n\n        { deleteModalIsOpen &&\n          <DeactivateLocationModal\n            address={locationAddress}\n            callbackFunction={locationStateChangeCallback}\n            currentLocale={currentLocale}\n            handleClose={() => setDeleteModalIsOpen(false)}\n            locationId={locationId}\n            showModal={deleteModalIsOpen}\n            showReportADeal={showReportADeal}\n            siteName={siteName}\n          />\n        }\n\n        <RentedOutModal\n          address={locationAddress}\n          callbackFunction={locationStateChangeCallback}\n          handleClose={() => setRentedOutModalIsOpen(false)}\n          locationId={locationId}\n          showModal={rentedOutModalIsOpen}\n          siteName={siteName} />\n\n        { !asPreview &&\n          <div className=\"table-page__filters-wrapper\">\n\n            <div className=\"table-page__filters-left\">\n              <div className=\"search-input-wrapper\">\n                <input\n                  className=\"search-input\"\n                  maxLength=\"256\"\n                  onChange={(e) => setQueryValue(e.target.value)}\n                  placeholder={I18n.t('generic.search')}\n                  type=\"text\"\n                  value={queryValue} />\n                <SvgIco name=\"search\" size={16} />\n              </div>\n\n              <BasicDropdown\n                handleChange={(value) => handleFilters({ locationState: value || '', page: 1 })}\n                options={locationStateOptions}\n                placeholder={I18n.t('providers.statistics.index.status')}\n                value={locationState || locationStateOptions[0].value}\n                wrapperClass=\"leases__status-dropdown\" />\n\n              <RadioButtons\n                handleChange={(value) => handleFilters({ showOnlyContactLocations: value, page: 1 })}\n                options={radioOptions} />\n            </div>\n\n            { !asPreview && totalCount > 0 &&\n              <TokenizedFileModalLink\n                dataName=\"locations\"\n                linkLabel=\"Excel\"\n                query={GET_LOCATIONS_XLS_TOKEN}\n                variables={{ ...filters, category, page: null, perPage: null, xls: true }}\n              />\n            }\n          </div>\n        }\n\n        <div className=\"table-page__title-wrapper\">\n          <div className=\"table-page__title\" style={{ justifyContent: asPreview ? 'flex-start' : 'space-between' }}>\n            <h3>{ tableHeadline } ({ totalCount })</h3>\n            <div className=\"create-new-button\">\n              <Link to={`${currentLocale}/new_providers/${category === 'sales_properties' ? 'sales' : category === 'anonymous' ? 'anonymous' : 'lease'}/new/location`}>\n                + { isLease\n                    ? I18n.t('providers.locations.index.create_location')\n                    : I18n.t('providers.locations.create_sale_property')\n                  }\n              </Link>\n            </div>\n          </div>\n          { asPreview &&\n            <Link to={`${currentLocale}/new_providers/locations/lease_properties`} className=\"table-page__see-all-link\">\n              <span>{ I18n.t('provider.tables.see_all_link') }</span>\n            </Link>\n          }\n        </div>\n\n        <Table\n          columns={locationsColumns}\n          currentPage={page}\n          data={locationsData}\n          disableSortBy={true}\n          extraClass=\"no-wrap\"\n          hideBottomFilters={!!asPreview}\n          initialLoad={initialLoad}\n          loading={loading}\n          name=\"locations\"\n          perPage={perPage}\n          perPageOptions={perPageOptions}\n          setPage={(page) => handleFilters({ page })}\n          setPerPage={(perPage) => handleFilters({ perPage, page: 1 })}\n          totalCount={totalCount} />\n      </div>\n    );\n  } else {\n    return null;\n  }\n}\n\nexport default Locations;\n","import React, { useState } from 'react';\nimport { Link } from \"react-router-dom\";\n\nimport AssistanceBanner from '../../../src/images/provider/get-assistance.svg';\nimport Clients from \"../Clients\";\nimport ContactsPage from \"../ContactsPage\";\nimport Locations from \"../Locations\";\n\nimport './index.sass';\n\n\nconst MainDashboard = ({ contactName,\n                         currencySymbolFormatter,\n                         currentLocale,\n                         enquiryStates,\n                         isNumber,\n                         providerApproved,\n                         providerOnDealStrategy,\n                         resourceNotFoundError,\n                         siteName,\n                         states,\n                       }) => {\n\n  const [showCreateLeaseButton, setShowCreateLeaseButton] = useState(null);\n\n  return (\n    <div className=\"main-dashboard\">\n      <div className=\"main-dashboard__top-block\">\n        <div className=\"main-dashboard__top-text\">\n          <p className=\"main-dashboard__headline\">\n            <span>{ I18n.t('providers.providers.show.greeting', { name: '' }) }</span><span>,</span> { contactName }\n          </p>\n          <p>{ I18n.t('providers.dashboard.greeting_text') }</p>\n        </div>\n        <img src={AssistanceBanner} alt=\"Get Assistance\" width={303} height={216} />\n      </div>\n\n      { showCreateLeaseButton &&\n        <div className=\"create-new-button alone\">\n          <Link to={`${currentLocale}/new_providers/lease/new/location`}>\n            + { I18n.t('providers.locations.index.create_location') }\n          </Link>\n        </div>\n      }\n\n      <Clients\n        asPreview={true}\n        currencySymbolFormatter={currencySymbolFormatter}\n        currentLocale={currentLocale}\n        enquiryStates={enquiryStates}\n        isNumber={isNumber}\n        resourceNotFoundError={resourceNotFoundError}\n      />\n\n      <Locations\n        asPreview={true}\n        category=\"lease_properties\"\n        currentLocale={currentLocale}\n        key=\"lease_properties\"\n        orderByFilter='updated_at_by_provider_only'\n        orderDirectionFilter=\"desc\"\n        providerApproved={providerApproved}\n        providerOnDealStrategy={providerOnDealStrategy}\n        setShowCreateLeaseButton={setShowCreateLeaseButton}\n        siteName={siteName}\n        states={states}\n      />\n\n      <ContactsPage\n        asPreview={true}\n        currentLocale={currentLocale}\n      />\n\n    </div>\n  );\n}\n\nexport default MainDashboard;\n","import React, {useState} from 'react';\nimport { useMutation } from \"@apollo/client\";\n\nimport { ADD_CLIENT_RELATION } from \"../ApolloClient/mutations\";\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport { FileLoader } from \"../Loaders\";\nimport ProviderModal from \"./ProviderModal\";\n\nimport './AlreadyKnownLeadStatusModal.sass';\n\n\nconst AlreadyKnownLeadStatusModal = ({ showModal, handleClose, clientId, callbackFunction }) => {\n\n  const [loading, setLoading] = useState(false);\n\n  const [addClientRelation, { error }] = useMutation(ADD_CLIENT_RELATION, {\n    onCompleted: data => {\n      if (!data.error) {\n        callbackFunction ? callbackFunction(closeModal) : closeModal();\n      }\n    }\n  });\n\n  const handleActivate = () => {\n    setLoading(true);\n    addClientRelation({ variables: { clientId }});\n  };\n\n\n  const closeModal = () => {\n    setLoading(false);\n    handleClose();\n  };\n\n\n  return (\n    <ProviderModal modalClass=\"known-lead-location-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}>\n\n      { error && <ModalNetworkError /> }\n\n      <div className=\"known-lead-location-modal__headline\">\n        { I18n.t('providers.enquiries.pop_up.label') }\n      </div>\n\n      <div className=\"known-lead-location-modal__explanation\">\n        { I18n.t('providers.enquiries.pop_up.body') }\n      </div>\n\n      { loading && !error && <FileLoader /> }\n\n      <div className=\"known-lead-location-modal__buttons-wrapper\">\n        <div className={`provider-modal__button green ${loading ? 'inactive' : ''}`} onClick={handleActivate}>\n          { I18n.t('providers.enquiries.pop_up.confirm_button') }\n        </div>\n        <div className={`provider-modal__button ${loading ? 'inactive' : ''}`} onClick={handleClose}>\n          { I18n.t('providers.enquiries.pop_up.cancel_button') }\n        </div>\n      </div>\n\n    </ProviderModal>\n  )\n}\n\nexport default AlreadyKnownLeadStatusModal;\n","import React from 'react';\n\nimport ProviderModal from \"./ProviderModal\";\n\nimport './BaseModal.sass';\n\n\nconst BaseModal = ({ confirmButtonText,\n                     handleClose,\n                     hideReject,\n                     modalIsOpen,\n                     onConfirmClick,\n                     onRejectClick,\n                     rejectButtonText,\n                     textContent }) => {\n\n  return (\n    <ProviderModal modalClass=\"base-modal\"\n                   handleClose={handleClose}\n                   showModal={modalIsOpen}>\n\n      <p>{ textContent }</p>\n\n      <div className=\"base-modal__buttons-wrapper\">\n        { !hideReject &&\n          <div className=\"base-modal__reject-button\" onClick={onRejectClick}>\n            { rejectButtonText }\n          </div>\n        }\n\n        <div className=\"base-modal__confirm-button\" onClick={onConfirmClick}>\n          { confirmButtonText }\n        </div>\n\n      </div>\n    </ProviderModal>\n    )\n};\n\n\nexport default BaseModal;\n","import React from 'react';\n\nimport CreateNewContact from '../ContactsPage/CreateNewContact';\nimport FormMessageBlock from '../../SharedComponents/FormMessages/FormMessageBlock';\nimport ProviderModal from './ProviderModal';\n\nimport './CreateNewContactModal.sass';\n\n\nconst CreateNewContactModal = ({ editContactData,\n                                 handleCloseNotification,\n                                 closeModal,\n                                 showModal,\n                                 showNotification,\n                                 editModal,\n                                 submitForm,\n                               }) => {\n\n\n  return (\n    <ProviderModal\n      showModal={showModal}\n      handleClose={closeModal}\n      modalClass=\"contacts-create-modal\"\n    >\n      <div className=\"modal-wrapper\">\n        <div className=\"modal-content-wrapper\">\n          <p className=\"contacts-create-modal__header\">\n            { editModal\n              ? I18n.t('providers.contacts.list.edit_new_secondary_contact')\n              : I18n.t('providers.contacts.list.add_new_secondary_contact')\n            }\n          </p>\n        </div>\n\n        <div className=\"notification-wrapper\">\n          <FormMessageBlock\n            show={showNotification}\n            closeNotification={handleCloseNotification}\n          />\n        </div>\n\n        <CreateNewContact\n          editContactData={editContactData}\n          editModal={editModal}\n          submitForm={submitForm}\n          closeModal={closeModal}\n        />\n      </div>\n    </ProviderModal>\n  );\n};\n\nexport default CreateNewContactModal;\n","import React, { Fragment, useState } from 'react';\nimport { useMutation } from \"@apollo/client\";\nimport { useHistory } from \"react-router-dom\";\n\nimport RadioButtons from \"../../SharedComponents/Forms/RadioButtons\";\nimport { DEACTIVATE_LOCATION, DEACTIVATE_LOCATION_AT_THE_MONTH_END } from \"../ApolloClient/mutations\";\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport { FileLoader } from \"../Loaders\";\nimport ProviderModal from \"./ProviderModal\";\n\nimport './DeactivateLocationModal.sass';\n\n\nconst DeactivateLocationModal = ({ address,\n                                   callbackFunction,\n                                   currentLocale,\n                                   handleClose,\n                                   locationId,\n                                   showModal,\n                                   showReportADeal,\n                                   siteName }) => {\n\n  const [leaseWasRentedOut, setLeaseWasRentedOut] = useState(true);\n  const [loading, setLoading] = useState(false);\n  const [deactivationReason, setDeactivationReason] = useState('');\n  const [deactivateLocationNow, setDeactivateLocationNow] = useState(false);\n\n  const history = useHistory();\n\n\n  const [deactivateLocation, { error }] = useMutation(DEACTIVATE_LOCATION, {\n    onCompleted: data => {\n      const { error, location } = data.deactivateLocation;\n\n      !error && callbackFunction ? callbackFunction(closeModal, location) : closeModal();\n    },\n  });\n\n\n  const [deactivateLocationAtTheMonthEnd, { error: deactivateLocationAtTheMonthError }] = useMutation(DEACTIVATE_LOCATION_AT_THE_MONTH_END, {\n    onCompleted: data => {\n      const { error } = data.deactivateLocationAtTheMonthEnd;\n\n      !error && callbackFunction ? callbackFunction(closeModal, false, I18n.t('providers.locations.deactivate.terms_option.month_end.success_message')) : closeModal();\n    },\n    refetchQueries: ['getLocationInfo'],\n  });\n\n\n  const deactivationOptions = [\n    { label: I18n.t('providers.locations.deactivate.lease_rented_out_yes'), value: true, checked: leaseWasRentedOut },\n    { label: I18n.t('providers.locations.deactivate.lease_rented_out_no'), value: false, checked: !leaseWasRentedOut },\n  ];\n\n\n  const deactivationTermsOptions = [\n    { label: <div className=\"deactivate-location-modal__deactivation-term-option\">\n               <div className=\"deactivate-location-modal__deactivation-term-option-headline\">\n                 { I18n.t('providers.locations.deactivate.terms_option.month_end.headline') }\n               </div>\n               <div className=\"deactivate-location-modal__deactivation-term-option-description\">\n                 { I18n.t('providers.locations.deactivate.terms_option.month_end.description') }\n               </div>\n             </div>,\n      value: false,\n      checked: !deactivateLocationNow,\n    },\n    { label: <div className=\"deactivate-location-modal__deactivation-term-option\">\n               <div className=\"deactivate-location-modal__deactivation-term-option-headline\">\n                 { I18n.t('providers.locations.deactivate.terms_option.now.headline') }\n               </div>\n               <div className=\"deactivate-location-modal__deactivation-term-option-description\">\n                 { I18n.t('providers.locations.deactivate.terms_option.now.description') }\n               </div>\n             </div>,\n      value: true,\n      checked: deactivateLocationNow\n    },\n  ];\n\n\n  const closeModal = () => {\n    setLoading(false);\n    handleClose();\n  };\n\n\n  const handleDelete = () => {\n    if (leaseWasRentedOut && showReportADeal) {\n      history.push(`${currentLocale}/new_providers/report_deal?location_id=${locationId}`);\n    } else {\n      setLoading(true);\n      deactivateLocation({ variables: { id: Number(locationId), reason: deactivationReason }});\n    }\n  };\n\n\n  const handleRadioButtonsChange = (value) => {\n    setLeaseWasRentedOut(value);\n    value && setDeactivationReason('');\n  };\n\n\n  const handleConfirm = () => {\n    showReportADeal\n      ? (leaseWasRentedOut || deactivationReason.length ? handleDelete() : null)\n      : (deactivateLocationNow ? handleDelete() : deactivateLocationAtTheMonthEnd({ variables: { id: Number(locationId) }}));\n  };\n\n\n  return (\n    <ProviderModal modalClass=\"deactivate-location-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}>\n\n      { (error || deactivateLocationAtTheMonthError) && <ModalNetworkError /> }\n\n      <div className=\"deactivate-location-modal__headline\">\n        { I18n.t('provider.location_deactivation.headline') }\n      </div>\n\n      { showReportADeal\n        ?\n          <Fragment>\n            <div className=\"deactivate-location-modal__explanation\">\n              { I18n.t('providers.locations.deactivate.when_deactivating', { site: siteName }) }\n            </div>\n\n            <div className=\"deactivate-location-modal__location-address\">\n              { address }\n            </div>\n\n            <div className=\"deactivate-location-modal__report-deal-block\">\n              <div className=\"deactivate-location-modal__report-deal-headline\">\n                { I18n.t('providers.locations.deactivate.deactivate_question_text') }\n              </div>\n              <div className=\"deactivate-location-modal__report-deal-question\">\n                { I18n.t('providers.locations.deactivate.lease_rented_out') }\n              </div>\n\n              <RadioButtons\n                handleChange={value => handleRadioButtonsChange(value)}\n                name=\"leaseWasRentedOut\"\n                options={deactivationOptions} />\n\n              { !leaseWasRentedOut &&\n                <textarea\n                  id=\"deactivationReason\"\n                  name=\"deactivationReason\"\n                  onChange={e => setDeactivationReason(e.target.value)}\n                  placeholder={I18n.t('providers.locations.deactivate.deactivation_reason')}\n                  value={deactivationReason}\n                />\n              }\n            </div>\n          </Fragment>\n        :\n          <Fragment>\n            <div className=\"deactivate-location-modal__explanation\">\n              { I18n.t('providers.locations.deactivate.terms_subheader') }:\n            </div>\n\n            <RadioButtons\n              handleChange={value => setDeactivateLocationNow(value)}\n              name=\"deactivationTerms\"\n              options={deactivationTermsOptions} />\n          </Fragment>\n      }\n\n      { loading && !error && !deactivateLocationAtTheMonthError && <FileLoader /> }\n\n      <div className={`deactivate-location-modal__buttons-wrapper ${loading ? 'inactive' : ''}`}>\n        <div className=\"deactivate-location-modal__button close\" onClick={handleClose}>\n          { I18n.t('search_agent.modal.cancel') }\n        </div>\n        <div className={`deactivate-location-modal__button confirm ${loading ? 'inactive' : ''}`} onClick={handleConfirm}>\n          { !showReportADeal ? I18n.t('parking.parking_lot.deactivate') : I18n.t('providers.providers.provider_deals_notifications.accept') }\n        </div>\n      </div>\n\n    </ProviderModal>\n  )\n};\n\n\nexport default DeactivateLocationModal;\n","import React from 'react';\nimport { useMutation } from \"@apollo/client\";\n\nimport { DELETE_CONTACT_FOREVER } from \"../ApolloClient/mutations\";\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport ProviderModal from \"./ProviderModal\";\n\nimport './DeleteContactForeverModal.sass';\n\n\nconst DeleteContactForeverModal = ({ callback, data, handleClose, showModal }) => {\n\n  const { id } = data;\n\n  const [ hideDeletedContact, { loading, error } ] = useMutation(DELETE_CONTACT_FOREVER, {\n    update(cache, result) {},\n    refetchQueries: [\"getContacts\", \"getDeleteContact\"],\n    onCompleted: () => {\n      callback && callback();\n      handleClose();\n    },\n  });\n\n\n  const handleDeleteContactForever = () =>\n    hideDeletedContact({ variables: { id: parseInt(id || 0) } })\n      .catch(error => console.log('error', error));\n\n\n  return (\n    <ProviderModal modalClass=\"delete-contact-forever-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}>\n\n      { error && <ModalNetworkError /> }\n\n      <div className=\"delete-contact-forever-modal__headline\">\n        { I18n.t('providers.contacts.deleted_list.delete_contact_forever_modal.headline') }\n      </div>\n\n      <div className=\"delete-contact-forever-modal__body\">\n        { I18n.t('providers.contacts.deleted_list.delete_contact_forever_modal.content') }\n      </div>\n\n      <div className=\"delete-contact-forever-modal__buttons-wrapper\">\n        <div className={`provider-modal__button green-border ${loading ? 'inactive' : ''}`} onClick={handleClose}>\n          { I18n.t('search_agent.modal.cancel') }\n        </div>\n        <div className={`provider-modal__button red ${loading ? 'inactive' : ''}`} onClick={handleDeleteContactForever}>\n          { I18n.t('generic.delete') }\n        </div>\n      </div>\n\n    </ProviderModal>\n  )\n};\n\n\nexport default DeleteContactForeverModal;\n","import React from 'react';\nimport { useMutation } from \"@apollo/client\";\n\nimport DeactivationImg from \"../../../src/images/provider/deactivate.svg\";\nimport { DELETE_CONTACT } from \"../ApolloClient/mutations\";\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport { FileLoader } from \"../Loaders\";\nimport ProviderModal from \"./ProviderModal\";\n\nimport './DeleteNoteModal.sass';\n\n\nconst DeleteContactModal = ({ callback, data, handleClose, showModal, logout }) => {\n\n  const { name, id } = data;\n\n  const [ deleteContact, { loading, error } ] = useMutation(DELETE_CONTACT, {\n    update(cache, result) {},\n    refetchQueries: [\"getContacts\", \"getDeleteContact\"],\n    onCompleted: () => {\n      callback && callback();\n      handleClose();\n      if (logout) {\n        window.location.assign('/logout')\n      }\n    }\n  });\n\n  const handleDeleteContact = () =>\n    deleteContact({ variables: { input: { id: parseInt(id || 0) } }})\n      .catch(error => console.log('error', error));\n\n\n  return (\n    <ProviderModal modalClass=\"delete-contact-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}>\n\n      { error && <ModalNetworkError /> }\n\n      <img src={DeactivationImg} width={156} height={132} alt=\"Deactivate\" />\n\n      <p>{ I18n.t(\"providers.contacts.edit.config_delete_contact\", { contact: name || '' }) }</p>\n\n      { loading && !error && <FileLoader /> }\n\n      <div className={`provider-modal__button ${loading ? 'inactive' : ''}`}\n           onClick={handleDeleteContact}>\n        { I18n.t('generic.delete') }\n      </div>\n    </ProviderModal>\n  )\n};\n\n\nexport default DeleteContactModal;\n","import React from 'react';\nimport { useMutation } from '@apollo/client';\n\nimport DeactivationImg from '../../../src/images/provider/deactivate.svg';\nimport { DELETE_CLIENT_NOTE } from '../ApolloClient/queries';\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport { FileLoader } from '../Loaders';\nimport ProviderModal from './ProviderModal';\n\nimport './DeleteNoteModal.sass';\n\n\nconst DeleteNoteModal = ({ handleClose, noteId, refetchQueries, showModal }) => {\n\n  const [deleteClientNote, { loading, error }] = useMutation(DELETE_CLIENT_NOTE, {\n    update(cache, result) {},\n    refetchQueries: refetchQueries || [],\n    onCompleted: () => {\n      handleClose();\n    },\n  });\n\n  const deleteNote =() => {\n    const input = {id: parseInt(noteId)};\n\n    deleteClientNote({ variables: { input } })\n      .catch(error => console.log('error', error));\n  };\n\n  return (\n    <ProviderModal modalClass=\"delete-note-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}>\n\n      { error && <ModalNetworkError /> }\n\n      <img src={DeactivationImg} width={156} height={132} alt=\"Deactivate\" />\n\n      <p className=\"bold\">{ I18n.t('providers.notes.delete_confirm') }</p>\n\n      { loading && !error && <FileLoader /> }\n\n      <div className={`provider-modal__button ${loading ? 'inactive' : ''}`}\n           onClick={deleteNote}>\n        { I18n.t('generic.delete') }\n      </div>\n\n    </ProviderModal>\n  )\n}\n\nexport default DeleteNoteModal;\n","import React, { useState, Fragment } from 'react';\nimport { useLazyQuery, useMutation } from \"@apollo/client\";\nimport { useHistory } from \"react-router-dom\";\n\nimport DuplicateImg from \"../../../src/images/provider/duplicate.svg\";\nimport { COPY_LOCATION } from \"../ApolloClient/mutations\";\nimport { GET_LOCATION_COPY_JOB } from \"../ApolloClient/queries\";\nimport { FileLoader } from \"../Loaders\";\nimport ProviderModal from \"./ProviderModal\";\n\nimport './DuplicateLocationModal.sass';\n\n\nconst DuplicateLocationModal = ({ currentLocale, showModal, handleClose, locationId }) => {\n\n  const history = useHistory();\n\n  const [loading, setLoading] = useState(null);\n  const [pollInterval, setPollInterval] = useState(0);\n\n  const [locationCopyJob] = useLazyQuery(GET_LOCATION_COPY_JOB, {\n    pollInterval,\n    onCompleted: data => {\n      const { duplicateLocationId, state } = data.locationCopyJob;\n\n      if (state === 'done') {\n        history.push(`${currentLocale}/new_providers/locations/info/${duplicateLocationId}`);\n        setLoading(false);\n        handleClose();\n      }\n    },\n  });\n\n  const [copyLocation, { error }] = useMutation(COPY_LOCATION, {\n    onCompleted: data => {\n      const { copyJobId } = data.copyLocation;\n\n      if (copyJobId) {\n        setPollInterval(2000);\n        locationCopyJob({ variables: { id: Number(copyJobId) }})\n          .catch(error => {\n            setLoading(false);\n            console.log('error', error);\n          });\n      }\n    },\n  });\n\n\n  const handleCopy = () => {\n    setLoading(true);\n    copyLocation({ variables: { id: Number(locationId) }})\n      .catch(error => console.log('error', error));\n  };\n\n\n  return (\n    <ProviderModal modalClass=\"duplicate-location-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}>\n\n      <img src={DuplicateImg} width={241} height={167} alt=\"Deactivate\" />\n\n      <div className=\"duplicate-location-modal__headline\">\n        { I18n.t('providers.locations.edit.copy_location') }\n      </div>\n\n      { !loading &&\n        <Fragment>\n          <div className={`duplicate-location-modal__explanation ${error ? 'error' : ''}`}>\n            { !error\n              ? I18n.t('providers.copy_location_job.new.copy_location_middle_page_text')\n              : I18n.t('shared.copy_location_create_status.fail_message')\n            }\n          </div>\n\n          <div className=\"provider-modal__button\" onClick={handleCopy}>\n            { !error\n              ? I18n.t('providers.copy_location_job.new.copy_button')\n              : I18n.t('shared.copy_location_create_status.try_again_link')\n            }\n          </div>\n        </Fragment>\n      }\n\n      { loading &&\n        <Fragment>\n          <div className=\"duplicate-location-modal__loading-subheader\">\n            { I18n.t('shared.copy_location_create_status.copy_message') }\n          </div>\n\n          <div className=\"duplicate-location-modal__loading-explanation\">\n            { I18n.t('shared.copy_location_create_status.copy_time_message') }\n          </div>\n\n          <FileLoader />\n        </Fragment>\n      }\n    </ProviderModal>\n  )\n}\n\n\nexport default DuplicateLocationModal;\n","import React, { Fragment, useState, useEffect } from 'react';\nimport { useLazyQuery } from '@apollo/client';\n\nimport ImgPlaceholder from '../../../src/images/provider/img-placeholder.jpg';\nimport { localizedNumberFormatter } from \"../../../utils/helpers\";\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport { GET_EXTRA_LEAD_LOCATION_ID, GET_EXTRA_LEAD_PREVIEW } from '../ApolloClient/queries';\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport { SkeletonLoader } from \"../Loaders\";\nimport ProviderModal from './ProviderModal';\n\nimport \"./ExtraOrderModal.sass\"\n\n\nconst ExtraOrderModal = ({ currencySymbolFormatter, extraLeadModalOpen, extraLeadOrderId, locale, handleCloseExtraLeadModal }) => {\n\n  const [extraLeadInfo, setExtraLeadInfo] = useState({});\n\n  useEffect(() => {\n    extraLeadModalOpen\n      ? getExtraLeadLocationId({ variables: { id: extraLeadOrderId } }).catch(error => console.log(\"error\", error))\n      : setExtraLeadInfo({});\n  }, [extraLeadModalOpen]);\n\n  const [getExtraLeadInfo, { loading: extraLeadLoading, error }] = useLazyQuery(GET_EXTRA_LEAD_PREVIEW, {\n    onCompleted: data => data.location && setExtraLeadInfo(data.location),\n  });\n\n  const [getExtraLeadLocationId, { loading: extraLeadLocationIdLoading, error: locationIdError }] = useLazyQuery(GET_EXTRA_LEAD_LOCATION_ID, {\n    onCompleted: data => {\n      const { id } = data.order.location;\n      id && getExtraLeadInfo({ variables: { id }}).catch(error => console.log('error', error));\n    },\n  });\n\n  const {\n    address,\n    annualOperationalCostWithCentsFrom,\n    annualOperationalCostWithCentsTo,\n    annualRentWithCentsFrom,\n    annualRentWithCentsTo,\n    areaFrom,\n    areaTo,\n    areaUnit,\n    currencyId,\n    locationUrl,\n    photos,\n    title,\n  } = extraLeadInfo;\n\n\n  const handleExtraLeadTitle = () => {\n    let modalTitle = title[locale];\n    !modalTitle && Object.entries(title).map(([key, value]) => !!value && (modalTitle = value));\n\n    return modalTitle;\n  };\n\n\n  const handleRangeUnits = (from, to, unit) => {\n    const range = from && to ? `${from} - ${to}` : from || to;\n\n    return range ? `${range} ${unit}` : I18n.t('locations.index.not_available');\n  };\n\n\n  return (\n    <ProviderModal modalClass=\"extra-lead-modal\"\n                   handleClose={handleCloseExtraLeadModal}\n                   showModal={extraLeadModalOpen}>\n\n      { (error || locationIdError) && <ModalNetworkError /> }\n\n      { (extraLeadLoading || extraLeadLocationIdLoading) && !(error || locationIdError) &&\n        <SkeletonLoader className=\"extra-lead-modal__loader\" count={7} />\n      }\n\n      { !!Object.keys(extraLeadInfo).length &&\n        <Fragment>\n          <div className=\"extra-lead-modal__img-wrapper\"\n               style={{ backgroundImage: `url(${photos.length ? photos[0].thumbnailW400 : ImgPlaceholder})`}} />\n\n          <div className=\"extra-lead-modal__title\">\n            { handleExtraLeadTitle() }\n          </div>\n\n          <div className=\"extra-lead-modal__address\">\n            { address }\n          </div>\n\n          <div className=\"extra-lead-modal__location-param\">\n            <div>\n              <SvgIco name={'area'} size={22} />\n              { I18n.t('apps.lb_showroom.detailed.area.area_label') }\n            </div>\n            <div>{ handleRangeUnits(areaFrom, areaTo, areaUnit || '') }</div>\n          </div>\n\n          <div className=\"extra-lead-modal__location-param\">\n            <div>{ I18n.t('activerecord.attributes.location.yearly_rent_per_m2') }</div>\n            <div>\n              { handleRangeUnits(\n                annualRentWithCentsFrom && localizedNumberFormatter(annualRentWithCentsFrom),\n                annualRentWithCentsTo && localizedNumberFormatter(annualRentWithCentsTo),\n                currencySymbolFormatter(currencyId)\n              )}\n            </div>\n          </div>\n\n          <div className=\"extra-lead-modal__location-param\">\n            <div>{ I18n.t('activerecord.attributes.location.yearly_rent_and_operational_cost') }</div>\n            <div>\n              { handleRangeUnits(\n                annualOperationalCostWithCentsFrom && localizedNumberFormatter(annualOperationalCostWithCentsFrom),\n                annualOperationalCostWithCentsTo && localizedNumberFormatter(annualOperationalCostWithCentsTo),\n                currencySymbolFormatter(currencyId)\n              )}\n            </div>\n          </div>\n\n          <a href={locationUrl} target=\"_blank\">\n            { I18n.t('provider.modals.go_to_location') }\n          </a>\n\n        </Fragment>\n      }\n    </ProviderModal>\n  );\n};\n\nexport default ExtraOrderModal;\n","import React, { Fragment } from 'react';\n\nimport GenerateProspectusImg from \"../../../src/images/provider/generate-prospectus.svg\";\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport { FileLoader } from \"../Loaders\";\nimport ProviderModal from \"./ProviderModal\";\n\nimport './GenerateProspectusModal.sass';\n\n\nconst GenerateProspectusModal = ({ error, generatedProspectusUrl, handleClose, loading, showModal }) => {\n\n\n  return (\n    <ProviderModal modalClass=\"generate-prospectus-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}>\n\n      { error && <ModalNetworkError /> }\n\n      <img src={GenerateProspectusImg} width={223} height={184} alt=\"Generate Prospectus\" />\n\n      { loading && !error &&\n        <Fragment>\n          <h3 className=\"generate-prospectus-modal__headline\">\n            { I18n.t('providers.form.visuals.prospectus.preparing') }\n          </h3>\n\n          <p>{ I18n.t('views.locations.shared.cart.please_wait') }</p>\n\n          <FileLoader />\n        </Fragment>\n      }\n\n      { generatedProspectusUrl && !loading &&\n        <Fragment>\n          <h3 className=\"generate-prospectus-modal__headline\">\n            { I18n.t('providers.form.visuals.prospectus.prepared') }\n          </h3>\n\n          <a className=\"provider-modal__button\" href={generatedProspectusUrl} target=\"_blank\">\n            { I18n.t('order_confirmations.show.download_prospectus') }\n          </a>\n        </Fragment>\n      }\n\n    </ProviderModal>\n  )\n}\n\nexport default GenerateProspectusModal;\n","import React, { Fragment } from 'react';\nimport Modal from 'react-modal';\n\nimport './IframeModal.sass';\nimport {SvgIco} from \"../../SharedComponents/Icons\";\n\nconst IframeModal = ({ handleClose,\n                         modalClass,\n                         showModal,\n                         url,\n                      }) => {\n\n  const customStyles = {\n    overlay: {\n      backgroundColor: 'rgba(0,0,0,0.6)',\n      top: '0',\n      overflow: 'auto',\n      zIndex: '9999',\n      backdropFilter: 'blur(5px)',\n    },\n    content: {\n      top: '50%',\n      left: '50%',\n      right: 'auto',\n      bottom: 'auto',\n      marginRight: '-50%',\n      transform: 'translate(-50%, -50%)',\n      pointerEvents: 'visible',\n      background: 'white',\n      borderRadius: '4px',\n      position: 'absolute',\n    },\n  };\n\n  return (\n    <Modal\n      ariaHideApp={false}\n      className={`simple-cms-modal ${modalClass || ''}`}\n      contentLabel={modalClass}\n      isOpen={showModal}\n      onRequestClose={handleClose || null}\n      style={customStyles}\n    >\n      <div className=\"simple-cms-modal__wrapper\">\n        <div className=\"simple-cms-modal__close-btn\" onClick={handleClose}>\n          <SvgIco name=\"close\" size={24} />\n        </div>\n        <iframe src={url} frameBorder=\"0\"></iframe>\n      </div>\n    </Modal>\n  );\n};\n\nexport default IframeModal;\n","import React from 'react';\n\nimport ProviderModal from \"./ProviderModal\";\nimport Notes from \"../ClientInfo/Notes\";\n\nimport './NotesModal.sass';\n\n\nconst NotesModal = ({ handleClose, id, orderNotes, showModal }) => {\n\n  return (\n    <ProviderModal modalClass=\"notes-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}>\n      <Notes currentId={id} modal={true} orderNotes={orderNotes} />\n    </ProviderModal>\n  )\n};\n\n\nexport default NotesModal;\n","import React, { useState } from 'react';\nimport { useStripe, useElements, PaymentElement } from '@stripe/react-stripe-js';\nimport Loader from \"../../../SharedComponents/Loader\";\n\n\nconst CheckoutForm = ({ amount, currency, handlePaymentSuccess, setPaymentInProcess }) => {\n  const stripe = useStripe();\n  const elements = useElements();\n\n  const [loading, setLoading] = useState(false);\n  const [errorMessage, setErrorMessage] = useState(null);\n\n  const handleLoading = (state) => {\n    setLoading(state);\n    setPaymentInProcess(state);\n  };\n\n  const handleSubmit = async (event) => {\n    // We don't want to let default form submission happen here,\n    // which would refresh the page.\n    event.preventDefault();\n\n    if (!stripe || !elements) {\n      // Stripe.js has not yet loaded.\n      // Make sure to disable form submission until Stripe.js has loaded.\n      return;\n    }\n\n    handleLoading(true);\n\n    const result = await stripe.confirmPayment({\n      //`Elements` instance that was used to create the Payment Element\n      elements,\n      confirmParams: {\n        return_url: window.location.href,\n      },\n      redirect: 'if_required',\n    });\n\n    if (result.paymentIntent && result.paymentIntent.status && result.paymentIntent.status === 'succeeded') {\n      errorMessage && setErrorMessage(null);\n      handleLoading(false);\n      handlePaymentSuccess();\n    }\n\n    if (result.error) {\n      // Show error to your customer (for example, payment details incomplete)\n      result.error.type !== 'validation_error' && setErrorMessage(result.error.message);\n      console.log(result.error.message);\n      handleLoading(false);\n    }\n  };\n\n\n  return (\n    <form onSubmit={handleSubmit}>\n\n      { errorMessage &&\n        <div className=\"payment-modal__error-message\">\n          { errorMessage }\n        </div>\n      }\n\n      <div className=\"payment-modal__form-wrapper\">\n        <PaymentElement />\n      </div>\n\n      <div className=\"payment-modal__price-info\">\n        <div className=\"payment-modal__price-info-row\">\n          <div className=\"payment-modal__price-info-label\">\n            { I18n.t('generic.amount') }:\n          </div>\n          <div className=\"payment-modal__price-info-value\">\n            { amount }\n          </div>\n        </div>\n\n        <div className=\"payment-modal__price-info-row\">\n          <div className=\"payment-modal__price-info-label\">\n            { I18n.t('activerecord.attributes.location.currency') }:\n          </div>\n          <div className=\"payment-modal__price-info-value\">\n            { currency }\n          </div>\n        </div>\n      </div>\n\n      <div className={`payment-modal__submit-btn ${loading ? 'inactive' : ''}`} onClick={handleSubmit}>\n        { loading ? <Loader size={24} /> : I18n.t('generic.pay')  }\n      </div>\n    </form>\n  )\n};\n\nexport default CheckoutForm;\n","import React, { useState } from 'react';\nimport { useQuery } from \"@apollo/client\";\nimport { Elements } from '@stripe/react-stripe-js';\nimport { loadStripe } from '@stripe/stripe-js';\n\nimport Loader from \"../../../SharedComponents/Loader\";\nimport { GET_STRIPE_INTENT } from \"../../ApolloClient/queries\";\nimport ProviderModal from \"../ProviderModal\";\nimport CheckoutForm from \"./CheckoutForm\";\n\nimport \"./PaymentModal.sass\";\n\n\nconst PaymentModal = ({ handleClose,\n                        invoiceId,\n                        handlePaymentSuccess,\n                        locale,\n                        showModal,\n                        stripeInvoicesApiKey,\n                      }) => {\n\n  const stripePromise = loadStripe(stripeInvoicesApiKey, { locale: locale.split('-')[0] });\n\n  const [amount, setAmount] = useState(null);\n  const [clientSecret, setClientSecret] = useState(null);\n  const [currency, setCurrency] = useState(null);\n  const [paymentInProcess, setPaymentInProcess] = useState(false);\n\n  const {} = useQuery(GET_STRIPE_INTENT, {\n    variables: { id: invoiceId },\n    onCompleted: (data) => {\n      if (data) {\n        const { clientSecret, stripeInvoice } = data.stripeIntent;\n        setAmount(parseFloat((stripeInvoice.amountInCents)/100).toFixed(2));\n        setClientSecret(clientSecret);\n        setCurrency(stripeInvoice.currency.name);\n      }\n    }\n  });\n\n  const appearance = {\n    theme: 'stripe',\n    variables: {\n      colorBackground: '#ffffff',\n      colorText: '#000000',\n      borderRadius: '4px',\n    },\n    rules: {\n      '.Input': {\n        borderColor: '#E0E2E2',\n      }\n    }\n  };\n\n  const options = { clientSecret, appearance };\n\n\n  return (\n    <ProviderModal\n      modalClass=\"payment-modal\"\n      showModal={showModal}\n      handleClose={paymentInProcess ? null : handleClose}>\n\n      <h3 className=\"payment-modal__headline\">{ I18n.t('generic.payment') }</h3>\n\n      { clientSecret &&\n        <Elements stripe={stripePromise} options={options}>\n          <CheckoutForm\n            amount={amount}\n            currency={currency}\n            handlePaymentSuccess={handlePaymentSuccess}\n            setPaymentInProcess={setPaymentInProcess}\n          />\n        </Elements>\n      }\n\n      { !clientSecret &&  <Loader size={32} /> }\n\n    </ProviderModal>\n  )\n}\n\n\nexport default PaymentModal;\n\n\n\n","import React, { Fragment } from 'react';\nimport Modal from 'react-modal';\n\nimport { SvgIco } from '../../SharedComponents/Icons';\n\nimport './ProviderModal.sass';\n\nconst ProviderModal = ({ children,\n                         handleClose,\n                         hideCloseBtn,\n                         modalClass,\n                         showModal,\n                         scrollable,\n                      }) => {\n\n  const customStyles = {\n    overlay: {\n      backgroundColor: 'rgba(0,0,0,0.6)',\n      top: '0',\n      overflow: 'auto',\n      zIndex: '9999',\n      // backdropFilter: 'blur(5px)',\n      scrollBehavior: 'smooth',\n    },\n    content: {\n      top: '50%',\n      left: '50%',\n      right: 'auto',\n      bottom: 'auto',\n      marginRight: '-50%',\n      transform: 'translate(-50%, -50%)',\n      pointerEvents: 'visible',\n      background: 'white',\n      borderRadius: '4px',\n      position: 'absolute',\n    },\n  };\n\n  return (\n    <Modal\n      ariaHideApp={false}\n      className={`provider-modal ${modalClass || ''}`}\n      contentLabel={modalClass}\n      isOpen={showModal}\n      onRequestClose={handleClose || null}\n      style={customStyles}\n    >\n      { scrollable\n        ?\n          <div className=\"provider-modal__wrapper\">\n            { !hideCloseBtn &&\n              <div className=\"provider-modal__close-btn\" onClick={handleClose}>\n                <SvgIco name=\"close\" size={24} />\n              </div>\n            }\n            { children }\n          </div>\n        :\n          <Fragment>\n            { !hideCloseBtn &&\n              <div className=\"provider-modal__close-btn\" onClick={handleClose}>\n                <SvgIco name=\"close\" size={24} />\n              </div>\n            }\n            { children }\n          </Fragment>\n      }\n    </Modal>\n  );\n};\n\nexport default ProviderModal;\n","import React from 'react';\nimport ReactTooltip from \"react-tooltip\";\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { ActionIcon, ScoreChart, visibilityQuality } from \"../ScoreWidget\";\nimport ProviderModal from './ProviderModal';\n\nimport './QualityScoreInfoModal.sass';\n\n\nconst QualityScoreInfoModal = ({ data, handleClose, qualityScoreLink, showModal, siteName }) => {\n\n  const { totalScore } = data;\n  const qualityState = visibilityQuality(totalScore);\n\n  const ListItem = ({ itemData }) =>\n    <div className=\"quality-score-info-modal__list-item\">\n      <div className=\"quality-score-info-modal__list-item-name\">\n        <div className=\"quality-score-info-modal__list-item-label\">{ itemData.name }</div>\n        <span\n          className=\"provider-tooltip\"\n          data-tip={I18n.t(`provider.form.quality_score.extended_hint.${itemData.id}`, { siteName })}\n          data-class=\"provider-tooltip\"\n          data-for={`score-${itemData.id}-tooltip`}>\n          <SvgIco name=\"info_outline\" size={20} />\n        </span>\n        <ReactTooltip\n          border={true}\n          borderColor=\"black\"\n          effect='solid'\n          id={`score-${itemData.id}-tooltip`}\n          place='bottom'\n          type=\"light\" />\n      </div>\n      <div className={`quality-score-info-modal__list-item-score ${itemData.score ? 'done' : ''}`}>\n        { !!itemData.score && <ActionIcon color=\"#77BC1F\" icon=\"check\" iconSize={16} /> }\n        { itemData.score ? `+${itemData.score}` : itemData.availableScoreLabel }\n      </div>\n    </div>;\n\n\n  return (\n    <ProviderModal\n      modalClass=\"quality-score-info-modal\"\n      showModal={showModal}\n      handleClose={handleClose}\n    >\n      <div className=\"quality-score-info-modal__headline\">\n        { I18n.t('providers.locations.edit.scores.title') }\n      </div>\n\n      <div className=\"quality-score-info-modal__content\">\n\n        <div className=\"quality-score-info-modal__left\">\n          <ScoreChart score={totalScore} width={186} />\n\n          <SvgIco\n            className=\"quality-score-info-modal__img\"\n            name={`quality_score_list_${qualityState === 'excellent' || qualityState === 'good' ? 'high' : qualityState }`}\n            width={185}\n            height={160}\n          />\n\n          <div className=\"quality-score-info-modal__status-description\">\n            { I18n.t(`provider.quality_score_chart.visibility_description.${qualityState}`) }\n          </div>\n\n          <a href={qualityScoreLink} target=\"_blank\" className=\"quality-score-info-modal__read-more\">\n            { I18n.t('provider_backend.quality_score.link') }\n            <SvgIco name=\"open_in_new\" size={16} />\n          </a>\n        </div>\n\n        <div className=\"quality-score-info-modal__right\">\n          <div className=\"quality-score-info-modal__list-description\">\n            { I18n.t('provider.quality_score.modal_description') }\n          </div>\n\n          { Object.keys(data).map(scoreSection =>\n            (scoreSection !== 'totalScore'\n              && !data[scoreSection].hidden\n              && !data[scoreSection].score\n              && <ListItem itemData={data[scoreSection]} key={data[scoreSection].name} />) || null\n          )}\n\n          { Object.keys(data).map(scoreSection =>\n            (scoreSection !== 'totalScore'\n              && data[scoreSection].score\n              && !data[scoreSection].hidden\n              && <ListItem itemData={data[scoreSection]} key={data[scoreSection].name} />) || null\n          )}\n\n        </div>\n      </div>\n\n    </ProviderModal>\n  )\n}\n\nexport default QualityScoreInfoModal;\n","import React, { useState } from 'react';\nimport { useMutation } from '@apollo/client';\n\nimport { REJECT_PROVIDER_DEAL } from '../ApolloClient/mutations';\nimport { FileLoader } from '../Loaders';\nimport ProviderModal from './ProviderModal';\n\nimport './RejectAgreementModal.sass';\n\nconst RejectAgreementModal = ({ data, handleClose, showModal }) => {\n  const [comment, setComment] = useState('');\n  const [validComment, setValidComment] = useState(false);\n\n  const changeTextArea = (e) => {\n    setValidComment(false);\n    setComment(e.target.value)\n  };\n\n  const { address, clientEmail, companyName, id, personName, phoneNumber } =\n    data;\n\n  const [rejectProviderDeal, { error, loading }] = useMutation(\n    REJECT_PROVIDER_DEAL,\n    {\n      update(cache, result) {},\n      onCompleted: (data) => !data.error && handleClose(),\n      refetchQueries: ['getUnresolvedProviderDeals'],\n    },\n  );\n\n  return (\n    <ProviderModal\n      modalClass=\"reject-agreement-modal\"\n      showModal={showModal}\n      handleClose={handleClose}\n    >\n      <h3>{I18n.t('providers.provider_deals.edit.header')}</h3>\n\n      <div className=\"reject-agreement-modal__subheader\">\n        {I18n.t('providers.provider_deals.edit.client_info')}:\n      </div>\n\n      <div className=\"reject-agreement-modal__client-info-wrapper\">\n        <div className=\"reject-agreement-modal__client-info-row\">\n          <div className=\"reject-agreement-modal__client-info-label\">\n            {I18n.t('generic.name')}:\n          </div>\n          <div className=\"reject-agreement-modal__client-info-value\">\n            {personName}\n          </div>\n        </div>\n\n        <div className=\"reject-agreement-modal__client-info-row\">\n          <div className=\"reject-agreement-modal__client-info-label\">\n            {I18n.t('generic.company_name')}:\n          </div>\n          <div className=\"reject-agreement-modal__client-info-value\">\n            {companyName}\n          </div>\n        </div>\n\n        <div className=\"reject-agreement-modal__client-info-row\">\n          <div className=\"reject-agreement-modal__client-info-label\">\n            {I18n.t('generic.phone')}:\n          </div>\n          <div className=\"reject-agreement-modal__client-info-value\">\n            {phoneNumber}\n          </div>\n        </div>\n\n        <div className=\"reject-agreement-modal__client-info-row\">\n          <div className=\"reject-agreement-modal__client-info-label\">\n            {I18n.t('generic.email')}:\n          </div>\n          <div className=\"reject-agreement-modal__client-info-value\">\n            {clientEmail}\n          </div>\n        </div>\n      </div>\n\n      <div className=\"reject-agreement-modal__subheader\">\n        {I18n.t('views.locations.show.physical_location')}\n      </div>\n\n      <p>{address}</p>\n\n      <div className=\"reject-agreement-modal__comment-wrap\">\n        <textarea\n          className={`${validComment ? 'error' : ''}`}\n          name=\"comment\"\n          value={comment}\n          id=\"deactivationDealComment\"\n          onChange={(e) => changeTextArea(e)}\n          placeholder={I18n.t('client_deal_feedbacks.new.comment_placeholder')}\n        />\n        {validComment &&\n          < div className=\"reject-agreement-modal__valid-comment\">\n            {I18n.t('apps.lb_showroom.detailed.order_form.validation.field_required', { field: I18n.t('generic.message')})}\n          </div>\n        }\n      </div>\n\n      {loading && <FileLoader />}\n\n      <div\n        className={`provider-modal__button ${loading ? 'inactive' : ''}`}\n        onClick={() => {\n          if (comment.length === 0) {\n            setValidComment(true)\n          } else {\n            rejectProviderDeal({\n              variables: { id: Number(id), comment, state: 'denied' },\n            })\n          }}\n        }\n      >\n        {I18n.t('providers.provider_deals.edit.deny_button')}\n      </div>\n    </ProviderModal>\n  );\n};\n\nexport default RejectAgreementModal;\n","import React, { useState } from 'react';\nimport { useMutation } from \"@apollo/client\";\n\nimport RentedOutImg from \"../../../src/images/provider/rendted-out.svg\";\nimport { MARK_LOCATION_AS_RENTED_OUT } from \"../ApolloClient/mutations\";\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport { FileLoader } from \"../Loaders\";\nimport ProviderModal from \"./ProviderModal\";\n\nimport './DeactivateLocationModal.sass';\n\n\nconst RentedOutModal = ({ address,\n                          callbackFunction,\n                          handleClose,\n                          locationId,\n                          showModal,\n                          siteName }) => {\n\n  const [loading, setLoading] = useState(false);\n\n  const [rentedOutLocation, { error }] = useMutation(MARK_LOCATION_AS_RENTED_OUT, {\n    onCompleted: data => {\n      const { error, location } = data.rentedOutLocation;\n\n      !error && callbackFunction ? callbackFunction(closeModal, location) : closeModal();\n    },\n  });\n\n\n  const closeModal = () => {\n    setLoading(false);\n    handleClose();\n  };\n\n\n  const markAsRentedOut = () => {\n    setLoading(true);\n    rentedOutLocation({ variables: { id: Number(locationId) }}).catch(error => console.log('error', error));\n  };\n\n\n  return (\n    <ProviderModal modalClass=\"deactivate-location-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}>\n\n      { error && <ModalNetworkError /> }\n\n      <img src={RentedOutImg} width={241} height={182} alt=\"Deactivate\" />\n\n      <div className=\"deactivate-location-modal__headline\">\n        { I18n.t('provider.location_deactivation.headline') }\n      </div>\n\n      <div className=\"deactivate-location-modal__explanation\">\n        { I18n.t('providers.locations.rented_out.when_rented_out', { site: siteName }) }\n      </div>\n\n      <div className=\"deactivate-location-modal__location-address\">\n        { address }\n      </div>\n\n      { loading && !error && <FileLoader /> }\n\n      <div className={`provider-modal__button ${loading ? 'inactive' : ''}`}\n           onClick={markAsRentedOut}>\n        { I18n.t('parking.parking_lot.deactivate') }\n      </div>\n\n    </ProviderModal>\n  )\n}\n\n\nexport default RentedOutModal;\n","import React from 'react';\nimport { Link } from \"react-router-dom\";\n\nimport ReportSuccessImg from \"../../../src/images/provider/report-success.svg\";\nimport GoogleReview from \"../../../src/images/provider/google_review.svg\";\nimport ProviderModal from \"./ProviderModal\";\n\nimport './ReportSuccessModal.sass';\n\n\nconst ReportSuccessModal = ({ currentLocale, showModal, siteKey }) => {\n\n  const dkLink = \"https://g.page/r/CVM8OALD8rgjEBM/review\";\n  const globalLink = \"https://www.google.com/maps/place/MatchOffice/@55.6986904,12.5340955,17z/data=!3m1!4b1!4m6!3m5!1s0x4652525ed39a61c9:0xc9ba564896d79bb6!8m2!3d55.6986904!4d12.5340955!16s%2Fg%2F1hhh_sq5_\"\n  const back_url = `${currentLocale}/new_providers`;\n\n\n  const handleCloseInfoForm = () => window.location.href = back_url;\n\n  return (\n    <ProviderModal modalClass=\"report-success-modal\"\n                   showModal={showModal}\n                   handleClose={handleCloseInfoForm}\n                   hideCloseBtn={false}>\n\n        <img src={ReportSuccessImg} alt=\"report-success\" className=\"lazyload\" data-sizes=\"auto\" width={147} />\n\n        <h2>\n          { I18n.t(\"providers.leases.success.heading\") }\n        </h2>\n\n        <p className=\"report-success-modal__thank-you-text\">\n          { I18n.t(\"providers.leases.success.text_first\") }\n        </p>\n\n        <p className=\"report-success-modal__review-text\">\n          { I18n.t(\"providers.leases.success.review.text_first\") }\n        </p>\n\n        <a href={siteKey === 'dk' ? dkLink : globalLink} target=\"_blank\">\n          { I18n.t(\"providers.leases.success.review.text_second\") }\n        </a>\n\n        <a className=\"report-success-modal__logo-link\" href={siteKey === 'dk' ? dkLink : globalLink} target=\"_blank\">\n          <img className=\"report-success-modal__logo-image\" src={GoogleReview} alt=\"some-logo\"/>\n        </a>\n\n        <Link to={back_url} className=\"report-success-modal__dashboard-btn\">\n          { I18n.t(\"providers.leases.success.review.text_dashboard_button\") }\n        </Link>\n\n    </ProviderModal>\n  )\n};\n\n\nexport default ReportSuccessModal;\n","import React from 'react';\n\nimport ProviderModal from \"./ProviderModal\";\n\nimport './SecondaryKindsInfoModal.sass';\n\n\nconst SecondaryKindsInfoModal = ({ handleCancel, handleClose, showModal }) => {\n\n  return (\n    <ProviderModal modalClass=\"secondary-kinds-info-modal\"\n                   showModal={showModal}\n                   handleClose={handleClose}\n                   hideCloseBtn={false}>\n\n      <h3>{ I18n.t('provider.provider.form.economy.extra_category_modal.title') }</h3>\n\n      <p className=\"secondary-kinds-info-modal__description\">\n        { I18n.t('provider.provider.form.economy.extra_category_modal.description') }\n      </p>\n\n      <div className=\"secondary-kinds-info-modal__pricing-list\">\n        <div className=\"secondary-kinds-info-modal__pricing-list-headline\">\n          { I18n.t('provider.provider.form.economy.extra_category_modal.pricing_info') }:\n        </div>\n\n        <div className=\"secondary-kinds-info-modal__pricing-list-item\">\n          <div className=\"secondary-kinds-info-modal__pricing-list-item-category\">\n            1 { I18n.t('generic.extra_category').one }:\n          </div>\n          <div className=\"secondary-kinds-info-modal__pricing-list-item-price\">\n            + 40% { I18n.t('provider.provider.form.economy.extra_category_modal.extra_payment') }\n          </div>\n        </div>\n\n        <div className=\"secondary-kinds-info-modal__pricing-list-item\">\n          <div className=\"secondary-kinds-info-modal__pricing-list-item-category\">\n            2 { I18n.t('generic.extra_category').other }:\n          </div>\n          <div className=\"secondary-kinds-info-modal__pricing-list-item-price\">\n            + 110% { I18n.t('provider.provider.form.economy.extra_category_modal.extra_payment') }\n          </div>\n        </div>\n\n        <div className=\"secondary-kinds-info-modal__pricing-list-item\">\n          <div className=\"secondary-kinds-info-modal__pricing-list-item-category\">\n            3 { I18n.t('generic.extra_category').other }:\n          </div>\n          <div className=\"secondary-kinds-info-modal__pricing-list-item-price\">\n            + 180% { I18n.t('provider.provider.form.economy.extra_category_modal.extra_payment') }\n          </div>\n        </div>\n\n        <div className=\"secondary-kinds-info-modal__pricing-list-item\">\n          <div className=\"secondary-kinds-info-modal__pricing-list-item-category\">\n            4 { I18n.t('generic.extra_category').other }:\n          </div>\n          <div className=\"secondary-kinds-info-modal__pricing-list-item-price\">\n            + 250% { I18n.t('provider.provider.form.economy.extra_category_modal.extra_payment') }\n          </div>\n        </div>\n      </div>\n\n      <div className=\"secondary-kinds-info-modal__buttons\">\n        <div className=\"secondary-kinds-info-modal__button secondary-kinds-info-modal__button--cancel\" onClick={handleCancel}>\n          { I18n.t('search_agent.modal.cancel') }\n        </div>\n        <div className=\"secondary-kinds-info-modal__button\" onClick={handleClose}>\n          { I18n.t('providers.providers.provider_deals_notifications.accept') }\n        </div>\n      </div>\n    </ProviderModal>\n\n  )\n};\n\n\nexport default SecondaryKindsInfoModal;\n","import React, { Fragment, useEffect, useState } from 'react';\nimport { useLazyQuery } from \"@apollo/client\";\n\nimport ReportImg from \"../../../src/images/provider/report.svg\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport ProviderModal from \"../Modals/ProviderModal\";\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport { GET_TOKENIZED_FILE } from \"../ApolloClient/queries\";\nimport { FileLoader } from \"../Loaders\";\n\nimport './TokenizedFileModalLink.sass';\n\n\nconst TokenizedFileModalLink = ({ dataName, fileName, linkLabel, query, variables }) => {\n\n  const [modalIsOpen, setModalIsOpen] = useState(false);\n  const [tokenizedFileUrl, setTokenizedFileUrl] = useState(null);\n  const [pollInterval, setPollInterval] = useState(0);\n  const [xlsFileToken, setXlsFileToken] = useState(null);\n\n  const [getTokenizedFile, { loading, error }] = useLazyQuery(GET_TOKENIZED_FILE, {\n    pollInterval,\n    onCompleted: data => {\n      if (data.tokenizedFile && data.tokenizedFile.fileUrl) {\n        setTokenizedFileUrl(data.tokenizedFile.fileUrl);\n        setPollInterval(0);\n      }\n    },\n  });\n\n  const [getXlsFileToken, { error: xlsFileTokenError, loading: xlsFileTokenLoading }] = useLazyQuery(query, {\n    fetchPolicy: 'no-cache',\n    onCompleted: data => setXlsFileToken(data[dataName][fileName || 'xlsFileToken']),\n  });\n\n  useEffect(() => {\n    xlsFileToken && getXls();\n  }, [xlsFileToken]);\n\n\n  const getXls = () => {\n    setTokenizedFileUrl(null);\n    setPollInterval(2000);\n    getTokenizedFile({ variables: { token: xlsFileToken }})\n      .catch(error => console.log(error));\n  };\n\n  const handleLinkClick = () => {\n    getXlsFileToken({ variables });\n    setModalIsOpen(true);\n  };\n\n  const handleCloseModal = () => {\n    setModalIsOpen(false);\n    setPollInterval(0);\n    setXlsFileToken(null);\n    setTokenizedFileUrl(null);\n  };\n\n\n  return (\n    <div className=\"tokenized-file-link-modal\">\n\n      <div onClick={handleLinkClick} className=\"tokenized-file-link-modal__link\">\n        <SvgIco name=\"download_file\" size={18} />\n        { linkLabel || I18n.t('providers.orders.list.download_xls') }\n      </div>\n\n      <ProviderModal modalClass=\"loading-file-modal\"\n                     handleClose={handleCloseModal}\n                     showModal={modalIsOpen}>\n\n        { (error || xlsFileTokenError) && <ModalNetworkError /> }\n\n        <img src={ReportImg} alt=\"Load Excel\" height={223} width={184} />\n\n        { tokenizedFileUrl && !loading && !xlsFileTokenLoading && !error\n          ?\n            <Fragment>\n              <div className=\"loading-file-modal__headline\">\n                { I18n.t('provider.tokenized_file.report_ready') }\n              </div>\n              <p>{ I18n.t('provider.tokenized_file.download') }</p>\n              <a className=\"loading-file-modal__excel-link\" href={tokenizedFileUrl}>\n                { I18n.t('providers.tokenized_file.show.download_link') }\n              </a>\n            </Fragment>\n          :\n            <Fragment>\n              <div className=\"loading-file-modal__headline\">\n                { I18n.t('provider.tokenized_file.preparing_report') }\n              </div>\n              <p>{ I18n.t('views.locations.shared.cart.please_wait') }</p>\n              <FileLoader />\n            </Fragment>\n        }\n      </ProviderModal>\n    </div>\n  )\n}\n\nexport default TokenizedFileModalLink;\n","import React, { useEffect, useState, Fragment } from 'react';\nimport { useMutation, useLazyQuery } from '@apollo/client';\nimport ImageGallery from \"react-image-gallery\";\nimport \"react-image-gallery/styles/scss/image-gallery.scss\";\n\nimport RadioButtons from '../../SharedComponents/Forms/RadioButtons';\nimport Checkbox from \"../../SharedComponents/Forms/CheckBox\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { GET_CONTACT_INFO } from '../ApolloClient/queries';\nimport { ADD_PAID_SERVICE_ORDER } from \"../ApolloClient/mutations\";\nimport ModalNetworkError from \"../Errors/ModalNetworkError\";\nimport InfoMessagePopup from \"../Popups/InfoMessagePopup\";\nimport ProviderModal from './ProviderModal';\n\nimport './VisualsProposalsForm.sass';\n\n\nconst VisualsProposalsForm = ({ currentContactId,\n                                handleClose,\n                                locationAddress,\n                                locationId,\n                                showModal,\n                              }) => {\n\n  const [showInfoPopup, setShowInfoPopup] = useState(false);\n  const [contactInfo, setContactInfo] = useState(null);\n  const [formSent, setFormSent] = useState(false);\n  const [toggleInfoPopup, setToggleInfoPopup] = useState(false);\n  const [selectedProposals, setSelectedProposals] = useState({\n    photo: [],\n    floorPlan: 0,\n    virtualTour: 0,\n    video: 0,\n    comment: '',\n    locationId,\n  });\n\n\n  const [getContactInfo, { error: contactError }] = useLazyQuery(GET_CONTACT_INFO, {\n    onCompleted: data => data && data.contact && setContactInfo(data.contact),\n  });\n\n\n  const [addPaidServiceOrder, { loading, error }] = useMutation(ADD_PAID_SERVICE_ORDER, {\n    variables: {\n      ...selectedProposals,\n      floorPlan: [selectedProposals.floorPlan],\n      virtualTour: [selectedProposals.virtualTour],\n      video: [selectedProposals.video]\n    },\n    onCompleted: (data) => {\n      const { errors } = data.addPaidServiceOrder;\n\n      !errors && setFormSent(true);\n    },\n  });\n\n\n  useEffect(() => {\n    if (showModal) {\n      !contactInfo && getContactInfo({ variables: { id: currentContactId } });\n    } else {\n      setSelectedProposals({\n        photo: [],\n        floorPlan: 0,\n        virtualTour: 0,\n        video: 0,\n        comment: '',\n        locationId\n      });\n      formSent && setFormSent(false);\n    }\n  }, [showModal]);\n\n\n  useEffect(() => {\n    error && window.scroll(0, 0);\n  }, [error]);\n\n\n  const generateOptions = (category) =>\n    proposalsData[category]\n      .map((option) => ({\n        checked: selectedProposals[category] === option.id,\n        label: (\n          <span className=\"visuals-form__label\">\n            {option.label}\n            <span className=\"visuals-form__price\">{option.price}</span>\n          </span>\n        ),\n        value: option.id,\n      }))\n      .concat({\n        checked: selectedProposals[category] === 0,\n        label: I18n.t('provider.form.visuals_form.proposals.refuse_option_label'),\n        value: 0,\n      });\n\n\n  const handleOptionSelect = (value, category) => {\n    setSelectedProposals((prevState) => ({\n      ...prevState,\n      [category]: value,\n    }));\n\n    resetInfoPopup();\n  };\n\n\n  const handleCheckboxSelect = (name, optionId) => {\n    const value = Number(optionId);\n    const selected = [ ...selectedProposals[name] ];\n    const optionIndex = selected.indexOf(value);\n\n    if (optionIndex >= 0) {\n      selected.splice(optionIndex, 1);\n      setShowInfoPopup(false);\n    } else {\n      selected.push(value);\n      resetInfoPopup();\n    }\n\n    setSelectedProposals((prevState) => ({ ...prevState, [name]: selected }));\n  };\n\n\n  const resetInfoPopup = () => {\n    if (showInfoPopup) {\n      setToggleInfoPopup(true);\n    } else {\n      setShowInfoPopup(true);\n    }\n  }\n\n\n  const setComment = (comment) =>\n    setSelectedProposals((prevState) => ({\n      ...prevState,\n      comment,\n    }));\n\n\n  const RadioGroup = ({ category }) => (\n    <div className=\"visuals-form__radio-group\">\n      <RadioButtons\n        handleChange={(value) => handleOptionSelect(value, category)}\n        name={`${category}Order`}\n        options={generateOptions(category)}\n      />\n    </div>\n  );\n\n\n  const CheckboxGroup = ({ options, name }) => {\n    return (\n      <div className=\"visuals-form__checkbox-group\">\n        { options.map(option =>\n          <div className=\"visuals-form__checkbox-wrapper\" key={`option-${option.id}`}>\n            <Checkbox\n              field=\"photo\"\n              handleChange={(e) => handleCheckboxSelect(name, e.target.id)}\n              label={\n                <span className=\"visuals-form__label\">\n                  { option.label }\n                  <span className=\"visuals-form__price\">{ option.price }</span>\n                </span>}\n              name={`${option.id}`}\n              value={selectedProposals[name] && selectedProposals[name].includes(option.id)} />\n          </div>\n        )}\n      </div>\n    )\n  };\n\n\n  const renderRightNav = (onClick) =>\n    <div\n      className='image-gallery-custom-right-nav'\n      onClick={onClick} >\n      <SvgIco name=\"arrow_forward\" size={24} />\n    </div>;\n\n\n  const renderLeftNav = (onClick) =>\n    <div\n      className='image-gallery-custom-left-nav'\n      onClick={onClick} >\n      <SvgIco name=\"arrow-back\" size={24} />\n    </div>;\n\n\n  const optionsSelected = React.useMemo(\n    () => {\n      if ((selectedProposals.photo && selectedProposals.photo.length) || (selectedProposals.floorPlan !== 0)) {\n        return true;\n      } else {\n        return false;\n      }\n    },\n    [selectedProposals.photo, selectedProposals.floorPlan],\n  );\n\n\n  const selectedOption = (name, id) => {\n    const optionData = proposalsData[name].find(data => data.id === id);\n\n    return optionData\n      ?\n        <div className=\"visuals-form__order-summary-option\" key={`selected-floor-plan-${id}`}>\n          <div className=\"visuals-form__order-summary-option-label\">\n            { optionData.label }\n          </div>\n          <div className=\"visuals-form__order-summary-option-value\">\n            { optionData.price }\n          </div>\n        </div>\n      : null;\n  };\n\n\n  const infoPopupMessage =\n    <div className=\"visuals-form__info-message-body\">\n      <div className=\"visuals-form__info-message-left\">\n        Vare tilføjet\n      </div>\n      <a className=\"visuals-form__info-message-right\" href=\"#summary-wrapper\" onClick={() => setShowInfoPopup(false)}>\n        { I18n.t('generic.buy_now') }\n        <SvgIco name=\"arrow_outward\" size={24} />\n      </a>\n    </div>\n\n\n  return (\n    <div>\n\n      <div className={`visuals-form__info-message-wrapper ${showInfoPopup && !formSent ? 'visible' : ''}`}>\n        <InfoMessagePopup\n          children={infoPopupMessage}\n          customDuration={6000}\n          handleClose={() => setShowInfoPopup(false)}\n          toggle={toggleInfoPopup}\n          toggleCallback={() => setToggleInfoPopup(false)}\n          visible={showInfoPopup}\n        />\n      </div>\n\n      <ProviderModal\n        handleClose={handleClose}\n        modalClass={`visuals-form ${ formSent ? 'form-sent' : '' }`}\n        scrollable={true}\n        showModal={showModal}\n      >\n        <div className=\"visuals-form__close-btn\" onClick={handleClose}>\n          <SvgIco name=\"close\" size={24} />\n        </div>\n\n        <div className=\"visuals-form__wrapper\">\n\n          { error && <ModalNetworkError /> }\n\n          { formSent\n            ?\n            <Fragment>\n              <h3 className=\"visuals-form__headline\">\n                { I18n.t('signup.teaser.modal_close.thank-header') }\n              </h3>\n\n              <div className=\"visuals-form__thank-u-text\">\n                { I18n.t('signup.teaser.modal_close.thank-text') }\n              </div>\n            </Fragment>\n            :\n            <Fragment>\n              <h3 className=\"visuals-form__headline\">\n                Inspirér lejere med en professionel fotopakke\n              </h3>\n\n              <p className=\"visuals-form__subheader\">\n                { I18n.t('provider.form.visuals_form.subheader') }\n              </p>\n\n              <h3>\n                { I18n.t('provider.form.visuals_form.photo_headline') }\n              </h3>\n\n              <CheckboxGroup name=\"photo\" options={proposalsData.photo}/>\n\n              <div className=\"visuals-form__example-sub\">\n                Udvalgte eksempler\n              </div>\n\n              <div className=\"visuals-form__gallery-wrapper images\">\n                <ImageGallery\n                  fullscreen={false}\n                  infinite={true}\n                  items={images.photos}\n                  renderLeftNav={renderLeftNav}\n                  renderRightNav={renderRightNav}\n                  showFullscreenButton={false}\n                  showPlayButton={false}\n                  showThumbnails={true}\n                />\n              </div>\n\n              <h3>\n                { I18n.t('lb_showroom.detailed.asset_box.new_floor-plans_button') }\n              </h3>\n\n              <RadioGroup category=\"floorPlan\"/>\n\n              <div className=\"visuals-form__example-sub\">\n                Udvalgte eksempler\n              </div>\n\n              <div className=\"visuals-form__gallery-wrapper floor-plans\">\n                <ImageGallery\n                  fullscreen={false}\n                  infinite={true}\n                  items={images.floorPlans}\n                  renderLeftNav={renderLeftNav}\n                  renderRightNav={renderRightNav}\n                  showFullscreenButton={false}\n                  showPlayButton={false}\n                  showThumbnails={true}\n                />\n              </div>\n\n              <div className=\"visuals-form__contact-info\">\n\n                <div className=\"visuals-form__contact-form-header\">\n                  { I18n.t('generic.providers.sidebar.contacts') }\n                </div>\n\n                <div className=\"visuals-form__contact-info-row\">\n                  <div className=\"visuals-form__contact-info-label\">\n                    { I18n.t('provider.form.visuals_form.address_label') }:\n                  </div>\n                  <div className=\"visuals-form__contact-info-value\">\n                    { locationAddress }\n                  </div>\n                </div>\n\n                <div className=\"visuals-form__contact-info-row\">\n                  <div className=\"visuals-form__contact-info-label\">\n                    { I18n.t('lb_showroom.detailed.provider_box.contact') }:\n                  </div>\n                  <div className=\"visuals-form__contact-info-value\">\n                    { contactInfo && contactInfo.name }\n                  </div>\n                </div>\n\n                <div className=\"visuals-form__contact-info-row\">\n                  <div className=\"visuals-form__contact-info-label\">\n                    { I18n.t('generic.email') }:\n                  </div>\n                  <div className=\"visuals-form__contact-info-value\">\n                    { contactInfo && contactInfo.email }\n                  </div>\n                </div>\n\n                <div className=\"visuals-form__contact-info-row\">\n                  <div className=\"visuals-form__contact-info-label\">\n                    { I18n.t('activemodel.attributes.provider_service_request.phone_number_order_form') }\n                    :\n                  </div>\n                  <div className=\"visuals-form__contact-info-value\">\n                    { contactInfo && contactInfo.phoneNumber }\n                  </div>\n                </div>\n              </div>\n\n              { optionsSelected &&\n                <div className=\"visuals-form__order-summary-wrapper\" id=\"summary-wrapper\">\n                  <div className=\"visuals-form__contact-form-header\">\n                    Min bestilling\n                  </div>\n\n                  <div className=\"visuals-form__order-summary-option\" key=\"selected-floor-plan-default\">\n                    <div className=\"visuals-form__order-summary-option-label\">\n                      Opstartsgebyr pr. adresse\n                    </div>\n                    <div className=\"visuals-form__order-summary-option-value\">\n                      1.000 DKK\n                    </div>\n                  </div>\n\n                  <div className=\"visuals-form__order-summary-options\">\n                    { !!(selectedProposals.photo && selectedProposals.photo.length) && selectedProposals.photo.map(option => selectedOption('photo', option))}\n                    { !!(selectedProposals.floorPlan && selectedProposals.floorPlan !== 0) && selectedOption('floorPlan', selectedProposals.floorPlan) }\n                  </div>\n\n                  <div className=\"visuals-form__contact-info-row visuals-form__contact-info-row--column\">\n                    <div className=\"visuals-form__comment-headline\">\n                      { I18n.t('activemodel.attributes.service_request.comment') }\n                    </div>\n\n                    <textarea\n                      id=\"comment\"\n                      name=\"comment\"\n                      onChange={e => setComment(e.target.value)}\n                      value={selectedProposals.comment}\n                    />\n                  </div>\n\n                  <div\n                    className={`provider-modal__button ${loading ? 'inactive' : ''}`}\n                    onClick={() => addPaidServiceOrder()}>\n                    { I18n.t('generic.buy_now') }\n                  </div>\n\n                </div>\n              }\n\n              <div className=\"visuals-form__bottom-info\">\n                <div dangerouslySetInnerHTML={{__html: I18n.t('provider.form.visuals_form.bottom.paragraph_3')}}/>\n                <p>{ I18n.t('provider.form.visuals_form.bottom.paragraph_1') }</p>\n                <p>{ I18n.t('provider.form.visuals_form.bottom.paragraph_2') }</p>\n              </div>\n\n            </Fragment>\n          }\n        </div>\n      </ProviderModal>\n    </div>\n\n  );\n};\n\nexport default VisualsProposalsForm;\n\nconst proposalsData = {\n  photo: [\n    {\n      id: 1,\n      label: I18n.t('provider.form.visuals_form.proposals.photo.first_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.photo.first_price'),\n    },\n    {\n      id: 2,\n      label: I18n.t('provider.form.visuals_form.proposals.photo.second_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.photo.second_price'),\n    },\n    {\n      id: 3,\n      label: I18n.t('provider.form.visuals_form.proposals.photo.third_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.photo.third_price'),\n    },\n  ],\n  floorPlan: [\n    {\n      id: 1,\n      label: I18n.t('provider.form.visuals_form.proposals.floor_plan.first_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.floor_plan.first_price'),\n    },\n    {\n      id: 2,\n      label: I18n.t('provider.form.visuals_form.proposals.floor_plan.second_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.floor_plan.second_price'),\n    },\n    {\n      id: 3,\n      label: I18n.t('provider.form.visuals_form.proposals.floor_plan.third_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.floor_plan.third_price'),\n    },\n    {\n      id: 4,\n      label: I18n.t('provider.form.visuals_form.proposals.floor_plan.fourth_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.floor_plan.fourth_price'),\n    },\n  ],\n  virtualTour: [\n    {\n      id: 1,\n      label: I18n.t('provider.form.visuals_form.proposals.virtual_tour.first_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.virtual_tour.first_price'),\n    },\n    {\n      id: 2,\n      label: I18n.t('provider.form.visuals_form.proposals.virtual_tour.second_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.virtual_tour.second_price'),\n    },\n  ],\n  video: [\n    {\n      id: 1,\n      label: I18n.t('provider.form.visuals_form.proposals.video.first_label'),\n      price: I18n.t('provider.form.visuals_form.proposals.video.first_price'),\n    },\n  ],\n};\n\nconst images = {\n  photos: [\n    {\n      original: require('../../../src/images/provider/visual_proposals/images/1.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/images/1.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/images/2.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/images/2.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/images/3.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/images/3.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/images/4.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/images/4.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/images/5.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/images/5.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/images/6.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/images/6.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/images/7.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/images/7.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/images/8.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/images/8.webp'),\n    },\n  ],\n  floorPlans: [\n    {\n      original: require('../../../src/images/provider/visual_proposals/floor_plans/1.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/floor_plans/1.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/floor_plans/2.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/floor_plans/2.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/floor_plans/3.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/floor_plans/3.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/floor_plans/4.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/floor_plans/4.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/floor_plans/5.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/floor_plans/5.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/floor_plans/6.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/floor_plans/6.webp'),\n    },\n    {\n      original: require('../../../src/images/provider/visual_proposals/floor_plans/7.webp'),\n      thumbnail: require('../../../src/images/provider/visual_proposals/floor_plans/7.webp'),\n    },\n  ]\n};\n","import React, { Fragment } from 'react';\nimport { Link } from 'react-router-dom';\n\nconst MutableLink = ({ showAsLink, url, children, linkClass, handleClick, stepLink, currentStepRef }) => {\n\n  if (showAsLink) {\n    return (\n      <Link to={url}\n            className={linkClass}\n            onClick={\n              handleClick\n              ? (e) => {\n                  e.preventDefault();\n                  currentStepRef && (currentStepRef.current.nextStep = stepLink);   // FIXME: make reusable\n                  handleClick(stepLink);\n                }\n              : null }\n      >\n        { children }\n      </Link>\n    )\n  } else {\n    return (\n      <Fragment>{ children }</Fragment>\n    )\n  }\n}\n\nexport default MutableLink;\n","import React, { useEffect, useState } from 'react';\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './InfoMessagePopup.sass';\n\nlet timer;\n\n\nconst InfoMessagePopup = ({ children, customClass, customDuration, handleClose, message, toggle, toggleCallback, visible }) => {\n\n  const [animationClass, setAnimationClass] = useState('');\n\n  useEffect(() => {\n    setAnimationClass(visible ? 'fadein' : 'fadeout');\n    visible && (timer = setTimeout(() => handleClose(), customDuration || 3000));\n  }, [visible]);\n\n\n  useEffect(() => {\n    if (toggle) {\n      clearTimeout(timer);\n      timer = setTimeout(() => handleClose(), customDuration || 3000);\n      toggleCallback();\n    }\n  }, [toggle]);\n\n\n  const closePopup = () => {\n    clearTimeout(timer);\n    handleClose();\n  };\n\n\n  return (\n    <div className={`notification-popup ${animationClass} ${customClass || ''}`} role=\"button\">\n      <div className=\"notification-popup__close\" onClick={closePopup} role=\"button\">\n        <SvgIco name=\"close\" size={20} />\n      </div>\n      { children || <div dangerouslySetInnerHTML={{ __html: message }} /> }\n    </div>\n  )\n}\n\nexport default InfoMessagePopup;\n","import React, { useRef, useState } from 'react';\nimport ReactTooltip from \"react-tooltip\";\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './TooltipPopup.sass';\n\n\nconst TooltipPopup = ({ borderColor,\n                        children,\n                        className,\n                        content,\n                        height,\n                        hideBorder,\n                        icon,\n                        id,\n                        marginRight,\n                        marginLeft,\n                        onShow,\n                        offset,\n                        place }) => {\n\n  const [tooltipVisible, setTooltipVisible] = useState(false);\n  const tooltipPopupWrapperRef = useRef();\n  const tooltipPopupRef = useRef();\n\n\n  const handleTooltip = () => {\n    tooltipVisible ? ReactTooltip.hide(tooltipPopupRef.current) : ReactTooltip.show(tooltipPopupRef.current);\n    setTooltipVisible(!tooltipVisible);\n  };\n\n\n  const handleScoreTooltip = (tooltipVisible) => {\n    tooltipVisible && window.addEventListener('click', handleClickOutsideTooltip);\n    onShow && onShow(() => ReactTooltip.hide(tooltipPopupRef.current));\n  };\n\n\n  const handleClickOutsideTooltip = (e) => {\n    if (tooltipPopupWrapperRef.current && !tooltipPopupWrapperRef.current.contains(e.target)) {\n      ReactTooltip.hide(tooltipPopupRef.current);\n      window.removeEventListener('click', handleClickOutsideTooltip);\n    }\n  };\n\n\n  return (\n    <div className={`tooltip-popup ${className}`}\n         ref={tooltipPopupWrapperRef}\n         style={{ height: height ? `${height}px` : '20px' }}>\n\n      <div className=\"tooltip-popup__tooltip\"\n           data-tip={content || children}\n           data-html={!!content}\n           ref={tooltipPopupRef}\n           data-class=\"provider-tooltip\"\n           data-for={id} />\n\n      <div className=\"tooltip-popup__icon\"\n           onClick={handleTooltip}\n           style={{\n           marginRight: marginRight ? `${marginRight}px` : '0',\n           marginLeft: marginLeft ? `${marginLeft}px` : '0',}}>\n        <SvgIco name={icon} size={height || 20} />\n      </div>\n\n      <ReactTooltip\n        afterHide={() => setTooltipVisible(false)}\n        afterShow={() => handleScoreTooltip(true)}\n        border={!hideBorder}\n        borderColor={borderColor || 'black'}\n        clickable={true}\n        effect='solid'\n        id={id}\n        offset={offset}\n        place={place || 'left'}\n        scrollHide={true}\n        type=\"light\"\n      >\n        { children }\n      </ReactTooltip>\n\n    </div>\n  )\n}\n\nexport default TooltipPopup;\n","import React, { useState } from 'react';\nimport { Link } from \"react-router-dom\";\nimport { useQuery } from \"@apollo/client\";\n\nimport lokalebasen_dk from '../../../src/images/logos/lokalebasen_dk.svg';\nimport matchoffice_generic from '../../../src/images/logos/matchoffice_generic.svg';\nimport { GET_STRIPE_INVOICES } from \"../ApolloClient/queries\";\nimport IframeModal from \"../Modals/IframeModal\";\n\nimport './index.sass';\n\n\nconst ProviderHeader = ({ currentLocale, siteKey, contractUrl }) => {\n\n  const [showInvoicesLink, setShowInvoicesLink] = useState(null);\n  const [modalIsActive, setModalIsActive] = useState(false);\n  const [url, setUrl] = useState(false);\n\n  const getLogo = () => siteKey === 'dk' ? lokalebasen_dk : matchoffice_generic;\n\n  const {} = useQuery(GET_STRIPE_INVOICES, {\n    onCompleted: (data) => {\n      if (data && data.stripeInvoices.length) {\n        setShowInvoicesLink(true);\n      }\n    },\n  });\n\n  const handleShowModal = (url) => {\n    setUrl(url);\n    setModalIsActive(true);\n  };\n\n  const handleCloseModal = () => {\n    setModalIsActive(false);\n  };\n\n  return (\n    <div className=\"provider-header\" id=\"provider-header\">\n\n      <IframeModal modalClass=\"simple-cms-modal\"\n                   showModal={modalIsActive}\n                   handleClose={handleCloseModal}\n                   url={url}></IframeModal>\n\n      <a className=\"provider-header__logo-wrapper\" href=\"/\">\n        <img\n          className=\"logo lazyload\"\n          src={getLogo()}\n          data-sizes=\"auto\"\n          title={I18n.t('apps.lokalebasen_header.top.to_the_frontpage')}\n          alt={I18n.t('apps.lokalebasen_header.top.alt')}\n        />\n      </a>\n\n      <div className=\"provider-header__buttons-wrapper\">\n\n        <Link to={`${currentLocale}/new_providers/report_deal`} className=\"provider-header__button\">\n          <span>{ I18n.t('layouts.providers.contract.report_a_deal') }</span>\n        </Link>\n\n        <a className=\"provider-header__button\" onClick={() => handleShowModal(contractUrl)}>\n          <span>{ I18n.t('layouts.providers.contract.contract') }</span>\n        </a>\n\n        <Link to={`${currentLocale}/new_providers/settings/contact`} className=\"provider-header__button\">\n          <span>{ I18n.t(\"generic.contact_details\") }</span>\n        </Link>\n\n        { showInvoicesLink &&\n          <Link to={`${currentLocale}/new_providers/invoices`} className=\"provider-header__button provider-header__button--orange\">\n            <span>{ I18n.t(\"layouts.providers.contract.invoice_payments\") }</span>\n          </Link>\n        }\n\n      </div>\n\n    </div>\n  );\n}\n\nexport default ProviderHeader;\n","import React from 'react';\n\nimport './index.sass';\n\n\nconst ProviderInactive = ({ data }) => {\n\n  const { addressLine, companyName, contactInfoMail, contactInfoPhone, hotline, postalCode } = data;\n\n  return (\n    <div className=\"provider-inactive\">\n      <h2 dangerouslySetInnerHTML={{__html: I18n.t('providers.inactive_page.headline')}}/>\n      <p>{ I18n.t('providers.inactive_page.paragraph') }</p>\n      <div className=\"provider-inactive__contacts\">\n        <div className=\"provider-inactive__contacts-headline\">\n          { I18n.t('views.shared.contact_info') }\n        </div>\n        <div className=\"provider-inactive__contacts-line\">\n          { companyName }\n        </div>\n        <div className=\"provider-inactive__contacts-line\">\n          { addressLine }\n        </div>\n        <div className=\"provider-inactive__contacts-line\">\n          { postalCode }\n        </div>\n        <div className=\"provider-inactive__contacts-line email\">\n          { I18n.t('generic.email') }: <a href={\"mailTo:\" + contactInfoMail} >{ contactInfoMail }</a>\n        </div>\n        { contactInfoPhone &&\n          <div className=\"provider-inactive__contacts-line\">\n            { I18n.t('generic.phone') }: { contactInfoPhone }\n          </div>\n        }\n        { hotline &&\n          <div className=\"provider-inactive__contacts-line hotline\">\n            { I18n.t('generic.hotline') }: { hotline }\n          </div>\n        }\n      </div>\n    </div>\n  )\n}\n\nexport default ProviderInactive;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from '@apollo/client';\n\nimport NavigationButtons from '../LocationForm/NavigationButtons';\nimport ReportSuccessModal from '../Modals/ReportADealSuccess';\nimport { GET_CURRENCY } from '../ApolloClient/queries';\nimport DetailsReportForm from './DetailsReportForm';\n\nimport './Details.sass';\n\n\nfunction Details({ step,\n                   title,\n                   description,\n                   backButton,\n                   prevStep,\n                   submitHandler,\n                   showModal,\n                   siteName,\n                   locationId,\n                   schemaName,\n                   selectedLocationStatus,\n                   siteKey,\n                   providerId,\n                   providerOnAdvertisingStrategy,\n                   currentLocale }) {\n\n  const [currencyList, setCurrencyList] = useState([]);\n\n  const defaultCurrency = [\n    { value: '3', label: 'EUR' },\n    { value: '77', label: 'USD' },\n  ];\n\n  const { data } = useQuery(GET_CURRENCY, {\n    variables: { locationId }\n  });\n\n  useEffect(() => {\n    if (data) {\n      const currencyFormat = data.currencies.map((item) => ({\n        value: item.id,\n        label: item.name,\n      }));\n      setCurrencyList(currencyFormat);\n    } else {\n      setCurrencyList(defaultCurrency);\n    }\n  }, [data]);\n\n\n  return (\n    <div className=\"details-block\">\n      <ReportSuccessModal\n        currentLocale={currentLocale}\n        showModal={showModal}\n        siteKey={siteKey} />\n\n      <DetailsReportForm\n        currencyList={currencyList}\n        description={description}\n        locationId={locationId}\n        providerId={providerId}\n        providerOnAdvertisingStrategy={providerOnAdvertisingStrategy}\n        schemaName={schemaName}\n        selectedLocationStatus={selectedLocationStatus}\n        siteName={siteName}\n        step={step}\n        submitHandler={submitHandler}\n        title={title}\n      />\n\n      <div>\n        <NavigationButtons handleBack={backButton ? () => prevStep() : false} />\n      </div>\n    </div>\n  );\n}\n\nDetails.propTypes = {\n  step: PropTypes.number,\n  prevStep: PropTypes.func,\n  title: PropTypes.string,\n  description: PropTypes.string,\n  backButton: PropTypes.bool,\n  siteKey: PropTypes.string,\n  providerOnAdvertisingStrategy: PropTypes.bool,\n  siteName: PropTypes.string,\n  showModal: PropTypes.bool,\n  submitHandler: PropTypes.func,\n  locationId: PropTypes.string,\n};\n\nDetails.defaultProps = {\n  step: 1,\n  prevStep: () => true,\n  title: '',\n  description: '',\n  backButton: false,\n  siteKey: '',\n  providerOnAdvertisingStrategy: false,\n  siteName: '',\n  showModal: false,\n  submitHandler: () => true,\n  locationId: '',\n};\n\nexport default Details;\n","import React, { useState, useMemo } from 'react';\nimport { useMutation } from \"@apollo/client\";\nimport { withFormik } from 'formik';\nimport PropTypes from 'prop-types';\nimport Dropdown from 'react-dropdown';\nimport Yup from 'yup';\n\nimport { requiredFieldError } from '../../SharedComponents/Forms/ErrorMessages';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport { ADD_INCOMPLETE_DEAL_NOTIFICATION } from \"../ApolloClient/mutations\";\n\n\nfunction DetailsReportFormWrapper({ currencyList,\n                                    description,\n                                    errors,\n                                    handleBlur,\n                                    handleChange: formikHandleChange,\n                                    handleSubmit,\n                                    locationId,\n                                    providerId,\n                                    schemaName,\n                                    selectedLocationStatus,\n                                    setFieldValue,\n                                    siteName,\n                                    step,\n                                    title,\n                                    touched,\n                                    values,\n                                  }) {\n\n  const [isSubmited, setIsSubmited] = useState(false);\n  const [incompleteDealSent, setIncompleteDealSent] = useState(false);\n\n\n  const errorsArray = useMemo(\n    () => Object.keys(errors).filter((item) => touched[item] || isSubmited),\n    [errors, isSubmited, touched]\n  );\n\n  const [addIncompleteDealNotification] = useMutation(ADD_INCOMPLETE_DEAL_NOTIFICATION);\n\n\n  const handleChange = (e) => {\n    formikHandleChange(e);\n\n    if (locationId && !incompleteDealSent) {\n      setIncompleteDealSent(true);\n      addIncompleteDealNotification({\n        variables: { providerId: Number(providerId), locationId: Number(locationId) },\n      }).catch(error => console.log('Error', error));\n    }\n  };\n\n\n  return (\n    <div>\n      { errorsArray.length > 0 &&\n        <div className=\"validation-message-wrapper\">\n          <p>{ I18n.t('reports.providers_order_report.fix_these_errors') }</p>\n          <ul>\n            { errorsArray.map(item => <li className=\"validation-message\">{errors[item]}</li>)}\n          </ul>\n        </div>\n      }\n\n      <h3 className=\"details-block__title\">\n        { step }. {title}{' '}\n        <span className=\"details-block__title-description\">{ description }</span>\n      </h3>\n\n      <div className=\"deal-report\">\n        <form name=\"deal-report\" onSubmit={handleSubmit} noValidate>\n\n          { (schemaName === 'dk' || schemaName === 'default') &&\n            <div className=\"deal-report__line-wrapper\">\n\n              <p className=\"deal-report__label\">\n                { I18n.t('activerecord.attributes.lease.area_rented') }:{' '}\n              </p>\n\n              <div className=\"deal-report__input-wrapper\">\n                <input\n                  name=\"areaRented\"\n                  value={values.areaRented}\n                  type=\"number\"\n                  id=\"areaRented\"\n                  className={`deal-report__input ${ errorsArray.includes('areaRented') ? 'error' : ''} `}\n                  onChange={handleChange}\n                  onBlur={handleBlur}\n                />\n              </div>\n\n              { schemaName === 'dk' &&\n                <div>\n                  <div className=\"deal-report__checkbox-wrapper\">\n                    <label className=\"checkbox-label\" htmlFor=\"areaRentedDontKnow\">\n                      <input\n                        name=\"areaRentedDontKnow\"\n                        id=\"areaRentedDontKnow\"\n                        type=\"checkbox\"\n                        checked={values.areaRentedDontKnow}\n                        onChange={handleChange}\n                        onBlur={handleBlur}\n                      />\n\n                      <span className=\"checkmark\">\n                    <SvgIco name=\"check\" size={17} />\n                  </span>\n\n                      <div className=\"checkbox-label\">\n                        { I18n.t('activerecord.attributes.lease.currently_unknown') }\n                      </div>\n                    </label>\n                  </div>\n                </div>\n              }\n            </div>\n          }\n\n\n          { schemaName === 'default' &&\n            <div className=\"deal-report__line-wrapper\">\n\n              <p className=\"deal-report__label\">\n                { I18n.t('generic.number_of_desks') }:{' '}\n              </p>\n\n              <div className=\"deal-report__input-wrapper\">\n                <input\n                  name=\"numberOfDesks\"\n                  value={values.numberOfDesks}\n                  type=\"number\"\n                  id=\"numberOfDesks\"\n                  className={`deal-report__input ${ errorsArray.includes('areaRented') ? 'error' : ''} `}\n                  onChange={handleChange}\n                  onBlur={handleBlur}\n                />\n              </div>\n            </div>\n          }\n\n\n          <div className=\"deal-report__line-wrapper\">\n\n            <p className=\"deal-report__label\">\n              { schemaName === 'dk'\n                ? I18n.t('activerecord.attributes.deal.occupied_at')\n                : schemaName === 'meetingRoom'\n                ? I18n.t('report_deal.booking_date')\n                : I18n.t('report_deal.start_date')\n              }:{' '}\n            </p>\n\n            <div>\n              <input\n                name=\"occupiedAt\"\n                value={values.occupiedAt}\n                type=\"date\"\n                id=\"occupiedAt\"\n                className={`deal-report__input ${ errorsArray.includes('occupiedAt') ? 'error' : ''} `}\n                onChange={handleChange}\n                onBlur={handleBlur}\n                required\n              />\n            </div>\n\n            { schemaName === 'dk' &&\n              <div>\n                <div className=\"deal-report__checkbox-wrapper\">\n                  <label className=\"checkbox-label\" htmlFor=\"occupiedAtDontKnow\">\n                    <input\n                      name=\"occupiedAtDontKnow\"\n                      id=\"occupiedAtDontKnow\"\n                      type=\"checkbox\"\n                      checked={values.occupiedAtDontKnow}\n                      onChange={handleChange}\n                      onBlur={handleBlur}\n                    />\n\n                    <span className=\"checkmark\">\n                    <SvgIco name=\"check\" size={17} />\n                  </span>\n\n                    <div className=\"checkbox-label\">\n                      { I18n.t('activerecord.attributes.lease.currently_unknown') }\n                    </div>\n                  </label>\n                </div>\n              </div>\n            }\n          </div>\n\n\n          { (schemaName === 'default' || schemaName === 'virtualOffice') &&\n            <div className=\"deal-report__line-wrapper\">\n\n              <p className=\"deal-report__label\">\n                { I18n.t('report_deal.months_duration') }:{' '}\n              </p>\n\n              <div className=\"deal-report__input-wrapper\">\n                <input\n                  name=\"monthsCount\"\n                  value={values.monthsCount}\n                  type=\"number\"\n                  id=\"monthsCount\"\n                  className={`deal-report__input ${ errorsArray.includes('monthsCount') ? 'error' : ''} `}\n                  onChange={handleChange}\n                  onBlur={handleBlur}\n                />\n              </div>\n            </div>\n          }\n\n\n          { schemaName === 'dk' &&\n            <div className=\"deal-report__line-wrapper\">\n\n              <p className=\"deal-report__label\">\n                { I18n.t('activerecord.attributes.lease.expected_end') }:{' '}\n              </p>\n\n              <div>\n                <input\n                  name=\"expectedEnd\"\n                  type=\"date\"\n                  value={values.expectedEnd}\n                  id=\"expectedEnd\"\n                  className=\"deal-report__input\"\n                  onChange={handleChange}\n                  onBlur={handleBlur}\n                  required\n                />\n              </div>\n\n              <div>\n                <div className=\"deal-report__checkbox-wrapper\">\n                  <label className=\"checkbox-label\" htmlFor=\"expectedEndDontKnow\">\n                    <input\n                      name=\"expectedEndDontKnow\"\n                      id=\"expectedEndDontKnow\"\n                      type=\"checkbox\"\n                      checked={values.expectedEndDontKnow}\n                      onChange={handleChange}\n                      onBlur={handleBlur}\n                    />\n\n                    <span className=\"checkmark\">\n                    <SvgIco name=\"check\" size={17} />\n                  </span>\n\n                    <div className=\"checkbox-label\">\n                      { I18n.t('activerecord.attributes.lease.currently_unknown') }\n                    </div>\n                  </label>\n                </div>\n              </div>\n            </div>\n          }\n\n\n          <div className=\"deal-report__line-wrapper\">\n\n            { schemaName === 'meetingRoom'\n              ?\n                <p className=\"deal-report__label\">\n                  { I18n.t('generic.price') }:{' '}\n                </p>\n              :\n                <p className=\"deal-report__label\">\n                  { schemaName === 'dk'\n                    ? I18n.t('activerecord.attributes.deal.total_amount_rent_first_part')\n                    : I18n.t('generic.monthly_rent')\n                  }\n                  <br />{' '}\n                  <span className=\"deal-report__label-description\">\n                    { I18n.t('activerecord.attributes.deal.total_amount_rent_second_part') }:\n                  </span>\n                </p>\n            }\n\n            <div>\n              {schemaName === 'dk' || schemaName === 'meetingRoom'\n                ?\n                <input\n                  name=\"totalAmount\"\n                  value={values.totalAmount}\n                  id=\"totalAmount\"\n                  type=\"number\"\n                  className={`deal-report__input ${errorsArray.includes('totalAmount') ? 'error' : ''} `}\n                  onChange={handleChange}\n                  onBlur={handleBlur}\n                  required={schemaName === 'dk'}\n                />\n                :\n                <input\n                  name=\"monthlyRent\"\n                  value={values.monthlyRent}\n                  id=\"monthlyRent\"\n                  type=\"number\"\n                  className={`deal-report__input ${errorsArray.includes('monthlyRent') ? 'error' : ''} `}\n                  onChange={handleChange}\n                  onBlur={handleBlur}\n                />\n              }\n            </div>\n\n            { schemaName === 'dk' &&\n              <div>\n                <div className=\"deal-report__checkbox-wrapper\">\n                  <label className=\"checkbox-label\" htmlFor=\"totalAmountDontKnow\">\n                    <input\n                      name=\"totalAmountDontKnow\"\n                      id=\"totalAmountDontKnow\"\n                      type=\"checkbox\"\n                      checked={values.totalAmountDontKnow}\n                      onChange={handleChange}\n                      onBlur={handleBlur}\n                    />\n\n                    <span className=\"checkmark\">\n                    <SvgIco name=\"check\" size={17} />\n                  </span>\n\n                    <div className=\"checkbox-label\">\n                      { I18n.t('activerecord.attributes.lease.currently_unknown') }\n                    </div>\n                  </label>\n                </div>\n              </div>\n            }\n\n            { schemaName !== 'dk' &&\n              <div>\n                <Dropdown\n                  options={currencyList}\n                  onChange={(value) => setFieldValue('currencyId', value)}\n                  value={values.currencyId}\n                  arrowClosed={<SvgIco name=\"expand-more\" size={24} />}\n                  arrowOpen={<SvgIco name=\"expand-less\" size={24} />}\n                  controlClassName=\"currency-wrapper\"\n                />\n              </div>\n            }\n          </div>\n\n          { schemaName === 'dk' &&\n            <div className=\"deal-report__line-wrapper\">\n              <p className=\"deal-report__label\">\n                { I18n.t('layouts.lokalebasen_layout.localization_picker.choose_currency') }\n                :{' '}\n              </p>\n\n              <div>\n                <Dropdown\n                  options={currencyList}\n                  onChange={(value) => setFieldValue('currencyId', value)}\n                  value={values.currencyId}\n                  arrowClosed={<SvgIco name=\"expand-more\" size={24} />}\n                  arrowOpen={<SvgIco name=\"expand-less\" size={24} />}\n                  controlClassName=\"currency-wrapper\"\n                />\n              </div>\n            </div>\n          }\n\n\n          { (!selectedLocationStatus || selectedLocationStatus !== 'closed') &&\n            <div className=\"deal-report__line-wrapper\">\n              <div className=\"deal-report__checkbox-wrapper\">\n                <label className=\"checkbox-label\" htmlFor=\"deactivateLocation\">\n                  <input\n                    name=\"deactivateLocation\"\n                    type=\"checkbox\"\n                    checked={values.deactivateLocation}\n                    id=\"deactivateLocation\"\n                    onChange={handleChange}\n                    onBlur={handleBlur}\n                  />\n\n                  <span className=\"checkmark\">\n                    <SvgIco name=\"check\" size={17} />\n                  </span>\n\n                  <div className=\"checkbox-label deactivate-text\">\n                    { I18n.t('activerecord.attributes.lease.deactivate_location', { site_name: siteName })}\n                  </div>\n                </label>\n              </div>\n            </div>\n          }\n\n          <div className=\"row\">\n            <div className=\"col-md-6\">\n              <h3 className=\"deal-report__comment-title\">\n                4. {I18n.t('generic.comment')}\n              </h3>\n              <textarea\n                id=\"comment\"\n                name=\"comment\"\n                value={values.comment}\n                onChange={handleChange}\n                onBlur={handleBlur}\n                placeholder={\n                  schemaName === 'dk'\n                  ? I18n.t('reports.providers_order_report.add_comment_placeholder')\n                  : schemaName === 'meetingRoom'\n                  ? I18n.t('reports.providers_order_report.add_comment_meeting_room')\n                  : I18n.t('reports.providers_order_report.add_comment_default')\n                }\n              />\n\n              <div>\n                <button\n                  type=\"submit\"\n                  className=\"deal-report__approve\"\n                  onClick={() => setIsSubmited(true)}>\n                  { I18n.t('admin.provider_deals.provider_deal.approve') }\n                </button>\n              </div>\n            </div>\n          </div>\n        </form>\n      </div>\n    </div>\n  );\n};\n\n\nconst DetailsReportForm = withFormik(\n  {\n  enableReinitialize: true,\n  mapPropsToValues: ({ currencyList, providerOnAdvertisingStrategy, schemaName }) => ({\n    comment: '',\n    areaRentedDontKnow: false,\n    occupiedAtDontKnow: false,\n    expectedEndDontKnow: true,\n    totalAmountDontKnow: false,\n    deactivateLocation: false,\n    isNotDk: schemaName !== 'dk',\n    isDefault: schemaName === 'default',\n    currencyId: currencyList[0],\n    providerStrategy: providerOnAdvertisingStrategy,\n  }),\n\n  validationSchema: Yup.object().shape({\n    areaRentedDontKnow: Yup.boolean(),\n    occupiedAtDontKnow: Yup.boolean(),\n    expectedEndDontKnow: Yup.boolean(),\n    totalAmountDontKnow: Yup.boolean(),\n    deactivateLocation: Yup.boolean(),\n    providerStrategy: Yup.boolean(),\n    isNotDk: Yup.boolean(),\n    isDefault: Yup.boolean(),\n    areaRented: Yup.string()\n      .when(['areaRentedDontKnow', 'isNotDk', 'providerStrategy'], {\n        is: false,\n        then: Yup.string().required(requiredFieldError(I18n.t('providers.leases.new.area_rented_error'))),\n      })\n      .test('test', I18n.t('report_deal.error_required_fields_one_of'), function(value){\n        return !this.parent.isDefault || (!!this.parent.numberOfDesks || value);\n      }),\n    occupiedAt: Yup.date()\n      .when(['occupiedAtDontKnow', 'isNotDk', 'providerStrategy'], {\n        is: false,\n        then: Yup.date().required(requiredFieldError(I18n.t('providers.leases.new.occupied_rented_error'))),\n      }),\n    expectedEnd: Yup.date(),\n    totalAmount: Yup.string()\n      .when(['totalAmountDontKnow', 'isNotDk', 'providerStrategy'], {\n        is: false,\n        then: Yup.string().required(requiredFieldError(I18n.t('providers.leases.new.totalamout_rented_error'))),\n      }\n    ),\n    monthsCount: Yup.string(),\n    monthlyRent: Yup.string(),\n    numberOfDesks: Yup.string(),\n  }),\n\n  handleSubmit: (values, bag) => {\n    bag.props.submitHandler(values);\n  },\n\n  displayName: 'Report Deal Details',\n}\n)(DetailsReportFormWrapper);\n\n\n\n\nDetailsReportFormWrapper.propTypes = {\n  handleSubmit: PropTypes.func,\n  values: PropTypes.oneOfType([PropTypes.object]),\n  handleChange: PropTypes.func,\n  touched: PropTypes.bool,\n  handleBlur: PropTypes.func,\n  errors: PropTypes.oneOfType([PropTypes.array]),\n  title: PropTypes.string,\n  description: PropTypes.string,\n  siteName: PropTypes.string,\n  currencyList: PropTypes.oneOfType([PropTypes.array]),\n  setFieldValue: PropTypes.func,\n  step: PropTypes.number,\n};\n\nDetailsReportFormWrapper.defaultProps = {\n  handleSubmit: () => true,\n  values: {},\n  handleChange: () => true,\n  touched: false,\n  handleBlur: () => true,\n  errors: [],\n  title: '',\n  description: '',\n  siteName: '',\n  currencyList: [],\n  setFieldValue: () => true,\n  step: 1,\n};\n\nexport default DetailsReportForm;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Table from '../Table';\nimport NavigationButtons from '../LocationForm/NavigationButtons';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\nimport './ReaportDealTable.sass';\n\n\nfunction ReaportDealTable({\n  step,\n  title,\n  description,\n  data,\n  loading,\n  columns,\n  nextStep,\n  prevStep,\n  backButton,\n  changeSearchInput,\n  locations,\n  handleInput,\n  inputValue,\n  handleFilters,\n  hiddenColumns,\n  totalCount,\n  filtersData,\n  query,\n}) {\n\n  const [noneOrder, setNoneOrder] = useState(false);\n  const [noneLocation, setNoneLocation] = useState(false);\n\n  useEffect(() => {\n    inputValue && checkNoneRadio();\n  }, [inputValue]);\n\n  const { page, perPage } = filtersData;\n\n  const perPageOptions = [\n    { value: '5', label: '5' },\n    { value: '10', label: '10' },\n  ];\n\n  const setQueryValue = (searchValue) =>\n    locations\n      ? changeSearchInput(searchValue, true)\n      : changeSearchInput(searchValue);\n\n  const firstStep = step === 1;\n\n  const checkNoneRadio = () => {\n    firstStep ? setNoneOrder('none-order') : setNoneLocation('non-location');\n  };\n\n  const setFilters = (newFilters) =>\n    handleFilters(prevFilters => ({\n      ...prevFilters,\n      ...newFilters,\n    }));\n\n\n  return (\n    <div className=\"table-block\">\n      <h3 className=\"table-block__title\">\n        {step}.{title}\n        <span> ({description})</span>\n      </h3>\n\n      <div className=\"search-input-wrapper\">\n        <input\n          type=\"text\"\n          className=\"search-input\"\n          value={query}\n          placeholder={I18n.t('generic.search')}\n          onChange={(e) => setQueryValue(e.target.value)}\n          maxLength=\"256\"\n        />\n        <SvgIco className=\"search-icon\" name=\"search\" size={16} />\n      </div>\n\n      <Table\n        data={data}\n        columns={columns}\n        perPage={perPage}\n        perPageOptions={perPageOptions}\n        loading={loading}\n        currentPage={page}\n        hiddenColumns={hiddenColumns}\n        disableSortBy={true}\n        setPage={(page) => setFilters({ page })}\n        setPerPage={(perPage) => setFilters({ perPage, page: 1 })}\n        totalCount={totalCount}\n      />\n\n      <div className=\"table-block__company-input-wrapper\">\n        <div className=\"check-button\">\n          <input\n            type=\"radio\"\n            name={firstStep ? 'company-name' : 'address'}\n            id=\"none-above\"\n            value={firstStep ? noneOrder : noneLocation}\n            checked={\n              firstStep\n                ? noneOrder === 'none-order'\n                : noneLocation === 'non-location'\n            }\n            className=\"checkoption-input\"\n          />\n          <label\n            htmlFor=\"none-above\"\n            className=\"select-option\"\n            onClick={() => checkNoneRadio()}\n          >\n            <span className=\"option-checkmark\" />\n            { firstStep\n              ? I18n.t('providers.leases.new.step_1_none_label')\n              : I18n.t('providers.leases.new.step_2_none_label')\n            }\n          </label>\n        </div>\n\n        <div>\n          <input\n            type=\"text\"\n            className=\"table-block__company-name-input\"\n            value={inputValue}\n            placeholder={\n              firstStep\n                ? I18n.t('providers.leases.new.type_company_name')\n                : I18n.t('providers.leases.new.type_address_name')\n            }\n            onChange={(e) => handleInput(e.target.value)}\n            maxLength=\"256\"\n          />\n        </div>\n      </div>\n\n      <div>\n        <NavigationButtons\n          handleNext={() => nextStep()}\n          handleBack={backButton ? () => prevStep() : false}\n        />\n      </div>\n    </div>\n  );\n}\n\nReaportDealTable.propTypes = {\n  step: PropTypes.number,\n  nextStep: PropTypes.func,\n  prevStep: PropTypes.func,\n  title: PropTypes.string,\n  description: PropTypes.string,\n  data: PropTypes.oneOfType([PropTypes.array]),\n  handleInput: PropTypes.func,\n  locationQuery: PropTypes.string,\n  orderQuery: PropTypes.string,\n  setPage: PropTypes.func,\n  inputValue: PropTypes.string,\n  locations: PropTypes.bool,\n  changeSearchInput: PropTypes.func,\n  backButton: PropTypes.bool,\n  page: PropTypes.number,\n};\n\nReaportDealTable.defaultProps = {\n  step: 1,\n  nextStep: () => true,\n  prevStep: () => true,\n  title: '',\n  description: '',\n  data: [],\n  handleInput: () => true,\n  locationQuery: '',\n  orderQuery: '',\n  setPage: () => true,\n  inputValue: '',\n  locations: false,\n  changeSearchInput: () => true,\n  backButton: false,\n  page: 1,\n};\n\nexport default ReaportDealTable;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction ReportDealProgress({ steps, activeStep }) {\n  return (\n    <div className=\"progress-bar report-deal-progress-bar\">\n      <div className=\"progress-bar__background-line\" />\n\n      {steps.map((item, index) => (\n        <div\n          className={`progress-bar__step-wrapper ${\n            activeStep === index + 1 ? ' active' : ''\n          }`}\n          key={index}\n        >\n          <div className=\"progress-bar__step-number-wrapper\">\n            <div\n              className={`progress-bar__step-number ${\n                item.passed ? 'complete' : ''\n              }`}\n            >\n              {index + 1}\n            </div>\n          </div>\n\n          <div className=\"progress-bar__step-name\">{item.name}</div>\n        </div>\n      ))}\n    </div>\n  );\n}\n\nReportDealProgress.propTypes = {\n  steps: PropTypes.oneOfType([PropTypes.array]),\n  activeStep: PropTypes.number,\n};\n\nReportDealProgress.defaultProps = {\n  steps: [],\n  activeStep: 1,\n};\n\nexport default ReportDealProgress;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport ReaportDealTable from './ReaportDealTable';\nimport Details from './Details';\nimport { Context } from \"./index\";\n\nfunction ReportSteps() {\n\n  const {\n    clientPage,\n    currentLocale,\n    handleOtherClient,\n    handleOtherLocationAddress,\n    loadingLocations,\n    loadingOrders,\n    locationId,\n    locationsColumns,\n    locationsList,\n    locationsPage,\n    locationsTotalCount,\n    locationQuery,\n    orders,\n    ordersColumns,\n    ordersTotalCount,\n    orderQuery,\n    otherClient,\n    otherLocationAddress,\n    providerId,\n    providerOnAdvertisingStrategy,\n    schemaName,\n    showModal,\n    selectedLocationStatus,\n    setClientPage,\n    setLocationsPage,\n    siteKey,\n    siteName,\n    step,\n    submitHandler,\n    changeSearchInput,\n    nextStep,\n    prevStep,\n  } = useContext(Context);\n\n  const hideInternalIdentifierColumn = !locationsList.some(data => data.internalIdentifier);\n\n  const steps = () => {\n    switch (step) {\n      case 1:\n        return (\n          <ReaportDealTable\n            changeSearchInput={changeSearchInput}\n            columns={ordersColumns}\n            data={orders}\n            description={I18n.t('providers.leases.new.step_1_heading')}\n            filtersData={clientPage}\n            handleFilters={setClientPage}\n            handleInput={handleOtherClient}\n            inputValue={otherClient}\n            loading={loadingOrders}\n            nextStep={nextStep}\n            query={orderQuery}\n            step={step}\n            title={I18n.t('providers.providers.show.customers')}\n            totalCount={ordersTotalCount}\n          />\n        );\n      case 2:\n        return (\n          <ReaportDealTable\n            backButton\n            changeSearchInput={changeSearchInput}\n            columns={locationsColumns}\n            data={locationsList}\n            description={I18n.t('providers.leases.new.step_2_heading')}\n            filtersData={locationsPage}\n            handleFilters={setLocationsPage}\n            handleInput={handleOtherLocationAddress}\n            hiddenColumns={hideInternalIdentifierColumn ? ['internalIdentifier'] : null}\n            inputValue={otherLocationAddress}\n            loading={loadingLocations}\n            locations\n            nextStep={nextStep}\n            prevStep={prevStep}\n            query={locationQuery}\n            step={step}\n            title={I18n.t('generic.providers.sidebar.leases')}\n            totalCount={locationsTotalCount}\n          />\n        );\n      case 3:\n        return (\n          <Details\n            currentLocale={currentLocale}\n            step={step}\n            title={I18n.t('generic.details')}\n            description={I18n.t('providers.leases.new.enter_information')}\n            prevStep={prevStep}\n            submitHandler={submitHandler}\n            showModal={showModal}\n            siteName={siteName}\n            locationId={locationId}\n            schemaName={schemaName}\n            selectedLocationStatus={selectedLocationStatus}\n            siteKey={siteKey}\n            providerId={providerId}\n            providerOnAdvertisingStrategy={providerOnAdvertisingStrategy}\n            backButton\n          />\n        );\n      default:\n      // do nothing\n    }\n  };\n\n  return <div>{ steps() }</div>;\n}\n\nReportSteps.propTypes = {\n  siteKey: PropTypes.string,\n  siteName: PropTypes.string,\n  providerOnAdvertisingStrategy: PropTypes.bool,\n  step: PropTypes.number,\n  orders: PropTypes.oneOfType([PropTypes.array]),\n  locationsList: PropTypes.oneOfType([PropTypes.array]),\n  nextStep: PropTypes.func,\n  prevStep: PropTypes.func,\n  submitHandler: PropTypes.func,\n  changeSearchInput: PropTypes.func,\n  handleOtherClient: PropTypes.func,\n  clientPage: PropTypes.number,\n  locationId: PropTypes.string,\n  showModal: PropTypes.bool,\n  otherClient: PropTypes.string,\n  handleOtherLocationAddress: PropTypes.func,\n  otherLocationAddress: PropTypes.string,\n  orderQuery: PropTypes.string,\n  locationQuery: PropTypes.string,\n};\n\nReportSteps.defaultProps = {\n  siteKey: '',\n  siteName: '',\n  providerOnAdvertisingStrategy: false,\n  step: 1,\n  orders: [],\n  locationsList: [],\n  nextStep: () => true,\n  prevStep: () => true,\n  submitHandler: () => true,\n  changeSearchInput: () => true,\n  handleOtherClient: () => true,\n  clientPage: 1,\n  locationId: '',\n  showModal: false,\n  otherClient: '',\n  handleOtherLocationAddress: () => true,\n  otherLocationAddress: '',\n  orderQuery: '',\n  locationQuery: '',\n};\n\nexport default ReportSteps;\n","import React, { useEffect, useMemo, useState } from 'react';\nimport { createContext } from 'react';\nimport { useMutation, useLazyQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\n\nimport { GET_LOCATION_REPORT_DEAL, GET_LOCATIONS_REPORT_DEAL, GET_ORDER, GET_ORDERS_REPORT_DEAL } from '../ApolloClient/queries';\nimport { REPORT_DEAL } from '../ApolloClient/mutations';\nimport FormMessageBlock from '../../SharedComponents/FormMessages/FormMessageBlock';\nimport { useRouterQuery, useDebouncedEffect } from '../../SharedComponents/hooks';\nimport { ReportDealLocation, ReportDealOrders } from '../Table/Columns';\nimport ReportSteps from './ReportSteps';\nimport ReportDealProgress from './ReportDealProgress';\n\nimport './index.sass';\n\nexport const Context = createContext({});\n\n\nfunction ReportDeal({ currentLocale, siteName, siteKey, providerId, providerOnAdvertisingStrategy }) {\n  const query = useRouterQuery();\n\n  const [locations, setLocations] = useState([]);\n  const [orders, setOrdersList] = useState([]);\n  const [step, setStep] = useState(1);\n  const [clientId, setClientId] = useState(parseInt(query.get('client_id')) || null);\n  const [locationId, setLocationId] = useState(query.get('location_id') || null);\n  const [enquiryId, setEnquiryId] = useState(query.get('enquiry_id') || null);\n  const [orderId, setOrderId] = useState(query.get('order_id') || null);\n  const [orderQuery, setOrderQuery] = useState('');\n  const [locationQuery, setLocationQuery] = useState('');\n  const [formValues, setFormValues] = useState({});\n  const [preselectedOrder, setPreselectedOrder] = useState(null);\n  const [preselectedLocation, setPreselectedLocation] = useState(null);\n  const [poppedOrder, setPoppedOrder] = useState(null);\n  const [poppedLocation, setPoppedLocation] = useState(null);\n  const [ordersTotalCount, setOrdersTotalCount] = useState(0);\n  const [locationsTotalCount, setLocationsTotalCount] = useState(0);\n  const [clientPage, setClientPage] = useState({ page: 1, perPage: 5, query: '' });\n  const [locationsPage, setLocationsPage] = useState({ page: 1, perPage: 5, query: '' });\n  const [otherClient, setOtherClient] = useState('');\n  const [otherLocationAddress, setOtherLocationAddress] = useState('');\n  const [showModal, setShowModal] = useState(false);\n  const [selectedLocationStatus, setSelectedLocationStatus] = useState(null);\n  const [showNotification, setSnowNotification] = useState({\n    show: false,\n    message: '',\n    color: 'red',\n  });\n\n\n  const [steps, setSteps] = useState([\n    { name: I18n.t('providers.providers.show.customers'), passed: false },\n    { name: I18n.t('generic.providers.sidebar.leases'), passed: false },\n    { name: I18n.t('generic.details'), passed: false },\n  ]);\n\n\n  const [getLocations, { loading: loadingLocations }] = useLazyQuery(GET_LOCATIONS_REPORT_DEAL, {\n    onCompleted: (data) => {\n      if (data.locations) {\n        setLocationsTotalCount(data.locations.totalCount);\n\n        handleDataResponse({\n          data: data.locations.locations,\n          filters: locationsPage,\n          preselectedElem: preselectedLocation,\n          poppedElem: poppedLocation,\n          setData: setLocations,\n          setPoppedElem: setPoppedLocation,\n        });\n      }\n    },\n  });\n\n\n  const [getLocation, { loading: loadingLocation }] = useLazyQuery(GET_LOCATION_REPORT_DEAL, {\n    onCompleted: (data) => {\n      data.location && setPreselectedLocation(data.location);\n      getLocations({ variables: locationsPage })\n        .catch(error => console.log('Error', error))\n    },\n  });\n\n\n  const [getOrders, { loading: loadingOrders }] = useLazyQuery(GET_ORDERS_REPORT_DEAL, {\n    onCompleted: (data) => {\n      if (data.orders) {\n        setOrdersTotalCount(data.orders.totalCount);\n\n        handleDataResponse({\n          data: data.orders.orders,\n          filters: clientPage,\n          preselectedElem: preselectedOrder,\n          poppedElem: poppedOrder,\n          setData: setOrdersList,\n          setPoppedElem: setPoppedOrder,\n        });\n      }\n    },\n  });\n\n\n  const [getOrder, { loading: loadingOrder }] = useLazyQuery(GET_ORDER, {\n    onCompleted: (data) => {\n      data.order && setPreselectedOrder(data.order);\n      getOrders({ variables: { ...clientPage } })\n        .catch(error => console.log('Error', error))\n    },\n  });\n\n\n  const [reportDeal] = useMutation(REPORT_DEAL);\n\n\n  const schemaName = useMemo(\n    () => {\n      const locationKind = locationId && locations && locations.length && locations.find(location => location.id === locationId).kind;\n      return siteKey === 'dk'\n        ? 'dk'\n        : locationKind === 'virtual_office'\n        ? 'virtualOffice'\n        : locationKind === 'meeting_room'\n        ? 'meetingRoom'\n        : 'default';\n    },\n    [locationId]\n  );\n\n\n  useEffect(() => {\n    requestOrders();\n    requestLocations();\n  }, []);\n\n  useEffect(() => {\n    if (otherLocationAddress) {\n      setLocationId(null);\n      setSelectedLocationStatus(null);\n    }\n  }, [otherLocationAddress]);\n\n\n  useEffect(() => {\n    otherClient && setClientId(null);\n  }, [otherClient]);\n\n\n  useEffect(() => {\n    getOrders({ variables: { ...clientPage } })\n      .catch(error => console.log('Error', error));\n  }, [clientPage]);\n\n\n  useEffect(() => {\n    getLocations({ variables: { ...locationsPage } })\n      .catch(error => console.log('Error', error))\n  }, [locationsPage]);\n\n\n  useDebouncedEffect(() => setClientPage(prevFilters => ({ ...prevFilters, query: orderQuery, page: 1, test: 4 })), [orderQuery], 500);\n  useDebouncedEffect(() => setLocationsPage(prevFilters => ({ ...prevFilters, query: locationQuery, page: 1, test: 2 })), [locationQuery], 500);\n\n\n  const requestOrders = () => {\n    orderId\n      ? getOrder({ variables: { id: orderId } })\n      : getOrders({ variables: clientPage });\n  };\n\n\n  const requestLocations = () => {\n    locationId\n      ? getLocation({ variables: { id: locationId } })\n      : getLocations({ variables: locationsPage });\n  };\n\n\n  const handleDataResponse = ({ data, filters, preselectedElem, poppedElem, setData, setPoppedElem }) => {\n    let currentData = [ ...data ];\n\n    if (preselectedElem && !filters.query) {\n      const preselectedElemInTheList = currentData.some(elem => elem.id === preselectedElem.id);\n\n      if (filters.page === 1) {\n        preselectedElemInTheList\n          ? currentData = currentData.filter(elem => elem.id !== preselectedElem.id)\n          : setPoppedElem(currentData.pop());\n\n        currentData.unshift(preselectedElem);\n      } else {\n        preselectedElemInTheList\n        && poppedElem\n        && (currentData = currentData.map(elem => elem.id === preselectedElem.id ? poppedElem : elem));\n      }\n    }\n\n    setData(currentData);\n  };\n\n  const handleSelectLocation = (id, state) => {\n    setLocationId(id);\n    setSelectedLocationStatus(state);\n    otherLocationAddress && setOtherLocationAddress('');\n  };\n\n\n  const handleSelectClient = (id) => {\n    setClientId(id);\n    otherClient && setOtherClient('');\n  };\n\n\n  const handleCloseNotification = () =>\n    setSnowNotification({ show: false, message: '' });\n\n\n  const changeSearchInput = (searchValue, locations) =>\n    locations ? setLocationQuery(searchValue) : setOrderQuery(searchValue);\n\n\n  const ordersColumns = ReportDealOrders(\n    orders,\n    handleSelectClient,\n    clientId,\n    handleCloseNotification,\n  );\n\n  const locationsColumns = ReportDealLocation(\n    locations,\n    locationId,\n    handleSelectLocation\n  );\n\n\n  const nextStep = () => {\n    const passStep = (param) => {\n      const newArr = [...steps];\n      newArr[param].passed = true;\n      setSteps(newArr);\n      setStep(step + 1);\n      if (orderQuery) {\n        setOrderQuery('');\n        setClientPage(prevFilters => ({ ...prevFilters, query: '' }));\n      }\n      if (locationQuery) {\n        setLocationQuery('');\n        setLocationsPage(prevFilters => ({ ...prevFilters, query: '' }));\n      }\n    };\n\n    switch (step) {\n      case 1:\n        if (clientId || otherClient.length > 1) {\n          passStep(0);\n        } else {\n          setSnowNotification({\n            show: true,\n            message: I18n.t('providers.leases.new.client_error'),\n            color: 'red',\n          });\n        }\n        break;\n      case 2:\n        if (locationId || otherLocationAddress.length > 1) {\n          passStep(1);\n        } else {\n          setSnowNotification({\n            show: true,\n            message: I18n.t('providers.leases.new.address_error'),\n            color: 'red',\n          });\n        }\n        break;\n    }\n  };\n\n\n  const prevStep = () => {\n    setStep(step - 1);\n    if (orderQuery) {\n      setOrderQuery('');\n      setClientPage(prevFilters => ({ ...prevFilters, query: '' }));\n    }\n    if (locationQuery) {\n      setLocationQuery('');\n      setLocationsPage(prevFilters => ({ ...prevFilters, query: '' }));\n    }\n  };\n\n\n  const reportDealSubmit = (values) => {\n    // const { areaRented, areaRentedDontKnow } = values;\n    // const reportedLocation = locations.find(location => location.id === locationId);\n\n    setFormValues(values);\n    reportADeal(values);\n  };\n\n\n  const reportADeal = (values) => {\n    const {\n      areaRented,\n      areaRentedDontKnow,\n      comment,\n      currencyId,\n      deactivateLocation,\n      expectedEnd,\n      expectedEndDontKnow,\n      monthlyRent,\n      monthsCount,\n      numberOfDesks,\n      occupiedAt,\n      occupiedAtDontKnow,\n      totalAmount,\n      totalAmountDontKnow,\n    } = values;\n\n\n    const attrsGeneral = {\n      clientId: clientId ? parseInt(clientId) : null,\n      comment,\n      currencyId: currencyId ? parseInt(currencyId.value) : null,\n      deactivateLocation,\n      enquiryId: parseInt(query.get('enquiry_id')) || null,\n      locationId: locationId ? parseInt(locationId) : null,\n      occupiedAt,\n      otherClient,\n      otherLocationAddress,\n      providerDealId: parseInt(query.get('provider_deal_id')) || null,\n    };\n\n\n    const attrs = {\n      dk: {\n        ...attrsGeneral,\n        areaRented: areaRented === 0 || areaRented ? areaRented : null,\n        areaRentedDontKnow,\n        expectedEnd,\n        expectedEndDontKnow,\n        occupiedAtDontKnow,\n        totalAmount,\n        totalAmountDontKnow,\n      },\n      'default': {\n        ...attrsGeneral,\n        areaRented: areaRented === 0 || areaRented ? areaRented : null,\n        numberOfDesks: parseInt(numberOfDesks),\n        monthlyRent,\n        monthsCount: parseInt(monthsCount),\n      },\n      virtualOffice: {\n        ...attrsGeneral,\n        monthlyRent,\n        monthsCount: parseInt(monthsCount),\n      },\n      meetingRoom: {\n        ...attrsGeneral,\n        totalAmount,\n      }\n    };\n\n    reportDeal({\n      variables: { attributes: attrs[schemaName] },\n\n      update(cache, result) {},\n      refetchQueries: ['getUnresolvedProviderDeals'],\n\n      onCompleted: () => {\n        setShowModal(true);\n      },\n\n      onError: ({ graphQLErrors, networkError }) => {\n        console.log('graphQLErrors', graphQLErrors);\n        console.log('networkError', networkError);\n      },\n    }).catch(error => console.log('Error', error));\n  };\n\n\n  const values = {\n    clientPage,\n    currentLocale,\n    handleOtherClient: setOtherClient,\n    handleOtherLocationAddress: setOtherLocationAddress,\n    loadingLocations: loadingLocations || loadingLocation,\n    loadingOrders: loadingOrders || loadingOrder,\n    locationId,\n    locationsColumns,\n    locationsList: locations,\n    locationsPage,\n    locationsTotalCount,\n    locationQuery,\n    orders,\n    ordersColumns,\n    ordersTotalCount,\n    orderQuery,\n    otherClient,\n    otherLocationAddress,\n    providerId,\n    providerOnAdvertisingStrategy,\n    schemaName,\n    selectedLocationStatus,\n    setClientPage,\n    setLocationsPage,\n    showModal,\n    siteKey,\n    siteName,\n    step,\n    submitHandler: reportDealSubmit,\n    changeSearchInput,\n    nextStep,\n    prevStep,\n  };\n\n\n  return (\n    <div>\n      <Context.Provider value={values}>\n        <div className=\"reportdeal\">\n          <ReportDealProgress steps={steps} activeStep={step} />\n\n          <FormMessageBlock\n            show={showNotification}\n            closeNotification={handleCloseNotification}\n          />\n\n          <ReportSteps />\n\n        </div>\n      </Context.Provider>\n    </div>\n  );\n}\n\nReportDeal.propTypes = {\n  siteKey: PropTypes.string,\n  siteName: PropTypes.string,\n  providerOnAdvertisingStrategy: PropTypes.bool,\n};\n\nReportDeal.defaultProps = {\n  siteKey: '',\n  siteName: '',\n  providerOnAdvertisingStrategy: false,\n};\n\nexport default ReportDeal;\n","import React, { useEffect, useState } from 'react';\nimport { debounce } from \"throttle-debounce\";\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport QualityScoreInfoModal from \"../Modals/QualityScoreInfoModal\";\n\nimport './index.sass';\n\n\nconst defaultQualityScoreData = (locationId, locale, partnerBadgeUrl, kind) => ({\n  description: {\n    availableScoreLabel: '+10',\n    id: 'description',\n    infoLink: locationId && `${locale}/new_providers/locations/edit/${locationId}/description#description`,\n    name: I18n.t('locations.scores.description'),\n    score: 0,\n  },\n  energyRating: {\n    availableScoreLabel: '+10',\n    id: 'energy_rating',\n    hidden: kind === 'parking',\n    infoLink: locationId && `${locale}/new_providers/locations/edit/${locationId}/facts#energyRating`,\n    name: I18n.t('locations.scores.energy_label'),\n    score: 0,\n  },\n  facilities: {\n    availableScoreLabel: '+10',\n    hidden: kind === 'parking',\n    id: 'facilities',\n    infoLink: locationId && `${locale}/new_providers/locations/edit/${locationId}/facts#facilities`,\n    name: I18n.t('locations.scores.facilities'),\n    score: 0,\n  },\n  floorPlan: {\n    availableScoreLabel: '+10',\n    id: 'floor_plan',\n    infoLink: locationId && `${locale}/new_providers/locations/edit/${locationId}/visuals#floor-plans`,\n    name: I18n.t('locations.scores.floor_plan'),\n    score: 0,\n  },\n  photos: {\n    availableScoreLabel: '+5 min / +10 max ',\n    id: 'photos',\n    infoLink: locationId && `${locale}/new_providers/locations/edit/${locationId}/visuals#photo`,\n    name: I18n.t('locations.scores.pictures'),\n    score: 0,\n  },\n  price: {\n    availableScoreLabel: '+10',\n    id: 'price',\n    infoLink: locationId && `${locale}/new_providers/locations/edit/${locationId}/economy#prices`,\n    name: I18n.t('locations.scores.price'),\n    score: 0,\n  },\n  prospectus: {\n    availableScoreLabel: '+10',\n    id: 'prospectus',\n    infoLink: locationId && `${locale}/new_providers/locations/edit/${locationId}/visuals#prospectuses`,\n    name: I18n.t('locations.scores.prospectus'),\n    score: 0,\n  },\n  providerPartner: {\n    availableScoreLabel: '+10',\n    id: 'partner_badge',\n    infoLink: partnerBadgeUrl || '',\n    name: I18n.t('locations.scores.partner_badge'),\n    noHash: true,\n    score: 0,\n  },\n  video: {\n    availableScoreLabel: '+10',\n    id: 'video',\n    infoLink: locationId && `${locale}/new_providers/locations/edit/${locationId}/visuals#vimeo-id`,\n    name: I18n.t('locations.scores.video'),\n    score: 0,\n  },\n  virtualTour: {\n    availableScoreLabel: '+10',\n    id: 'virtual_tour',\n    infoLink: locationId && `${locale}/new_providers/locations/edit/${locationId}/visuals#virtual-tour`,\n    name: I18n.t('locations.scores.virtual_tour'),\n    score: 0,\n  },\n  totalScore: 0,\n});\n\n\nexport const scoreCalculator = (data, locale, partnerBadgeUrl) => {\n  const scoreData = { ...defaultQualityScoreData(data.id || null, locale, partnerBadgeUrl, data.kind) }\n  const photosCount = data.photos_current_count || (data.photos && data.photos.length);\n  const floorPlanPresent = data.floor_plans_current_count || (data.floorPlans && data.floorPlans.length);\n  const prospectusPresent = data.prospectus_current_count || (data.prospectus && data.prospectus.id);\n\n  const setScore = (score, section) => {\n    scoreData[section].score = score;\n    scoreData.totalScore = scoreData.totalScore + score;\n  };\n\n  const pricePresent = (price) =>\n    (typeof price === 'number' || typeof price === 'string') && Number(price) >= 0;\n\n  if (photosCount) {\n    photosCount >= 10\n      ? setScore(10, 'photos')\n      : photosCount >= 4\n      ? setScore(5, 'photos')\n      : null;\n  };\n\n  if (data.description && Object.keys(data.description).length) {\n    let maxSymbols = 0;\n\n    Object.keys(data.description).map(key =>\n      {\n        if (data.description[key]) {\n          const txt = document.createElement(\"textarea\");\n\n          txt.innerHTML = data.description[key].replace(/<[^>]+>/g, '');\n\n          const descriptionLength = (txt.value && txt.value.length) || 0;\n\n          descriptionLength > maxSymbols && (maxSymbols = descriptionLength);\n        }\n      }\n    )\n    maxSymbols >= 650 && setScore(10, 'description');\n  };\n\n  data.facilityIds && data.facilityIds.length && setScore(10, 'facilities');\n  (data.energyRating || data.exemptedFromEnergyRating) && setScore(10, 'energyRating');\n  data.virtualTour && setScore(10, 'virtualTour');\n  floorPlanPresent && setScore(10, 'floorPlan');\n  prospectusPresent && setScore(10, 'prospectus');\n  data.vimeoId && setScore(10, 'video');\n  data.providerPartner && setScore(10, 'providerPartner');\n\n  ( pricePresent(data.annualElectricityCostWithCentsFrom)       ||\n    pricePresent(data.annualElectricityCostWithCentsTo)         ||\n    pricePresent(data.annualHeatingCostWithCentsFrom)           ||\n    pricePresent(data.annualHeatingCostWithCentsTo)             ||\n    pricePresent(data.annualOperationalCostWithCentsFrom)       ||\n    pricePresent(data.annualOperationalCostWithCentsTo)         ||\n    pricePresent(data.annualRentWithCentsFrom)                  ||\n    pricePresent(data.annualRentWithCentsTo)                    ||\n    pricePresent(data.annualTotalCostWithCentsFrom)             ||\n    pricePresent(data.annualTotalCostWithCentsTo)               ||\n    pricePresent(data.annualWaterCostWithCentsFrom)             ||\n    pricePresent(data.annualWaterCostWithCentsTo)               ||\n    pricePresent(data.depositAndPrepaidRent)                    ||\n    pricePresent(data.disposalPrice)                            ||\n    pricePresent(data.fixedAnnualOperationalCost)                ||\n    pricePresent(data.hourlyRentWithCentsFrom)                  ||\n    pricePresent(data.hourlyRentWithCentsTo)                    ||\n    pricePresent(data.monthlyRentPerSpaceWithCentsFrom)         ||\n    pricePresent(data.monthlyRentPerSpaceWithCentsTo)           ||\n    pricePresent(data.salePrice)                                ||\n    pricePresent(data.workstationCostPerMonthFrom)              ||\n    pricePresent(data.workstationCostPerMonthTo)                ||\n    pricePresent(data.yearlyElectricityCostPerM2WithCentsFrom)  ||\n    pricePresent(data.yearlyElectricityCostPerM2WithCentsTo)    ||\n    pricePresent(data.yearlyHeatingCostPerM2WithCentsFrom)      ||\n    pricePresent(data.yearlyHeatingCostPerM2WithCentsTo)        ||\n    pricePresent(data.yearlyOperationalCostPerM2WithCentsFrom)  ||\n    pricePresent(data.yearlyOperationalCostPerM2WithCentsTo)    ||\n    pricePresent(data.yearlyRentPerM2WithCentsFrom)             ||\n    pricePresent(data.yearlyRentPerM2WithCentsTo)               ||\n    pricePresent(data.yearlyRentalIncome)                       ||\n    pricePresent(data.yearlyWaterCostPerM2WithCentsFrom)        ||\n    pricePresent(data.yearlyWaterCostPerM2WithCentsTo)\n  ) && setScore(10, 'price');\n\n  data.kind === 'parking' && (scoreData.totalScore = scoreData.totalScore + 20);\n\n  return scoreData;\n};\n\n\nexport const visibilityQuality = (score) =>\n  score === 100\n    ? 'excellent'\n    : score >= 70\n    ? 'good'\n    : score >= 40\n    ? 'medium'\n    : 'low';\n\n\nexport const ActionIcon = ({ animation, color, icon, iconSize }) => {\n  const [animated, setAnimated] = useState(false);\n  const [firstRender, setFirstRender] = useState(true);\n\n  useEffect(() => {\n    setFirstRender(false);\n  }, []);\n\n  useEffect(() => {\n    setAnimated(!firstRender && animation && icon === 'check');\n  }, [icon]);\n\n  return (\n    <div className={`score-action-icon`} style={{ background: color || '#FFA300' }}>\n      <SvgIco name={icon || 'arrow_up'} size={iconSize || 20} />\n      { animated && <div className=\"score-action-icon animated\" /> }\n    </div>\n  )\n};\n\n\nexport const ScoreChart = ({ score, stroke, width }) => {\n\n  const pieScore = Math.round(score / 2);\n  const visibilityState = visibilityQuality(score);\n\n\n  return (\n    <div className={`score-chart ${visibilityState}`}>\n      <div className=\"score-chart__pie-wrapper\">\n        <div className=\"pie default\" style={{\"--p\": 50, \"--w\": `${width}px`, \"--b\": `${stroke || 10}px`}} />\n        <div className=\"pie\" style={{\"--p\": pieScore, \"--w\": `${width}px`, \"--b\": `${stroke || 10}px` }} />\n      </div>\n\n      <div className=\"score-chart__percents-info\">\n        <div className=\"score-chart__percents\">\n          { score }\n          <ActionIcon iconSize={16} />\n        </div>\n        / 100 { I18n.t('provider.quality_score_chart.points') }\n      </div>\n\n      <div className=\"score-chart__visibility-label-wrapper\">\n        <div className=\"score-chart__visibility-label\">\n          { I18n.t(`provider.quality_score_chart.visibility_state.${visibilityState}`) }\n        </div>\n      </div>\n    </div>\n  )\n};\n\n\nexport const ScoreActionTooltip = ({ filled, label }) =>\n  <div className={`score-action-tooltip ${filled ? 'filled' : ''}`}>\n    <ActionIcon\n      animation={!!filled}\n      color={filled ? '#77BC1F' : ''}\n      icon={filled ? 'check' : ''}\n      iconSize={16}\n    />\n    <div dangerouslySetInnerHTML={{ __html: label }} />\n  </div>;\n\n\nexport const QualityScoreBanner = ({ data, qualityScoreLink, siteName, sticky, stickyTop }) => {\n  const [modalIsOpen, setModalIsOpen] = useState(false);\n  const [isSticky, setIsSticky] = useState(false);\n\n  useEffect(() => {\n    !sticky && window.addEventListener('scroll', debounce(10, handleScroll));\n  }, []);\n\n  const handleScroll = () => {\n    const banner = document.getElementById('quality-score-banner');\n    const bannerBottom = banner && banner.getBoundingClientRect().bottom;\n\n    banner && bannerBottom < 72 && setIsSticky(true);\n    banner && bannerBottom > 72 && setIsSticky(false);\n  };\n\n\n  return (\n    <div className={`quality-score-banner ${sticky ? 'sticky' : ''}`} id=\"quality-score-banner\" key=\"quality-score-banner\"\n         onClick={() => isSticky && setModalIsOpen(prevState => !prevState)}\n         style={sticky && stickyTop && { top: `${stickyTop}px` }}>\n\n      { isSticky &&\n        <QualityScoreBanner\n          data={data}\n          qualityScoreLink={qualityScoreLink}\n          siteName={siteName}\n          sticky={true}\n          stickyTop={stickyTop}\n          key=\"sticky\"\n        />\n      }\n\n      <QualityScoreInfoModal\n        data={data}\n        handleClose={() => setModalIsOpen(false)}\n        qualityScoreLink={qualityScoreLink}\n        siteName={siteName}\n        showModal={modalIsOpen} />\n\n      <ActionIcon iconSize={sticky ? 24 : 36} />\n      <div className=\"quality-score-banner__content-wrapper\">\n        <div className=\"quality-score-banner__content\">\n          <div className=\"quality-score-banner__title\">\n            { I18n.t('providers.locations.edit.scores.title') }: { data.totalScore } <span>/ 100</span>\n          </div>\n          { !sticky && data.totalScore !== 100 &&\n            <div className=\"quality-score-banner__description\">\n              { I18n.t('provider.quality_score_banner.description_text') }\n            </div>\n          }\n        </div>\n        <div className=\"quality-score-banner__info-modal-link\" onClick={() => !isSticky && setModalIsOpen(prevState => !prevState)}>\n          { !sticky && I18n.t('apps.lb_showroom.showroom.list.details_tooltip') }\n          <SvgIco name=\"expand-more\" size={20} />\n        </div>\n      </div>\n    </div>\n  )\n};\n\n\n\n\n\n\n\n\n\n\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\n\nimport { passwordValidation, passwordConfirmationValidation } from '../../../SharedComponents/Forms/ValidationSchemaPattern';\nimport Input from '../../../SharedComponents/Forms/Input';\n\nimport './index.sass';\n\nfunction ChangePasswordFormWrapper({\n  handleSubmit,\n  values,\n  handleChange,\n  touched,\n  handleBlur,\n  passwordForm,\n  errors,\n}) {\n  return (\n    <div\n      className={`change-password__form-wrapper ${\n        passwordForm ? 'form-active' : ''\n      }`}\n    >\n      <form\n        name=\"changePassword\"\n        className=\"change-password__form\"\n        onSubmit={handleSubmit}\n        noValidate\n      >\n        <Input\n          name=\"oldPassword\"\n          type=\"password\"\n          value={values.oldPassword}\n          handleChange={handleChange}\n          handleBlur={handleBlur}\n          label={I18n.t('generic.current_password')}\n          error={touched.oldPassword && errors.oldPassword}\n          required\n        />\n\n        <Input\n          name=\"password\"\n          type=\"password\"\n          value={values.password}\n          handleChange={handleChange}\n          handleBlur={handleBlur}\n          label={I18n.t('generic.new_password')}\n          error={touched.password && errors.password}\n          required\n        />\n        <Input\n          name=\"passwordConfirmation\"\n          type=\"password\"\n          value={values.passwordConfirmation}\n          handleChange={handleChange}\n          handleBlur={handleBlur}\n          label={I18n.t('activerecord.attributes.contact.password_confirmation')}\n          error={touched.passwordConfirmation && errors.passwordConfirmation}\n          required\n        />\n\n        <button type=\"submit\" className=\"change-password__save-button\">\n          { I18n.t('generic.save') }\n        </button>\n      </form>\n    </div>\n  );\n}\n\nconst ChangePasswordForm = withFormik({\n  validationSchema: Yup.object().shape({\n    oldPassword: Yup.string(),\n    password: passwordValidation,\n    passwordConfirmation: passwordConfirmationValidation,\n  }),\n\n  handleSubmit: (values, bag) => {\n    bag.props.submitHandler(values);\n  },\n})(ChangePasswordFormWrapper);\n\nChangePasswordFormWrapper.propTypes = {\n  values: PropTypes.oneOfType([PropTypes.object]),\n  handleSubmit: PropTypes.func,\n  handleChange: PropTypes.func,\n  touched: PropTypes.bool,\n  handleBlur: PropTypes.func,\n  passwordForm: PropTypes.bool,\n  errors: PropTypes.oneOfType([PropTypes.array]),\n};\n\nChangePasswordFormWrapper.defaultProps = {\n  values: {},\n  handleSubmit: () => true,\n  handleChange: () => true,\n  touched: false,\n  handleBlur: () => true,\n  passwordForm: false,\n  errors: [],\n};\n\nexport default ChangePasswordForm;\n","import React from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\nimport PropTypes from 'prop-types';\n\nimport { nameValidation, emailValidation, phoneValidation } from '../../../SharedComponents/Forms/ValidationSchemaPattern';\nimport Input from '../../../SharedComponents/Forms/Input';\n\nimport './index.sass';\n\nfunction ContactFormWrapper({\n  handleSubmit,\n  values,\n  handleChange,\n  touched,\n  handleBlur,\n  errors,\n}) {\n  return (\n    <div className=\"contact-form__wrapper\">\n      <form\n        name=\"contact-form\"\n        className=\"contact-form\"\n        onSubmit={handleSubmit}\n        noValidate\n      >\n        <div className=\"row\">\n          <div className=\"col-md-3\">\n            <Input\n              name=\"name\"\n              value={values.name}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('generic.name')}\n              error={touched.name && errors.name}\n              required\n            />\n          </div>\n\n          <div className=\"col-md-3\">\n            <Input\n              name=\"email\"\n              value={values.email}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('generic.email')}\n              error={touched.email && errors.email}\n              required\n            />\n          </div>\n        </div>\n        <div className=\"row\">\n          <div className=\"col-md-3\">\n            <Input\n              name=\"phoneNumber\"\n              value={values.phoneNumber}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('generic.phone')}\n              error={touched.phoneNumber && errors.phoneNumber}\n              required\n            />\n          </div>\n        </div>\n\n        <button type=\"submit\" className=\"contact-form__save-button\">\n          {I18n.t('generic.save')}\n        </button>\n      </form>\n    </div>\n  );\n}\n\nconst ContactForm = withFormik({\n  enableReinitialize: true,\n  mapPropsToValues: ({ contactInfo }) => ({\n    name: contactInfo ? contactInfo.name : '',\n    email: contactInfo ? contactInfo.email : '',\n    phoneNumber: contactInfo ? contactInfo.phoneNumber : '',\n  }),\n\n  validationSchema: Yup.object().shape({\n    name: nameValidation,\n    email: emailValidation,\n    phoneNumber: phoneValidation,\n  }),\n\n  handleSubmit: (values, bag) => {\n    bag.props.submitHandler(values);\n  },\n\n  displayName: 'Contact Form',\n})(ContactFormWrapper);\n\nContactFormWrapper.propTypes = {\n  values: PropTypes.oneOfType([PropTypes.object]),\n  handleSubmit: PropTypes.func,\n  handleChange: PropTypes.func,\n  touched: PropTypes.bool,\n  handleBlur: PropTypes.func,\n  errors: PropTypes.oneOfType([PropTypes.array]),\n};\n\nContactFormWrapper.defaultProps = {\n  values: {},\n  handleSubmit: () => true,\n  handleChange: () => true,\n  touched: false,\n  handleBlur: () => true,\n  errors: [],\n};\n\nexport default ContactForm;\n","import React, { useEffect, useState } from 'react';\nimport { useMutation, useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\n\nimport { GET_CONTACT_INFO, UPDATE_CONTACT, GET_CONTACT_LOCATIONS } from '../ApolloClient/queries';\nimport { ContactLocationsColumns } from '../Table/Columns';\nimport ContactForm from './ContactForm';\nimport ChangePasswordForm from './ChangePasswordForm';\nimport DeleteContactModal from '../Modals/DeleteContactModal';\nimport Table from '../Table';\nimport PhotoUpload from './PhotoUpload';\nimport FormMessageBlock from '../../SharedComponents/FormMessages/FormMessageBlock';\nimport ActiveSessions from \"../ActiveSessions\";\n\nimport './ContactSetttings.sass';\n\n\nfunction ContactSettings(props) {\n  const [contactInfo, setContactInfo] = useState('');\n  const [contactLocation, setContactLocation] = useState([]);\n  const [passwordForm, setPasswordForm] = useState(true);\n  const [perPage, setPerPage] = useState(5);\n  const [showDeleteButton, setShowDeleteButton] = useState(false);\n  const [showDeleteModal, setShowDeleteModal] = useState(false);\n  const [modalData, setDataForModal] = useState({});\n  const [showNotification, setSnowNotification] = useState({\n    show: false,\n    message: '',\n    color: 'green',\n  });\n  const [pageContact, setPageContact] = useState({ page: 1 });\n  const { page } = pageContact;\n\n  const {\n    currentContactId,\n    currentLocale,\n    formAuthToken,\n    uploadContactPhotoPath,\n    removeContactPhotoPath,\n    updateContactInfo\n  } = props;\n  const { data: contact, refetch } = useQuery(GET_CONTACT_INFO, {\n    variables: { id: currentContactId },\n  });\n  const { data: getContactLocations } = useQuery(GET_CONTACT_LOCATIONS);\n  const [updateContact] = useMutation(UPDATE_CONTACT);\n\n  useEffect(() => {\n    if (contact) {\n      setContactInfo(contact.contact);\n      setShowDeleteButton(contact.contact.isDestroyable);\n      updateContactInfo(contact.contact);\n    }\n    if (getContactLocations) {\n      setContactLocation(getContactLocations.contactLocations);\n    }\n  }, [contact, getContactLocations]);\n\n  const updateContactForm = (values) => {\n    setSnowNotification({ show: false, message: '' });\n    const { name, email, phoneNumber } = values;\n    const input = {\n      name,\n      email,\n      phoneNumber,\n      id: currentContactId,\n    };\n\n    updateContact({\n      variables: { input },\n      refetchQueries: [\"contact\"],\n      onCompleted: ({ errors }) => {\n        if (errors && errors.length) {\n          console.log(errors);\n        } else {\n          setSnowNotification({\n            show: true,\n            message: I18n.t('providers.contacts.edit.information_updated'),\n            color: 'green',\n          });\n        }\n      },\n    });\n  };\n\n  const updatePassword = (values) => {\n    const { password, passwordConfirmation, oldPassword } = values;\n    const input = {\n      id: currentContactId,\n      password,\n      passwordConfirmation,\n      oldPassword,\n    };\n\n    updateContact({\n      variables: { input },\n      onCompleted: ({ updateContact }) => {\n        const { errors } = updateContact;\n        window.scrollTo(0, 0);\n        if (errors && errors.length) {\n          setSnowNotification({\n            show: true,\n            message: I18n.t('generic.old_password_not_match'),\n            color: 'red',\n          });\n        } else {\n          setSnowNotification({\n            show: true,\n            message: I18n.t('providers.contacts.edit.information_updated'),\n            color: 'green',\n          });\n        }\n      },\n    });\n  };\n\n  const deleteAccount = () => {\n    const data = { id: currentContactId, name: contactInfo.name };\n    setDataForModal(data);\n    setShowDeleteModal(true);\n  };\n\n  // const handlePasswordForm = () => {\n  //   setPasswordForm(!passwordForm);\n  // };\n\n  const handleCloseNotification = () => {\n    setSnowNotification({ show: false, message: '', color: '' });\n  };\n\n  const perPageOptions = [\n    { value: '5', label: '5' },\n    { value: '10', label: '10' },\n  ];\n\n  const handleFilters = (newPage) => {\n    setPageContact({ page: newPage.page })\n  };\n\n  const columns = ContactLocationsColumns(contactLocation, currentLocale);\n\n  return (\n    <div className=\"contact-settings\">\n      <FormMessageBlock\n        show={showNotification}\n        closeNotification={handleCloseNotification}\n      />\n\n      <h3>{I18n.t('providers.contacts.edit.contact_info')}</h3>\n\n      <PhotoUpload\n        imageUrl={contactInfo.photoUrl}\n        uploadPath={uploadContactPhotoPath}\n        formAuthToken={formAuthToken}\n        removeTranslation={I18n.t('providers.contacts.edit.remove_photo')}\n        handleRefetch={refetch}\n        removePath={removeContactPhotoPath}\n      />\n\n      <ContactForm\n        contactInfo={contactInfo}\n        submitHandler={updateContactForm}\n      />\n\n      <h3>{I18n.t('views.sessions.new.login.recovery_password_title')}</h3>\n\n      {/*<p onClick={handlePasswordForm} className=\"settings__change-password\">*/}\n      {/*  {I18n.t('providers.contacts.edit.change_password')}*/}\n      {/*</p>*/}\n\n      <ChangePasswordForm\n        submitHandler={updatePassword}\n        passwordForm={passwordForm}\n      />\n\n      <h3>{I18n.t('providers.contacts.edit.owned_locations')}</h3>\n\n      <Table\n        data={contactLocation}\n        columns={columns}\n        setPerPage={setPerPage}\n        perPage={perPage}\n        currentPage={page}\n        setPage={(page) => handleFilters({ page })}\n        perPageOptions={perPageOptions}\n        disableSort\n        gotAllData\n        noScrollToTop\n      />\n\n      {showDeleteButton && (\n        <>\n          <DeleteContactModal\n            callback={() => setDataForModal({})}\n            data={modalData}\n            handleClose={() => setShowDeleteModal(false)}\n            showModal={showDeleteModal}\n            logout\n          />\n\n          <h3>Delete account</h3>\n          <p>{I18n.t('providers.contacts.edit.delete_contact_help')}</p>\n\n          <button\n            type=\"button\"\n            className=\"contact-settings__delete-button\"\n            onClick={deleteAccount}\n          >\n            {I18n.t('generic.delete')}\n          </button>\n        </>\n      )}\n\n      <ActiveSessions showDeleteButton={showDeleteButton} />\n    </div>\n  );\n}\n\nContactSettings.propTypes = {\n  currentContactId: PropTypes.string,\n  formAuthToken: PropTypes.string,\n  uploadContactPhotoPath: PropTypes.string,\n  removeContactPhotoPath: PropTypes.string,\n};\n\nContactSettings.defaultProps = {\n  currentContactId: '',\n  formAuthToken: '',\n  uploadContactPhotoPath: '',\n  removeContactPhotoPath: '',\n};\n\nexport default ContactSettings;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport ImageUploading from 'react-images-uploading';\nimport axios from 'axios';\n\nimport { apiProvider } from '../../../api/core';\n\nimport './PhotoUpload.sass';\n\n\nfunction PhotoUpload({\n  imageUrl,\n  uploadPath,\n  formAuthToken,\n  removePath,\n  provider,\n  removeTranslation,\n  handleRefetch,\n}) {\n  const [images, setImages] = useState([]);\n  const [loadingImage, setLoadingImage] = useState(false);\n\n  const addImage = (imageList) => {\n    setLoadingImage(true);\n    const formData = new FormData();\n    provider\n      ? formData.append('provider[logo]', imageList[0].file)\n      : formData.append('contact[photo]', imageList[0].file);\n    formData.append('authenticity_token', formAuthToken);\n\n    const apiOptions = {\n      url: uploadPath,\n      method: 'put',\n      data: formData,\n    };\n\n    apiProvider.withOptions(apiOptions)\n      .then(res => {\n        if (res.status === 'success') {\n          setLoadingImage(false);\n          handleRefetch()\n        }\n      });\n  }\n\n  const removeImage = () => {\n    axios\n      .put(\n        removePath,\n        { authenticity_token: formAuthToken },\n        {\n          headers: {\n            'Content-Type': 'application/json',\n            Accept: 'application/json',\n          },\n        },\n      )\n      .then((response) => {\n        if (response.status === 200) {\n          handleRefetch();\n        }\n      });\n  };\n\n  const onChange = (imageList) => {\n    setImages(imageList);\n    const imageListLength = imageList.length;\n    imageListLength ? addImage(imageList) : removeImage();\n  };\n\n  return (\n    <div className=\"photo-upload\">\n      <ImageUploading\n        multiple={false}\n        value={images}\n        onChange={onChange}\n        dataURLKey=\"data_url\"\n      >\n        {({ imageList, onImageUpload, onImageRemoveAll }) => (\n          <div className=\"photo-upload__main-wrapper\">\n            {imageList.length === 0 && (\n              <div className=\"photo-upload__inner-wrapper\">\n                <div\n                  className={`photo-upload__photo-place ${\n                    imageUrl ? 'active-photo' : ''\n                  }`}\n                >\n                  {imageUrl ? (\n                    <img\n                      className=\"photo-upload__provider-logo\"\n                      src={imageUrl}\n                      alt=\"provider-logo\"\n                    />\n                  ) : (\n                    <span>{ provider ? I18n.t('providers.contacts.edit.no_logo') : I18n.t('providers.contacts.edit.no_photo') }</span>\n                  )}\n                </div>\n              </div>\n            )}\n\n            {imageList.map((image, index) => (\n              <div key={index} className=\"image-item\">\n                <div className=\"upload-image\">\n                  <img\n                    alt=\"profile\"\n                    className=\"image\"\n                    src={image.data_url}\n                    height=\"80px\"\n                  />\n                </div>\n              </div>\n            ))}\n\n            <button\n              type=\"button\"\n              onClick={onImageUpload}\n              className=\"upload-button\"\n            >\n              { I18n.t('generic.upload') }\n            </button>\n\n            <button\n              type=\"button\"\n              onClick={onImageRemoveAll}\n              disabled={!imageUrl || loadingImage}\n              className={`remove-button ${ imageUrl ? 'remove-button-active' : '' }`}\n            >\n              { loadingImage && <div className=\"loading-spinner\" /> }\n              <span>{ removeTranslation }</span>\n            </button>\n          </div>\n        )}\n      </ImageUploading>\n    </div>\n  );\n};\n\nPhotoUpload.propTypes = {\n  imageUrl: PropTypes.string,\n  uploadPath: PropTypes.string,\n  formAuthToken: PropTypes.string,\n  removePath: PropTypes.string,\n  provider: PropTypes.bool,\n  removeTranslation: PropTypes.string,\n  handleRefetch: PropTypes.func,\n};\n\nPhotoUpload.defaultProps = {\n  imageUrl: '',\n  uploadPath: '',\n  formAuthToken: '',\n  removePath: '',\n  provider: false,\n  removeTranslation: '',\n  handleRefetch: () => true,\n};\n\nexport default PhotoUpload;\n","import React, { useEffect, useState, Fragment } from 'react';\nimport { useMutation, useQuery } from '@apollo/client';\nimport PropTypes from 'prop-types';\n\nimport { GET_CONTACT_INFO, GET_PROVIDER, UPDATE_PROVIDER } from '../ApolloClient/queries';\nimport PhotoUpload from './PhotoUpload';\nimport FormMessageBlock from '../../SharedComponents/FormMessages/FormMessageBlock';\nimport UpdateProvider from './UpdateProvider';\nimport { SvgIco } from '../../SharedComponents/Icons';\nimport './ProviderSettings.sass';\n\n\nfunction ProviderSettings(props) {\n\n  const [providerInfo, setProviderInfo] = useState({});\n  const [emailsLocale, setEmailsLocale] = useState('');\n  const [mainContact, setMainContact] = useState(true);\n  const [interfaceLocale, setInterfaceLocale] = useState('');\n  const [showNotification, setSnowNotification] = useState({\n    show: false,\n    message: '',\n    color: 'green',\n  });\n\n  const {\n    contractName,\n    countryAlpha2,\n    currentContactId,\n    emailLocales,\n    formAuthToken,\n    locales,\n    providerId,\n    removeProviderLogoPath,\n    showSmsOrderNotifications,\n    siteKey,\n    updateProviderInfo,\n    uploadProviderLogoPath,\n  } = props;\n\n  const checkDk = siteKey === 'dk';\n\n  const { data, refetch } = useQuery(GET_PROVIDER, { variables: { id: providerId } });\n  const { data: contact } = useQuery(GET_CONTACT_INFO, { variables: { id: currentContactId } });\n\n  const [updateProvider] = useMutation(UPDATE_PROVIDER);\n\n  const formatEmailLocales = Object.keys(emailLocales).map((key) => ({\n    value: key,\n    label: emailLocales[key],\n  }));\n\n  const formatLocales = Object.keys(locales).map((key) => ({\n    value: key,\n    label: locales[key],\n  }));\n\n  const showChangeLanguageBlock = formatLocales.length > 1 || formatEmailLocales.length > 1;\n  const showEmailChangeLanguage = formatEmailLocales.length > 1;\n  const showInterfaceChangeLanguage = formatLocales.length > 1;\n\n\n  useEffect(() => {\n    if (contact) {\n      setMainContact(!contact.contact.isDestroyable);\n    }\n    if (data) {\n      setProviderInfo(data.provider);\n      setEmailsLocale(data.provider.emailsLocale);\n      setInterfaceLocale(data.provider.interfaceLocale);\n      updateProviderInfo(data.provider);\n    }\n  }, [data, contact]);\n\n\n  const providerSubmit = (values) => {\n    const {\n      companyName,\n      vatId,\n      phoneNumber,\n      address,\n      postalCode,\n      city,\n      isMailSubjectIncludeInternalIdentifier,\n      smsOrderNotification,\n      ean,\n      invoicingEmail,\n    } = values;\n\n    const input = {\n      id: parseInt(providerId),\n      companyName,\n      vatId,\n      phoneNumber,\n      line1: address,\n      postalCode,\n      city,\n      isMailSubjectIncludeInternalIdentifier,\n      smsOrderNotification,\n      ean: ean || null,\n      emailsLocale: emailsLocale || '',\n      interfaceLocale: interfaceLocale || '',\n      invoicingEmail: invoicingEmail || ''\n    };\n\n    updateProvider({\n      variables: { input },\n      refetchQueries: ['getProvider'],\n      onCompleted: (data) => {\n        const { errors } = data.updateProvider;\n        if (\n          providerInfo.emailsLocale !== emailsLocale ||\n          providerInfo.interfaceLocale !== interfaceLocale\n        ) {\n          const currentLocale = interfaceLocale && interfaceLocale === 'fr-BE' ? `/${interfaceLocale}` : '';\n          window.location.assign(`${currentLocale}/new_providers/settings/provider`);\n        }\n        if (errors && errors.length) {\n          console.log(errors);\n        } else {\n          setSnowNotification({\n            show: true,\n            message: I18n.t('providers.contacts.edit.provider_information_updated'),\n            color: 'green',\n          });\n          window.scrollTo(0, 0);\n        }\n      },\n    });\n  };\n\n\n  const handleChangeEmailLanguage = (value) =>\n    setEmailsLocale(value);\n\n\n  const changeInterFaceLanguage = (value) =>\n    setInterfaceLocale(value);\n\n\n  const handleCloseNotification = () =>\n    setSnowNotification({ show: false, message: '' });\n\n\n  return (\n    <div className=\"provider-settings\">\n\n      <FormMessageBlock\n        show={showNotification}\n        closeNotification={handleCloseNotification}\n      />\n\n      <h3>{ I18n.t('providers.providers.form.company_information') }</h3>\n\n      { !mainContact &&\n        <div>\n          <p className=\"second-contact-message\" dangerouslySetInnerHTML={{__html: I18n.t('providers.contacts.edit.second_contact_cant_edit')}} />\n\n          <div className=\"second-contact-logo-wrap\">\n            {providerInfo.logoUrl ? (\n              <img\n                className=\"photo-upload__provider-logo\"\n                src={providerInfo.logoUrl}\n                alt=\"provider-logo\"\n              />\n              ) : (\n                <div className=\"photo-upload__photo-place\">\n                  <span>{ I18n.t('providers.contacts.edit.no_logo') }</span>\n                </div>\n              )}\n\n          </div>\n\n          <p>{ I18n.t('generic.company_name') }: <b>{providerInfo.companyName }</b></p>\n          <p>{ I18n.t('signup.new_form.register.vat_id.placeholder') }: <b>{ providerInfo.vatId }</b></p>\n          { providerInfo.ean &&\n            <p>{ I18n.t('activerecord.attributes.provider.ean') }: <b>{ providerInfo.ean }</b></p>\n          }\n          <p>{ I18n.t('signup.new_form.register.city.placeholder') }: <b>{ providerInfo.city }</b></p>\n          <p>{ I18n.t('signup.new_form.register.line_1.placeholder') }: <b>{ providerInfo.line1 }</b></p>\n\n          <p>{ I18n.t('signup.new_form.register.phone_number.placeholder') }: <b>{providerInfo.phoneNumber }</b></p>\n          <p>{ I18n.t('signup.new_form.register.invoice_email.placeholder') }: <b>{ providerInfo.invoicingEmail }</b></p>\n\n          { providerInfo.postalCode &&\n            <p>{ I18n.t('signup.new_form.register.postal_code.placeholder') }: <b>{providerInfo.postalCode }</b></p>\n          }\n\n          <p>{ I18n.t('providers.providers.provider_info.payment_model') }: <b>{contractName}</b></p>\n\n          <div className=\"provider-settings__checkbox-wrapper\">\n            <label\n              className=\"checkbox-label\"\n              htmlFor=\"isMailSubjectIncludeInternalIdentifier\"\n            >\n              <input\n                name=\"isMailSubjectIncludeInternalIdentifier\"\n                type=\"checkbox\"\n                checked={providerInfo.isMailSubjectIncludeInternalIdentifier}\n                id=\"isMailSubjectIncludeInternalIdentifier\"\n                disabled\n              />\n              <span className=\"checkmark\">\n              <SvgIco name=\"check\" size={17} />\n            </span>\n              <div className=\"checkbox-label\">\n                { I18n.t('activerecord.attributes.provider.is_mail_subject_include_internal_identifier') }\n              </div>\n            </label>\n          </div>\n\n          { showSmsOrderNotifications && (\n            <div className=\"provider-settings__checkbox-wrapper\">\n              <label className=\"checkbox-label\" htmlFor=\"smsOrderNotification\">\n                <input\n                  name=\"smsOrderNotification\"\n                  type=\"checkbox\"\n                  checked={showSmsOrderNotifications}\n                  id=\"smsOrderNotification\"\n                  disabled\n                />\n                <span className=\"checkmark\">\n                <SvgIco name=\"check\" size={17} />\n              </span>\n                <div className=\"checkbox-label\">\n                  { I18n.t('activerecord.attributes.provider.sms_order_notification') }\n                </div>\n              </label>\n            </div>\n          )}\n        </div>\n      }\n\n      { mainContact &&\n        <Fragment>\n          <PhotoUpload\n            formAuthToken={formAuthToken}\n            handleRefetch={refetch}\n            imageUrl={providerInfo.logoUrl}\n            provider\n            removePath={removeProviderLogoPath}\n            removeTranslation={I18n.t('providers.contacts.edit.remove_logo')}\n            uploadPath={uploadProviderLogoPath}\n          />\n\n          <UpdateProvider\n            changeEmailLanguage={handleChangeEmailLanguage}\n            changeInterFaceLanguage={changeInterFaceLanguage}\n            checkDk={checkDk}\n            contractName={contractName}\n            countryAlpha2={countryAlpha2}\n            emailsLocale={emailsLocale}\n            formatEmailLocales={formatEmailLocales}\n            formatLocales={formatLocales}\n            interfaceLocale={interfaceLocale}\n            providerSubmit={providerSubmit}\n            providerInfo={providerInfo}\n            showChangeLanguageBlock={showChangeLanguageBlock}\n            showEmailChangeLanguage={showEmailChangeLanguage}\n            showInterfaceChangeLanguage={showInterfaceChangeLanguage}\n            showSmsOrderNotifications={showSmsOrderNotifications}\n          />\n        </Fragment>\n      }\n\n    </div>\n  );\n};\n\n\nProviderSettings.propTypes = {\n  contractName: PropTypes.string,\n  showSmsOrderNotifications: PropTypes.bool,\n  locales: PropTypes.oneOfType([PropTypes.object]),\n  emailLocales: PropTypes.oneOfType([PropTypes.object]),\n  removeProviderLogoPath: PropTypes.string,\n  formAuthToken: PropTypes.string,\n  uploadProviderLogoPath: PropTypes.string,\n  providerId: PropTypes.string,\n};\n\nProviderSettings.defaultProps = {\n  contractName: '',\n  showSmsOrderNotifications: false,\n  locales: {},\n  emailLocales: {},\n  removeProviderLogoPath: '',\n  formAuthToken: '',\n  uploadProviderLogoPath: '',\n  providerId: '',\n};\n\n\nexport default ProviderSettings;\n","import React from 'react';\nimport { withFormik } from 'formik';\nimport Yup from 'yup';\nimport PropTypes from 'prop-types';\n\nimport {\n  companyValidation,\n  eanValidationRequired,\n  phoneValidation,\n  cityValidation,\n  addressValidation,\n  postalCodeValidation,\n  emailValidation,\n} from '../../SharedComponents/Forms/ValidationSchemaPattern';\nimport Input from '../../SharedComponents/Forms/Input';\nimport BasicDropdown from '../../SharedComponents/Forms/BasicDropdown';\nimport { requiredFieldError } from '../../SharedComponents/Forms/ErrorMessages';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport {InfoIconTooltip} from \"../Table/Columns\";\n\n\nfunction UpdateProviderWrapper({ changeEmailLanguage,\n                                 changeInterFaceLanguage,\n                                 checkDk,\n                                 contractName,\n                                 errors,\n                                 formatEmailLocales,\n                                 formatLocales,\n                                 handleBlur,\n                                 handleChange,\n                                 handleSubmit,\n                                 providerInfo,\n                                 showSmsOrderNotifications,\n                                 showChangeLanguageBlock,\n                                 showEmailChangeLanguage,\n                                 showInterfaceChangeLanguage,\n                                 touched,\n                                 values,\n                               }) {\n\n\n  return (\n    <div className=\"update-provider__form-wrapper\">\n      <form name=\"UpdateProvider\" onSubmit={handleSubmit} noValidate>\n        <div className=\"row\">\n          <div className=\"col-md-3\">\n            <Input\n              name=\"companyName\"\n              value={values.companyName}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('generic.company_name')}\n              error={touched.companyName && errors.companyName}\n              required\n            />\n          </div>\n\n          <div className=\"col-md-3\">\n            <Input\n              name=\"vatId\"\n              value={values.vatId}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('signup.new_form.register.vat_id.placeholder')}\n              error={touched.vatId && errors.vatId}\n              required\n            />\n          </div>\n        </div>\n\n        <div className=\"row\">\n          { providerInfo.ean && (\n            <div className=\"col-md-3\">\n              <Input\n                name=\"ean\"\n                value={values.ean}\n                handleChange={handleChange}\n                handleBlur={handleBlur}\n                label={I18n.t('activerecord.attributes.provider.ean')}\n                error={touched.ean && errors.ean}\n                required\n              />\n            </div>\n          )}\n\n          <div className={`${providerInfo.ean ? 'col-md-3' : 'col-md-6'}`}>\n            <Input\n              name=\"invoicingEmail\"\n              value={values.invoicingEmail}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('signup.new_form.register.invoice_email.placeholder')}\n              error={touched.invoicingEmail && errors.invoicingEmail}\n              required\n            />\n\n            <InfoIconTooltip\n              id={'providerInvoicingEmailTooltip'}\n              position={'bottom'}\n              tooltip={I18n.t('signup.new_form.register.invoice_email.tooltip')}\n            />\n          </div>\n\n        </div>\n\n        <div className=\"row\">\n          <div className=\"col-md-6\">\n            <Input\n              name=\"city\"\n              value={values.city}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('signup.new_form.register.city.placeholder')}\n              error={touched.city && errors.city}\n              required\n            />\n          </div>\n        </div>\n\n        <div className=\"row\">\n          <div className=\"col-md-6\">\n            <Input\n              name=\"address\"\n              value={values.address}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('signup.new_form.register.line_1.placeholder')}\n              error={touched.address && errors.address}\n              required\n            />\n          </div>\n        </div>\n\n        <div className=\"row\">\n          <div className=\"col-md-3\">\n            <Input\n              name=\"phoneNumber\"\n              value={values.phoneNumber}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('signup.new_form.register.phone_number.placeholder')}\n              error={touched.phoneNumber && errors.phoneNumber}\n              required\n            />\n          </div>\n\n          <div className=\"col-md-3\">\n            <Input\n              name=\"postalCode\"\n              value={values.postalCode}\n              handleChange={handleChange}\n              handleBlur={handleBlur}\n              label={I18n.t('signup.new_form.register.postal_code.placeholder')}\n              error={touched.postalCode && errors.postalCode}\n              required={!!checkDk}\n            />\n          </div>\n        </div>\n\n        <div>\n          <p>\n            {I18n.t('providers.providers.provider_info.payment_model')}:{' '}\n            <span className=\"provider-settings__contact-name\">\n              {contractName}\n            </span>\n          </p>\n        </div>\n\n        <div className=\"provider-settings__checkbox-wrapper\">\n          <label\n            className=\"checkbox-label\"\n            htmlFor=\"isMailSubjectIncludeInternalIdentifier\"\n          >\n            <input\n              name=\"isMailSubjectIncludeInternalIdentifier\"\n              type=\"checkbox\"\n              checked={!!values.isMailSubjectIncludeInternalIdentifier}\n              id=\"isMailSubjectIncludeInternalIdentifier\"\n              onChange={handleChange}\n              onBlur={handleBlur}\n            />\n            <span className=\"checkmark\">\n              <SvgIco name=\"check\" size={17} />\n            </span>\n            <div className=\"checkbox-label\">\n              {I18n.t('activerecord.attributes.provider.is_mail_subject_include_internal_identifier')}\n            </div>\n          </label>\n        </div>\n\n        {showSmsOrderNotifications && (\n          <div className=\"provider-settings__checkbox-wrapper\">\n            <label className=\"checkbox-label\" htmlFor=\"smsOrderNotification\">\n              <input\n                name=\"smsOrderNotification\"\n                type=\"checkbox\"\n                checked={!!values.smsOrderNotification}\n                id=\"smsOrderNotification\"\n                onChange={handleChange}\n                onBlur={handleBlur}\n              />\n              <span className=\"checkmark\">\n                <SvgIco name=\"check\" size={17} />\n              </span>\n              <div className=\"checkbox-label\">\n                {I18n.t('activerecord.attributes.provider.sms_order_notification')}\n              </div>\n            </label>\n          </div>\n        )}\n\n        {showChangeLanguageBlock && (\n          <div className=\"provider-settings__language\">\n            <h3>{I18n.t('generic.choose_your_language')}</h3>\n\n            <div className=\"provider-settings__language-dropdowns\">\n              <div className=\"row\">\n                {showEmailChangeLanguage && (\n                  <div className=\"col-md-3\">\n                    <p>\n                      {I18n.t('providers.contacts.edit.change_emails_locale')}:{' '}\n                    </p>\n                    <BasicDropdown\n                      options={formatEmailLocales}\n                      handleChange={(value) => changeEmailLanguage(value)}\n                      value={values.emailsLocale}\n                    />\n                  </div>\n                )}\n                {showInterfaceChangeLanguage && (\n                  <div className=\"col-md-3\">\n                    <p>\n                      {I18n.t('providers.contacts.edit.change_interface_locale')}\n                      :{' '}\n                    </p>\n                    <BasicDropdown\n                      options={formatLocales}\n                      handleChange={(value) => changeInterFaceLanguage(value)}\n                      value={values.interfaceLocale}\n                    />\n                  </div>\n                )}\n              </div>\n            </div>\n          </div>\n        )}\n\n        <div>\n          <button className=\"save-button b-button\" type=\"submit\">\n            { I18n.t('generic.save') }\n          </button>\n        </div>\n      </form>\n    </div>\n  );\n}\n\nconst UpdateProvider = withFormik({\n  enableReinitialize: true,\n  mapPropsToValues: ({\n                       providerInfo,\n                       emailsLocale,\n                       interfaceLocale,\n                       checkDk,\n                       countryAlpha2\n                     }) => ({\n    companyName: providerInfo ? providerInfo.companyName : '',\n    vatId: providerInfo ? providerInfo.vatId : '',\n    phoneNumber: providerInfo ? providerInfo.phoneNumber : '',\n    address: providerInfo ? providerInfo.line1 : '',\n    postalCode: providerInfo ? providerInfo.postalCode : '',\n    city: providerInfo ? providerInfo.city : '',\n    isMailSubjectIncludeInternalIdentifier: providerInfo\n      ? providerInfo.isMailSubjectIncludeInternalIdentifier\n      : false,\n    smsOrderNotification: providerInfo\n      ? providerInfo.smsOrderNotification\n      : false,\n    ean: providerInfo.ean || '',\n    emailsLocale,\n    interfaceLocale,\n    isEan: !!providerInfo.ean,\n    checkDk: checkDk,\n    countryAlpha2: countryAlpha2,\n    invoicingEmail: providerInfo.invoicingEmail,\n  }),\n\n  validationSchema: Yup.object().shape({\n    isEan: Yup.boolean(),\n    checkDk: Yup.boolean(),\n    companyName: companyValidation,\n    invoicingEmail: emailValidation,\n    phoneNumber: phoneValidation,\n    ean: Yup.string().when('isEan', {\n      is: true,\n      then: eanValidationRequired,\n    }),\n    address: addressValidation,\n    city: cityValidation,\n    postalCode: postalCodeValidation,\n    vatId: Yup.string()\n      .required(requiredFieldError(I18n.t('signup.new_form.register.vat_id.placeholder'))),\n  }),\n\n  handleSubmit: (values, bag) => {\n    bag.props.providerSubmit(values);\n  },\n\n  displayName: 'UpdateProvider',\n})(UpdateProviderWrapper);\n\n\nUpdateProviderWrapper.propTypes = {\n  values: PropTypes.oneOfType([PropTypes.object]),\n  handleSubmit: PropTypes.func,\n  handleChange: PropTypes.func,\n  touched: PropTypes.bool,\n  handleBlur: PropTypes.func,\n  errors: PropTypes.oneOfType([PropTypes.array]),\n  contractName: PropTypes.string,\n  changeEmailLanguage: PropTypes.func,\n  changeInterFaceLanguage: PropTypes.func,\n  formatEmailLocales: PropTypes.oneOfType([PropTypes.array]),\n  formatLocales: PropTypes.oneOfType([PropTypes.array]),\n  showChangeLanguageBlock: PropTypes.bool,\n  showEmailChangeLanguage: PropTypes.bool,\n  showInterfaceChangeLanguage: PropTypes.bool,\n  showSmsOrderNotifications: PropTypes.bool,\n  providerInfo: PropTypes.oneOfType([PropTypes.object]),\n};\n\n\nUpdateProviderWrapper.defaultProps = {\n  values: {},\n  handleSubmit: () => true,\n  handleChange: () => true,\n  touched: false,\n  handleBlur: () => true,\n  errors: [],\n  contractName: '',\n  formatEmailLocales: [],\n  formatLocales: [],\n  showChangeLanguageBlock: false,\n  showEmailChangeLanguage: false,\n  showInterfaceChangeLanguage: false,\n  showSmsOrderNotifications: false,\n  providerInfo: {},\n};\n\nexport default UpdateProvider;\n","import React from 'react';\nimport ReactTooltip from \"react-tooltip\";\nimport { NavLink } from \"react-router-dom\";\n\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\n\nconst SideBarLink = ({ disableTooltip, label, linkTo, newInfoLabel, svgName }) => {\n\n  return (\n    <li className=\"sidebar-item\"\n        data-tip={label}\n        data-for={`nav-link-${svgName}-tooltip`}>\n      <ReactTooltip\n        border={true}\n        borderColor=\"black\"\n        effect='solid'\n        id={`nav-link-${svgName}-tooltip`}\n        place=\"right\"\n        type=\"light\"\n        disable={disableTooltip}\n        className=\"nav-link-tooltip\"\n      />\n      <NavLink exact to={linkTo} activeClassName=\"active\">\n        <div>\n          <SvgIco name={svgName} size={22} />\n        </div>\n        <span>{ label }</span>\n\n        { newInfoLabel &&\n          <div className=\"sidebar-item__new-info-icon-wrapper\">\n            { newInfoLabel }\n          </div>\n        }\n      </NavLink>\n    </li>\n  )\n}\n\nexport default SideBarLink;\n","import React, { useState, useCallback, useEffect } from 'react';\nimport ReactTooltip from \"react-tooltip\";\n\nimport { KeyboardArrowLeftRounded, KeyboardArrowRightRounded, SvgIco } from '../../SharedComponents/Icons';\nimport ShowMeBannerImg from \"../../../src/images/provider-backend/Banner_1_Illustration@2x.png\";\nimport FacebookLogo from '../../../src/images/icons/facebook-logo.svg';\nimport SideBarLink from \"./SideBarLink\";\nimport IframeModal from \"../Modals/IframeModal\";\n\nimport './index.sass';\n\n\nconst SideBar = ({ companyName,\n                   currentContactEmail,\n                   currentContactName,\n                   currentLocale,\n                   currentPhoneName,\n                   newClientsCount,\n                   links,\n                   providerPartner,\n                   siteKey,\n                 }) => {\n\n  const [activeSideBar, setActiveSideBar] = useState(() => {\n    if(localStorage) {\n      const storageMenuStatus = localStorage.getItem('my.provider_menu_open');\n\n      if (storageMenuStatus) {\n        return storageMenuStatus === 'true';\n      } else {\n        localStorage.setItem('my.provider_menu_open', JSON.stringify(true));\n        return true;\n      }\n    } else {\n      return true;\n    }\n  });\n\n  const [modalIsActive, setModalIsActive] = useState(false);\n  const [url, setUrl] = useState(false);\n\n  const { qualityScorePageLink, partnerBadgePageLink } = links;\n  const partnerLink = siteKey === 'dk' ? '/serviceydelser-til-udlejere/fremhevet/annoncering' : partnerBadgePageLink;\n\n  const changeSidebar = useCallback(() => setActiveSideBar(!activeSideBar));\n\n\n  useEffect(() => {\n    if(localStorage) {\n      const storageMenuStatus = localStorage.getItem('my.provider_menu_open');\n\n      storageMenuStatus && localStorage.setItem('my.provider_menu_open', JSON.stringify(activeSideBar));\n    }\n  }, [activeSideBar]);\n\n\n  const handleShowModal = (url) => {\n    setUrl(url + `?raw=true&data[name]=${currentContactName}&data[phone]=${currentPhoneName}&data[email]=${currentContactEmail}&data[company_name]=${companyName}`);\n    setModalIsActive(true);\n  };\n\n\n  const handleCloseModal = () => {\n    setModalIsActive(false);\n  };\n\n\n  return (\n    <div className={`sidebar ${activeSideBar ? '' : 'inactive'}`}>\n\n      <IframeModal\n        handleClose={handleCloseModal}\n        modalClass=\"simple-cms-modal\"\n        showModal={modalIsActive}\n        url={url}\n      />\n\n      <ul className=\"sidebar-items\">\n\n        <SideBarLink\n          disableTooltip={activeSideBar}\n          label={I18n.t('generic.providers.sidebar.dashboard')}\n          linkTo={`${currentLocale}/new_providers`}\n          svgName=\"dashboard-provider\" />\n\n        <SideBarLink\n          disableTooltip={activeSideBar}\n          label={I18n.t('generic.providers.sidebar.statistic')}\n          linkTo={`${currentLocale}/new_providers/statistic`}\n          svgName=\"statistic-provider\" />\n\n        <SideBarLink\n          disableTooltip={activeSideBar}\n          label={I18n.t('generic.providers.sidebar.leases')}\n          linkTo={`${currentLocale}/new_providers/locations/lease_properties`}\n          svgName=\"leases-provider\" />\n\n        { siteKey === 'dk' &&\n          <SideBarLink\n            disableTooltip={activeSideBar}\n            label=\"Salgsejendomme\"\n            linkTo={`${currentLocale}/new_providers/locations/sales_properties`}\n            svgName=\"houses\" />\n        }\n\n        { siteKey === 'dk' &&\n          <SideBarLink\n            disableTooltip={activeSideBar}\n            label=\"Anonymiserede lejemål\"\n            linkTo={`${currentLocale}/new_providers/locations/anonymous`}\n            svgName=\"anonymous\" />\n        }\n\n        <SideBarLink\n          disableTooltip={activeSideBar}\n          label={I18n.t('providers.providers.show.customers')}\n          linkTo={`${currentLocale}/new_providers/orders`}\n          newInfoLabel={newClientsCount}\n          svgName=\"clients-provider\" />\n\n        <SideBarLink\n          disableTooltip={activeSideBar}\n          label={I18n.t('generic.providers.sidebar.contacts')}\n          linkTo={`${currentLocale}/new_providers/contacts`}\n          svgName=\"contacts-provider\" />\n\n        <hr className=\"horizontal-line\" />\n\n        <li className=\"sidebar-toggle\" onClick={changeSidebar}>\n          { activeSideBar ? <KeyboardArrowLeftRounded size={22} /> : <KeyboardArrowRightRounded size={22} /> }\n        </li>\n\n        <SideBarLink\n          disableTooltip={activeSideBar}\n          label={I18n.t('generic.providers.sidebar.provider-settings')}\n          linkTo={`${currentLocale}/new_providers/settings/provider`}\n          svgName=\"provider-settings\" />\n\n        <SideBarLink\n          disableTooltip={activeSideBar}\n          label={I18n.t('generic.providers.sidebar.contact-settings')}\n          linkTo={`${currentLocale}/new_providers/settings/contact`}\n          svgName=\"contact-settings\" />\n\n        <SideBarLink\n          disableTooltip={activeSideBar}\n          label={I18n.t('generic.providers.sidebar.help')}\n          linkTo={`${currentLocale}/new_providers/help`}\n          svgName=\"help_outline\" />\n\n\n        <li className=\"sidebar-item\"\n            data-tip={I18n.t('generic.providers.sidebar.sign-out')}\n            data-for=\"nav-link-sign-out-tooltip\">\n          <ReactTooltip\n            border={true}\n            borderColor=\"black\"\n            effect='solid'\n            id=\"nav-link-sign-out-tooltip\"\n            place=\"right\"\n            type=\"light\"\n            disable={activeSideBar}\n            className=\"nav-link-tooltip\"\n          />\n          <a href=\"/logout\">\n            <div>\n              <SvgIco name=\"logout-provider\" size={22} />\n            </div>\n            <span>{ I18n.t(\"generic.providers.sidebar.sign-out\") }</span>\n          </a>\n        </li>\n      </ul>\n\n      <div className=\"sidebar-banners-wrapper\">\n        <img src={ShowMeBannerImg} alt=\"show-me-how-banner\"/>\n        <div>\n          <p className=\"sidebar-banners-wrapper-text\">\n            { I18n.t(\"views.providers.banner.main-text\") }\n          </p>\n        </div>\n        <a onClick={() => handleShowModal(qualityScorePageLink)}>\n          { I18n.t(\"views.providers.banner.cta-button\") }\n        </a>\n      </div>\n\n      {(!providerPartner || siteKey === 'dk') && (\n        <div className=\"sidebar-banners-wrapper\">\n          <p className=\"banner-title\">\n            { I18n.t(\"views.providers.banner.partner-badge-title\") }\n          </p>\n          <p className=\"banner-text\"\n             dangerouslySetInnerHTML={{ __html: I18n.t(\"generic.providers.sidebar.get-partner-badge-main-text\") }} />\n          <div>\n            <a className=\"get-partner-button\" onClick={() => handleShowModal(partnerLink)}>\n              { I18n.t(\"views.providers.banner.partner-cta-button\") }\n            </a>\n          </div>\n        </div>\n      )}\n\n      { siteKey === 'dk' &&\n        <div className=\"sidebar-banners-wrapper\">\n          <p className=\"banner-title\">{ I18n.t(\"generic.providers.sidebar.facebook.title\") }</p>\n          <p className=\"banner-text\">{ I18n.t(\"generic.providers.sidebar.facebook.content\") }</p>\n          <div>\n            <a className=\"facebook-banner-button\" onClick={() => handleShowModal(\"/serviceydelser-til-udlejere/annoncering/facebook\")}>\n              <img src={FacebookLogo} alt=\"Facebook\" />\n              { I18n.t(\"generic.read_more\") }\n            </a>\n          </div>\n        </div>\n      }\n\n    </div>\n  );\n}\n\n\nexport default SideBar;\n","import React, { useEffect, useState } from 'react';\nimport { useLazyQuery } from \"@apollo/client\";\n\nimport { localizedNumberFormatter } from \"../../../utils/helpers\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { GET_LOCATION_STATISTICS } from \"../ApolloClient/queries\";\nimport { SkeletonLoader } from \"../Loaders\";\nimport LocationViewsChart from \"../LocationViewsChart\";\n\nimport './index.sass';\n\nlet timeout;\n\n\nconst ExpandedStatistics = ({ data }) => {\n\n  const [isExpanded, setIsExpanded] = useState(false);\n  const [expandedData, setExpandedData] = useState({});\n\n\n  const {\n    countClientEnquiries,\n    countClientEnquiriesPerWeek,\n    countExtraEnquiries,\n    countExtraEnquiriesPerWeek,\n    countProviderMessages,\n    countShowcaseOrders,\n    locationEventsContactDetailsShownCount,\n    locationEventsProviderAdvertsShownCount,\n    locationEventsShownCount,\n    locationEventsShownCountPerWeek,\n  } = expandedData;\n\n\n  useEffect(() => {\n    setIsExpanded(data.expanded);\n  }, []);\n\n\n  useEffect(() => {\n    clearTimeout(timeout);\n\n    if (data.expanded) {\n      setIsExpanded(data.expanded);\n    } else {\n      timeout = setTimeout(() => setIsExpanded(data.expanded), 500);\n    }\n  }, [data.expanded]);\n\n\n  const [getLocationStatistic, { loading }] = useLazyQuery(GET_LOCATION_STATISTICS, {\n    fetchPolicy: 'no-cache',\n    onCompleted: (data) => {\n      data && data.statisticForLocation && setExpandedData(data.statisticForLocation);\n    },\n  });\n\n\n  const getLocationStatisticsByPeriod = (daysPeriod) => {\n    const timeFrom = new Date();\n    const timeTo = new Date();\n\n    timeFrom.setDate(timeFrom.getDate() - daysPeriod - 1);\n    timeFrom.setHours(0,0,0,0);\n\n    const timeFromUserTimezoneOffset = timeFrom.getTimezoneOffset() * 60000;\n    const timeToUserTimezoneOffset = timeTo.getTimezoneOffset() * 60000;\n\n    getLocationStatistic({ variables: {\n        timeFrom: new Date(timeFrom.getTime() - timeFromUserTimezoneOffset),\n        timeTo: new Date(timeTo.getTime() - timeToUserTimezoneOffset),\n        id: data.locationId,\n    }}).catch(error => console.log('error', error));\n  };\n\n\n  // We need to use useMemo to prevent charts SVG form rerender on data update\n  const cachedViewsChart = React.useMemo(\n    () =>\n      <LocationViewsChart\n        createdAt={data.createdAt}\n        switchPeriodCallback={getLocationStatisticsByPeriod}\n        locationId={data.locationId}\n        locationShownDatapoints={data.locationShownDatapoints || {}}\n        offset={{ left: -80 }}\n        tickFontSize={9}\n        width={321}\n        xaxisHeight={43}\n      />,\n    [],\n  );\n\n\n  if (isExpanded) {\n    return (\n      <div className=\"statistics__expanded-sticky-wrapper\">\n        <div className=\"statistics__expanded-data\">\n          <div className=\"statistics__expanded-data-row\">\n\n            <div className=\"statistics__chart-block\">\n              { cachedViewsChart }\n            </div>\n\n            <div className={`statistics__expanded-boxes ${loading ? 'loading' : ''}`}>\n              <div className=\"statistics__expanded-boxes-column\">\n\n                <div className=\"statistics__expanded-box\">\n                  <SvgIco name=\"eye\" size={40} />\n\n                  <div className=\"statistics__expanded-box-info\">\n                    <div className=\"statistics__expanded-box-headline\">\n                      { I18n.t('provider.statistic.expanded_info.page_views') }\n                    </div>\n\n                    <span>{ I18n.t('provider.table.total_footer') }: <strong>{ localizedNumberFormatter(locationEventsShownCount) }</strong>\n                      <SkeletonLoader className=\"statistics__skeleton-loader\" />\n                    </span>\n\n                    <span>{ I18n.t('generic.per_week') }: <strong>{ localizedNumberFormatter(locationEventsShownCountPerWeek) }</strong>\n                      <SkeletonLoader className=\"statistics__skeleton-loader\" />\n                    </span>\n                  </div>\n                </div>\n\n                <div className=\"statistics__expanded-box\">\n                  <SvgIco name=\"person_send\" size={40} />\n\n                  <div className=\"statistics__expanded-box-info\">\n                    <div className=\"statistics__expanded-box-headline\">\n                      { I18n.t('providers.statistics.index.client_enquiries') }\n                    </div>\n\n                    <span>{ I18n.t('provider.table.total_footer') }: <strong>{ localizedNumberFormatter(Number(countClientEnquiries) + Number(countProviderMessages) + Number(countShowcaseOrders)) }</strong>\n                      <SkeletonLoader className=\"statistics__skeleton-loader\" />\n                    </span>\n\n                    <span>{ I18n.t('generic.per_week') }: <strong>{ localizedNumberFormatter(countClientEnquiriesPerWeek) }</strong>\n                      <SkeletonLoader className=\"statistics__skeleton-loader\" />\n                    </span>\n                  </div>\n                </div>\n              </div>\n\n              <div className=\"statistics__expanded-boxes-column\">\n                <div className=\"statistics__expanded-box\">\n                  <SvgIco name=\"click\" size={40} />\n\n                  <div className=\"statistics__expanded-box-info\">\n                    <div className=\"statistics__expanded-box-headline\">\n                      { I18n.t('generic.clicks') }\n                    </div>\n\n                    <span>{ I18n.t('provider.statistic.expanded_info.personal_website') }: <strong>{ localizedNumberFormatter(locationEventsProviderAdvertsShownCount) }</strong>\n                      <SkeletonLoader className=\"statistics__skeleton-loader\" />\n                    </span>\n\n                    <span>{ I18n.t('providers.statistics.index.contact_info') }: <strong>{ localizedNumberFormatter(locationEventsContactDetailsShownCount) }</strong>\n                      <SkeletonLoader className=\"statistics__skeleton-loader\" />\n                    </span>\n                  </div>\n                </div>\n\n                <div className=\"statistics__expanded-box\">\n                  <SvgIco name=\"person_add\" size={40} />\n\n                  <div className=\"statistics__expanded-box-info\">\n                    <div className=\"statistics__expanded-box-headline\">\n                      { I18n.t('providers.statistics.index.extra_enquiries') }\n                    </div>\n\n                    <span>{ I18n.t('provider.table.total_footer') }: <strong>{ localizedNumberFormatter(countExtraEnquiries) }</strong>\n                      <SkeletonLoader className=\"statistics__skeleton-loader\" />\n                    </span>\n\n                    <span>{ I18n.t('generic.per_week') }: <strong>{ localizedNumberFormatter(countExtraEnquiriesPerWeek) }</strong>\n                      <SkeletonLoader className=\"statistics__skeleton-loader\" />\n                    </span>\n                  </div>\n                </div>\n              </div>\n\n            </div>\n          </div>\n        </div>\n      </div>\n    )\n  } else {\n    return null;\n  }\n}\n\nexport default ExpandedStatistics;\n","import React from \"react\";\nimport { Link } from \"react-router-dom\";\n\nimport { localizedNumberFormatter } from \"../../../utils/helpers\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\n\n\nexport const StatisticColumns = (statisticData, statisticDataTotal, currentLocale, handleExpand, currencySymbolFormatter) => React.useMemo(\n  () =>\n      [\n\n        //===========================================================================>\n\n        { Header: I18n.t('providers.statistics.index.address'),\n          accessor: 'locationAddress',\n          style: { maxWidth: '266px', minWidth: '266px' },\n          Footer: I18n.t('provider.table.total_footer'),\n          Cell: data =>\n            <div className=\"statistics__address-cell\">\n              { data.cell.row.original.expanded\n                ? <SvgIco name=\"expand-less\" size={18} onClick={() => handleExpand(data.cell.row.original.locationId)} />\n                : <SvgIco name=\"expand-more\" size={18} onClick={() => handleExpand(data.cell.row.original.locationId)} />\n              }\n\n              <Link to={`${currentLocale}/new_providers/locations/info/${data.cell.row.original.locationId}`}>\n                { data.value }\n              </Link>\n            </div>,\n        },\n\n        //===========================================================================>\n\n        { Header: I18n.t('providers.statistics.index.kind'),\n          Footer: '',\n          accessor: 'locationKind',\n          style: { whiteSpace: 'nowrap' },\n          Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>\n        },\n\n        //===========================================================================>\n\n        { Header: I18n.t('providers.statistics.index.status'),\n          Footer: '',\n          accessor: 'locationState',\n          Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>\n        },\n\n        //===========================================================================>\n\n        { Header: <div className=\"align-right\">{ I18n.t('activerecord.attributes.location.area_interval') }</div>,\n          Footer: '',\n          accessor: 'locationFullArea',\n          style: { textAlign: 'right' },\n          Cell: data =>\n            <div style={{ whiteSpace: \"nowrap\" }}>\n              { data.value\n                ? `${data.value} ${data.cell.row.original.locationAreaUnit === 'ft2' ? 'ft²' : 'm²'}`\n                : ''\n              }\n            </div>,\n        },\n\n        //===========================================================================>\n\n        { Header: <div className=\"align-right\">{ I18n.t('providers.statistics.index.yearly_rent_per_m2_min') }</div>,\n          Footer: '',\n          accessor: 'locationYearlyRentPerM2',\n          style: { textAlign: 'right' },\n          Cell: data =>\n            <div className=\"google-translate-helper\">\n              { data.value\n                ? localizedNumberFormatter(Number(data.value.replaceAll(' ', '')), currencySymbolFormatter(data.cell.row.original.currencyId, true))\n                : ''\n              }\n            </div>,\n        },\n\n        //===========================================================================>\n\n        { Header:\n            <div className=\"align-right\">\n              { I18n.t('providers.statistics.index.days_active', { days_in_period: statisticData.length ? statisticData[0].daysInPeriod : 0 }) }\n            </div>\n            ,\n          Footer: '',\n          style: { textAlign: 'right' },\n          accessor: 'locationCountDaysActive',\n          Cell: data => <div className=\"google-translate-helper\">{ data.value ? localizedNumberFormatter(Number(data.value)) : 0 }</div>\n        },\n\n        //===========================================================================>\n\n        { Header: <div className=\"align-right\">{ I18n.t('providers.statistics.index.shown_count') }</div>,\n          Footer: statisticDataTotal.locationEventsShownCount ? localizedNumberFormatter(Number(statisticDataTotal.locationEventsShownCount)) : '0',\n          style: { textAlign: 'right' },\n          accessor: 'locationEventsShownCount',\n          Cell: data => <div className=\"google-translate-helper\">{ data.value ? localizedNumberFormatter(Number(data.value)) : 0 }</div>\n        },\n\n        //===========================================================================>\n\n        { Header: <div className=\"align-right\">{ I18n.t('providers.statistics.index.client_enquiries') }</div>,\n          Footer: (statisticDataTotal && Object.keys(statisticDataTotal).length && localizedNumberFormatter(Number(statisticDataTotal.countClientEnquiries) + Number(statisticDataTotal.countProviderMessages) + Number(statisticDataTotal.countShowcaseOrders))) || 0,\n          accessor: 'countClientEnquiries',\n          style: { textAlign: 'right' },\n          Cell: data =>\n            <div className=\"google-translate-helper\">\n              { localizedNumberFormatter(Number(data.value) + Number(data.cell.row.original.countProviderMessages) + Number(data.cell.row.original.countShowcaseOrders)) || 0 }\n            </div> ,\n        },\n\n        //===========================================================================>\n\n        // { Header: I18n.t('providers.statistics.index.provider_message_enquiries'),\n        //   Footer: statisticDataTotal.countProviderMessages || '0',\n        //   accessor: 'countProviderMessages',\n        // },\n\n        //===========================================================================>\n\n        // { Header: I18n.t('providers.statistics.index.book_showcase_enquiries'),\n        //   Footer: statisticDataTotal.countShowcaseOrders || '0',\n        //   accessor: 'countShowcaseOrders',\n        // },\n\n        //===========================================================================>\n\n        { Header: <div className=\"align-right\">{ I18n.t('providers.statistics.index.extra_enquiries') }</div>,\n          Footer: statisticDataTotal.countExtraEnquiries ? localizedNumberFormatter(statisticDataTotal.countExtraEnquiries) : '0',\n          style: { textAlign: 'right' },\n          accessor: 'countExtraEnquiries',\n          Cell: data => <div className=\"google-translate-helper\">{ data.value ? localizedNumberFormatter(Number(data.value)) : 0 }</div>,\n        },\n\n        //===========================================================================>\n\n        { Header: <div className=\"align-right\">{ I18n.t('providers.statistics.index.contact_info') }</div>,\n          Footer: statisticDataTotal.locationEventsContactDetailsShownCount ? localizedNumberFormatter(statisticDataTotal.locationEventsContactDetailsShownCount) : '0',\n          style: { textAlign: 'right' },\n          accessor: 'locationEventsContactDetailsShownCount',\n          Cell: data => <div className=\"google-translate-helper\">{ data.value ? localizedNumberFormatter(Number(data.value)) : 0 }</div>\n        },\n\n        //===========================================================================>\n\n        { Header: <div className=\"align-right\">{ I18n.t('providers.statistics.index.provider_info') }</div>,\n          Footer: statisticDataTotal.locationEventsProviderAdvertsShownCount ? localizedNumberFormatter(statisticDataTotal.locationEventsProviderAdvertsShownCount) : '0',\n          style: { textAlign: 'right', paddingRight: '24px' },\n          accessor: 'locationEventsProviderAdvertsShownCount',\n          Cell: data => <div className=\"google-translate-helper\">{ data.value ? localizedNumberFormatter(Number(data.value)) : 0 }</div>\n        },\n\n        //===========================================================================>\n\n      ],\n  [statisticData, statisticDataTotal]\n);\n","import React, { useState } from 'react';\nimport { useQuery } from '@apollo/client';\nimport DateTimePicker from 'react-datetime-picker';\n\nimport BasicDropdown from '../../SharedComponents/Forms/BasicDropdown';\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport { useDebouncedEffect } from \"../../SharedComponents/hooks\";\nimport {\n  GET_STATISTIC_FILE,\n  GET_STATISTICS,\n  GET_STATISTICS_TOTAL\n} from '../ApolloClient/queries';\nimport NetworkError from \"../Errors/NetworkError\";\nimport Table from '../Table';\nimport ExpandedStatistics from \"./ExpandedStatistics\";\nimport { StatisticColumns } from './StatisticColumns';\n\nimport './index.sass';\nimport TokenizedFileModalLink from \"../Modals/TokenizedFileModalLink\";\n\n\nconst Statistic = ({ currencySymbolFormatter, currentLocale, leaseKinds, dateFrom: initialDateFrom, dateTo: initialDateTo }) => {\n\n  const [dateFrom, setDayFrom] = useState(new Date(initialDateFrom));\n  const [dateTo, setDayTo] = useState(new Date(initialDateTo));\n  const [statisticData, setStatisticData] = useState([]);\n  const [statisticDataTotal, setStatisticDataTotal] = useState({});\n  const [totalCount, setTotalCount] = useState(0);\n  const [initialLoad, setInitialLoad] = useState(true);\n  const [queryValue, setQueryValue] = useState('');\n\n  const [filters, setFilters] = useState({\n    timeFrom: '',\n    timeTo: '',\n    kind: null,\n    page: 1,\n    perPage: 10,\n    query: '',\n  });\n\n  const { loading, error } = useQuery(GET_STATISTICS,\n    { variables: { ...filters },\n      fetchPolicy: 'no-cache',\n      onCompleted: results => {\n        const data = results.statistic;\n        const dataLength = data.statisticData && data.statisticData.length;\n\n        if (dataLength >= 0) {\n          const editedData = [];\n          const newData = { ...data.statisticData[0], expanded: true };\n\n          data.statisticData.map((data, index) => editedData.push(index === 0 ? newData : { ...data }));\n          setStatisticData(editedData);\n\n          setTotalCount(data.statisticRowsCount);\n          !dateFrom && setDayFrom(new Date(new Date().setDate(new Date().getDate() - data.statisticData[0].daysInPeriod)));\n        }\n\n        setInitialLoad(false);\n\n      },\n    });\n\n  const { loading: loadingTotal } = useQuery(GET_STATISTICS_TOTAL,\n    { variables: { ...filters },\n      fetchPolicy: 'no-cache',\n      onCompleted: results => {\n        results && results.statisticTotal && setStatisticDataTotal(results.statisticTotal);\n      },\n    });\n\n\n  const { kind, page, perPage } = filters;\n  const hideYearlyRentColumn = !statisticData.some(data => data.locationYearlyRentPerM2);\n  const hideLocationEventsColumns = !(statisticData && statisticData.length && statisticData[0].showContactDetailsInFrontend);\n\n  const hiddenColumns = [\n    `${hideYearlyRentColumn && 'locationYearlyRentPerM2'}`,\n    `${hideLocationEventsColumns && 'locationEventsContactDetailsShownCount'}`,\n    `${hideLocationEventsColumns && 'locationEventsProviderAdvertsShownCount'}`,\n  ];\n\n  const perPageOptions = [\n    { value: '10', label: '10' },\n    { value: '20', label: '20' },\n    { value: '40', label: '40' },\n  ];\n\n  const kindsOptions =\n    [{ value: null, label: I18n.t('generic.all'), className: !kind ? 'selected' : null }]\n      .concat(leaseKinds.map(kind => ({ value: kind, label: I18n.t(`generic.${kind}`) })\n  ));\n\n\n  const downloadUrl = (extension) => {\n    const timeFromQuery = dateFrom ? `time_from=${dateFrom.toLocaleDateString('en-GB').replaceAll('/', '-')}` : '';\n    const timeToQuery = dateTo ? `&time_to=${dateTo.toLocaleDateString('en-GB').replaceAll('/', '-')}` : '';\n    const kindQuery = kind ? `&kind=${kind}` : '';\n\n    return `/providers/statistics/download.${extension}?${timeFromQuery}${timeToQuery}${kindQuery}`\n  };\n\n\n  const handleFilters = (newFilters) => {\n    setFilters(prevFilters => ({\n      ...prevFilters,\n      ...newFilters,\n    }));\n    setStatisticData([]);\n  };\n\n\n  const handleDate = (date, field, setState) => {\n\n    let newDate = new Date(date);\n\n    // We need to set time and remove time zone offset to get a proper time request,\n    // as DateTimePicker returns date with time 00:00:00 +/-timezone\n    if (field === 'timeTo' && date) {\n      newDate.setHours(23,59,59,59);\n      const timeToUserTimezoneOffset = newDate.getTimezoneOffset() * 60000;\n      newDate = new Date(newDate.getTime() - timeToUserTimezoneOffset);\n    };\n\n    handleFilters({ [field]: newDate || '' });\n    setState(date);\n  };\n\n\n  useDebouncedEffect(() => {\n    queryValue !== filters.query && handleFilters({query: queryValue, page: 1})\n  }, [queryValue], 500);\n\n\n  const handleExpand = (id) => {\n    const editedData = [];\n    const selectedIndex = statisticData.findIndex(data => data.locationId === id);\n    const isExpanded = statisticData[selectedIndex].expanded ? false : true;\n    const newData = { ...statisticData[selectedIndex], expanded: isExpanded };\n\n    statisticData.map((data, index) => editedData.push(index === selectedIndex ? newData : { ...data }));\n    setStatisticData(editedData);\n  };\n\n\n  const statisticColumns = StatisticColumns(statisticData, statisticDataTotal, currentLocale, handleExpand, currencySymbolFormatter);\n\n\n  if (error) return <NetworkError />;\n\n\n  return (\n    <div className=\"statistics\">\n      <div className=\"statistics__filters-wrapper\">\n        <div className=\"statistics__filters\">\n\n          <div className=\"search-input-wrapper\">\n            <input\n              className=\"search-input\"\n              maxLength=\"256\"\n              onChange={(e) => setQueryValue(e.target.value)}\n              placeholder={I18n.t('generic.search')}\n              type=\"text\"\n              value={queryValue} />\n            <SvgIco name=\"search\" size={16} />\n          </div>\n\n          <DateTimePicker\n            calendarIcon={<SvgIco name=\"calendar_today\" size={16} />}\n            clearIcon={<SvgIco name=\"close\" size={24} />}\n            className={dateFrom ? '' : 'empty'}\n            dayPlaceholder={I18n.t('providers.statistics.index.date_from')}\n            disableClock={true}\n            format=\"dd-MM-yyyy\"\n            maxDate={new Date}\n            onChange={(date) => handleDate(date, 'timeFrom', setDayFrom)}\n            value={dateFrom} />\n\n          <DateTimePicker\n            calendarIcon={<SvgIco name=\"calendar_today\" size={16} />}\n            clearIcon={<SvgIco name=\"close\" size={24} />}\n            className={dateTo ? '' : 'empty'}\n            dayPlaceholder={I18n.t('providers.statistics.index.date_to')}\n            disableClock={true}\n            format=\"dd-MM-yyyy\"\n            minDate={dateFrom}\n            onChange={(date) => handleDate(date, 'timeTo', setDayTo)}\n            value={dateTo} />\n\n          <BasicDropdown\n            handleChange={(value) => handleFilters({ kind: value || '', page: 1 })}\n            name=\"kind\"\n            options={kindsOptions}\n            placeholder={I18n.t('apps.lb_showroom.showroom.list.property_kind')}\n            value={kind}\n            wrapperClass=\"kind-select\" />\n\n        </div>\n\n        { !!statisticData.length &&\n          <div className=\"statistics__file-buttons-wrapper\">\n              <TokenizedFileModalLink\n                dataName=\"statisticFile\"\n                fileName=\"downloadFileToken\"\n                linkLabel=\"CSV\"\n                query={GET_STATISTIC_FILE}\n                variables={{ timeFrom: filters.timeFrom, timeTo: filters.timeTo, kind: filters.kind || '', type: 'csv' }}\n              />\n              <TokenizedFileModalLink\n                dataName=\"statisticFile\"\n                fileName=\"downloadFileToken\"\n                linkLabel=\"Excel\"\n                query={GET_STATISTIC_FILE}\n                variables={{ timeFrom: filters.timeFrom, timeTo: filters.timeTo, kind: filters.kind || '', type: 'xls' }}\n              />\n          </div>\n        }\n\n      </div>\n\n      <Table\n        columns={statisticColumns}\n        currentPage={page}\n        data={statisticData}\n        disableSortBy={true}\n        expandable={true}\n        footerLoading={loadingTotal}\n        hiddenColumns={hiddenColumns}\n        initialLoad={initialLoad}\n        loading={loading}\n        perPage={perPage}\n        perPageOptions={perPageOptions}\n        renderExpandableRow={(data) => <ExpandedStatistics data={data} key={data.locationId} />}\n        setPage={(page) => handleFilters({ page })}\n        setPerPage={(perPage) => handleFilters({ perPage, page: 1 })}\n        showFooter={true}\n        totalCount={totalCount} />\n\n    </div>\n  );\n};\n\nexport default Statistic;\n","import React, { Fragment, useEffect, useRef, useState } from 'react';\nimport { Link } from 'react-router-dom';\nimport { HashLink } from 'react-router-hash-link';\nimport ReactTooltip from \"react-tooltip\";\n\nimport { Portal } from \"../../SharedComponents/hooks\";\nimport { SvgIco } from \"../../SharedComponents/Icons\";\nimport TooltipPopup from \"../Popups/TooltipPopup\";\nimport { EllipsisLoader } from \"../Loaders\";\n\n\n// COMPONENTS =========================================================================================================>\n\nexport const TableFilterHeader = ({ additionalClass, handleOrderBy, headline, isActive, style, orderDirection }) => {\n\n  const iconName = orderDirection === 'desc' && isActive ? 'arrow_upward' : 'arrow_downward';\n\n  return (\n    <div className={`table-header ${additionalClass || ''}`} onClick={handleOrderBy}>\n      <span style={style || null}>{ headline }</span>\n      <SvgIco\n        className={isActive ? ' active' : ''}\n        name={iconName}\n        size={16} />\n    </div>\n  )\n};\n\n\nexport const TableHashLink = ({ link, value, offset, additionalClass, nowrap }) => {\n\n  const handleScroll = (elem) => {\n    const targetTop = elem.getBoundingClientRect().top;\n    const targetCoords = Math.floor(targetTop + window.scrollY - offset);\n\n    window.scroll(0, targetCoords);\n  };\n\n  return (\n    <HashLink\n      scroll={(el) => handleScroll(el)} className={additionalClass || ''}\n      style={nowrap ? { whiteSpace: \"nowrap\" } : {}}\n      to={link}>\n      { value }\n    </HashLink>\n  )\n};\n\n\nexport const InfoIconTooltip = ({ id, tooltip, position }) =>\n    <div className=\"table-tooltip-wrapper\">\n      <div data-tip={tooltip}\n         data-class=\"table-tooltip\"\n         data-for={`${id}-tooltip`}>\n        <SvgIco name=\"info_outline\" size={21} />\n      </div>\n\n      <ReactTooltip\n        border={true}\n        borderColor=\"black\"\n        effect='solid'\n        id={`${id}-tooltip`}\n        place={position || 'top'}\n        type=\"light\"\n      />\n    </div>;\n\n\nexport const CellDropdown = ({ options, handleChange, value, id, matchPrevColumn, withCallback, afterOptionChange, onShow, loading }) => {\n  const [activeOption, setActiveOption] = useState(options.filter(option => option.value === value)[0]);\n  const [menuTop, setMenuTop] = useState(null);\n  const [menuLeft, setMenuLeft] = useState(null);\n  const [menuIsOpen, setMenuIsOpen] = useState(false);\n  const [wrapperHeight, setWrapperHeight] = useState('auto');\n  const dropdown = useRef();\n\n  const menuStyles = { left: `${menuLeft}px`, top: `${menuTop}px` };\n\n  useEffect(() => {\n    handleWrapperHeight();\n    window.addEventListener('click', handleClickOutside);\n\n    return () => window.removeEventListener('click', handleClickOutside);\n  }, []);\n\n  useEffect(() => {\n    afterOptionChange && afterOptionChange(activeOption.value);\n  }, [activeOption]);\n\n  const setMenuState = () => {\n    if (menuIsOpen) {\n      setMenuIsOpen(false);\n    } else {\n      const dropdownRef = dropdown.current;\n      const dropdownBottomCoords = dropdownRef && dropdownRef.getBoundingClientRect().top + window.scrollY + dropdownRef.clientHeight + 1;\n      const dropdownLeftCoords = dropdownRef && dropdownRef.getBoundingClientRect().left;\n\n      setMenuTop(dropdownBottomCoords);\n      setMenuLeft(dropdownLeftCoords);\n      setMenuIsOpen(true);\n      onShow && onShow(() => setMenuIsOpen(false));\n    }\n  };\n\n  const handleOptionClick = (option) => {\n    !withCallback && setActiveOption(option);\n    handleChange(option.value, () => setActiveOption(option));\n  };\n\n  const handleClickOutside = (e) =>\n    !dropdown.current.contains(e.target) && setMenuIsOpen(false);\n\n\n  const handleWrapperHeight = () => {\n    if (!matchPrevColumn) return;\n\n    const prevColumnElement = document.getElementById(id);\n    const prevColumnElementHeight = prevColumnElement && prevColumnElement.clientHeight;\n\n    setWrapperHeight(`${prevColumnElementHeight}px`);\n\n    // setTimeout(() => {\n    //   const prevColumnElement = document.getElementById(id);\n    //   const prevColumnElementHeight = prevColumnElement && prevColumnElement.clientHeight;\n    //\n    //   setWrapperHeight(`${prevColumnElementHeight}px`);\n    // }, 200);\n  };\n\n\n  return (\n    <div className=\"cell-dropdown-wrapper\" style={{ height: wrapperHeight }}>\n      <div className=\"cell-dropdown\" onClick={setMenuState} ref={dropdown}>\n        { menuIsOpen &&\n          <Portal>\n            <div className=\"cell-dropdown__menu\" style={menuStyles}>\n              { options.map(option =>\n                <div className={`cell-dropdown__option ${option.value === value ? 'active' : ''}`}\n                     onClick={() => handleOptionClick(option)}\n                     key={`${option.label}${id}`}>\n                  { option.label }\n                </div>\n              )}\n            </div>\n          </Portal>\n        }\n\n        { loading ? <EllipsisLoader /> : activeOption.label }\n\n        { menuIsOpen\n          ? <SvgIco name=\"expand-less\" size={18} />\n          : <SvgIco name=\"expand-more\" size={18} />\n        }\n\n      </div>\n    </div>\n  )\n};\n\n\nexport const EditDropDown = ({ data, modalClick }) => {\n\n  const clickOnDropDown = (data, editModal) => {\n    modalClick(data, editModal)\n  };\n\n  return (\n    <Fragment>\n      <p className=\"table-action-link\" onClick={() => clickOnDropDown(data.row.original, true)}>\n        <SvgIco name=\"edit\" size={24} />\n        { I18n.t('generic.edit') }\n      </p>\n      { data.row.original.isDestroyable && (\n        <p className=\"table-action-link\" onClick={() => clickOnDropDown(data.row.original)}>\n          <SvgIco name=\"delete_outline\" size={24} />\n          { I18n.t(\"generic.delete\") }\n        </p>\n      )}\n    </Fragment>\n  )\n};\n\n\nexport const handleHorizontalScroll = (name, handleClose) => {\n  const tableWrapper = document.getElementById(`${name}TableWrapper`);\n\n  const handleScroll = () => {\n    handleClose();\n    tableWrapper.removeEventListener('scroll', handleScroll);\n  }\n\n  tableWrapper.addEventListener('scroll', handleScroll);\n};\n\n\n// <========================================================================================================= COMPONENTS\n\n\n//=======================================================================================================> LATEST ORDERS\n\n\nexport const LatestOrdersColumns = (clientOrders, setOrderBy, orderDirection, orderBy) => React.useMemo(\n  () => [\n    {\n      Header:<TableFilterHeader headline={I18n.t(\"reports.providers_order_report.created_at\")}\n                                orderDirection={orderDirection}\n                                handleOrderBy={() => setOrderBy('created_at')}\n                                isActive={orderBy === 'created_at'} />,\n      accessor: 'createdAtFormatted',\n    },\n    {\n      Header: ({column}) => {\n        return (\n          <div className={`table-header`}>\n            <span>{ I18n.t(\"generic.providers.sidebar.leases\") }</span>\n            <SvgIco\n              className={column.isSortedDesc ? ' active' : ''}\n              name={column.isSortedDesc ? 'arrow_upward' : 'arrow_downward'}\n              size={16} />\n          </div>\n        )\n      },\n      accessor: 'locationAddress',\n      Cell: ({cell}) => {\n        return (\n          <a href={cell.row.original.locationPath}>{cell.row.original.locationAddress}</a>\n        )\n      }\n    },\n    {\n      Header: ({column}) => {\n        return (\n          <div className={`table-header`}>\n            <span>{ I18n.t(\"activerecord.attributes.location.area_interval\") }</span>\n            <SvgIco\n              className={column.isSortedDesc ? ' active' : ''}\n              name={column.isSortedDesc ? 'arrow_upward' : 'arrow_downward'}\n              size={16} />\n          </div>\n        )\n      },\n      accessor: 'locationAreaFormatted',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n    {\n      Header: ({column}) => {\n        return (\n          <div className={`table-header`}>\n            <span>{ I18n.t(\"activerecord.attributes.location.yearly_rent_per_m2_from\") }</span>\n            <SvgIco\n              className={column.isSortedDesc ? ' active' : ''}\n              name={column.isSortedDesc ? 'arrow_upward' : 'arrow_downward'}\n              size={16} />\n          </div>\n        )\n      },\n      accessor: 'locationYearlyRentPerM2FromFormatted',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n    {\n      Header: ({column}) => {\n        return (\n          <div className={`table-header`}>\n            <span>{ I18n.t(\"providers.statistics.index.kind\") }</span>\n            <SvgIco\n              className={column.isSortedDesc ? ' active' : ''}\n              name={column.isSortedDesc ? 'arrow_upward' : 'arrow_downward'}\n              size={16} />\n          </div>\n        )\n      },\n      accessor: 'locationKindTranslated',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n  ],\n  [clientOrders]\n);\n\n\n//=============================================================================================> REPORT A DEAL LOCATIONS\n\n\nexport const ReportDealLocation = (locations, locationId, handleSelect) => React.useMemo(\n  () => [\n    {\n      Header: I18n.t('providers.statistics.index.address'),\n      accessor: 'addressLine1',\n      Cell: data => {\n        return(\n          <div className=\"check-button\">\n            <input\n              type=\"radio\"\n              name=\"address\"\n              id={data.cell.row.original.id}\n              value={data.cell.row.original.id}\n              checked={locationId == data.cell.row.original.id}\n              onChange={(e) => handleSelect(e.target.value, data.cell.row.original.state)}\n              className=\"checkoption-input\"\n            />\n            <label htmlFor={data.cell.row.original.id} className=\"select-option\">\n              <span className=\"option-checkmark\" />\n              <div className=\"google-translate-helper\">{ data.value }</div>\n            </label>\n          </div>)}\n    },\n    {\n      Header: I18n.t(\"providers.locations.form.zip_and_city\"),\n      accessor: 'postalCode',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n    {\n      Header: I18n.t(\"generic.type\"),\n      accessor: 'kindTranslated',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n    {\n      Header: `${I18n.t(\"activerecord.attributes.location.area_interval\")}`,\n      accessor: 'areaFrom',\n      Cell: data => {\n        if (data.value) {\n          const areaLabel = `${data.value}${data.cell.row.original.areaTo ? ` - ${data.cell.row.original.areaTo}` : '' } ${data.cell.row.original.areaUnit || ''}`\n\n          return <div className=\"google-translate-helper\">{ areaLabel }</div>\n        } else {\n          return '';\n        }\n      },\n    },\n    {\n      Header: I18n.t(\"providers.statistics.index.status\"),\n      accessor: \"stateTranslated\",\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n    {\n      Header: I18n.t('activerecord.attributes.location.internal_identifier'),\n      accessor: \"internalIdentifier\",\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n  ], [locations, locationId]\n);\n\n\n//================================================================================================> REPORT A DEAL ORDERS\n\n\nexport const ReportDealOrders = (orders, setClientId, orderId, handleCloseNotification) => React.useMemo(\n  () => [\n    {\n      Header: I18n.t(\"generic.company_name\"),\n      accessor: 'companyName',\n      Cell: data => {\n        return(\n        <div className=\"check-button\">\n          <input\n            type=\"radio\"\n            name=\"company-name\"\n            id={data.cell.row.original.clientId}\n            value={data.cell.row.original.clientId}\n            checked={orderId == data.cell.row.original.clientId}\n            onChange={(e) => { setClientId(e.target.value); handleCloseNotification()}}\n            className=\"checkoption-input\"\n          />\n          <label htmlFor={data.cell.row.original.clientId} className=\"select-option\">\n            <span className=\"option-checkmark\" />\n            <div className=\"google-translate-helper\">{ data.value }</div>\n          </label>\n        </div>)}\n    },\n    {\n      Header: I18n.t('generic.name'),\n      accessor: 'personName',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n    {\n      Header: I18n.t(\"generic.email\"),\n      accessor: 'email',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n  ], [orders, orderId]\n);\n\n\n//============================================================================================================> CONTACTS\n\n\nexport const ContactsColumns = (dataTable, clickOnDropDown, orderDirection, setOrderBy, activeFilter) => React.useMemo(\n  () => [\n    {\n      Header: I18n.t(\"generic.actions\"),\n      accessor: 'action',\n      Cell: data => (\n        <TooltipPopup id={`${data.cell.row.original.id}-actions-popup`}\n                      place=\"right\"\n                      className=\"table-actions-popup\"\n                      height={28}\n                      offset={{ top: -20 }}\n                      hideBorder={true}\n                      onShow={(handleClose) => handleHorizontalScroll('contacts', handleClose)}\n                      icon=\"more_vert\"\n                      children={\n                        <div className=\"table-actions-wrapper\">\n                          <EditDropDown\n                            data={data}\n                            modalClick={clickOnDropDown}\n                          />\n                        </div>}/>\n      )\n    },\n\n    {\n      Header: 'ID',\n      accessor: 'id',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n\n    {\n      Header:\n        <TableFilterHeader headline={I18n.t('generic.name')}\n                           orderDirection={orderDirection}\n                           handleOrderBy={() => setOrderBy('name')}\n                           isActive={activeFilter === 'name'} />,\n      accessor: 'name',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n\n    {\n      Header: I18n.t(\"generic.email\"),\n      accessor: 'email',\n      Cell: e => <a href={`mailto:${e.value}`}> {e.value} </a>\n    },\n\n    {\n      Header: I18n.t('generic.phone'),\n      accessor: 'phoneNumber',\n      Cell: data =>\n        <div>\n          <a href={`tel://${data.row.original.phoneNumber}`}> {data.row.original.phoneNumber} </a>\n        </div>\n    },\n  ],\n  [dataTable, activeFilter]\n);\n\n\n//====================================================================================================> DELETED CONTACTS\n\n\nexport const DeletedContactsColumns = (dataTable, handleDeleteLinkClick, activeDeleteContact, orderDirection, setOrderBy, activeFilter ) => React.useMemo(\n  () => [\n\n    {\n      Header: 'ID',\n      accessor: 'id',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n\n    {\n      Header:\n        <TableFilterHeader headline={I18n.t('generic.name')}\n                           orderDirection={orderDirection}\n                           handleOrderBy={() => setOrderBy('name')}\n                           isActive={activeFilter === 'name'} />,\n      accessor: 'name',\n      Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n    },\n\n    {\n      Header: I18n.t(\"generic.email\"),\n      accessor: 'email',\n      Cell: e => <a href={`mailto:${e.value}`}> {e.value} </a>\n    },\n\n    {\n      Header: I18n.t('generic.status'),\n      accessor: '',\n      Cell: data =>\n        <div>\n          <p className=\"contacts-table__active-button\" onClick={() => activeDeleteContact(data.row.original.id)}>\n            { I18n.t(\"providers.contacts.deleted_list.activate\") }\n          </p>\n        </div>\n    },\n    {\n      Header: I18n.t('providers.contacts.deleted_list.permanent_removal'),\n      accessor: '',\n      Cell: data =>\n        <div>\n          <p className=\"contacts-table__delete-forever-button\" onClick={() => handleDeleteLinkClick(data.row.original)}>\n            { I18n.t('providers.contacts.deleted_list.delete_permanently') }\n          </p>\n        </div>\n    },\n  ],\n  [dataTable, activeFilter]\n);\n\n\n//===================================================================================================> CONTACT LOCATIONS\n\n\nexport const ContactLocationsColumns = (contactLocation, currentLocale) => React.useMemo(\n  () => [\n    {\n      Header: ({column}) => {\n        return (\n          <div className={`table-header`}>\n            <span>{ I18n.t(\"generic.name\") }</span>\n            <SvgIco\n              className={column.isSortedDesc ? ' active' : ''}\n              name={column.isSortedDesc ? 'arrow_upward' : 'arrow_downward'}\n              size={16} />\n          </div>\n        )\n      },\n      accessor: 'name',\n      Cell: data =>\n        <Link to={`${currentLocale}/new_providers/locations/edit/${data.row.original.location.id}/location`}>\n          {data.row.original.location.address}\n        </Link>\n    },\n    {\n      Header: ({column}) => {\n        return (\n          <div className={`table-header`}>\n            <span>{ I18n.t(\"providers.contacts.edit.role\") }</span>\n            <SvgIco\n              className={column.isSortedDesc ? ' active' : ''}\n              name={column.isSortedDesc ? 'arrow_upward' : 'arrow_downward'}\n              size={16} />\n          </div>\n        )\n      },\n\n      accessor: 'roleTranslated',\n      Cell: data =>\n        <Link to={`${currentLocale}/new_providers/locations/edit/${data.row.original.location.id}/contacts`}>\n          { data.value }\n        </Link>,\n    },\n  ], [contactLocation]\n);\n","import React, { useEffect, useState, Fragment } from 'react';\nimport { debounce } from 'throttle-debounce';\n// import { useTable } from 'react-table/src/hooks/useTable';\n// import { useSortBy } from 'react-table/src/plugin-hooks/useSortBy';\n// import { usePagination } from 'react-table/src/plugin-hooks/usePagination';\n\nimport { useTable, useSortBy, usePagination } from 'react-table'\nimport TableHead from '@material-ui/core/TableHead';\nimport TableBody from '@material-ui/core/TableBody';\nimport TableRow from '@material-ui/core/TableRow';\nimport TableCell from '@material-ui/core/TableCell';\nimport MaUTable from '@material-ui/core/Table';\nimport TableFooter from '@material-ui/core/TableFooter';\nimport ReactPaginate from 'react-paginate';\nimport { useSticky } from 'react-table-sticky';\n\nimport NoResultsImage from '../../../src/images/icons/no-rsults.svg';\nimport BasicDropdown from '../../SharedComponents/Forms/BasicDropdown';\nimport { KeyboardArrowLeftRounded, KeyboardArrowRightRounded } from '../../SharedComponents/Icons';\nimport { SkeletonLoader } from '../Loaders';\n\nimport './index.sass';\n\nconst Table = ({\n  data,\n  columns,\n  footerLoading,\n  perPage,\n  setPerPage,\n  perPageOptions,\n  initialLoad,\n  setPage,\n  totalCount,\n  showFooter,\n  name,\n  noPagination,\n  disableSortBy,\n  hideBottomFilters,\n  currentPage,\n  extraClass,\n  hiddenColumns,\n  noScrollToTop,\n  loading,\n  passPageIndex,\n  disableSort,\n  gotAllData,\n  expandable,\n  renderExpandableRow,\n}) => {\n\n  const [showStickyBorder, setShowStickyBorder] = useState(true);\n\n  const tableData = React.useMemo(\n    () => (loading ? Array(perPage).fill({}) : data),\n    [loading, data],\n  );\n\n  const tableColumns = React.useMemo(\n    () =>\n      loading\n        ? columns.map((column) => ({\n            ...column,\n            Cell: <SkeletonLoader className=\"table-loader\" count={1} />,\n          }))\n        : columns,\n    [loading, columns],\n  );\n\n  const noResults = React.useMemo(\n    () => !loading && !initialLoad && !data.length,\n    [loading, initialLoad, data],\n  );\n\n  const isExpandable = React.useMemo(\n    () => expandable,\n    [expandable],\n  );\n\n  useEffect(() => {\n    const table = document.getElementById(`${name || ''}TableWrapper`);\n    const stickyStartTarget = document.getElementById(`${name}-sticky-start-target`);\n\n    table && stickyStartTarget && table.addEventListener('scroll', debounce(10, handleTableScroll));\n  }, []);\n\n  const handleTableScroll = () => {\n    const stickyStartTarget = Math.round(document.getElementById(`${name}-sticky-start-target`).getBoundingClientRect().left);\n    const scrollEndTarget = Math.round(document.getElementById(`${name}-scroll-end-target`).getBoundingClientRect().right);\n\n    stickyStartTarget === scrollEndTarget\n      ? setShowStickyBorder(false)\n      : setShowStickyBorder(true);\n  };\n\n  useEffect(() => {\n    setHiddenColumns(hiddenColumns || []);\n  }, [hiddenColumns]);\n\n  const {\n    getTableProps,\n    getTableBodyProps,\n    headerGroups,\n    page,\n    prepareRow,\n    footerGroups,\n    pageCount,\n    gotoPage,\n    setPageSize,\n    setHiddenColumns,\n    state: { pageIndex, pageSize },\n  } = useTable(\n    {\n      columns: tableColumns,\n      data: tableData,\n      disableSortRemove: disableSort,\n      disableSortBy,\n      initialState: {\n        pageIndex: passPageIndex ? currentPage - 1 : 0,\n        pageSize: perPage,\n        hiddenColumns: hiddenColumns || [],\n        sortBy: disableSort\n          ? [\n              {\n                id: 'name',\n                asc: true,\n              },\n              {\n                id: 'roleTranslated',\n                asc: true,\n              },\n            ]\n          : [],\n      },\n    },\n    useSortBy,\n    usePagination,\n    useSticky,\n  );\n\n  useEffect(() => {\n    setPageSize(perPage);\n  }, [perPage]);\n\n  useEffect(() => {\n    if (!noPagination && gotAllData)\n      setPage(pageIndex+1)\n  }, [pageSize]);\n\n  const handlePerPage = (value) => {\n    const scrollTop = perPage > value;\n    setPageSize(value);\n\n    setPerPage(value);\n    scrollTop && window.scroll(0, 0)\n  };\n\n  const handlePage = (value) => {\n    !noScrollToTop && window.scroll({ top: 0, behavior: 'smooth' });\n\n    // We need to set timeout for correct scroll behaviour on Safari and Firefox,\n    // as by the moment scrolling and changing window content causes bugs in this browsers\n    setTimeout(() => {\n      setPage(value);\n      gotAllData ? gotoPage(value - 1) : null;\n    }, 35);\n  };\n\n  const showTable = !noResults && !!tableData.length;\n\n\n  return (\n    <div className=\"provider-table-wrapper\">\n      <div\n        className={`provider-table ${extraClass}`}\n        id={`${name || ''}TableWrapper`}\n      >\n        { noResults && !initialLoad && (\n          <div className=\"provider-table__no-results-wrapper\">\n            <p>{I18n.t('search_agent.no_results')}</p>\n            <img\n              src={NoResultsImage}\n              alt=\"No results\"\n              className=\"provider-table__no-results-img\"\n              width={457}\n              height={271}\n            />\n          </div>\n        ) }\n        {showTable && (\n          <MaUTable {...getTableProps()} className={`table sticky ${showStickyBorder ? 'sticky-border' : ''}`}>\n            <TableHead className=\"header\">\n              {headerGroups.map((headerGroup) => (\n                <tr {...headerGroup.getHeaderGroupProps()}>\n                  {headerGroup.headers.map((column) => (\n                    <th\n                      {...column.getHeaderProps(column.getSortByToggleProps())}\n                    >\n                      {column.render('Header')}\n                    </th>\n                  ))}\n                </tr>\n              ))}\n            </TableHead>\n\n            <TableBody\n              {...getTableBodyProps()}\n              className={`body ${loading ? 'loading' : ''}`}\n            >\n              { page.map((row) => {\n                prepareRow(row);\n                return (\n                  <Fragment key={`table-row-${row.index}`}>\n\n                    <TableRow\n                      {...row.getRowProps()}\n                      className={`\n                        ${(!row.original.isDestroyable && name === 'contacts') ? 'main-contact' : ''}\n                        ${row.index % 2 !== 0 ? ' even' : ''}\n                      `}>\n                      { row.cells.map((cell) =>\n                          <TableCell {...cell.getCellProps([{ style: cell.column.style }])}>\n                            { cell.render('Cell') }\n                          </TableCell>\n                      )}\n                    </TableRow>\n\n                    { isExpandable && !loading &&\n                      <tr className={`provider-table__expanded-row${row.original.expanded ? ' expanded' : ''}${row.index % 2 !== 0 ? ' even' : ''}`}>\n                        <div className=\"wrapper\" style={{ position: 'relative', display: 'contents' }}>\n                          { renderExpandableRow(row.original) }\n                        </div>\n                        {/*We need this to properly show the background*/}\n                        { Array.apply('test', Array(row.cells.length)).map((elem, index) =>\n                          <td key={'helper-cell' + index} className={row.original.expanded ? ' expanded' : ''} />\n                        )}\n                      </tr>\n                    }\n\n                  </Fragment>\n                );\n              })}\n            </TableBody>\n            { showFooter && (\n              <TableFooter>\n                {footerGroups.map((group) => (\n                  <TableRow {...group.getFooterGroupProps()}>\n                    {group.headers.map((column) => (\n                      <TableCell {...column.getFooterProps()}>\n                        { footerLoading ? <SkeletonLoader className=\"table-loader\" count={1} /> : column.render('Footer') }\n\n                      </TableCell>\n                    ))}\n                  </TableRow>\n                ))}\n              </TableFooter>\n            )}\n          </MaUTable>\n        )}\n      </div>\n\n      {!noPagination && showTable && (\n        <div className=\"pagination-wrapper\">\n          {!hideBottomFilters && (\n            <Fragment>\n              <ReactPaginate\n                previousLabel={<KeyboardArrowLeftRounded size={20} />}\n                nextLabel={<KeyboardArrowRightRounded size={20} />}\n                pageCount={\n                  totalCount ? Math.ceil(totalCount / perPage) : pageCount\n                }\n                breakLabel={'...'}\n                pageRangeDisplayed={2}\n                marginPagesDisplayed={1}\n                onPageChange={(data) =>\n                  setPage\n                    ? handlePage(data.selected + 1)\n                    : gotoPage(data.selected)\n                }\n                containerClassName={'pagination'}\n                activeClassName={'active'}\n                forcePage={currentPage ? currentPage - 1 : 0}\n              />\n\n              <div className=\"per-page-wrapper\">\n                <div className=\"per-page-label\">{I18n.t('generic.show')}:</div>\n                <BasicDropdown\n                  options={perPageOptions}\n                  value={`${perPage}`}\n                  name=\"perPage\"\n                  wrapperClass=\"per-page\"\n                  handleChange={(option) => handlePerPage(Number(option))}\n                />\n              </div>\n            </Fragment>\n          )}\n        </div>\n      )}\n    </div>\n  );\n};\n\n\nexport default Table;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\n\nexport const UnresolvedAgreementColumns = (agreementsData, currentLocale, handleReject) =>\n  React.useMemo(\n    () => [\n      //===========================================================================>\n\n      {\n        Header: I18n.t('providers.providers.provider_deals_notifications.client'),\n        accessor: 'personName',\n        Cell: data => <div className=\"google-translate-helper\">{ data.value }</div>,\n      },\n\n      //===========================================================================>\n\n      {\n        Header: I18n.t('generic.locations'),\n        accessor: 'address',\n        Cell: data => <div className=\"google-translate-helper\">{ data.value || '' }</div>,\n      },\n\n      //===========================================================================>\n\n      {\n        Header: I18n.t('providers.providers.provider_deals_notifications.created_at'),\n        accessor: 'createdAtFormatted',\n        Cell: data => <div className=\"google-translate-helper\">{ data.value || '' }</div>,\n      },\n\n      //===========================================================================>\n\n      {\n        Header: '',\n        accessor: 'confirm',\n\n        Cell: (data) => {\n          const { clientId, locationId, id, orderId } = data.row.original;\n          return (\n            <Link\n              className=\"unresolved-agreement__confirm-link\"\n              to={`${currentLocale}/new_providers/report_deal?client_id=${clientId}&location_id=${locationId}&provider_deal_id=${id}&order_id=${orderId}`}\n            >\n              { I18n.t('providers.providers.provider_deals_notifications.accept') }\n            </Link>\n          );\n        },\n      },\n\n      //===========================================================================>\n\n      {\n        Header: '',\n        accessor: 'reject',\n\n        Cell: (data) => (\n          <div onClick={() => handleReject(data.row.original)} className=\"unresolved-agreement__reject-link\">\n            { I18n.t('generic.reject') }\n          </div>\n        ),\n      },\n    ],\n    [agreementsData],\n  );\n","import React, { useState } from 'react';\nimport { useQuery } from '@apollo/client';\nimport { useLocation } from \"react-router-dom\";\n\nimport { useRouterQuery } from \"../../SharedComponents/hooks\";\nimport { GET_UNRESOLVED_PROVIDER_DEALS } from '../ApolloClient/queries';\nimport RejectAgreementModal from '../Modals/RejectAgreementModal';\nimport Table from '../Table';\nimport { UnresolvedAgreementColumns } from './Columns';\n\nimport './index.sass';\n\n\nconst UnresolvedAgreement = ({ currentLocale }) => {\n\n  const query = useRouterQuery();\n\n  const [rejectModalIsOpen, setRejectModalIsOpen] = useState(false);\n  const [selectedProviderDeal, setSelectedProviderDeal] = useState({});\n  const [unresolvedProviderDeals, setUnresolvedProviderDeals] = useState([]);\n\n  const {} = useQuery(GET_UNRESOLVED_PROVIDER_DEALS, {\n    onCompleted: (data) => {\n      const rejectDealId = parseInt(query.get('reject_deal_id'));\n      const { unresolvedProviderDeals } = data;\n      const rejectedDeal = rejectDealId && unresolvedProviderDeals.find(deal => Number(deal.id) === Number(rejectDealId));\n\n      data && unresolvedProviderDeals && setUnresolvedProviderDeals(unresolvedProviderDeals);\n\n      if (rejectedDeal) {\n        setSelectedProviderDeal(rejectedDeal);\n        setRejectModalIsOpen(true);\n      }\n    },\n  });\n\n  const handleReject = (data) => {\n    setSelectedProviderDeal(data);\n    setRejectModalIsOpen(true);\n  };\n\n  const columns = UnresolvedAgreementColumns(unresolvedProviderDeals, currentLocale, handleReject);\n  const isReportADealPage = useLocation().pathname.includes('report_deal');\n\n  if (!!unresolvedProviderDeals.length && !isReportADealPage) {\n    return (\n      <div className=\"unresolved-agreement\">\n        <RejectAgreementModal\n          data={selectedProviderDeal}\n          handleClose={() => setRejectModalIsOpen(false)}\n          showModal={rejectModalIsOpen}\n        />\n\n        <h3>{ I18n.t('providers.providers.provider_deals_notifications.heading') }</h3>\n\n        <p className=\"unresolved-agreement__explanation\">\n          { I18n.t('providers.providers.provider_deals_notifications.description') }\n        </p>\n\n        <Table\n          columns={columns}\n          data={unresolvedProviderDeals}\n          disableSortBy={true}\n          extraClass=\"no-wrap\"\n          name=\"unresolvedAgreements\"\n          noPagination={true}\n          hideBottomFilters={true}\n          perPage={10}\n        />\n      </div>\n    );\n  } else {\n    return null;\n  }\n};\n\nexport default UnresolvedAgreement;\n","import React from 'react';\nimport { Link } from 'react-router-dom';\n\nimport WelcomeBanner from '../../../src/images/provider/welcome_banner.svg';\n\nimport \"./index.sass\"\n\n\nconst WelcomePage = ({ siteName, contactName, contactEmail, currentLocale }) => {\n\n  const capitalize = (name) => name.charAt(0).toUpperCase() + name.slice(1);\n\n  return (\n    <div className=\"welcome\">\n      <img src={WelcomeBanner} alt=\"Get Assistance\" width={303} height={216} />\n      <h1 className=\"welcome__title\">{ I18n.t('providers.pages.welcome.heading') } {contactName}</h1>\n      <p className=\"welcome__subtitle\">{ I18n.t('providers.pages.welcome.body_first_part', { site_name: siteName }) }</p>\n      <p className=\"welcome__description\">{ I18n.t('providers.pages.welcome.body_second_part', {email: contactEmail}) }</p>\n\n      <p className=\"welcome__subtitle\">{ I18n.t('providers.pages.welcome.body_third_part') }</p>\n\n      <div className=\"welcome__buttons-wrapper\">\n        <Link\n          to={`${currentLocale}/new_providers/lease/new/location`}\n          className=\"welcome__button create-new-lease\"\n        >{ I18n.t(\"providers.pages.welcome.new_location_link\") }</Link>\n\n        <Link\n          to={`${currentLocale}/new_providers/settings/provider`}\n          className=\"welcome__button edit-information\"\n        >{ capitalize(I18n.t(\"providers.pages.welcome.edit_contact_link\")) }</Link>\n\n      </div>\n\n\n    </div>\n  )\n};\n\nexport default WelcomePage;\n","import React, { useState, useEffect } from 'react';\nimport { BrowserRouter, Switch, Route } from 'react-router-dom';\nimport { ApolloProvider } from '@apollo/client';\nimport 'scroll-behavior-polyfill';\n\nimport { preventResizeObserverError } from \"../../utils/resizeObzerver\";\nimport { loadTawkTo } from '../TawkTo/TawkTo';\nimport { client } from './ApolloClient/client.js';\nimport ProviderHeader from './ProviderHeader';\nimport SideBar from './SideBar';\nimport Statistic from './Statistic';\nimport Locations from './Locations';\nimport ProviderSettings from './Settings/ProviderSettings';\nimport HelpPage from './HelpPage';\nimport MainDashboard from './MainDashboard';\nimport Clients from './Clients/index';\nimport Footer from './Footer';\nimport ContactsPage from './ContactsPage';\nimport LocationForm from './LocationForm';\nimport ClientInfo from './ClientInfo/ClientInfo';\nimport ContactSettings from './Settings/ContactSettings';\nimport ReportDeal from './ReportDeal';\nimport LocationInfo from './LocationInfo';\nimport WelcomePage from './WelcomePage';\nimport Invoices from \"./Invoices\";\nimport UnresolvedAgreement from './UnresolvedAgreement';\nimport ProviderInactive from \"./ProviderInactive\";\nimport ScrollToTop from '../SharedComponents/ScrollToTop';\nimport Page404 from './Errors/Page404';\n\nimport './index.sass';\n\n\nconst Provider = ({\n  createLease,\n  footer,\n  googleApiKey,\n  helpContent,\n  links,\n  locale,\n  locations,\n  newClientsCount,\n  partnerBadgeUrl,\n  patternedProspectusEnabled,\n  providerAdvertisingStrategy,\n  providerApproved,\n  providerInactive,\n  providerOnDealStrategy,\n  providerPartner,\n  settings,\n  siteKey,\n  siteName,\n  statistics,\n  stripeInvoicesApiKey,\n}) => {\n\n  const [newClientsQuantity, setNewClientsQuantity] = useState(newClientsCount);\n  const [updatedProviderInfo, setUpdatedProviderInfo] = useState(null);\n  const [updatedContactInfo, setUpdatedContactInfo] = useState(null);\n\n  const currentLocale = locale && (locale === 'fr-BE' || locale === 'fr-CH') ? `/${locale}` : '';\n  const { qualityScorePageLink } = links;\n\n\n  useEffect(() => {\n    loadTawkTo(siteKey);\n    preventResizeObserverError();\n  }, []);\n\n\n  const currencySymbolFormatter = (currencyId, asName) => {\n    const { currencyList, defaultCurrencyId } = createLease;\n    const currencies = JSON.parse(currencyList);\n    const currency = currencies.filter((item) => {\n      const currentCurrency =\n        (currencyId && Number(currencyId)) || defaultCurrencyId.id;\n      return item.id === currentCurrency;\n    })[0];\n\n    return asName ? currency.name : currency.formatted;\n  };\n\n\n  const resourceNotFoundError = (error) =>\n    !!( error\n        && error.graphQLErrors\n        && error.graphQLErrors.length\n        && error.graphQLErrors[0].extensions\n        && error.graphQLErrors[0].extensions.code === 'RESOURCE_NOT_FOUND'\n      );\n\n\n  const isNumber = (value) => value ? /^\\d+$/.test(value) : true;\n\n\n  return (\n    <div className=\"provider\">\n      <ApolloProvider client={client}>\n        <BrowserRouter>\n\n          <ProviderHeader\n            currentLocale={currentLocale}\n            siteKey={siteKey}\n            contractUrl={settings.contractUrl}\n          />\n\n          <div className=\"main-provider-wrapper\">\n            <SideBar\n              companyName={footer.providerInfo.companyName}\n              currentContactEmail={footer.currentContactEmail}\n              currentContactName={footer.currentContactName}\n              currentLocale={currentLocale}\n              currentPhoneName={footer.currentPhoneName}\n              links={links}\n              newClientsCount={newClientsQuantity}\n              providerPartner={providerPartner}\n              siteKey={siteKey}\n            />\n\n            <div className=\"content-section\" id=\"providerContent\">\n\n              { !providerInactive && <UnresolvedAgreement currentLocale={currentLocale} /> }\n\n              <ScrollToTop />\n\n              { !providerInactive &&\n                <Switch>\n                  <Route exact path={'/:locale?/new_providers'}>\n                    <MainDashboard\n                      currencySymbolFormatter={currencySymbolFormatter}\n                      contactName={footer.currentContactInfo.name}\n                      currentLocale={currentLocale}\n                      enquiryStates={settings.enquiryStates}\n                      isNumber={isNumber}\n                      providerApproved={providerApproved}\n                      providerOnDealStrategy={providerOnDealStrategy}\n                      resourceNotFoundError={resourceNotFoundError}\n                      siteName={siteName}\n                      states={locations.states}\n                    />\n                  </Route>\n\n                  <Route exact path=\"/:locale?/new_providers/statistic\">\n                    <Statistic\n                      {...statistics}\n                      currencySymbolFormatter={currencySymbolFormatter}\n                      currentLocale={currentLocale}\n                      leaseKinds={createLease.leaseKinds}\n                    />\n                  </Route>\n\n                  <Route exact path=\"/:locale?/invoices\">\n                    <Invoices stripeInvoicesApiKey={stripeInvoicesApiKey} locale={locale}/>\n                  </Route>\n\n                  <Route exact path=\"/:locale?/new_providers/locations/:category\">\n                    <Locations\n                      currentLocale={currentLocale}\n                      providerOnDealStrategy={providerOnDealStrategy}\n                      siteName={siteName}\n                      states={locations.states}\n                      providerApproved={providerApproved}\n                    />\n                  </Route>\n\n                  <Route exact path=\"/:locale?/new_providers/locations/info/:id\">\n                    <LocationInfo\n                      currencySymbolFormatter={currencySymbolFormatter}\n                      currentLocale={currentLocale}\n                      googleApiKey={googleApiKey}\n                      isNumber={isNumber}\n                      partnerBadgeUrl={partnerBadgeUrl}\n                      providerAdvertisingStrategy={providerAdvertisingStrategy}\n                      providerApproved={providerApproved}\n                      providerOnDealStrategy={providerOnDealStrategy}\n                      providerPartner={providerPartner}\n                      qualityScorePageLink={qualityScorePageLink}\n                      resourceNotFoundError={resourceNotFoundError}\n                      siteKey={siteKey}\n                      siteName={siteName}\n                    />\n                  </Route>\n\n                  <Route\n                    path={[\n                      '/:locale?/new_providers/:locationSection/new',\n                      '/:locale?/new_providers/locations/:editPage/:id',\n                    ]}\n                  >\n                    <LocationForm\n                      {...createLease}\n                      countryAlpha2={settings.countryAlpha2}\n                      currentContactId={settings.currentContactId}\n                      currentLocale={currentLocale}\n                      googleApiKey={googleApiKey}\n                      isNumber={isNumber}\n                      partnerBadgeUrl={partnerBadgeUrl}\n                      patternedProspectusEnabled={patternedProspectusEnabled}\n                      providerPartner={providerPartner}\n                      resourceNotFoundError={resourceNotFoundError}\n                      siteKey={siteKey}\n                      siteName={siteName}\n                    />\n                  </Route>\n\n                  <Route\n                    exact\n                    path={['/:locale?/new_providers/orders', '/:locale?/new_providers/orders/:id']}\n                  >\n                    <Clients\n                      {...settings}\n                      currencySymbolFormatter={currencySymbolFormatter}\n                      currentLocale={currentLocale}\n                      defaultLocale={createLease.defaultLocale}\n                      isNumber={isNumber}\n                      locale={locale}\n                      newClientsCount={newClientsCount}\n                      providerId={settings.providerId}\n                      resetNewClients={() => setNewClientsQuantity(null)}\n                      resourceNotFoundError={resourceNotFoundError}\n                    />\n                  </Route>\n\n                  <Route exact path=\"/:locale?/new_providers/clients/:id\">\n                    <ClientInfo\n                      currentLocale={currentLocale}\n                      isNumber={isNumber}\n                      locale={locale}\n                      resourceNotFoundError={resourceNotFoundError}\n                    />\n                  </Route>\n\n                  <Route exact path=\"/:locale?/new_providers/help\">\n                    <HelpPage content={helpContent}/>\n                  </Route>\n\n                  <Route exact path=\"/:locale?/new_providers/settings/provider\">\n                    <ProviderSettings\n                      {...settings}\n                      currentLocale={currentLocale}\n                      siteKey={siteKey}\n                      updateProviderInfo={setUpdatedProviderInfo}/>\n                  </Route>\n\n                  <Route path=\"/:locale?/new_providers/settings/contact\">\n                    <ContactSettings\n                      {...settings}\n                      currentLocale={currentLocale}\n                      updateContactInfo={setUpdatedContactInfo}/>\n                  </Route>\n\n                  <Route exact path={'/:locale?/new_providers/report_deal'}>\n                    <ReportDeal\n                      currentLocale={currentLocale}\n                      siteName={siteName}\n                      siteKey={siteKey}\n                      providerId={settings.providerId}\n                      providerOnAdvertisingStrategy={settings.providerOnAdvertisingStrategy}\n                    />\n                  </Route>\n\n                  <Route exact path=\"/:locale?/new_providers/welcome\">\n                    <WelcomePage\n                      siteName={siteName}\n                      contactEmail={footer.currentContactInfo.email}\n                      contactName={footer.currentContactInfo.name}\n                      currentLocale={currentLocale}\n                    />\n                  </Route>\n\n                  <Route exact path=\"/:locale?/new_providers/contacts\">\n                    <ContactsPage\n                      currentLocale={currentLocale}\n                      providerId={settings.providerId}/>\n                  </Route>\n\n                  <Route path=\"*\">\n                    <Page404 currentLocale={currentLocale}/>\n                  </Route>\n                </Switch>\n              }\n\n              { providerInactive &&\n                <ProviderInactive\n                  currentLocale={currentLocale}\n                  data={footer}\n                />\n              }\n\n            </div>\n          </div>\n        </BrowserRouter>\n      </ApolloProvider>\n      <Footer\n        footer={footer}\n        providerInfo={updatedProviderInfo || footer.providerInfo}\n        currentContactInfo={updatedContactInfo || footer.currentContactInfo}\n      />\n    </div>\n  );\n};\n\n\nexport default Provider;\n","import React from 'react';\n\nimport { Area, Tooltip, XAxis, YAxis, AreaChart, ResponsiveContainer } from \"recharts\";\n\nimport './InlineChart.sass'\n\n\nconst CustomizedAxisTick = (props) => {\n  const { fontSize, x, y, payload } = props;\n\n  return (\n    <g transform={`translate(${x},${y})`}>\n      <text x={0} y={0} dy={5}\n            textAnchor=\"end\"\n            fill=\"black\"\n            transform=\"rotate(-70)\"\n            fontSize={fontSize || 12}>\n        { payload.value }\n      </text>\n    </g>\n  );\n};\n\n\nconst CustomTooltip = ({ active, payload }) => {\n\n  if (active && payload && payload.length && payload[0].payload.tooltip) {\n    return (\n      <div className=\"custom-tooltip\">\n        { payload[0].payload.tooltip }\n      </div>\n    );\n  }\n\n  return null;\n};\n\n\nconst CustomizedDot = (props) => {\n  const { cx, cy, payload, color } = props;\n  const { dotSize, label } = payload;\n\n  if (payload && label) {\n    return (\n      <svg x={cx - (dotSize ? dotSize / 2 : 4)} y={cy - (dotSize ? dotSize / 2 : 4)} width={dotSize || 8} height={dotSize || 8} fill=\"white\">\n        <g transform={`translate(${dotSize ? dotSize / 2 : 4} ${dotSize ? dotSize / 2 : 4})`}>\n          <circle r={dotSize ? dotSize / 2 : 4} fill={color || \"#77bc1f\"} />\n          <circle r={dotSize ? dotSize / 4 : 2} fill=\"white\" />\n        </g>\n      </svg>\n    );\n  }\n\n  return null;\n};\n\n\nconst InlineChart = ({ data, tickFontSize, height, lineKey, xKey, width, xaxisHeight }) => {\n\n  const dataMax = data.reduce((previousValue, current) => previousValue + current[lineKey], 0) > 0 ? 'dataMax' : 1;\n\n  return (\n    <div className=\"inline-chart\">\n      <ResponsiveContainer width=\"100%\" height=\"100%\">\n        <AreaChart\n          width={width || 503}\n          height={height || 336}\n          data={data}\n          margin={{ top: 20, right: 8, left: -20, bottom: 10}}>\n\n          <XAxis interval={0}\n                 dataKey={xKey}\n                 tick={<CustomizedAxisTick fontSize={tickFontSize} />}\n                 height={xaxisHeight || 80}\n                 stroke=\"black\" />\n\n          <YAxis stroke=\"black\"\n                 domain={['dataMin', dataMax]}\n                 allowDecimals={false} />\n\n          <Tooltip content={<CustomTooltip />}/>\n\n          <Area dot={<CustomizedDot/>}\n                key={Math.random()}\n                type=\"monotone\"\n                strokeWidth={2}\n                dataKey={lineKey}\n                stroke=\"#77bc1f\"\n                fill=\"rgba(119, 188, 31, 0.1)\"\n          />\n\n        </AreaChart>\n      </ResponsiveContainer>\n    </div>\n  )\n}\n\nexport default InlineChart;\n","import React, { Fragment, useEffect, useState } from 'react';\n\nimport \"./FormMessageBlock.sass\";\n\n\nconst FormMessageBlock = ({ show, closeNotification}) => {\n  const [showBlock, setShow] = useState(show.show);\n  const color = show.color;\n\n  useEffect(() => {\n    setShow(show.show);\n  }, [show.show]);\n\n\n  useEffect(\n    () => {\n      let timer1 = setTimeout(() => {\n        setShow(false);\n        if (closeNotification) {\n          closeNotification()\n        }\n      }, 3000);\n\n      return () => {\n        clearTimeout(timer1);\n      };\n    },\n\n    [showBlock]\n  );\n\n  return (\n    <Fragment>\n      { showBlock &&\n        <div className={`form-notification-block ${color === 'green' ? 'green' : 'red'}`}>\n          <span>{show.message}</span>\n        </div>\n      }\n    </Fragment>\n  );\n};\n\nexport default FormMessageBlock;\n","import React from 'react';\nimport Dropdown from 'react-dropdown';\nimport 'react-dropdown/style.css';\n\nimport { SvgIco } from '../../Icons';\n\nimport './index.sass';\n\n\nconst BasicDropdown = ({ disabled, error, options, handleChange, value, name, wrapperClass, required, placeholder }) => {\n\n  return (\n    <div className={`basic-dropdown ${wrapperClass || ''}${ error ? ' error' : '' }${ disabled ? ' disabled' : '' }`}>\n      <Dropdown\n        arrowClosed={<SvgIco name=\"expand-more\" size={24} />}\n        arrowOpen={<SvgIco name=\"expand-less\" size={24} />}\n        id={name}\n        name={name}\n        onChange={(option) => handleChange(option.value, name)}\n        options={options}\n        placeholder={placeholder || I18n.t('helpers.select.prompt')}\n        value={value}\n      />\n      { required && <span className=\"required-icon\">*</span> }\n      { error && <div className=\"error-tooltip\">{ error }</div> }\n    </div>\n\n  )\n}\n\nexport default BasicDropdown;\n","import React, { useState } from 'react';\nimport classNames from 'classnames';\n\nimport { SvgIco } from \"../../Icons\";\n\nimport './index.sass';\n\n\nconst BasicInput = ({ disabled,\n                      error,\n                      float,\n                      handleChange,\n                      hideError,\n                      inputClass,\n                      name,\n                      placeholder,\n                      required,\n                      type,\n                      value,\n                      wrapperClass,\n                    }) => {\n\n  const [passwordVisible, setPasswordVisibility] = useState(false);\n  const inputClasses = classNames(inputClass, { 'error': error, 'filled': value, 'required-form-group': required });\n  const inputType = passwordVisible || !type || type === 'number' ? 'text' : type;\n\n\n  // Input type 'number' doesn't work on Safari, Firefox and passes letter 'E' in Chrome\n  // This is why we need to check it manually to prevent bugs\n  const handleInputChange = (e) => {\n    const value = e.target.value.replace(',', '.');\n    e.target.value = value;\n\n    type === 'number'\n      ? ((float ? /^\\d*\\.?\\d*$/ : /^\\d+$/).test(e.target.value) || !e.target.value) && handleChange(e)\n      : handleChange(e);\n  };\n\n\n  return (\n    <div className={`input-wrapper ${ wrapperClass || '' }`}>\n      <input\n        disabled={disabled}\n        name={name}\n        type={inputType}\n        value={value}\n        id={name}\n        onChange={handleInputChange}\n        className={inputClasses}\n        placeholder={placeholder || I18n.t('providers.input_placeholder')}\n      />\n\n      { type === 'password' &&\n        ( passwordVisible\n          ? <SvgIco className=\"password-visibility\" name=\"visibility\" onClick={() => setPasswordVisibility(false)} size={18} />\n          : <SvgIco className=\"password-visibility\" name=\"visibility_off\" onClick={() => setPasswordVisibility(true)} size={18} />\n        )\n      }\n\n      { required && <span className=\"required-icon\">*</span> }\n      { error && !hideError && <div className=\"error-tooltip\">{ error }</div> }\n    </div>\n  )\n}\n\n\nexport default BasicInput;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport { SvgIco } from \"../../Icons\";\n\nimport './index.sass';\n\n\nconst Checkbox = ({ name, handleChange, handleBlur, inputClass, label, field, value }) => {\n\n  const checkboxClasses = classNames(\"checkbox\", { inputClass });\n\n\n  return (\n    <div className=\"form-group form-group--checkbox\">\n      <div className=\"checkbox-label-wrapper\">\n        <label htmlFor={name}>\n          <input\n            name={name}\n            type=\"checkbox\"\n            value={value}\n            id={name}\n            onChange={(e) => handleChange(e, field || name)}\n            onBlur={handleBlur}\n            className={checkboxClasses}\n            checked={value}\n          />\n          <span className=\"checkmark\">\n            <SvgIco name=\"check\" size={17} />\n          </span>\n          <div className=\"checkbox-label\">{ label }</div>\n        </label>\n      </div>\n    </div>\n  )\n}\n\nexport default Checkbox;\n","export const nameError = I18n.t('apps.lb_showroom.misc.scoped_form.name.invalid');\nexport const emailError = I18n.t('apps.lb_showroom.detailed.order_form.validation.wrong_email');\nexport const companyError =  I18n.t('apps.lb_showroom.misc.scoped_form.company.invalid');\nexport const phoneError = I18n.t('apps.lb_showroom.misc.scoped_form.phone.invalid');\nexport const postalCodeError = I18n.t('activerecord.errors.models.postal_code.attributes.postal_code.invalid');\nexport const eanError = I18n.t('apps.lb_showroom.detailed.order_form.validation.ean_error');\nexport const vatIdError = I18n.t('apps.lb_showroom.misc.scoped_form.vat_id.invalid');\nexport const addressError = I18n.t('apps.lb_showroom.misc.scoped_form.address.invalid');\nexport const cityError = I18n.t('apps.lb_showroom.misc.scoped_form.city.invalid');\nexport const manySimilarSymbolsError = I18n.t('apps.lb_showroom.detailed.order_form.validation.too_many_similar_symbols');\nexport const atLeastOneLetterError = I18n.t('apps.lb_showroom.detailed.order_form.validation.at_least_one_letter');\nexport const atLeastEightDigitsError = I18n.t('apps.lb_showroom.detailed.order_form.validation.at_least_8_digits');\n\nexport const symbolsLimitError = (symbols_limit) => I18n.t('apps.lb_showroom.misc.scoped_form.max_symbols_limit', { symbols_limit });\nexport const requiredFieldError = (field) => I18n.t('apps.lb_showroom.detailed.order_form.validation.field_required', { field });\nexport const minNumberError = (field) => I18n.t('apps.lb_showroom.detailed.order_form.validation.min_number', { field });\n\n","import React, { useState } from 'react';\nimport classNames from 'classnames';\n\nimport { SvgIco } from \"../../Icons\";\n\nimport './index.sass';\n\n\n\nconst Input = ({ name, type, value, handleChange, handleBlur, inputClass, label, error, required, placeholder, style }) => {\n\n  const [passwordVisible, setPasswordVisibility] = useState(false);\n  const inputClasses = classNames(inputClass, { 'error': error, 'filled': value || placeholder });\n  const inputType = passwordVisible || !type ? 'text' : type;\n\n\n  return (\n    <div className=\"base-input form-group\">\n      <input\n        name={name}\n        type={inputType}\n        value={value}\n        id={name}\n        onChange={handleChange}\n        onBlur={handleBlur}\n        className={inputClasses}\n        placeholder={placeholder}\n        style={style}\n      />\n\n      { type === 'password' &&\n        ( passwordVisible\n          ? <SvgIco className=\"password-visibility\" name=\"visibility\" onClick={() => setPasswordVisibility(false)} size={18} />\n          : <SvgIco className=\"password-visibility\" name=\"visibility_off\" onClick={() => setPasswordVisibility(true)} size={18} />\n        )\n      }\n\n      <span className={`floating-label ${(value || placeholder) && 'active'}`}>\n        { label }{ required && '*' }\n      </span>\n\n      { error && <div className=\"error-tooltip\"> { error }</div> }\n    </div>\n  )\n};\n\n\nexport default Input;\n","import React from 'react';\n\nimport './index.sass';\n\n\nconst RadioButtons = ({ options,\n                        name,\n                        handleChange,\n                        wrapperClass,\n                        activeClass,\n                      }) => {\n  return (\n    <div className={`radio-buttons ${wrapperClass || ''}`}>\n      {options.map((option) => (\n        <div\n          className={`radio-buttons__button-wrapper${ option.checked ? ' checked' : '' }`}\n          key={`${name}${option.value}`}\n        >\n          <label\n            className={`radio-buttons__label${ option.checked && activeClass ? ` ${activeClass}` : '' }`}\n            htmlFor={`${name}-${option.value}`}\n          >\n            <input\n              type=\"radio\"\n              value={option.value}\n              name={name}\n              id={`${name}-${option.value}`}\n              checked={option.checked}\n              onChange={() => handleChange(option.value)}\n            />\n            { option.label }\n          </label>\n\n          <div className=\"radio-buttons__icon\">\n            <span />\n          </div>\n        </div>\n      ))}\n    </div>\n  );\n};\n\nexport default RadioButtons;\n","import React, { useEffect, useState, useRef } from 'react';\nimport Select, { components } from 'react-select';\nimport 'react-dropdown/style.css';\n\nimport { SvgIco } from '../../Icons';\n\nimport './index.sass';\n\n\n\nconst SearchableDropdown = ({ options, handleChange, value, name, wrapperClass, required, disabled, error, placeholder, classNamePrefix }) => {\n\n  const [isOpen, setIsOpen] = useState(false);\n  const dropdownContainer = useRef();\n  const selectedOption = value && options.length ? options.filter(option => option.value === value)[0] : null;\n\n\n  useEffect(() => {\n    const container = dropdownContainer.current;\n    const closeDropdown = (e) => !container.contains(e.target) && setIsOpen(false);\n\n    isOpen\n      ? window.addEventListener('click', closeDropdown)\n      : window.removeEventListener('click', closeDropdown);\n  }, [isOpen]);\n\n\n  const DropdownIndicator = props => {\n    return (\n      <components.DropdownIndicator {...props}>\n        <SvgIco className=\"search-icon\" name=\"search\" size={24} />\n      </components.DropdownIndicator>\n    );\n  };\n\n\n  return (\n    <div className={`searchable-dropdown ${wrapperClass || ''}`} ref={dropdownContainer}>\n\n      <div className={`searchable-dropdown__trigger-area${disabled ? ' disabled' : ''}${ error ? ' error' : '' }`}\n           onClick={() => !disabled && setIsOpen(prevState => !prevState)}>\n\n        <div className={`searchable-dropdown__trigger-label${!value ? ' placeholder' : ''}`}>\n          { selectedOption ? selectedOption.label : placeholder || I18n.t('helpers.select.prompt') }\n        </div>\n\n        { isOpen\n          ? <SvgIco name=\"expand-less\" size={24} />\n          : <SvgIco name=\"expand-more\" size={24} />\n        }\n\n      </div>\n\n      { error && <div className=\"error-tooltip\">{ error }</div> }\n\n      <Select\n        isSearchable\n        components={{ DropdownIndicator }}\n        options={options}\n        className={`${classNamePrefix}${!isOpen ? ' hidden' : ''}`}\n        menuIsOpen={true}\n        onSelect={() => setIsOpen(false)}\n        autoFocus={true}\n        isFocused={true}\n        value={{ value }}\n        name={name}\n        styles={customStyles}\n        classNamePrefix={classNamePrefix}\n        noOptionsMessage={() => I18n.t('searches.show.no_results')}\n        onChange={(option) => {\n          setIsOpen(false)\n          handleChange(option.value, name)\n        }}\n        theme={theme => ({\n          ...theme,\n          colors: {\n            ...theme.colors,\n            primary25: '#F6F6F6',\n            primary: '#F6F6F6',\n          },\n        })}\n      />\n\n      { required && <span className=\"required-icon\">*</span> }\n    </div>\n\n  )\n}\n\nexport default SearchableDropdown;\n\n\nconst customStyles = {\n  indicatorContainer: (provided) => ({\n    ...provided,\n    color: '#E0E2E2',\n    ['&:hover']: () => ({\n      color: '#E0E2E2',\n    })\n  }),\n  option: (provided, state) => ({\n    ...provided,\n    lineHeight: '20px',\n    padding: '10px 16px',\n    display: 'flex',\n    alignItems: 'center',\n    color: 'black',\n    borderRadius: '2px',\n    cursor: 'pointer',\n  }),\n  placeholder: () => ({\n    display: 'none',\n  }),\n  control: () => ({\n    minHeight: '32px',\n    maxHeight: '32px',\n    background: 'white',\n    border: '1px solid #E0E2E2',\n    borderRadius: '4px',\n    margin: '16px 16px 10px',\n    display: 'flex',\n  }),\n  input: () => ({\n    height: '30px',\n    display: 'flex',\n    alignItems: 'center',\n    paddingBottom: '4px',\n    paddingLeft: '5px',\n    marginLeft: '-3px',\n    ['input']: () => ({\n      width: '100%',\n    })\n  }),\n  menu: () => ({\n    margin: 0,\n    maxHeight: '500px',\n    overflow: 'hidden',\n    background: 'white',\n    paddingTop: '0px',\n    fontFamily: 'MuseoSans, Helvetica, Arial, sans-serif',\n  }),\n  menuList: (provided) => ({\n    ...provided,\n    maxHeight: '208px',\n  }),\n  singleValue: () => ({\n    top: '-2px',\n    position: 'relative',\n  }),\n  container: (provided) => ({\n    ...provided,\n    border: '1px solid #E0E2E2',\n    paddingTop: '10px',\n    borderRadius: '4px',\n    position: 'absolute',\n    width: 'calc(100% - 16px)',\n    zIndex: 1,\n    background: 'white',\n  }),\n  indicatorSeparator: () => ({\n    display: 'none',\n  }),\n};\n","import Yup from 'yup';\nimport postalCodes from 'postal-codes-js';\n\nimport { validationPatterns } from '../../../utils/validationPatterns';\nimport SignUp from '../../../utils/SignUp';\nimport { symbolsLimitError, requiredFieldError, minNumberError } from './ErrorMessages';\nimport {\n  companyError,\n  manySimilarSymbolsError,\n  atLeastOneLetterError,\n  eanError,\n  vatIdError,\n  addressError,\n  postalCodeError,\n  cityError,\n  nameError,\n  emailError,\n  phoneError,\n  atLeastEightDigitsError,\n} from './ErrorMessages';\n\nconst {\n        companyI18n,\n        vat_idI18n,\n        line_1I18n,\n        postal_codeI18n,\n        cityI18n,\n        nameI18n,\n        emailI18n,\n        phoneI18n,\n        passwordI18n,\n        eanI18n,\n      } = SignUp.getI18nAttrNames();\n\n\nexport const companyValidation =\n  Yup.string()\n     .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n     .matches(validationPatterns.company, companyError)\n     .matches(validationPatterns.specialCharacktersNotMoreThan, manySimilarSymbolsError)\n     .matches(validationPatterns.atLeastOneLetter, atLeastOneLetterError)\n     .required(requiredFieldError(companyI18n));\n\n\nexport const companyValidationNotRequired =\n  Yup.string()\n    .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n    .matches(validationPatterns.company, companyError)\n    .matches(validationPatterns.specialCharacktersNotMoreThan, manySimilarSymbolsError)\n    .matches(validationPatterns.atLeastOneLetter, atLeastOneLetterError);\n\n\nexport const vatIdValidation =\n  Yup.string()\n    .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n    .matches(validationPatterns.company, vatIdError)\n    .test('isRequired', requiredFieldError(vat_idI18n), function(value) {\n      const { path, createError } = this;\n\n      return this.parent.country_alpha2 !== 'dk' || value || createError({ path, message: requiredFieldError(vat_idI18n) });\n    });\n\n\nexport const eanValidation =\n  Yup.string()\n    .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n    .matches(validationPatterns.ean, eanError);\n\n\nexport const eanValidationRequired =\n  Yup.string()\n     .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n     .matches(validationPatterns.ean, eanError)\n     .required(requiredFieldError(eanI18n));\n\n\nexport const addressValidation =\n  Yup.string()\n     .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n     .matches(validationPatterns.company, addressError)\n     .matches(validationPatterns.specialCharacktersNotMoreThan, manySimilarSymbolsError)\n     .matches(validationPatterns.atLeastOneLetter, atLeastOneLetterError)\n     .required(requiredFieldError(line_1I18n));\n\n\nexport const postalCodeValidation =\n  Yup.string()\n     .test('isPostalCode', postalCodeError, function(value) {\n       const { path, createError } = this;\n       const codeIsValid = postalCodes.validate(this.parent.countryAlpha2, value);\n\n       return codeIsValid === true || !value || createError({ path, message: postalCodeError });\n     })\n     .required(requiredFieldError(postal_codeI18n));\n\n\nexport const postalCodeValidationProvider =\n  Yup.string()\n    .required(requiredFieldError(postal_codeI18n));\n\n\nexport const cityValidation =\n  Yup.string()\n     .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n     .matches(validationPatterns.name, cityError)\n     .matches(validationPatterns.specialCharacktersNotMoreThan, manySimilarSymbolsError)\n     .matches(validationPatterns.atLeastOneLetter, atLeastOneLetterError)\n     .required(requiredFieldError(cityI18n));\n\n\nexport const nameValidation =\n  Yup.string()\n     .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n     .matches(validationPatterns.name, nameError)\n     .matches(validationPatterns.specialCharacktersNotMoreThan, manySimilarSymbolsError)\n     .matches(validationPatterns.atLeastOneLetter, atLeastOneLetterError)\n     .required(requiredFieldError(nameI18n));\n\n\nexport const emailValidation =\n  Yup.string()\n     .matches(validationPatterns.symbolsEmailLimit, symbolsLimitError(100))\n     .email(emailError)\n     .required(requiredFieldError(emailI18n));\n\n\nexport const phoneValidation =\n  Yup.string()\n     .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n     .matches(validationPatterns.phone, phoneError)\n     .matches(validationPatterns.phoneSpecialCharactersNotMoreThan, manySimilarSymbolsError)\n     .test('minDigitsValidation', atLeastEightDigitsError, function(value) {\n       const { path, createError } = this;\n       const phoneIsValid = value && value.replace(/[+\\-\\s()]/g, '').length >= 8;\n\n       return phoneIsValid || !value || createError({ path, message: atLeastEightDigitsError });\n     })\n     .required(requiredFieldError(phoneI18n));\n\n\nexport const passwordValidation =\n  Yup.string()\n     .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n     .min(6, minNumberError(passwordI18n))\n     .required(requiredFieldError(passwordI18n));\n\n\nexport const passwordConfirmationValidation =\n  Yup.string()\n    .matches(validationPatterns.symbolsLimit, symbolsLimitError(254))\n    .required(requiredFieldError(I18n.t(\"activerecord.attributes.contact.password_confirmation\")))\n    .test('passwords-match', I18n.t(\"generic.passwords_must_match\"), function(value){\n      return this.parent.password === value\n    });\n\n\nexport const confirmPasswordValidation = Yup.string().oneOf([Yup.ref('password'), null], 'Passwords must match');\n\nexport const checkboxNotRequired = Yup.boolean();\n\n","import { useEffect } from 'react';\nimport { withRouter } from 'react-router-dom';\n\nfunction ScrollToTop({ history }) {\n  useEffect(() => {\n    const unlisten = history.listen(() => {\n      window.scrollTo(0, 0);\n    });\n    return () => {\n      unlisten();\n    }\n  }, []);\n\n  return (null);\n}\n\nexport default withRouter(ScrollToTop);","//Stop error resizeObserver\n\nexport const preventResizeObserverError = () => {\n  const debounce = (callback, delay) => {\n    let tid\n    return function(...args) {\n      // eslint-disable-next-line no-restricted-globals\n      const ctx = self\n      tid && clearTimeout(tid)\n      tid = setTimeout(() => {\n        callback.apply(ctx, args)\n      }, delay)\n    }\n  }\n\n  const _ = window.ResizeObserver\n  window.ResizeObserver = class ResizeObserver extends _ {\n    constructor(callback) {\n      callback = debounce(callback, 20)\n      super(callback)\n    }\n  }\n};\n","var map = {\n\t\"./ckb.js\": 50555,\n\t\"./da.js\": 10111,\n\t\"./de.js\": 64821,\n\t\"./en.js\": 4225,\n\t\"./es.js\": 2271,\n\t\"./fr.js\": 86600,\n\t\"./he.js\": 25242,\n\t\"./index.js\": 66483,\n\t\"./it.js\": 32670,\n\t\"./ja.js\": 85176,\n\t\"./ko.js\": 35773,\n\t\"./lv.js\": 72884,\n\t\"./nl.js\": 63768,\n\t\"./pl.js\": 21811,\n\t\"./pt_br.js\": 81779,\n\t\"./ro.js\": 9495,\n\t\"./ru.js\": 86253,\n\t\"./se.js\": 69850,\n\t\"./ua.js\": 26117,\n\t\"./ur.js\": 74769,\n\t\"./zh_cn.js\": 87930\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 3829;"],"names":["BaseMap","withScriptjs","withGoogleMap","props","React","GoogleMap","defaultZoom","defaultCenter","coordinates","onLoaded","gm","document","querySelector","classList","remove","options","gestureHandling","fullscreenControl","isFullscreenMobile","isGalleryMobileComponent","mapTypeControl","streetViewControl","isMobile","styles","mapStyles","className","concat","orientationHorizontalMobile","I18n","t","onClick","handleFullscreenMobile","SvgIco","name","size","Marker","icon","url","mapPin","scaledSize","width","height","position","markers","Map","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","_defineProperty","_assertThisInitialized","setState","state","_createClass","key","value","this","isGalleryComponent","_this$props","latitude","longitude","googleApiKey","oldVariant","_this$state","coordinatesObj","lat","lng","containerClass","googleMapURL","loadingElement","style","containerElement","mapElement","isTablet","Component","_ref","showDeleteButton","_useState","useState","_useState2","_slicedToArray","sessions","setSessions","_useMutation","useQuery","GET_SERVER_SIDE_SESSIONS","onCompleted","data","serverSideSessions","getServerSideSessions","useMutation","DELETE_SERVER_SIDE_SESSION","update","cache","result","refetchQueries","_useMutation2","deleteServerSideSession","_useMutation2$","currentSession","loading","error","find","session","isCurrent","marginTop","browserName","osName","osVersion","Date","createdAt","toLocaleTimeString","hour","minute","remoteIp","city","country","map","id","variables","input","Number","catch","console","log","partnerBadgeUrl","qualityScore","siteKey","alt","src","PartnerBadgeIconDk","PartnerBadgeIcon","ScoreActionTooltip","filled","providerPartner","score","label","href","target","children","client","ApolloClient","link","HttpLink","credentials","InMemoryCache","addTypename","typePolicies","Query","fields","location","merge","VALIDATE_LOCATION_FIELDS","gql","_templateObject","_taggedTemplateLiteral","ADD_LOCATION","_templateObject2","UPDATE_LOCATION","_templateObject3","ACTIVATE_LOCATION","_templateObject4","COPY_LOCATION","_templateObject5","DEACTIVATE_LOCATION","_templateObject6","DEACTIVATE_LOCATION_AT_THE_MONTH_END","_templateObject7","MARK_LOCATION_AS_RENTED_OUT","_templateObject8","REPORT_DEAL","_templateObject9","ACTIVATE_ENQUIRY","_templateObject10","GIVE_UP_ENQUIRY","_templateObject11","ADD_CLIENT_RELATION","_templateObject12","REJECT_PROVIDER_DEAL","_templateObject13","ADD_PAID_SERVICE_ORDER","_templateObject14","_templateObject15","ADD_INCOMPLETE_DEAL_NOTIFICATION","_templateObject16","RESET_NEW_CLIENTS_COUNT","_templateObject17","DELETE_CONTACT","_templateObject18","DELETE_CONTACT_FOREVER","_templateObject19","GET_CONTACTS","GET_LOCATIONS_OPTIONS_LIST","GET_LOCATIONS_XLS_TOKEN","GET_ORDERS_XLS_TOKEN","GET_STATISTIC_FILE","GET_LOCATIONS","GET_LOCATIONS_STATISTIC","GET_ORDERS","GET_ORDER","GET_CLIENT_INFO","GET_CLIENT_ORDERS","GET_CLIENT_ENQUIRIES","GET_PROVINCES","GET_POSTAL_DISTRICTS","GET_LOCATION_INFO","GET_LOCATION_VISUALS","GET_EXTRA_LEAD_PREVIEW","GET_LOCATION_VALUES","ADD_NEW_CONTACT","UPDATE_CONTACT","_templateObject20","GET_DELETED_CONTACTS","_templateObject21","ACTIVATE_DELETED_CONTACT","_templateObject22","HIDE_DELETED_CONTACT","_templateObject23","UPDATE_PROVIDER","_templateObject24","GET_PROVIDER","_templateObject25","UPDATE_CLIENT_INFO","_templateObject26","GET_CLIENT_NOTES","_templateObject27","GET_LOCATION_NOTES","_templateObject28","ADD_CLIENT_NOTE","_templateObject29","ADD_LOCATION_NOTE","_templateObject30","UPDATE_CLIENT_NOTE","_templateObject31","DELETE_CLIENT_NOTE","_templateObject32","GET_STATISTICS","_templateObject33","GET_LOCATION_STATISTICS","_templateObject34","GET_STATISTICS_TOTAL","_templateObject35","GET_CONTACT_INFO","_templateObject36","GET_LOCATIONS_REPORT_DEAL","_templateObject37","GET_LOCATION_REPORT_DEAL","_templateObject38","GET_CURRENCY","_templateObject39","GET_ORDERS_REPORT_DEAL","_templateObject40","GET_CONTACT_LOCATIONS","_templateObject41","GET_TOKENIZED_FILE","_templateObject42","GET_EXTRA_LEAD_LOCATION_ID","_templateObject43","GET_LOCATION_COPY_JOB","_templateObject44","GET_UNRESOLVED_PROVIDER_DEALS","_templateObject45","_templateObject46","GET_STRIPE_INVOICES","_templateObject47","GET_STRIPE_INTENT","_templateObject48","GENERATE_LOCATION_DESCRIPTION","_templateObject49","GENERATE_LOCATION_TITLE","_templateObject50","GENERATE_NEW_LOCATION_DESCRIPTION","_templateObject51","GENERATE_NEW_LOCATION_TITLE","_templateObject52","AnonymousBannerImg","ClientInfo","currentLocale","isNumber","locale","resourceNotFoundError","currentId","useParams","clientInfo","setClientInfo","_useState3","_useState4","clientOrders","setClientOrders","_useState5","_useState6","totalCount","setTotalCount","_useState7","_useState8","initialLoad","setInitialLoad","_useState9","_useState10","showClientInfoLoading","setShowClientInfoLoading","_useState11","infoPopupMessage","infoMessagePopupIsOpen","infoPopupMessageError","_useState12","infoPopUp","setInfoPopUp","_useState13","page","perPage","orderDirection","orderBy","clientId","_useState14","filters","setFilters","_useQuery","errorPolicy","clientInfoLoading","dataClientInfo","refetchClientInfo","refetch","_useQuery2","dataClientOrders","clientOrdersLoading","updateContact","useEffect","orders","clientEnquiries","handleFilters","newFilters","prevFilters","_objectSpread","columns","LatestOrdersColumns","field","clientOrOrderEmail","Page404","InfoMessagePopup","handleClose","message","customClass","visible","email","ClientsTable","hiddenColumnsList","refetchOrders","setShowLoading","setOrders","disableSortBy","hideBottomFilters","noPagination","Table","footerLoading","setPage","setPerPage","currentPage","perPageOptions","showFooter","noScrollToTop","ContactInfoForm","contactInfo","updateContactInfo","values","companyName","phoneNumber","personName","onError","Notes","orderNotes","defaultProps","ContactInfoFormWrapper","handleSubmit","handleChange","touched","handleBlur","errors","onSubmit","noValidate","Input","required","type","withFormik","enableReinitialize","mapPropsToValues","_ref2","clientOrOrderCompanyName","clientOrOrderPersonName","clientOrOrderPhone","validationSchema","Yup","shape","companyValidation","nameValidation","emailValidation","phoneValidation","bag","displayName","modal","notesWrapperRef","useRef","note","setNotes","editNoteId","setEditNoteId","deleteNoteId","setDeleteNoteId","clientNotes","setClientNotes","deleteModalIsOpen","setDeleteModalIsOpen","notes","locationId","_ref3","addNote","updateClientNote","updateNote","notesWrapper","current","scrollTop","targetTop","getBoundingClientRect","top","targetCoords","Math","floor","window","scrollY","scroll","scrollToTextarea","ref","DeleteNoteModal","noteId","showModal","placeholder","onChange","e","updateNotesAfterRefetch","updateAfterEditNote","updateInput","parseInt","noteItem","author","createdAtFormatted","openDeleteModal","ClientsColumns","activeFilter","stateChangeLoadingId","setOrderBy","openNotesModal","openExtraLeadModal","handleEnquiryStatus","Header","TableFilterHeader","headline","handleOrderBy","isActive","accessor","Cell","Link","to","cell","row","original","_data$","maxWidth","minWidth","NotesImg","_data$cell$row$origin","enquiries","is_extra_lead","InfoIconTooltip","tooltip","sticky","_data$cell$row$origin2","enquiry","already_known","item","location_id","enquiry_id","address","Fragment","ReactTooltip","place","effect","border","borderColor","_data$cell$row$origin3","isAlreadyKnown","enquiry_state","Loader","left","available_enquiry_states","enquiryStatesOptions","Object","keys","isLoading","CellDropdown","withCallback","matchPrevColumn","onShow","handleHorizontalScroll","currencySymbolFormatter","history","useHistory","setClientId","setInfoPopupMessage","setStateChangeLoadingId","showNoteModal","setShowNoteModal","extraLeadModalIsOpen","setExtraLeadModalIsOpen","extraLeadOrderId","setExtraLeadOrderId","setInfoMessagePopupIsOpen","_useState15","_useState16","alreadyKnownModalIsOpen","setAlreadyKnownModalIsOpen","_useState17","_useState18","setInfoPopupMessageError","_useState19","_useState20","hiddenColumns","setHiddenColumns","leadStateChangeCallback","activateEnquiry","_useMutation3","giveUpEnquiry","showCommentColumn","some","order","comment","replaceAll","includes","prevColumns","_toConsumableArray","newHiddenColumns","splice","indexOf","handleStateChangeError","closeModal","then","ordersColumns","orderId","status","push","pathname","search","AlreadyKnownLeadStatusModal","callbackFunction","ExtraOrderModal","extraLeadModalOpen","handleCloseExtraLeadModal","NotesModal","asPreview","enquiryStates","newClientsCount","providerId","resetNewClients","queryValue","setQueryValue","locationsSearchValue","setLocationsSearchValue","showLoading","enquiryState","query","showOnlyContactOrders","_useLazyQuery","useLazyQuery","_useLazyQuery2","getLocationsOptionsList","locationsOptionsData","ordersLoading","resetNewClientsCount","fill","useDebouncedEffect","alreadyKnown","lost","resolved","unresolved","statusOptions","radioOptions","checked","locationsList","locations","locationsSearchOptions","areaFrom","areaUnit","NetworkError","maxLength","SearchableDropdown","classNamePrefix","BasicDropdown","wrapperClass","RadioButtons","TokenizedFileModalLink","dataName","linkLabel","xls","ContactsTable","dataTable","deletedTotalCount","contactsLoading","contactsTotalCount","showDeletedContacts","changeActiveTab","setShowModal","showDeleteModal","setShowDeleteModal","showDeleteContactForeverModal","setShowDeleteContactForeverModal","modalData","setDataForModal","show","color","showNotification","setSnowNotification","addNewContact","_useMutation5","activeDeletedContact","editModal","showNotifications","successMessage","handleCloseNotification","DeletedContactsColumns","ContactsColumns","justifyContent","DeleteContactModal","callback","DeleteContactForeverModal","CreateNewContactModal","submitForm","password","passwordConfirmation","successEdit","addContact","successCreate","editContactData","CreateNewContactWrapper","CreateNewContact","createNewContact","when","is","passwordValidation","passwordConfirmationValidation","ContactsPage","contacts","setContactsList","setContactsTotalCount","setDeletedTotalCount","deletedContactsList","setDeletedContactsList","setShowDeletedContacts","onlyDeleted","deletedContactsFilters","setDeletedContactFilters","contactsError","deletedContactsError","deletedContacts","deletedContactsLoading","_objectDestructuringEmpty","ErrorImg","clasName","dangerouslySetInnerHTML","__html","footer","providerInfo","currentContactInfo","addressLine","copyrightUrl","privacyUrl","supportUrl","sslLink","postalCode","contactInfoPhone","contactInfoMail","logoUrl","hotline","showCvrCode","cvrCode","root","socialLinks","providerLine1","line1","providerLine2","line2","providerCity","providerVatId","vatId","providerEan","ean","providerPhone","currentContactName","currentPhoneNumber","currentContactEmail","SslSecureLogo","getFullYear","require","content","parseMd","handleBackgroundColor","InvoicesColumns","openPaymentModal","background","parseFloat","toFixed","stripeInvoicesApiKey","activeInvoiceId","setActiveInvoiceId","invoices","setInvoices","paymentModalIsOpen","setPaymentModalIsOpen","fetchPolicy","stripeInvoices","getStripedInvoices","closePaymentModal","extraClass","PaymentModal","handlePaymentSuccess","updatedInvoices","index","findIndex","invoice","invoiceId","SkeletonLoader","count","elem","PulsingLoader","FileLoader","EllipsisLoader","labelCol","tooltipClass","tooltipChildren","labelTooltip","labelClass","searchable","disabled","errorMessage","marginRight","inputWrapperClass","_useContext","useContext","Context","handleInputChange","BasicInput","htmlTooltip","activeClass","activeSection","float","hideSecondField","formGroupClass","requiredFrom","requiredTo","units","unitsPosition","useOriginName","handleNumberInputChange","nameFrom","nameTo","valueFrom","valueTo","errorFrom","errorTo","unitsClasses","classNames","hideError","toLowerCase","handleNext","isSubmit","handleBack","requiredFieldsValid","addLocationLoading","editPage","editedValuesFields","handleEdit","validateFields","validateLocationLoading","updateLocationValuesLoading","nextButtonClasses","updateButtonClasses","lastAvailableStep","showFacts","stepsData","stepsRefs","useRouteMatch","currentStepRef","validateFunction","validateStep","scoreIconActive","step","price","facilities","energyRating","description","floorPlan","photos","prospectus","video","virtualTour","ScoreIcon","stepLink","ActionIcon","showAsLink","passed","wrapperClasses","MutableLink","handleClick","linkClass","starRating","showScoreIcon","setContacts","currentContactId","handleCheckboxesSelect","updateValues","existingPrimaryContact","subscriberContactIds","getContacts","primaryContactOptions","contact","DropdownGroup","marginBottom","Checkbox","NavigationButtons","Description","forwardRef","defaultLocale","goEditUrl","handleFormSubmit","prepareData","scrollToTarget","setErrors","showLocationInternalDetailsText","translationsLocales","updateLocation","filterObjects","fromEntries","entries","filter","internalIdentifier","providerWebsiteLink","countryAlpha2","localeObj","countryLocale","errorMessagePopupIsOpen","setErrorMessagePopupIsOpen","descriptionLanguage","setDescriptionLanguage","setDescriptionsList","title","setTitlesList","descriptionCounter","setDescriptionCounter","setCallback","undefined","controlDescription","setControlDescription","editor","requiredValuesFilled","useMemo","descriptionFilled","titleFilled","currentDescriptionName","currentHeadlineName","bodyRequiredMessage","titleRequiredMessage","languageOptions","useImperativeHandle","nextStep","handleCounter","setTimeout","handleControlProp","handleErrors","prevValues","locationChatGptDescription","text","generateLocationDescription","_useLazyQuery2$","generateDescriptionError","generatingDescription","_useLazyQuery3","locationChatGptTitle","_useLazyQuery4","generateLocationTitle","_useLazyQuery4$","generateTitleError","generatingTitle","_useLazyQuery5","newLocationChatGptDescription","_useLazyQuery6","generateNewLocationDescription","_useLazyQuery6$","generateNewDescriptionError","generatingNewLocationDescription","_useLazyQuery7","newLocationChatGptTitle","_useLazyQuery8","generateNewLocationTitle","_useLazyQuery8$","generateNewTitleError","generatingNewLocationTitle","replace","updatedErrors","handleSave","currentTitleFilled","currentDescriptionFilled","fieldsError","getElementById","validateRequiredFields","updateDescription","handleUnsavedChanges","comparatorError","objectName","prevValue","currentValue","currentErrors","errorField","handleModal","save","editedValues","attributes","generatingDescriptionAndTitle","generateDescriptionButton","translate","Truncate","lines","ellipsis","updatedDescriptionsList","updatedTitlesList","handleDelete","InputGroup","split","SunEditor","getSunEditorInstance","sunEditor","setContents","currentTextLength","getText","formattedText","lang","languageId","handleEditorLanguage","resizingBar","onInput","pasteTagsWhitelist","historyStackDelayTime","setOptions","buttonList","GoEditImg","section","anonymous","minHeight","BaseModal","confirmButtonText","modalIsOpen","onConfirmClick","onRejectClick","rejectButtonText","textContent","combinedKinds","currentData","formattedCurrency","initialData","mainKind","selectedKinds","updateSelectedKinds","area","yearlyPricePerM2","kind","capitalize","charAt","toUpperCase","slice","combinedKindsWithIndex","newCurrentKinds","currentKindsIndex","combinedKind","selectedKindsIndex","_combinedKindsWithInd","newSelectedKinds","combinedLocationsAttributes","currentKind","hasError","isMainKind","kindsOptions","selectedKind","_combinedKindsWithInd3","destroyKindIndex","_destroy","option","newKind","_combinedKindsWithInd2","RangeInputs","functionAttr","currencyList","defaultCurrencyId","leaseKinds","leasePrices","parkingTypes","saleKinds","saleSections","showSecondaryKindsMessage","secondaryKindsMapping","suitableForKindsMapping","auctionNumber","currencyId","dateOfAuction","enableCombinedLocations","isRentIncludeOperationalCost","parkingType","secondaryKinds","suitableForKinds","annualPricesOpen","setAnnualPricesOpen","annualPricesM2Open","setAnnualPricesM2Open","combinedKindsErrors","setCombinedKindsErrors","initialCombinedKinds","setInitialCombinedKinds","secondaryKindModalIsOpen","setSecondaryKindModalIsOpen","visibleCombinedKinds","setVisibleCombinedKinds","currencies","JSON","parse","sectionLease","locationKinds","filterLocationKinds","saleSectionsOptions","parkingTypesOptions","currencyOptions","currency","currentCurrency","formatted","defaultSection","initialKinds","hasOwnProperty","checkCombinedKindsOrder","additionalCombinedKindsAvailable","every","attr","newLocationKind","visibleFor","updatedCombinedKinds","mainLocationKind","mainKindIndex","unshift","toCamelCase","_","letter","secondaryKindsList","_secondaryKindsMappin","suitableForKindsList","_suitableForKindsMapp","handleKindChange","handleSecondaryKindsChange","invisibleFor","addNewCombinedKind","currentKindsKindIndex","newCombinedLocationAttributes","errorsHandler","annualPricesWrapper","annualM2pricesWrapper","openAnnualPrices","contains","openAnnualM2Prices","validateCombinedLocations","handleValidate","kinds","showUptoField","areaTo","SecondaryKindsInfoModal","handleCancel","paddingBottom","RadioFormGroup","CombinedKindForm","DateTimePicker","calendarIcon","clearIcon","minDate","date","toISOString","energyRatingList","energyRatingListDk","energyCertificateLevelsList","energyRatingUrl","facilitiesList","energyCertificateLevelsObject","exemptedFromEnergyRating","facilityIds","hasEnergyCertificateLevels","isDk","energyRatingOptions","energyCertificatesOptions","certificate","handleEnergyCertificates","certificateId","certificateGroup","newCertificates","facility","center","setCenter","refMap","setMapRef","placeId","handleGeocodedResults","restrictionBounds","showPinInfoMessage","geocodeByPlaceId","results","bounds","geometry","viewport","fitBounds","onBoundsChanged","mapCenter","getCenter","onDragEnd","geocodeByLatLng","restriction","latLngBounds","strictBounds","defaultOptions","noRedraw","place_id","InfoWindow","disableAutoPan","countries","owners","setVisualsData","formWrapper","postalDistrictTooltip","provinceTooltip","setAddress","searchInputValue","setSearchInputValue","suggestNewProvince","setSuggestNewProvince","suggestNewDistrict","setSuggestNewDistrict","showOnlySuggestedProvince","setShowOnlySuggestedProvince","setShowPinInfoMessage","menuIsOpen","setMenuIsOpen","setPlaceId","setLoading","_useState21","_useState22","provincesOptions","setProvincesOptions","_useState23","_useState24","postalDistrictsOptions","setPostalDistrictsOptions","getProvinces","provincesData","getPostalDistrict","postalDistrictData","addressLine1","addressLine2","postalDistrictId","postalDistrictSuggestion","provinceId","provinceSuggestion","handleSelectCountry","province","newProvincesOptions","postalDistrict","newPostalDistrictsOptions","district","String","postalDistrictLabel","newAddress","countriesOptions","ownersOptions","owner","clearAddress","countryName","geocodeByAddress","clearErrorsList","list","locationInfo","addressComponents","address_components","streetNumberComponentIndex","component","types","countryCodeObj","res","newCountryAlpha2","short_name","inCountryBoundaries","postalCodeObj","errorsList","updatedValues","streetNumber","streetName","long_name","administrativeLevel2","locality","autocompleteInput","handleProvinceSelect","administrativeIncludesProvince","localityIncludesProvince","apiProvider","getAll","response","postal_district","blur","GooglePlacesAutocomplete","autocompletionRequest","componentRestrictions","selectProps","loadingMessage","noOptionsMessage","onInputChange","event","action","handleSearchValue","onBlur","onFocus","blurInputOnSelect","closeMenuOnSelect","inputId","inputValue","loadingIndicator","isDisabled","provided","display","control","singleValue","prevState","hide","paddingLeft","borderRadius","AnonymousBanner","mapLanguage","region","MapLoader","MapWrapper","FileInput","filesList","draggable","draggableIndex","infoMessagePopupActive","pdfFileLoading","pdfFileDeleting","defaultFileList","newList","imgUrl","thumbnailW120","files","filesToDownload","newFilesList","isPdf","refetchValues","_i","_Object$entries","_Object$entries$_i","random","newFile","_loop","_Object$entries2$_i","_Object$entries2","_i2","formData","FormData","append","formAuthToken","apiOptions","method","headers","withOptions","newFileIndex","file","currentFile","assetInfo","assets_info","errorsPresent","asset","thumbnail","handleReorder","targetIndex","dataset","add","preventDefault","dropzoneIndex","reorderedFilesList","_this$props2","put","fileId","_this$props3","authenticity_token","removableFileIndex","removeFromDatabase","removeFileFromState","removableFile","_this$props4","currentFileIndex","rotation_angle","rotationAngle","handleDefaultFileList","prevProps","snapshot","_this$props5","currentFilesCount","prevData","_this2","_this$props6","fileTypes","linkFile","showFileLink","onDrop","handleDrop","onDragEnter","handleDragEnter","onDragStart","handleDragStart","handleDragEnd","backgroundImage","transform","opacity","handleRotate","FileDrop","htmlFor","accept","multiple","showLeftArrow","setShowLeftArrow","showRightArrow","setShowRightArrow","setActiveSection","isScrollable","setIsScrollable","initialization","setInitialization","refsList","navigationLinksList","photosRef","floorPlansRef","interiorDesignRef","virtualTourRef","vimeoRef","prospectusRef","handleActiveSectionChange","addEventListener","removeEventListener","handleArrowAppearance","navigationListFirstChild","firstChild","round","lastChild","right","targetName","targetSection","targetRightCoodrs","targetLeftCoords","navigationListRightCoords","navigationListLeftCoords","scrollToRightTarget","scrollToLeftTarget","leftBoundary","rightBoundary","navigationListLeftBorder","navigationListRightBorder","scrollLeft","targetLeftScroll","showNavigationMenu","classes","offsetWidth","KeyboardArrowLeftRounded","KeyboardArrowRightRounded","additionalClass","buyNowLink","readMoreLink","bannerClass","bannerContent","bannerHeadline","inputHeadline","inputLabel","inputType","qualityScoreName","showBanner","showFileAsLink","singleFileInput","isFileInput","InputBanner","interval","setShowNavigationMenu","proposalFormIsOpen","setProposalFormIsOpen","prospectusError","setProspectusError","prospectusIsLoading","setProspectusIsLoading","prospectusModalIsOpen","setProspectusModalIsOpen","proposalFormTrigger","setProposalFormTrigger","generatedProspectusUrl","setGeneratedProspectusUrl","patternedProspectusEnabled","refetchVisualValues","visualsData","floorPlans","prospectusPath","handleShowNavigationMenu","onScrollEnd","endOfScroll","showNavigation","handleActiveAreaSection","topOffset","offsetHeight","sectionsList","querySelectorAll","viewPortBottomBorder","innerHeight","forEach","node","nodeName","nodeTop","nodeBottom","bottom","pageYOffset","BuyNowFormButton","triggerSection","buttonText","openProposalForm","GenerateProspectusButton","generateProspectus","post","pdf_url","status_url","setInterval","clearInterval","VisualsProposalsForm","locationAddress","trigger","FixedNavigationBar","targetTopCoords","headerHeight","windowHeight","VisualsBlock","GenerateProspectusModal","setLastAvailableStep","currentActiveSection","setShowNotFoundPage","Location","FactsAndFacilities","Economy","economy","Contacts","Visuals","renderStep","createContext","qualityScoreLink","siteName","_useParams","locationSection","match","isBuilt","firstKind","employeesCountVisible","yearlyRentPerM2AmountFlexible","setValues","facts","visuals","setStepsData","setEditedValues","showStatusBanner","setStatusBanner","showEditPage","setShowEditPage","showNotFoundPage","showQualityScore","setShowQualityScore","_useState25","_useState26","getLocationVisuals","_data$addLocation","addLocation","setStepPassed","_useMutation4","_useMutation6","validateLocation","getLocationValues","initialLocationValues","getLocations","category","getValues","behavior","scoreCalculator","newData","yearlyRentPerM2WithCentsFrom","yearlyRentPerM2WithCentsTo","requiredFormGroups","from","group","errorsLength","nextStepUrl","dataValues","newErrors","listError","attrName","errorMessages","filteredErrors","_ref5","asNumber","currentValues","newValues","attrs","pageNotFound","showQualityScoreBanner","totalScore","Provider","Switch","Route","path","QualityScoreBanner","stickyTop","ProgressBar","StepsWrapper","vimeoId","assetsList","available","showAssetsBlock","activeTab","setActiveTab","Tab","DetailedViewSet","Gallery","imgList","Carousel","infiniteLoop","renderArrowPrev","clickHandler","renderArrowNext","showIndicators","showStatus","showThumbs","statusFormatter","total","swipeable","thumbnailW600","VideoBlock","_ref4","allowFullScreen","frameBorder","mozallowfullscreen","webkitallowfullscreen","MapBlock","showContent","AnonymousPlaceholder","providerAdvertisingStrategy","providerApproved","providerOnDealStrategy","qualityScorePageLink","tooltipPopupRef","setLocationInfo","duplicateModalIsOpen","setDuplicateModalIsOpen","rentedOutModalIsOpen","setRentedOutModalIsOpen","locationActivationLoading","setLocationActivationLoading","locationState","setLocationState","showPartnerBadgeBanner","setShowPartnerBadgeBanner","_data$activateLocatio","activateLocation","locationStateChangeCallback","enquiriesCountInteger","explainLocationIncomplete","floorPlansCount","infoMessage","initialState","isComplete","locationShownDatapoints","locationUrl","photosCount","prospectusCount","sectionTranslated","stateInfo","stateTranslated","assetsProps","showYearlyPrice","showMonthlyPrice","showLocationInfo","showReportADeal","animateStatus","pricesFormatter","priceFrom","priceTo","statusWrapper","ListItem","itemData","linkInnerContent","iconSize","availableScoreLabel","infoLink","HashLink","cachedViewsChart","LocationViewsChart","scoreData","scoreChart","ScoreChart","stroke","scoreSection","hidden","visibilityQualityState","visibilityQuality","PageInfoMessage","DeactivateLocationModal","DuplicateLocationModal","RentedOutModal","AdvertisementBlock","PartnerBadgeBanner","shareIcon","FacebookShareButton","origin","facebookShare","LinkedinShareButton","linkinShare","TwitterShareButton","twitterShare","areaFormatter","one","AssetsBlock","assign","EditIcon","CopyIcon","ReportIcon","DeactivationIcon","ActivateIcon","offset","switchPeriodCallback","tickFontSize","xaxisHeight","activeDaysInChart","setActiveDaysInChart","locationDaysActive","setLocationDaysActive","today","dayCreatedAt","timeInMilliseconds","getTime","daysActive","ceil","defaultActiveDays","daysPeriods","Tooltip","dateCreated","dateLabel","viewsCount","TooltipPopup","marginLeft","daysPeriod","switchPeriod","InlineChart","daysForOnePeriod","isOneDayPeriod","setDateToLocalDateString","dateObj","toLocaleDateString","join","showAsLastPeriod","increment","setHours","dayCreatedAtTime","views","setDate","getDate","dateFrom","dateTo","i","dateToTime","dateFromTime","showDateTime","pointData","createdAtDateIsInPeriod","dotSize","locationViewsData","lineKey","tooltipLabel","xKey","LocationsColumns","stateUpdateSuccess","stateChangeCallback","handleLocationState","whiteSpace","TableHashLink","nowrap","kindTranslated","translatedSection","max","orderByFilter","orderDirectionFilter","setShowCreateLeaseButton","states","categories","isValidCategory","checkCategory","params","setLocationId","setLocationAddress","setInfoMessage","locationsData","setLocationsData","setStateUpdateSuccess","_useState27","_useState28","_useState29","_useState30","_useState31","showOnlyContactLocations","_useState32","_data$locations","locationsLoading","refetchLocations","locationInfoMessage","isLease","locationStateOptions","new","active","rentedOut","closed","locationsColumns","locationIndex","_locationsData$locati","tableHeadline","locationsEmpty","contactName","showCreateLeaseButton","AssistanceBanner","Clients","Locations","addClientRelation","ProviderModal","modalClass","ModalNetworkError","hideReject","FormMessageBlock","closeNotification","leaseWasRentedOut","setLeaseWasRentedOut","deactivationReason","setDeactivationReason","deactivateLocationNow","setDeactivateLocationNow","_data$deactivateLocat","deactivateLocation","deactivateLocationAtTheMonthEnd","deactivateLocationAtTheMonthError","deactivationOptions","deactivationTermsOptions","reason","site","handleRadioButtonsChange","hideDeletedContact","logout","deleteContact","DeactivationImg","deleteClientNote","pollInterval","setPollInterval","_data$locationCopyJob","locationCopyJob","duplicateLocationId","copyJobId","copyLocation","DuplicateImg","extraLeadInfo","setExtraLeadInfo","getExtraLeadLocationId","modalTitle","getExtraLeadInfo","extraLeadLoading","extraLeadLocationIdLoading","locationIdError","annualOperationalCostWithCentsFrom","annualOperationalCostWithCentsTo","annualRentWithCentsFrom","annualRentWithCentsTo","handleRangeUnits","unit","range","thumbnailW400","ImgPlaceholder","localizedNumberFormatter","GenerateProspectusImg","Modal","ariaHideApp","contentLabel","isOpen","onRequestClose","overlay","backgroundColor","overflow","zIndex","backdropFilter","pointerEvents","amount","setPaymentInProcess","stripe","useStripe","elements","useElements","setErrorMessage","handleLoading","_asyncToGenerator","_regeneratorRuntime","_callee","_context","prev","next","abrupt","confirmPayment","confirmParams","return_url","redirect","sent","paymentIntent","stop","_x","PaymentElement","stripePromise","loadStripe","setAmount","clientSecret","setClientSecret","setCurrency","paymentInProcess","_data$stripeIntent","stripeIntent","stripeInvoice","amountInCents","appearance","theme","colorBackground","colorText","rules","Elements","CheckoutForm","hideCloseBtn","scrollable","scrollBehavior","qualityState","setComment","validComment","setValidComment","clientEmail","rejectProviderDeal","changeTextArea","_data$rentedOutLocati","rentedOutLocation","RentedOutImg","dkLink","globalLink","back_url","ReportSuccessImg","GoogleReview","other","fileName","setModalIsOpen","tokenizedFileUrl","setTokenizedFileUrl","xlsFileToken","setXlsFileToken","tokenizedFile","fileUrl","getTokenizedFile","getXlsFileToken","xlsFileTokenError","xlsFileTokenLoading","getXls","token","ReportImg","showInfoPopup","setShowInfoPopup","setContactInfo","formSent","setFormSent","toggleInfoPopup","setToggleInfoPopup","photo","selectedProposals","setSelectedProposals","getContactInfo","addPaidServiceOrder","generateOptions","proposalsData","resetInfoPopup","RadioGroup","handleOptionSelect","CheckboxGroup","optionId","selected","optionIndex","handleCheckboxSelect","renderRightNav","renderLeftNav","optionsSelected","selectedOption","optionData","customDuration","toggle","toggleCallback","ImageGallery","fullscreen","infinite","items","images","showFullscreenButton","showPlayButton","showThumbnails","timer","animationClass","setAnimationClass","clearTimeout","role","hideBorder","tooltipVisible","setTooltipVisible","tooltipPopupWrapperRef","handleClickOutsideTooltip","afterHide","afterShow","handleScoreTooltip","clickable","scrollHide","contractUrl","showInvoicesLink","setShowInvoicesLink","modalIsActive","setModalIsActive","setUrl","IframeModal","lokalebasen_dk","matchoffice_generic","handleShowModal","Details","backButton","prevStep","submitHandler","schemaName","selectedLocationStatus","providerOnAdvertisingStrategy","setCurrencyList","defaultCurrency","currencyFormat","ReportSuccessModal","DetailsReportForm","DetailsReportFormWrapper","formikHandleChange","setFieldValue","isSubmited","setIsSubmited","incompleteDealSent","setIncompleteDealSent","errorsArray","addIncompleteDealNotification","areaRented","areaRentedDontKnow","numberOfDesks","occupiedAt","occupiedAtDontKnow","monthsCount","expectedEnd","expectedEndDontKnow","totalAmount","monthlyRent","totalAmountDontKnow","Dropdown","arrowClosed","arrowOpen","controlClassName","site_name","isNotDk","isDefault","providerStrategy","requiredFieldError","test","parent","ReaportDealTable","changeSearchInput","handleInput","filtersData","noneOrder","setNoneOrder","noneLocation","setNoneLocation","checkNoneRadio","firstStep","searchValue","locationQuery","orderQuery","ReportDealProgress","steps","activeStep","ReportSteps","clientPage","handleOtherClient","handleOtherLocationAddress","loadingLocations","loadingOrders","locationsPage","locationsTotalCount","ordersTotalCount","otherClient","otherLocationAddress","setClientPage","setLocationsPage","hideInternalIdentifierColumn","ReportDeal","useRouterQuery","setLocations","setOrdersList","setStep","get","setOrderQuery","setLocationQuery","setFormValues","preselectedOrder","setPreselectedOrder","preselectedLocation","setPreselectedLocation","poppedOrder","setPoppedOrder","poppedLocation","setPoppedLocation","setOrdersTotalCount","setLocationsTotalCount","_useState33","_useState34","_useState35","_useState36","_useState37","_useState38","setOtherClient","_useState39","_useState40","setOtherLocationAddress","_useState41","_useState42","_useState43","_useState44","setSelectedLocationStatus","_useState45","_useState46","_useState47","_useState48","setSteps","handleDataResponse","preselectedElem","poppedElem","setData","setPoppedElem","getLocation","loadingLocation","getOrders","getOrder","loadingOrder","reportDeal","locationKind","requestOrders","requestLocations","preselectedElemInTheList","pop","ReportDealOrders","ReportDealLocation","reportADeal","attrsGeneral","enquiryId","providerDealId","dk","virtualOffice","meetingRoom","graphQLErrors","networkError","passStep","param","newArr","noHash","defaultQualityScoreData","photos_current_count","floorPlanPresent","floor_plans_current_count","prospectusPresent","prospectus_current_count","setScore","pricePresent","maxSymbols","txt","createElement","innerHTML","descriptionLength","annualElectricityCostWithCentsFrom","annualElectricityCostWithCentsTo","annualHeatingCostWithCentsFrom","annualHeatingCostWithCentsTo","annualTotalCostWithCentsFrom","annualTotalCostWithCentsTo","annualWaterCostWithCentsFrom","annualWaterCostWithCentsTo","depositAndPrepaidRent","disposalPrice","fixedAnnualOperationalCost","hourlyRentWithCentsFrom","hourlyRentWithCentsTo","monthlyRentPerSpaceWithCentsFrom","monthlyRentPerSpaceWithCentsTo","salePrice","workstationCostPerMonthFrom","workstationCostPerMonthTo","yearlyElectricityCostPerM2WithCentsFrom","yearlyElectricityCostPerM2WithCentsTo","yearlyHeatingCostPerM2WithCentsFrom","yearlyHeatingCostPerM2WithCentsTo","yearlyOperationalCostPerM2WithCentsFrom","yearlyOperationalCostPerM2WithCentsTo","yearlyRentalIncome","yearlyWaterCostPerM2WithCentsFrom","yearlyWaterCostPerM2WithCentsTo","animation","animated","setAnimated","firstRender","setFirstRender","pieScore","visibilityState","isSticky","setIsSticky","debounce","handleScroll","banner","bannerBottom","QualityScoreInfoModal","ChangePasswordFormWrapper","passwordForm","oldPassword","ChangePasswordForm","ContactFormWrapper","ContactForm","ContactSettings","contactLocation","setContactLocation","setShowDeleteButton","pageContact","setPageContact","uploadContactPhotoPath","removeContactPhotoPath","getContactLocations","isDestroyable","contactLocations","ContactLocationsColumns","PhotoUpload","imageUrl","photoUrl","uploadPath","removeTranslation","handleRefetch","removePath","scrollTo","disableSort","gotAllData","ActiveSessions","provider","setImages","loadingImage","setLoadingImage","ImageUploading","imageList","addImage","axios","Accept","dataURLKey","onImageUpload","onImageRemoveAll","image","data_url","ProviderSettings","setProviderInfo","emailsLocale","setEmailsLocale","mainContact","setMainContact","interfaceLocale","setInterfaceLocale","contractName","emailLocales","locales","removeProviderLogoPath","showSmsOrderNotifications","updateProviderInfo","uploadProviderLogoPath","checkDk","updateProvider","formatEmailLocales","formatLocales","showChangeLanguageBlock","showEmailChangeLanguage","showInterfaceChangeLanguage","invoicingEmail","isMailSubjectIncludeInternalIdentifier","UpdateProvider","changeEmailLanguage","changeInterFaceLanguage","providerSubmit","smsOrderNotification","UpdateProviderWrapper","isEan","eanValidationRequired","addressValidation","cityValidation","postalCodeValidation","disableTooltip","linkTo","newInfoLabel","svgName","disable","NavLink","exact","activeClassName","currentPhoneName","links","localStorage","storageMenuStatus","getItem","setItem","stringify","activeSideBar","setActiveSideBar","partnerBadgePageLink","partnerLink","changeSidebar","useCallback","SideBarLink","ShowMeBannerImg","FacebookLogo","timeout","isExpanded","setIsExpanded","expandedData","setExpandedData","countClientEnquiries","countClientEnquiriesPerWeek","countExtraEnquiries","countExtraEnquiriesPerWeek","countProviderMessages","countShowcaseOrders","locationEventsContactDetailsShownCount","locationEventsProviderAdvertsShownCount","locationEventsShownCount","locationEventsShownCountPerWeek","expanded","statisticForLocation","getLocationStatistic","getLocationStatisticsByPeriod","timeFrom","timeTo","timeFromUserTimezoneOffset","getTimezoneOffset","timeToUserTimezoneOffset","StatisticColumns","statisticData","statisticDataTotal","handleExpand","Footer","textAlign","locationAreaUnit","days_in_period","daysInPeriod","paddingRight","initialDateFrom","initialDateTo","setDayFrom","setDayTo","setStatisticData","setStatisticDataTotal","statistic","editedData","statisticRowsCount","loadingTotal","statisticTotal","hideYearlyRentColumn","locationYearlyRentPerM2","hideLocationEventsColumns","showContactDetailsInFrontend","handleDate","newDate","statisticColumns","selectedIndex","dayPlaceholder","disableClock","format","maxDate","expandable","renderExpandableRow","ExpandedStatistics","iconName","el","afterOptionChange","activeOption","setActiveOption","menuTop","setMenuTop","menuLeft","setMenuLeft","wrapperHeight","setWrapperHeight","dropdown","menuStyles","handleWrapperHeight","handleClickOutside","prevColumnElement","prevColumnElementHeight","clientHeight","dropdownRef","dropdownBottomCoords","dropdownLeftCoords","Portal","handleOptionClick","EditDropDown","modalClick","clickOnDropDown","tableWrapper","_ref6","column","isSortedDesc","_ref7","locationPath","_ref8","_ref9","_ref10","handleSelect","areaLabel","handleDeleteLinkClick","activeDeleteContact","_ref11","_ref12","passPageIndex","showStickyBorder","setShowStickyBorder","tableData","tableColumns","noResults","isExpandable","table","stickyStartTarget","handleTableScroll","scrollEndTarget","_useTable","useTable","disableSortRemove","pageIndex","pageSize","sortBy","asc","useSortBy","usePagination","useSticky","getTableProps","getTableBodyProps","headerGroups","prepareRow","footerGroups","pageCount","gotoPage","setPageSize","_useTable$state","showTable","NoResultsImage","MaUTable","TableHead","headerGroup","getHeaderGroupProps","getHeaderProps","getSortByToggleProps","render","TableBody","TableRow","getRowProps","cells","TableCell","getCellProps","TableFooter","getFooterGroupProps","getFooterProps","ReactPaginate","previousLabel","nextLabel","breakLabel","pageRangeDisplayed","marginPagesDisplayed","onPageChange","containerClassName","forcePage","UnresolvedAgreementColumns","agreementsData","handleReject","_data$row$original","rejectModalIsOpen","setRejectModalIsOpen","selectedProviderDeal","setSelectedProviderDeal","unresolvedProviderDeals","setUnresolvedProviderDeals","rejectDealId","rejectedDeal","deal","isReportADealPage","useLocation","RejectAgreementModal","contactEmail","WelcomeBanner","createLease","helpContent","providerInactive","settings","statistics","newClientsQuantity","setNewClientsQuantity","updatedProviderInfo","setUpdatedProviderInfo","updatedContactInfo","setUpdatedContactInfo","loadTawkTo","preventResizeObserverError","asName","extensions","code","ApolloProvider","BrowserRouter","ProviderHeader","SideBar","UnresolvedAgreement","ScrollToTop","MainDashboard","Statistic","Invoices","LocationInfo","LocationForm","HelpPage","WelcomePage","ProviderInactive","CustomizedAxisTick","fontSize","x","y","payload","dy","textAnchor","CustomTooltip","CustomizedDot","cx","cy","r","dataMax","reduce","previousValue","ResponsiveContainer","AreaChart","margin","XAxis","dataKey","tick","YAxis","domain","allowDecimals","Area","dot","strokeWidth","showBlock","setShow","timer1","inputClass","passwordVisible","setPasswordVisibility","inputClasses","checkboxClasses","nameError","emailError","companyError","phoneError","postalCodeError","eanError","vatIdError","addressError","cityError","manySimilarSymbolsError","atLeastOneLetterError","atLeastEightDigitsError","symbolsLimitError","symbols_limit","minNumberError","setIsOpen","dropdownContainer","container","closeDropdown","Select","isSearchable","components","DropdownIndicator","onSelect","autoFocus","isFocused","customStyles","colors","primary25","primary","indicatorContainer","lineHeight","padding","alignItems","cursor","maxHeight","menu","paddingTop","fontFamily","menuList","indicatorSeparator","_SignUp$getI18nAttrNa","SignUp","getI18nAttrNames","companyI18n","vat_idI18n","line_1I18n","postal_codeI18n","cityI18n","nameI18n","emailI18n","phoneI18n","passwordI18n","eanI18n","matches","validationPatterns","symbolsLimit","company","specialCharacktersNotMoreThan","atLeastOneLetter","companyValidationNotRequired","vatIdValidation","createError","country_alpha2","eanValidation","postalCodes","postalCodeValidationProvider","symbolsEmailLimit","phone","phoneSpecialCharactersNotMoreThan","min","confirmPasswordValidation","oneOf","checkboxNotRequired","withRouter","unlisten","listen","ResizeObserver","delay","tid","ctx","self","webpackContext","req","webpackContextResolve","__webpack_require__","o","Error","resolve","module","exports"],"sourceRoot":""}