{"version":3,"file":"static/js/4198.811e361b.chunk.js","mappings":"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QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,UAAW,QACX,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT,QAAS,SACT7O,GAAI,KACJM,GAAI,KACJ,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,QAAS,QACT,UAAW,MACX,UAAW,MACX,WAAY,MACZ,WAAY,MACZ,UAAW,MACX,UAAW,MACX,WAAY,MACZ,UAAW,MACX,WAAY,MACZ,WAAY,MACZ,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,WAAY,MACZ,UAAW,MACX,UAAW,MACX,WAAY,MACZ,UAAW,MACX,UAAW,MACX,UAAW,MACX,WAAY,MACZ,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,UAAW,MACX,WAAY,MACZ,UAAW,MACX,UAAW,MACX,WAAY,MACZ,UAAW,MACX,aAAc,cC7KlB,SAAgBwO,EAAerwC,KAC3B,IAAIswC,EAAeD,EAAcrwC,GACjC,OAAIswC,EACO,SAAWA,GAAgBA,EAE/BtwC,EAAO9hE,OAAO,EAAG8hE,EAAOnsD,YANL,KAO7B,ECJD,IAAI08F,EAAiB,KACrB,SAAe/+B,EAAAA,EAAAA,GAAmB,CAC9BxR,OAAQ,MACJ,IAAIwwC,EAAgBD,EACpB,OAAOvwC,IACH,IAAKA,EACD,OAAOwwC,EAEXA,EAAgBxwC,CAAM,CAE7B,EARO,GASR0U,wBAAyB,SAASxV,GAI9B,IAHA,IAEIuxC,EAFAzwC,EAAS/wE,KAAK+wE,SACdpoE,EAAQsnE,EAAOc,IAEXpoE,IAAU64G,IACdzwC,EAAS0wC,EAAgBL,EAAerwC,IAEpCpoE,EAAQsnE,EAAOc,GAEfywC,GAAe,EAGvB,YAAI,IAAW74G,GAASooE,IAAWuwC,EACxBrxC,EAAOqxC,GAEX34G,CACX,mFC5BA+4G,EAA+B,SAASp6G,GACxC,OAAO,SAAS6P,GAGZ,IAFA,IAAI8K,GAAW/M,EAAAA,EAAAA,GAAEiC,GAAW,QACxBwqG,EAAiB1/F,EAASlU,OAAO,iCAAiCM,IAAI4T,EAASmO,KAAK,kCAC/EtvB,EAAI,EAAGA,EAAI6gH,EAAepgH,OAAQT,IACvC4qB,EAAAA,EAAaC,eAAeg2F,EAAe7gH,GAAIwG,EAEvD,CACJ,EACWqoF,EAAoB+xB,EAA6B,WACjDE,EAAqBF,EAA6B,YAClDG,EAAqBH,EAA6B,qECZzDI,EAAY,gCACZC,EAAc,CACdC,QAAS,CACLC,UAAW,EACXC,UAAW,GACXC,QAAS,IAEbC,MAAO,CACHH,UAAW,EACXC,UAAW,UACXC,QAAS,YAEbE,GAAI,CACAJ,UAAW,EACXC,UAAW,qBACXC,QAAS,yBAEbG,IAAK,CACDL,UAAW,EACXC,UAAW,oBACXC,QAAS,uBAEbpM,GAAI,CACAkM,UAAW,EACXC,UAAW,iBACXC,QAAS,qBAGjBJ,EAAYQ,MAAQR,EAAYS,SAAWT,EAAY/mE,QAAU+mE,EAAYU,MAAQV,EAAYK,MACjGL,EAAYnM,GAAKmM,EAAYM,GACtB,IAAIn2C,EAAY,SAASvkC,GAC5B,GAAI,kBAAoBA,EACpB,OAAO,KAEX,IACIpT,EADWjrB,EAAAA,EAAW2rF,yBACD7mB,YAAY9kE,EAAAA,EAAWiM,cAAc,QAC1DmtG,EAAOZ,EAAUz1E,KAAK1E,GACtBg7E,EAAeD,GAAQA,EAAK,GAAGz+G,cAC/B2+G,EAAab,EAAYY,IAAiBZ,EAAYC,QAC1DztF,EAAU45C,UAAYy0C,EAAWV,UAAYv6E,EAAOi7E,EAAWT,QAC/D,IAAK,IAAIrhH,EAAI,EAAGA,EAAI8hH,EAAWX,UAAWnhH,IACtCyzB,EAAYA,EAAUsuF,UAE1B,MAAO,IAAItuF,EAAU26D,WACzB,EACW4zB,EAAc,SAASn7E,GAC9B,IAAI+6E,EAAOZ,EAAUz1E,KAAK1E,GAC1B,OAAO+6E,GAAQA,EAAK,KAAMX,CAC9B,mTCrCI3xD,eAAgBA,IAChB5mC,EAAAA,EAAAA,MACAu5F,EAA0B,CAC1BC,iBAAkB,sBAClBC,cAAe,gBACfC,YAAa,iBACbC,WAAY,iBAEZC,EAAc,SAASl6F,GACvB,SAASiB,EAAAA,EAAAA,IAAUjB,EACvB,EASIm6F,EAAY,SAASz7G,GACrB,GAAI,SAAWA,EACX,OAAO,EAEX,IAAI07G,EAAQh6G,EAAAA,EAAWiM,cAAc,SACrC,IAGI,OAFA+tG,EAAM7uB,aAAa,OAAQ7sF,GAC3B07G,EAAM36G,MAAQ,cACN26G,EAAM36G,KAClB,CAAE,MAAO6K,GACL,OAAO,CACX,CACJ,EAOI+vG,EANoB,SAASC,EAAmBpzD,GAChD,OAAQozD,EAAkB,mBAAqBpzD,KAAoBozD,EAAkB,cACzF,CAIkBC,CAAkBx6F,EAAAA,GAAamnC,GAC7CmZ,GAAgBm6C,EAAmBz6F,EAAAA,IAHV,gBAalBi+C,EAAQq8C,GAAeh6C,KATLnZ,EAUlB+yD,GAAaj5F,EAAAA,EAAAA,IAAU,WAC9B,OAAOk5F,EAAY,aACvB,IACWO,GAAyBz5F,EAAAA,EAAAA,IAAU,WAC1C,OAAO64F,GAAwB54F,EAAAA,EAAAA,IAAU,cAC7C,IACWy5F,GAAY15F,EAAAA,EAAAA,IAAU,WAC7B,OAAOk5F,EAAY,YACvB,IACWS,EAhDsB,WAC7B,IACIx0D,SAAUA,EACVO,IAAKK,GACLlK,EAAAA,EAAQuL,OAEZ,MAD2B,QAAUjC,GAAY,YAAcA,GAAYY,CAE/E,CAyC6B6zD,qMCrEzBC,EAAY,CAAC,SAkBNn3E,EAAiB,WACjBqE,EAAY7pC,GAAY,YAAcA,EAASwkE,QAC/Cr8B,EAA4Cy0E,IACnD,OAAQA,EAAkBziH,QACtB,KAAK,EACD,OACJ,KAAK,EACD,OAAOyiH,EAAkB,GAEjC,MAAO,GAAG3iH,MAAMkB,KAAKyhH,EAAkB,EAQvCC,EAAeA,CAAC5gF,EAAO6gF,EAAOp0C,IACzBlkE,MAAMC,QAAQw3B,GAGZ6gF,EAVIC,EAAC3hF,EAAO0hF,EAAOp0C,KAAWx4D,EAAAA,EAAAA,IAAIkrB,GAAO0B,IAChD,IAAIkgF,GAAWC,EAAAA,EAAAA,GAA8BngF,EAAM6/E,GACnD,OAAO3+G,EAAAA,EAAAA,GAAS,CAAC,EAAGg/G,EAAU,CAC1B/gF,MAAO4gF,EAAa//E,EAAKb,MAAO6gF,EAAQ,EAAGp0C,IAC7C,IAMaq0C,CAAS9gF,EAAO6gF,EAAOp0C,IAAUx4D,EAAAA,EAAAA,IAAI+rB,EAAOysC,GAFhDzsC,EAIJoP,EAA4BA,CAACpP,EAAOysC,EAAQ2P,KACnD,IAAIykC,EAAQzkC,GAAYQ,EAAAA,EAAAA,IAAqBR,GAAWl+E,OAAS,EACjE,OAAO0iH,EAAa5gF,EAAO6gF,EAAOp0C,EAAO,EAElC19B,EAAsBA,CAACl4B,EAAMg4B,KACpC,IAAIoyE,EAQJ,OAPI,QAAUA,EAAQpqG,SAAS,IAAWoqG,GAASA,EAAMpqG,OACrDg4B,EAAQh4B,EACRA,EAAOA,EAAKA,MAEXtO,MAAMC,QAAQqO,KACfA,EAAO,CAACA,IAEL,CACHA,KAAMA,EACNg4B,MAAOA,EACV,EAEDqyE,EAAgC9gH,IAChC,IAAI+gH,EAAc,CAAC,EAKnB,OAJA3gH,EAAAA,EAAAA,IAAK,CAAC,mBAAoB,MAAO,OAAQ,WAAY,eAAgB,QAAS,SAAU,aAAc,SAAU,SAAU,WAAY,WAClI2gH,EAAYxkH,MAAQyD,EAAQzD,aACrByD,EAAQzD,KACnB,IACO,IAAI4wC,EAAAA,EAAY4zE,EAAY,EAOnCC,EAA2BA,CAACznE,EAAK0nE,IAAyB,IAAI9zE,EAAAA,EAAY,CAC1E/rC,KAAMA,IAAM8/G,EAAAA,EAAUrc,YAAY,CAC9BtrD,IAAKA,EACL8qD,SAAU,SAEd3+C,SAAU,OAASu7D,QAAwB,IAAWA,OAAuB,EAASA,EAAqBp/E,kBAEpGD,EAA6BA,CAAC5hC,EAASihH,KAC9C,IAAIthF,EA6BJ,MA5BI,kBAAoB3/B,IACpBA,EAAU,CACNg/B,UAAU,EACVW,MAAOqhF,EAAyBhhH,EAASihH,UAG7C,IAAWjhH,IACXA,EAAU,SASV,KANAA,EADAmI,MAAMC,QAAQpI,IAAYA,aAAmBF,EAAAA,EACnC,CACN6/B,MAAO3/B,IAGDgF,EAAAA,EAAAA,GAAO,CAAC,EAAGhF,IAEF2/B,QACnB3/B,EAAQ2/B,MAAQ,IAEpBA,EAAQ3/B,EAAQ2/B,MACZ,SAAU3/B,EACV2/B,EAAQmhF,EAA8B9gH,GAC/BmI,MAAMC,QAAQu3B,GACrBA,EAAQ,IAAIwhF,EAAAA,EAAWxhF,IAChBr5B,EAAAA,EAAAA,IAAcq5B,KACrBA,EAvCoBohF,KACxB,IAAI98G,EAAQ88G,EAAY58G,KAExB,cADO48G,EAAY58G,KACZrE,EAAAA,EAAMkE,OAAOC,EAAO88G,EAAY,EAoC3BK,EAAsBp8G,EAAAA,EAAAA,GAAO,CAAC,EAAG26B,KAE7C3/B,EAAQ2/B,MAAQA,EACT3/B,CAAO,6ICjGdoE,EAAgB,CAAC,EACViE,EAAwBH,IAC/B,IAAIm5G,EAAgB/+D,EAAAA,EAAQC,UAC5B,OAAOr6C,EAAM8B,QAAO,CAAChK,EAASqR,KAC1B,IACI+8C,OAAQA,EACRpuD,QAASshH,GACTjwG,EACAkwG,EAAenzD,GAAU,CAAC,EAK9B,QAJYzkD,EAAAA,EAAAA,IAAW43G,GAAgBA,EAAaF,GAAiBG,EAAYH,EAAeE,MAE5Fv8G,EAAAA,EAAAA,IAAO,EAAMhF,EAASshH,GAEnBthH,CAAO,GACf,CAAC,EAAE,EAEC0G,EAAmBA,CAAC1G,EAASkF,IAAU,kBAAoBlF,EAAUA,EAAU,CACtF,CAACA,GAAUkF,GAEJs8G,EAAcA,CAACpzD,EAAQ9jD,KAAW5I,EAAAA,EAAAA,IAAc4I,KAAW6zC,EAAAA,EAAAA,IAAgBiQ,EAAQ,CAAC9jD,IAASxM,OAAS,EACtGiL,EAAeF,GAAYA,EAAS2C,OAAO3C,EAASsY,YAAY,KAAO,GACvEnY,EAAgBH,GAAYA,EAAS2C,OAAO,EAAG3C,EAASsY,YAAY,MACpErX,EAAuB,SAAS23G,EAAerkH,GAEtD,OADAgH,EAAchH,GAAQgH,EAAchH,KAAS8D,EAAAA,EAAAA,IAAc9D,GACpDgH,EAAchH,GAAMqkH,EAAe,CACtCv7G,eAAe,GAEvB,EACWw7G,EAA2B,WAElC,OADchlH,UAAUoB,OAAS,QAAK,IAAWpB,UAAU,GAAKA,UAAU,GAAK,EAEnF,oCC5CA,SAAes/B,WAAAA,GAAW,CACtB2lF,MAAO,4BACPC,MAAO,6BACPC,MAAO,uDACPC,MAAO,sDACPC,MAAO,iBACPC,MAAO,oCACPC,MAAO,+DACPC,MAAO,iEACPC,MAAO,0DACPC,MAAO,kFACPC,MAAO,+BACPC,MAAO,sEACPC,MAAO,6EACPC,MAAO,uEACPC,MAAO,4CACPC,MAAO,iCACPC,MAAO,mDACPC,MAAO,yCACPC,MAAO,4BACPC,MAAO,6EACPC,MAAO,iCACPC,MAAO,qCACPC,MAAO,2BACPC,MAAO,sCACPC,MAAO,kDACPC,MAAO,uDACPC,MAAO,wFACPC,MAAO,uCACPC,MAAO,mEACPC,MAAO,uLACPC,MAAO,kCACPC,MAAO,+CACPC,MAAO,+CACPC,MAAO,iDACPC,MAAO,yCACPC,MAAO,wCACPC,MAAO,iCACPC,MAAO,yCACPC,MAAO,2BACPC,MAAO,gCACPC,MAAO,gCACPC,MAAO,4DACPC,MAAO,0DACPC,MAAO,uCACPC,MAAO,6CACPC,MAAO,mHACPC,MAAO,oEACPC,MAAO,uEACPC,MAAO,4EACPC,MAAO,2wBACPC,MAAO,4vBACPC,MAAO,+mBACPC,MAAO,sVACPC,MAAO,0UC7CPC,EAA8B,SAC9BC,EAA4B,aAE5BC,EAAkB,yHAClBC,EAAuB,+BACvBC,EAAwB,CAAC,GAAI,OAAQ,GAAI,KAAM,GAAI,KAAM,MAAO,GAAI,KAAM,GAAI,KAAM,QACpFC,EAA6B,8BAE7BC,EAAa,SAASnxG,EAAMoxG,GAC5B,IAAI/jH,EAIJ,OAHI+e,EAAAA,EAAAA,IAASpM,KAAUoxG,IACnB/jH,EAyBR,SAA4B2S,GACxB,IAAI4G,EAAQ5G,EAAKyC,MAAMsuG,GACvB,IAAKnqG,EAED,OADAA,EAAQ5G,EAAKyC,MAAMuuG,IAER,IAAI3tF,KAAK,EAAG,EAAG,EAAGguF,EAAYzqG,EAAM,IAAKyqG,EAAYzqG,EAAM,IAAKyqG,EAAYzqG,EAAM,UAE7F,EAEJ,IAAIg2C,EAAOy0D,EAAYzqG,EAAM,IACzB49C,IAAU59C,EAAM,GAChB09C,EAAM19C,EAAM,GACZ0qG,EAAe,EACfC,EAAiB,EACjBC,EAAc1tG,IACd84C,EAAO,KAAO94C,EAAE2iD,YAAY7J,GACrB94C,GAEXwtG,EAAeD,EAAYzqG,EAAM,KACjC2qG,EAAiBF,EAAYzqG,EAAM,KAC/B,MAAQA,EAAM,MACd0qG,GAAgBA,EAChBC,GAAkBA,GAEtB,IAAIltD,EAAOgtD,EAAYzqG,EAAM,IAAM0qG,EAC/BltD,EAASitD,EAAYzqG,EAAM,IAAM2qG,EACjCptD,EAASktD,EAAYzqG,EAAM,KAC3Bs9C,GAAuBwiD,EAGzB9/F,EAAM,IADGyqG,EADP3K,EAAOA,GAAQ,IACYnsG,KAAK0V,IAAI,GA1DnB,EA0D4Cy2F,EAAKh9G,SAFpD,IAASg9G,EAI3B,GAAI9/F,EAAM,IACN,OAAO4qG,EAAY,IAAInuF,KAAKA,KAAK2kC,IAAIpL,EAAM4H,EAAOF,EAAKD,EAAMD,EAAQD,EAAQD,KAEjF,OAAOstD,EAAY,IAAInuF,KAAKu5B,EAAM4H,EAAOF,EAAKD,EAAMD,EAAQD,EAAQD,GACxE,CA5DiButD,CAAmBzxG,IAEzB3S,GAOX,SAAmB2S,GACf,IAAI0xG,EAA+BC,EAA2B3xG,KAAU8wG,EACpEc,IAAexqD,EAAAA,EAAAA,IAAOpnD,IAASqjB,KAAKrc,MAAMhH,GAC9C,IAAK4xG,GAAeF,EAA8B,CAC9C,IAAI9qG,EAAQ5G,EAAKyC,MAAMyuG,GACvB,GAAItqG,EAAO,CACP,IAAI0hD,EAAU,IAAIjlC,KAAKguF,EAAYzqG,EAAM,IAAKyqG,EAAYzqG,EAAM,IAAKyqG,EAAYzqG,EAAM,KAIvF,OAHA0hD,EAAQ7B,YAAY4qD,EAAYzqG,EAAM,KACtC0hD,EAAQxC,SAASurD,EAAYzqG,EAAM,IAAM,GACzC0hD,EAAQvC,QAAQsrD,EAAYzqG,EAAM,KAC3B0hD,CACX,CACJ,CACA,OAAOupD,EAAAA,EAAAA,IAASD,GAAe,IAAIvuF,KAAKuuF,GAAe5xG,CAC3D,CArBqB8xG,CAAU9xG,EAC/B,EAEA,SAASqxG,EAAY3K,GACjB,OAAQA,GAAQ,CACpB,CAsDA,IA+CIiL,EAA6B,SAAS7gH,GACtC,MAAI,kBAAoBA,EACb+/G,GACAzkG,EAAAA,EAAAA,IAAStb,KAEZ2K,EAAAA,EAAAA,KAAS22B,sBACTjrB,EArDW,SAASnH,GAC5B,IAAI4G,EAAQ5G,EAAKyC,MAAMsuG,GACnB1jH,EAAS,GACb,IAAKuZ,EAED,OADAA,EAAQ5G,EAAKyC,MAAMuuG,IAERpqG,EAAM,GAAK,WAAa,aAEnC,EAEJ,IAAK,IAAI3d,EAAI,EAAGA,EAAIgoH,EAAsBvnH,OAAQT,IAC1C2d,EAAM3d,KACNoE,GAAU4jH,EAAsBhoH,IAAM2d,EAAM3d,IAepD,MAZI,MAAQ2d,EAAM,MACdvZ,GAAU,OAEVuZ,EAAM,MACFA,EAAM,IACNvZ,GAAU,MACHuZ,EAAM,IACbvZ,GAAU,KAEVA,GAAU,KAGXA,CACX,CAyBqB0kH,CAAiBjhH,IAE1BqW,IAEOrW,EAAMkK,QAAQ,MAAQ,EA/HL,sBAkIjB81G,IAEJhgH,EACA,UADJ,EAXH,IAAIqW,CAcZ,EACA,SACIgqG,WAAYA,EACZa,gBAvCkB,SAASlhH,GAC3B,MAAI,kBAAoBA,EACb,IAAIuyB,KAAKvyB,GAEbqgH,EAAWrgH,IAAQ2K,EAAAA,EAAAA,KAAS22B,oBACvC,EAmCI6/E,cAlCgB,SAASnhH,EAAOohH,GAChC,OAAKA,GAGA9qD,EAAAA,EAAAA,IAAOt2D,GAGRohH,IAAwBrB,EACjB//G,GAASA,EAAM61E,QAAU71E,EAAM61E,UAAY,MAE/CwrC,EAAAA,EAAAA,GAAiBD,EAAqBzJ,EAAAA,EAAtC0J,CAAwDrhH,GALpD,KAHAA,CASf,EAwBI6gH,2BAA4BA,0EChJzB,MAAM5lH,EACThB,WAAAA,CAAYqnH,GACR,IAAIxmH,EAAUtD,UAAUoB,OAAS,QAAK,IAAWpB,UAAU,GAAKA,UAAU,GAAK,CAAC,EAChFH,KAAKkqH,QAAU,CAAC,EAChBlqH,KAAKmqH,OAASF,EACdjqH,KAAKiI,SAAWxE,CACpB,CACA,aAAOgE,CAAOwiH,EAAOvrF,GACjB,OAAIA,GACOtxB,EAAAA,EAAAA,IAAWsxB,GAAYA,EAASurF,GAASvrF,EAEzC,IAAI96B,EAAeqmH,EAElC,CACAj2G,QAAAA,CAAS1M,GACL,IAAIurC,EAAY7yC,KAAKkqH,QAAQ5iH,GAC7B,QAAOurC,GAAYA,EAAU4R,KACjC,CACA3/C,SAAAA,CAAUwC,EAAW8iH,GACjB,IAAIv3E,EAAY7yC,KAAKkqH,QAAQ5iH,GAI7B,OAHIurC,GACAA,EAAUzhC,SAASpR,KAAKmqH,OAAQC,GAE7BpqH,KAAKmqH,MAChB,CACAnmH,EAAAA,CAAGsD,EAAWC,GACV,IAAIwC,EAAAA,EAAAA,IAAczC,IACdzD,EAAAA,EAAAA,IAAKyD,GAAW,CAACkM,EAAG8H,KAChBtb,KAAKgE,GAAGwP,EAAG8H,EAAE,QAEd,CACH,IAAIu3B,EAAY7yC,KAAKkqH,QAAQ5iH,GACxBurC,IACDA,GAAYtiC,EAAAA,EAAAA,GAAU,CAClBu8B,aAAc9sC,KAAKiI,SAAS6kC,eAEhC9sC,KAAKkqH,QAAQ5iH,GAAaurC,IAElBA,EAAUw3E,aAAex3E,EAAUxkC,KACzC9L,KAAKswC,EAAWtrC,EAC1B,CACJ,CACAC,GAAAA,CAAIF,EAAWC,GACX,IAAIsrC,EAAY7yC,KAAKkqH,QAAQ5iH,GACzBurC,KACIzlC,EAAAA,EAAAA,IAAW7F,GACXsrC,EAAU3rC,OAAOK,GAEjBsrC,EAAU7gC,QAGtB,CACAvH,OAAAA,IACI5G,EAAAA,EAAAA,IAAK7D,KAAKkqH,SAAS,CAAC5iH,EAAW2lB,KAC3BA,EAAMjb,OAAO,GAErB,yCChCAs4G,+EADAxhG,GAASE,EAAAA,EAAAA,MAETuhG,EAAa,SAASv9F,EAAU9Z,GAChC,OAAK8Z,EAID,kBAAoBA,EAChB,SAAWA,GACXhtB,KAAK,GAAKkT,EAAUA,EAAQ4kB,KAAOxuB,EAAAA,EAAWyuB,UAC9C/3B,KAAKuB,OAAS,EACPvB,OAEXkT,EAAUA,GAAW5J,EAAAA,EAAWkuD,cAC5B,MAAQxqC,EAAS,IACjBhtB,KAAK,GAAKsJ,EAAAA,EAAWiM,cAAcyX,EAAS3rB,MAAM,GAAI,GAAI6R,GAC1DlT,KAAKuB,OAAS,EACPvB,OACT,GAAGyB,KAAKvB,MAAMF,KAAMsJ,EAAAA,EAAWiqF,iBAAiBrgF,EAAS8Z,IACpDhtB,OACAsJ,EAAAA,EAAWusC,OAAO7oB,KAAarqB,EAAAA,EAAAA,IAASqqB,IAC/ChtB,KAAK,GAAKgtB,EACVhtB,KAAKuB,OAAS,EACPvB,MACA4L,MAAMC,QAAQmhB,IACrB,GAAGvrB,KAAKvB,MAAMF,KAAMgtB,GACbhtB,MAEJsqH,EAASt9F,EAASkR,QAAUlR,EAASkR,UAAY,CAAClR,KAxBrDhtB,KAAKuB,OAAS,EACPvB,KAwBf,GACAsqH,EAAW,SAASt9F,EAAU9Z,GAC1B,OAAO,IAAIq3G,EAAWv9F,EAAU9Z,EACpC,GACS5E,GAAK,CACV6gE,YAAY,GAEhBo7C,EAAW9pH,UAAY6pH,EAASh8G,GAChC,IAAIk8G,EAAe,SAAS3qH,EAAY4F,GACpC,IAAK,IAAI3E,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,IAAK,CAClC,IAAIojC,EAAOomF,EAAStqH,KAAKc,IACzBojC,EAAKrkC,GAAYK,MAAMgkC,EAAMz+B,EACjC,CACA,OAAOzF,IACX,EACIyqH,EAAoB,SAAStzG,EAASuzG,EAAU/hH,QAC5C,IAAWA,GAAS,OAASA,IAAS,IAAUA,EAChDW,EAAAA,EAAWmrF,aAAat9E,EAASuzG,EAAU/hH,GAE3CW,EAAAA,EAAWkb,gBAAgBrN,EAASuzG,EAE5C,EACAH,EAAW9pH,UAAUkqH,KAAO,WACxB,OAAO3qH,KAAK64D,QAAO,EACvB,EACA0xD,EAAW9pH,UAAUmqH,KAAO,WACxB,OAAO5qH,KAAK64D,QAAO,EACvB,EACA0xD,EAAW9pH,UAAUo4D,OAAS,SAASlwD,GAInC,OAHI3I,KAAK,IACLA,KAAK2jB,YAAY,sBAAuBhb,GAErC3I,IACX,EACAuqH,EAAW9pH,UAAU4hB,KAAO,SAASqoG,EAAU/hH,GAC3C,GAAI3I,KAAKuB,OAAS,GAAKpB,UAAUoB,OAAS,EACtC,OAAOipH,EAAajoH,KAAKvC,KAAM,OAAQG,WAE3C,IAAKH,KAAK,GACN,OAAI4N,EAAAA,EAAAA,IAAS88G,SAAa,IAAW/hH,EAC1B3I,UAEP,EAGR,IAAKA,KAAK,GAAGw0F,aACT,OAAOx0F,KAAKkpB,KAAKwhG,EAAU/hH,GAE/B,GAAI,kBAAoB+hH,GAAY,IAAMvqH,UAAUoB,OAAQ,CACxD,IAAI2D,EAASlF,KAAK,GAAGw0F,aAAak2B,GAClC,OAAO,MAAQxlH,OAAS,EAASA,CACrC,CAAO,IAAI6E,EAAAA,EAAAA,IAAc2gH,GACrB,IAAK,IAAIpoH,KAAOooH,EACZ1qH,KAAKqiB,KAAK/f,EAAKooH,EAASpoH,SAG5BmoH,EAAkBzqH,KAAK,GAAI0qH,EAAU/hH,GAEzC,OAAO3I,IACX,EACAuqH,EAAW9pH,UAAUoqH,WAAa,SAASH,GAEvC,OADA1qH,KAAK,IAAMsJ,EAAAA,EAAWkb,gBAAgBxkB,KAAK,GAAI0qH,GACxC1qH,IACX,EACAuqH,EAAW9pH,UAAUyoB,KAAO,SAASsO,EAAU7uB,GAC3C,IAAK3I,KAAK,GACN,OAAOA,KAEX,GAAI,kBAAoBw3B,GAAY,IAAMr3B,UAAUoB,OAChD,OAAOvB,KAAK,GAAGw3B,GACZ,IAAIztB,EAAAA,EAAAA,IAAcytB,GACrB,IAAK,IAAIl1B,KAAOk1B,EACZx3B,KAAKkpB,KAAK5mB,EAAKk1B,EAASl1B,SAG5BgH,EAAAA,EAAWorF,YAAY10F,KAAK,GAAIw3B,EAAU7uB,GAE9C,OAAO3I,IACX,EACAuqH,EAAW9pH,UAAU2W,SAAW,SAASsN,GACrC,OAAO1kB,KAAK2jB,YAAYe,GAAW,EACvC,EACA6lG,EAAW9pH,UAAU6hB,YAAc,SAASoC,GACxC,OAAO1kB,KAAK2jB,YAAYe,GAAW,EACvC,EACA6lG,EAAW9pH,UAAU+nE,SAAW,SAAS9jD,GACrC,IAAK1kB,KAAK,SAAM,IAAWA,KAAK,GAAG0kB,UAC/B,OAAO,EAGX,IADA,IAAIvC,EAAauC,EAAUtL,MAAM,KACxBtY,EAAI,EAAGA,EAAIqhB,EAAW5gB,OAAQT,IAAK,CACxC,GAAId,KAAK,GAAG80F,WACR,GAAI90F,KAAK,GAAG80F,UAAUlkE,SAASzO,EAAWrhB,IACtC,OAAO,OAIX,MADiBmjB,EAAAA,EAAAA,IAASjkB,KAAK,GAAG0kB,WAAa1kB,KAAK,GAAG0kB,UAAYpb,EAAAA,EAAWkrF,aAAax0F,KAAK,GAAI,WACjF,IAAIoZ,MAAM,KAAKvG,QAAQsP,EAAWrhB,KAAO,EACxD,OAAO,CAGnB,CACA,OAAO,CACX,EACAypH,EAAW9pH,UAAUkjB,YAAc,SAASe,EAAW/b,GACnD,GAAI3I,KAAKuB,OAAS,EACd,OAAOipH,EAAajoH,KAAKvC,KAAM,cAAeG,WAElD,IAAKH,KAAK,KAAO0kB,EACb,OAAO1kB,KAEX2I,OAAQ,IAAWA,GAAS3I,KAAKwoE,SAAS9jD,GAAa/b,EAEvD,IADA,IAAIwZ,EAAauC,EAAUtL,MAAM,KACxBtY,EAAI,EAAGA,EAAIqhB,EAAW5gB,OAAQT,IACnCwI,EAAAA,EAAWsrF,SAAS50F,KAAK,GAAImiB,EAAWrhB,GAAI6H,GAEhD,OAAO3I,IACX,EACAuqH,EAAW9pH,UAAUknC,KAAO,SAASh/B,GACjC,OAAKxI,UAAUoB,QAGfvB,KAAKgS,QACD,kBAAoBrJ,KAAUm6G,EAAAA,EAAAA,GAAYn6G,IAAU,kBAAoBA,GACxE3I,KAAK,GAAGmuE,UAAYxlE,EACb3I,MAEJA,KAAKylD,QAAOymB,EAAAA,EAAAA,GAAUvjE,KAPlB3I,KAAK,GAAGmuE,SAQvB,EACA,IAAI28C,EAAiB,SAAS3zG,EAAS4zG,GACnC,GAAK/qH,KAAK,IAAOmX,EAAjB,CAGI,kBAAoBA,EACpBA,GAAU+0D,EAAAA,EAAAA,GAAU/0D,GACbA,EAAQQ,SACfR,EAAU,CAACA,IACJ4T,EAAAA,EAAAA,IAAU5T,KACjBA,EAAU,CAAC7N,EAAAA,EAAW4qF,eAAe/8E,KAEzC,IAAK,IAAIrW,EAAI,EAAGA,EAAIqW,EAAQ5V,OAAQT,IAAK,CACrC,IAAIojC,EAAO/sB,EAAQrW,GACfyzB,EAAYv0B,KAAK,GACR,UAAYu0B,EAAUu/D,SAAW,OAAS5vD,EAAK4vD,SAC9Cv/D,EAAUy2F,SAAWz2F,EAAUy2F,QAAQzpH,SACjDgzB,EAAYA,EAAUy2F,QAAQ,IAElC1hH,EAAAA,EAAWmgC,cAAclV,EAAW2P,EAAKvsB,SAAWusB,EAAOA,EAAK,GAAI6mF,EACxE,CAhBA,CAiBJ,EACIE,EAAS,SAASpqH,EAAM8H,GACxB,GAAK3I,KAAK,IAAOA,KAAK,GAAG2iB,SAGrB,OAASha,GAAS,kBAAoBA,GAAS2V,MAAM3V,IAAzD,CAGA9H,GAAOspB,EAAAA,EAAAA,IAAUtpB,GACjB,IAAK,IAAIC,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,IAC7Bd,KAAKc,GAAG6hB,MAAM9hB,IAAQiqB,EAAAA,EAAAA,IAAmBjqB,EAAM8H,EAHnD,CAKJ,EACA4hH,EAAW9pH,UAAUiiB,IAAM,SAAS7hB,EAAM8H,GACtC,IAAIsb,EAAAA,EAAAA,IAASpjB,GAAO,CAChB,GAAI,IAAMV,UAAUoB,OAEb,CACH,IAAKvB,KAAK,GACN,OAEJa,GAAOspB,EAAAA,EAAAA,IAAUtpB,GACjB,IAAIqE,EAAS4jB,EAAO8K,iBAAiB5zB,KAAK,IAAIa,IAASb,KAAK,GAAG2iB,MAAM9hB,GACrE,OAAOkqB,EAAAA,EAAAA,IAAU7lB,GAAUA,EAAOmI,WAAanI,CACnD,CARI+lH,EAAO1oH,KAAKvC,KAAMa,EAAM8H,EAShC,MAAO,IAAIoB,EAAAA,EAAAA,IAAclJ,GACrB,IAAK,IAAIyB,KAAOzB,EACZoqH,EAAO1oH,KAAKvC,KAAMsC,EAAKzB,EAAKyB,IAGpC,OAAOtC,IACX,EACAuqH,EAAW9pH,UAAUyqH,QAAU,SAAS/zG,GACpC,GAAIhX,UAAUoB,OAAS,EAAG,CACtB,IAAK,IAAIT,EAAI,EAAGA,EAAIX,UAAUoB,OAAQT,IAClCd,KAAKkrH,QAAQ/qH,UAAUW,IAE3B,OAAOd,IACX,CAEA,OADA8qH,EAAe5qH,MAAMF,KAAM,CAACmX,EAASnX,KAAK,GAAGmrH,aACtCnrH,IACX,EACAuqH,EAAW9pH,UAAUglD,OAAS,SAAStuC,GACnC,GAAIhX,UAAUoB,OAAS,EAAG,CACtB,IAAK,IAAIT,EAAI,EAAGA,EAAIX,UAAUoB,OAAQT,IAClCd,KAAKylD,OAAOtlD,UAAUW,IAE1B,OAAOd,IACX,CAEA,OADA8qH,EAAe5qH,MAAMF,KAAM,CAACmX,IACrBnX,IACX,EACAuqH,EAAW9pH,UAAU2qH,UAAY,SAASj0G,GACtC,GAAInX,KAAKuB,OAAS,EAAG,CACjB,IAAK,IAAIT,EAAId,KAAKuB,OAAS,EAAGT,GAAK,EAAGA,IAClCwpH,EAAStqH,KAAKc,IAAIsqH,UAAUj0G,GAEhC,OAAOnX,IACX,CAKA,OAJAmX,EAAUmzG,EAASnzG,IACP,IACR7N,EAAAA,EAAWmgC,cAActyB,EAAQ,GAAInX,KAAK,GAAImX,EAAQ,GAAGg0G,YAEtDnrH,IACX,EACAuqH,EAAW9pH,UAAUm4D,SAAW,SAASzhD,GACrC,OAAInX,KAAKuB,OAAS,EACPipH,EAAajoH,KAAKvC,KAAM,WAAYG,YAE/CmJ,EAAAA,EAAWmgC,cAAc6gF,EAASnzG,GAAS,GAAInX,KAAK,IAC7CA,KACX,EACAuqH,EAAW9pH,UAAU+oC,aAAe,SAASryB,GAIzC,OAHIA,GAAWA,EAAQ,IACnB7N,EAAAA,EAAWmgC,cAActyB,EAAQ,GAAGuyB,WAAY1pC,KAAK,GAAImX,EAAQ,IAE9DnX,IACX,EACAuqH,EAAW9pH,UAAU4qH,YAAc,SAASl0G,GAIxC,OAHIA,GAAWA,EAAQ,IACnB7N,EAAAA,EAAWmgC,cAActyB,EAAQ,GAAGuyB,WAAY1pC,KAAK,GAAImX,EAAQ,GAAG4zG,aAEjE/qH,IACX,EACAuqH,EAAW9pH,UAAU6qH,OAAS,SAASn0G,GAInC,OAHInX,KAAK,IACLsJ,EAAAA,EAAWmgC,cAAczpC,KAAK,GAAG0pC,WAAYvyB,EAAQ,GAAInX,KAAK,IAE3DA,IACX,EACAuqH,EAAW9pH,UAAU8rE,MAAQ,SAASp1D,GAIlC,OAHInX,KAAK,IACLsJ,EAAAA,EAAWmgC,cAAczpC,KAAK,GAAG0pC,WAAYvyB,EAAQ,GAAInX,KAAK,GAAG+qH,aAE9D/qH,IACX,EACAuqH,EAAW9pH,UAAUgiF,KAAO,SAAS8oC,GACjC,GAAIvrH,KAAK,GAAI,CACT,IAAIyiF,EAAO6nC,EAASiB,GACpB9oC,EAAKj5C,aAAaxpC,MAClByiF,EAAKh9B,OAAOzlD,KAChB,CACA,OAAOA,IACX,EACAuqH,EAAW9pH,UAAU+qH,UAAY,SAASD,GACtC,IAAI9zG,EAAWzX,KAAKyX,WAMpB,OALIA,EAASlW,OACTkW,EAASgrE,KAAK8oC,GAEdvrH,KAAKylD,OAAO8lE,GAETvrH,IACX,EACAuqH,EAAW9pH,UAAU4oC,YAAc,SAASlyB,GACxC,GAAMA,GAAWA,EAAQ,GAGzB,OAAIA,EAAQ/N,GAAGpJ,MACJA,MAEXmX,EAAQqyB,aAAaxpC,MACrBA,KAAKkH,SACEiQ,EACX,EACAozG,EAAW9pH,UAAUyG,OAAS,WAC1B,OAAIlH,KAAKuB,OAAS,EACPipH,EAAajoH,KAAKvC,KAAM,SAAUG,aAE7C6kB,EAAAA,EAAAA,IAAmBhlB,KAAK,IAAI,GAC5BsJ,EAAAA,EAAW+qF,cAAcr0F,KAAK,IACvBA,KACX,EACAuqH,EAAW9pH,UAAU4W,OAAS,WAC1B,OAAIrX,KAAKuB,OAAS,EACPipH,EAAajoH,KAAKvC,KAAM,SAAUG,YAE7CmJ,EAAAA,EAAW+qF,cAAcr0F,KAAK,IACvBA,KACX,EACAuqH,EAAW9pH,UAAUuR,MAAQ,WACzB,OAAIhS,KAAKuB,OAAS,EACPipH,EAAajoH,KAAKvC,KAAM,QAASG,aAE5C6kB,EAAAA,EAAAA,IAAmBhlB,KAAK,IACxBsJ,EAAAA,EAAWqrF,QAAQ30F,KAAK,GAAI,IACrBA,KACX,EACAuqH,EAAW9pH,UAAUo5B,MAAQ,WAEzB,IADA,IAAI30B,EAAS,GACJpE,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,IAC7BoE,EAAOzD,KAAKzB,KAAKc,GAAG2qH,WAAU,IAElC,OAAOnB,EAASplH,EACpB,EACAqlH,EAAW9pH,UAAUoX,KAAO,SAASlP,GACjC,IAAKxI,UAAUoB,OAAQ,CAEnB,IADA,IAAI2D,EAAS,GACJpE,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,IAC7BoE,GAAUlF,KAAKc,IAAMd,KAAKc,GAAGmkB,aAAe,GAEhD,OAAO/f,CACX,CACA,IAAI2S,GAAOzK,EAAAA,EAAAA,IAAWzE,GAASA,IAAUA,EAGzC,OAFAqc,EAAAA,EAAAA,IAAmBhlB,KAAK,IAAI,GAC5BsJ,EAAAA,EAAWqrF,QAAQ30F,KAAK,IAAI4J,EAAAA,EAAAA,IAAUiO,GAAQA,EAAO,IAC9C7X,IACX,EACAuqH,EAAW9pH,UAAUirH,IAAM,SAAS/iH,GAChC,OAAI,IAAMxI,UAAUoB,OACTvB,KAAKkpB,KAAK,SAAStf,EAAAA,EAAAA,IAAUjB,GAASA,EAAQ,IAElD3I,KAAKkpB,KAAK,QACrB,EACAqhG,EAAW9pH,UAAUgX,SAAW,WAC5B,IAAKzX,KAAK,GACN,OAAOsqH,IAEX,IAAIplH,EAAS,GAEb,OADAA,EAAOzD,KAAKvB,MAAMgF,EAAQlF,KAAK,GAAGkvF,YAC3Bo7B,EAASplH,EACpB,EACAqlH,EAAW9pH,UAAU2vB,KAAO,SAASpD,GACjC,IAAI9nB,EAASolH,IACb,IAAKt9F,EACD,OAAO9nB,EAEX,IACIpE,EADAw+B,EAAQ,GAEZ,GAAI,kBAAoBtS,EAEpB,IADAA,EAAWA,EAASlV,OACfhX,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,IAAK,CAC9B,IAAIqW,EAAUnX,KAAKc,GACnB,GAAIwI,EAAAA,EAAWC,cAAc4N,GAAU,CACnC,IAAIw0G,EAAYx0G,EAAQq9E,aAAa,MACjCo3B,EAAUD,GAAa,oBACtBA,GACDlB,EAAkBtzG,EAAS,KAAMy0G,GAGrC,IAAIC,GADJD,EAAU,QAAUA,EAAU,OACA5+F,EAASmF,QAAQ,cAAe,OAASy5F,GACvEtsF,EAAM79B,KAAKvB,MAAMo/B,EAAOh2B,EAAAA,EAAWiqF,iBAAiBp8E,EAAS00G,IAC7DpB,EAAkBtzG,EAAS,KAAMw0G,EACrC,MAAWriH,EAAAA,EAAWsuB,WAAWzgB,IAAY7N,EAAAA,EAAW8qF,mBAAmBj9E,KACvEmoB,EAAM79B,KAAKvB,MAAMo/B,EAAOh2B,EAAAA,EAAWiqF,iBAAiBp8E,EAAS6V,GAErE,MAEA,IAAKlsB,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,IACzBksB,EAAW1jB,EAAAA,EAAWusC,OAAO7oB,GAAYA,EAAWA,EAAS,GACzDhtB,KAAKc,KAAOksB,GAAYhtB,KAAKc,GAAG8vB,SAAS5D,IACzCsS,EAAM79B,KAAKurB,GAIvB,OAAO9nB,EAAOmJ,IAAIixB,EACtB,EACA,IAAIwsF,EAAY,SAAShoH,EAAGqT,GACxB,IAAI40G,EAAeC,EAAuBruF,EAE1C,QADAxmB,EAAU,QAAU40G,EAAgB50G,EAAQixB,YAAS,IAAW2jF,EAAgBA,EAAgB50G,GACnFQ,aAGHR,EAAQm3D,aAAen3D,EAAQsd,cAAgB,QAAUu3F,GAAyBruF,EAAWxmB,GAAS6hB,sBAAmB,IAAWgzF,GAAyBA,EAAsBzpH,KAAKo7B,GAAUp8B,OAChN,EACAgpH,EAAW9pH,UAAUsN,OAAS,SAASif,GACnC,IAAKA,EACD,OAAOs9F,IAEX,GAAI,aAAet9F,EACf,OAAOhtB,KAAK+N,OAAO+9G,GAChB,GAAI,YAAc9+F,EACrB,OAAOhtB,KAAK+N,QAAQ,SAASjK,EAAGqT,GAC5B,OAAQ20G,EAAUhoH,EAAGqT,EACzB,IAGJ,IADA,IAAIjS,EAAS,GACJpE,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,IAAK,CAClC,IAAIojC,EAAOlkC,KAAKc,GAChB,GAAIwI,EAAAA,EAAWC,cAAc26B,IAAS,YAAat8B,EAAAA,EAAAA,IAAKolB,GACpD1jB,EAAAA,EAAWyqC,eAAe7P,EAAMlX,IAAa9nB,EAAOzD,KAAKyiC,QACtD,GAAI56B,EAAAA,EAAWusC,OAAO7oB,KAAarqB,EAAAA,EAAAA,IAASqqB,GAC/CA,IAAakX,GAAQh/B,EAAOzD,KAAKyiC,QAC9B,IAAI92B,EAAAA,EAAAA,IAAW4f,GAClBA,EAASzqB,KAAK2hC,EAAMpjC,EAAGojC,IAASh/B,EAAOzD,KAAKyiC,QAE5C,IAAK,IAAI1oB,EAAI,EAAGA,EAAIwR,EAASzrB,OAAQia,IACjCwR,EAASxR,KAAO0oB,GAAQh/B,EAAOzD,KAAKyiC,EAGhD,CACA,OAAOomF,EAASplH,EACpB,EACAqlH,EAAW9pH,UAAUwrH,IAAM,SAASj/F,GAGhC,IAFA,IAAI9nB,EAAS,GACTo6B,EAAQt/B,KAAK+N,OAAOif,GAAUkR,UACzBp9B,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,KACxB,IAAMw+B,EAAMzsB,QAAQ7S,KAAKc,KAC1BoE,EAAOzD,KAAKzB,KAAKc,IAGzB,OAAOwpH,EAASplH,EACpB,EACAqlH,EAAW9pH,UAAU2I,GAAK,SAAS4jB,GAC/B,QAAShtB,KAAK+N,OAAOif,GAAUzrB,MACnC,EACAgpH,EAAW9pH,UAAUmnC,SAAW,SAAS5a,GAErC,IADA,IAAI9nB,EAAS,GACJpE,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,IAE7B,IADA,IAAIw+B,EAAQt/B,KAAKc,GAAKd,KAAKc,GAAGouF,WAAa,GAClC1zE,EAAI,EAAGA,EAAI8jB,EAAM/9B,OAAQia,IAC1BlS,EAAAA,EAAWC,cAAc+1B,EAAM9jB,KAC/BtW,EAAOzD,KAAK69B,EAAM9jB,IAK9B,OADAtW,EAASolH,EAASplH,GACX8nB,EAAW9nB,EAAO6I,OAAOif,GAAY9nB,CAChD,EACAqlH,EAAW9pH,UAAUyrH,SAAW,WAC5B,IAAI/0G,EAAUnX,KAAK,GACnB,IAAKmX,IAAYA,EAAQuyB,WACrB,OAAO4gF,IAIX,IAFA,IAAIplH,EAAS,GACTinH,EAAmBh1G,EAAQuyB,WAAWwlD,YAAc,GAC/CpuF,EAAI,EAAGA,EAAIqrH,EAAiB5qH,OAAQT,IAAK,CAC9C,IAAIg4E,EAAOqzC,EAAiBrrH,GACxBwI,EAAAA,EAAWC,cAAcuvE,IAASA,IAAS3hE,GAC3CjS,EAAOzD,KAAKq3E,EAEpB,CACA,OAAOwxC,EAASplH,EACpB,EACAqlH,EAAW9pH,UAAUoD,KAAO,SAASqS,GACjC,IAAK,IAAIpV,EAAI,EAAGA,EAAId,KAAKuB,SACjB,IAAU2U,EAAS3T,KAAKvC,KAAKc,GAAIA,EAAGd,KAAKc,IADhBA,KAKrC,EACAypH,EAAW9pH,UAAUqsB,MAAQ,SAAS3V,GAClC,OAAKA,GAGLA,EAAUmzG,EAASnzG,GACZnX,KAAKk+B,UAAUrrB,QAAQsE,EAAQ,KAH3BnX,KAAKU,SAASknC,WAAW9a,MAAM9sB,KAI9C,EACAuqH,EAAW9pH,UAAUwI,IAAM,SAAS6jB,GAChC,OAAO9sB,KAAK8sB,EAAQ,EAAI9sB,KAAKuB,OAASurB,EAAQA,EAClD,EACAy9F,EAAW9pH,UAAU2rH,GAAK,SAASt/F,GAE/B,OADAA,EAAQA,EAAQ,EAAI9sB,KAAKuB,OAASurB,EAAQA,EACnCw9F,EAAStqH,KAAK8sB,GACzB,EACAy9F,EAAW9pH,UAAU8gF,MAAQ,WACzB,OAAOvhF,KAAKosH,GAAG,EACnB,EACA7B,EAAW9pH,UAAU6rE,KAAO,WACxB,OAAOtsE,KAAKosH,IAAI,EACpB,EACA7B,EAAW9pH,UAAU0iC,OAAS,WAC1B,IAAK,IAAIriC,EAAI,EAAGA,EAAId,KAAKuB,OAAQT,GAAK,EAClCd,KAAKc,GAAGqiC,QAAUnjC,KAAKc,GAAGqiC,SAE9B,OAAOnjC,IACX,EACAuqH,EAAW9pH,UAAUC,OAAS,SAASssB,GACnC,IAAKhtB,KAAK,GACN,OAAOsqH,IAEX,IAAIplH,EAASolH,EAAStqH,KAAK,GAAG0pC,YAC9B,OAAQ1c,GAAY9nB,EAAOkE,GAAG4jB,GAAY9nB,EAASolH,GACvD,EACAC,EAAW9pH,UAAU+mC,QAAU,SAASxa,GAGpC,IAFA,IAAI9nB,EAAS,GACTxE,EAASV,KAAKU,SACXA,GAAUA,EAAO,KAAO4I,EAAAA,EAAWsuB,WAAWl3B,EAAO,KACpD4I,EAAAA,EAAWC,cAAc7I,EAAO,MAC3BssB,IAAYtsB,EAAO0I,GAAG4jB,IACvB9nB,EAAOzD,KAAKf,EAAOuI,IAAI,KAG/BvI,EAASA,EAAOA,SAEpB,OAAO4pH,EAASplH,EACpB,EACAqlH,EAAW9pH,UAAUgxB,QAAU,SAASzE,GACpC,GAAIhtB,KAAKoJ,GAAG4jB,GACR,OAAOhtB,KAGX,IADA,IAAIU,EAASV,KAAKU,SACXA,GAAUA,EAAOa,QAAQ,CAC5B,GAAIb,EAAO0I,GAAG4jB,GACV,OAAOtsB,EAEXA,EAASA,EAAOA,QACpB,CACA,OAAO4pH,GACX,EACAC,EAAW9pH,UAAU+uE,KAAO,SAASxiD,GACjC,IAAKhtB,KAAK,GACN,OAAOsqH,IAEX,IAAI96C,EAAO86C,EAAStqH,KAAK,GAAG+qH,aAC5B,IAAK5qH,UAAUoB,OACX,OAAOiuE,EAEX,KAAOA,GAAQA,EAAKjuE,QAAQ,CACxB,GAAIiuE,EAAKpmE,GAAG4jB,GACR,OAAOwiD,EAEXA,EAAOA,EAAKA,MAChB,CACA,OAAO86C,GACX,EACAC,EAAW9pH,UAAUk8F,KAAO,WACxB,OAAK38F,KAAK,GAGHsqH,EAAStqH,KAAK,GAAGo5F,iBAFbkxB,GAGf,EACAC,EAAW9pH,UAAU4N,IAAM,SAAS2e,GAGhC,IAFA,IAAIq/F,EAAU/B,EAASt9F,GACnB9nB,EAASlF,KAAKk+B,UACTp9B,EAAI,EAAGA,EAAIurH,EAAQ9qH,OAAQT,IAAK,CACrC,IAAI2uB,EAAS48F,EAAQvrH,IAChB,IAAMoE,EAAO2N,QAAQ4c,IACtBvqB,EAAOzD,KAAKguB,EAEpB,CACA,OAAO66F,EAASplH,EACpB,EACA,IAAIonH,EAAa,GACjB/B,EAAW9pH,UAAU4sB,OAAS,WAC1B,OAAOi9F,EAASgC,EAAWj/F,OAAOntB,MAAMF,KAAMG,WAClD,EACAoqH,EAAW9pH,UAAUY,MAAQ,WACzB,OAAOipH,EAASgC,EAAWjrH,MAAMnB,MAAMF,KAAMG,WACjD,EACAoqH,EAAW9pH,UAAUy9B,QAAU,WAC3B,OAAOouF,EAAWjrH,MAAMkB,KAAKvC,KACjC,EACAuqH,EAAW9pH,UAAUsuB,OAAS,WAC1B,GAAK/uB,KAAK,GAGV,OAAO84B,EAAAA,EAAAA,IAAU94B,KAAK,GAC1B,EACAuqH,EAAW9pH,UAAU8rH,aAAe,WAChC,IAAKvsH,KAAK,GACN,OAAOsqH,IAGX,IADA,IAAIiC,EAAejC,EAAStqH,KAAK,GAAGusH,cAC7BA,EAAa,IAAM,WAAaA,EAAa7pG,IAAI,aACpD6pG,EAAejC,EAASiC,EAAa,GAAGA,cAG5C,OADAA,EAAeA,EAAa,GAAKA,EAAejC,EAAShhH,EAAAA,EAAWggB,qBAExE,EACAihG,EAAW9pH,UAAU0oC,SAAW,WAC5B,GAAKnpC,KAAK,GAAV,CAGA,IAAI+uB,EACAy9F,EAAY9lG,WAAW1mB,KAAK0iB,IAAI,cAChC+pG,EAAa/lG,WAAW1mB,KAAK0iB,IAAI,eACrC,GAAI,UAAY1iB,KAAK0iB,IAAI,YAErB,MAAO,CACH0O,KAFJrC,EAAS/uB,KAAK,GAAGuxB,yBAEDH,IAAMo7F,EAClBt7F,KAAMnC,EAAOmC,KAAOu7F,GAG5B19F,EAAS/uB,KAAK+uB,SACd,IAAIw9F,EAAevsH,KAAKusH,eACpBG,EAAe,CACft7F,IAAK,EACLF,KAAM,GASV,MAPI,SAAWq7F,EAAa,GAAGz4E,WAC3B44E,EAAeH,EAAax9F,UAEhC29F,EAAe,CACXt7F,IAAKs7F,EAAat7F,IAAM1K,WAAW6lG,EAAa7pG,IAAI,mBACpDwO,KAAMw7F,EAAax7F,KAAOxK,WAAW6lG,EAAa7pG,IAAI,qBAEnD,CACH0O,IAAKrC,EAAOqC,IAAMs7F,EAAat7F,IAAMo7F,EACrCt7F,KAAMnC,EAAOmC,KAAOw7F,EAAax7F,KAAOu7F,EA1B5C,CA4BJ,EACA,CAAC,CACG5rH,KAAM,aACN8rH,WAAY,cACZC,aAAc,SAAS1zF,EAAKvwB,GACxBuwB,EAAI2zF,SAASlkH,EAAOuwB,EAAIE,YAC5B,GACD,CACCv4B,KAAM,YACN8rH,WAAY,cACZC,aAAc,SAAS1zF,EAAKvwB,GACxBuwB,EAAI2zF,SAAS3zF,EAAII,YAAa3wB,EAClC,IACD4N,SAAS,SAASu2G,GACjB,IAAIt1F,EAAWs1F,EAAkBjsH,KACjC0pH,EAAW9pH,UAAU+2B,GAAY,SAAS7uB,GACtC,GAAK3I,KAAK,GAAV,CAGA,IAAI8oB,GAAS+P,EAAAA,EAAAA,IAAmB74B,KAAK,IACrC,YAAI,IAAW2I,EACJmgB,EAASA,EAAOgkG,EAAkBH,YAAc3sH,KAAK,GAAGw3B,IAE/D1O,EACAgkG,EAAkBF,aAAa9jG,EAAQngB,GAEvC3I,KAAK,GAAGw3B,GAAY7uB,EAEjB3I,KAVP,CAWJ,CACJ,IACAuqH,EAAW9pH,UAAUyZ,KAAO,SAAS5X,EAAKqG,GACtC,GAAK3I,KAAK,GAGV,OAAIG,UAAUoB,OAAS,EACZ4rB,EAAAA,EAAY5qB,KAAK+nH,EAAUtqH,KAAK,GAAIsC,IAE/C6qB,EAAAA,EAAY5qB,KAAK+nH,EAAUtqH,KAAK,GAAIsC,EAAKqG,GAClC3I,KACX,EACAuqH,EAAW9pH,UAAU6sB,WAAa,SAAShrB,GAEvC,OADAtC,KAAK,KAAMstB,EAAAA,EAAAA,IAAWttB,KAAK,GAAIsC,GACxBtC,IACX,EACA,IAAI+sH,EAAkB,WAClB,OAAOzC,EAASpqH,MAAMF,KAAMG,UAChC,EACAc,OAAOi1C,eAAe62E,EAAiB,KAAM,CACzCl0E,YAAY,EACZC,cAAc,EACd7vC,IAAK,WACD,OAAOqhH,EAASh8G,EACpB,EACApE,IAAK,SAASvB,GACV2hH,EAASh8G,GAAK3F,CAClB,IAEJ,MC5sBA,EDgtBS,WACD,OAAOokH,CACX,CCltBJ,+DCMIjkG,GAASE,EAAAA,EAAAA,MACTgkG,EAAqB,CACrBC,QAAS1oH,EAAAA,GACT2oH,UAAW3oH,EAAAA,GACX4oH,WAAY5oH,EAAAA,IA6BhB,QAD8B,IA1B9B,MACI3B,WAAAA,GACI,KAAK6e,EAAAA,EAAAA,QAAgBqH,EAAOskG,eACxB,OAAOJ,EAEXhtH,KAAKqtH,cAAgB,IAAI7xE,IACzBx7C,KAAKstH,UAAY,IAAIxkG,EAAOskG,gBAAevnC,IACvCA,EAAQtvE,SAAQg3G,IACZ,IAAIC,EACJ,QAAUA,EAAwBxtH,KAAKqtH,cAAcpkH,IAAIskH,EAAM99F,eAAY,IAAW+9F,GAAiCA,EAAsBD,EAAM,GACrJ,GAEV,CACAN,OAAAA,CAAQ91G,EAASjB,GACblW,KAAKqtH,cAAcnjH,IAAIiN,EAASjB,GAChClW,KAAKstH,UAAUL,QAAQ91G,EAC3B,CACA+1G,SAAAA,CAAU/1G,GACNnX,KAAKqtH,cAAc7tF,OAAOroB,GAC1BnX,KAAKstH,UAAUJ,UAAU/1G,EAC7B,CACAg2G,UAAAA,GACIntH,KAAKqtH,cAAcrhF,QACnBhsC,KAAKstH,UAAUH,YACnB,oBC7CJ,SAAS9I,EAA8BxlC,EAAGrrE,GACxC,GAAI,MAAQqrE,EAAG,MAAO,CAAC,EACvB,IAAIxiE,EAAI,CAAC,EACT,IAAK,IAAI7C,KAAKqlE,EAAG,GAAI,CAAC,EAAE39E,eAAeqB,KAAKs8E,EAAGrlE,GAAI,CACjD,IAAK,IAAMhG,EAAEX,QAAQ2G,GAAI,SACzB6C,EAAE7C,GAAKqlE,EAAErlE,EACX,CACA,OAAO6C,CACT,oGCOIoxG,EAAa,eACbC,EAAkB,UAIlBC,EAAQ,CACR7hG,MAAO,SAAS3U,GACZ,IAAI8K,GAAW/M,EAAAA,EAAAA,GAAEiC,GACjBuU,EAAAA,EAAa1nB,GAAGie,GAAUub,EAAAA,EAAAA,IANV,QAM0CkwF,GAAkBC,EAAMC,cAAczsH,KAAKwsH,GACzG,EACAvgG,SAAU,SAASjW,GACfuU,EAAAA,EAAalkB,IAAI2P,EAAS,IAAIlN,OAAOyjH,GACzC,EACAE,cAAe,SAASp6G,GACpB,IACIq6G,UAAWA,EACX9yD,OAAQA,EACRD,OAAQA,EACRgzD,OAAQA,GACRt6G,EAAEqc,eACN/qB,EAAAA,EAAAA,IAAU,CACN8C,KAAM6lH,EACN59F,cAAerc,EACfonD,MAAO56D,KAAK+tH,gBAAgBhzD,EAAQ8yD,GACpC/yD,OAAQA,EACRC,OAAQA,EACR+yD,OAAQA,EACRD,UAAWA,EACXjmD,YAAa,UAEjBp0D,EAAEujC,iBACN,EACAg3E,eAAAA,CAAgBnzD,GAEZ,OA/BS,KA8BOz6D,UAAUoB,OAAS,QAAK,IAAWpB,UAAU,GAAKA,UAAU,GA9BnE,IAgCGy6D,GA/BG,GAiCgBA,CAEnC,IAEJhvC,EAAAA,EAAAA,GAAc6hG,EAAYE,0GCuC1B,QAzEcxqH,EAAAA,EAAMV,QAAQ,CACxBjB,KAAM,SAAS2V,GACXnX,KAAKygB,WAAYvL,EAAAA,EAAAA,GAAEiC,GACnBnX,KAAKguH,iBAAkBz9G,EAAAA,EAAAA,KACvBvQ,KAAKiuH,iBAAkB19G,EAAAA,EAAAA,IAC3B,EACA2oD,WAAY,WACR,OAAOl5D,KAAKygB,SAChB,EACA2/B,SAAU,SAAS5sC,GACf,QAAQ6nD,EAAAA,EAAAA,IAAoB7nD,EAChC,EACAg+E,iBAAkB,SAASh+E,GACvB,OAAO,KAAM00D,EAAAA,EAAAA,IAAW10D,EAC5B,EACA4lD,8BAA+B,WAC3B,OAAO,CACX,EACAH,UAAW,SAAS/+C,IAChBzR,EAAAA,EAAAA,GAAOzI,KAAMka,EACjB,EACAu3E,kBAAmB,SAASv7E,GACxBlW,KAAKguH,gBAAgB3/G,IAAI6H,EAC7B,EACA67E,qBAAsB,WAClB/xF,KAAKguH,gBAAgBh8G,OACzB,EACAunD,QAAS,SAAS/lD,GACdxT,KAAKguH,gBAAgB3uF,KAAKr/B,KAAMwT,EACpC,EACAk+E,kBAAmB,SAASx7E,GACxBlW,KAAKiuH,gBAAgB5/G,IAAI6H,EAC7B,EACA87E,qBAAsB,WAClBhyF,KAAKiuH,gBAAgBj8G,OACzB,EACAk8G,QAAS,SAAS16G,GACdxT,KAAKiuH,gBAAgB5uF,KAAKr/B,KAAMwT,EACpC,EACAgnD,eAAgB,SAAShnD,GACrBxT,KAAKmuH,oBAAsB36G,CAC/B,EACAinD,cAAe,WACXz6D,KAAKkuH,QAAQluH,KAAKmuH,qBAClBnuH,KAAKmuH,oBAAsB,IAC/B,EACA10D,MAAOl1D,EAAAA,GACP41D,KAAM51D,EAAAA,GACNm3D,IAAKn3D,EAAAA,GACL89B,OAAQ99B,EAAAA,GACRiJ,MAAO,WACCxN,KAAKmuH,qBACLnuH,KAAKkuH,QAAQluH,KAAKmuH,oBAE1B,EACAvgG,WAAY,SAAStmB,EAAWkM,EAAG0zF,GAC/B,IAAIv4E,GAAYlmB,EAAAA,EAAAA,GAAO,CACnBb,KAAMN,EACNuoB,cAAerc,EACfic,OAAQzvB,KAAKouH,kBAAkB56G,GAC/B0jC,eAAgBl3C,KAAKk5D,aAAajwD,IAAI,IACvCi+F,GAKH,OAJA1zF,GAAI1O,EAAAA,EAAAA,IAAU6pB,IACR0T,QACFriC,KAAKu5D,QAAQ/lD,GAEVA,CACX,EACA46G,kBAAmB,SAAS56G,GACxB,OAAQxT,KAAK6yF,kBAAmB39E,EAAAA,EAAAA,GAAE1B,EAAEic,QAAQgC,QAAQzxB,KAAK6yF,kBAAoB7yF,KAAKk5D,cAAcjwD,IAAI,EACxG,EACAwB,QAASlG,EAAAA","sources":["../node_modules/devextreme/esm/core/class.js","../node_modules/devextreme/esm/data/abstract_store.js","../node_modules/devextreme/esm/core/options/option_manager.js","../node_modules/devextreme/esm/core/utils/comparator.js","../node_modules/devextreme/esm/core/options/index.js","../node_modules/devextreme/esm/core/postponed_operations.js","../node_modules/devextreme/esm/core/component.js","../node_modules/devextreme/esm/core/template_manager.js","../node_modules/devextreme/esm/__internal/utils/version.js","../node_modules/devextreme/esm/__internal/core/license/byte_utils.js","../node_modules/devextreme/esm/__internal/core/license/key.js","../node_modules/devextreme/esm/__internal/core/license/types.js","../node_modules/devextreme/esm/__internal/core/license/pkcs1.js","../node_modules/devextreme/esm/__internal/core/license/sha1.js","../node_modules/devextreme/esm/__internal/core/license/license_validation.js","../node_modules/devextreme/esm/__internal/core/license/rsa_bigint.js","../node_modules/devextreme/esm/core/dom_component.js","../node_modules/devextreme/esm/core/utils/math.js","../node_modules/devextreme/esm/core/utils/window.js","../node_modules/devextreme/esm/core/utils/style.js","../node_modules/devextreme/esm/events/remove.js","../node_modules/devextreme/esm/core/templates/child_default_template.js","../node_modules/devextreme/esm/events/drag.js","../node_modules/devextreme/esm/core/utils/inflector.js","../node_modules/devextreme/esm/core/utils/size.js","../node_modules/devextreme/esm/core/utils/extend.js","../node_modules/devextreme/esm/localization/ldml/date.format.js","../node_modules/devextreme/esm/events/core/keyboard_processor.js","../node_modules/devextreme/esm/core/element_data.js","../node_modules/devextreme/esm/data/errors.js","../node_modules/devextreme/esm/localization/utils.js","../node_modules/devextreme/esm/__internal/ui/collection/m_data_controller.js","../node_modules/devextreme/esm/data_helper.js","../node_modules/devextreme/esm/core/utils/dom.js","../node_modules/devextreme/esm/core/config.js","../node_modules/devextreme/esm/data/array_store.js","../node_modules/devextreme/esm/core/utils/queue.js","../node_modules/devextreme/esm/data/data_source/operation_manager.js","../node_modules/devextreme/esm/data/data_source/data_source.js","../node_modules/devextreme/esm/events/core/event_registrator.js","../node_modules/devextreme/esm/core/component_registrator_callbacks.js","../node_modules/devextreme/esm/core/component_registrator.js","../node_modules/devextreme/esm/events/core/hook_touch_props.js","../node_modules/devextreme/esm/events/core/events_engine.js","../node_modules/devextreme/esm/localization/default_date_names.js","../node_modules/devextreme/esm/core/utils/array.js","../node_modules/devextreme/esm/data/query_adapters.js","../node_modules/devextreme/esm/data/remote_query.js","../node_modules/devextreme/esm/data/query_implementation.js","../node_modules/devextreme/esm/data/query.js","../node_modules/devextreme/esm/core/utils/error.js","../node_modules/devextreme/esm/core/action.js","../node_modules/devextreme/esm/core/utils/call_once.js","../node_modules/devextreme/esm/core/utils/common.js","../node_modules/devextreme/esm/core/templates/template_engine_registry.js","../node_modules/devextreme/esm/core/templates/template.js","../node_modules/devextreme/esm/core/utils/template_manager.js","../node_modules/devextreme/esm/core/templates/function_template.js","../node_modules/devextreme/esm/data/custom_store.js","../node_modules/devextreme/esm/core/utils/view_port.js","../node_modules/devextreme/esm/localization/ldml/number.js","../node_modules/devextreme/esm/core/utils/storage.js","../node_modules/devextreme/esm/core/devices.js","../node_modules/devextreme/esm/localization/ldml/date.parser.js","../node_modules/devextreme/esm/core/utils/ready_callbacks.js","../node_modules/devextreme-react/esm/core/nested-option.js","../node_modules/devextreme/esm/events/gesture/emitter.gesture.js","../node_modules/devextreme/esm/renovation/ui/common/utils/date/toMilliseconds.js","../node_modules/devextreme/esm/core/utils/date.js","../node_modules/devextreme/esm/core/utils/resize_callbacks.js","../node_modules/devextreme/esm/core/utils/dependency_injector.js","../node_modules/devextreme/esm/events/core/event_registrator_callbacks.js","../node_modules/devextreme/esm/events/utils/add_namespace.js","../node_modules/devextreme/esm/events/utils/index.js","../node_modules/devextreme/esm/events/hover.js","../node_modules/devextreme/esm/ui/themes.js","../node_modules/devextreme/esm/ui/themes_callback.js","../node_modules/devextreme/esm/core/utils/type.js","../node_modules/devextreme/esm/core/memorized_callbacks.js","../node_modules/devextreme/esm/data/array_query.js","../node_modules/devextreme/esm/core/version.js","../node_modules/devextreme/esm/core/utils/iterator.js","../node_modules/devextreme/esm/ui/widget/ui.errors.js","../node_modules/devextreme/esm/events/utils/event_nodes_disposing.js","../node_modules/devextreme/esm/events/click.js","../node_modules/devextreme/esm/data/array_utils.js","../node_modules/devextreme/esm/localization/ldml/date.formatter.js","../node_modules/devextreme/esm/core/utils/data.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/devextreme/esm/ui/widget/selectors.js","../node_modules/devextreme/esm/data/store_helper.js","../node_modules/devextreme/esm/core/element.js","../node_modules/devextreme/esm/core/utils/public_component.js","../node_modules/devextreme/esm/data/utils.js","../node_modules/devextreme/esm/core/utils/callbacks.js","../node_modules/devextreme/esm/core/utils/variable_wrapper.js","../node_modules/devextreme/esm/core/utils/deferred.js","../node_modules/devextreme/esm/core/guid.js","../node_modules/devextreme/esm/localization/message.js","../node_modules/devextreme/esm/localization/default_messages.js","../node_modules/devextreme/esm/core/utils/console.js","../node_modules/devextreme/esm/events/pointer/base.js","../node_modules/devextreme/esm/events/pointer/touch.js","../node_modules/devextreme/esm/events/pointer/observer.js","../node_modules/devextreme/esm/events/pointer/mouse.js","../node_modules/devextreme/esm/events/pointer/mouse_and_touch.js","../node_modules/devextreme/esm/events/pointer.js","../node_modules/devextreme/esm/localization/currency.js","../node_modules/devextreme/esm/animation/frame.js","../node_modules/devextreme/esm/core/utils/string.js","../node_modules/devextreme/esm/localization.js","../node_modules/devextreme-react/esm/core/configuration/react/element.js","../node_modules/devextreme-react/esm/core/template.js","../node_modules/devextreme/esm/core/utils/shadow_dom.js","../node_modules/devextreme/esm/core/templates/template_base.js","../node_modules/devextreme/esm/events/core/emitter_registrator.js","../node_modules/devextreme/esm/core/utils/object.js","../node_modules/devextreme/esm/core/dom_adapter.js","../node_modules/devextreme/esm/core/templates/empty_template.js","../node_modules/devextreme/esm/events/index.js","../node_modules/devextreme-react/esm/core/helpers.js","../node_modules/devextreme-react/esm/core/template-wrapper.js","../node_modules/devextreme-react/esm/core/config.js","../node_modules/devextreme-react/esm/core/template-manager.js","../node_modules/devextreme-react/esm/core/configuration/utils.js","../node_modules/devextreme-react/esm/core/configuration/tree.js","../node_modules/devextreme-react/esm/core/configuration/comparer.js","../node_modules/devextreme-react/esm/core/options-manager.js","../node_modules/devextreme-react/esm/core/widget-config.js","../node_modules/devextreme-react/esm/core/configuration/react/tree.js","../node_modules/devextreme-react/esm/core/configuration/react/templates.js","../node_modules/devextreme-react/esm/core/component-base.js","../node_modules/devextreme-react/esm/core/extension-component.js","../node_modules/devextreme-react/esm/core/component.js","../node_modules/devextreme/esm/core/utils/browser.js","../node_modules/devextreme/esm/events/short.js","../node_modules/devextreme/esm/core/http_request.js","../node_modules/devextreme/esm/core/utils/ajax.js","../node_modules/devextreme/esm/localization/open_xml_currency_format.js","../node_modules/devextreme/esm/localization/cldr-data/accounting_formats.js","../node_modules/devextreme/esm/localization/intl/number.js","../node_modules/devextreme/esm/localization/number.js","../node_modules/devextreme/esm/localization/cldr-data/first_day_of_week_data.js","../node_modules/devextreme/esm/localization/intl/date.js","../node_modules/devextreme/esm/localization/date.js","../node_modules/devextreme/esm/localization/cldr-data/parent_locales.js","../node_modules/devextreme/esm/localization/parentLocale.js","../node_modules/devextreme/esm/localization/core.js","../node_modules/devextreme/esm/events/visibility_change.js","../node_modules/devextreme/esm/core/utils/html_parser.js","../node_modules/devextreme/esm/core/utils/support.js","../node_modules/devextreme/esm/data/data_source/utils.js","../node_modules/devextreme/esm/core/options/utils.js","../node_modules/devextreme/esm/core/errors.js","../node_modules/devextreme/esm/core/utils/date_serialization.js","../node_modules/devextreme/esm/core/events_strategy.js","../node_modules/devextreme/esm/core/renderer_base.js","../node_modules/devextreme/esm/core/renderer.js","../node_modules/devextreme/esm/core/resize_observer.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/devextreme/esm/events/core/wheel.js","../node_modules/devextreme/esm/events/core/emitter.js"],"sourcesContent":["/**\r\n * DevExtreme (esm/core/class.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"./errors\";\r\nimport {\r\n isWindow\r\n} from \"./utils/type\";\r\nvar wrapOverridden = function(baseProto, methodName, method) {\r\n return function() {\r\n var prevCallBase = this.callBase;\r\n this.callBase = baseProto[methodName];\r\n try {\r\n return method.apply(this, arguments)\r\n } finally {\r\n this.callBase = prevCallBase\r\n }\r\n }\r\n};\r\nvar clonePrototype = function(obj) {\r\n var func = function() {};\r\n func.prototype = obj.prototype;\r\n return new func\r\n};\r\nvar redefine = function(members) {\r\n var overridden;\r\n var memberName;\r\n var member;\r\n if (!members) {\r\n return this\r\n }\r\n for (memberName in members) {\r\n member = members[memberName];\r\n overridden = \"function\" === typeof this.prototype[memberName] && \"function\" === typeof member;\r\n this.prototype[memberName] = overridden ? wrapOverridden(this.parent.prototype, memberName, member) : member\r\n }\r\n return this\r\n};\r\nvar include = function() {\r\n var classObj = this;\r\n var argument;\r\n var name;\r\n var i;\r\n var hasClassObjOwnProperty = Object.prototype.hasOwnProperty.bind(classObj);\r\n var isES6Class = !hasClassObjOwnProperty(\"_includedCtors\") && !hasClassObjOwnProperty(\"_includedPostCtors\");\r\n if (isES6Class) {\r\n classObj._includedCtors = classObj._includedCtors.slice(0);\r\n classObj._includedPostCtors = classObj._includedPostCtors.slice(0)\r\n }\r\n for (i = 0; i < arguments.length; i++) {\r\n argument = arguments[i];\r\n if (argument.ctor) {\r\n classObj._includedCtors.push(argument.ctor)\r\n }\r\n if (argument.postCtor) {\r\n classObj._includedPostCtors.push(argument.postCtor)\r\n }\r\n for (name in argument) {\r\n if (\"ctor\" === name || \"postCtor\" === name || \"default\" === name) {\r\n continue\r\n }\r\n classObj.prototype[name] = argument[name]\r\n }\r\n }\r\n return classObj\r\n};\r\nvar subclassOf = function(parentClass) {\r\n var hasParentProperty = Object.prototype.hasOwnProperty.bind(this)(\"parent\");\r\n var isES6Class = !hasParentProperty && this.parent;\r\n if (isES6Class) {\r\n var baseClass = Object.getPrototypeOf(this);\r\n return baseClass === parentClass || baseClass.subclassOf(parentClass)\r\n } else {\r\n if (this.parent === parentClass) {\r\n return true\r\n }\r\n if (!this.parent || !this.parent.subclassOf) {\r\n return false\r\n }\r\n return this.parent.subclassOf(parentClass)\r\n }\r\n};\r\nvar abstract = function() {\r\n throw errors.Error(\"E0001\")\r\n};\r\nvar copyStatic = function() {\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n return function(source, destination) {\r\n for (var key in source) {\r\n if (!hasOwn.call(source, key)) {\r\n return\r\n }\r\n destination[key] = source[key]\r\n }\r\n }\r\n}();\r\nvar classImpl = function() {};\r\nclassImpl.inherit = function(members) {\r\n var inheritor = function() {\r\n if (!this || isWindow(this) || \"function\" !== typeof this.constructor) {\r\n throw errors.Error(\"E0003\")\r\n }\r\n var instance = this;\r\n var ctor = instance.ctor;\r\n var includedCtors = instance.constructor._includedCtors;\r\n var includedPostCtors = instance.constructor._includedPostCtors;\r\n var i;\r\n for (i = 0; i < includedCtors.length; i++) {\r\n includedCtors[i].call(instance)\r\n }\r\n if (ctor) {\r\n ctor.apply(instance, arguments)\r\n }\r\n for (i = 0; i < includedPostCtors.length; i++) {\r\n includedPostCtors[i].call(instance)\r\n }\r\n };\r\n inheritor.prototype = clonePrototype(this);\r\n copyStatic(this, inheritor);\r\n inheritor.inherit = this.inherit;\r\n inheritor.abstract = abstract;\r\n inheritor.redefine = redefine;\r\n inheritor.include = include;\r\n inheritor.subclassOf = subclassOf;\r\n inheritor.parent = this;\r\n inheritor._includedCtors = this._includedCtors ? this._includedCtors.slice(0) : [];\r\n inheritor._includedPostCtors = this._includedPostCtors ? this._includedPostCtors.slice(0) : [];\r\n inheritor.prototype.constructor = inheritor;\r\n inheritor.redefine(members);\r\n return inheritor\r\n};\r\nclassImpl.abstract = abstract;\r\nexport default classImpl;\r\n","/**\r\n * DevExtreme (esm/data/abstract_store.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../core/class\";\r\nvar abstract = Class.abstract;\r\nimport {\r\n EventsStrategy\r\n} from \"../core/events_strategy\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n processRequestResultLock\r\n} from \"./utils\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport storeHelper from \"./store_helper\";\r\nvar queryByOptions = storeHelper.queryByOptions;\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n noop\r\n} from \"../core/utils/common\";\r\nimport {\r\n isEmptyObject\r\n} from \"../core/utils/type\";\r\nvar storeImpl = {};\r\nvar Store = Class.inherit({\r\n _langParams: {},\r\n ctor: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy = new EventsStrategy(this);\r\n each([\"onLoaded\", \"onLoading\", \"onInserted\", \"onInserting\", \"onUpdated\", \"onUpdating\", \"onPush\", \"onRemoved\", \"onRemoving\", \"onModified\", \"onModifying\"], (function(_, optionName) {\r\n if (optionName in options) {\r\n that.on(optionName.slice(2).toLowerCase(), options[optionName])\r\n }\r\n }));\r\n this._key = options.key;\r\n this._errorHandler = options.errorHandler;\r\n this._useDefaultSearch = true\r\n },\r\n _clearCache: noop,\r\n _customLoadOptions: function() {\r\n return null\r\n },\r\n key: function() {\r\n return this._key\r\n },\r\n keyOf: function(obj) {\r\n if (!this._keyGetter) {\r\n this._keyGetter = compileGetter(this.key())\r\n }\r\n return this._keyGetter(obj)\r\n },\r\n _requireKey: function() {\r\n if (!this.key()) {\r\n throw errors.Error(\"E4005\")\r\n }\r\n },\r\n load: function(options) {\r\n var that = this;\r\n options = options || {};\r\n this._eventsStrategy.fireEvent(\"loading\", [options]);\r\n return this._withLock(this._loadImpl(options)).done((function(result) {\r\n that._eventsStrategy.fireEvent(\"loaded\", [result, options])\r\n }))\r\n },\r\n _loadImpl: function(options) {\r\n if (!isEmptyObject(this._langParams)) {\r\n options = options || {};\r\n options._langParams = _extends({}, this._langParams, options._langParams)\r\n }\r\n return queryByOptions(this.createQuery(options), options).enumerate()\r\n },\r\n _withLock: function(task) {\r\n var result = new Deferred;\r\n task.done((function() {\r\n var that = this;\r\n var args = arguments;\r\n processRequestResultLock.promise().done((function() {\r\n result.resolveWith(that, args)\r\n }))\r\n })).fail((function() {\r\n result.rejectWith(this, arguments)\r\n }));\r\n return result\r\n },\r\n createQuery: abstract,\r\n totalCount: function(options) {\r\n return this._totalCountImpl(options)\r\n },\r\n _totalCountImpl: function(options) {\r\n return queryByOptions(this.createQuery(options), options, true).count()\r\n },\r\n byKey: function(key, extraOptions) {\r\n return this._addFailHandlers(this._withLock(this._byKeyImpl(key, extraOptions)))\r\n },\r\n _byKeyImpl: abstract,\r\n insert: function(values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"inserting\", [values]);\r\n return that._addFailHandlers(that._insertImpl(values).done((function(callbackValues, callbackKey) {\r\n that._eventsStrategy.fireEvent(\"inserted\", [callbackValues, callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _insertImpl: abstract,\r\n update: function(key, values) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"updating\", [key, values]);\r\n return that._addFailHandlers(that._updateImpl(key, values).done((function() {\r\n that._eventsStrategy.fireEvent(\"updated\", [key, values]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _updateImpl: abstract,\r\n push: function(changes) {\r\n var beforePushArgs = {\r\n changes: changes,\r\n waitFor: []\r\n };\r\n this._eventsStrategy.fireEvent(\"beforePushAggregation\", [beforePushArgs]);\r\n when(...beforePushArgs.waitFor).done(() => {\r\n this._pushImpl(changes);\r\n this._eventsStrategy.fireEvent(\"beforePush\", [{\r\n changes: changes\r\n }]);\r\n this._eventsStrategy.fireEvent(\"push\", [changes])\r\n })\r\n },\r\n _pushImpl: noop,\r\n remove: function(key) {\r\n var that = this;\r\n that._eventsStrategy.fireEvent(\"modifying\");\r\n that._eventsStrategy.fireEvent(\"removing\", [key]);\r\n return that._addFailHandlers(that._removeImpl(key).done((function(callbackKey) {\r\n that._eventsStrategy.fireEvent(\"removed\", [callbackKey]);\r\n that._eventsStrategy.fireEvent(\"modified\")\r\n })))\r\n },\r\n _removeImpl: abstract,\r\n _addFailHandlers: function(deferred) {\r\n return deferred.fail(this._errorHandler).fail(handleError)\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\nStore.create = function(alias, options) {\r\n if (!(alias in storeImpl)) {\r\n throw errors.Error(\"E4020\", alias)\r\n }\r\n return new storeImpl[alias](options)\r\n};\r\nStore.registerClass = function(type, alias) {\r\n if (alias) {\r\n storeImpl[alias] = type\r\n }\r\n return type\r\n};\r\nStore.inherit = function(inheritor) {\r\n return function(members, alias) {\r\n var type = inheritor.apply(this, [members]);\r\n Store.registerClass(type, alias);\r\n return type\r\n }\r\n}(Store.inherit);\r\nexport default Store;\r\n","/**\r\n * DevExtreme (esm/core/options/option_manager.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n compileGetter,\r\n compileSetter,\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n equals\r\n} from \"../utils/comparator\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n isDefined,\r\n isPlainObject\r\n} from \"../utils/type\";\r\nimport {\r\n normalizeOptions\r\n} from \"./utils\";\r\nvar cachedGetters = {};\r\nvar cachedSetters = {};\r\nexport class OptionManager {\r\n constructor(options, optionsByReference) {\r\n this._options = options;\r\n this._optionsByReference = optionsByReference;\r\n this._changingCallback;\r\n this._changedCallback;\r\n this._namePreparedCallbacks\r\n }\r\n _setByReference(options, rulesOptions) {\r\n extend(true, options, rulesOptions);\r\n for (var fieldName in this._optionsByReference) {\r\n if (Object.prototype.hasOwnProperty.call(rulesOptions, fieldName)) {\r\n options[fieldName] = rulesOptions[fieldName]\r\n }\r\n }\r\n }\r\n _setPreparedValue(name, value, merge, silent) {\r\n var previousValue = this.get(this._options, name, false);\r\n if (!equals(previousValue, value)) {\r\n var path = getPathParts(name);\r\n !silent && this._changingCallback(name, previousValue, value);\r\n cachedSetters[name] = cachedSetters[name] || compileSetter(name);\r\n cachedSetters[name](this._options, value, {\r\n functionsAsIs: true,\r\n merge: isDefined(merge) ? merge : !this._optionsByReference[name],\r\n unwrapObservables: path.length > 1 && !!this._optionsByReference[path[0]]\r\n });\r\n !silent && this._changedCallback(name, value, previousValue)\r\n }\r\n }\r\n _prepareRelevantNames(options, name, value, silent) {\r\n if (isPlainObject(value)) {\r\n for (var valueName in value) {\r\n this._prepareRelevantNames(options, \"\".concat(name, \".\").concat(valueName), value[valueName])\r\n }\r\n }\r\n this._namePreparedCallbacks(options, name, value, silent)\r\n }\r\n get() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this._options;\r\n var name = arguments.length > 1 ? arguments[1] : void 0;\r\n var unwrapObservables = arguments.length > 2 ? arguments[2] : void 0;\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](options, {\r\n functionsAsIs: true,\r\n unwrapObservables: unwrapObservables\r\n })\r\n }\r\n set(options, value, merge, silent) {\r\n options = normalizeOptions(options, value);\r\n for (var name in options) {\r\n this._prepareRelevantNames(options, name, options[name], silent)\r\n }\r\n for (var _name in options) {\r\n this._setPreparedValue(_name, options[_name], merge, silent)\r\n }\r\n }\r\n onRelevantNamesPrepared(callBack) {\r\n this._namePreparedCallbacks = callBack\r\n }\r\n onChanging(callBack) {\r\n this._changingCallback = callBack\r\n }\r\n onChanged(callBack) {\r\n this._changedCallback = callBack\r\n }\r\n dispose() {\r\n this._changingCallback = noop;\r\n this._changedCallback = noop\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/comparator.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n isRenderer\r\n} from \"./type\";\r\nvar hasNegation = function(oldValue, newValue) {\r\n return 1 / oldValue === 1 / newValue\r\n};\r\nexport var equals = function(oldValue, newValue) {\r\n oldValue = toComparable(oldValue, true);\r\n newValue = toComparable(newValue, true);\r\n if (oldValue && newValue && isRenderer(oldValue) && isRenderer(newValue)) {\r\n return newValue.is(oldValue)\r\n }\r\n var oldValueIsNaN = oldValue !== oldValue;\r\n var newValueIsNaN = newValue !== newValue;\r\n if (oldValueIsNaN && newValueIsNaN) {\r\n return true\r\n }\r\n if (0 === oldValue && 0 === newValue) {\r\n return hasNegation(oldValue, newValue)\r\n }\r\n if (null === oldValue || \"object\" !== typeof oldValue || domAdapter.isElementNode(oldValue)) {\r\n return oldValue === newValue\r\n }\r\n return false\r\n};\r\n","/**\r\n * DevExtreme (esm/core/options/index.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isFunction,\r\n isObject,\r\n type\r\n} from \"../utils/type\";\r\nimport {\r\n equalByValue,\r\n noop\r\n} from \"../utils/common\";\r\nimport {\r\n OptionManager\r\n} from \"./option_manager\";\r\nimport {\r\n getPathParts\r\n} from \"../utils/data\";\r\nimport {\r\n getFieldName,\r\n getParentName,\r\n convertRulesToOptions,\r\n getNestedOptionValue\r\n} from \"./utils\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nexport class Options {\r\n constructor(options, defaultOptions, optionsByReference, deprecatedOptions) {\r\n this._deprecatedCallback;\r\n this._startChangeCallback;\r\n this._endChangeCallback;\r\n this._default = defaultOptions;\r\n this._deprecated = deprecatedOptions;\r\n this._deprecatedNames = [];\r\n this._initDeprecatedNames();\r\n this._optionManager = new OptionManager(options, optionsByReference);\r\n this._optionManager.onRelevantNamesPrepared((options, name, value, silent) => this._setRelevantNames(options, name, value, silent));\r\n this._cachedOptions = {};\r\n this._rules = []\r\n }\r\n set _initial(value) {\r\n this._initialOptions = value\r\n }\r\n get _initial() {\r\n if (!this._initialOptions) {\r\n var rulesOptions = this._getByRules(this.silent(\"defaultOptionsRules\"));\r\n this._initialOptions = this._default;\r\n this._optionManager._setByReference(this._initialOptions, rulesOptions)\r\n }\r\n return this._initialOptions\r\n }\r\n _initDeprecatedNames() {\r\n for (var optionName in this._deprecated) {\r\n this._deprecatedNames.push(optionName)\r\n }\r\n }\r\n _getByRules(rules) {\r\n rules = Array.isArray(rules) ? this._rules.concat(rules) : this._rules;\r\n return convertRulesToOptions(rules)\r\n }\r\n _notifyDeprecated(option) {\r\n var info = this._deprecated[option];\r\n if (info) {\r\n this._deprecatedCallback(option, info)\r\n }\r\n }\r\n _setRelevantNames(options, name, value, silent) {\r\n if (name) {\r\n var normalizedName = this._normalizeName(name, silent);\r\n if (normalizedName && normalizedName !== name) {\r\n this._setField(options, normalizedName, value);\r\n this._clearField(options, name)\r\n }\r\n }\r\n }\r\n _setField(options, fullName, value) {\r\n var fieldName = \"\";\r\n var fieldObject = null;\r\n do {\r\n fieldName = fieldName ? \".\".concat(fieldName) : \"\";\r\n fieldName = getFieldName(fullName) + fieldName;\r\n fullName = getParentName(fullName);\r\n fieldObject = fullName ? this._optionManager.get(options, fullName, false) : options\r\n } while (!fieldObject);\r\n fieldObject[fieldName] = value\r\n }\r\n _clearField(options, name) {\r\n delete options[name];\r\n var previousFieldName = getParentName(name);\r\n var fieldObject = previousFieldName ? this._optionManager.get(options, previousFieldName, false) : options;\r\n if (fieldObject) {\r\n delete fieldObject[getFieldName(name)]\r\n }\r\n }\r\n _normalizeName(name, silent) {\r\n if (this._deprecatedNames.length && name) {\r\n for (var i = 0; i < this._deprecatedNames.length; i++) {\r\n if (this._deprecatedNames[i] === name) {\r\n var deprecate = this._deprecated[name];\r\n if (deprecate) {\r\n !silent && this._notifyDeprecated(name);\r\n return deprecate.alias || name\r\n }\r\n }\r\n }\r\n }\r\n return name\r\n }\r\n addRules(rules) {\r\n this._rules = rules.concat(this._rules)\r\n }\r\n applyRules(rules) {\r\n var options = this._getByRules(rules);\r\n this.silent(options)\r\n }\r\n dispose() {\r\n this._deprecatedCallback = noop;\r\n this._startChangeCallback = noop;\r\n this._endChangeCallback = noop;\r\n this._optionManager.dispose()\r\n }\r\n onChanging(callBack) {\r\n this._optionManager.onChanging(callBack)\r\n }\r\n onChanged(callBack) {\r\n this._optionManager.onChanged(callBack)\r\n }\r\n onDeprecated(callBack) {\r\n this._deprecatedCallback = callBack\r\n }\r\n onStartChange(callBack) {\r\n this._startChangeCallback = callBack\r\n }\r\n onEndChange(callBack) {\r\n this._endChangeCallback = callBack\r\n }\r\n isInitial(name) {\r\n var value = this.silent(name);\r\n var initialValue = this.initial(name);\r\n var areFunctions = isFunction(value) && isFunction(initialValue);\r\n return areFunctions ? value.toString() === initialValue.toString() : equalByValue(value, initialValue)\r\n }\r\n initial(name) {\r\n return getNestedOptionValue(this._initial, name)\r\n }\r\n option(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, this._normalizeName(options))\r\n } else {\r\n this._startChangeCallback();\r\n try {\r\n this._optionManager.set(options, value)\r\n } finally {\r\n this._endChangeCallback()\r\n }\r\n }\r\n }\r\n silent(options, value) {\r\n var isGetter = arguments.length < 2 && \"object\" !== type(options);\r\n if (isGetter) {\r\n return this._optionManager.get(void 0, options, void 0, true)\r\n } else {\r\n this._optionManager.set(options, value, void 0, true)\r\n }\r\n }\r\n reset(name) {\r\n if (name) {\r\n var fullPath = getPathParts(name);\r\n var value = fullPath.reduce((value, field) => value ? value[field] : this.initial(field), null);\r\n var defaultValue = isObject(value) ? _extends({}, value) : value;\r\n this._optionManager.set(name, defaultValue, false)\r\n }\r\n }\r\n getAliasesByName(name) {\r\n return Object.keys(this._deprecated).filter(aliasName => name === this._deprecated[aliasName].alias)\r\n }\r\n isDeprecated(name) {\r\n return Object.prototype.hasOwnProperty.call(this._deprecated, name)\r\n }\r\n cache(name, options) {\r\n var isGetter = arguments.length < 2;\r\n if (isGetter) {\r\n return this._cachedOptions[name]\r\n } else {\r\n this._cachedOptions[name] = extend(this._cachedOptions[name], options)\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/postponed_operations.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred,\r\n when\r\n} from \"./utils/deferred\";\r\nimport {\r\n isDefined\r\n} from \"./utils/type\";\r\nexport class PostponedOperations {\r\n constructor() {\r\n this._postponedOperations = {}\r\n }\r\n add(key, fn, postponedPromise) {\r\n if (key in this._postponedOperations) {\r\n postponedPromise && this._postponedOperations[key].promises.push(postponedPromise)\r\n } else {\r\n var completePromise = new Deferred;\r\n this._postponedOperations[key] = {\r\n fn: fn,\r\n completePromise: completePromise,\r\n promises: postponedPromise ? [postponedPromise] : []\r\n }\r\n }\r\n return this._postponedOperations[key].completePromise.promise()\r\n }\r\n callPostponedOperations() {\r\n for (var key in this._postponedOperations) {\r\n var operation = this._postponedOperations[key];\r\n if (isDefined(operation)) {\r\n if (operation.promises && operation.promises.length) {\r\n when(...operation.promises).done(operation.fn).then(operation.completePromise.resolve)\r\n } else {\r\n operation.fn().done(operation.completePromise.resolve)\r\n }\r\n }\r\n }\r\n this._postponedOperations = {}\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/component.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Config from \"./config\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n Options\r\n} from \"./options/index\";\r\nimport {\r\n convertRulesToOptions\r\n} from \"./options/utils\";\r\nimport Class from \"./class\";\r\nimport Action from \"./action\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nimport {\r\n PostponedOperations\r\n} from \"./postponed_operations\";\r\nimport {\r\n isFunction,\r\n isPlainObject,\r\n isDefined\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getPathParts\r\n} from \"./utils/data\";\r\nvar getEventName = actionName => actionName.charAt(2).toLowerCase() + actionName.substr(3);\r\nvar isInnerOption = optionName => 0 === optionName.indexOf(\"_\", 0);\r\nexport var Component = Class.inherit({\r\n _setDeprecatedOptions() {\r\n this._deprecatedOptions = {}\r\n },\r\n _getDeprecatedOptions() {\r\n return this._deprecatedOptions\r\n },\r\n _getDefaultOptions: () => ({\r\n onInitialized: null,\r\n onOptionChanged: null,\r\n onDisposing: null,\r\n defaultOptionsRules: null\r\n }),\r\n _defaultOptionsRules: () => [],\r\n _setOptionsByDevice(rules) {\r\n this._options.applyRules(rules)\r\n },\r\n _convertRulesToOptions: rules => convertRulesToOptions(rules),\r\n _isInitialOptionValue(name) {\r\n return this._options.isInitial(name)\r\n },\r\n _setOptionsByReference() {\r\n this._optionsByReference = {}\r\n },\r\n _getOptionsByReference() {\r\n return this._optionsByReference\r\n },\r\n ctor() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\r\n var {\r\n _optionChangedCallbacks: _optionChangedCallbacks,\r\n _disposingCallbacks: _disposingCallbacks\r\n } = options;\r\n this.NAME = publicComponentName(this.constructor);\r\n this._eventsStrategy = EventsStrategy.create(this, options.eventsStrategy);\r\n this._updateLockCount = 0;\r\n this._optionChangedCallbacks = _optionChangedCallbacks || Callbacks();\r\n this._disposingCallbacks = _disposingCallbacks || Callbacks();\r\n this.postponedOperations = new PostponedOperations;\r\n this._createOptions(options)\r\n },\r\n _createOptions(options) {\r\n this.beginUpdate();\r\n try {\r\n this._setOptionsByReference();\r\n this._setDeprecatedOptions();\r\n this._options = new Options(this._getDefaultOptions(), this._getDefaultOptions(), this._getOptionsByReference(), this._getDeprecatedOptions());\r\n this._options.onChanging((name, previousValue, value) => this._initialized && this._optionChanging(name, previousValue, value));\r\n this._options.onDeprecated((option, info) => this._logDeprecatedOptionWarning(option, info));\r\n this._options.onChanged((name, value, previousValue) => this._notifyOptionChanged(name, value, previousValue));\r\n this._options.onStartChange(() => this.beginUpdate());\r\n this._options.onEndChange(() => this.endUpdate());\r\n this._options.addRules(this._defaultOptionsRules());\r\n if (options && options.onInitializing) {\r\n options.onInitializing.apply(this, [options])\r\n }\r\n this._setOptionsByDevice(options.defaultOptionsRules);\r\n this._initOptions(options)\r\n } finally {\r\n this.endUpdate()\r\n }\r\n },\r\n _initOptions(options) {\r\n this.option(options)\r\n },\r\n _init() {\r\n this._createOptionChangedAction();\r\n this.on(\"disposing\", args => {\r\n this._disposingCallbacks.fireWith(this, [args])\r\n })\r\n },\r\n _logDeprecatedOptionWarning(option, info) {\r\n var message = info.message || \"Use the '\".concat(info.alias, \"' option instead\");\r\n errors.log(\"W0001\", this.NAME, option, info.since, message)\r\n },\r\n _logDeprecatedComponentWarning(since, alias) {\r\n errors.log(\"W0000\", this.NAME, since, \"Use the '\".concat(alias, \"' widget instead\"))\r\n },\r\n _createOptionChangedAction() {\r\n this._optionChangedAction = this._createActionByOption(\"onOptionChanged\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _createDisposingAction() {\r\n this._disposingAction = this._createActionByOption(\"onDisposing\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"onDisposing\":\r\n case \"onInitialized\":\r\n break;\r\n case \"onOptionChanged\":\r\n this._createOptionChangedAction()\r\n }\r\n },\r\n _dispose() {\r\n this._optionChangedCallbacks.empty();\r\n this._createDisposingAction();\r\n this._disposingAction();\r\n this._eventsStrategy.dispose();\r\n this._options.dispose();\r\n this._disposed = true\r\n },\r\n _lockUpdate() {\r\n this._updateLockCount++\r\n },\r\n _unlockUpdate() {\r\n this._updateLockCount = Math.max(this._updateLockCount - 1, 0)\r\n },\r\n _isUpdateAllowed() {\r\n return 0 === this._updateLockCount\r\n },\r\n _isInitializingRequired() {\r\n return !this._initializing && !this._initialized\r\n },\r\n isInitialized() {\r\n return this._initialized\r\n },\r\n _commitUpdate() {\r\n this.postponedOperations.callPostponedOperations();\r\n this._isInitializingRequired() && this._initializeComponent()\r\n },\r\n _initializeComponent() {\r\n this._initializing = true;\r\n try {\r\n this._init()\r\n } finally {\r\n this._initializing = false;\r\n this._lockUpdate();\r\n this._createActionByOption(\"onInitialized\", {\r\n excludeValidators: [\"disabled\", \"readOnly\"]\r\n })();\r\n this._unlockUpdate();\r\n this._initialized = true\r\n }\r\n },\r\n instance() {\r\n return this\r\n },\r\n beginUpdate: function() {\r\n this._lockUpdate()\r\n },\r\n endUpdate: function() {\r\n this._unlockUpdate();\r\n this._isUpdateAllowed() && this._commitUpdate()\r\n },\r\n _optionChanging: noop,\r\n _notifyOptionChanged(option, value, previousValue) {\r\n if (this._initialized) {\r\n var optionNames = [option].concat(this._options.getAliasesByName(option));\r\n for (var i = 0; i < optionNames.length; i++) {\r\n var name = optionNames[i];\r\n var args = {\r\n name: getPathParts(name)[0],\r\n fullName: name,\r\n value: value,\r\n previousValue: previousValue\r\n };\r\n if (!isInnerOption(name)) {\r\n this._optionChangedCallbacks.fireWith(this, [extend(this._defaultActionArgs(), args)]);\r\n this._optionChangedAction(extend({}, args))\r\n }\r\n if (!this._disposed && this._cancelOptionChange !== name) {\r\n this._optionChanged(args)\r\n }\r\n }\r\n }\r\n },\r\n initialOption(name) {\r\n return this._options.initial(name)\r\n },\r\n _defaultActionConfig() {\r\n return {\r\n context: this,\r\n component: this\r\n }\r\n },\r\n _defaultActionArgs() {\r\n return {\r\n component: this\r\n }\r\n },\r\n _createAction(actionSource, config) {\r\n var action;\r\n return e => {\r\n if (!isDefined(e)) {\r\n e = {}\r\n }\r\n if (!isPlainObject(e)) {\r\n e = {\r\n actionValue: e\r\n }\r\n }\r\n action = action || new Action(actionSource, extend({}, config, this._defaultActionConfig()));\r\n return action.execute.call(action, extend(e, this._defaultActionArgs()))\r\n }\r\n },\r\n _createActionByOption(optionName, config) {\r\n var _this = this;\r\n var action;\r\n var eventName;\r\n var actionFunc;\r\n config = extend({}, config);\r\n var result = function() {\r\n if (!eventName) {\r\n config = config || {};\r\n if (\"string\" !== typeof optionName) {\r\n throw errors.Error(\"E0008\")\r\n }\r\n if (0 === optionName.indexOf(\"on\")) {\r\n eventName = getEventName(optionName)\r\n }\r\n actionFunc = _this.option(optionName)\r\n }\r\n if (!action && !actionFunc && !config.beforeExecute && !config.afterExecute && !_this._eventsStrategy.hasEvent(eventName)) {\r\n return\r\n }\r\n if (!action) {\r\n var beforeExecute = config.beforeExecute;\r\n config.beforeExecute = function() {\r\n for (var _len2 = arguments.length, props = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n props[_key2] = arguments[_key2]\r\n }\r\n beforeExecute && beforeExecute.apply(_this, props);\r\n _this._eventsStrategy.fireEvent(eventName, props[0].args)\r\n };\r\n action = _this._createAction(actionFunc, config)\r\n }\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n if (Config().wrapActionsBeforeExecute) {\r\n var beforeActionExecute = _this.option(\"beforeActionExecute\") || noop;\r\n var wrappedAction = beforeActionExecute(_this, action, config) || action;\r\n return wrappedAction.apply(_this, args)\r\n }\r\n return action.apply(_this, args)\r\n };\r\n if (Config().wrapActionsBeforeExecute) {\r\n return result\r\n }\r\n var onActionCreated = this.option(\"onActionCreated\") || noop;\r\n return onActionCreated(this, result, config) || result\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n },\r\n hasActionSubscription: function(actionName) {\r\n return !!this._options.silent(actionName) || this._eventsStrategy.hasEvent(getEventName(actionName))\r\n },\r\n isOptionDeprecated(name) {\r\n return this._options.isDeprecated(name)\r\n },\r\n _setOptionWithoutOptionChange(name, value) {\r\n this._cancelOptionChange = name;\r\n this.option(name, value);\r\n this._cancelOptionChange = false\r\n },\r\n _getOptionValue(name, context) {\r\n var value = this.option(name);\r\n if (isFunction(value)) {\r\n return value.bind(context)()\r\n }\r\n return value\r\n },\r\n option() {\r\n return this._options.option(...arguments)\r\n },\r\n resetOption(name) {\r\n this.beginUpdate();\r\n this._options.reset(name);\r\n this.endUpdate()\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/template_manager.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isRenderer\r\n} from \"./utils/type\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n FunctionTemplate\r\n} from \"./templates/function_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"./templates/empty_template\";\r\nimport {\r\n findTemplates,\r\n suitableTemplatesByName,\r\n templateKey,\r\n getNormalizedTemplateArgs,\r\n validateTemplateSource,\r\n defaultCreateElement,\r\n acquireTemplate\r\n} from \"./utils/template_manager\";\r\nvar TEXT_NODE = 3;\r\nvar ANONYMOUS_TEMPLATE_NAME = \"template\";\r\nvar TEMPLATE_OPTIONS_NAME = \"dxTemplate\";\r\nvar TEMPLATE_WRAPPER_CLASS = \"dx-template-wrapper\";\r\nvar DX_POLYMORPH_WIDGET_TEMPLATE = new FunctionTemplate(_ref => {\r\n var {\r\n model: model,\r\n parent: parent\r\n } = _ref;\r\n var widgetName = model.widget;\r\n if (!widgetName) {\r\n return $()\r\n }\r\n var widgetElement = $(\"
\");\r\n var widgetOptions = model.options || {};\r\n if (parent) {\r\n parent._createComponent(widgetElement, widgetName, widgetOptions)\r\n } else {\r\n widgetElement[widgetName](widgetOptions)\r\n }\r\n return widgetElement\r\n});\r\nexport class TemplateManager {\r\n constructor(createElement, anonymousTemplateName) {\r\n this._tempTemplates = [];\r\n this._defaultTemplates = {};\r\n this._anonymousTemplateName = anonymousTemplateName || ANONYMOUS_TEMPLATE_NAME;\r\n this._createElement = createElement || defaultCreateElement;\r\n this._createTemplateIfNeeded = this._createTemplateIfNeeded.bind(this)\r\n }\r\n static createDefaultOptions() {\r\n return {\r\n integrationOptions: {\r\n watchMethod: function(fn, callback) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (!options.skipImmediate) {\r\n callback(fn())\r\n }\r\n return noop\r\n },\r\n templates: {\r\n \"dx-polymorph-widget\": DX_POLYMORPH_WIDGET_TEMPLATE\r\n },\r\n useDeferUpdateForTemplates: true\r\n }\r\n }\r\n }\r\n get anonymousTemplateName() {\r\n return this._anonymousTemplateName\r\n }\r\n addDefaultTemplates(templates) {\r\n this._defaultTemplates = extend({}, this._defaultTemplates, templates)\r\n }\r\n dispose() {\r\n this._tempTemplates.forEach(tempTemplate => {\r\n tempTemplate.template.dispose && tempTemplate.template.dispose()\r\n });\r\n this._tempTemplates = []\r\n }\r\n extractTemplates($el) {\r\n var templates = this._extractTemplates($el);\r\n var anonymousTemplateMeta = this._extractAnonymousTemplate($el);\r\n return {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n }\r\n }\r\n _extractTemplates($el) {\r\n var templates = findTemplates($el, TEMPLATE_OPTIONS_NAME);\r\n var suitableTemplates = suitableTemplatesByName(templates);\r\n templates.forEach(_ref2 => {\r\n var {\r\n element: element,\r\n options: {\r\n name: name\r\n }\r\n } = _ref2;\r\n if (element === suitableTemplates[name]) {\r\n $(element).addClass(TEMPLATE_WRAPPER_CLASS).detach()\r\n } else {\r\n $(element).remove()\r\n }\r\n });\r\n return Object.keys(suitableTemplates).map(name => ({\r\n name: name,\r\n template: this._createTemplate(suitableTemplates[name])\r\n }))\r\n }\r\n _extractAnonymousTemplate($el) {\r\n var $anonymousTemplate = $el.contents().detach();\r\n var $notJunkTemplateContent = $anonymousTemplate.filter((_, element) => {\r\n var isTextNode = element.nodeType === TEXT_NODE;\r\n var isEmptyText = $(element).text().trim().length < 1;\r\n return !(isTextNode && isEmptyText)\r\n });\r\n return $notJunkTemplateContent.length > 0 ? {\r\n template: this._createTemplate($anonymousTemplate),\r\n name: this._anonymousTemplateName\r\n } : {}\r\n }\r\n _createTemplateIfNeeded(templateSource) {\r\n var cachedTemplate = this._tempTemplates.filter(tempTemplate => tempTemplate.source === templateKey(templateSource))[0];\r\n if (cachedTemplate) {\r\n return cachedTemplate.template\r\n }\r\n var template = this._createTemplate(templateSource);\r\n this._tempTemplates.push({\r\n template: template,\r\n source: templateKey(templateSource)\r\n });\r\n return template\r\n }\r\n _createTemplate(templateSource) {\r\n return this._createElement(validateTemplateSource(templateSource))\r\n }\r\n getTemplate(templateSource, templates, _ref3, context) {\r\n var {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n } = _ref3;\r\n if (!isFunction(templateSource)) {\r\n return acquireTemplate(templateSource, this._createTemplateIfNeeded, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates)\r\n }\r\n return new FunctionTemplate(options => {\r\n var templateSourceResult = templateSource.apply(context, getNormalizedTemplateArgs(options));\r\n if (!isDefined(templateSourceResult)) {\r\n return new EmptyTemplate\r\n }\r\n var dispose = false;\r\n var template = acquireTemplate(templateSourceResult, templateSource => {\r\n if (templateSource.nodeType || isRenderer(templateSource) && !$(templateSource).is(\"script\")) {\r\n return new FunctionTemplate(() => templateSource)\r\n }\r\n dispose = true;\r\n return this._createTemplate(templateSource)\r\n }, templates, isAsyncTemplate, skipTemplates, this._defaultTemplates);\r\n var result = template.render(options);\r\n dispose && template.dispose && template.dispose();\r\n return result\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/utils/version.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../core/errors\";\r\nvar assertedVersions = [];\r\nvar VERSION_SPLITTER = \".\";\r\n\r\nfunction stringifyVersion(version) {\r\n var {\r\n major: major,\r\n minor: minor,\r\n patch: patch\r\n } = version;\r\n return [major, minor, patch].join(VERSION_SPLITTER)\r\n}\r\nexport function parseVersion(version) {\r\n var [major, minor, patch] = version.split(\".\").map(Number);\r\n return {\r\n major: major,\r\n minor: minor,\r\n patch: patch\r\n }\r\n}\r\nexport function assertDevExtremeVersion(packageName, version) {\r\n assertedVersions.push({\r\n packageName: packageName,\r\n version: version\r\n })\r\n}\r\nexport function clearAssertedVersions() {}\r\n\r\nfunction stringifyVersionList(assertedVersionList) {\r\n return assertedVersionList.map(assertedVersion => \"\".concat(assertedVersion.packageName, \": \").concat(assertedVersion.version)).join(\"\\n\")\r\n}\r\n\r\nfunction versionsEqual(versionA, versionB) {\r\n return versionA.major === versionB.major && versionA.minor === versionB.minor && versionA.patch === versionB.patch\r\n}\r\nexport function assertedVersionsCompatible(currentVersion) {\r\n var mismatchingVersions = assertedVersions.filter(assertedVersion => !versionsEqual(parseVersion(assertedVersion.version), currentVersion));\r\n if (mismatchingVersions.length) {\r\n errors.log(\"W0023\", stringifyVersionList([{\r\n packageName: \"devextreme\",\r\n version: stringifyVersion(currentVersion)\r\n }, ...mismatchingVersions]));\r\n return false\r\n }\r\n return true\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/core/license/byte_utils.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function base64ToBytes(base64) {\r\n return new Uint8Array(atob(base64).split(\"\").map(s => s.charCodeAt(0)))\r\n}\r\nexport function hexToBytes(string) {\r\n var _a, _b;\r\n return new Uint8Array(null !== (_b = null === (_a = string.match(/.{1,2}/g)) || void 0 === _a ? void 0 : _a.map(byte => parseInt(byte, 16))) && void 0 !== _b ? _b : [])\r\n}\r\nexport function stringToBytes(string) {\r\n var bytes = new Uint8Array(string.length);\r\n for (var k = 0; k < string.length; k += 1) {\r\n bytes[k] = 255 & string.charCodeAt(k)\r\n }\r\n return bytes\r\n}\r\nexport function wordsToBytes(words) {\r\n var bytes = new Uint8Array(4 * words.length);\r\n for (var k = 0; k < bytes.length; k += 1) {\r\n bytes[k] = words[k >> 2] >>> 8 * (3 - k % 4)\r\n }\r\n return bytes\r\n}\r\nexport function bytesToWords(bytes) {\r\n var words = new Uint32Array(1 + (bytes.length - 1 >> 2));\r\n for (var k = 0; k < bytes.length; k += 1) {\r\n words[k >> 2] |= bytes[k] << 8 * (3 - k % 4)\r\n }\r\n return words\r\n}\r\nexport function wordsToHex(words) {\r\n return [...words].map(w => w.toString(16).padStart(8, \"0\")).join(\"\")\r\n}\r\nexport function bytesToHex(bytes) {\r\n return [...bytes].map(b => b.toString(16).padStart(2, \"0\")).join(\"\")\r\n}\r\nexport function leftRotate(x, n) {\r\n return (x << n | x >>> 32 - n) >>> 0\r\n}\r\nexport function concatBytes(a, b) {\r\n var result = new Uint8Array(a.length + b.length);\r\n result.set(a, 0);\r\n result.set(b, a.length);\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/core/license/key.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var PUBLIC_KEY = {\r\n e: 65537,\r\n n: new Uint8Array([200, 219, 153, 203, 140, 7, 228, 253, 193, 243, 62, 137, 139, 60, 68, 242, 48, 142, 113, 88, 185, 235, 253, 105, 80, 74, 32, 170, 96, 74, 111, 250, 7, 205, 154, 3, 146, 115, 153, 53, 45, 132, 123, 56, 61, 208, 184, 201, 63, 24, 109, 223, 0, 179, 169, 102, 139, 224, 73, 233, 45, 173, 138, 66, 98, 88, 69, 76, 177, 111, 113, 218, 192, 33, 101, 152, 25, 134, 34, 173, 32, 82, 230, 44, 247, 200, 253, 170, 192, 246, 30, 12, 96, 205, 100, 249, 181, 93, 0, 231])\r\n};\r\nexport var INTERNAL_USAGE_ID = \"S7npEPgv8EOhS8GUd6vCww\";\r\n","/**\r\n * DevExtreme (esm/__internal/core/license/types.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var TokenKind;\r\n! function(TokenKind) {\r\n TokenKind.corrupted = \"corrupted\";\r\n TokenKind.verified = \"verified\";\r\n TokenKind.internal = \"internal\"\r\n}(TokenKind || (TokenKind = {}));\r\n","/**\r\n * DevExtreme (esm/__internal/core/license/pkcs1.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n concatBytes,\r\n hexToBytes\r\n} from \"./byte_utils\";\r\nimport {\r\n PUBLIC_KEY\r\n} from \"./key\";\r\nvar ASN1_SHA1 = \"3021300906052b0e03021a05000414\";\r\nexport function pad(hash) {\r\n var dataLength = (8 * PUBLIC_KEY.n.length + 6) / 8;\r\n var data = concatBytes(hexToBytes(ASN1_SHA1), hash);\r\n if (data.length + 10 > dataLength) {\r\n throw Error(\"Key is too short for SHA1 signing algorithm\")\r\n }\r\n var padding = new Uint8Array(dataLength - data.length);\r\n padding.fill(255, 0, padding.length - 1);\r\n padding[0] = 0;\r\n padding[1] = 1;\r\n padding[padding.length - 1] = 0;\r\n return concatBytes(padding, data)\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/core/license/sha1.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n bytesToWords,\r\n leftRotate,\r\n stringToBytes,\r\n wordsToBytes\r\n} from \"./byte_utils\";\r\nexport function preprocess(text) {\r\n var bytes = new Uint8Array(text.length + 1);\r\n bytes.set(stringToBytes(text));\r\n bytes[bytes.length - 1] = 128;\r\n var words = bytesToWords(new Uint8Array(bytes));\r\n var result = new Uint32Array(16 * Math.ceil((words.length + 2) / 16));\r\n result.set(words, 0);\r\n result[result.length - 1] = 8 * (bytes.length - 1);\r\n return result\r\n}\r\nexport function sha1(text) {\r\n var message = preprocess(text);\r\n var h = new Uint32Array([1732584193, 4023233417, 2562383102, 271733878, 3285377520]);\r\n for (var i = 0; i < message.length; i += 16) {\r\n var w = new Uint32Array(80);\r\n for (var j = 0; j < 16; j += 1) {\r\n w[j] = message[i + j]\r\n }\r\n for (var _j = 16; _j < 80; _j += 1) {\r\n var n = w[_j - 3] ^ w[_j - 8] ^ w[_j - 14] ^ w[_j - 16];\r\n w[_j] = n << 1 | n >>> 31\r\n }\r\n var a = h[0];\r\n var b = h[1];\r\n var c = h[2];\r\n var d = h[3];\r\n var e = h[4];\r\n for (var _j2 = 0; _j2 < 80; _j2 += 1) {\r\n var [f, k] = _j2 < 20 ? [b & c | ~b & d, 1518500249] : _j2 < 40 ? [b ^ c ^ d, 1859775393] : _j2 < 60 ? [b & c | b & d | c & d, 2400959708] : [b ^ c ^ d, 3395469782];\r\n var temp = leftRotate(a, 5) + f + e + k + w[_j2];\r\n e = d;\r\n d = c;\r\n c = leftRotate(b, 30);\r\n b = a;\r\n a = temp\r\n }\r\n h[0] += a;\r\n h[1] += b;\r\n h[2] += c;\r\n h[3] += d;\r\n h[4] += e\r\n }\r\n return wordsToBytes(h)\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/core/license/license_validation.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nvar __rest = this && this.__rest || function(s, e) {\r\n var t = {};\r\n for (var p in s) {\r\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) {\r\n t[p] = s[p]\r\n }\r\n }\r\n if (null != s && \"function\" === typeof Object.getOwnPropertySymbols) {\r\n var i = 0;\r\n for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) {\r\n t[p[i]] = s[p[i]]\r\n }\r\n }\r\n }\r\n return t\r\n};\r\nimport errors from \"../../../core/errors\";\r\nimport {\r\n version as packageVersion\r\n} from \"../../../core/version\";\r\nimport {\r\n assertedVersionsCompatible,\r\n parseVersion\r\n} from \"../../utils/version\";\r\nimport {\r\n base64ToBytes\r\n} from \"./byte_utils\";\r\nimport {\r\n INTERNAL_USAGE_ID,\r\n PUBLIC_KEY\r\n} from \"./key\";\r\nimport {\r\n pad\r\n} from \"./pkcs1\";\r\nimport {\r\n compareSignatures\r\n} from \"./rsa_bigint\";\r\nimport {\r\n sha1\r\n} from \"./sha1\";\r\nimport {\r\n TokenKind\r\n} from \"./types\";\r\nvar SPLITTER = \".\";\r\nvar FORMAT = 1;\r\nvar RTM_MIN_PATCH_VERSION = 3;\r\nvar GENERAL_ERROR = {\r\n kind: TokenKind.corrupted,\r\n error: \"general\"\r\n};\r\nvar VERIFICATION_ERROR = {\r\n kind: TokenKind.corrupted,\r\n error: \"verification\"\r\n};\r\nvar DECODING_ERROR = {\r\n kind: TokenKind.corrupted,\r\n error: \"decoding\"\r\n};\r\nvar DESERIALIZATION_ERROR = {\r\n kind: TokenKind.corrupted,\r\n error: \"deserialization\"\r\n};\r\nvar PAYLOAD_ERROR = {\r\n kind: TokenKind.corrupted,\r\n error: \"payload\"\r\n};\r\nvar VERSION_ERROR = {\r\n kind: TokenKind.corrupted,\r\n error: \"version\"\r\n};\r\nvar validationPerformed = false;\r\n\r\nfunction verifySignature(_ref) {\r\n var {\r\n text: text,\r\n signature: encodedSignature\r\n } = _ref;\r\n return compareSignatures({\r\n key: PUBLIC_KEY,\r\n signature: base64ToBytes(encodedSignature),\r\n actual: pad(sha1(text))\r\n })\r\n}\r\n\r\nfunction isPreview(patch) {\r\n return isNaN(patch) || patch < RTM_MIN_PATCH_VERSION\r\n}\r\nexport function parseLicenseKey(encodedKey) {\r\n if (void 0 === encodedKey) {\r\n return GENERAL_ERROR\r\n }\r\n var parts = encodedKey.split(SPLITTER);\r\n if (2 !== parts.length || 0 === parts[0].length || 0 === parts[1].length) {\r\n return GENERAL_ERROR\r\n }\r\n if (!verifySignature({\r\n text: parts[0],\r\n signature: parts[1]\r\n })) {\r\n return VERIFICATION_ERROR\r\n }\r\n var decodedPayload = \"\";\r\n try {\r\n decodedPayload = atob(parts[0])\r\n } catch (_a) {\r\n return DECODING_ERROR\r\n }\r\n var payload = {};\r\n try {\r\n payload = JSON.parse(decodedPayload)\r\n } catch (_b) {\r\n return DESERIALIZATION_ERROR\r\n }\r\n var {\r\n customerId: customerId,\r\n maxVersionAllowed: maxVersionAllowed,\r\n format: format,\r\n internalUsageId: internalUsageId\r\n } = payload, rest = __rest(payload, [\"customerId\", \"maxVersionAllowed\", \"format\", \"internalUsageId\"]);\r\n if (void 0 !== internalUsageId) {\r\n return {\r\n kind: TokenKind.internal,\r\n internalUsageId: internalUsageId\r\n }\r\n }\r\n if (void 0 === customerId || void 0 === maxVersionAllowed || void 0 === format) {\r\n return PAYLOAD_ERROR\r\n }\r\n if (format !== FORMAT) {\r\n return VERSION_ERROR\r\n }\r\n return {\r\n kind: TokenKind.verified,\r\n payload: _extends({\r\n customerId: customerId,\r\n maxVersionAllowed: maxVersionAllowed\r\n }, rest)\r\n }\r\n}\r\n\r\nfunction getLicenseCheckParams(_ref2) {\r\n var {\r\n licenseKey: licenseKey,\r\n version: version\r\n } = _ref2;\r\n var preview = false;\r\n try {\r\n preview = isPreview(version.patch);\r\n var {\r\n major: major,\r\n minor: minor\r\n } = version;\r\n if (!licenseKey) {\r\n return {\r\n preview: preview,\r\n error: \"W0019\"\r\n }\r\n }\r\n var license = parseLicenseKey(licenseKey);\r\n if (license.kind === TokenKind.corrupted) {\r\n return {\r\n preview: preview,\r\n error: \"W0021\"\r\n }\r\n }\r\n if (license.kind === TokenKind.internal) {\r\n return {\r\n preview: preview,\r\n internal: true,\r\n error: license.internalUsageId === INTERNAL_USAGE_ID ? void 0 : \"W0020\"\r\n }\r\n }\r\n if (!(major && minor)) {\r\n return {\r\n preview: preview,\r\n error: \"W0021\"\r\n }\r\n }\r\n if (10 * major + minor > license.payload.maxVersionAllowed) {\r\n return {\r\n preview: preview,\r\n error: \"W0020\"\r\n }\r\n }\r\n return {\r\n preview: preview,\r\n error: void 0\r\n }\r\n } catch (_a) {\r\n return {\r\n preview: preview,\r\n error: \"W0021\"\r\n }\r\n }\r\n}\r\nexport function validateLicense(licenseKey) {\r\n var versionStr = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : packageVersion;\r\n if (validationPerformed) {\r\n return\r\n }\r\n validationPerformed = true;\r\n var version = parseVersion(versionStr);\r\n var versionsCompatible = assertedVersionsCompatible(version);\r\n var {\r\n preview: preview,\r\n internal: internal,\r\n error: error\r\n } = getLicenseCheckParams({\r\n licenseKey: licenseKey,\r\n version: version\r\n });\r\n if (!versionsCompatible && internal) {\r\n return\r\n }\r\n if (error) {\r\n errors.log(preview ? \"W0022\" : error);\r\n return\r\n }\r\n if (preview && !internal) {\r\n errors.log(\"W0022\")\r\n }\r\n}\r\nexport function peekValidationPerformed() {\r\n return validationPerformed\r\n}\r\nexport function setLicenseCheckSkipCondition() {}\r\nexport default {\r\n validateLicense: validateLicense\r\n};\r\n","/**\r\n * DevExtreme (esm/__internal/core/license/rsa_bigint.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function compareSignatures(args) {\r\n try {\r\n var zero = BigInt(0);\r\n var one = BigInt(1);\r\n var eight = BigInt(8);\r\n var bigIntFromBytes = bytes => bytes.reduce((acc, cur) => (acc << eight) + BigInt(cur), zero);\r\n var actual = bigIntFromBytes(args.actual);\r\n var signature = bigIntFromBytes(args.signature);\r\n var exponent = BigInt(args.key.e);\r\n var modulus = bigIntFromBytes(args.key.n);\r\n var expected = ((base, exponent, modulus) => {\r\n var result = one;\r\n var b = base;\r\n var e = exponent;\r\n while (e) {\r\n if (e & one) {\r\n result = result * b % modulus\r\n }\r\n b = b * b % modulus;\r\n e >>= one\r\n }\r\n return result\r\n })(signature, exponent, modulus);\r\n return expected === actual\r\n } catch (_a) {\r\n return true\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/dom_component.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport config from \"./config\";\r\nimport errors from \"./errors\";\r\nimport windowResizeCallbacks from \"../core/utils/resize_callbacks\";\r\nimport {\r\n Component\r\n} from \"./component\";\r\nimport {\r\n TemplateManager\r\n} from \"./template_manager\";\r\nimport {\r\n attachInstanceToElement,\r\n getInstanceByElement\r\n} from \"./utils/public_component\";\r\nimport {\r\n addShadowDomStyles\r\n} from \"./utils/shadow_dom\";\r\nimport {\r\n cleanDataRecursive\r\n} from \"./element_data\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n getPublicElement\r\n} from \"../core/element\";\r\nimport {\r\n grep,\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n isString,\r\n isDefined,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n resize as resizeEvent,\r\n visibility as visibilityEvents\r\n} from \"../events/short\";\r\nimport license, {\r\n peekValidationPerformed\r\n} from \"../__internal/core/license/license_validation\";\r\nvar {\r\n abstract: abstract\r\n} = Component;\r\nvar DOMComponent = Component.inherit({\r\n _getDefaultOptions() {\r\n return extend(this.callBase(), {\r\n width: void 0,\r\n height: void 0,\r\n rtlEnabled: config().rtlEnabled,\r\n elementAttr: {},\r\n disabled: false,\r\n integrationOptions: {}\r\n }, this._useTemplates() ? TemplateManager.createDefaultOptions() : {})\r\n },\r\n ctor(element, options) {\r\n this._customClass = null;\r\n this._createElement(element);\r\n attachInstanceToElement(this._$element, this, this._dispose);\r\n this.callBase(options);\r\n var validationAlreadyPerformed = peekValidationPerformed();\r\n license.validateLicense(config().licenseKey);\r\n if (!validationAlreadyPerformed && peekValidationPerformed()) {\r\n config({\r\n licenseKey: \"\"\r\n })\r\n }\r\n },\r\n _createElement(element) {\r\n this._$element = $(element)\r\n },\r\n _getSynchronizableOptionsForCreateComponent: () => [\"rtlEnabled\", \"disabled\", \"templatesRenderAsynchronously\"],\r\n _checkFunctionValueDeprecation: function(optionNames) {\r\n if (!this.option(\"_ignoreFunctionValueDeprecation\")) {\r\n optionNames.forEach(optionName => {\r\n if (isFunction(this.option(optionName))) {\r\n errors.log(\"W0017\", optionName)\r\n }\r\n })\r\n }\r\n },\r\n _visibilityChanged: abstract,\r\n _dimensionChanged: abstract,\r\n _init() {\r\n this.callBase();\r\n this._checkFunctionValueDeprecation([\"width\", \"height\", \"maxHeight\", \"maxWidth\", \"minHeight\", \"minWidth\", \"popupHeight\", \"popupWidth\"]);\r\n this._attachWindowResizeCallback();\r\n this._initTemplateManager()\r\n },\r\n _setOptionsByDevice(instanceCustomRules) {\r\n this.callBase([].concat(this.constructor._classCustomRules || [], instanceCustomRules || []))\r\n },\r\n _isInitialOptionValue(name) {\r\n var isCustomOption = this.constructor._classCustomRules && Object.prototype.hasOwnProperty.call(this._convertRulesToOptions(this.constructor._classCustomRules), name);\r\n return !isCustomOption && this.callBase(name)\r\n },\r\n _attachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n var windowResizeCallBack = this._windowResizeCallBack = this._dimensionChanged.bind(this);\r\n windowResizeCallbacks.add(windowResizeCallBack)\r\n }\r\n },\r\n _isDimensionChangeSupported() {\r\n return this._dimensionChanged !== abstract\r\n },\r\n _renderComponent() {\r\n this._initMarkup();\r\n hasWindow() && this._render()\r\n },\r\n _initMarkup() {\r\n var {\r\n rtlEnabled: rtlEnabled\r\n } = this.option() || {};\r\n this._renderElementAttributes();\r\n this._toggleRTLDirection(rtlEnabled);\r\n this._renderVisibilityChange();\r\n this._renderDimensions()\r\n },\r\n _render() {\r\n this._attachVisibilityChangeHandlers();\r\n addShadowDomStyles(this.$element())\r\n },\r\n _renderElementAttributes() {\r\n var {\r\n elementAttr: elementAttr\r\n } = this.option() || {};\r\n var attributes = extend({}, elementAttr);\r\n var classNames = attributes.class;\r\n delete attributes.class;\r\n this.$element().attr(attributes).removeClass(this._customClass).addClass(classNames);\r\n this._customClass = classNames\r\n },\r\n _renderVisibilityChange() {\r\n if (this._isDimensionChangeSupported()) {\r\n this._attachDimensionChangeHandlers()\r\n }\r\n if (this._isVisibilityChangeSupported()) {\r\n var $element = this.$element();\r\n $element.addClass(\"dx-visibility-change-handler\")\r\n }\r\n },\r\n _renderDimensions() {\r\n var $element = this.$element();\r\n var element = $element.get(0);\r\n var width = this._getOptionValue(\"width\", element);\r\n var height = this._getOptionValue(\"height\", element);\r\n if (this._isCssUpdateRequired(element, height, width)) {\r\n $element.css({\r\n width: null === width ? \"\" : width,\r\n height: null === height ? \"\" : height\r\n })\r\n }\r\n },\r\n _isCssUpdateRequired: (element, height, width) => !!(isDefined(width) || isDefined(height) || element.style.width || element.style.height),\r\n _attachDimensionChangeHandlers() {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n resizeEvent.off($el, {\r\n namespace: namespace\r\n });\r\n resizeEvent.on($el, () => this._dimensionChanged(), {\r\n namespace: namespace\r\n })\r\n },\r\n _attachVisibilityChangeHandlers() {\r\n if (this._isVisibilityChangeSupported()) {\r\n var $el = this.$element();\r\n var namespace = \"\".concat(this.NAME, \"VisibilityChange\");\r\n this._isHidden = !this._isVisible();\r\n visibilityEvents.off($el, {\r\n namespace: namespace\r\n });\r\n visibilityEvents.on($el, () => this._checkVisibilityChanged(\"shown\"), () => this._checkVisibilityChanged(\"hiding\"), {\r\n namespace: namespace\r\n })\r\n }\r\n },\r\n _isVisible() {\r\n var $element = this.$element();\r\n return $element.is(\":visible\")\r\n },\r\n _checkVisibilityChanged(action) {\r\n var isVisible = this._isVisible();\r\n if (isVisible) {\r\n if (\"hiding\" === action && !this._isHidden) {\r\n this._visibilityChanged(false);\r\n this._isHidden = true\r\n } else if (\"shown\" === action && this._isHidden) {\r\n this._isHidden = false;\r\n this._visibilityChanged(true)\r\n }\r\n }\r\n },\r\n _isVisibilityChangeSupported() {\r\n return this._visibilityChanged !== abstract && hasWindow()\r\n },\r\n _clean: noop,\r\n _modelByElement() {\r\n var {\r\n modelByElement: modelByElement\r\n } = this.option();\r\n var $element = this.$element();\r\n return modelByElement ? modelByElement($element) : void 0\r\n },\r\n _invalidate() {\r\n if (this._isUpdateAllowed()) {\r\n throw errors.Error(\"E0007\")\r\n }\r\n this._requireRefresh = true\r\n },\r\n _refresh() {\r\n this._clean();\r\n this._renderComponent()\r\n },\r\n _dispose() {\r\n this._templateManager && this._templateManager.dispose();\r\n this.callBase();\r\n this._clean();\r\n this._detachWindowResizeCallback()\r\n },\r\n _detachWindowResizeCallback() {\r\n if (this._isDimensionChangeSupported()) {\r\n windowResizeCallbacks.remove(this._windowResizeCallBack)\r\n }\r\n },\r\n _toggleRTLDirection(rtl) {\r\n var $element = this.$element();\r\n $element.toggleClass(\"dx-rtl\", rtl)\r\n },\r\n _createComponent(element, component) {\r\n var config = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var synchronizableOptions = grep(this._getSynchronizableOptionsForCreateComponent(), value => !(value in config));\r\n var {\r\n integrationOptions: integrationOptions\r\n } = this.option();\r\n var {\r\n nestedComponentOptions: nestedComponentOptions\r\n } = this.option();\r\n nestedComponentOptions = nestedComponentOptions || noop;\r\n var nestedComponentConfig = extend({\r\n integrationOptions: integrationOptions\r\n }, nestedComponentOptions(this));\r\n synchronizableOptions.forEach(optionName => nestedComponentConfig[optionName] = this.option(optionName));\r\n this._extendConfig(config, nestedComponentConfig);\r\n var instance = void 0;\r\n if (isString(component)) {\r\n var $element = $(element)[component](config);\r\n instance = $element[component](\"instance\")\r\n } else if (element) {\r\n instance = component.getInstance(element);\r\n if (instance) {\r\n instance.option(config)\r\n } else {\r\n instance = new component(element, config)\r\n }\r\n }\r\n if (instance) {\r\n var optionChangedHandler = _ref => {\r\n var {\r\n name: name,\r\n value: value\r\n } = _ref;\r\n if (synchronizableOptions.includes(name)) {\r\n instance.option(name, value)\r\n }\r\n };\r\n this.on(\"optionChanged\", optionChangedHandler);\r\n instance.on(\"disposing\", () => this.off(\"optionChanged\", optionChangedHandler))\r\n }\r\n return instance\r\n },\r\n _extendConfig(config, extendConfig) {\r\n each(extendConfig, (key, value) => {\r\n !Object.prototype.hasOwnProperty.call(config, key) && (config[key] = value)\r\n })\r\n },\r\n _defaultActionConfig() {\r\n var $element = this.$element();\r\n var context = this._modelByElement($element);\r\n return extend(this.callBase(), {\r\n context: context\r\n })\r\n },\r\n _defaultActionArgs() {\r\n var $element = this.$element();\r\n var model = this._modelByElement($element);\r\n var element = this.element();\r\n return extend(this.callBase(), {\r\n element: element,\r\n model: model\r\n })\r\n },\r\n _optionChanged(args) {\r\n switch (args.name) {\r\n case \"width\":\r\n case \"height\":\r\n this._renderDimensions();\r\n break;\r\n case \"rtlEnabled\":\r\n this._invalidate();\r\n break;\r\n case \"elementAttr\":\r\n this._renderElementAttributes();\r\n break;\r\n case \"disabled\":\r\n case \"integrationOptions\":\r\n break;\r\n default:\r\n this.callBase(args)\r\n }\r\n },\r\n _removeAttributes(element) {\r\n var attrs = element.attributes;\r\n for (var i = attrs.length - 1; i >= 0; i--) {\r\n var attr = attrs[i];\r\n if (attr) {\r\n var {\r\n name: name\r\n } = attr;\r\n if (!name.indexOf(\"aria-\") || -1 !== name.indexOf(\"dx-\") || \"role\" === name || \"style\" === name || \"tabindex\" === name) {\r\n element.removeAttribute(name)\r\n }\r\n }\r\n }\r\n },\r\n _removeClasses(element) {\r\n element.className = element.className.split(\" \").filter(cssClass => 0 !== cssClass.lastIndexOf(\"dx-\", 0)).join(\" \")\r\n },\r\n _updateDOMComponent(renderRequired) {\r\n if (renderRequired) {\r\n this._renderComponent()\r\n } else if (this._requireRefresh) {\r\n this._requireRefresh = false;\r\n this._refresh()\r\n }\r\n },\r\n endUpdate() {\r\n var renderRequired = this._isInitializingRequired();\r\n this.callBase();\r\n this._isUpdateAllowed() && this._updateDOMComponent(renderRequired)\r\n },\r\n $element() {\r\n return this._$element\r\n },\r\n element() {\r\n var $element = this.$element();\r\n return getPublicElement($element)\r\n },\r\n dispose() {\r\n var element = this.$element().get(0);\r\n cleanDataRecursive(element, true);\r\n element.textContent = \"\";\r\n this._removeAttributes(element);\r\n this._removeClasses(element)\r\n },\r\n resetOption(optionName) {\r\n this.callBase(optionName);\r\n if (\"width\" === optionName || \"height\" === optionName) {\r\n var initialOption = this.initialOption(optionName);\r\n !isDefined(initialOption) && this.$element().css(optionName, \"\")\r\n }\r\n },\r\n _getAnonymousTemplateName() {\r\n return\r\n },\r\n _initTemplateManager() {\r\n if (this._templateManager || !this._useTemplates()) {\r\n return\r\n }\r\n var {\r\n integrationOptions: integrationOptions = {}\r\n } = this.option();\r\n var {\r\n createTemplate: createTemplate\r\n } = integrationOptions;\r\n this._templateManager = new TemplateManager(createTemplate, this._getAnonymousTemplateName());\r\n this._initTemplates()\r\n },\r\n _initTemplates() {\r\n var {\r\n templates: templates,\r\n anonymousTemplateMeta: anonymousTemplateMeta\r\n } = this._templateManager.extractTemplates(this.$element());\r\n var anonymousTemplate = this.option(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name));\r\n templates.forEach(_ref2 => {\r\n var {\r\n name: name,\r\n template: template\r\n } = _ref2;\r\n this._options.silent(\"integrationOptions.templates.\".concat(name), template)\r\n });\r\n if (anonymousTemplateMeta.name && !anonymousTemplate) {\r\n this._options.silent(\"integrationOptions.templates.\".concat(anonymousTemplateMeta.name), anonymousTemplateMeta.template);\r\n this._options.silent(\"_hasAnonymousTemplateContent\", true)\r\n }\r\n },\r\n _getTemplateByOption(optionName) {\r\n return this._getTemplate(this.option(optionName))\r\n },\r\n _getTemplate(templateSource) {\r\n var templates = this.option(\"integrationOptions.templates\");\r\n var isAsyncTemplate = this.option(\"templatesRenderAsynchronously\");\r\n var skipTemplates = this.option(\"integrationOptions.skipTemplates\");\r\n return this._templateManager.getTemplate(templateSource, templates, {\r\n isAsyncTemplate: isAsyncTemplate,\r\n skipTemplates: skipTemplates\r\n }, this)\r\n },\r\n _saveTemplate(name, template) {\r\n this._setOptionWithoutOptionChange(\"integrationOptions.templates.\" + name, this._templateManager._createTemplate(template))\r\n },\r\n _useTemplates: () => true\r\n});\r\nDOMComponent.getInstance = function(element) {\r\n return getInstanceByElement($(element), this)\r\n};\r\nDOMComponent.defaultOptions = function(rule) {\r\n this._classCustomRules = this._classCustomRules || [];\r\n this._classCustomRules.push(rule)\r\n};\r\nexport default DOMComponent;\r\n","/**\r\n * DevExtreme (esm/core/utils/math.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isExponential\r\n} from \"./type\";\r\nvar sign = function(value) {\r\n if (0 === value) {\r\n return 0\r\n }\r\n return value / Math.abs(value)\r\n};\r\nvar fitIntoRange = function(value, minValue, maxValue) {\r\n var isMinValueUndefined = !minValue && 0 !== minValue;\r\n var isMaxValueUndefined = !maxValue && 0 !== maxValue;\r\n isMinValueUndefined && (minValue = !isMaxValueUndefined ? Math.min(value, maxValue) : value);\r\n isMaxValueUndefined && (maxValue = !isMinValueUndefined ? Math.max(value, minValue) : value);\r\n return Math.min(Math.max(value, minValue), maxValue)\r\n};\r\nvar inRange = function(value, minValue, maxValue) {\r\n return value >= minValue && value <= maxValue\r\n};\r\n\r\nfunction getExponent(value) {\r\n return Math.abs(parseInt(value.toExponential().split(\"e\")[1]))\r\n}\r\n\r\nfunction getExponentialNotation(value) {\r\n var parts = value.toExponential().split(\"e\");\r\n var mantissa = parseFloat(parts[0]);\r\n var exponent = parseInt(parts[1]);\r\n return {\r\n exponent: exponent,\r\n mantissa: mantissa\r\n }\r\n}\r\n\r\nfunction multiplyInExponentialForm(value, exponentShift) {\r\n var exponentialNotation = getExponentialNotation(value);\r\n return parseFloat(\"\".concat(exponentialNotation.mantissa, \"e\").concat(exponentialNotation.exponent + exponentShift))\r\n}\r\n\r\nfunction _isEdgeBug() {\r\n return \"0.000300\" !== 3e-4.toPrecision(3)\r\n}\r\n\r\nfunction adjust(value, interval) {\r\n var precision = getPrecision(interval || 0) + 2;\r\n var separatedValue = value.toString().split(\".\");\r\n var sourceValue = value;\r\n var absValue = Math.abs(value);\r\n var separatedAdjustedValue;\r\n var isExponentValue = isExponential(value);\r\n var integerPart = absValue > 1 ? 10 : 0;\r\n if (1 === separatedValue.length) {\r\n return value\r\n }\r\n if (!isExponentValue) {\r\n if (isExponential(interval)) {\r\n precision = separatedValue[0].length + getExponent(interval)\r\n }\r\n value = absValue;\r\n value = value - Math.floor(value) + integerPart\r\n }\r\n precision = _isEdgeBug() && getExponent(value) > 6 || precision > 7 ? 15 : 7;\r\n if (!isExponentValue) {\r\n separatedAdjustedValue = parseFloat(value.toPrecision(precision)).toString().split(\".\");\r\n if (separatedAdjustedValue[0] === integerPart.toString()) {\r\n return parseFloat(separatedValue[0] + \".\" + separatedAdjustedValue[1])\r\n }\r\n }\r\n return parseFloat(sourceValue.toPrecision(precision))\r\n}\r\n\r\nfunction getPrecision(value) {\r\n var str = value.toString();\r\n if (str.indexOf(\".\") < 0) {\r\n return 0\r\n }\r\n var mantissa = str.split(\".\");\r\n var positionOfDelimiter = mantissa[1].indexOf(\"e\");\r\n return positionOfDelimiter >= 0 ? positionOfDelimiter : mantissa[1].length\r\n}\r\n\r\nfunction getRoot(x, n) {\r\n if (x < 0 && n % 2 !== 1) {\r\n return NaN\r\n }\r\n var y = Math.pow(Math.abs(x), 1 / n);\r\n return n % 2 === 1 && x < 0 ? -y : y\r\n}\r\n\r\nfunction solveCubicEquation(a, b, c, d) {\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n c = d;\r\n if (Math.abs(a) < 1e-8) {\r\n a = b;\r\n b = c;\r\n if (Math.abs(a) < 1e-8) {\r\n return []\r\n }\r\n return [-b / a]\r\n }\r\n var D2 = b * b - 4 * a * c;\r\n if (Math.abs(D2) < 1e-8) {\r\n return [-b / (2 * a)]\r\n } else if (D2 > 0) {\r\n return [(-b + Math.sqrt(D2)) / (2 * a), (-b - Math.sqrt(D2)) / (2 * a)]\r\n }\r\n return []\r\n }\r\n var p = (3 * a * c - b * b) / (3 * a * a);\r\n var q = (2 * b * b * b - 9 * a * b * c + 27 * a * a * d) / (27 * a * a * a);\r\n var roots;\r\n var u;\r\n if (Math.abs(p) < 1e-8) {\r\n roots = [getRoot(-q, 3)]\r\n } else if (Math.abs(q) < 1e-8) {\r\n roots = [0].concat(p < 0 ? [Math.sqrt(-p), -Math.sqrt(-p)] : [])\r\n } else {\r\n var D3 = q * q / 4 + p * p * p / 27;\r\n if (Math.abs(D3) < 1e-8) {\r\n roots = [-1.5 * q / p, 3 * q / p]\r\n } else if (D3 > 0) {\r\n u = getRoot(-q / 2 - Math.sqrt(D3), 3);\r\n roots = [u - p / (3 * u)]\r\n } else {\r\n u = 2 * Math.sqrt(-p / 3);\r\n var t = Math.acos(3 * q / p / u) / 3;\r\n var k = 2 * Math.PI / 3;\r\n roots = [u * Math.cos(t), u * Math.cos(t - k), u * Math.cos(t - 2 * k)]\r\n }\r\n }\r\n for (var i = 0; i < roots.length; i++) {\r\n roots[i] -= b / (3 * a)\r\n }\r\n return roots\r\n}\r\n\r\nfunction trunc(value) {\r\n return Math.trunc ? Math.trunc(value) : value > 0 ? Math.floor(value) : Math.ceil(value)\r\n}\r\n\r\nfunction getRemainderByDivision(dividend, divider, digitsCount) {\r\n if (divider === parseInt(divider)) {\r\n return dividend % divider\r\n }\r\n var quotient = roundFloatPart(dividend / divider, digitsCount);\r\n return (quotient - parseInt(quotient)) * divider\r\n}\r\n\r\nfunction getExponentLength(value) {\r\n var _valueString$split$;\r\n var valueString = value.toString();\r\n return (null === (_valueString$split$ = valueString.split(\".\")[1]) || void 0 === _valueString$split$ ? void 0 : _valueString$split$.length) || parseInt(valueString.split(\"e-\")[1]) || 0\r\n}\r\n\r\nfunction roundFloatPart(value) {\r\n var digitsCount = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n return parseFloat(value.toFixed(digitsCount))\r\n}\r\nexport {\r\n sign,\r\n fitIntoRange,\r\n inRange,\r\n adjust,\r\n getPrecision,\r\n getExponent,\r\n getRoot,\r\n solveCubicEquation,\r\n trunc,\r\n roundFloatPart,\r\n getExponentLength,\r\n getRemainderByDivision,\r\n multiplyInExponentialForm\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/window.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar hasWindowValue = \"undefined\" !== typeof window;\r\nvar hasWindow = () => hasWindowValue;\r\nvar windowObject = hasWindow() ? window : void 0;\r\nif (!windowObject) {\r\n windowObject = {};\r\n windowObject.window = windowObject\r\n}\r\nvar getWindow = () => windowObject;\r\nvar setWindow = (newWindowObject, hasWindow) => {\r\n if (void 0 === hasWindow) {\r\n hasWindowValue = \"undefined\" !== typeof window && window === newWindowObject\r\n } else {\r\n hasWindowValue = hasWindow\r\n }\r\n windowObject = newWindowObject\r\n};\r\nvar hasProperty = prop => hasWindow() && prop in windowObject;\r\nvar defaultScreenFactorFunc = width => {\r\n if (width < 768) {\r\n return \"xs\"\r\n } else if (width < 992) {\r\n return \"sm\"\r\n } else if (width < 1200) {\r\n return \"md\"\r\n } else {\r\n return \"lg\"\r\n }\r\n};\r\nvar getCurrentScreenFactor = screenFactorCallback => {\r\n var screenFactorFunc = screenFactorCallback || defaultScreenFactorFunc;\r\n var windowWidth = domAdapter.getDocumentElement().clientWidth;\r\n return screenFactorFunc(windowWidth)\r\n};\r\nvar getNavigator = () => hasWindow() ? windowObject.navigator : {\r\n userAgent: \"\"\r\n};\r\nexport {\r\n hasWindow,\r\n getWindow,\r\n setWindow,\r\n hasProperty,\r\n defaultScreenFactorFunc,\r\n getCurrentScreenFactor,\r\n getNavigator\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/style.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n isNumeric,\r\n isString\r\n} from \"./type\";\r\nimport domAdapter from \"../dom_adapter\";\r\nvar jsPrefixes = [\"\", \"Webkit\", \"Moz\", \"O\", \"Ms\"];\r\nvar cssPrefixes = {\r\n \"\": \"\",\r\n Webkit: \"-webkit-\",\r\n Moz: \"-moz-\",\r\n O: \"-o-\",\r\n ms: \"-ms-\"\r\n};\r\nvar getStyles = callOnce((function() {\r\n return domAdapter.createElement(\"dx\").style\r\n}));\r\nvar forEachPrefixes = function(prop, callBack) {\r\n prop = camelize(prop, true);\r\n var result;\r\n for (var i = 0, cssPrefixesCount = jsPrefixes.length; i < cssPrefixesCount; i++) {\r\n var jsPrefix = jsPrefixes[i];\r\n var prefixedProp = jsPrefix + prop;\r\n var lowerPrefixedProp = camelize(prefixedProp);\r\n result = callBack(lowerPrefixedProp, jsPrefix);\r\n if (void 0 === result) {\r\n result = callBack(prefixedProp, jsPrefix)\r\n }\r\n if (void 0 !== result) {\r\n break\r\n }\r\n }\r\n return result || \"\"\r\n};\r\nvar styleProp = function(name) {\r\n if (name in getStyles()) {\r\n return name\r\n }\r\n var originalName = name;\r\n name = name.charAt(0).toUpperCase() + name.substr(1);\r\n for (var i = 1; i < jsPrefixes.length; i++) {\r\n var prefixedProp = jsPrefixes[i].toLowerCase() + name;\r\n if (prefixedProp in getStyles()) {\r\n return prefixedProp\r\n }\r\n }\r\n return originalName\r\n};\r\nvar stylePropPrefix = function(prop) {\r\n return forEachPrefixes(prop, (function(specific, jsPrefix) {\r\n if (specific in getStyles()) {\r\n return cssPrefixes[jsPrefix]\r\n }\r\n }))\r\n};\r\nvar pxExceptions = [\"fillOpacity\", \"columnCount\", \"flexGrow\", \"flexShrink\", \"fontWeight\", \"lineHeight\", \"opacity\", \"zIndex\", \"zoom\"];\r\nvar parsePixelValue = function(value) {\r\n if (isNumeric(value)) {\r\n return value\r\n } else if (isString(value)) {\r\n return Number(value.replace(\"px\", \"\"))\r\n }\r\n return NaN\r\n};\r\nvar normalizeStyleProp = function(prop, value) {\r\n if (isNumeric(value) && -1 === pxExceptions.indexOf(prop)) {\r\n value += \"px\"\r\n }\r\n return value\r\n};\r\nvar setDimensionProperty = function(elements, propertyName, value) {\r\n if (elements) {\r\n value = isNumeric(value) ? value += \"px\" : value;\r\n for (var i = 0; i < elements.length; ++i) {\r\n elements[i].style[propertyName] = value\r\n }\r\n }\r\n};\r\nvar setWidth = function(elements, value) {\r\n setDimensionProperty(elements, \"width\", value)\r\n};\r\nvar setHeight = function(elements, value) {\r\n setDimensionProperty(elements, \"height\", value)\r\n};\r\nvar setStyle = function(element, styleString) {\r\n var resetStyle = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : true;\r\n if (resetStyle) {\r\n var styleList = [].slice.call(element.style);\r\n styleList.forEach(propertyName => {\r\n element.style.removeProperty(propertyName)\r\n })\r\n }\r\n styleString.split(\";\").forEach(style => {\r\n var parts = style.split(\":\").map(stylePart => stylePart.trim());\r\n if (2 === parts.length) {\r\n var [property, value] = parts;\r\n element.style[property] = value\r\n }\r\n })\r\n};\r\nexport {\r\n styleProp,\r\n setStyle,\r\n stylePropPrefix,\r\n normalizeStyleProp,\r\n parsePixelValue,\r\n setWidth,\r\n setHeight\r\n};\r\n","/**\r\n * DevExtreme (esm/events/remove.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n beforeCleanData\r\n} from \"../core/element_data\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nexport var removeEvent = \"dxremove\";\r\nvar eventPropName = \"dxRemoveEvent\";\r\nbeforeCleanData((function(elements) {\r\n elements = [].slice.call(elements);\r\n for (var i = 0; i < elements.length; i++) {\r\n var $element = $(elements[i]);\r\n if ($element.prop(eventPropName)) {\r\n $element[0][eventPropName] = null;\r\n eventsEngine.triggerHandler($element, removeEvent)\r\n }\r\n }\r\n}));\r\nregisterEvent(removeEvent, {\r\n noBubble: true,\r\n setup: function(element) {\r\n $(element).prop(eventPropName, true)\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/templates/child_default_template.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class ChildDefaultTemplate extends TemplateBase {\r\n constructor(name) {\r\n super();\r\n this.name = name\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/events/drag.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n data as elementData,\r\n removeData\r\n} from \"../core/element_data\";\r\nimport {\r\n wrapToArray\r\n} from \"../core/utils/array\";\r\nimport * as iteratorUtils from \"../core/utils/iterator\";\r\nimport {\r\n contains\r\n} from \"../core/utils/dom\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n eventData as eData,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport GestureEmitter from \"./gesture/emitter.gesture\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar DRAG_START_EVENT = \"dxdragstart\";\r\nvar DRAG_EVENT = \"dxdrag\";\r\nvar DRAG_END_EVENT = \"dxdragend\";\r\nvar DRAG_ENTER_EVENT = \"dxdragenter\";\r\nvar DRAG_LEAVE_EVENT = \"dxdragleave\";\r\nvar DROP_EVENT = \"dxdrop\";\r\nvar DX_DRAG_EVENTS_COUNT_KEY = \"dxDragEventsCount\";\r\nvar knownDropTargets = [];\r\nvar knownDropTargetSelectors = [];\r\nvar knownDropTargetConfigs = [];\r\nvar dropTargetRegistration = {\r\n setup: function(element, data) {\r\n var knownDropTarget = knownDropTargets.includes(element);\r\n if (!knownDropTarget) {\r\n knownDropTargets.push(element);\r\n knownDropTargetSelectors.push([]);\r\n knownDropTargetConfigs.push(data || {})\r\n }\r\n },\r\n add: function(element, handleObj) {\r\n var index = knownDropTargets.indexOf(element);\r\n this.updateEventsCounter(element, handleObj.type, 1);\r\n var selector = handleObj.selector;\r\n if (!knownDropTargetSelectors[index].includes(selector)) {\r\n knownDropTargetSelectors[index].push(selector)\r\n }\r\n },\r\n updateEventsCounter: function(element, event, value) {\r\n if ([DRAG_ENTER_EVENT, DRAG_LEAVE_EVENT, DROP_EVENT].indexOf(event) > -1) {\r\n var eventsCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY) || 0;\r\n elementData(element, DX_DRAG_EVENTS_COUNT_KEY, Math.max(0, eventsCount + value))\r\n }\r\n },\r\n remove: function(element, handleObj) {\r\n this.updateEventsCounter(element, handleObj.type, -1)\r\n },\r\n teardown: function(element) {\r\n var handlersCount = elementData(element, DX_DRAG_EVENTS_COUNT_KEY);\r\n if (!handlersCount) {\r\n var index = knownDropTargets.indexOf(element);\r\n knownDropTargets.splice(index, 1);\r\n knownDropTargetSelectors.splice(index, 1);\r\n knownDropTargetConfigs.splice(index, 1);\r\n removeData(element, DX_DRAG_EVENTS_COUNT_KEY)\r\n }\r\n }\r\n};\r\nregisterEvent(DRAG_ENTER_EVENT, dropTargetRegistration);\r\nregisterEvent(DRAG_LEAVE_EVENT, dropTargetRegistration);\r\nregisterEvent(DROP_EVENT, dropTargetRegistration);\r\nvar getItemDelegatedTargets = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n var dropTargetSelectors = knownDropTargetSelectors[dropTargetIndex].filter(selector => selector);\r\n var $delegatedTargets = $element.find(dropTargetSelectors.join(\", \"));\r\n if (knownDropTargetSelectors[dropTargetIndex].includes(void 0)) {\r\n $delegatedTargets = $delegatedTargets.add($element)\r\n }\r\n return $delegatedTargets\r\n};\r\nvar getItemConfig = function($element) {\r\n var dropTargetIndex = knownDropTargets.indexOf($element.get(0));\r\n return knownDropTargetConfigs[dropTargetIndex]\r\n};\r\nvar getItemPosition = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemPositionFunc) {\r\n return dropTargetConfig.itemPositionFunc($element)\r\n } else {\r\n return $element.offset()\r\n }\r\n};\r\nvar getItemSize = function(dropTargetConfig, $element) {\r\n if (dropTargetConfig.itemSizeFunc) {\r\n return dropTargetConfig.itemSizeFunc($element)\r\n }\r\n return {\r\n width: $element.get(0).getBoundingClientRect().width,\r\n height: $element.get(0).getBoundingClientRect().height\r\n }\r\n};\r\nvar DragEmitter = GestureEmitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n this.direction = \"both\"\r\n },\r\n _init: function(e) {\r\n this._initEvent = e\r\n },\r\n _start: function(e) {\r\n e = this._fireEvent(DRAG_START_EVENT, this._initEvent);\r\n this._maxLeftOffset = e.maxLeftOffset;\r\n this._maxRightOffset = e.maxRightOffset;\r\n this._maxTopOffset = e.maxTopOffset;\r\n this._maxBottomOffset = e.maxBottomOffset;\r\n if (e.targetElements || null === e.targetElements) {\r\n var dropTargets = wrapToArray(e.targetElements || []);\r\n this._dropTargets = iteratorUtils.map(dropTargets, (function(element) {\r\n return $(element).get(0)\r\n }))\r\n } else {\r\n this._dropTargets = knownDropTargets\r\n }\r\n },\r\n _move: function(e) {\r\n var eventData = eData(e);\r\n var dragOffset = this._calculateOffset(eventData);\r\n e = this._fireEvent(DRAG_EVENT, e, {\r\n offset: dragOffset\r\n });\r\n this._processDropTargets(e);\r\n if (!e._cancelPreventDefault) {\r\n e.preventDefault()\r\n }\r\n },\r\n _calculateOffset: function(eventData) {\r\n return {\r\n x: this._calculateXOffset(eventData),\r\n y: this._calculateYOffset(eventData)\r\n }\r\n },\r\n _calculateXOffset: function(eventData) {\r\n if (\"vertical\" !== this.direction) {\r\n var offset = eventData.x - this._startEventData.x;\r\n return this._fitOffset(offset, this._maxLeftOffset, this._maxRightOffset)\r\n }\r\n return 0\r\n },\r\n _calculateYOffset: function(eventData) {\r\n if (\"horizontal\" !== this.direction) {\r\n var offset = eventData.y - this._startEventData.y;\r\n return this._fitOffset(offset, this._maxTopOffset, this._maxBottomOffset)\r\n }\r\n return 0\r\n },\r\n _fitOffset: function(offset, minOffset, maxOffset) {\r\n if (null != minOffset) {\r\n offset = Math.max(offset, -minOffset)\r\n }\r\n if (null != maxOffset) {\r\n offset = Math.min(offset, maxOffset)\r\n }\r\n return offset\r\n },\r\n _processDropTargets: function(e) {\r\n var target = this._findDropTarget(e);\r\n var sameTarget = target === this._currentDropTarget;\r\n if (!sameTarget) {\r\n this._fireDropTargetEvent(e, DRAG_LEAVE_EVENT);\r\n this._currentDropTarget = target;\r\n this._fireDropTargetEvent(e, DRAG_ENTER_EVENT)\r\n }\r\n },\r\n _fireDropTargetEvent: function(event, eventName) {\r\n if (!this._currentDropTarget) {\r\n return\r\n }\r\n var eventData = {\r\n type: eventName,\r\n originalEvent: event,\r\n draggingElement: this._$element.get(0),\r\n target: this._currentDropTarget\r\n };\r\n fireEvent(eventData)\r\n },\r\n _findDropTarget: function(e) {\r\n var that = this;\r\n var result;\r\n iteratorUtils.each(knownDropTargets, (function(_, target) {\r\n if (!that._checkDropTargetActive(target)) {\r\n return\r\n }\r\n var $target = $(target);\r\n iteratorUtils.each(getItemDelegatedTargets($target), (function(_, delegatedTarget) {\r\n var $delegatedTarget = $(delegatedTarget);\r\n if (that._checkDropTarget(getItemConfig($target), $delegatedTarget, $(result), e)) {\r\n result = delegatedTarget\r\n }\r\n }))\r\n }));\r\n return result\r\n },\r\n _checkDropTargetActive: function(target) {\r\n var active = false;\r\n iteratorUtils.each(this._dropTargets, (function(_, activeTarget) {\r\n active = active || activeTarget === target || contains(activeTarget, target);\r\n return !active\r\n }));\r\n return active\r\n },\r\n _checkDropTarget: function(config, $target, $prevTarget, e) {\r\n var isDraggingElement = $target.get(0) === $(e.target).get(0);\r\n if (isDraggingElement) {\r\n return false\r\n }\r\n var targetPosition = getItemPosition(config, $target);\r\n if (e.pageX < targetPosition.left) {\r\n return false\r\n }\r\n if (e.pageY < targetPosition.top) {\r\n return false\r\n }\r\n var targetSize = getItemSize(config, $target);\r\n if (e.pageX > targetPosition.left + targetSize.width) {\r\n return false\r\n }\r\n if (e.pageY > targetPosition.top + targetSize.height) {\r\n return false\r\n }\r\n if ($prevTarget.length && $prevTarget.closest($target).length) {\r\n return false\r\n }\r\n if (config.checkDropTarget && !config.checkDropTarget($target, e)) {\r\n return false\r\n }\r\n return $target\r\n },\r\n _end: function(e) {\r\n var eventData = eData(e);\r\n this._fireEvent(DRAG_END_EVENT, e, {\r\n offset: this._calculateOffset(eventData)\r\n });\r\n this._fireDropTargetEvent(e, DROP_EVENT);\r\n delete this._currentDropTarget\r\n }\r\n});\r\nregisterEmitter({\r\n emitter: DragEmitter,\r\n events: [DRAG_START_EVENT, DRAG_EVENT, DRAG_END_EVENT]\r\n});\r\nexport {\r\n DRAG_EVENT as move, DRAG_START_EVENT as start, DRAG_END_EVENT as end, DRAG_ENTER_EVENT as enter, DRAG_LEAVE_EVENT as leave, DROP_EVENT as drop\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/inflector.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"./iterator\";\r\nvar _normalize = function(text) {\r\n if (void 0 === text || null === text) {\r\n return \"\"\r\n }\r\n return String(text)\r\n};\r\nvar _upperCaseFirst = function(text) {\r\n return _normalize(text).charAt(0).toUpperCase() + text.substr(1)\r\n};\r\nvar _chop = function(text) {\r\n return _normalize(text).replace(/([a-z\\d])([A-Z])/g, \"$1 $2\").split(/[\\s_-]+/)\r\n};\r\nexport var dasherize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return p.toLowerCase()\r\n })).join(\"-\")\r\n};\r\nexport var underscore = function(text) {\r\n return dasherize(text).replace(/-/g, \"_\")\r\n};\r\nexport var camelize = function(text, upperFirst) {\r\n return map(_chop(text), (function(p, i) {\r\n p = p.toLowerCase();\r\n if (upperFirst || i > 0) {\r\n p = _upperCaseFirst(p)\r\n }\r\n return p\r\n })).join(\"\")\r\n};\r\nexport var humanize = function(text) {\r\n return _upperCaseFirst(dasherize(text).replace(/-/g, \" \"))\r\n};\r\nexport var titleize = function(text) {\r\n return map(_chop(text), (function(p) {\r\n return _upperCaseFirst(p.toLowerCase())\r\n })).join(\" \")\r\n};\r\nvar DIGIT_CHARS = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"];\r\nexport var captionize = function(name) {\r\n var captionList = [];\r\n var i;\r\n var char;\r\n var isPrevCharNewWord = false;\r\n var isNewWord = false;\r\n for (i = 0; i < name.length; i++) {\r\n char = name.charAt(i);\r\n isNewWord = char === char.toUpperCase() && \"-\" !== char && \")\" !== char && \"/\" !== char || char in DIGIT_CHARS;\r\n if (\"_\" === char || \".\" === char) {\r\n char = \" \";\r\n isNewWord = true\r\n } else if (0 === i) {\r\n char = char.toUpperCase();\r\n isNewWord = true\r\n } else if (!isPrevCharNewWord && isNewWord) {\r\n if (captionList.length > 0) {\r\n captionList.push(\" \")\r\n }\r\n }\r\n captionList.push(char);\r\n isPrevCharNewWord = isNewWord\r\n }\r\n return captionList.join(\"\")\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/size.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n isWindow,\r\n isString,\r\n isNumeric,\r\n isRenderer\r\n} from \"../utils/type\";\r\nvar window = getWindow();\r\nvar SPECIAL_HEIGHT_VALUES = [\"auto\", \"none\", \"inherit\", \"initial\"];\r\nvar getSizeByStyles = function(elementStyles, styles) {\r\n var result = 0;\r\n styles.forEach((function(style) {\r\n result += parseFloat(elementStyles[style]) || 0\r\n }));\r\n return result\r\n};\r\nexport var getElementBoxParams = function(name, elementStyles) {\r\n var beforeName = \"width\" === name ? \"Left\" : \"Top\";\r\n var afterName = \"width\" === name ? \"Right\" : \"Bottom\";\r\n return {\r\n padding: getSizeByStyles(elementStyles, [\"padding\" + beforeName, \"padding\" + afterName]),\r\n border: getSizeByStyles(elementStyles, [\"border\" + beforeName + \"Width\", \"border\" + afterName + \"Width\"]),\r\n margin: getSizeByStyles(elementStyles, [\"margin\" + beforeName, \"margin\" + afterName])\r\n }\r\n};\r\nvar getElementComputedStyle = function(element) {\r\n var _element$ownerDocumen;\r\n var view = (null === element || void 0 === element ? void 0 : null === (_element$ownerDocumen = element.ownerDocument) || void 0 === _element$ownerDocumen ? void 0 : _element$ownerDocumen.defaultView) || window;\r\n return view.getComputedStyle && view.getComputedStyle(element)\r\n};\r\nvar getCSSProperty = function(element, styles, name, defaultValue) {\r\n var _element$style;\r\n return (null === styles || void 0 === styles ? void 0 : styles[name]) || (null === (_element$style = element.style) || void 0 === _element$style ? void 0 : _element$style[name]) || defaultValue\r\n};\r\nvar boxIndices = {\r\n content: 0,\r\n padding: 1,\r\n border: 2,\r\n margin: 3,\r\n \"content-box\": 0,\r\n \"border-box\": 2\r\n};\r\nvar dimensionComponents = {\r\n width: [\"left\", \"right\"],\r\n height: [\"top\", \"bottom\"]\r\n};\r\n\r\nfunction getComponentThickness(elem, dimension, component, styles) {\r\n var get = (elem, styles, field) => parseFloat(getCSSProperty(elem, styles, field, \"0\")) || 0;\r\n var suffix = \"border\" === component ? \"-width\" : \"\";\r\n return get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][0]).concat(suffix)) + get(elem, styles, \"\".concat(component, \"-\").concat(dimensionComponents[dimension][1]).concat(suffix))\r\n}\r\nexport var getSize = function(element, dimension, box) {\r\n var offsetFieldName = \"width\" === dimension ? \"offsetWidth\" : \"offsetHeight\";\r\n var styles = getElementComputedStyle(element);\r\n var result = getCSSProperty(element, styles, dimension);\r\n if (\"\" === result || \"auto\" === result) {\r\n result = element[offsetFieldName]\r\n }\r\n result = parseFloat(result) || 0;\r\n var currentBox = getCSSProperty(element, styles, \"boxSizing\", \"content-box\");\r\n var targetBox = box || currentBox;\r\n var targetBoxIndex = boxIndices[targetBox];\r\n var currentBoxIndex = boxIndices[currentBox];\r\n if (void 0 === targetBoxIndex || void 0 === currentBoxIndex) {\r\n throw new Error\r\n }\r\n if (currentBoxIndex === targetBoxIndex) {\r\n return result\r\n }\r\n var coeff = Math.sign(targetBoxIndex - currentBoxIndex);\r\n var padding = false;\r\n var border = false;\r\n var margin = false;\r\n var scrollThickness = false;\r\n if (1 === coeff) {\r\n targetBoxIndex += 1;\r\n currentBoxIndex += 1\r\n }\r\n for (var boxPart = currentBoxIndex; boxPart !== targetBoxIndex; boxPart += coeff) {\r\n switch (boxPart) {\r\n case boxIndices.content:\r\n break;\r\n case boxIndices.padding:\r\n padding = coeff * getComponentThickness(element, dimension, \"padding\", styles);\r\n break;\r\n case boxIndices.border:\r\n border = coeff * getComponentThickness(element, dimension, \"border\", styles);\r\n break;\r\n case boxIndices.margin:\r\n margin = coeff * getComponentThickness(element, dimension, \"margin\", styles)\r\n }\r\n }\r\n if (padding || border) {\r\n var paddingAndBorder = (false === padding ? coeff * getComponentThickness(element, dimension, \"padding\", styles) : padding) + (false === border ? coeff * getComponentThickness(element, dimension, \"border\", styles) : border);\r\n scrollThickness = coeff * Math.max(0, Math.floor(element[offsetFieldName] - result - coeff * paddingAndBorder)) || 0\r\n }\r\n return result + margin + padding + border + scrollThickness\r\n};\r\nvar getContainerHeight = function(container) {\r\n return isWindow(container) ? container.innerHeight : container.offsetHeight\r\n};\r\nexport var parseHeight = function(value, container, element) {\r\n if (value.indexOf(\"px\") > 0) {\r\n value = parseInt(value.replace(\"px\", \"\"))\r\n } else if (value.indexOf(\"%\") > 0) {\r\n value = parseInt(value.replace(\"%\", \"\")) * getContainerHeight(container) / 100\r\n } else if (!isNaN(value)) {\r\n value = parseInt(value)\r\n } else if (value.indexOf(\"vh\") > 0) {\r\n value = window.innerHeight / 100 * parseInt(value.replace(\"vh\", \"\"))\r\n } else if (element && value.indexOf(\"em\") > 0) {\r\n value = parseFloat(value.replace(\"em\", \"\")) * parseFloat(window.getComputedStyle(element).fontSize)\r\n }\r\n return value\r\n};\r\nvar getHeightWithOffset = function(value, offset, container) {\r\n if (!value) {\r\n return null\r\n }\r\n if (SPECIAL_HEIGHT_VALUES.indexOf(value) > -1) {\r\n return offset ? null : value\r\n }\r\n if (isString(value)) {\r\n value = parseHeight(value, container)\r\n }\r\n if (isNumeric(value)) {\r\n return Math.max(0, value + offset)\r\n }\r\n var operationString = offset < 0 ? \" - \" : \" \";\r\n return \"calc(\" + value + operationString + Math.abs(offset) + \"px)\"\r\n};\r\nexport var addOffsetToMaxHeight = function(value, offset, container) {\r\n var maxHeight = getHeightWithOffset(value, offset, container);\r\n return null !== maxHeight ? maxHeight : \"none\"\r\n};\r\nexport var addOffsetToMinHeight = function(value, offset, container) {\r\n var minHeight = getHeightWithOffset(value, offset, container);\r\n return null !== minHeight ? minHeight : 0\r\n};\r\nexport var getVerticalOffsets = function(element, withMargins) {\r\n if (!element) {\r\n return 0\r\n }\r\n var boxParams = getElementBoxParams(\"height\", window.getComputedStyle(element));\r\n return boxParams.padding + boxParams.border + (withMargins ? boxParams.margin : 0)\r\n};\r\nexport var getVisibleHeight = function(element) {\r\n if (element) {\r\n var _element$getBoundingC;\r\n var boundingClientRect = null === (_element$getBoundingC = element.getBoundingClientRect) || void 0 === _element$getBoundingC ? void 0 : _element$getBoundingC.call(element);\r\n if (null !== boundingClientRect && void 0 !== boundingClientRect && boundingClientRect.height) {\r\n return boundingClientRect.height\r\n }\r\n }\r\n return 0\r\n};\r\nexport var implementationsMap = {\r\n getWidth: function() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n setWidth: function() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return elementSizeHelper(\"width\", ...args)\r\n },\r\n getHeight: function() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n setHeight: function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n return elementSizeHelper(\"height\", ...args)\r\n },\r\n getOuterWidth: function() {\r\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\r\n args[_key5] = arguments[_key5]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n setOuterWidth: function() {\r\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\r\n args[_key6] = arguments[_key6]\r\n }\r\n return elementSizeHelper(\"outerWidth\", ...args)\r\n },\r\n getOuterHeight: function() {\r\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\r\n args[_key7] = arguments[_key7]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n setOuterHeight: function() {\r\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\r\n args[_key8] = arguments[_key8]\r\n }\r\n return elementSizeHelper(\"outerHeight\", ...args)\r\n },\r\n getInnerWidth: function() {\r\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\r\n args[_key9] = arguments[_key9]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n setInnerWidth: function() {\r\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\r\n args[_key10] = arguments[_key10]\r\n }\r\n return elementSizeHelper(\"innerWidth\", ...args)\r\n },\r\n getInnerHeight: function() {\r\n for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {\r\n args[_key11] = arguments[_key11]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n },\r\n setInnerHeight: function() {\r\n for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {\r\n args[_key12] = arguments[_key12]\r\n }\r\n return elementSizeHelper(\"innerHeight\", ...args)\r\n }\r\n};\r\n\r\nfunction elementSizeHelper(sizeProperty, el, value) {\r\n return 2 === arguments.length ? elementSize(el, sizeProperty) : elementSize(el, sizeProperty, value)\r\n}\r\nexport var getWidth = el => implementationsMap.getWidth(el);\r\nexport var setWidth = (el, value) => implementationsMap.setWidth(el, value);\r\nexport var getHeight = el => implementationsMap.getHeight(el);\r\nexport var setHeight = (el, value) => implementationsMap.setHeight(el, value);\r\nexport var getOuterWidth = (el, includeMargin) => implementationsMap.getOuterWidth(el, includeMargin || false);\r\nexport var setOuterWidth = (el, value) => implementationsMap.setOuterWidth(el, value);\r\nexport var getOuterHeight = (el, includeMargin) => implementationsMap.getOuterHeight(el, includeMargin || false);\r\nexport var setOuterHeight = (el, value) => implementationsMap.setOuterHeight(el, value);\r\nexport var getInnerWidth = el => implementationsMap.getInnerWidth(el);\r\nexport var setInnerWidth = (el, value) => implementationsMap.setInnerWidth(el, value);\r\nexport var getInnerHeight = el => implementationsMap.getInnerHeight(el);\r\nexport var setInnerHeight = (el, value) => implementationsMap.setInnerHeight(el, value);\r\nvar elementSize = function elementSize(el, sizeProperty, value) {\r\n var partialName = sizeProperty.toLowerCase().indexOf(\"width\") >= 0 ? \"Width\" : \"Height\";\r\n var propName = partialName.toLowerCase();\r\n var isOuter = 0 === sizeProperty.indexOf(\"outer\");\r\n var isInner = 0 === sizeProperty.indexOf(\"inner\");\r\n var isGetter = 2 === arguments.length || \"boolean\" === typeof value;\r\n if (isRenderer(el)) {\r\n if (el.length > 1 && !isGetter) {\r\n for (var i = 0; i < el.length; i++) {\r\n elementSize(el[i], sizeProperty, value)\r\n }\r\n return\r\n }\r\n el = el[0]\r\n }\r\n if (!el) {\r\n return\r\n }\r\n if (isWindow(el)) {\r\n return isOuter ? el[\"inner\" + partialName] : domAdapter.getDocumentElement()[\"client\" + partialName]\r\n }\r\n if (domAdapter.isDocument(el)) {\r\n var documentElement = domAdapter.getDocumentElement();\r\n var body = domAdapter.getBody();\r\n return Math.max(body[\"scroll\" + partialName], body[\"offset\" + partialName], documentElement[\"scroll\" + partialName], documentElement[\"offset\" + partialName], documentElement[\"client\" + partialName])\r\n }\r\n if (isGetter) {\r\n var box = \"content\";\r\n if (isOuter) {\r\n box = value ? \"margin\" : \"border\"\r\n }\r\n if (isInner) {\r\n box = \"padding\"\r\n }\r\n return getSize(el, propName, box)\r\n }\r\n if (isNumeric(value)) {\r\n var elementStyles = getElementComputedStyle(el);\r\n var sizeAdjustment = getElementBoxParams(propName, elementStyles);\r\n var isBorderBox = \"border-box\" === elementStyles.boxSizing;\r\n value = Number(value);\r\n if (isOuter) {\r\n value -= isBorderBox ? 0 : sizeAdjustment.border + sizeAdjustment.padding\r\n } else if (isInner) {\r\n value += isBorderBox ? sizeAdjustment.border : -sizeAdjustment.padding\r\n } else if (isBorderBox) {\r\n value += sizeAdjustment.border + sizeAdjustment.padding\r\n }\r\n }\r\n value += isNumeric(value) ? \"px\" : \"\";\r\n domAdapter.setStyle(el, propName, value);\r\n return null\r\n};\r\nexport var getWindowByElement = el => isWindow(el) ? el : el.defaultView;\r\nexport var getOffset = el => {\r\n var _el$getClientRects;\r\n if (!(null !== (_el$getClientRects = el.getClientRects) && void 0 !== _el$getClientRects && _el$getClientRects.call(el).length)) {\r\n return {\r\n top: 0,\r\n left: 0\r\n }\r\n }\r\n var rect = el.getBoundingClientRect();\r\n var win = getWindowByElement(el.ownerDocument);\r\n var docElem = el.ownerDocument.documentElement;\r\n return {\r\n top: rect.top + win.pageYOffset - docElem.clientTop,\r\n left: rect.left + win.pageXOffset - docElem.clientLeft\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/extend.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isPlainObject\r\n} from \"./type\";\r\nexport var extendFromObject = function(target, source, overrideExistingValues) {\r\n target = target || {};\r\n for (var prop in source) {\r\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\r\n var value = source[prop];\r\n if (!(prop in target) || overrideExistingValues) {\r\n target[prop] = value\r\n }\r\n }\r\n }\r\n return target\r\n};\r\nexport var extend = function extend(target) {\r\n target = target || {};\r\n var i = 1;\r\n var deep = false;\r\n if (\"boolean\" === typeof target) {\r\n deep = target;\r\n target = arguments[1] || {};\r\n i++\r\n }\r\n for (; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n if (null == source) {\r\n continue\r\n }\r\n for (var key in source) {\r\n var targetValue = target[key];\r\n var sourceValue = source[key];\r\n var sourceValueIsArray = false;\r\n var clone = void 0;\r\n if (\"__proto__\" === key || \"constructor\" === key || target === sourceValue) {\r\n continue\r\n }\r\n if (deep && sourceValue && (isPlainObject(sourceValue) || (sourceValueIsArray = Array.isArray(sourceValue)))) {\r\n if (sourceValueIsArray) {\r\n clone = targetValue && Array.isArray(targetValue) ? targetValue : []\r\n } else {\r\n clone = targetValue && isPlainObject(targetValue) ? targetValue : {}\r\n }\r\n target[key] = extend(deep, clone, sourceValue)\r\n } else if (void 0 !== sourceValue) {\r\n target[key] = sourceValue\r\n }\r\n }\r\n }\r\n return target\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.format.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport numberLocalization from \"../number\";\r\nvar ARABIC_COMMA = \"\\u060c\";\r\nvar FORMAT_SEPARATORS = \" .,:;/\\\\<>()-[]\" + ARABIC_COMMA;\r\nvar AM_PM_PATTERN = \". m.\";\r\nvar checkDigit = function(char) {\r\n var code = char && numberLocalization.convertDigits(char, false).charCodeAt(0);\r\n var zeroCode = numberLocalization.convertDigits(\"0\", false).charCodeAt(0);\r\n return zeroCode <= code && code < zeroCode + 10\r\n};\r\nvar checkPatternContinue = function(text, patterns, index, isDigit) {\r\n var char = text[index];\r\n var nextChar = text[index + 1];\r\n if (!isDigit) {\r\n if (\".\" === char || \" \" === char && text.slice(index - 1, index + 3) === AM_PM_PATTERN) {\r\n return true\r\n }\r\n if (\"-\" === char && !checkDigit(nextChar)) {\r\n return true\r\n }\r\n }\r\n var isDigitChanged = isDigit && patterns.some(pattern => text[index] !== pattern[index]);\r\n return FORMAT_SEPARATORS.indexOf(char) < 0 && isDigit === checkDigit(char) && (!isDigit || isDigitChanged)\r\n};\r\nvar getPatternStartIndex = function(defaultPattern, index) {\r\n if (!checkDigit(defaultPattern[index])) {\r\n while (index > 0 && !checkDigit(defaultPattern[index - 1]) && (\".\" === defaultPattern[index - 1] || FORMAT_SEPARATORS.indexOf(defaultPattern[index - 1]) < 0)) {\r\n index--\r\n }\r\n }\r\n return index\r\n};\r\nvar getDifference = function(defaultPattern, patterns, processedIndexes, isDigit) {\r\n var i = 0;\r\n var result = [];\r\n var patternsFilter = function(pattern) {\r\n return defaultPattern[i] !== pattern[i] && (void 0 === isDigit || checkDigit(defaultPattern[i]) === isDigit)\r\n };\r\n if (!Array.isArray(patterns)) {\r\n patterns = [patterns]\r\n }\r\n for (i = 0; i < defaultPattern.length; i++) {\r\n if (processedIndexes.indexOf(i) < 0 && patterns.filter(patternsFilter).length) {\r\n i = getPatternStartIndex(defaultPattern, i);\r\n do {\r\n isDigit = checkDigit(defaultPattern[i]);\r\n if (!result.length && !isDigit && checkDigit(patterns[0][i])) {\r\n break\r\n }\r\n result.push(i);\r\n processedIndexes.unshift(i);\r\n i++\r\n } while (defaultPattern[i] && checkPatternContinue(defaultPattern, patterns, i, isDigit));\r\n break\r\n }\r\n }\r\n if (1 === result.length && (\"0\" === defaultPattern[processedIndexes[0] - 1] || \"\\u0660\" === defaultPattern[processedIndexes[0] - 1])) {\r\n processedIndexes.unshift(processedIndexes[0] - 1)\r\n }\r\n return result\r\n};\r\nvar replaceCharsCore = function(pattern, indexes, char, patternPositions) {\r\n var baseCharIndex = indexes[0];\r\n var patternIndex = baseCharIndex < patternPositions.length ? patternPositions[baseCharIndex] : baseCharIndex;\r\n indexes.forEach((function(_, index) {\r\n pattern = pattern.substr(0, patternIndex + index) + (char.length > 1 ? char[index] : char) + pattern.substr(patternIndex + index + 1)\r\n }));\r\n if (1 === indexes.length) {\r\n pattern = pattern.replace(\"0\" + char, char + char);\r\n pattern = pattern.replace(\"\\u0660\" + char, char + char)\r\n }\r\n return pattern\r\n};\r\nvar replaceChars = function(pattern, indexes, char, patternPositions) {\r\n var i;\r\n var index;\r\n var patternIndex;\r\n if (!checkDigit(pattern[indexes[0]] || \"0\")) {\r\n var letterCount = Math.max(indexes.length <= 3 ? 3 : 4, char.length);\r\n while (indexes.length > letterCount) {\r\n index = indexes.pop();\r\n patternIndex = patternPositions[index];\r\n patternPositions[index] = -1;\r\n for (i = index + 1; i < patternPositions.length; i++) {\r\n patternPositions[i]--\r\n }\r\n pattern = pattern.substr(0, patternIndex) + pattern.substr(patternIndex + 1)\r\n }\r\n index = indexes[indexes.length - 1] + 1, patternIndex = index < patternPositions.length ? patternPositions[index] : index;\r\n while (indexes.length < letterCount) {\r\n indexes.push(indexes[indexes.length - 1] + 1);\r\n for (i = index; i < patternPositions.length; i++) {\r\n patternPositions[i]++\r\n }\r\n pattern = pattern.substr(0, patternIndex) + \" \" + pattern.substr(patternIndex)\r\n }\r\n }\r\n pattern = replaceCharsCore(pattern, indexes, char, patternPositions);\r\n return pattern\r\n};\r\nvar formatValue = function(value, formatter) {\r\n if (Array.isArray(value)) {\r\n return value.map((function(value) {\r\n return (formatter(value) || \"\").toString()\r\n }))\r\n }\r\n return (formatter(value) || \"\").toString()\r\n};\r\nvar ESCAPE_CHARS_REGEXP = /[a-zA-Z]/g;\r\nvar escapeChars = function(pattern, defaultPattern, processedIndexes, patternPositions) {\r\n var escapeIndexes = defaultPattern.split(\"\").map((function(char, index) {\r\n if (processedIndexes.indexOf(index) < 0 && (char.match(ESCAPE_CHARS_REGEXP) || \"'\" === char)) {\r\n return patternPositions[index]\r\n }\r\n return -1\r\n }));\r\n pattern = pattern.split(\"\").map((function(char, index) {\r\n var result = char;\r\n var isCurrentCharEscaped = escapeIndexes.indexOf(index) >= 0;\r\n var isPrevCharEscaped = index > 0 && escapeIndexes.indexOf(index - 1) >= 0;\r\n var isNextCharEscaped = escapeIndexes.indexOf(index + 1) >= 0;\r\n if (isCurrentCharEscaped) {\r\n if (!isPrevCharEscaped) {\r\n result = \"'\" + result\r\n }\r\n if (!isNextCharEscaped) {\r\n result += \"'\"\r\n }\r\n }\r\n return result\r\n })).join(\"\");\r\n return pattern\r\n};\r\nexport var getFormat = function(formatter) {\r\n var processedIndexes = [];\r\n var defaultPattern = formatValue(new Date(2009, 8, 8, 6, 5, 4), formatter);\r\n var patternPositions = defaultPattern.split(\"\").map((function(_, index) {\r\n return index\r\n }));\r\n var result = defaultPattern;\r\n var replacedPatterns = {};\r\n var datePatterns = [{\r\n date: new Date(2009, 8, 8, 6, 5, 4, 111),\r\n pattern: \"S\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 5, 2),\r\n pattern: \"s\"\r\n }, {\r\n date: new Date(2009, 8, 8, 6, 2, 4),\r\n pattern: \"m\"\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"H\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 2, 5, 4),\r\n pattern: \"h\",\r\n isDigit: true\r\n }, {\r\n date: new Date(2009, 8, 8, 18, 5, 4),\r\n pattern: \"a\",\r\n isDigit: false\r\n }, {\r\n date: new Date(2009, 8, 1, 6, 5, 4),\r\n pattern: \"d\"\r\n }, {\r\n date: [new Date(2009, 8, 2, 6, 5, 4), new Date(2009, 8, 3, 6, 5, 4), new Date(2009, 8, 4, 6, 5, 4)],\r\n pattern: \"E\"\r\n }, {\r\n date: new Date(2009, 9, 6, 6, 5, 4),\r\n pattern: \"M\"\r\n }, {\r\n date: new Date(1998, 8, 8, 6, 5, 4),\r\n pattern: \"y\"\r\n }];\r\n if (!result) {\r\n return\r\n }\r\n datePatterns.forEach((function(test) {\r\n var diff = getDifference(defaultPattern, formatValue(test.date, formatter), processedIndexes, test.isDigit);\r\n var pattern = \"M\" === test.pattern && !replacedPatterns.d ? \"L\" : test.pattern;\r\n result = replaceChars(result, diff, pattern, patternPositions);\r\n replacedPatterns[pattern] = diff.length\r\n }));\r\n result = escapeChars(result, defaultPattern, processedIndexes, patternPositions);\r\n if (processedIndexes.length) {\r\n return result\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/keyboard_processor.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n normalizeKeyName\r\n} from \"../../events/utils/index\";\r\nvar COMPOSITION_START_EVENT = \"compositionstart\";\r\nvar COMPOSITION_END_EVENT = \"compositionend\";\r\nvar KEYDOWN_EVENT = \"keydown\";\r\nvar NAMESPACE = \"KeyboardProcessor\";\r\nvar createKeyDownOptions = e => ({\r\n keyName: normalizeKeyName(e),\r\n key: e.key,\r\n code: e.code,\r\n ctrl: e.ctrlKey,\r\n location: e.location,\r\n metaKey: e.metaKey,\r\n shift: e.shiftKey,\r\n alt: e.altKey,\r\n which: e.which,\r\n originalEvent: e\r\n});\r\nvar KeyboardProcessor = Class.inherit({\r\n _keydown: addNamespace(KEYDOWN_EVENT, NAMESPACE),\r\n _compositionStart: addNamespace(COMPOSITION_START_EVENT, NAMESPACE),\r\n _compositionEnd: addNamespace(COMPOSITION_END_EVENT, NAMESPACE),\r\n ctor: function(options) {\r\n options = options || {};\r\n if (options.element) {\r\n this._element = $(options.element)\r\n }\r\n if (options.focusTarget) {\r\n this._focusTarget = options.focusTarget\r\n }\r\n this._handler = options.handler;\r\n if (this._element) {\r\n this._processFunction = e => {\r\n var focusTargets = $(this._focusTarget).toArray();\r\n var isNotFocusTarget = this._focusTarget && this._focusTarget !== e.target && !focusTargets.includes(e.target);\r\n var shouldSkipProcessing = this._isComposingJustFinished && 229 === e.which || this._isComposing || isNotFocusTarget;\r\n this._isComposingJustFinished = false;\r\n if (!shouldSkipProcessing) {\r\n this.process(e)\r\n }\r\n };\r\n this._toggleProcessingWithContext = this.toggleProcessing.bind(this);\r\n eventsEngine.on(this._element, this._keydown, this._processFunction);\r\n eventsEngine.on(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.on(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n },\r\n dispose: function() {\r\n if (this._element) {\r\n eventsEngine.off(this._element, this._keydown, this._processFunction);\r\n eventsEngine.off(this._element, this._compositionStart, this._toggleProcessingWithContext);\r\n eventsEngine.off(this._element, this._compositionEnd, this._toggleProcessingWithContext)\r\n }\r\n this._element = void 0;\r\n this._handler = void 0\r\n },\r\n process: function(e) {\r\n this._handler(createKeyDownOptions(e))\r\n },\r\n toggleProcessing: function(_ref) {\r\n var {\r\n type: type\r\n } = _ref;\r\n this._isComposing = type === COMPOSITION_START_EVENT;\r\n this._isComposingJustFinished = !this._isComposing\r\n }\r\n});\r\nKeyboardProcessor.createKeyDownOptions = createKeyDownOptions;\r\nexport default KeyboardProcessor;\r\n","/**\r\n * DevExtreme (esm/core/element_data.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"./dom_adapter\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nvar dataMap = new WeakMap;\r\nvar strategy;\r\nexport var strategyChanging = new MemorizedCallbacks;\r\nvar beforeCleanDataFunc = function() {};\r\nvar afterCleanDataFunc = function() {};\r\nexport var setDataStrategy = function(value) {\r\n strategyChanging.fire(value);\r\n strategy = value;\r\n var cleanData = strategy.cleanData;\r\n strategy.cleanData = function(nodes) {\r\n beforeCleanDataFunc(nodes);\r\n var result = cleanData.call(this, nodes);\r\n afterCleanDataFunc(nodes);\r\n return result\r\n }\r\n};\r\nsetDataStrategy({\r\n data: function() {\r\n var element = arguments[0];\r\n var key = arguments[1];\r\n var value = arguments[2];\r\n if (!element) {\r\n return\r\n }\r\n var elementData = dataMap.get(element);\r\n if (!elementData) {\r\n elementData = {};\r\n dataMap.set(element, elementData)\r\n }\r\n if (void 0 === key) {\r\n return elementData\r\n }\r\n if (2 === arguments.length) {\r\n return elementData[key]\r\n }\r\n elementData[key] = value;\r\n return value\r\n },\r\n removeData: function(element, key) {\r\n if (!element) {\r\n return\r\n }\r\n if (void 0 === key) {\r\n dataMap.delete(element)\r\n } else {\r\n var elementData = dataMap.get(element);\r\n if (elementData) {\r\n delete elementData[key]\r\n }\r\n }\r\n },\r\n cleanData: function(elements) {\r\n for (var i = 0; i < elements.length; i++) {\r\n eventsEngine.off(elements[i]);\r\n dataMap.delete(elements[i])\r\n }\r\n }\r\n});\r\nexport function getDataStrategy() {\r\n return strategy\r\n}\r\nexport function data() {\r\n return strategy.data.apply(this, arguments)\r\n}\r\nexport function beforeCleanData(callback) {\r\n beforeCleanDataFunc = callback\r\n}\r\nexport function afterCleanData(callback) {\r\n afterCleanDataFunc = callback\r\n}\r\nexport function cleanData(nodes) {\r\n return strategy.cleanData.call(this, nodes)\r\n}\r\nexport function removeData(element, key) {\r\n return strategy.removeData.call(this, element, key)\r\n}\r\nexport function cleanDataRecursive(element, cleanSelf) {\r\n if (!domAdapter.isElementNode(element)) {\r\n return\r\n }\r\n var childElements = element.getElementsByTagName(\"*\");\r\n strategy.cleanData(childElements);\r\n if (cleanSelf) {\r\n strategy.cleanData([element])\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/errors.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../core/utils/error\";\r\nimport coreErrors from \"../core/errors\";\r\nexport var errors = errorUtils(coreErrors.ERROR_MESSAGES, {\r\n E4000: \"[DevExpress.data]: {0}\",\r\n E4001: \"Unknown aggregating function is detected: '{0}'\",\r\n E4002: \"Unsupported OData protocol version is used\",\r\n E4003: \"Unknown filter operation is used: {0}\",\r\n E4004: \"The thenby() method is called before the sortby() method\",\r\n E4005: \"Store requires a key expression for this operation\",\r\n E4006: \"ArrayStore 'data' option must be an array\",\r\n E4007: \"Compound keys cannot be auto-generated\",\r\n E4008: \"Attempt to insert an item with a duplicated key\",\r\n E4009: \"Data item cannot be found\",\r\n E4010: \"CustomStore does not support creating queries\",\r\n E4011: \"Custom Store method is not implemented or is not a function: {0}\",\r\n E4012: \"Custom Store method returns an invalid value: {0}\",\r\n E4013: \"Local Store requires the 'name' configuration option is specified\",\r\n E4014: \"Unknown data type is specified for ODataStore: {0}\",\r\n E4015: \"Unknown entity name or alias is used: {0}\",\r\n E4016: \"The compileSetter(expr) method is called with 'self' passed as a parameter\",\r\n E4017: \"Keys cannot be modified\",\r\n E4018: \"The server has returned a non-numeric value in a response to an item count request\",\r\n E4019: \"Mixing of group operators inside a single group of filter expression is not allowed\",\r\n E4020: \"Unknown store type is detected: {0}\",\r\n E4021: \"The server response does not provide the totalCount value\",\r\n E4022: \"The server response does not provide the groupCount value\",\r\n E4023: \"Could not parse the following XML: {0}\",\r\n E4024: \"String function {0} cannot be used with the data field {1} of type {2}.\",\r\n W4000: \"Data returned from the server has an incorrect structure\",\r\n W4001: 'The {0} field is listed in both \"keyType\" and \"fieldTypes\". The value of \"fieldTypes\" is used.',\r\n W4002: \"Data loading has failed for some cells due to the following error: {0}\"\r\n});\r\nexport var errorHandler = null;\r\nexport var handleError = function(error) {\r\n var _errorHandler;\r\n null === (_errorHandler = errorHandler) || void 0 === _errorHandler ? void 0 : _errorHandler(error)\r\n};\r\nexport var setErrorHandler = handler => errorHandler = handler;\r\n","/**\r\n * DevExtreme (esm/localization/utils.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n sign,\r\n multiplyInExponentialForm\r\n} from \"../core/utils/math\";\r\nvar DECIMAL_BASE = 10;\r\n\r\nfunction roundByAbs(value) {\r\n var valueSign = sign(value);\r\n return valueSign * Math.round(Math.abs(value))\r\n}\r\n\r\nfunction adjustValue(value, precision) {\r\n var precisionMultiplier = Math.pow(DECIMAL_BASE, precision);\r\n var intermediateValue = multiplyInExponentialForm(value, precision);\r\n return roundByAbs(intermediateValue) / precisionMultiplier\r\n}\r\nexport function toFixed(value, precision) {\r\n var valuePrecision = precision || 0;\r\n var adjustedValue = valuePrecision > 0 ? adjustValue(...arguments) : value;\r\n return adjustedValue.toFixed(valuePrecision)\r\n}\r\n","/**\r\n * DevExtreme (esm/__internal/ui/collection/m_data_controller.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"../../../core/utils/common\";\r\nimport {\r\n Deferred\r\n} from \"../../../core/utils/deferred\";\r\nvar DataControllerMock = {\r\n load: () => Deferred().reject(),\r\n loadSingle: () => Deferred().reject(),\r\n loadFromStore: () => Deferred().reject(),\r\n loadNextPage: () => Deferred().reject(),\r\n loadOptions: noop,\r\n userData: noop,\r\n cancel: noop,\r\n cancelAll: noop,\r\n filter: noop,\r\n addSearchFilter: noop,\r\n group: noop,\r\n paginate: noop,\r\n pageSize: noop,\r\n pageIndex: noop,\r\n resetDataSourcePageIndex: noop,\r\n totalCount: noop,\r\n isLastPage: noop,\r\n isLoading: noop,\r\n isLoaded: noop,\r\n searchValue: noop,\r\n searchOperation: noop,\r\n searchExpr: noop,\r\n select: noop,\r\n key: noop,\r\n keyOf: noop,\r\n store: noop,\r\n items: noop,\r\n applyMapFunction: noop,\r\n getDataSource: noop,\r\n reload: noop,\r\n on: noop,\r\n off: noop\r\n};\r\nclass DataController {\r\n constructor(dataSource) {\r\n if (!dataSource) {\r\n return DataControllerMock\r\n }\r\n this._dataSource = dataSource\r\n }\r\n load() {\r\n return this._dataSource.load()\r\n }\r\n loadSingle(propName, propValue) {\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = this.key()\r\n }\r\n return this._dataSource.loadSingle(propName, propValue)\r\n }\r\n loadFromStore(loadOptions) {\r\n return this.store().load(loadOptions)\r\n }\r\n loadNextPage() {\r\n this.pageIndex(1 + this.pageIndex());\r\n return this.load()\r\n }\r\n loadOptions() {\r\n return this._dataSource.loadOptions()\r\n }\r\n userData() {\r\n return this._dataSource._userData\r\n }\r\n cancel(operationId) {\r\n this._dataSource.cancel(operationId)\r\n }\r\n cancelAll() {\r\n this._dataSource.cancelAll()\r\n }\r\n filter(filter) {\r\n return this._dataSource.filter(filter)\r\n }\r\n addSearchFilter(storeLoadOptions) {\r\n this._dataSource._addSearchFilter(storeLoadOptions)\r\n }\r\n group(group) {\r\n return this._dataSource.group(group)\r\n }\r\n paginate() {\r\n return this._dataSource.paginate()\r\n }\r\n pageSize() {\r\n return this._dataSource._pageSize\r\n }\r\n pageIndex(pageIndex) {\r\n return this._dataSource.pageIndex(pageIndex)\r\n }\r\n resetDataSourcePageIndex() {\r\n if (this.pageIndex()) {\r\n this.pageIndex(0);\r\n this.load()\r\n }\r\n }\r\n totalCount() {\r\n return this._dataSource.totalCount()\r\n }\r\n isLastPage() {\r\n return this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n }\r\n isLoading() {\r\n return this._dataSource.isLoading()\r\n }\r\n isLoaded() {\r\n return this._dataSource.isLoaded()\r\n }\r\n searchValue(value) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchValue()\r\n }\r\n return this._dataSource.searchValue(value)\r\n }\r\n searchOperation(operation) {\r\n return this._dataSource.searchOperation(operation)\r\n }\r\n searchExpr(expr) {\r\n if (!arguments.length) {\r\n return this._dataSource.searchExpr()\r\n }\r\n return this._dataSource.searchExpr(expr)\r\n }\r\n select() {\r\n return this._dataSource.select(...arguments)\r\n }\r\n key() {\r\n return this._dataSource.key()\r\n }\r\n keyOf(item) {\r\n return this.store().keyOf(item)\r\n }\r\n store() {\r\n return this._dataSource.store()\r\n }\r\n items() {\r\n return this._dataSource.items()\r\n }\r\n applyMapFunction(data) {\r\n return this._dataSource._applyMapFunction(data)\r\n }\r\n getDataSource() {\r\n return this._dataSource || null\r\n }\r\n reload() {\r\n return this._dataSource.reload()\r\n }\r\n on(event, handler) {\r\n this._dataSource.on(event, handler)\r\n }\r\n off(event, handler) {\r\n this._dataSource.off(event, handler)\r\n }\r\n}\r\nexport default DataController;\r\n","/**\r\n * DevExtreme (esm/data_helper.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n DataSource\r\n} from \"./data/data_source/data_source\";\r\nimport {\r\n extend\r\n} from \"./core/utils/extend\";\r\nimport {\r\n normalizeDataSourceOptions\r\n} from \"./data/data_source/utils\";\r\nimport DataController from \"./__internal/ui/collection/m_data_controller\";\r\nvar DATA_SOURCE_OPTIONS_METHOD = \"_dataSourceOptions\";\r\nvar DATA_SOURCE_CHANGED_METHOD = \"_dataSourceChangedHandler\";\r\nvar DATA_SOURCE_LOAD_ERROR_METHOD = \"_dataSourceLoadErrorHandler\";\r\nvar DATA_SOURCE_LOADING_CHANGED_METHOD = \"_dataSourceLoadingChangedHandler\";\r\nvar DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD = \"_dataSourceFromUrlLoadMode\";\r\nvar SPECIFIC_DATA_SOURCE_OPTION = \"_getSpecificDataSourceOption\";\r\nvar NORMALIZE_DATA_SOURCE = \"_normalizeDataSource\";\r\nvar DataHelperMixin = {\r\n postCtor: function() {\r\n this.on(\"disposing\", function() {\r\n this._disposeDataSource()\r\n }.bind(this))\r\n },\r\n _refreshDataSource: function() {\r\n this._initDataSource();\r\n this._loadDataSource()\r\n },\r\n _initDataSource: function() {\r\n var dataSourceOptions = SPECIFIC_DATA_SOURCE_OPTION in this ? this[SPECIFIC_DATA_SOURCE_OPTION]() : this.option(\"dataSource\");\r\n var widgetDataSourceOptions;\r\n var dataSourceType;\r\n this._disposeDataSource();\r\n if (dataSourceOptions) {\r\n if (dataSourceOptions instanceof DataSource) {\r\n this._isSharedDataSource = true;\r\n this._dataSource = dataSourceOptions\r\n } else {\r\n widgetDataSourceOptions = DATA_SOURCE_OPTIONS_METHOD in this ? this[DATA_SOURCE_OPTIONS_METHOD]() : {};\r\n dataSourceType = this._dataSourceType ? this._dataSourceType() : DataSource;\r\n dataSourceOptions = normalizeDataSourceOptions(dataSourceOptions, {\r\n fromUrlLoadMode: DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD in this && this[DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD]()\r\n });\r\n this._dataSource = new dataSourceType(extend(true, {}, widgetDataSourceOptions, dataSourceOptions))\r\n }\r\n if (NORMALIZE_DATA_SOURCE in this) {\r\n this._dataSource = this[NORMALIZE_DATA_SOURCE](this._dataSource)\r\n }\r\n this._addDataSourceHandlers();\r\n this._initDataController()\r\n }\r\n },\r\n _initDataController: function() {\r\n var _this$option;\r\n var dataController = null === (_this$option = this.option) || void 0 === _this$option ? void 0 : _this$option.call(this, \"_dataController\");\r\n var dataSource = this._dataSource;\r\n if (dataController) {\r\n this._dataController = dataController\r\n } else {\r\n this._dataController = new DataController(dataSource)\r\n }\r\n },\r\n _addDataSourceHandlers: function() {\r\n if (DATA_SOURCE_CHANGED_METHOD in this) {\r\n this._addDataSourceChangeHandler()\r\n }\r\n if (DATA_SOURCE_LOAD_ERROR_METHOD in this) {\r\n this._addDataSourceLoadErrorHandler()\r\n }\r\n if (DATA_SOURCE_LOADING_CHANGED_METHOD in this) {\r\n this._addDataSourceLoadingChangedHandler()\r\n }\r\n this._addReadyWatcher()\r\n },\r\n _addReadyWatcher: function() {\r\n this.readyWatcher = function(isLoading) {\r\n this._ready && this._ready(!isLoading)\r\n }.bind(this);\r\n this._dataSource.on(\"loadingChanged\", this.readyWatcher)\r\n },\r\n _addDataSourceChangeHandler: function() {\r\n var dataSource = this._dataSource;\r\n this._proxiedDataSourceChangedHandler = function(e) {\r\n this[DATA_SOURCE_CHANGED_METHOD](dataSource.items(), e)\r\n }.bind(this);\r\n dataSource.on(\"changed\", this._proxiedDataSourceChangedHandler)\r\n },\r\n _addDataSourceLoadErrorHandler: function() {\r\n this._proxiedDataSourceLoadErrorHandler = this[DATA_SOURCE_LOAD_ERROR_METHOD].bind(this);\r\n this._dataSource.on(\"loadError\", this._proxiedDataSourceLoadErrorHandler)\r\n },\r\n _addDataSourceLoadingChangedHandler: function() {\r\n this._proxiedDataSourceLoadingChangedHandler = this[DATA_SOURCE_LOADING_CHANGED_METHOD].bind(this);\r\n this._dataSource.on(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler)\r\n },\r\n _loadDataSource: function() {\r\n var dataSource = this._dataSource;\r\n if (dataSource) {\r\n if (dataSource.isLoaded()) {\r\n this._proxiedDataSourceChangedHandler && this._proxiedDataSourceChangedHandler()\r\n } else {\r\n dataSource.load()\r\n }\r\n }\r\n },\r\n _loadSingle: function(key, value) {\r\n key = \"this\" === key ? this._dataSource.key() || \"this\" : key;\r\n return this._dataSource.loadSingle(key, value)\r\n },\r\n _isLastPage: function() {\r\n return !this._dataSource || this._dataSource.isLastPage() || !this._dataSource._pageSize\r\n },\r\n _isDataSourceLoading: function() {\r\n return this._dataSource && this._dataSource.isLoading()\r\n },\r\n _disposeDataSource: function() {\r\n if (this._dataSource) {\r\n if (this._isSharedDataSource) {\r\n delete this._isSharedDataSource;\r\n this._proxiedDataSourceChangedHandler && this._dataSource.off(\"changed\", this._proxiedDataSourceChangedHandler);\r\n this._proxiedDataSourceLoadErrorHandler && this._dataSource.off(\"loadError\", this._proxiedDataSourceLoadErrorHandler);\r\n this._proxiedDataSourceLoadingChangedHandler && this._dataSource.off(\"loadingChanged\", this._proxiedDataSourceLoadingChangedHandler);\r\n if (this._dataSource._eventsStrategy) {\r\n this._dataSource._eventsStrategy.off(\"loadingChanged\", this.readyWatcher)\r\n }\r\n } else {\r\n this._dataSource.dispose()\r\n }\r\n delete this._dataSource;\r\n delete this._proxiedDataSourceChangedHandler;\r\n delete this._proxiedDataSourceLoadErrorHandler;\r\n delete this._proxiedDataSourceLoadingChangedHandler\r\n }\r\n },\r\n getDataSource: function() {\r\n return this._dataSource || null\r\n }\r\n};\r\nexport default DataHelperMixin;\r\n","/**\r\n * DevExtreme (esm/core/utils/dom.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isRenderer,\r\n isWindow,\r\n isString\r\n} from \"./type\";\r\nimport {\r\n getWindow\r\n} from \"./window\";\r\nvar window = getWindow();\r\nvar getRootNodeHost = element => {\r\n if (!element.getRootNode) {\r\n return\r\n }\r\n var host = element.getRootNode().host;\r\n if (isString(host)) {\r\n return\r\n }\r\n return host\r\n};\r\nexport var resetActiveElement = () => {\r\n var activeElement = domAdapter.getActiveElement();\r\n if (activeElement && activeElement !== domAdapter.getBody()) {\r\n var _activeElement$blur;\r\n null === (_activeElement$blur = activeElement.blur) || void 0 === _activeElement$blur ? void 0 : _activeElement$blur.call(activeElement)\r\n }\r\n};\r\nexport var clearSelection = () => {\r\n var selection = window.getSelection();\r\n if (!selection) {\r\n return\r\n }\r\n if (\"Caret\" === selection.type) {\r\n return\r\n }\r\n if (selection.empty) {\r\n selection.empty()\r\n } else if (selection.removeAllRanges) {\r\n try {\r\n selection.removeAllRanges()\r\n } catch (e) {}\r\n }\r\n};\r\nexport var closestCommonParent = (startTarget, endTarget) => {\r\n var $startTarget = $(startTarget);\r\n var $endTarget = $(endTarget);\r\n if ($startTarget[0] === $endTarget[0]) {\r\n return $startTarget[0]\r\n }\r\n var $startParents = $startTarget.parents();\r\n var $endParents = $endTarget.parents();\r\n var startingParent = Math.min($startParents.length, $endParents.length);\r\n for (var i = -startingParent; i < 0; i++) {\r\n if ($startParents.get(i) === $endParents.get(i)) {\r\n return $startParents.get(i)\r\n }\r\n }\r\n};\r\nexport var extractTemplateMarkup = element => {\r\n element = $(element);\r\n var templateTag = element.length && element.filter((function() {\r\n var $node = $(this);\r\n return $node.is(\"script[type]\") && $node.attr(\"type\").indexOf(\"script\") < 0\r\n }));\r\n if (templateTag.length) {\r\n return templateTag.eq(0).html()\r\n } else {\r\n element = $(\"
\").append(element);\r\n return element.html()\r\n }\r\n};\r\nexport var normalizeTemplateElement = element => {\r\n var $element = isDefined(element) && (element.nodeType || isRenderer(element)) ? $(element) : $(\"
\").html(element).contents();\r\n if (1 === $element.length) {\r\n if ($element.is(\"script\")) {\r\n $element = normalizeTemplateElement($element.html().trim())\r\n } else if ($element.is(\"table\")) {\r\n $element = $element.children(\"tbody\").contents()\r\n }\r\n }\r\n return $element\r\n};\r\nexport var clipboardText = (event, text) => {\r\n var clipboard = event.originalEvent && event.originalEvent.clipboardData || window.clipboardData;\r\n if (!text) {\r\n return clipboard && clipboard.getData(\"Text\")\r\n }\r\n clipboard && clipboard.setData(\"Text\", text)\r\n};\r\nexport var contains = (container, element) => {\r\n if (!element) {\r\n return false\r\n }\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains(element) || contains(container, getRootNodeHost(element))\r\n};\r\nexport var createTextElementHiddenCopy = (element, text, options) => {\r\n var elementStyles = window.getComputedStyle($(element).get(0));\r\n var includePaddings = options && options.includePaddings;\r\n return $(\"
\").text(text).css({\r\n fontStyle: elementStyles.fontStyle,\r\n fontVariant: elementStyles.fontVariant,\r\n fontWeight: elementStyles.fontWeight,\r\n fontSize: elementStyles.fontSize,\r\n fontFamily: elementStyles.fontFamily,\r\n letterSpacing: elementStyles.letterSpacing,\r\n border: elementStyles.border,\r\n paddingTop: includePaddings ? elementStyles.paddingTop : \"\",\r\n paddingRight: includePaddings ? elementStyles.paddingRight : \"\",\r\n paddingBottom: includePaddings ? elementStyles.paddingBottom : \"\",\r\n paddingLeft: includePaddings ? elementStyles.paddingLeft : \"\",\r\n visibility: \"hidden\",\r\n whiteSpace: \"pre\",\r\n position: \"absolute\",\r\n float: \"left\"\r\n })\r\n};\r\nexport var insertBefore = (element, newElement) => {\r\n if (newElement) {\r\n domAdapter.insertElement(element.parentNode, newElement, element)\r\n }\r\n return element\r\n};\r\nexport var replaceWith = (element, newElement) => {\r\n if (!(newElement && newElement[0])) {\r\n return\r\n }\r\n if (newElement.is(element)) {\r\n return element\r\n }\r\n each(newElement, (_, currentElement) => {\r\n insertBefore(element[0], currentElement)\r\n });\r\n element.remove();\r\n return newElement\r\n};\r\nexport var isElementInDom = $element => {\r\n var element = null === $element || void 0 === $element ? void 0 : $element.get(0);\r\n var shadowHost = null === element || void 0 === element ? void 0 : element.getRootNode().host;\r\n return !!$(shadowHost || element).closest(getWindow().document).length\r\n};\r\n","/**\r\n * DevExtreme (esm/core/config.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport errors from \"./errors\";\r\nvar config = {\r\n rtlEnabled: false,\r\n defaultCurrency: \"USD\",\r\n defaultUseCurrencyAccountingStyle: true,\r\n oDataFilterToLower: true,\r\n serverDecimalSeparator: \".\",\r\n decimalSeparator: \".\",\r\n thousandsSeparator: \",\",\r\n forceIsoDateParsing: true,\r\n wrapActionsBeforeExecute: true,\r\n useLegacyStoreResult: false,\r\n useJQuery: void 0,\r\n editorStylingMode: void 0,\r\n useLegacyVisibleIndex: false,\r\n floatingActionButtonConfig: {\r\n icon: \"add\",\r\n closeIcon: \"close\",\r\n label: \"\",\r\n position: {\r\n at: \"right bottom\",\r\n my: \"right bottom\",\r\n offset: {\r\n x: -16,\r\n y: -16\r\n }\r\n },\r\n maxSpeedDialActionCount: 5,\r\n shading: false,\r\n direction: \"auto\"\r\n },\r\n optionsParser: optionsString => {\r\n if (\"{\" !== optionsString.trim().charAt(0)) {\r\n optionsString = \"{\" + optionsString + \"}\"\r\n }\r\n try {\r\n return JSON.parse(optionsString)\r\n } catch (ex) {\r\n try {\r\n return JSON.parse(normalizeToJSONString(optionsString))\r\n } catch (exNormalize) {\r\n throw errors.Error(\"E3018\", ex, optionsString)\r\n }\r\n }\r\n }\r\n};\r\nvar normalizeToJSONString = optionsString => optionsString.replace(/'/g, '\"').replace(/,\\s*([\\]}])/g, \"$1\").replace(/([{,])\\s*([^\":\\s]+)\\s*:/g, '$1\"$2\":');\r\nvar deprecatedFields = [\"decimalSeparator\", \"thousandsSeparator\"];\r\nvar configMethod = function() {\r\n if (!arguments.length) {\r\n return config\r\n }\r\n var newConfig = arguments.length <= 0 ? void 0 : arguments[0];\r\n deprecatedFields.forEach(deprecatedField => {\r\n if (newConfig[deprecatedField]) {\r\n var message = \"Now, the \".concat(deprecatedField, \" is selected based on the specified locale.\");\r\n errors.log(\"W0003\", \"config\", deprecatedField, \"19.2\", message)\r\n }\r\n });\r\n extend(config, newConfig)\r\n};\r\nif (\"undefined\" !== typeof DevExpress && DevExpress.config) {\r\n configMethod(DevExpress.config)\r\n}\r\nexport default configMethod;\r\n","/**\r\n * DevExtreme (esm/data/array_store.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\nimport Query from \"./query\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport {\r\n indexByKey,\r\n insert,\r\n applyBatch,\r\n update,\r\n remove\r\n} from \"./array_utils\";\r\nvar ArrayStore = Store.inherit({\r\n ctor: function(options) {\r\n if (Array.isArray(options)) {\r\n options = {\r\n data: options\r\n }\r\n } else {\r\n options = options || {}\r\n }\r\n this.callBase(options);\r\n var initialArray = options.data;\r\n if (initialArray && !Array.isArray(initialArray)) {\r\n throw errors.Error(\"E4006\")\r\n }\r\n this._array = initialArray || []\r\n },\r\n createQuery: function() {\r\n return Query(this._array, {\r\n errorHandler: this._errorHandler\r\n })\r\n },\r\n _byKeyImpl: function(key) {\r\n var index = indexByKey(this, this._array, key);\r\n if (-1 === index) {\r\n return rejectedPromise(errors.Error(\"E4009\"))\r\n }\r\n return trivialPromise(this._array[index])\r\n },\r\n _insertImpl: function(values) {\r\n return insert(this, this._array, values)\r\n },\r\n _pushImpl: function(changes) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this._array,\r\n changes: changes\r\n })\r\n },\r\n _updateImpl: function(key, values) {\r\n return update(this, this._array, key, values)\r\n },\r\n _removeImpl: function(key) {\r\n return remove(this, this._array, key)\r\n },\r\n clear: function() {\r\n this._eventsStrategy.fireEvent(\"modifying\");\r\n this._array = [];\r\n this._eventsStrategy.fireEvent(\"modified\")\r\n }\r\n}, \"array\");\r\nexport default ArrayStore;\r\n","/**\r\n * DevExtreme (esm/core/utils/queue.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport {\r\n when\r\n} from \"../../core/utils/deferred\";\r\n\r\nfunction createQueue(discardPendingTasks) {\r\n var _tasks = [];\r\n var _busy = false;\r\n\r\n function exec() {\r\n while (_tasks.length) {\r\n _busy = true;\r\n var task = _tasks.shift();\r\n var result = task();\r\n if (void 0 === result) {\r\n continue\r\n }\r\n if (result.then) {\r\n when(result).always(exec);\r\n return\r\n }\r\n throw errors.Error(\"E0015\")\r\n }\r\n _busy = false\r\n }\r\n return {\r\n add: function(task, removeTaskCallback) {\r\n if (!discardPendingTasks) {\r\n _tasks.push(task)\r\n } else {\r\n if (_tasks[0] && removeTaskCallback) {\r\n removeTaskCallback(_tasks[0])\r\n }\r\n _tasks = [task]\r\n }\r\n if (!_busy) {\r\n exec()\r\n }\r\n },\r\n busy: function() {\r\n return _busy\r\n }\r\n }\r\n}\r\nexport {\r\n createQueue as create\r\n};\r\nexport var enqueue = createQueue().add;\r\n","/**\r\n * DevExtreme (esm/data/data_source/operation_manager.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n CANCELED_TOKEN\r\n} from \"./utils\";\r\nexport default class OperationManager {\r\n constructor() {\r\n this._counter = -1;\r\n this._deferreds = {}\r\n }\r\n add(deferred) {\r\n this._counter++;\r\n this._deferreds[this._counter] = deferred;\r\n return this._counter\r\n }\r\n remove(operationId) {\r\n return delete this._deferreds[operationId]\r\n }\r\n cancel(operationId) {\r\n if (operationId in this._deferreds) {\r\n this._deferreds[operationId].reject(CANCELED_TOKEN);\r\n return true\r\n }\r\n return false\r\n }\r\n cancelAll() {\r\n while (this._counter > -1) {\r\n this.cancel(this._counter);\r\n this._counter--\r\n }\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/data_source/data_source.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n executeAsync\r\n} from \"../../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n isString,\r\n isNumeric,\r\n isBoolean,\r\n isDefined,\r\n isObject,\r\n isEmptyObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n throttleChanges\r\n} from \"../utils\";\r\nimport {\r\n applyBatch\r\n} from \"../array_utils\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n EventsStrategy\r\n} from \"../../core/events_strategy\";\r\nimport {\r\n errors\r\n} from \"../errors\";\r\nimport {\r\n create\r\n} from \"../../core/utils/queue\";\r\nimport {\r\n Deferred,\r\n when\r\n} from \"../../core/utils/deferred\";\r\nimport OperationManager from \"./operation_manager\";\r\nimport {\r\n normalizeDataSourceOptions,\r\n normalizeStoreLoadOptionAccessorArguments,\r\n CANCELED_TOKEN,\r\n isPending,\r\n normalizeLoadResult,\r\n mapDataRespectingGrouping\r\n} from \"./utils\";\r\nexport var DataSource = Class.inherit({\r\n ctor(options) {\r\n var _options$reshapeOnPus;\r\n options = normalizeDataSourceOptions(options);\r\n this._eventsStrategy = new EventsStrategy(this, {\r\n syncStrategy: true\r\n });\r\n this._store = options.store;\r\n this._changedTime = 0;\r\n var needThrottling = 0 !== options.pushAggregationTimeout;\r\n if (needThrottling) {\r\n var throttlingTimeout = void 0 === options.pushAggregationTimeout ? () => 5 * this._changedTime : options.pushAggregationTimeout;\r\n var pushDeferred;\r\n var lastPushWaiters;\r\n var throttlingPushHandler = throttleChanges(changes => {\r\n pushDeferred.resolve();\r\n var storePushPending = when(...lastPushWaiters);\r\n storePushPending.done(() => this._onPush(changes));\r\n lastPushWaiters = void 0;\r\n pushDeferred = void 0\r\n }, throttlingTimeout);\r\n this._onPushHandler = args => {\r\n this._aggregationTimeoutId = throttlingPushHandler(args.changes);\r\n if (!pushDeferred) {\r\n pushDeferred = new Deferred\r\n }\r\n lastPushWaiters = args.waitFor;\r\n args.waitFor.push(pushDeferred.promise())\r\n };\r\n this._store.on(\"beforePushAggregation\", this._onPushHandler)\r\n } else {\r\n this._onPushHandler = changes => this._onPush(changes);\r\n this._store.on(\"push\", this._onPushHandler)\r\n }\r\n this._storeLoadOptions = this._extractLoadOptions(options);\r\n this._mapFunc = options.map;\r\n this._postProcessFunc = options.postProcess;\r\n this._pageIndex = void 0 !== options.pageIndex ? options.pageIndex : 0;\r\n this._pageSize = void 0 !== options.pageSize ? options.pageSize : 20;\r\n this._loadingCount = 0;\r\n this._loadQueue = this._createLoadQueue();\r\n this._searchValue = \"searchValue\" in options ? options.searchValue : null;\r\n this._searchOperation = options.searchOperation || \"contains\";\r\n this._searchExpr = options.searchExpr;\r\n this._paginate = options.paginate;\r\n this._reshapeOnPush = null !== (_options$reshapeOnPus = options.reshapeOnPush) && void 0 !== _options$reshapeOnPus ? _options$reshapeOnPus : false;\r\n each([\"onChanged\", \"onLoadError\", \"onLoadingChanged\", \"onCustomizeLoadResult\", \"onCustomizeStoreLoadOptions\"], (_, optionName) => {\r\n if (optionName in options) {\r\n this.on(optionName.substr(2, 1).toLowerCase() + optionName.substr(3), options[optionName])\r\n }\r\n });\r\n this._operationManager = new OperationManager;\r\n this._init()\r\n },\r\n _init() {\r\n this._items = [];\r\n this._userData = {};\r\n this._totalCount = -1;\r\n this._isLoaded = false;\r\n if (!isDefined(this._paginate)) {\r\n this._paginate = !this.group()\r\n }\r\n this._isLastPage = !this._paginate\r\n },\r\n dispose() {\r\n var _this$_delayedLoadTas;\r\n this._store.off(\"beforePushAggregation\", this._onPushHandler);\r\n this._store.off(\"push\", this._onPushHandler);\r\n this._eventsStrategy.dispose();\r\n clearTimeout(this._aggregationTimeoutId);\r\n null === (_this$_delayedLoadTas = this._delayedLoadTask) || void 0 === _this$_delayedLoadTas ? void 0 : _this$_delayedLoadTas.abort();\r\n this._operationManager.cancelAll();\r\n delete this._store;\r\n delete this._items;\r\n delete this._delayedLoadTask;\r\n this._disposed = true\r\n },\r\n _extractLoadOptions(options) {\r\n var result = {};\r\n var names = [\"sort\", \"filter\", \"langParams\", \"select\", \"group\", \"requireTotalCount\"];\r\n var customNames = this._store._customLoadOptions();\r\n if (customNames) {\r\n names = names.concat(customNames)\r\n }\r\n each(names, (function() {\r\n result[this] = options[this]\r\n }));\r\n return result\r\n },\r\n loadOptions() {\r\n return this._storeLoadOptions\r\n },\r\n items() {\r\n return this._items\r\n },\r\n pageIndex(newIndex) {\r\n if (!isNumeric(newIndex)) {\r\n return this._pageIndex\r\n }\r\n this._pageIndex = newIndex;\r\n this._isLastPage = !this._paginate\r\n },\r\n paginate(value) {\r\n if (!isBoolean(value)) {\r\n return this._paginate\r\n }\r\n if (this._paginate !== value) {\r\n this._paginate = value;\r\n this.pageIndex(0)\r\n }\r\n },\r\n pageSize(value) {\r\n if (!isNumeric(value)) {\r\n return this._pageSize\r\n }\r\n this._pageSize = value\r\n },\r\n isLastPage() {\r\n return this._isLastPage\r\n },\r\n generateStoreLoadOptionAccessor(optionName) {\r\n return args => {\r\n var normalizedArgs = normalizeStoreLoadOptionAccessorArguments(args);\r\n if (void 0 === normalizedArgs) {\r\n return this._storeLoadOptions[optionName]\r\n }\r\n this._storeLoadOptions[optionName] = normalizedArgs\r\n }\r\n },\r\n sort() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"sort\")(args)\r\n },\r\n filter() {\r\n var newFilter = normalizeStoreLoadOptionAccessorArguments(arguments);\r\n if (void 0 === newFilter) {\r\n return this._storeLoadOptions.filter\r\n }\r\n this._storeLoadOptions.filter = newFilter;\r\n this.pageIndex(0)\r\n },\r\n group() {\r\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\r\n args[_key2] = arguments[_key2]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"group\")(args)\r\n },\r\n select() {\r\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\r\n args[_key3] = arguments[_key3]\r\n }\r\n return this.generateStoreLoadOptionAccessor(\"select\")(args)\r\n },\r\n requireTotalCount(value) {\r\n if (!isBoolean(value)) {\r\n return this._storeLoadOptions.requireTotalCount\r\n }\r\n this._storeLoadOptions.requireTotalCount = value\r\n },\r\n searchValue(value) {\r\n if (arguments.length < 1) {\r\n return this._searchValue\r\n }\r\n this._searchValue = value;\r\n this.pageIndex(0)\r\n },\r\n searchOperation(op) {\r\n if (!isString(op)) {\r\n return this._searchOperation\r\n }\r\n this._searchOperation = op;\r\n this.pageIndex(0)\r\n },\r\n searchExpr(expr) {\r\n var argc = arguments.length;\r\n if (0 === argc) {\r\n return this._searchExpr\r\n }\r\n if (argc > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n this._searchExpr = expr;\r\n this.pageIndex(0)\r\n },\r\n store() {\r\n return this._store\r\n },\r\n key() {\r\n var _this$_store;\r\n return null === (_this$_store = this._store) || void 0 === _this$_store ? void 0 : _this$_store.key()\r\n },\r\n totalCount() {\r\n return this._totalCount\r\n },\r\n isLoaded() {\r\n return this._isLoaded\r\n },\r\n isLoading() {\r\n return this._loadingCount > 0\r\n },\r\n beginLoading() {\r\n this._changeLoadingCount(1)\r\n },\r\n endLoading() {\r\n this._changeLoadingCount(-1)\r\n },\r\n _createLoadQueue: () => create(),\r\n _changeLoadingCount(increment) {\r\n var oldLoading = this.isLoading();\r\n this._loadingCount += increment;\r\n var newLoading = this.isLoading();\r\n if (oldLoading ^ newLoading) {\r\n this._eventsStrategy.fireEvent(\"loadingChanged\", [newLoading])\r\n }\r\n },\r\n _scheduleLoadCallbacks(deferred) {\r\n this.beginLoading();\r\n deferred.always(() => {\r\n this.endLoading()\r\n })\r\n },\r\n _scheduleFailCallbacks(deferred) {\r\n var _this = this;\r\n deferred.fail((function() {\r\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\r\n args[_key4] = arguments[_key4]\r\n }\r\n if (args[0] === CANCELED_TOKEN) {\r\n return\r\n }\r\n _this._eventsStrategy.fireEvent(\"loadError\", args)\r\n }))\r\n },\r\n _fireChanged(args) {\r\n var date = new Date;\r\n this._eventsStrategy.fireEvent(\"changed\", args);\r\n this._changedTime = new Date - date\r\n },\r\n _scheduleChangedCallbacks(deferred) {\r\n deferred.done(() => this._fireChanged())\r\n },\r\n loadSingle(propName, propValue) {\r\n var d = new Deferred;\r\n var key = this.key();\r\n var store = this._store;\r\n var options = this._createStoreLoadOptions();\r\n this._scheduleFailCallbacks(d);\r\n if (arguments.length < 2) {\r\n propValue = propName;\r\n propName = key\r\n }\r\n delete options.skip;\r\n delete options.group;\r\n delete options.refresh;\r\n delete options.pageIndex;\r\n delete options.searchString;\r\n (() => {\r\n if (propName === key || store instanceof CustomStore && !store._byKeyViaLoad()) {\r\n return store.byKey(propValue, options)\r\n }\r\n options.take = 1;\r\n options.filter = options.filter ? [options.filter, [propName, propValue]] : [propName, propValue];\r\n return store.load(options)\r\n })().fail(d.reject).done(data => {\r\n var isEmptyArray = Array.isArray(data) && !data.length;\r\n if (!isDefined(data) || isEmptyArray) {\r\n d.reject(new errors.Error(\"E4009\"))\r\n } else {\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n d.resolve(this._applyMapFunction(data)[0])\r\n }\r\n });\r\n return d.promise()\r\n },\r\n load() {\r\n var d = new Deferred;\r\n var loadTask = () => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(d)) {\r\n return\r\n }\r\n return this._loadFromStore(loadOperation, d)\r\n };\r\n this._scheduleLoadCallbacks(d);\r\n this._scheduleFailCallbacks(d);\r\n this._scheduleChangedCallbacks(d);\r\n var loadOperation = this._createLoadOperation(d);\r\n this._eventsStrategy.fireEvent(\"customizeStoreLoadOptions\", [loadOperation]);\r\n this._loadQueue.add(() => {\r\n if (\"number\" === typeof loadOperation.delay) {\r\n this._delayedLoadTask = executeAsync(loadTask, loadOperation.delay)\r\n } else {\r\n loadTask()\r\n }\r\n return d.promise()\r\n });\r\n return d.promise({\r\n operationId: loadOperation.operationId\r\n })\r\n },\r\n _onPush(changes) {\r\n if (this._reshapeOnPush) {\r\n this.load()\r\n } else {\r\n var changingArgs = {\r\n changes: changes\r\n };\r\n this._eventsStrategy.fireEvent(\"changing\", [changingArgs]);\r\n var group = this.group();\r\n var items = this.items();\r\n var groupLevel = 0;\r\n var dataSourceChanges = this.paginate() || group ? changes.filter(item => \"update\" === item.type) : changes;\r\n if (group) {\r\n groupLevel = Array.isArray(group) ? group.length : 1\r\n }\r\n if (this._mapFunc) {\r\n dataSourceChanges.forEach(item => {\r\n if (\"insert\" === item.type) {\r\n item.data = this._mapFunc(item.data)\r\n }\r\n })\r\n }\r\n if (changingArgs.postProcessChanges) {\r\n dataSourceChanges = changingArgs.postProcessChanges(dataSourceChanges)\r\n }\r\n applyBatch({\r\n keyInfo: this.store(),\r\n data: items,\r\n changes: dataSourceChanges,\r\n groupCount: groupLevel,\r\n useInsertIndex: true\r\n });\r\n this._fireChanged([{\r\n changes: changes\r\n }])\r\n }\r\n },\r\n _createLoadOperation(deferred) {\r\n var operationId = this._operationManager.add(deferred);\r\n var storeLoadOptions = this._createStoreLoadOptions();\r\n if (this._store && !isEmptyObject(null === storeLoadOptions || void 0 === storeLoadOptions ? void 0 : storeLoadOptions.langParams)) {\r\n this._store._langParams = _extends({}, this._store._langParams, storeLoadOptions.langParams)\r\n }\r\n deferred.always(() => this._operationManager.remove(operationId));\r\n return {\r\n operationId: operationId,\r\n storeLoadOptions: storeLoadOptions\r\n }\r\n },\r\n reload() {\r\n var store = this.store();\r\n store._clearCache();\r\n this._init();\r\n return this.load()\r\n },\r\n cancel(operationId) {\r\n return this._operationManager.cancel(operationId)\r\n },\r\n cancelAll() {\r\n return this._operationManager.cancelAll()\r\n },\r\n _addSearchOptions(storeLoadOptions) {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (this.store()._useDefaultSearch) {\r\n this._addSearchFilter(storeLoadOptions)\r\n } else {\r\n storeLoadOptions.searchOperation = this._searchOperation;\r\n storeLoadOptions.searchValue = this._searchValue;\r\n storeLoadOptions.searchExpr = this._searchExpr\r\n }\r\n },\r\n _createStoreLoadOptions() {\r\n var result = extend({}, this._storeLoadOptions);\r\n this._addSearchOptions(result);\r\n if (this._paginate) {\r\n if (this._pageSize) {\r\n result.skip = this._pageIndex * this._pageSize;\r\n result.take = this._pageSize\r\n }\r\n }\r\n result.userData = this._userData;\r\n return result\r\n },\r\n _addSearchFilter(storeLoadOptions) {\r\n var value = this._searchValue;\r\n var op = this._searchOperation;\r\n var selector = this._searchExpr;\r\n var searchFilter = [];\r\n if (!value) {\r\n return\r\n }\r\n if (!selector) {\r\n selector = \"this\"\r\n }\r\n if (!Array.isArray(selector)) {\r\n selector = [selector]\r\n }\r\n each(selector, (function(i, item) {\r\n if (searchFilter.length) {\r\n searchFilter.push(\"or\")\r\n }\r\n searchFilter.push([item, op, value])\r\n }));\r\n if (storeLoadOptions.filter) {\r\n storeLoadOptions.filter = [searchFilter, storeLoadOptions.filter]\r\n } else {\r\n storeLoadOptions.filter = searchFilter\r\n }\r\n },\r\n _loadFromStore(loadOptions, pendingDeferred) {\r\n var handleSuccess = (data, extra) => {\r\n if (this._disposed) {\r\n return\r\n }\r\n if (!isPending(pendingDeferred)) {\r\n return\r\n }\r\n var loadResult = extend(normalizeLoadResult(data, extra), loadOptions);\r\n this._eventsStrategy.fireEvent(\"customizeLoadResult\", [loadResult]);\r\n when(loadResult.data).done(data => {\r\n loadResult.data = data;\r\n this._processStoreLoadResult(loadResult, pendingDeferred)\r\n }).fail(pendingDeferred.reject)\r\n };\r\n if (loadOptions.data) {\r\n return (new Deferred).resolve(loadOptions.data).done(handleSuccess)\r\n }\r\n return this.store().load(loadOptions.storeLoadOptions).done(handleSuccess).fail(pendingDeferred.reject)\r\n },\r\n _processStoreLoadResult(loadResult, pendingDeferred) {\r\n var data = loadResult.data;\r\n var extra = loadResult.extra;\r\n var storeLoadOptions = loadResult.storeLoadOptions;\r\n var resolvePendingDeferred = () => {\r\n this._isLoaded = true;\r\n this._totalCount = isFinite(extra.totalCount) ? extra.totalCount : -1;\r\n return pendingDeferred.resolve(data, extra)\r\n };\r\n if (this._disposed) {\r\n return\r\n }\r\n data = this._applyPostProcessFunction(this._applyMapFunction(data));\r\n if (!isObject(extra)) {\r\n extra = {}\r\n }\r\n this._items = data;\r\n if (!data.length || !this._paginate || this._pageSize && data.length < this._pageSize) {\r\n this._isLastPage = true\r\n }\r\n if (storeLoadOptions.requireTotalCount && !isFinite(extra.totalCount)) {\r\n (() => {\r\n this.store().totalCount(storeLoadOptions).done((function(count) {\r\n extra.totalCount = count;\r\n resolvePendingDeferred()\r\n })).fail(pendingDeferred.reject)\r\n })()\r\n } else {\r\n resolvePendingDeferred()\r\n }\r\n },\r\n _applyMapFunction(data) {\r\n if (this._mapFunc) {\r\n return mapDataRespectingGrouping(data, this._mapFunc, this.group())\r\n }\r\n return data\r\n },\r\n _applyPostProcessFunction(data) {\r\n if (this._postProcessFunc) {\r\n return this._postProcessFunc(data)\r\n }\r\n return data\r\n },\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n },\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/events/core/event_registrator.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport callbacks from \"./event_registrator_callbacks\";\r\nvar registerEvent = function(name, eventObject) {\r\n var strategy = {};\r\n if (\"noBubble\" in eventObject) {\r\n strategy.noBubble = eventObject.noBubble\r\n }\r\n if (\"bindType\" in eventObject) {\r\n strategy.bindType = eventObject.bindType\r\n }\r\n if (\"delegateType\" in eventObject) {\r\n strategy.delegateType = eventObject.delegateType\r\n }\r\n each([\"setup\", \"teardown\", \"add\", \"remove\", \"trigger\", \"handle\", \"_default\", \"dispose\"], (function(_, methodName) {\r\n if (!eventObject[methodName]) {\r\n return\r\n }\r\n strategy[methodName] = function() {\r\n var args = [].slice.call(arguments);\r\n args.unshift(this);\r\n return eventObject[methodName].apply(eventObject, args)\r\n }\r\n }));\r\n callbacks.fire(name, strategy)\r\n};\r\nregisterEvent.callbacks = callbacks;\r\nexport default registerEvent;\r\n","/**\r\n * DevExtreme (esm/core/component_registrator_callbacks.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"./memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/component_registrator.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport callbacks from \"./component_registrator_callbacks\";\r\nimport errors from \"./errors\";\r\nimport {\r\n name as publicComponentName\r\n} from \"./utils/public_component\";\r\nvar registerComponent = function(name, namespace, componentClass) {\r\n if (!componentClass) {\r\n componentClass = namespace\r\n } else {\r\n namespace[name] = componentClass\r\n }\r\n publicComponentName(componentClass, name);\r\n callbacks.fire(name, componentClass)\r\n};\r\nvar registerRendererComponent = function(name, componentClass) {\r\n $.fn[name] = function(options) {\r\n var isMemberInvoke = \"string\" === typeof options;\r\n var result;\r\n if (isMemberInvoke) {\r\n var memberName = options;\r\n var memberArgs = [].slice.call(arguments).slice(1);\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (!instance) {\r\n throw errors.Error(\"E0009\", name)\r\n }\r\n var member = instance[memberName];\r\n var memberValue = member.apply(instance, memberArgs);\r\n if (void 0 === result) {\r\n result = memberValue\r\n }\r\n }))\r\n } else {\r\n this.each((function() {\r\n var instance = componentClass.getInstance(this);\r\n if (instance) {\r\n instance.option(options)\r\n } else {\r\n new componentClass(this, options)\r\n }\r\n }));\r\n result = this\r\n }\r\n return result\r\n }\r\n};\r\ncallbacks.add(registerRendererComponent);\r\nexport default registerComponent;\r\n","/**\r\n * DevExtreme (esm/events/core/hook_touch_props.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar touchPropsToHook = [\"pageX\", \"pageY\", \"screenX\", \"screenY\", \"clientX\", \"clientY\"];\r\nvar touchPropHook = function(name, event) {\r\n if (event[name] && !event.touches || !event.touches) {\r\n return event[name]\r\n }\r\n var touches = event.touches.length ? event.touches : event.changedTouches;\r\n if (!touches.length) {\r\n return\r\n }\r\n return touches[0][name]\r\n};\r\nexport default function(callback) {\r\n touchPropsToHook.forEach((function(name) {\r\n callback(name, (function(event) {\r\n return touchPropHook(name, event)\r\n }))\r\n }), this)\r\n}\r\n","/**\r\n * DevExtreme (esm/events/core/events_engine.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport registerEventCallbacks from \"./event_registrator_callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"../../core/utils/dependency_injector\";\r\nimport {\r\n isWindow,\r\n isFunction,\r\n isString,\r\n isObject\r\n} from \"../../core/utils/type\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport errors from \"../../core/errors\";\r\nimport hookTouchProps from \"../../events/core/hook_touch_props\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nvar EMPTY_EVENT_NAME = \"dxEmptyEventType\";\r\nvar NATIVE_EVENTS_TO_SUBSCRIBE = {\r\n mouseenter: \"mouseover\",\r\n mouseleave: \"mouseout\",\r\n pointerenter: \"pointerover\",\r\n pointerleave: \"pointerout\"\r\n};\r\nvar NATIVE_EVENTS_TO_TRIGGER = {\r\n focusin: \"focus\",\r\n focusout: \"blur\"\r\n};\r\nvar NO_BUBBLE_EVENTS = [\"blur\", \"focus\", \"load\"];\r\nvar forcePassiveFalseEventNames = [\"touchmove\", \"wheel\", \"mousewheel\", \"touchstart\"];\r\nvar EVENT_PROPERTIES = [\"target\", \"relatedTarget\", \"delegateTarget\", \"altKey\", \"bubbles\", \"cancelable\", \"changedTouches\", \"ctrlKey\", \"detail\", \"eventPhase\", \"metaKey\", \"shiftKey\", \"view\", \"char\", \"code\", \"charCode\", \"key\", \"keyCode\", \"button\", \"buttons\", \"offsetX\", \"offsetY\", \"pointerId\", \"pointerType\", \"targetTouches\", \"toElement\", \"touches\"];\r\n\r\nfunction matchesSafe(target, selector) {\r\n return !isWindow(target) && \"#document\" !== target.nodeName && domAdapter.elementMatches(target, selector)\r\n}\r\nvar elementDataMap = new WeakMap;\r\nvar guid = 0;\r\nvar skipEvent;\r\nvar special = function() {\r\n var specialData = {};\r\n registerEventCallbacks.add((function(eventName, eventObject) {\r\n specialData[eventName] = eventObject\r\n }));\r\n return {\r\n getField: function(eventName, field) {\r\n return specialData[eventName] && specialData[eventName][field]\r\n },\r\n callMethod: function(eventName, methodName, context, args) {\r\n return specialData[eventName] && specialData[eventName][methodName] && specialData[eventName][methodName].apply(context, args)\r\n }\r\n }\r\n}();\r\nvar eventsEngine = injector({\r\n on: getHandler(normalizeOnArguments(iterate((function(element, eventName, selector, data, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.addHandler(handler, selector, data)\r\n })))),\r\n one: getHandler(normalizeOnArguments((function(element, eventName, selector, data, handler) {\r\n eventsEngine.on(element, eventName, selector, data, (function oneTimeHandler() {\r\n eventsEngine.off(element, eventName, selector, oneTimeHandler);\r\n handler.apply(this, arguments)\r\n }))\r\n }))),\r\n off: getHandler(normalizeOffArguments(iterate((function(element, eventName, selector, handler) {\r\n var handlersController = getHandlersController(element, eventName);\r\n handlersController.removeHandler(handler, selector)\r\n })))),\r\n trigger: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var eventName = event.type;\r\n var handlersController = getHandlersController(element, event.type);\r\n special.callMethod(eventName, \"trigger\", element, [event, extraParameters]);\r\n handlersController.callHandlers(event, extraParameters);\r\n var noBubble = special.getField(eventName, \"noBubble\") || event.isPropagationStopped() || -1 !== NO_BUBBLE_EVENTS.indexOf(eventName);\r\n if (!noBubble) {\r\n var parents = [];\r\n ! function getParents(element) {\r\n var _element$parentNode;\r\n var parent = null !== (_element$parentNode = element.parentNode) && void 0 !== _element$parentNode ? _element$parentNode : isObject(element.host) ? element.host : null;\r\n if (parent) {\r\n parents.push(parent);\r\n getParents(parent)\r\n }\r\n }(element);\r\n parents.push(window);\r\n var i = 0;\r\n while (parents[i] && !event.isPropagationStopped()) {\r\n var parentDataByEvent = getHandlersController(parents[i], event.type);\r\n parentDataByEvent.callHandlers(extend(event, {\r\n currentTarget: parents[i]\r\n }), extraParameters);\r\n i++\r\n }\r\n }\r\n if (element.nodeType || isWindow(element)) {\r\n special.callMethod(eventName, \"_default\", element, [event, extraParameters]);\r\n callNativeMethod(eventName, element)\r\n }\r\n }))),\r\n triggerHandler: getHandler(normalizeTriggerArguments((function(element, event, extraParameters) {\r\n var handlersController = getHandlersController(element, event.type);\r\n handlersController.callHandlers(event, extraParameters)\r\n })))\r\n});\r\n\r\nfunction applyForEach(args, method) {\r\n var element = args[0];\r\n if (!element) {\r\n return\r\n }\r\n if (domAdapter.isNode(element) || isWindow(element)) {\r\n method.apply(eventsEngine, args)\r\n } else if (!isString(element) && \"length\" in element) {\r\n var itemArgs = Array.prototype.slice.call(args, 0);\r\n Array.prototype.forEach.call(element, (function(itemElement) {\r\n itemArgs[0] = itemElement;\r\n applyForEach(itemArgs, method)\r\n }))\r\n } else {\r\n throw errors.Error(\"E0025\")\r\n }\r\n}\r\n\r\nfunction getHandler(method) {\r\n return function() {\r\n applyForEach(arguments, method)\r\n }\r\n}\r\n\r\nfunction detectPassiveEventHandlersSupport() {\r\n var isSupported = false;\r\n try {\r\n var options = Object.defineProperty({}, \"passive\", {\r\n get: function() {\r\n isSupported = true;\r\n return true\r\n }\r\n });\r\n window.addEventListener(\"test\", null, options)\r\n } catch (e) {}\r\n return isSupported\r\n}\r\nvar passiveEventHandlersSupported = callOnce(detectPassiveEventHandlersSupport);\r\nvar contains = (container, element) => {\r\n if (isWindow(container)) {\r\n return contains(container.document, element)\r\n }\r\n return container.contains ? container.contains(element) : !!(element.compareDocumentPosition(container) & element.DOCUMENT_POSITION_CONTAINS)\r\n};\r\n\r\nfunction getHandlersController(element, eventName) {\r\n var elementData = elementDataMap.get(element);\r\n eventName = eventName || \"\";\r\n var eventNameParts = eventName.split(\".\");\r\n var namespaces = eventNameParts.slice(1);\r\n var eventNameIsDefined = !!eventNameParts[0];\r\n eventName = eventNameParts[0] || EMPTY_EVENT_NAME;\r\n if (!elementData) {\r\n elementData = {};\r\n elementDataMap.set(element, elementData)\r\n }\r\n if (!elementData[eventName]) {\r\n elementData[eventName] = {\r\n handleObjects: [],\r\n nativeHandler: null\r\n }\r\n }\r\n var eventData = elementData[eventName];\r\n return {\r\n addHandler: function(handler, selector, data) {\r\n var callHandler = function(e, extraParameters) {\r\n var handlerArgs = [e];\r\n var target = e.currentTarget;\r\n var relatedTarget = e.relatedTarget;\r\n var secondaryTargetIsInside;\r\n var result;\r\n if (eventName in NATIVE_EVENTS_TO_SUBSCRIBE) {\r\n secondaryTargetIsInside = relatedTarget && target && (relatedTarget === target || contains(target, relatedTarget))\r\n }\r\n if (void 0 !== extraParameters) {\r\n handlerArgs.push(extraParameters)\r\n }\r\n special.callMethod(eventName, \"handle\", element, [e, data]);\r\n if (!secondaryTargetIsInside) {\r\n result = handler.apply(target, handlerArgs)\r\n }\r\n if (false === result) {\r\n e.preventDefault();\r\n e.stopPropagation()\r\n }\r\n };\r\n var handleObject = {\r\n handler: handler,\r\n wrappedHandler: function(e, extraParameters) {\r\n if (skipEvent && e.type === skipEvent) {\r\n return\r\n }\r\n e.data = data;\r\n e.delegateTarget = element;\r\n if (selector) {\r\n var currentTarget = e.target;\r\n while (currentTarget && currentTarget !== element) {\r\n if (matchesSafe(currentTarget, selector)) {\r\n e.currentTarget = currentTarget;\r\n callHandler(e, extraParameters)\r\n }\r\n currentTarget = currentTarget.parentNode\r\n }\r\n } else {\r\n e.currentTarget = e.delegateTarget || e.target;\r\n callHandler(e, extraParameters)\r\n }\r\n },\r\n selector: selector,\r\n type: eventName,\r\n data: data,\r\n namespace: namespaces.join(\".\"),\r\n namespaces: namespaces,\r\n guid: ++guid\r\n };\r\n eventData.handleObjects.push(handleObject);\r\n var firstHandlerForTheType = 1 === eventData.handleObjects.length;\r\n var shouldAddNativeListener = firstHandlerForTheType && eventNameIsDefined;\r\n var nativeListenerOptions;\r\n if (shouldAddNativeListener) {\r\n shouldAddNativeListener = !special.callMethod(eventName, \"setup\", element, [data, namespaces, handler])\r\n }\r\n if (shouldAddNativeListener) {\r\n eventData.nativeHandler = getNativeHandler(eventName);\r\n if (passiveEventHandlersSupported() && forcePassiveFalseEventNames.indexOf(eventName) > -1) {\r\n nativeListenerOptions = {\r\n passive: false\r\n }\r\n }\r\n eventData.removeListener = domAdapter.listen(element, NATIVE_EVENTS_TO_SUBSCRIBE[eventName] || eventName, eventData.nativeHandler, nativeListenerOptions)\r\n }\r\n special.callMethod(eventName, \"add\", element, [handleObject])\r\n },\r\n removeHandler: function(handler, selector) {\r\n var removeByEventName = function(eventName) {\r\n var eventData = elementData[eventName];\r\n if (!eventData.handleObjects.length) {\r\n delete elementData[eventName];\r\n return\r\n }\r\n var removedHandler;\r\n eventData.handleObjects = eventData.handleObjects.filter((function(handleObject) {\r\n var skip = namespaces.length && !isSubset(handleObject.namespaces, namespaces) || handler && handleObject.handler !== handler || selector && handleObject.selector !== selector;\r\n if (!skip) {\r\n removedHandler = handleObject.handler;\r\n special.callMethod(eventName, \"remove\", element, [handleObject])\r\n }\r\n return skip\r\n }));\r\n var lastHandlerForTheType = !eventData.handleObjects.length;\r\n var shouldRemoveNativeListener = lastHandlerForTheType && eventName !== EMPTY_EVENT_NAME;\r\n if (shouldRemoveNativeListener) {\r\n special.callMethod(eventName, \"teardown\", element, [namespaces, removedHandler]);\r\n if (eventData.nativeHandler) {\r\n eventData.removeListener()\r\n }\r\n delete elementData[eventName]\r\n }\r\n };\r\n if (eventNameIsDefined) {\r\n removeByEventName(eventName)\r\n } else {\r\n for (var name in elementData) {\r\n removeByEventName(name)\r\n }\r\n }\r\n var elementDataIsEmpty = 0 === Object.keys(elementData).length;\r\n if (elementDataIsEmpty) {\r\n elementDataMap.delete(element)\r\n }\r\n },\r\n callHandlers: function(event, extraParameters) {\r\n var forceStop = false;\r\n var handleCallback = function(handleObject) {\r\n if (forceStop) {\r\n return\r\n }\r\n if (!namespaces.length || isSubset(handleObject.namespaces, namespaces)) {\r\n handleObject.wrappedHandler(event, extraParameters);\r\n forceStop = event.isImmediatePropagationStopped()\r\n }\r\n };\r\n eventData.handleObjects.forEach(handleCallback);\r\n if (namespaces.length && elementData[EMPTY_EVENT_NAME]) {\r\n elementData[EMPTY_EVENT_NAME].handleObjects.forEach(handleCallback)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction getNativeHandler(subscribeName) {\r\n return function(event, extraParameters) {\r\n var handlersController = getHandlersController(this, subscribeName);\r\n event = eventsEngine.Event(event);\r\n handlersController.callHandlers(event, extraParameters)\r\n }\r\n}\r\n\r\nfunction isSubset(original, checked) {\r\n for (var i = 0; i < checked.length; i++) {\r\n if (original.indexOf(checked[i]) < 0) {\r\n return false\r\n }\r\n }\r\n return true\r\n}\r\n\r\nfunction normalizeOnArguments(callback) {\r\n return function(element, eventName, selector, data, handler) {\r\n if (!handler) {\r\n handler = data;\r\n data = void 0\r\n }\r\n if (\"string\" !== typeof selector) {\r\n data = selector;\r\n selector = void 0\r\n }\r\n if (!handler && \"string\" === typeof eventName) {\r\n handler = data || selector;\r\n selector = void 0;\r\n data = void 0\r\n }\r\n callback(element, eventName, selector, data, handler)\r\n }\r\n}\r\n\r\nfunction normalizeOffArguments(callback) {\r\n return function(element, eventName, selector, handler) {\r\n if (\"function\" === typeof selector) {\r\n handler = selector;\r\n selector = void 0\r\n }\r\n callback(element, eventName, selector, handler)\r\n }\r\n}\r\n\r\nfunction normalizeTriggerArguments(callback) {\r\n return function(element, src, extraParameters) {\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!src.target) {\r\n src.target = element\r\n }\r\n src.currentTarget = element;\r\n if (!src.delegateTarget) {\r\n src.delegateTarget = element\r\n }\r\n if (!src.type && src.originalEvent) {\r\n src.type = src.originalEvent.type\r\n }\r\n callback(element, src instanceof eventsEngine.Event ? src : eventsEngine.Event(src), extraParameters)\r\n }\r\n}\r\n\r\nfunction normalizeEventArguments(callback) {\r\n eventsEngine.Event = function(src, config) {\r\n if (!(this instanceof eventsEngine.Event)) {\r\n return new eventsEngine.Event(src, config)\r\n }\r\n if (!src) {\r\n src = {}\r\n }\r\n if (\"string\" === typeof src) {\r\n src = {\r\n type: src\r\n }\r\n }\r\n if (!config) {\r\n config = {}\r\n }\r\n callback.call(this, src, config)\r\n };\r\n _extends(eventsEngine.Event.prototype, {\r\n _propagationStopped: false,\r\n _immediatePropagationStopped: false,\r\n _defaultPrevented: false,\r\n isPropagationStopped: function() {\r\n return !!(this._propagationStopped || this.originalEvent && this.originalEvent.propagationStopped)\r\n },\r\n stopPropagation: function() {\r\n this._propagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopPropagation()\r\n },\r\n isImmediatePropagationStopped: function() {\r\n return this._immediatePropagationStopped\r\n },\r\n stopImmediatePropagation: function() {\r\n this.stopPropagation();\r\n this._immediatePropagationStopped = true;\r\n this.originalEvent && this.originalEvent.stopImmediatePropagation()\r\n },\r\n isDefaultPrevented: function() {\r\n return !!(this._defaultPrevented || this.originalEvent && this.originalEvent.defaultPrevented)\r\n },\r\n preventDefault: function() {\r\n this._defaultPrevented = true;\r\n this.originalEvent && this.originalEvent.preventDefault()\r\n }\r\n });\r\n return eventsEngine.Event\r\n}\r\n\r\nfunction iterate(callback) {\r\n var iterateEventNames = function(element, eventName) {\r\n if (eventName && eventName.indexOf(\" \") > -1) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n eventName.split(\" \").forEach((function(eventName) {\r\n args[1] = eventName;\r\n callback.apply(this, args)\r\n }))\r\n } else {\r\n callback.apply(this, arguments)\r\n }\r\n };\r\n return function(element, eventName) {\r\n if (\"object\" === typeof eventName) {\r\n var args = Array.prototype.slice.call(arguments, 0);\r\n for (var name in eventName) {\r\n args[1] = name;\r\n args[args.length - 1] = eventName[name];\r\n iterateEventNames.apply(this, args)\r\n }\r\n } else {\r\n iterateEventNames.apply(this, arguments)\r\n }\r\n }\r\n}\r\n\r\nfunction callNativeMethod(eventName, element) {\r\n var nativeMethodName = NATIVE_EVENTS_TO_TRIGGER[eventName] || eventName;\r\n if (function(eventName, element) {\r\n return \"click\" === eventName && \"a\" === element.localName\r\n }(eventName, element)) {\r\n return\r\n }\r\n if (isFunction(element[nativeMethodName])) {\r\n skipEvent = eventName;\r\n element[nativeMethodName]();\r\n skipEvent = void 0\r\n }\r\n}\r\n\r\nfunction calculateWhich(event) {\r\n if (function(event) {\r\n return null == event.which && 0 === event.type.indexOf(\"key\")\r\n }(event)) {\r\n return null != event.charCode ? event.charCode : event.keyCode\r\n }\r\n if (function(event) {\r\n return !event.which && void 0 !== event.button && /^(?:mouse|pointer|contextmenu|drag|drop)|click/.test(event.type)\r\n }(event)) {\r\n return {\r\n 1: 1,\r\n 2: 3,\r\n 3: 1,\r\n 4: 2\r\n } [event.button]\r\n }\r\n return event.which\r\n}\r\n\r\nfunction initEvent(EventClass) {\r\n if (EventClass) {\r\n eventsEngine.Event = EventClass;\r\n eventsEngine.Event.prototype = EventClass.prototype\r\n }\r\n}\r\ninitEvent(normalizeEventArguments((function(src, config) {\r\n var _src$view;\r\n var srcIsEvent = src instanceof eventsEngine.Event || hasWindow() && src instanceof window.Event || (null === (_src$view = src.view) || void 0 === _src$view ? void 0 : _src$view.Event) && src instanceof src.view.Event;\r\n if (srcIsEvent) {\r\n this.originalEvent = src;\r\n this.type = src.type;\r\n this.currentTarget = void 0;\r\n if (Object.prototype.hasOwnProperty.call(src, \"isTrusted\")) {\r\n this.isTrusted = src.isTrusted\r\n }\r\n this.timeStamp = src.timeStamp || Date.now()\r\n } else {\r\n _extends(this, src)\r\n }\r\n addProperty(\"which\", calculateWhich, this);\r\n if (0 === src.type.indexOf(\"touch\")) {\r\n delete config.pageX;\r\n delete config.pageY\r\n }\r\n _extends(this, config);\r\n this.guid = ++guid\r\n})));\r\n\r\nfunction addProperty(propName, hook, eventInstance) {\r\n Object.defineProperty(eventInstance || eventsEngine.Event.prototype, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return this.originalEvent && hook(this.originalEvent)\r\n },\r\n set: function(value) {\r\n Object.defineProperty(this, propName, {\r\n enumerable: true,\r\n configurable: true,\r\n writable: true,\r\n value: value\r\n })\r\n }\r\n })\r\n}\r\nEVENT_PROPERTIES.forEach(prop => addProperty(prop, event => event[prop]));\r\nhookTouchProps(addProperty);\r\nvar beforeSetStrategy = Callbacks();\r\nvar afterSetStrategy = Callbacks();\r\neventsEngine.set = function(engine) {\r\n beforeSetStrategy.fire();\r\n eventsEngine.inject(engine);\r\n initEvent(engine.Event);\r\n afterSetStrategy.fire()\r\n};\r\neventsEngine.subscribeGlobal = function() {\r\n applyForEach(arguments, normalizeOnArguments((function() {\r\n var args = arguments;\r\n eventsEngine.on.apply(this, args);\r\n beforeSetStrategy.add((function() {\r\n var offArgs = Array.prototype.slice.call(args, 0);\r\n offArgs.splice(3, 1);\r\n eventsEngine.off.apply(this, offArgs)\r\n }));\r\n afterSetStrategy.add((function() {\r\n eventsEngine.on.apply(this, args)\r\n }))\r\n })))\r\n};\r\neventsEngine.forcePassiveFalseEventNames = forcePassiveFalseEventNames;\r\neventsEngine.passiveEventHandlersSupported = passiveEventHandlersSupported;\r\nexport default eventsEngine;\r\n","/**\r\n * DevExtreme (esm/localization/default_date_names.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nvar MONTHS = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\r\nvar DAYS = [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\r\nvar PERIODS = [\"AM\", \"PM\"];\r\nvar QUARTERS = [\"Q1\", \"Q2\", \"Q3\", \"Q4\"];\r\nvar cutCaptions = (captions, format) => {\r\n var lengthByFormat = {\r\n abbreviated: 3,\r\n short: 2,\r\n narrow: 1\r\n };\r\n return map(captions, caption => caption.substr(0, lengthByFormat[format]))\r\n};\r\nexport default {\r\n getMonthNames: function(format) {\r\n return cutCaptions(MONTHS, format)\r\n },\r\n getDayNames: function(format) {\r\n return cutCaptions(DAYS, format)\r\n },\r\n getQuarterNames: function(format) {\r\n return QUARTERS\r\n },\r\n getPeriodNames: function(format) {\r\n return PERIODS\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/array.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n orderEach\r\n} from \"./object\";\r\nimport config from \"../config\";\r\n\r\nfunction createOccurrenceMap(array) {\r\n return array.reduce((map, value) => {\r\n var _map$get;\r\n var count = (null !== (_map$get = map.get(value)) && void 0 !== _map$get ? _map$get : 0) + 1;\r\n map.set(value, count);\r\n return map\r\n }, new Map)\r\n}\r\nexport var wrapToArray = function(item) {\r\n return Array.isArray(item) ? item : [item]\r\n};\r\nexport var getUniqueValues = function(values) {\r\n return [...new Set(values)]\r\n};\r\nexport var getIntersection = function(firstArray, secondArray) {\r\n var toRemoveMap = createOccurrenceMap(secondArray);\r\n return firstArray.filter(value => {\r\n var occurrencesCount = toRemoveMap.get(value);\r\n occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1);\r\n return occurrencesCount\r\n })\r\n};\r\nexport var removeDuplicates = function() {\r\n var from = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n var toRemove = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];\r\n var toRemoveMap = createOccurrenceMap(toRemove);\r\n return from.filter(value => {\r\n var occurrencesCount = toRemoveMap.get(value);\r\n occurrencesCount && toRemoveMap.set(value, occurrencesCount - 1);\r\n return !occurrencesCount\r\n })\r\n};\r\nexport var normalizeIndexes = function(items, indexPropName, currentItem, needIndexCallback) {\r\n var indexedItems = {};\r\n var {\r\n useLegacyVisibleIndex: useLegacyVisibleIndex\r\n } = config();\r\n var currentIndex = 0;\r\n var shouldUpdateIndex = item => !isDefined(item[indexPropName]) && (!needIndexCallback || needIndexCallback(item));\r\n items.forEach(item => {\r\n var index = item[indexPropName];\r\n if (index >= 0) {\r\n indexedItems[index] = indexedItems[index] || [];\r\n if (item === currentItem) {\r\n indexedItems[index].unshift(item)\r\n } else {\r\n indexedItems[index].push(item)\r\n }\r\n } else {\r\n item[indexPropName] = void 0\r\n }\r\n });\r\n if (!useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n while (indexedItems[currentIndex]) {\r\n currentIndex++\r\n }\r\n indexedItems[currentIndex] = [item];\r\n currentIndex++\r\n }\r\n })\r\n }\r\n currentIndex = 0;\r\n orderEach(indexedItems, (function(index, items) {\r\n items.forEach(item => {\r\n if (index >= 0) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }));\r\n if (useLegacyVisibleIndex) {\r\n items.forEach(item => {\r\n if (shouldUpdateIndex(item)) {\r\n item[indexPropName] = currentIndex++\r\n }\r\n })\r\n }\r\n};\r\nexport var groupBy = (array, getGroupName) => array.reduce((groupedResult, item) => {\r\n var _groupedResult$groupN;\r\n var groupName = getGroupName(item);\r\n groupedResult[groupName] = null !== (_groupedResult$groupN = groupedResult[groupName]) && void 0 !== _groupedResult$groupN ? _groupedResult$groupN : [];\r\n groupedResult[groupName].push(item);\r\n return groupedResult\r\n}, {});\r\n","/**\r\n * DevExtreme (esm/data/query_adapters.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default {};\r\n","/**\r\n * DevExtreme (esm/data/remote_query.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport queryAdapters from \"./query_adapters\";\r\nimport {\r\n errors,\r\n handleError\r\n} from \"./errors\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport arrayQueryImpl from \"./array_query\";\r\nvar remoteQueryImpl = function remoteQueryImpl(url, queryOptions, tasks) {\r\n tasks = tasks || [];\r\n queryOptions = queryOptions || {};\r\n var createTask = function(name, args) {\r\n return {\r\n name: name,\r\n args: args\r\n }\r\n };\r\n var exec = function(executorTask) {\r\n var d = new Deferred;\r\n var _adapterFactory;\r\n var _adapter;\r\n var _taskQueue;\r\n var _currentTask;\r\n var _mergedSortArgs;\r\n var rejectWithNotify = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleError(error);\r\n d.reject(error)\r\n };\r\n\r\n function mergeSortTask(task) {\r\n switch (task.name) {\r\n case \"sortBy\":\r\n _mergedSortArgs = [task.args];\r\n return true;\r\n case \"thenBy\":\r\n if (!_mergedSortArgs) {\r\n throw errors.Error(\"E4004\")\r\n }\r\n _mergedSortArgs.push(task.args);\r\n return true\r\n }\r\n return false\r\n }\r\n try {\r\n _adapterFactory = queryOptions.adapter;\r\n if (!isFunction(_adapterFactory)) {\r\n _adapterFactory = queryAdapters[_adapterFactory]\r\n }\r\n _adapter = _adapterFactory(queryOptions);\r\n _taskQueue = [].concat(tasks).concat(executorTask);\r\n var optimize = _adapter.optimize;\r\n if (optimize) {\r\n optimize(_taskQueue)\r\n }\r\n while (_taskQueue.length) {\r\n _currentTask = _taskQueue[0];\r\n if (!mergeSortTask(_currentTask)) {\r\n if (_mergedSortArgs) {\r\n _taskQueue.unshift(createTask(\"multiSort\", [_mergedSortArgs]));\r\n _mergedSortArgs = null;\r\n continue\r\n }\r\n if (\"enumerate\" !== String(_currentTask.name)) {\r\n if (!_adapter[_currentTask.name] || false === _adapter[_currentTask.name].apply(_adapter, _currentTask.args)) {\r\n break\r\n }\r\n }\r\n }\r\n _taskQueue.shift()\r\n }! function() {\r\n var head = _taskQueue[0];\r\n var unmergedTasks = [];\r\n if (head && \"multiSort\" === head.name) {\r\n _taskQueue.shift();\r\n each(head.args[0], (function() {\r\n unmergedTasks.push(createTask(unmergedTasks.length ? \"thenBy\" : \"sortBy\", this))\r\n }))\r\n }\r\n _taskQueue = unmergedTasks.concat(_taskQueue)\r\n }();\r\n _adapter.exec(url).done((function(result, extra) {\r\n if (!_taskQueue.length) {\r\n d.resolve(result, extra)\r\n } else {\r\n var clientChain = arrayQueryImpl(result, {\r\n errorHandler: queryOptions.errorHandler\r\n });\r\n each(_taskQueue, (function() {\r\n clientChain = clientChain[this.name].apply(clientChain, this.args)\r\n }));\r\n clientChain.done(d.resolve).fail(d.reject)\r\n }\r\n })).fail(rejectWithNotify)\r\n } catch (x) {\r\n rejectWithNotify(x)\r\n }\r\n return d.promise()\r\n };\r\n var query = {};\r\n each([\"sortBy\", \"thenBy\", \"filter\", \"slice\", \"select\", \"groupBy\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return remoteQueryImpl(url, queryOptions, tasks.concat(createTask(name, arguments)))\r\n }\r\n }));\r\n each([\"count\", \"min\", \"max\", \"sum\", \"avg\", \"aggregate\", \"enumerate\"], (function() {\r\n var name = String(this);\r\n query[name] = function() {\r\n return exec.call(this, createTask(name, arguments))\r\n }\r\n }));\r\n return query\r\n};\r\nexport default remoteQueryImpl;\r\n","/**\r\n * DevExtreme (esm/data/query_implementation.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport arrayQueryImpl from \"./array_query\";\r\nimport remoteQueryImpl from \"./remote_query\";\r\nexport var queryImpl = {\r\n array: arrayQueryImpl,\r\n remote: remoteQueryImpl\r\n};\r\n","/**\r\n * DevExtreme (esm/data/query.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n queryImpl\r\n} from \"./query_implementation\";\r\nvar query = function() {\r\n var impl = Array.isArray(arguments[0]) ? \"array\" : \"remote\";\r\n return queryImpl[impl].apply(this, arguments)\r\n};\r\nexport default query;\r\n","/**\r\n * DevExtreme (esm/core/utils/error.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport {\r\n format\r\n} from \"./string\";\r\nimport {\r\n version\r\n} from \"../version\";\r\nvar ERROR_URL = \"https://js.devexpress.com/error/\" + version.split(\".\").slice(0, 2).join(\"_\") + \"/\";\r\nexport default function(baseErrors, errors) {\r\n var exports = {\r\n ERROR_MESSAGES: extend(errors, baseErrors),\r\n Error: function() {\r\n return makeError([].slice.call(arguments))\r\n },\r\n log: function(id) {\r\n var method = \"log\";\r\n if (/^E\\d+$/.test(id)) {\r\n method = \"error\"\r\n } else if (/^W\\d+$/.test(id)) {\r\n method = \"warn\"\r\n }\r\n logger[method](\"log\" === method ? id : combineMessage([].slice.call(arguments)))\r\n }\r\n };\r\n\r\n function combineMessage(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n return formatMessage(id, formatDetails(id, args))\r\n }\r\n\r\n function formatDetails(id, args) {\r\n args = [exports.ERROR_MESSAGES[id]].concat(args);\r\n return format.apply(this, args).replace(/\\.*\\s*?$/, \"\")\r\n }\r\n\r\n function formatMessage(id, details) {\r\n var kind = null !== id && void 0 !== id && id.startsWith(\"W\") ? \"warning\" : \"error\";\r\n return format.apply(this, [\"{0} - {1}.\\n\\nFor additional information on this {2} message, see: {3}\", id, details, kind, getErrorUrl(id)])\r\n }\r\n\r\n function makeError(args) {\r\n var id = args[0];\r\n args = args.slice(1);\r\n var details = formatDetails(id, args);\r\n var url = getErrorUrl(id);\r\n var message = formatMessage(id, details);\r\n return extend(new Error(message), {\r\n __id: id,\r\n __details: details,\r\n url: url\r\n })\r\n }\r\n\r\n function getErrorUrl(id) {\r\n return ERROR_URL + id\r\n }\r\n return exports\r\n}\r\n","/**\r\n * DevExtreme (esm/core/action.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"./renderer\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isPlainObject,\r\n isFunction\r\n} from \"./utils/type\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nexport default class Action {\r\n constructor(action, config) {\r\n config = config || {};\r\n this._action = action;\r\n this._context = config.context || getWindow();\r\n this._beforeExecute = config.beforeExecute;\r\n this._afterExecute = config.afterExecute;\r\n this._component = config.component;\r\n this._validatingTargetName = config.validatingTargetName;\r\n var excludeValidators = this._excludeValidators = {};\r\n if (config.excludeValidators) {\r\n for (var i = 0; i < config.excludeValidators.length; i++) {\r\n excludeValidators[config.excludeValidators[i]] = true\r\n }\r\n }\r\n }\r\n execute() {\r\n var e = {\r\n action: this._action,\r\n args: Array.prototype.slice.call(arguments),\r\n context: this._context,\r\n component: this._component,\r\n validatingTargetName: this._validatingTargetName,\r\n cancel: false,\r\n handled: false\r\n };\r\n var beforeExecute = this._beforeExecute;\r\n var afterExecute = this._afterExecute;\r\n var argsBag = e.args[0] || {};\r\n if (!this._validateAction(e)) {\r\n return\r\n }\r\n null === beforeExecute || void 0 === beforeExecute ? void 0 : beforeExecute.call(this._context, e);\r\n if (e.cancel) {\r\n return\r\n }\r\n var result = this._executeAction(e);\r\n if (argsBag.cancel) {\r\n return\r\n }\r\n null === afterExecute || void 0 === afterExecute ? void 0 : afterExecute.call(this._context, e);\r\n return result\r\n }\r\n _validateAction(e) {\r\n var excludeValidators = this._excludeValidators;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n if (!excludeValidators[name]) {\r\n var _executor$validate;\r\n var executor = executors[name];\r\n null === (_executor$validate = executor.validate) || void 0 === _executor$validate ? void 0 : _executor$validate.call(executor, e);\r\n if (e.cancel) {\r\n return false\r\n }\r\n }\r\n }\r\n return true\r\n }\r\n _executeAction(e) {\r\n var result;\r\n var {\r\n executors: executors\r\n } = Action;\r\n for (var name in executors) {\r\n var _executor$execute;\r\n var executor = executors[name];\r\n null === (_executor$execute = executor.execute) || void 0 === _executor$execute ? void 0 : _executor$execute.call(executor, e);\r\n if (e.handled) {\r\n result = e.result;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n static registerExecutor(name, executor) {\r\n if (isPlainObject(name)) {\r\n each(name, Action.registerExecutor);\r\n return\r\n }\r\n Action.executors[name] = executor\r\n }\r\n static unregisterExecutor() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n each(args, (function() {\r\n delete Action.executors[this]\r\n }))\r\n }\r\n}\r\nAction.executors = {};\r\nvar createValidatorByTargetElement = condition => e => {\r\n if (!e.args.length) {\r\n return\r\n }\r\n var args = e.args[0];\r\n var element = args[e.validatingTargetName] || args.element;\r\n if (element && condition($(element))) {\r\n e.cancel = true\r\n }\r\n};\r\nAction.registerExecutor({\r\n disabled: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-disabled, .dx-state-disabled *\"))\r\n },\r\n readOnly: {\r\n validate: createValidatorByTargetElement($target => $target.is(\".dx-state-readonly, .dx-state-readonly *:not(.dx-state-independent)\"))\r\n },\r\n undefined: {\r\n execute: e => {\r\n if (!e.action) {\r\n e.result = void 0;\r\n e.handled = true\r\n }\r\n }\r\n },\r\n func: {\r\n execute: e => {\r\n if (isFunction(e.action)) {\r\n e.result = e.action.call(e.context, e.args[0]);\r\n e.handled = true\r\n }\r\n }\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/call_once.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar callOnce = function(handler) {\r\n var result;\r\n var _wrappedHandler = function() {\r\n result = handler.apply(this, arguments);\r\n _wrappedHandler = function() {\r\n return result\r\n };\r\n return result\r\n };\r\n return function() {\r\n return _wrappedHandler.apply(this, arguments)\r\n }\r\n};\r\nexport default callOnce;\r\n","/**\r\n * DevExtreme (esm/core/utils/common.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../config\";\r\nimport Guid from \"../guid\";\r\nimport {\r\n when,\r\n Deferred\r\n} from \"../utils/deferred\";\r\nimport {\r\n toComparable\r\n} from \"./data\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isObject,\r\n type\r\n} from \"./type\";\r\nexport var ensureDefined = function(value, defaultValue) {\r\n return isDefined(value) ? value : defaultValue\r\n};\r\nexport var executeAsync = function(action, context) {\r\n var deferred = new Deferred;\r\n var normalizedContext = context || this;\r\n var task = {\r\n promise: deferred.promise(),\r\n abort: function() {\r\n clearTimeout(timerId);\r\n deferred.rejectWith(normalizedContext)\r\n }\r\n };\r\n var callback = function() {\r\n var result = action.call(normalizedContext);\r\n if (result && result.done && isFunction(result.done)) {\r\n result.done((function() {\r\n deferred.resolveWith(normalizedContext)\r\n }))\r\n } else {\r\n deferred.resolveWith(normalizedContext)\r\n }\r\n };\r\n var timerId = (arguments[2] || setTimeout)(callback, \"number\" === typeof context ? context : 0);\r\n return task\r\n};\r\nvar delayedFuncs = [];\r\nvar delayedNames = [];\r\nvar delayedDeferreds = [];\r\nvar executingName;\r\nvar deferExecute = function(name, func, deferred) {\r\n if (executingName && executingName !== name) {\r\n delayedFuncs.push(func);\r\n delayedNames.push(name);\r\n deferred = deferred || new Deferred;\r\n delayedDeferreds.push(deferred);\r\n return deferred\r\n } else {\r\n var oldExecutingName = executingName;\r\n var currentDelayedCount = delayedDeferreds.length;\r\n executingName = name;\r\n var result = func();\r\n if (!result) {\r\n if (delayedDeferreds.length > currentDelayedCount) {\r\n result = when.apply(this, delayedDeferreds.slice(currentDelayedCount))\r\n } else if (deferred) {\r\n deferred.resolve()\r\n }\r\n }\r\n executingName = oldExecutingName;\r\n if (deferred && result && result.done) {\r\n result.done(deferred.resolve).fail(deferred.reject)\r\n }\r\n if (!executingName && delayedFuncs.length) {\r\n (\"render\" === delayedNames.shift() ? deferRender : deferUpdate)(delayedFuncs.shift(), delayedDeferreds.shift())\r\n }\r\n return result || when()\r\n }\r\n};\r\nexport var deferRender = function(func, deferred) {\r\n return deferExecute(\"render\", func, deferred)\r\n};\r\nexport var deferUpdate = function(func, deferred) {\r\n return deferExecute(\"update\", func, deferred)\r\n};\r\nexport var deferRenderer = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"render\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var deferUpdater = function(func) {\r\n return function() {\r\n var that = this;\r\n return deferExecute(\"update\", (function() {\r\n return func.call(that)\r\n }))\r\n }\r\n};\r\nexport var findBestMatches = function(targetFilter, items, mapFn) {\r\n var bestMatches = [];\r\n var maxMatchCount = 0;\r\n each(items, (index, itemSrc) => {\r\n var matchCount = 0;\r\n var item = mapFn ? mapFn(itemSrc) : itemSrc;\r\n each(targetFilter, (paramName, targetValue) => {\r\n var value = item[paramName];\r\n if (void 0 === value) {\r\n return\r\n }\r\n if (match(value, targetValue)) {\r\n matchCount++;\r\n return\r\n }\r\n matchCount = -1;\r\n return false\r\n });\r\n if (matchCount < maxMatchCount) {\r\n return\r\n }\r\n if (matchCount > maxMatchCount) {\r\n bestMatches.length = 0;\r\n maxMatchCount = matchCount\r\n }\r\n bestMatches.push(itemSrc)\r\n });\r\n return bestMatches\r\n};\r\nvar match = function(value, targetValue) {\r\n if (Array.isArray(value) && Array.isArray(targetValue)) {\r\n var mismatch = false;\r\n each(value, (index, valueItem) => {\r\n if (valueItem !== targetValue[index]) {\r\n mismatch = true;\r\n return false\r\n }\r\n });\r\n if (mismatch) {\r\n return false\r\n }\r\n return true\r\n }\r\n if (value === targetValue) {\r\n return true\r\n }\r\n return false\r\n};\r\nexport var splitPair = function(raw) {\r\n var _raw$x, _raw$y;\r\n switch (type(raw)) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 2);\r\n case \"object\":\r\n return [null !== (_raw$x = raw.x) && void 0 !== _raw$x ? _raw$x : raw.h, null !== (_raw$y = raw.y) && void 0 !== _raw$y ? _raw$y : raw.v];\r\n case \"number\":\r\n return [raw];\r\n case \"array\":\r\n return raw;\r\n default:\r\n return null\r\n }\r\n};\r\nexport var normalizeKey = function(id) {\r\n var key = isString(id) ? id : id.toString();\r\n var arr = key.match(/[^a-zA-Z0-9_]/g);\r\n arr && each(arr, (_, sign) => {\r\n key = key.replace(sign, \"__\" + sign.charCodeAt() + \"__\")\r\n });\r\n return key\r\n};\r\nexport var denormalizeKey = function(key) {\r\n var arr = key.match(/__\\d+__/g);\r\n arr && arr.forEach(char => {\r\n var charCode = parseInt(char.replace(\"__\", \"\"));\r\n key = key.replace(char, String.fromCharCode(charCode))\r\n });\r\n return key\r\n};\r\nexport var pairToObject = function(raw, preventRound) {\r\n var pair = splitPair(raw);\r\n var h = preventRound ? parseFloat(pair && pair[0]) : parseInt(pair && pair[0], 10);\r\n var v = preventRound ? parseFloat(pair && pair[1]) : parseInt(pair && pair[1], 10);\r\n if (!isFinite(h)) {\r\n h = 0\r\n }\r\n if (!isFinite(v)) {\r\n v = h\r\n }\r\n return {\r\n h: h,\r\n v: v\r\n }\r\n};\r\nexport var getKeyHash = function(key) {\r\n if (key instanceof Guid) {\r\n return key.toString()\r\n } else if (isObject(key) || Array.isArray(key)) {\r\n try {\r\n var keyHash = JSON.stringify(key);\r\n return \"{}\" === keyHash ? key : keyHash\r\n } catch (e) {\r\n return key\r\n }\r\n }\r\n return key\r\n};\r\nexport var escapeRegExp = function(string) {\r\n return string.replace(/[[\\]{}\\-()*+?.\\\\^$|\\s]/g, \"\\\\$&\")\r\n};\r\nexport var applyServerDecimalSeparator = function(value) {\r\n var separator = config().serverDecimalSeparator;\r\n if (isDefined(value)) {\r\n value = value.toString().replace(\".\", separator)\r\n }\r\n return value\r\n};\r\nexport var noop = function() {};\r\nexport var asyncNoop = function() {\r\n return (new Deferred).resolve().promise()\r\n};\r\nexport var grep = function(elements, checkFunction, invert) {\r\n var result = [];\r\n var check;\r\n var expectedCheck = !invert;\r\n for (var i = 0; i < elements.length; i++) {\r\n check = !!checkFunction(elements[i], i);\r\n if (check === expectedCheck) {\r\n result.push(elements[i])\r\n }\r\n }\r\n return result\r\n};\r\nvar compareArrays = (array1, array2, depth, options) => {\r\n if (array1.length !== array2.length) {\r\n return false\r\n }\r\n return !array1.some((item, idx) => !compareByValue(item, array2[idx], depth + 1, _extends({}, options, {\r\n strict: true\r\n })))\r\n};\r\nvar compareObjects = (object1, object2, depth, options) => {\r\n var keys1 = Object.keys(object1);\r\n var keys2 = Object.keys(object2);\r\n if (keys1.length !== keys2.length) {\r\n return false\r\n }\r\n var keys2Set = new Set(keys2);\r\n return !keys1.some(key => !keys2Set.has(key) || !compareByValue(object1[key], object2[key], depth + 1, options))\r\n};\r\nvar DEFAULT_EQUAL_BY_VALUE_OPTS = {\r\n maxDepth: 3,\r\n strict: true\r\n};\r\nvar compareByValue = (value1, value2, depth, options) => {\r\n var {\r\n strict: strict,\r\n maxDepth: maxDepth\r\n } = options;\r\n var comparable1 = toComparable(value1, true);\r\n var comparable2 = toComparable(value2, true);\r\n var comparisonResult = strict ? comparable1 === comparable2 : comparable1 == comparable2;\r\n switch (true) {\r\n case comparisonResult:\r\n case depth >= maxDepth:\r\n return true;\r\n case isObject(comparable1) && isObject(comparable2):\r\n return compareObjects(comparable1, comparable2, depth, options);\r\n case Array.isArray(comparable1) && Array.isArray(comparable2):\r\n return compareArrays(comparable1, comparable2, depth, options);\r\n default:\r\n return false\r\n }\r\n};\r\nexport var equalByValue = function(value1, value2) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : DEFAULT_EQUAL_BY_VALUE_OPTS;\r\n var compareOptions = _extends({}, DEFAULT_EQUAL_BY_VALUE_OPTS, options);\r\n return compareByValue(value1, value2, 0, compareOptions)\r\n};\r\n","/**\r\n * DevExtreme (esm/core/templates/template_engine_registry.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isString\r\n} from \"../utils/type\";\r\nimport errors from \"../errors\";\r\nvar templateEngines = {};\r\nvar currentTemplateEngine;\r\nexport function registerTemplateEngine(name, templateEngine) {\r\n templateEngines[name] = templateEngine\r\n}\r\nexport function setTemplateEngine(templateEngine) {\r\n if (isString(templateEngine)) {\r\n currentTemplateEngine = templateEngines[templateEngine];\r\n if (!currentTemplateEngine) {\r\n throw errors.Error(\"E0020\", templateEngine)\r\n }\r\n } else {\r\n currentTemplateEngine = templateEngine\r\n }\r\n}\r\nexport function getCurrentTemplateEngine() {\r\n return currentTemplateEngine\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/template.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nimport {\r\n getCurrentTemplateEngine,\r\n registerTemplateEngine,\r\n setTemplateEngine\r\n} from \"./template_engine_registry\";\r\nregisterTemplateEngine(\"default\", {\r\n compile: element => normalizeTemplateElement(element),\r\n render: (template, model, index) => template.clone()\r\n});\r\nsetTemplateEngine(\"default\");\r\nexport class Template extends TemplateBase {\r\n constructor(element) {\r\n super();\r\n this._element = element\r\n }\r\n _renderCore(options) {\r\n var transclude = options.transclude;\r\n if (!transclude && !this._compiledTemplate) {\r\n this._compiledTemplate = getCurrentTemplateEngine().compile(this._element)\r\n }\r\n return $(\"
\").append(transclude ? this._element : getCurrentTemplateEngine().render(this._compiledTemplate, options.model, options.index)).contents()\r\n }\r\n source() {\r\n return $(this._element).clone()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/template_manager.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport config from \"../config\";\r\nimport devices from \"../devices\";\r\nimport {\r\n getPublicElement\r\n} from \"../element\";\r\nimport Errors from \"../errors\";\r\nimport $ from \"../renderer\";\r\nimport {\r\n ChildDefaultTemplate\r\n} from \"../templates/child_default_template\";\r\nimport {\r\n EmptyTemplate\r\n} from \"../templates/empty_template\";\r\nimport {\r\n Template\r\n} from \"../templates/template\";\r\nimport {\r\n TemplateBase\r\n} from \"../templates/template_base\";\r\nimport {\r\n groupBy\r\n} from \"./array\";\r\nimport {\r\n findBestMatches\r\n} from \"./common\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"./dom\";\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction,\r\n isRenderer\r\n} from \"./type\";\r\nexport var findTemplates = (element, name) => {\r\n var templates = $(element).contents().filter(\"[\".concat(\"data-options\", '*=\"').concat(name, '\"]'));\r\n return [].slice.call(templates).map(element => {\r\n var optionsString = $(element).attr(\"data-options\") || \"\";\r\n return {\r\n element: element,\r\n options: config().optionsParser(optionsString)[name]\r\n }\r\n }).filter(template => !!template.options)\r\n};\r\nexport var suitableTemplatesByName = rawTemplates => {\r\n var templatesMap = groupBy(rawTemplates, template => template.options.name);\r\n if (templatesMap[void 0]) {\r\n throw Errors.Error(\"E0023\")\r\n }\r\n var result = {};\r\n Object.keys(templatesMap).forEach(name => {\r\n var _findBestMatches$;\r\n var suitableTemplate = null === (_findBestMatches$ = findBestMatches(devices.current(), templatesMap[name], template => template.options)[0]) || void 0 === _findBestMatches$ ? void 0 : _findBestMatches$.element;\r\n if (suitableTemplate) {\r\n result[name] = suitableTemplate\r\n }\r\n });\r\n return result\r\n};\r\nexport var addOneRenderedCall = template => {\r\n var render = template.render.bind(template);\r\n return extend({}, template, {\r\n render(options) {\r\n var templateResult = render(options);\r\n options && options.onRendered && options.onRendered();\r\n return templateResult\r\n }\r\n })\r\n};\r\nexport var addPublicElementNormalization = template => {\r\n var render = template.render.bind(template);\r\n return extend({}, template, {\r\n render(options) {\r\n var $container = $(options.container);\r\n return render(_extends({}, options, {\r\n container: getPublicElement($container)\r\n }))\r\n }\r\n })\r\n};\r\nexport var getNormalizedTemplateArgs = options => {\r\n var args = [];\r\n if (\"model\" in options) {\r\n args.push(options.model)\r\n }\r\n if (\"index\" in options) {\r\n args.push(options.index)\r\n }\r\n args.push(options.container);\r\n return args\r\n};\r\nexport var validateTemplateSource = templateSource => \"string\" === typeof templateSource ? normalizeTemplateElement(templateSource) : templateSource;\r\nexport var templateKey = templateSource => isRenderer(templateSource) && templateSource[0] || templateSource;\r\nexport var defaultCreateElement = element => new Template(element);\r\nexport var acquireIntegrationTemplate = (templateSource, templates, isAsyncTemplate, skipTemplates) => {\r\n var integrationTemplate = null;\r\n if (!skipTemplates || -1 === skipTemplates.indexOf(templateSource)) {\r\n integrationTemplate = templates[templateSource];\r\n if (integrationTemplate && !(integrationTemplate instanceof TemplateBase)) {\r\n if (isFunction(integrationTemplate.render)) {\r\n integrationTemplate = addPublicElementNormalization(integrationTemplate)\r\n }\r\n if (!isAsyncTemplate) {\r\n integrationTemplate = addOneRenderedCall(integrationTemplate)\r\n }\r\n }\r\n }\r\n return integrationTemplate\r\n};\r\nexport var acquireTemplate = (templateSource, createTemplate, templates, isAsyncTemplate, skipTemplates, defaultTemplates) => {\r\n if (null == templateSource) {\r\n return new EmptyTemplate\r\n }\r\n if (templateSource instanceof ChildDefaultTemplate) {\r\n return defaultTemplates[templateSource.name]\r\n }\r\n if (templateSource instanceof TemplateBase) {\r\n return templateSource\r\n }\r\n if (isFunction(templateSource.render) && !isRenderer(templateSource)) {\r\n return isAsyncTemplate ? templateSource : addOneRenderedCall(templateSource)\r\n }\r\n if (templateSource.nodeType || isRenderer(templateSource)) {\r\n return createTemplate($(templateSource))\r\n }\r\n return acquireIntegrationTemplate(templateSource, templates, isAsyncTemplate, skipTemplates) || defaultTemplates[templateSource] || createTemplate(templateSource)\r\n};\r\n","/**\r\n * DevExtreme (esm/core/templates/function_template.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nimport {\r\n normalizeTemplateElement\r\n} from \"../utils/dom\";\r\nexport class FunctionTemplate extends TemplateBase {\r\n constructor(render) {\r\n super();\r\n this._render = render\r\n }\r\n _renderCore(options) {\r\n return normalizeTemplateElement(this._render(options))\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/custom_store.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n keysEqual,\r\n XHR_ERROR_UNLOAD,\r\n errorMessageFromXhr as errorMessageFromXhrUtility\r\n} from \"./utils\";\r\nimport {\r\n applyBatch\r\n} from \"./array_utils\";\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport Store from \"./abstract_store\";\r\nimport arrayQuery from \"./array_query\";\r\nimport storeHelper from \"./store_helper\";\r\nimport {\r\n Deferred,\r\n when,\r\n fromPromise\r\n} from \"../core/utils/deferred\";\r\nvar TOTAL_COUNT = \"totalCount\";\r\nvar LOAD = \"load\";\r\nvar BY_KEY = \"byKey\";\r\nvar INSERT = \"insert\";\r\nvar UPDATE = \"update\";\r\nvar REMOVE = \"remove\";\r\n\r\nfunction isPromise(obj) {\r\n return obj && isFunction(obj.then)\r\n}\r\n\r\nfunction trivialPromise(value) {\r\n return (new Deferred).resolve(value).promise()\r\n}\r\n\r\nfunction ensureRequiredFuncOption(name, obj) {\r\n if (!isFunction(obj)) {\r\n throw errors.Error(\"E4011\", name)\r\n }\r\n}\r\n\r\nfunction throwInvalidUserFuncResult(name) {\r\n throw errors.Error(\"E4012\", name)\r\n}\r\n\r\nfunction createUserFuncFailureHandler(pendingDeferred) {\r\n function errorMessageFromXhr(promiseArguments) {\r\n var xhr = promiseArguments[0];\r\n var textStatus = promiseArguments[1];\r\n if (!xhr || !xhr.getResponseHeader) {\r\n return null\r\n }\r\n return errorMessageFromXhrUtility(xhr, textStatus)\r\n }\r\n return function(arg) {\r\n var error;\r\n if (arg instanceof Error) {\r\n error = arg\r\n } else {\r\n error = new Error(errorMessageFromXhr(arguments) || arg && String(arg) || \"Unknown error\")\r\n }\r\n if (error.message !== XHR_ERROR_UNLOAD) {\r\n pendingDeferred.reject(error)\r\n }\r\n }\r\n}\r\n\r\nfunction invokeUserLoad(store, options) {\r\n var userFunc = store._loadFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(LOAD, userFunc);\r\n userResult = userFunc.apply(store, [options]);\r\n if (Array.isArray(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n } else if (null === userResult || void 0 === userResult) {\r\n userResult = trivialPromise([])\r\n } else if (!isPromise(userResult)) {\r\n throwInvalidUserFuncResult(LOAD)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserTotalCountFunc(store, options) {\r\n var userFunc = store._totalCountFunc;\r\n var userResult;\r\n if (!isFunction(userFunc)) {\r\n throw errors.Error(\"E4021\")\r\n }\r\n userResult = userFunc.apply(store, [options]);\r\n if (!isPromise(userResult)) {\r\n userResult = Number(userResult);\r\n if (!isFinite(userResult)) {\r\n throwInvalidUserFuncResult(TOTAL_COUNT)\r\n }\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction invokeUserByKeyFunc(store, key, extraOptions) {\r\n var userFunc = store._byKeyFunc;\r\n var userResult;\r\n ensureRequiredFuncOption(BY_KEY, userFunc);\r\n userResult = userFunc.apply(store, [key, extraOptions]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n return fromPromise(userResult)\r\n}\r\n\r\nfunction runRawLoad(pendingDeferred, store, userFuncOptions, continuation) {\r\n if (store.__rawData) {\r\n continuation(store.__rawData)\r\n } else {\r\n var loadPromise = store.__rawDataPromise || invokeUserLoad(store, userFuncOptions);\r\n if (store._cacheRawData) {\r\n store.__rawDataPromise = loadPromise\r\n }\r\n loadPromise.always((function() {\r\n delete store.__rawDataPromise\r\n })).done((function(rawData) {\r\n if (store._cacheRawData) {\r\n store.__rawData = rawData\r\n }\r\n continuation(rawData)\r\n })).fail(error => {\r\n var _store$_errorHandler;\r\n var userFuncFailureHandler = createUserFuncFailureHandler(pendingDeferred);\r\n null === (_store$_errorHandler = store._errorHandler) || void 0 === _store$_errorHandler ? void 0 : _store$_errorHandler.call(store, error);\r\n userFuncFailureHandler(error)\r\n })\r\n }\r\n}\r\n\r\nfunction runRawLoadWithQuery(pendingDeferred, store, options, countOnly) {\r\n options = options || {};\r\n var userFuncOptions = {};\r\n if (\"userData\" in options) {\r\n userFuncOptions.userData = options.userData\r\n }\r\n runRawLoad(pendingDeferred, store, userFuncOptions, (function(rawData) {\r\n var rawDataQuery = arrayQuery(rawData, {\r\n errorHandler: store._errorHandler\r\n });\r\n var itemsQuery;\r\n var totalCountQuery;\r\n var waitList = [];\r\n var items;\r\n var totalCount;\r\n if (!countOnly) {\r\n itemsQuery = storeHelper.queryByOptions(rawDataQuery, options);\r\n if (itemsQuery === rawDataQuery) {\r\n items = rawData.slice(0)\r\n } else {\r\n waitList.push(itemsQuery.enumerate().done((function(asyncResult) {\r\n items = asyncResult\r\n })))\r\n }\r\n }\r\n if (options.requireTotalCount || countOnly) {\r\n totalCountQuery = storeHelper.queryByOptions(rawDataQuery, options, true);\r\n if (totalCountQuery === rawDataQuery) {\r\n totalCount = rawData.length\r\n } else {\r\n waitList.push(totalCountQuery.count().done((function(asyncResult) {\r\n totalCount = asyncResult\r\n })))\r\n }\r\n }\r\n when.apply($, waitList).done((function() {\r\n if (countOnly) {\r\n pendingDeferred.resolve(totalCount)\r\n } else if (options.requireTotalCount) {\r\n pendingDeferred.resolve(items, {\r\n totalCount: totalCount\r\n })\r\n } else {\r\n pendingDeferred.resolve(items)\r\n }\r\n })).fail((function(x) {\r\n pendingDeferred.reject(x)\r\n }))\r\n }))\r\n}\r\n\r\nfunction runRawLoadWithKey(pendingDeferred, store, key) {\r\n runRawLoad(pendingDeferred, store, {}, (function(rawData) {\r\n var keyExpr = store.key();\r\n var item;\r\n for (var i = 0, len = rawData.length; i < len; i++) {\r\n item = rawData[i];\r\n if (keysEqual(keyExpr, store.keyOf(rawData[i]), key)) {\r\n pendingDeferred.resolve(item);\r\n return\r\n }\r\n }\r\n pendingDeferred.reject(errors.Error(\"E4009\"))\r\n }))\r\n}\r\nvar CustomStore = Store.inherit({\r\n ctor: function(options) {\r\n options = options || {};\r\n this.callBase(options);\r\n this._useDefaultSearch = !!options.useDefaultSearch || \"raw\" === options.loadMode;\r\n this._loadMode = options.loadMode;\r\n this._cacheRawData = false !== options.cacheRawData;\r\n this._loadFunc = options[LOAD];\r\n this._totalCountFunc = options[TOTAL_COUNT];\r\n this._byKeyFunc = options[BY_KEY];\r\n this._insertFunc = options[INSERT];\r\n this._updateFunc = options[UPDATE];\r\n this._removeFunc = options[REMOVE]\r\n },\r\n _clearCache() {\r\n delete this.__rawData\r\n },\r\n createQuery: function() {\r\n throw errors.Error(\"E4010\")\r\n },\r\n clearRawDataCache: function() {\r\n this._clearCache()\r\n },\r\n _totalCountImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode && !this._totalCountFunc) {\r\n runRawLoadWithQuery(d, this, options, true)\r\n } else {\r\n invokeUserTotalCountFunc(this, options).done((function(count) {\r\n d.resolve(Number(count))\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _pushImpl: function(changes) {\r\n if (this.__rawData) {\r\n applyBatch({\r\n keyInfo: this,\r\n data: this.__rawData,\r\n changes: changes\r\n })\r\n }\r\n },\r\n _loadImpl: function(options) {\r\n var d = new Deferred;\r\n if (\"raw\" === this._loadMode) {\r\n runRawLoadWithQuery(d, this, options, false)\r\n } else {\r\n invokeUserLoad(this, options).done((function(data, extra) {\r\n d.resolve(data, extra)\r\n })).fail(createUserFuncFailureHandler(d));\r\n d = this._addFailHandlers(d)\r\n }\r\n return d.promise()\r\n },\r\n _byKeyImpl: function(key, extraOptions) {\r\n var d = new Deferred;\r\n if (this._byKeyViaLoad()) {\r\n this._requireKey();\r\n runRawLoadWithKey(d, this, key)\r\n } else {\r\n invokeUserByKeyFunc(this, key, extraOptions).done((function(obj) {\r\n d.resolve(obj)\r\n })).fail(createUserFuncFailureHandler(d))\r\n }\r\n return d.promise()\r\n },\r\n _byKeyViaLoad: function() {\r\n return \"raw\" === this._loadMode && !this._byKeyFunc\r\n },\r\n _insertImpl: function(values) {\r\n var that = this;\r\n var userFunc = that._insertFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(INSERT, userFunc);\r\n userResult = userFunc.apply(that, [values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(values, serverResponse)\r\n } else {\r\n d.resolve(serverResponse || values, that.keyOf(serverResponse))\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _updateImpl: function(key, values) {\r\n var userFunc = this._updateFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(UPDATE, userFunc);\r\n userResult = userFunc.apply(this, [key, values]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise(userResult)\r\n }\r\n fromPromise(userResult).done((function(serverResponse) {\r\n if (config().useLegacyStoreResult) {\r\n d.resolve(key, values)\r\n } else {\r\n d.resolve(serverResponse || values, key)\r\n }\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n },\r\n _removeImpl: function(key) {\r\n var userFunc = this._removeFunc;\r\n var userResult;\r\n var d = new Deferred;\r\n ensureRequiredFuncOption(REMOVE, userFunc);\r\n userResult = userFunc.apply(this, [key]);\r\n if (!isPromise(userResult)) {\r\n userResult = trivialPromise()\r\n }\r\n fromPromise(userResult).done((function() {\r\n d.resolve(key)\r\n })).fail(createUserFuncFailureHandler(d));\r\n return d.promise()\r\n }\r\n});\r\nexport default CustomStore;\r\n","/**\r\n * DevExtreme (esm/core/utils/view_port.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport callbacks from \"./callbacks\";\r\nvar changeCallback = callbacks();\r\nvar $originalViewPort = $();\r\nvar value = function() {\r\n var $current;\r\n return function(element) {\r\n if (!arguments.length) {\r\n return $current\r\n }\r\n var $element = $(element);\r\n $originalViewPort = $element;\r\n var isNewViewportFound = !!$element.length;\r\n var prevViewPort = value();\r\n $current = isNewViewportFound ? $element : $(\"body\");\r\n changeCallback.fire(isNewViewportFound ? value() : $(), prevViewPort)\r\n }\r\n}();\r\nready((function() {\r\n value(\".dx-viewport\")\r\n}));\r\nexport {\r\n value,\r\n changeCallback\r\n};\r\nexport function originalViewPort() {\r\n return $originalViewPort\r\n}\r\n","/**\r\n * DevExtreme (esm/localization/ldml/number.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n fitIntoRange,\r\n multiplyInExponentialForm\r\n} from \"../../core/utils/math\";\r\nimport {\r\n toFixed\r\n} from \"../utils\";\r\nvar DEFAULT_CONFIG = {\r\n thousandsSeparator: \",\",\r\n decimalSeparator: \".\"\r\n};\r\nvar ESCAPING_CHAR = \"'\";\r\nvar MAXIMUM_NUMBER_LENGTH = 15;\r\nvar PERCENT_EXPONENT_SHIFT = 2;\r\n\r\nfunction getGroupSizes(formatString) {\r\n return formatString.split(\",\").slice(1).map((function(str) {\r\n var singleQuotesLeft = 0;\r\n return str.split(\"\").filter((function(char, index) {\r\n singleQuotesLeft += \"'\" === char;\r\n var isDigit = \"#\" === char || \"0\" === char;\r\n var isInStub = singleQuotesLeft % 2;\r\n return isDigit && !isInStub\r\n })).length\r\n }))\r\n}\r\n\r\nfunction getSignParts(format) {\r\n var signParts = format.split(\";\");\r\n if (1 === signParts.length) {\r\n signParts.push(\"-\" + signParts[0])\r\n }\r\n return signParts\r\n}\r\n\r\nfunction reverseString(str) {\r\n return str.toString().split(\"\").reverse().join(\"\")\r\n}\r\n\r\nfunction isPercentFormat(format) {\r\n return -1 !== format.indexOf(\"%\") && !format.match(/'[^']*%[^']*'/g)\r\n}\r\n\r\nfunction removeStubs(str) {\r\n return str.replace(/'.+'/g, \"\")\r\n}\r\n\r\nfunction getNonRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[#]/g, \"\").length\r\n}\r\n\r\nfunction getRequiredDigitCount(floatFormat) {\r\n if (!floatFormat) {\r\n return 0\r\n }\r\n var format = removeStubs(floatFormat);\r\n return format.length - format.replace(/[0]/g, \"\").length\r\n}\r\n\r\nfunction normalizeValueString(valuePart, minDigitCount, maxDigitCount) {\r\n if (!valuePart) {\r\n return \"\"\r\n }\r\n if (valuePart.length > maxDigitCount) {\r\n valuePart = valuePart.substr(0, maxDigitCount)\r\n }\r\n while (valuePart.length > minDigitCount && \"0\" === valuePart.slice(-1)) {\r\n valuePart = valuePart.substr(0, valuePart.length - 1)\r\n }\r\n while (valuePart.length < minDigitCount) {\r\n valuePart += \"0\"\r\n }\r\n return valuePart\r\n}\r\n\r\nfunction applyGroups(valueString, groupSizes, thousandsSeparator) {\r\n if (!groupSizes.length) {\r\n return valueString\r\n }\r\n var groups = [];\r\n var index = 0;\r\n while (valueString) {\r\n var groupSize = groupSizes[index];\r\n if (!groupSize) {\r\n break\r\n }\r\n groups.push(valueString.slice(0, groupSize));\r\n valueString = valueString.slice(groupSize);\r\n if (index < groupSizes.length - 1) {\r\n index++\r\n }\r\n }\r\n return groups.join(thousandsSeparator)\r\n}\r\n\r\nfunction formatNumberPart(format, valueString) {\r\n return format.split(ESCAPING_CHAR).map((function(formatPart, escapeIndex) {\r\n var isEscape = escapeIndex % 2;\r\n if (!formatPart && isEscape) {\r\n return ESCAPING_CHAR\r\n }\r\n return isEscape ? formatPart : formatPart.replace(/[,#0]+/, valueString)\r\n })).join(\"\")\r\n}\r\n\r\nfunction getFloatPointIndex(format) {\r\n var isEscape = false;\r\n for (var index = 0; index < format.length; index++) {\r\n if (\"'\" === format[index]) {\r\n isEscape = !isEscape\r\n }\r\n if (\".\" === format[index] && !isEscape) {\r\n return index\r\n }\r\n }\r\n return format.length\r\n}\r\nexport function getFormatter(format, config) {\r\n config = config || DEFAULT_CONFIG;\r\n return function(value) {\r\n if (\"number\" !== typeof value || isNaN(value)) {\r\n return \"\"\r\n }\r\n var signFormatParts = getSignParts(format);\r\n var isPositiveZero = 1 / value === 1 / 0;\r\n var isPositive = value > 0 || isPositiveZero;\r\n var numberFormat = signFormatParts[isPositive ? 0 : 1];\r\n var floatPointIndex = getFloatPointIndex(numberFormat);\r\n var floatFormatParts = [numberFormat.substr(0, floatPointIndex), numberFormat.substr(floatPointIndex + 1)];\r\n var minFloatPrecision = getRequiredDigitCount(floatFormatParts[1]);\r\n var maxFloatPrecision = minFloatPrecision + getNonRequiredDigitCount(floatFormatParts[1]);\r\n if (isPercentFormat(numberFormat)) {\r\n value = multiplyInExponentialForm(value, PERCENT_EXPONENT_SHIFT)\r\n }\r\n if (!isPositive) {\r\n value = -value\r\n }\r\n var minIntegerPrecision = getRequiredDigitCount(floatFormatParts[0]);\r\n var maxIntegerPrecision = getNonRequiredDigitCount(floatFormatParts[0]) || config.unlimitedIntegerDigits ? void 0 : minIntegerPrecision;\r\n var integerLength = Math.floor(value).toString().length;\r\n var floatPrecision = fitIntoRange(maxFloatPrecision, 0, MAXIMUM_NUMBER_LENGTH - integerLength);\r\n var groupSizes = getGroupSizes(floatFormatParts[0]).reverse();\r\n var valueParts = toFixed(value, floatPrecision < 0 ? 0 : floatPrecision).split(\".\");\r\n var valueIntegerPart = normalizeValueString(reverseString(valueParts[0]), minIntegerPrecision, maxIntegerPrecision);\r\n var valueFloatPart = normalizeValueString(valueParts[1], minFloatPrecision, maxFloatPrecision);\r\n valueIntegerPart = applyGroups(valueIntegerPart, groupSizes, config.thousandsSeparator);\r\n var integerString = reverseString(formatNumberPart(reverseString(floatFormatParts[0]), valueIntegerPart));\r\n var floatString = maxFloatPrecision ? formatNumberPart(floatFormatParts[1], valueFloatPart) : \"\";\r\n var result = integerString + (floatString.match(/\\d/) ? config.decimalSeparator : \"\") + floatString;\r\n return result\r\n }\r\n}\r\n\r\nfunction parseValue(text, isPercent, isNegative) {\r\n var value = (isPercent ? .01 : 1) * parseFloat(text) || 0;\r\n return isNegative ? -value : value\r\n}\r\n\r\nfunction prepareValueText(valueText, formatter, isPercent, isIntegerPart) {\r\n var nextValueText = valueText;\r\n var char;\r\n var text;\r\n var nextText;\r\n do {\r\n if (nextText) {\r\n char = text.length === nextText.length ? \"0\" : \"1\";\r\n valueText = isIntegerPart ? char + valueText : valueText + char\r\n }\r\n text = nextText || formatter(parseValue(nextValueText, isPercent));\r\n nextValueText = isIntegerPart ? \"1\" + nextValueText : nextValueText + \"1\";\r\n nextText = formatter(parseValue(nextValueText, isPercent))\r\n } while (text !== nextText && (isIntegerPart ? text.length === nextText.length : text.length <= nextText.length));\r\n if (isIntegerPart && nextText.length > text.length) {\r\n var hasGroups = -1 === formatter(12345).indexOf(\"12345\");\r\n do {\r\n valueText = \"1\" + valueText\r\n } while (hasGroups && parseValue(valueText, isPercent) < 1e5)\r\n }\r\n return valueText\r\n}\r\n\r\nfunction getFormatByValueText(valueText, formatter, isPercent, isNegative) {\r\n var format = formatter(parseValue(valueText, isPercent, isNegative));\r\n var valueTextParts = valueText.split(\".\");\r\n var valueTextWithModifiedFloat = valueTextParts[0] + \".3\" + valueTextParts[1].slice(1);\r\n var valueWithModifiedFloat = parseValue(valueTextWithModifiedFloat, isPercent, isNegative);\r\n var decimalSeparatorIndex = formatter(valueWithModifiedFloat).indexOf(\"3\") - 1;\r\n format = format.replace(/(\\d)\\D(\\d)/g, \"$1,$2\");\r\n if (decimalSeparatorIndex >= 0) {\r\n format = format.slice(0, decimalSeparatorIndex) + \".\" + format.slice(decimalSeparatorIndex + 1)\r\n }\r\n format = format.replace(/1+/, \"1\").replace(/1/g, \"#\");\r\n if (!isPercent) {\r\n format = format.replace(/%/g, \"'%'\")\r\n }\r\n return format\r\n}\r\nexport function getFormat(formatter) {\r\n var valueText = \".\";\r\n var isPercent = formatter(1).indexOf(\"100\") >= 0;\r\n valueText = prepareValueText(valueText, formatter, isPercent, true);\r\n valueText = prepareValueText(valueText, formatter, isPercent, false);\r\n var positiveFormat = getFormatByValueText(valueText, formatter, isPercent, false);\r\n var negativeFormat = getFormatByValueText(valueText, formatter, isPercent, true);\r\n return negativeFormat === \"-\" + positiveFormat ? positiveFormat : positiveFormat + \";\" + negativeFormat\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/storage.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nvar getSessionStorage = function() {\r\n var sessionStorage;\r\n try {\r\n sessionStorage = window.sessionStorage\r\n } catch (e) {}\r\n return sessionStorage\r\n};\r\nexport {\r\n getSessionStorage as sessionStorage\r\n};\r\n","/**\r\n * DevExtreme (esm/core/devices.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getHeight,\r\n getWidth\r\n} from \"./utils/size\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n getWindow,\r\n getNavigator,\r\n hasWindow\r\n} from \"./utils/window\";\r\nimport {\r\n extend\r\n} from \"./utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"./utils/type\";\r\nimport errors from \"./errors\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport readyCallbacks from \"./utils/ready_callbacks\";\r\nimport resizeCallbacks from \"./utils/resize_callbacks\";\r\nimport {\r\n EventsStrategy\r\n} from \"./events_strategy\";\r\nimport {\r\n sessionStorage as SessionStorage\r\n} from \"./utils/storage\";\r\nimport {\r\n changeCallback,\r\n value as viewPort\r\n} from \"./utils/view_port\";\r\nimport Config from \"./config\";\r\nvar window = getWindow();\r\nvar KNOWN_UA_TABLE = {\r\n iPhone: \"iPhone\",\r\n iPhone5: \"iPhone\",\r\n iPhone6: \"iPhone\",\r\n iPhone6plus: \"iPhone\",\r\n iPad: \"iPad\",\r\n iPadMini: \"iPad Mini\",\r\n androidPhone: \"Android Mobile\",\r\n androidTablet: \"Android\",\r\n msSurface: \"Windows ARM Tablet PC\",\r\n desktop: \"desktop\"\r\n};\r\nvar DEFAULT_DEVICE = {\r\n deviceType: \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n phone: false,\r\n tablet: false,\r\n android: false,\r\n ios: false,\r\n generic: true,\r\n grade: \"A\",\r\n mac: false\r\n};\r\nvar UA_PARSERS = {\r\n generic(userAgent) {\r\n var isPhone = /windows phone/i.test(userAgent) || userAgent.match(/WPDesktop/);\r\n var isTablet = !isPhone && /Windows(.*)arm(.*)Tablet PC/i.test(userAgent);\r\n var isDesktop = !isPhone && !isTablet && /msapphost/i.test(userAgent);\r\n var isMac = /((intel|ppc) mac os x)/.test(userAgent.toLowerCase());\r\n if (!(isPhone || isTablet || isDesktop || isMac)) {\r\n return null\r\n }\r\n return {\r\n deviceType: isPhone ? \"phone\" : isTablet ? \"tablet\" : \"desktop\",\r\n platform: \"generic\",\r\n version: [],\r\n grade: \"A\",\r\n mac: isMac\r\n }\r\n },\r\n appleTouchDevice(userAgent) {\r\n var navigator = getNavigator();\r\n var isIpadOs = /Macintosh/i.test(userAgent) && (null === navigator || void 0 === navigator ? void 0 : navigator.maxTouchPoints) > 2;\r\n var isAppleDevice = /ip(hone|od|ad)/i.test(userAgent);\r\n if (!isAppleDevice && !isIpadOs) {\r\n return null\r\n }\r\n var isPhone = /ip(hone|od)/i.test(userAgent);\r\n var matches = userAgent.match(/os\\s{0,}X? (\\d+)_(\\d+)_?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2], 10), parseInt(matches[3] || 0, 10)] : [];\r\n var isIPhone4 = 480 === window.screen.height;\r\n var grade = isIPhone4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"ios\",\r\n version: version,\r\n grade: grade\r\n }\r\n },\r\n android(userAgent) {\r\n var isAndroid = /android|htc_|silk/i.test(userAgent);\r\n var isWinPhone = /windows phone/i.test(userAgent);\r\n if (!isAndroid || isWinPhone) {\r\n return null\r\n }\r\n var isPhone = /mobile/i.test(userAgent);\r\n var matches = userAgent.match(/android (\\d+)\\.?(\\d+)?\\.?(\\d+)?/i);\r\n var version = matches ? [parseInt(matches[1], 10), parseInt(matches[2] || 0, 10), parseInt(matches[3] || 0, 10)] : [];\r\n var worseThan4_4 = version.length > 1 && (version[0] < 4 || 4 === version[0] && version[1] < 4);\r\n var grade = worseThan4_4 ? \"B\" : \"A\";\r\n return {\r\n deviceType: isPhone ? \"phone\" : \"tablet\",\r\n platform: \"android\",\r\n version: version,\r\n grade: grade\r\n }\r\n }\r\n};\r\nvar UA_PARSERS_ARRAY = [UA_PARSERS.appleTouchDevice, UA_PARSERS.android, UA_PARSERS.generic];\r\nclass Devices {\r\n constructor(options) {\r\n this._window = (null === options || void 0 === options ? void 0 : options.window) || window;\r\n this._realDevice = this._getDevice();\r\n this._currentDevice = void 0;\r\n this._currentOrientation = void 0;\r\n this._eventsStrategy = new EventsStrategy(this);\r\n this.changed = Callbacks();\r\n if (hasWindow()) {\r\n readyCallbacks.add(this._recalculateOrientation.bind(this));\r\n resizeCallbacks.add(this._recalculateOrientation.bind(this))\r\n }\r\n }\r\n current(deviceOrName) {\r\n if (deviceOrName) {\r\n this._currentDevice = this._getDevice(deviceOrName);\r\n this._forced = true;\r\n this.changed.fire();\r\n return\r\n }\r\n if (!this._currentDevice) {\r\n deviceOrName = void 0;\r\n try {\r\n deviceOrName = this._getDeviceOrNameFromWindowScope()\r\n } catch (e) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n } finally {\r\n if (!deviceOrName) {\r\n deviceOrName = this._getDeviceNameFromSessionStorage()\r\n }\r\n if (deviceOrName) {\r\n this._forced = true\r\n }\r\n }\r\n this._currentDevice = this._getDevice(deviceOrName)\r\n }\r\n return this._currentDevice\r\n }\r\n real(forceDevice) {\r\n return extend({}, this._realDevice)\r\n }\r\n orientation() {\r\n return this._currentOrientation\r\n }\r\n isForced() {\r\n return this._forced\r\n }\r\n isRippleEmulator() {\r\n return !!this._window.tinyHippos\r\n }\r\n _getCssClasses(device) {\r\n var result = [];\r\n var realDevice = this._realDevice;\r\n device = device || this.current();\r\n if (device.deviceType) {\r\n result.push(\"dx-device-\".concat(device.deviceType));\r\n if (\"desktop\" !== device.deviceType) {\r\n result.push(\"dx-device-mobile\")\r\n }\r\n }\r\n result.push(\"dx-device-\".concat(realDevice.platform));\r\n if (realDevice.version && realDevice.version.length) {\r\n result.push(\"dx-device-\".concat(realDevice.platform, \"-\").concat(realDevice.version[0]))\r\n }\r\n if (this.isSimulator()) {\r\n result.push(\"dx-simulator\")\r\n }\r\n if (Config().rtlEnabled) {\r\n result.push(\"dx-rtl\")\r\n }\r\n return result\r\n }\r\n attachCssClasses(element, device) {\r\n this._deviceClasses = this._getCssClasses(device).join(\" \");\r\n $(element).addClass(this._deviceClasses)\r\n }\r\n detachCssClasses(element) {\r\n $(element).removeClass(this._deviceClasses)\r\n }\r\n isSimulator() {\r\n try {\r\n return this._isSimulator || hasWindow() && this._window.top !== this._window.self && this._window.top[\"dx-force-device\"] || this.isRippleEmulator()\r\n } catch (e) {\r\n return false\r\n }\r\n }\r\n forceSimulator() {\r\n this._isSimulator = true\r\n }\r\n _getDevice(deviceName) {\r\n if (\"genericPhone\" === deviceName) {\r\n deviceName = {\r\n deviceType: \"phone\",\r\n platform: \"generic\",\r\n generic: true\r\n }\r\n }\r\n if (isPlainObject(deviceName)) {\r\n return this._fromConfig(deviceName)\r\n } else {\r\n var ua;\r\n if (deviceName) {\r\n ua = KNOWN_UA_TABLE[deviceName];\r\n if (!ua) {\r\n throw errors.Error(\"E0005\")\r\n }\r\n } else {\r\n var navigator = getNavigator();\r\n ua = navigator.userAgent\r\n }\r\n return this._fromUA(ua)\r\n }\r\n }\r\n _getDeviceOrNameFromWindowScope() {\r\n var result;\r\n if (hasWindow() && (this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"])) {\r\n result = this._window.top[\"dx-force-device-object\"] || this._window.top[\"dx-force-device\"]\r\n }\r\n return result\r\n }\r\n _getDeviceNameFromSessionStorage() {\r\n var sessionStorage = SessionStorage();\r\n if (!sessionStorage) {\r\n return\r\n }\r\n var deviceOrName = sessionStorage.getItem(\"dx-force-device\");\r\n try {\r\n return JSON.parse(deviceOrName)\r\n } catch (ex) {\r\n return deviceOrName\r\n }\r\n }\r\n _fromConfig(config) {\r\n var result = extend({}, DEFAULT_DEVICE, this._currentDevice, config);\r\n var shortcuts = {\r\n phone: \"phone\" === result.deviceType,\r\n tablet: \"tablet\" === result.deviceType,\r\n android: \"android\" === result.platform,\r\n ios: \"ios\" === result.platform,\r\n generic: \"generic\" === result.platform\r\n };\r\n return extend(result, shortcuts)\r\n }\r\n _fromUA(ua) {\r\n for (var idx = 0; idx < UA_PARSERS_ARRAY.length; idx += 1) {\r\n var parser = UA_PARSERS_ARRAY[idx];\r\n var config = parser(ua);\r\n if (config) {\r\n return this._fromConfig(config)\r\n }\r\n }\r\n return DEFAULT_DEVICE\r\n }\r\n _changeOrientation() {\r\n var $window = $(this._window);\r\n var orientation = getHeight($window) > getWidth($window) ? \"portrait\" : \"landscape\";\r\n if (this._currentOrientation === orientation) {\r\n return\r\n }\r\n this._currentOrientation = orientation;\r\n this._eventsStrategy.fireEvent(\"orientationChanged\", [{\r\n orientation: orientation\r\n }])\r\n }\r\n _recalculateOrientation() {\r\n var windowWidth = getWidth(this._window);\r\n if (this._currentWidth === windowWidth) {\r\n return\r\n }\r\n this._currentWidth = windowWidth;\r\n this._changeOrientation()\r\n }\r\n on(eventName, eventHandler) {\r\n this._eventsStrategy.on(eventName, eventHandler);\r\n return this\r\n }\r\n off(eventName, eventHandler) {\r\n this._eventsStrategy.off(eventName, eventHandler);\r\n return this\r\n }\r\n}\r\nvar devices = new Devices;\r\nvar viewPortElement = viewPort();\r\nif (viewPortElement) {\r\n devices.attachCssClasses(viewPortElement)\r\n}\r\nchangeCallback.add((viewPort, prevViewport) => {\r\n devices.detachCssClasses(prevViewport);\r\n devices.attachCssClasses(viewPort)\r\n});\r\nexport default devices;\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.parser.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n escapeRegExp\r\n} from \"../../core/utils/common\";\r\nimport {\r\n logger\r\n} from \"../../core/utils/console\";\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar monthRegExpGenerator = function(count, dateParts) {\r\n if (count > 2) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return dateParts.getMonthNames(FORMAT_TYPES[count], type).join(\"|\")\r\n })).join(\"|\")\r\n })).join(\"|\")\r\n }\r\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\"\r\n};\r\nvar PATTERN_REGEXPS = {\r\n \":\": function(count, dateParts) {\r\n var countSuffix = count > 1 ? \"{\".concat(count, \"}\") : \"\";\r\n var timeSeparator = escapeRegExp(dateParts.getTimeSeparator());\r\n \":\" !== timeSeparator && (timeSeparator = \"\".concat(timeSeparator, \"|:\"));\r\n return \"\".concat(timeSeparator).concat(countSuffix)\r\n },\r\n y: function(count) {\r\n return 2 === count ? \"[0-9]{\".concat(count, \"}\") : \"[0-9]+?\"\r\n },\r\n M: monthRegExpGenerator,\r\n L: monthRegExpGenerator,\r\n Q: function(count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").join(\"|\")\r\n }\r\n return \"0?[1-4]\"\r\n },\r\n E: function(count, dateParts) {\r\n return \"\\\\D*\"\r\n },\r\n a: function(count, dateParts) {\r\n return dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\").join(\"|\")\r\n },\r\n d: function(count) {\r\n return 2 === count ? \"3[01]|[12][0-9]|0?[1-9]\" : \"0??[1-9]|[12][0-9]|3[01]\"\r\n },\r\n H: function(count) {\r\n return 2 === count ? \"2[0-3]|1[0-9]|0?[0-9]\" : \"0??[0-9]|1[0-9]|2[0-3]\"\r\n },\r\n h: function(count) {\r\n return 2 === count ? \"1[012]|0?[1-9]\" : \"0??[1-9]|1[012]\"\r\n },\r\n m: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n s: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n S: function(count) {\r\n return \"[0-9]{1,\".concat(count, \"}\")\r\n },\r\n w: function(count) {\r\n return 2 === count ? \"[1-5][0-9]|0?[0-9]\" : \"0??[0-9]|[1-5][0-9]\"\r\n },\r\n x: function(count) {\r\n return 3 === count ? \"[+-](?:2[0-3]|[01][0-9]):(?:[0-5][0-9])|Z\" : \"[+-](?:2[0-3]|[01][0-9])(?:[0-5][0-9])|Z\"\r\n }\r\n};\r\nvar parseNumber = Number;\r\nvar caseInsensitiveIndexOf = function(array, value) {\r\n return array.map(item => item.toLowerCase()).indexOf(value.toLowerCase())\r\n};\r\nvar monthPatternParser = function(text, count, dateParts) {\r\n if (count > 2) {\r\n return [\"format\", \"standalone\"].map((function(type) {\r\n return Object.keys(FORMAT_TYPES).map((function(count) {\r\n var monthNames = dateParts.getMonthNames(FORMAT_TYPES[count], type);\r\n return caseInsensitiveIndexOf(monthNames, text)\r\n }))\r\n })).reduce((function(a, b) {\r\n return a.concat(b)\r\n })).filter((function(index) {\r\n return index >= 0\r\n }))[0]\r\n }\r\n return parseNumber(text) - 1\r\n};\r\nvar PATTERN_PARSERS = {\r\n y: function(text, count) {\r\n var year = parseNumber(text);\r\n if (2 === count) {\r\n return year < 30 ? 2e3 + year : 1900 + year\r\n }\r\n return year\r\n },\r\n M: monthPatternParser,\r\n L: monthPatternParser,\r\n Q: function(text, count, dateParts) {\r\n if (count > 2) {\r\n return dateParts.getQuarterNames(FORMAT_TYPES[count], \"format\").indexOf(text)\r\n }\r\n return parseNumber(text) - 1\r\n },\r\n E: function(text, count, dateParts) {\r\n var dayNames = dateParts.getDayNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(dayNames, text)\r\n },\r\n a: function(text, count, dateParts) {\r\n var periodNames = dateParts.getPeriodNames(FORMAT_TYPES[count < 3 ? 3 : count], \"format\");\r\n return caseInsensitiveIndexOf(periodNames, text)\r\n },\r\n d: parseNumber,\r\n H: parseNumber,\r\n h: parseNumber,\r\n m: parseNumber,\r\n s: parseNumber,\r\n S: function(text, count) {\r\n count = Math.max(count, 3);\r\n text = text.slice(0, 3);\r\n while (count < 3) {\r\n text += \"0\";\r\n count++\r\n }\r\n return parseNumber(text)\r\n }\r\n};\r\nvar ORDERED_PATTERNS = [\"y\", \"M\", \"d\", \"h\", \"m\", \"s\", \"S\"];\r\nvar PATTERN_SETTERS = {\r\n y: \"setFullYear\",\r\n M: \"setMonth\",\r\n L: \"setMonth\",\r\n a: function(date, value, datePartValues) {\r\n var hours = date.getHours();\r\n var hourPartValue = datePartValues.h;\r\n if (void 0 !== hourPartValue && hourPartValue !== hours) {\r\n hours--\r\n }\r\n if (!value && 12 === hours) {\r\n hours = 0\r\n } else if (value && 12 !== hours) {\r\n hours += 12\r\n }\r\n date.setHours(hours)\r\n },\r\n d: \"setDate\",\r\n H: \"setHours\",\r\n h: \"setHours\",\r\n m: \"setMinutes\",\r\n s: \"setSeconds\",\r\n S: \"setMilliseconds\"\r\n};\r\nvar getSameCharCount = function(text, index) {\r\n var char = text[index];\r\n if (!char) {\r\n return 0\r\n }\r\n var count = 0;\r\n do {\r\n index++;\r\n count++\r\n } while (text[index] === char);\r\n return count\r\n};\r\nvar createPattern = function(char, count) {\r\n var result = \"\";\r\n for (var i = 0; i < count; i++) {\r\n result += char\r\n }\r\n return result\r\n};\r\nexport var getRegExpInfo = function(format, dateParts) {\r\n var regexpText = \"\";\r\n var stubText = \"\";\r\n var isEscaping;\r\n var patterns = [];\r\n var addPreviousStub = function() {\r\n if (stubText) {\r\n patterns.push(\"'\".concat(stubText, \"'\"));\r\n regexpText += \"\".concat(escapeRegExp(stubText), \")\");\r\n stubText = \"\"\r\n }\r\n };\r\n for (var i = 0; i < format.length; i++) {\r\n var char = format[i];\r\n var isEscapeChar = \"'\" === char;\r\n var regexpPart = PATTERN_REGEXPS[char];\r\n if (isEscapeChar) {\r\n isEscaping = !isEscaping;\r\n if (\"'\" !== format[i - 1]) {\r\n continue\r\n }\r\n }\r\n if (regexpPart && !isEscaping) {\r\n var count = getSameCharCount(format, i);\r\n var pattern = createPattern(char, count);\r\n addPreviousStub();\r\n patterns.push(pattern);\r\n regexpText += \"(\".concat(regexpPart(count, dateParts), \")\");\r\n i += count - 1\r\n } else {\r\n if (!stubText) {\r\n regexpText += \"(\"\r\n }\r\n stubText += char\r\n }\r\n }\r\n addPreviousStub();\r\n if (!isPossibleForParsingFormat(patterns)) {\r\n logger.warn(\"The following format may be parsed incorrectly: \".concat(format, \".\"))\r\n }\r\n return {\r\n patterns: patterns,\r\n regexp: new RegExp(\"^\".concat(regexpText, \"$\"), \"i\")\r\n }\r\n};\r\nvar digitFieldSymbols = [\"d\", \"H\", \"h\", \"m\", \"s\", \"w\", \"M\", \"L\", \"Q\"];\r\nexport var isPossibleForParsingFormat = function(patterns) {\r\n var isDigitPattern = pattern => {\r\n if (!pattern) {\r\n return false\r\n }\r\n var char = pattern[0];\r\n return [\"y\", \"S\"].includes(char) || digitFieldSymbols.includes(char) && pattern.length < 3\r\n };\r\n var possibleForParsing = true;\r\n var ambiguousDigitPatternsCount = 0;\r\n return patterns.every((pattern, index, patterns) => {\r\n if (isDigitPattern(pattern)) {\r\n if ((pattern => \"S\" !== pattern[0] && 2 !== pattern.length)(pattern)) {\r\n possibleForParsing = ++ambiguousDigitPatternsCount < 2\r\n }\r\n if (!isDigitPattern(patterns[index + 1])) {\r\n ambiguousDigitPatternsCount = 0\r\n }\r\n }\r\n return possibleForParsing\r\n })\r\n};\r\nexport var getPatternSetters = function() {\r\n return PATTERN_SETTERS\r\n};\r\nvar setPatternPart = function(date, pattern, text, dateParts, datePartValues) {\r\n var patternChar = pattern[0];\r\n var partSetter = PATTERN_SETTERS[patternChar];\r\n var partParser = PATTERN_PARSERS[patternChar];\r\n if (partSetter && partParser) {\r\n var value = partParser(text, pattern.length, dateParts);\r\n datePartValues[pattern] = value;\r\n if (date[partSetter]) {\r\n date[partSetter](value)\r\n } else {\r\n partSetter(date, value, datePartValues)\r\n }\r\n }\r\n};\r\nvar setPatternPartFromNow = function(date, pattern, now) {\r\n var setterName = PATTERN_SETTERS[pattern];\r\n var getterName = \"g\" + setterName.substr(1);\r\n var value = now[getterName]();\r\n date[setterName](value)\r\n};\r\nvar getShortPatterns = function(fullPatterns) {\r\n return fullPatterns.map((function(pattern) {\r\n if (\"'\" === pattern[0]) {\r\n return \"\"\r\n } else {\r\n return \"H\" === pattern[0] ? \"h\" : pattern[0]\r\n }\r\n }))\r\n};\r\nvar getMaxOrderedPatternIndex = function(patterns) {\r\n var indexes = patterns.map((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern)\r\n }));\r\n return Math.max.apply(Math, indexes)\r\n};\r\nvar getOrderedFormatPatterns = function(formatPatterns) {\r\n var otherPatterns = formatPatterns.filter((function(pattern) {\r\n return ORDERED_PATTERNS.indexOf(pattern) < 0\r\n }));\r\n return ORDERED_PATTERNS.concat(otherPatterns)\r\n};\r\nexport var getParser = function(format, dateParts) {\r\n var regExpInfo = getRegExpInfo(format, dateParts);\r\n return function(text) {\r\n var regExpResult = regExpInfo.regexp.exec(text);\r\n if (regExpResult) {\r\n var now = new Date;\r\n var date = new Date(now.getFullYear(), 0, 1);\r\n var formatPatterns = getShortPatterns(regExpInfo.patterns);\r\n var maxPatternIndex = getMaxOrderedPatternIndex(formatPatterns);\r\n var orderedFormatPatterns = getOrderedFormatPatterns(formatPatterns);\r\n var datePartValues = {};\r\n orderedFormatPatterns.forEach((function(pattern, index) {\r\n if (!pattern || index < ORDERED_PATTERNS.length && index > maxPatternIndex) {\r\n return\r\n }\r\n var patternIndex = formatPatterns.indexOf(pattern);\r\n if (patternIndex >= 0) {\r\n var regExpPattern = regExpInfo.patterns[patternIndex];\r\n var regExpText = regExpResult[patternIndex + 1];\r\n setPatternPart(date, regExpPattern, regExpText, dateParts, datePartValues)\r\n } else {\r\n setPatternPartFromNow(date, pattern, now)\r\n }\r\n }));\r\n return date\r\n }\r\n return null\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/ready_callbacks.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport injector from \"./dependency_injector\";\r\nimport {\r\n hasWindow\r\n} from \"./window\";\r\nimport callOnce from \"./call_once\";\r\nvar callbacks = [];\r\nvar subscribeReady = callOnce(() => {\r\n var removeListener = domAdapter.listen(domAdapter.getDocument(), \"DOMContentLoaded\", () => {\r\n readyCallbacks.fire();\r\n removeListener()\r\n })\r\n});\r\nvar readyCallbacks = {\r\n add: callback => {\r\n var windowExists = hasWindow();\r\n if (windowExists && \"loading\" !== domAdapter.getReadyState()) {\r\n callback()\r\n } else {\r\n callbacks.push(callback);\r\n windowExists && subscribeReady()\r\n }\r\n },\r\n fire: () => {\r\n callbacks.forEach(callback => callback());\r\n callbacks = []\r\n }\r\n};\r\nexport default injector(readyCallbacks);\r\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { ElementType, getElementInfo } from './configuration/react/element';\nvar NestedOption = /** @class */ (function (_super) {\n __extends(NestedOption, _super);\n function NestedOption() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n NestedOption.prototype.render = function () {\n // @ts-expect-error TS2339\n var stateChildren = this.props.children;\n var children = React.Children.map(stateChildren, function (child) {\n var childElementInfo = getElementInfo(child);\n return childElementInfo.type === ElementType.Option ? child : null;\n });\n return React.createElement(React.Fragment, {}, children);\n };\n return NestedOption;\n}(React.PureComponent));\nexport default NestedOption;\n","/**\r\n * DevExtreme (esm/events/gesture/emitter.gesture.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n styleProp\r\n} from \"../../core/utils/style\";\r\nimport callOnce from \"../../core/utils/call_once\";\r\nimport {\r\n resetActiveElement,\r\n clearSelection\r\n} from \"../../core/utils/dom\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nvar ready = readyCallbacks.add;\r\nimport {\r\n sign\r\n} from \"../../core/utils/math\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport {\r\n isDefined\r\n} from \"../../core/utils/type\";\r\nimport {\r\n needSkipEvent,\r\n createEvent,\r\n eventData,\r\n isDxMouseWheelEvent,\r\n eventDelta,\r\n isTouchEvent\r\n} from \"../utils/index\";\r\nimport Emitter from \"../core/emitter\";\r\nvar abs = Math.abs;\r\nvar SLEEP = 0;\r\nvar INITED = 1;\r\nvar STARTED = 2;\r\nvar TOUCH_BOUNDARY = 10;\r\nvar IMMEDIATE_TOUCH_BOUNDARY = 0;\r\nvar IMMEDIATE_TIMEOUT = 180;\r\nvar supportPointerEvents = function() {\r\n return styleProp(\"pointer-events\")\r\n};\r\nvar setGestureCover = callOnce((function() {\r\n var isDesktop = \"desktop\" === devices.real().deviceType;\r\n if (!supportPointerEvents() || !isDesktop) {\r\n return noop\r\n }\r\n var $cover = $(\"
\").addClass(\"dx-gesture-cover\").css(\"pointerEvents\", \"none\");\r\n eventsEngine.subscribeGlobal($cover, \"dxmousewheel\", (function(e) {\r\n e.preventDefault()\r\n }));\r\n ready((function() {\r\n $cover.appendTo(\"body\")\r\n }));\r\n return function(toggle, cursor) {\r\n $cover.css(\"pointerEvents\", toggle ? \"all\" : \"none\");\r\n toggle && $cover.css(\"cursor\", cursor)\r\n }\r\n}));\r\nvar gestureCover = function(toggle, cursor) {\r\n var gestureCoverStrategy = setGestureCover();\r\n gestureCoverStrategy(toggle, cursor)\r\n};\r\nvar GestureEmitter = Emitter.inherit({\r\n gesture: true,\r\n configure: function(data) {\r\n this.getElement().css(\"msTouchAction\", data.immediate ? \"pinch-zoom\" : \"\");\r\n this.callBase(data)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return this._stage !== STARTED\r\n },\r\n getDirection: function() {\r\n return this.direction\r\n },\r\n _cancel: function() {\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false);\r\n this._stage = SLEEP\r\n },\r\n start: function(e) {\r\n if (e._needSkipEvent || needSkipEvent(e)) {\r\n this._cancel(e);\r\n return\r\n }\r\n this._startEvent = createEvent(e);\r\n this._startEventData = eventData(e);\r\n this._stage = INITED;\r\n this._init(e);\r\n this._setupImmediateTimer()\r\n },\r\n _setupImmediateTimer: function() {\r\n var _this$immediateTimeou;\r\n clearTimeout(this._immediateTimer);\r\n this._immediateAccepted = false;\r\n if (!this.immediate) {\r\n return\r\n }\r\n if (0 === this.immediateTimeout) {\r\n this._immediateAccepted = true;\r\n return\r\n }\r\n this._immediateTimer = setTimeout(function() {\r\n this._immediateAccepted = true\r\n }.bind(this), null !== (_this$immediateTimeou = this.immediateTimeout) && void 0 !== _this$immediateTimeou ? _this$immediateTimeou : IMMEDIATE_TIMEOUT)\r\n },\r\n move: function(e) {\r\n if (this._stage === INITED && this._directionConfirmed(e)) {\r\n this._stage = STARTED;\r\n this._resetActiveElement();\r\n this._toggleGestureCover(true);\r\n this._clearSelection(e);\r\n this._adjustStartEvent(e);\r\n this._start(this._startEvent);\r\n if (this._stage === SLEEP) {\r\n return\r\n }\r\n this._requestAccept(e);\r\n this._move(e);\r\n this._forgetAccept()\r\n } else if (this._stage === STARTED) {\r\n this._clearSelection(e);\r\n this._move(e)\r\n }\r\n },\r\n _directionConfirmed: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n var deltaX = abs(delta.x);\r\n var deltaY = abs(delta.y);\r\n var horizontalMove = this._validateMove(touchBoundary, deltaX, deltaY);\r\n var verticalMove = this._validateMove(touchBoundary, deltaY, deltaX);\r\n var direction = this.getDirection(e);\r\n var bothAccepted = \"both\" === direction && (horizontalMove || verticalMove);\r\n var horizontalAccepted = \"horizontal\" === direction && horizontalMove;\r\n var verticalAccepted = \"vertical\" === direction && verticalMove;\r\n return bothAccepted || horizontalAccepted || verticalAccepted || this._immediateAccepted\r\n },\r\n _validateMove: function(touchBoundary, mainAxis, crossAxis) {\r\n return mainAxis && mainAxis >= touchBoundary && (this.immediate ? mainAxis >= crossAxis : true)\r\n },\r\n _getTouchBoundary: function(e) {\r\n return this.immediate || isDxMouseWheelEvent(e) ? IMMEDIATE_TOUCH_BOUNDARY : TOUCH_BOUNDARY\r\n },\r\n _adjustStartEvent: function(e) {\r\n var touchBoundary = this._getTouchBoundary(e);\r\n var delta = eventDelta(this._startEventData, eventData(e));\r\n this._startEvent.pageX += sign(delta.x) * touchBoundary;\r\n this._startEvent.pageY += sign(delta.y) * touchBoundary\r\n },\r\n _resetActiveElement: function() {\r\n if (\"ios\" === devices.real().platform && this.getElement().find(\":focus\").length) {\r\n resetActiveElement()\r\n }\r\n },\r\n _toggleGestureCover: function(toggle) {\r\n this._toggleGestureCoverImpl(toggle)\r\n },\r\n _toggleGestureCoverImpl: function(toggle) {\r\n var isStarted = this._stage === STARTED;\r\n if (isStarted) {\r\n gestureCover(toggle, this.getElement().css(\"cursor\"))\r\n }\r\n },\r\n _clearSelection: function(e) {\r\n if (isDxMouseWheelEvent(e) || isTouchEvent(e)) {\r\n return\r\n }\r\n clearSelection()\r\n },\r\n end: function(e) {\r\n this._toggleGestureCover(false);\r\n if (this._stage === STARTED) {\r\n this._end(e)\r\n } else if (this._stage === INITED) {\r\n this._stop(e)\r\n }\r\n this._stage = SLEEP\r\n },\r\n dispose: function() {\r\n clearTimeout(this._immediateTimer);\r\n this.callBase.apply(this, arguments);\r\n this._toggleGestureCover(false)\r\n },\r\n _init: noop,\r\n _start: noop,\r\n _move: noop,\r\n _stop: noop,\r\n _end: noop\r\n});\r\nGestureEmitter.initialTouchBoundary = TOUCH_BOUNDARY;\r\nGestureEmitter.touchBoundary = function(newBoundary) {\r\n if (isDefined(newBoundary)) {\r\n TOUCH_BOUNDARY = newBoundary;\r\n return\r\n }\r\n return TOUCH_BOUNDARY\r\n};\r\nexport default GestureEmitter;\r\n","/**\r\n * DevExtreme (esm/renovation/ui/common/utils/date/toMilliseconds.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar timeIntervals = {\r\n millisecond: 1,\r\n second: 1e3,\r\n minute: 6e4,\r\n hour: 36e5,\r\n day: 864e5,\r\n week: 6048e5,\r\n month: 2592e6,\r\n quarter: 7776e6,\r\n year: 31536e6\r\n};\r\nexport function toMilliseconds(value) {\r\n return timeIntervals[value]\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/date.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isObject,\r\n isString,\r\n isDate,\r\n isDefined,\r\n isNumeric\r\n} from \"./type\";\r\nimport {\r\n adjust\r\n} from \"./math\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport {\r\n camelize\r\n} from \"./inflector\";\r\nimport {\r\n toMilliseconds\r\n} from \"../../renovation/ui/common/utils/date/index\";\r\nvar DAYS_IN_WEEK = 7;\r\nvar THURSDAY_WEEK_NUMBER = 4;\r\nvar SUNDAY_WEEK_NUMBER = 7;\r\nvar USUAL_WEEK_COUNT_IN_YEAR = 52;\r\nvar dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\", \"month\", \"quarter\", \"year\"];\r\nvar getDatesInterval = function(startDate, endDate, intervalUnit) {\r\n var delta = endDate.getTime() - startDate.getTime();\r\n var millisecondCount = toMilliseconds(intervalUnit) || 1;\r\n return Math.floor(delta / millisecondCount)\r\n};\r\nvar getNextDateUnit = function(unit, withWeeks) {\r\n var interval = getDateUnitInterval(unit);\r\n switch (interval) {\r\n case \"millisecond\":\r\n return \"second\";\r\n case \"second\":\r\n return \"minute\";\r\n case \"minute\":\r\n return \"hour\";\r\n case \"hour\":\r\n return \"day\";\r\n case \"day\":\r\n return withWeeks ? \"week\" : \"month\";\r\n case \"week\":\r\n return \"month\";\r\n case \"month\":\r\n return \"quarter\";\r\n case \"quarter\":\r\n case \"year\":\r\n return \"year\";\r\n default:\r\n return 0\r\n }\r\n};\r\nvar convertMillisecondsToDateUnits = function(value) {\r\n var i;\r\n var dateUnitCount;\r\n var dateUnitInterval;\r\n var dateUnitIntervals = [\"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"month\", \"year\"];\r\n var result = {};\r\n for (i = dateUnitIntervals.length - 1; i >= 0; i--) {\r\n dateUnitInterval = dateUnitIntervals[i];\r\n dateUnitCount = Math.floor(value / toMilliseconds(dateUnitInterval));\r\n if (dateUnitCount > 0) {\r\n result[dateUnitInterval + \"s\"] = dateUnitCount;\r\n value -= convertDateUnitToMilliseconds(dateUnitInterval, dateUnitCount)\r\n }\r\n }\r\n return result\r\n};\r\nvar dateToMilliseconds = function(tickInterval) {\r\n var milliseconds = 0;\r\n if (isObject(tickInterval)) {\r\n each(tickInterval, (function(key, value) {\r\n milliseconds += convertDateUnitToMilliseconds(key.substr(0, key.length - 1), value)\r\n }))\r\n }\r\n if (isString(tickInterval)) {\r\n milliseconds = convertDateUnitToMilliseconds(tickInterval, 1)\r\n }\r\n return milliseconds\r\n};\r\n\r\nfunction convertDateUnitToMilliseconds(dateUnit, count) {\r\n return toMilliseconds(dateUnit) * count\r\n}\r\n\r\nfunction getDateUnitInterval(tickInterval) {\r\n var maxInterval = -1;\r\n var i;\r\n if (isString(tickInterval)) {\r\n return tickInterval\r\n }\r\n if (isObject(tickInterval)) {\r\n each(tickInterval, (function(key, value) {\r\n for (i = 0; i < dateUnitIntervals.length; i++) {\r\n if (value && (key === dateUnitIntervals[i] + \"s\" || key === dateUnitIntervals[i]) && maxInterval < i) {\r\n maxInterval = i\r\n }\r\n }\r\n }));\r\n return dateUnitIntervals[maxInterval]\r\n }\r\n return \"\"\r\n}\r\nvar tickIntervalToFormatMap = {\r\n millisecond: \"millisecond\",\r\n second: \"longtime\",\r\n minute: \"shorttime\",\r\n hour: \"shorttime\",\r\n day: \"day\",\r\n week: \"day\",\r\n month: \"month\",\r\n quarter: \"quarter\",\r\n year: \"year\"\r\n};\r\n\r\nfunction getDateFormatByTickInterval(tickInterval) {\r\n return tickIntervalToFormatMap[getDateUnitInterval(tickInterval)] || \"\"\r\n}\r\nvar getQuarter = function(month) {\r\n return Math.floor(month / 3)\r\n};\r\nvar getFirstQuarterMonth = function(month) {\r\n return 3 * getQuarter(month)\r\n};\r\n\r\nfunction correctDateWithUnitBeginning(date, dateInterval, withCorrection, firstDayOfWeek) {\r\n date = new Date(date.getTime());\r\n var oldDate = new Date(date.getTime());\r\n var firstQuarterMonth;\r\n var month;\r\n var dateUnitInterval = getDateUnitInterval(dateInterval);\r\n switch (dateUnitInterval) {\r\n case \"second\":\r\n date = new Date(1e3 * Math.floor(oldDate.getTime() / 1e3));\r\n break;\r\n case \"minute\":\r\n date = new Date(6e4 * Math.floor(oldDate.getTime() / 6e4));\r\n break;\r\n case \"hour\":\r\n date = new Date(36e5 * Math.floor(oldDate.getTime() / 36e5));\r\n break;\r\n case \"year\":\r\n date.setMonth(0);\r\n case \"month\":\r\n date.setDate(1);\r\n case \"day\":\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"week\":\r\n date = getFirstWeekDate(date, firstDayOfWeek || 0);\r\n date.setHours(0, 0, 0, 0);\r\n break;\r\n case \"quarter\":\r\n firstQuarterMonth = getFirstQuarterMonth(date.getMonth());\r\n month = date.getMonth();\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n if (month !== firstQuarterMonth) {\r\n date.setMonth(firstQuarterMonth)\r\n }\r\n }\r\n if (withCorrection && \"hour\" !== dateUnitInterval && \"minute\" !== dateUnitInterval && \"second\" !== dateUnitInterval) {\r\n fixTimezoneGap(oldDate, date)\r\n }\r\n return date\r\n}\r\n\r\nfunction trimTime(date) {\r\n return correctDateWithUnitBeginning(date, \"day\")\r\n}\r\nvar setToDayEnd = function(date) {\r\n var result = trimTime(date);\r\n result.setDate(result.getDate() + 1);\r\n return new Date(result.getTime() - 1)\r\n};\r\nvar getDatesDifferences = function(date1, date2) {\r\n var counter = 0;\r\n var differences = {\r\n year: date1.getFullYear() !== date2.getFullYear(),\r\n month: date1.getMonth() !== date2.getMonth(),\r\n day: date1.getDate() !== date2.getDate(),\r\n hour: date1.getHours() !== date2.getHours(),\r\n minute: date1.getMinutes() !== date2.getMinutes(),\r\n second: date1.getSeconds() !== date2.getSeconds(),\r\n millisecond: date1.getMilliseconds() !== date2.getMilliseconds()\r\n };\r\n each(differences, (function(key, value) {\r\n if (value) {\r\n counter++\r\n }\r\n }));\r\n if (0 === counter && 0 !== getTimezonesDifference(date1, date2)) {\r\n differences.hour = true;\r\n counter++\r\n }\r\n differences.count = counter;\r\n return differences\r\n};\r\n\r\nfunction addDateInterval(value, interval, dir) {\r\n var result = new Date(value.getTime());\r\n var intervalObject = isString(interval) ? getDateIntervalByString(interval.toLowerCase()) : isNumeric(interval) ? convertMillisecondsToDateUnits(interval) : interval;\r\n if (intervalObject.years) {\r\n result.setFullYear(result.getFullYear() + intervalObject.years * dir)\r\n }\r\n if (intervalObject.quarters) {\r\n result.setMonth(result.getMonth() + 3 * intervalObject.quarters * dir)\r\n }\r\n if (intervalObject.months) {\r\n result.setMonth(result.getMonth() + intervalObject.months * dir)\r\n }\r\n if (intervalObject.weeks) {\r\n result.setDate(result.getDate() + 7 * intervalObject.weeks * dir)\r\n }\r\n if (intervalObject.days) {\r\n result.setDate(result.getDate() + intervalObject.days * dir)\r\n }\r\n if (intervalObject.hours) {\r\n result.setTime(result.getTime() + 36e5 * intervalObject.hours * dir)\r\n }\r\n if (intervalObject.minutes) {\r\n result.setTime(result.getTime() + 6e4 * intervalObject.minutes * dir)\r\n }\r\n if (intervalObject.seconds) {\r\n result.setTime(result.getTime() + 1e3 * intervalObject.seconds * dir)\r\n }\r\n if (intervalObject.milliseconds) {\r\n result.setTime(result.getTime() + intervalObject.milliseconds * dir)\r\n }\r\n return result\r\n}\r\nvar addInterval = function(value, interval, isNegative) {\r\n var dir = isNegative ? -1 : 1;\r\n return isDate(value) ? addDateInterval(value, interval, dir) : adjust(value + interval * dir, interval)\r\n};\r\nvar getSequenceByInterval = function(min, max, interval) {\r\n var intervals = [];\r\n var cur;\r\n intervals.push(isDate(min) ? new Date(min.getTime()) : min);\r\n cur = min;\r\n while (cur < max) {\r\n cur = addInterval(cur, interval);\r\n intervals.push(cur)\r\n }\r\n return intervals\r\n};\r\nvar getViewFirstCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), 1)\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 0, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date), date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date), date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewLastCellDate = function(viewType, date) {\r\n if (\"month\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), date.getMonth(), getLastMonthDay(date))\r\n }\r\n if (\"year\" === viewType) {\r\n return createDateWithFullYear(date.getFullYear(), 11, date.getDate())\r\n }\r\n if (\"decade\" === viewType) {\r\n return createDateWithFullYear(getFirstYearInDecade(date) + 9, date.getMonth(), date.getDate())\r\n }\r\n if (\"century\" === viewType) {\r\n return createDateWithFullYear(getFirstDecadeInCentury(date) + 90, date.getMonth(), date.getDate())\r\n }\r\n};\r\nvar getViewMinBoundaryDate = function(viewType, date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth(), 1);\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(0);\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date))\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date))\r\n }\r\n return resultDate\r\n};\r\nvar getViewMaxBoundaryDate = function(viewType, date) {\r\n var resultDate = new Date(date);\r\n resultDate.setDate(getLastMonthDay(date));\r\n if (\"month\" === viewType) {\r\n return resultDate\r\n }\r\n resultDate.setMonth(11);\r\n resultDate.setDate(getLastMonthDay(resultDate));\r\n if (\"year\" === viewType) {\r\n return resultDate\r\n }\r\n if (\"decade\" === viewType) {\r\n resultDate.setFullYear(getFirstYearInDecade(date) + 9)\r\n }\r\n if (\"century\" === viewType) {\r\n resultDate.setFullYear(getFirstDecadeInCentury(date) + 99)\r\n }\r\n return resultDate\r\n};\r\n\r\nfunction getLastMonthDay(date) {\r\n var resultDate = createDateWithFullYear(date.getFullYear(), date.getMonth() + 1, 0);\r\n return resultDate.getDate()\r\n}\r\nvar getViewUp = function(typeView) {\r\n switch (typeView) {\r\n case \"month\":\r\n return \"year\";\r\n case \"year\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"century\"\r\n }\r\n};\r\nvar getViewDown = function(typeView) {\r\n switch (typeView) {\r\n case \"century\":\r\n return \"decade\";\r\n case \"decade\":\r\n return \"year\";\r\n case \"year\":\r\n return \"month\"\r\n }\r\n};\r\nvar getDifferenceInMonth = function(typeView) {\r\n var difference = 1;\r\n if (\"year\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"decade\" === typeView) {\r\n difference = 120\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 1200\r\n }\r\n return difference\r\n};\r\nvar getDifferenceInMonthForCells = function(typeView) {\r\n var difference = 1;\r\n if (\"decade\" === typeView) {\r\n difference = 12\r\n }\r\n if (\"century\" === typeView) {\r\n difference = 120\r\n }\r\n return difference\r\n};\r\n\r\nfunction getDateIntervalByString(intervalString) {\r\n var result = {};\r\n switch (intervalString) {\r\n case \"year\":\r\n result.years = 1;\r\n break;\r\n case \"month\":\r\n result.months = 1;\r\n break;\r\n case \"quarter\":\r\n result.months = 3;\r\n break;\r\n case \"week\":\r\n result.weeks = 1;\r\n break;\r\n case \"day\":\r\n result.days = 1;\r\n break;\r\n case \"hour\":\r\n result.hours = 1;\r\n break;\r\n case \"minute\":\r\n result.minutes = 1;\r\n break;\r\n case \"second\":\r\n result.seconds = 1;\r\n break;\r\n case \"millisecond\":\r\n result.milliseconds = 1\r\n }\r\n return result\r\n}\r\n\r\nfunction sameDate(date1, date2) {\r\n return sameMonthAndYear(date1, date2) && date1.getDate() === date2.getDate()\r\n}\r\n\r\nfunction sameMonthAndYear(date1, date2) {\r\n return sameYear(date1, date2) && date1.getMonth() === date2.getMonth()\r\n}\r\n\r\nfunction sameYear(date1, date2) {\r\n return date1 && date2 && date1.getFullYear() === date2.getFullYear()\r\n}\r\n\r\nfunction sameHoursAndMinutes(date1, date2) {\r\n return date1 && date2 && date1.getHours() === date2.getHours() && date1.getMinutes() === date2.getMinutes()\r\n}\r\nvar sameDecade = function(date1, date2) {\r\n if (!isDefined(date1) || !isDefined(date2)) {\r\n return\r\n }\r\n var startDecadeDate1 = date1.getFullYear() - date1.getFullYear() % 10;\r\n var startDecadeDate2 = date2.getFullYear() - date2.getFullYear() % 10;\r\n return date1 && date2 && startDecadeDate1 === startDecadeDate2\r\n};\r\nvar sameCentury = function(date1, date2) {\r\n if (!isDefined(date1) || !isDefined(date2)) {\r\n return\r\n }\r\n var startCenturyDate1 = date1.getFullYear() - date1.getFullYear() % 100;\r\n var startCenturyDate2 = date2.getFullYear() - date2.getFullYear() % 100;\r\n return date1 && date2 && startCenturyDate1 === startCenturyDate2\r\n};\r\n\r\nfunction getFirstDecadeInCentury(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 100\r\n}\r\n\r\nfunction getFirstYearInDecade(date) {\r\n return date && date.getFullYear() - date.getFullYear() % 10\r\n}\r\nvar getShortDateFormat = function() {\r\n return \"yyyy/MM/dd\"\r\n};\r\nvar getFirstMonthDate = function(date) {\r\n var offset = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n if (!isDefined(date)) {\r\n return\r\n }\r\n var currentDate = new Date(date.getTime());\r\n var month = currentDate.getMonth() + offset;\r\n currentDate.setMonth(month);\r\n return createDateWithFullYear(currentDate.getFullYear(), month, 1)\r\n};\r\nvar getLastMonthDate = function(date) {\r\n var offset = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;\r\n if (!isDefined(date)) {\r\n return\r\n }\r\n var currentDate = new Date(date.getTime());\r\n var month = currentDate.getMonth() + offset;\r\n currentDate.setMonth(month);\r\n return createDateWithFullYear(currentDate.getFullYear(), month + 1, 0)\r\n};\r\n\r\nfunction getFirstWeekDate(date, firstDayOfWeek) {\r\n var delta = (date.getDay() - firstDayOfWeek + DAYS_IN_WEEK) % DAYS_IN_WEEK;\r\n var result = new Date(date);\r\n result.setDate(date.getDate() - delta);\r\n return result\r\n}\r\n\r\nfunction getUTCTime(date) {\r\n return Date.UTC(date.getFullYear(), date.getMonth(), date.getDate())\r\n}\r\n\r\nfunction getDayNumber(date) {\r\n var ms = getUTCTime(date) - getUTCTime(getFirstDateInYear(date.getFullYear()));\r\n return 1 + Math.floor(ms / toMilliseconds(\"day\"))\r\n}\r\n\r\nfunction getFirstDateInYear(year) {\r\n return new Date(year, 0, 1)\r\n}\r\n\r\nfunction getLastDateInYear(year) {\r\n return new Date(year, 11, 31)\r\n}\r\n\r\nfunction getDayWeekNumber(date, firstDayOfWeek) {\r\n var day = date.getDay() - firstDayOfWeek + 1;\r\n if (day <= 0) {\r\n day += DAYS_IN_WEEK\r\n }\r\n return day\r\n}\r\n\r\nfunction getWeekNumber(date, firstDayOfWeek, rule) {\r\n var firstWeekDayInYear = getDayWeekNumber(getFirstDateInYear(date.getFullYear()), firstDayOfWeek);\r\n var lastWeekDayInYear = getDayWeekNumber(getLastDateInYear(date.getFullYear()), firstDayOfWeek);\r\n var daysInFirstWeek = DAYS_IN_WEEK - firstWeekDayInYear + 1;\r\n var weekNumber = Math.ceil((getDayNumber(date) - daysInFirstWeek) / 7);\r\n switch (rule) {\r\n case \"fullWeek\":\r\n if (daysInFirstWeek === DAYS_IN_WEEK) {\r\n weekNumber++\r\n }\r\n if (0 === weekNumber) {\r\n var lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1);\r\n return getWeekNumber(lastDateInPreviousYear, firstDayOfWeek, rule)\r\n }\r\n return weekNumber;\r\n case \"firstDay\":\r\n if (daysInFirstWeek > 0) {\r\n weekNumber++\r\n }\r\n var isSunday = firstWeekDayInYear === SUNDAY_WEEK_NUMBER || lastWeekDayInYear === SUNDAY_WEEK_NUMBER;\r\n if (weekNumber > USUAL_WEEK_COUNT_IN_YEAR && !isSunday || 54 === weekNumber) {\r\n weekNumber = 1\r\n }\r\n return weekNumber;\r\n case \"firstFourDays\":\r\n if (daysInFirstWeek > 3) {\r\n weekNumber++\r\n }\r\n var isThursday = firstWeekDayInYear === THURSDAY_WEEK_NUMBER || lastWeekDayInYear === THURSDAY_WEEK_NUMBER;\r\n if (weekNumber > USUAL_WEEK_COUNT_IN_YEAR && !isThursday) {\r\n weekNumber = 1\r\n }\r\n if (0 === weekNumber) {\r\n var _lastDateInPreviousYear = getLastDateInYear(date.getFullYear() - 1);\r\n return getWeekNumber(_lastDateInPreviousYear, firstDayOfWeek, rule)\r\n }\r\n return weekNumber\r\n }\r\n}\r\nvar normalizeDateByWeek = function(date, currentDate) {\r\n var differenceInDays = dateUtils.getDatesInterval(date, currentDate, \"day\");\r\n var resultDate = new Date(date);\r\n if (differenceInDays >= 6) {\r\n resultDate = new Date(resultDate.setDate(resultDate.getDate() + 7))\r\n }\r\n return resultDate\r\n};\r\nvar dateInRange = function(date, min, max, format) {\r\n if (\"date\" === format) {\r\n min = min && dateUtils.correctDateWithUnitBeginning(min, \"day\");\r\n max = max && dateUtils.correctDateWithUnitBeginning(max, \"day\");\r\n date = date && dateUtils.correctDateWithUnitBeginning(date, \"day\")\r\n }\r\n return normalizeDate(date, min, max) === date\r\n};\r\nvar intervalsOverlap = function(options) {\r\n var {\r\n firstMin: firstMin,\r\n firstMax: firstMax,\r\n secondMin: secondMin,\r\n secondMax: secondMax\r\n } = options;\r\n return firstMin <= secondMin && secondMin <= firstMax || firstMin > secondMin && firstMin < secondMax || firstMin < secondMax && firstMax > secondMax\r\n};\r\nvar dateTimeFromDecimal = function(number) {\r\n var hours = Math.floor(number);\r\n var minutes = number % 1 * 60;\r\n return {\r\n hours: hours,\r\n minutes: minutes\r\n }\r\n};\r\nvar roundDateByStartDayHour = function(date, startDayHour) {\r\n var startTime = this.dateTimeFromDecimal(startDayHour);\r\n var result = new Date(date);\r\n if (date.getHours() === startTime.hours && date.getMinutes() < startTime.minutes || date.getHours() < startTime.hours) {\r\n result.setHours(startTime.hours, startTime.minutes, 0, 0)\r\n }\r\n return result\r\n};\r\n\r\nfunction normalizeDate(date, min, max) {\r\n var normalizedDate = date;\r\n if (!isDefined(date)) {\r\n return date\r\n }\r\n if (isDefined(min) && date < min) {\r\n normalizedDate = min\r\n }\r\n if (isDefined(max) && date > max) {\r\n normalizedDate = max\r\n }\r\n return normalizedDate\r\n}\r\n\r\nfunction fixTimezoneGap(oldDate, newDate) {\r\n if (!isDefined(oldDate)) {\r\n return\r\n }\r\n var diff = newDate.getHours() - oldDate.getHours();\r\n if (0 === diff) {\r\n return\r\n }\r\n var sign = 1 === diff || -23 === diff ? -1 : 1;\r\n var trial = new Date(newDate.getTime() + 36e5 * sign);\r\n if (sign > 0 || trial.getDate() === newDate.getDate()) {\r\n newDate.setTime(trial.getTime())\r\n }\r\n}\r\nvar roundToHour = function(date) {\r\n var result = new Date(date.getTime());\r\n result.setHours(result.getHours() + 1);\r\n result.setMinutes(0);\r\n return result\r\n};\r\n\r\nfunction getTimezonesDifference(min, max) {\r\n return 60 * (max.getTimezoneOffset() - min.getTimezoneOffset()) * 1e3\r\n}\r\nvar makeDate = function(date) {\r\n return new Date(date)\r\n};\r\nvar getDatesOfInterval = function(startDate, endDate, step) {\r\n var result = [];\r\n var currentDate = new Date(startDate.getTime());\r\n while (currentDate < endDate) {\r\n result.push(new Date(currentDate.getTime()));\r\n currentDate = this.addInterval(currentDate, step)\r\n }\r\n return result\r\n};\r\nvar createDateWithFullYear = function(year) {\r\n var result = new Date(...arguments);\r\n result.setFullYear(year);\r\n return result\r\n};\r\nvar getMachineTimezoneName = () => {\r\n var hasIntl = \"undefined\" !== typeof Intl;\r\n return hasIntl ? Intl.DateTimeFormat().resolvedOptions().timeZone : null\r\n};\r\nvar dateUtils = {\r\n dateUnitIntervals: dateUnitIntervals,\r\n convertMillisecondsToDateUnits: convertMillisecondsToDateUnits,\r\n dateToMilliseconds: dateToMilliseconds,\r\n getNextDateUnit: getNextDateUnit,\r\n convertDateUnitToMilliseconds: convertDateUnitToMilliseconds,\r\n getDateUnitInterval: getDateUnitInterval,\r\n getDateFormatByTickInterval: getDateFormatByTickInterval,\r\n getDatesDifferences: getDatesDifferences,\r\n correctDateWithUnitBeginning: correctDateWithUnitBeginning,\r\n trimTime: trimTime,\r\n setToDayEnd: setToDayEnd,\r\n roundDateByStartDayHour: roundDateByStartDayHour,\r\n dateTimeFromDecimal: dateTimeFromDecimal,\r\n addDateInterval: addDateInterval,\r\n addInterval: addInterval,\r\n getSequenceByInterval: getSequenceByInterval,\r\n getDateIntervalByString: getDateIntervalByString,\r\n sameHoursAndMinutes: sameHoursAndMinutes,\r\n sameDate: sameDate,\r\n sameMonthAndYear: sameMonthAndYear,\r\n sameMonth: sameMonthAndYear,\r\n sameYear: sameYear,\r\n sameDecade: sameDecade,\r\n sameCentury: sameCentury,\r\n getDifferenceInMonth: getDifferenceInMonth,\r\n getDifferenceInMonthForCells: getDifferenceInMonthForCells,\r\n getFirstYearInDecade: getFirstYearInDecade,\r\n getFirstDecadeInCentury: getFirstDecadeInCentury,\r\n getShortDateFormat: getShortDateFormat,\r\n getViewFirstCellDate: getViewFirstCellDate,\r\n getViewLastCellDate: getViewLastCellDate,\r\n getViewDown: getViewDown,\r\n getViewUp: getViewUp,\r\n getLastMonthDay: getLastMonthDay,\r\n getLastMonthDate: getLastMonthDate,\r\n getFirstMonthDate: getFirstMonthDate,\r\n getFirstWeekDate: getFirstWeekDate,\r\n getWeekNumber: getWeekNumber,\r\n normalizeDateByWeek: normalizeDateByWeek,\r\n getQuarter: getQuarter,\r\n getFirstQuarterMonth: getFirstQuarterMonth,\r\n dateInRange: dateInRange,\r\n intervalsOverlap: intervalsOverlap,\r\n roundToHour: roundToHour,\r\n normalizeDate: normalizeDate,\r\n getViewMinBoundaryDate: getViewMinBoundaryDate,\r\n getViewMaxBoundaryDate: getViewMaxBoundaryDate,\r\n fixTimezoneGap: fixTimezoneGap,\r\n getTimezonesDifference: getTimezonesDifference,\r\n makeDate: makeDate,\r\n getDatesInterval: getDatesInterval,\r\n getDatesOfInterval: getDatesOfInterval,\r\n createDateWithFullYear: createDateWithFullYear,\r\n getMachineTimezoneName: getMachineTimezoneName\r\n};\r\ndateUtils.sameView = function(view, date1, date2) {\r\n return dateUtils[camelize(\"same \" + view)](date1, date2)\r\n};\r\nexport default dateUtils;\r\n","/**\r\n * DevExtreme (esm/core/utils/resize_callbacks.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"./window\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"./callbacks\";\r\nimport readyCallbacks from \"./ready_callbacks\";\r\nimport callOnce from \"./call_once\";\r\nvar resizeCallbacks = function() {\r\n var prevSize;\r\n var callbacks = Callbacks();\r\n var originalCallbacksAdd = callbacks.add;\r\n var originalCallbacksRemove = callbacks.remove;\r\n if (!hasWindow()) {\r\n return callbacks\r\n }\r\n var formatSize = function() {\r\n var window = getWindow();\r\n return {\r\n width: window.innerWidth,\r\n height: window.innerHeight\r\n }\r\n };\r\n var handleResize = function() {\r\n var now = formatSize();\r\n if (now.width === prevSize.width && now.height === prevSize.height) {\r\n return\r\n }\r\n var changedDimension;\r\n if (now.width === prevSize.width) {\r\n changedDimension = \"height\"\r\n }\r\n if (now.height === prevSize.height) {\r\n changedDimension = \"width\"\r\n }\r\n prevSize = now;\r\n callbacks.fire(changedDimension)\r\n };\r\n var setPrevSize = callOnce((function() {\r\n prevSize = formatSize()\r\n }));\r\n var removeListener;\r\n callbacks.add = function() {\r\n var result = originalCallbacksAdd.apply(callbacks, arguments);\r\n setPrevSize();\r\n readyCallbacks.add((function() {\r\n if (!removeListener && callbacks.has()) {\r\n removeListener = domAdapter.listen(getWindow(), \"resize\", handleResize)\r\n }\r\n }));\r\n return result\r\n };\r\n callbacks.remove = function() {\r\n var result = originalCallbacksRemove.apply(callbacks, arguments);\r\n if (!callbacks.has() && removeListener) {\r\n removeListener();\r\n removeListener = void 0\r\n }\r\n return result\r\n };\r\n return callbacks\r\n}();\r\nexport default resizeCallbacks;\r\n","/**\r\n * DevExtreme (esm/core/utils/dependency_injector.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport Class from \"../class\";\r\nexport default function(object) {\r\n var BaseClass = Class.inherit(object);\r\n var InjectedClass = BaseClass;\r\n var instance = new InjectedClass(object);\r\n var initialFields = {};\r\n var injectFields = function(injectionObject, initial) {\r\n each(injectionObject, (function(key) {\r\n if (isFunction(instance[key])) {\r\n if (initial || !object[key]) {\r\n object[key] = function() {\r\n return instance[key].apply(object, arguments)\r\n }\r\n }\r\n } else {\r\n if (initial) {\r\n initialFields[key] = object[key]\r\n }\r\n object[key] = instance[key]\r\n }\r\n }))\r\n };\r\n injectFields(object, true);\r\n object.inject = function(injectionObject) {\r\n InjectedClass = InjectedClass.inherit(injectionObject);\r\n instance = new InjectedClass;\r\n injectFields(injectionObject)\r\n };\r\n object.resetInjection = function() {\r\n extend(object, initialFields);\r\n InjectedClass = BaseClass;\r\n instance = new BaseClass\r\n };\r\n return object\r\n}\r\n","/**\r\n * DevExtreme (esm/events/core/event_registrator_callbacks.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport MemorizedCallbacks from \"../../core/memorized_callbacks\";\r\nexport default new MemorizedCallbacks;\r\n","/**\r\n * DevExtreme (esm/events/utils/add_namespace.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../../core/errors\";\r\nvar addNamespace = (eventNames, namespace) => {\r\n if (!namespace) {\r\n throw errors.Error(\"E0017\")\r\n }\r\n if (Array.isArray(eventNames)) {\r\n return eventNames.map(eventName => addNamespace(eventName, namespace)).join(\" \")\r\n }\r\n if (-1 !== eventNames.indexOf(\" \")) {\r\n return addNamespace(eventNames.split(/\\s+/g), namespace)\r\n }\r\n return \"\".concat(eventNames, \".\").concat(namespace)\r\n};\r\nexport default addNamespace;\r\n","/**\r\n * DevExtreme (esm/events/utils/index.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport mappedAddNamespace from \"./add_namespace\";\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n focused\r\n} from \"../../ui/widget/selectors\";\r\nvar KEY_MAP = {\r\n backspace: \"backspace\",\r\n tab: \"tab\",\r\n enter: \"enter\",\r\n escape: \"escape\",\r\n pageup: \"pageUp\",\r\n pagedown: \"pageDown\",\r\n end: \"end\",\r\n home: \"home\",\r\n arrowleft: \"leftArrow\",\r\n arrowup: \"upArrow\",\r\n arrowright: \"rightArrow\",\r\n arrowdown: \"downArrow\",\r\n delete: \"del\",\r\n \" \": \"space\",\r\n f: \"F\",\r\n a: \"A\",\r\n \"*\": \"asterisk\",\r\n \"-\": \"minus\",\r\n alt: \"alt\",\r\n control: \"control\",\r\n shift: \"shift\"\r\n};\r\nvar LEGACY_KEY_CODES = {\r\n 8: \"backspace\",\r\n 9: \"tab\",\r\n 13: \"enter\",\r\n 27: \"escape\",\r\n 33: \"pageUp\",\r\n 34: \"pageDown\",\r\n 35: \"end\",\r\n 36: \"home\",\r\n 37: \"leftArrow\",\r\n 38: \"upArrow\",\r\n 39: \"rightArrow\",\r\n 40: \"downArrow\",\r\n 46: \"del\",\r\n 32: \"space\",\r\n 70: \"F\",\r\n 65: \"A\",\r\n 106: \"asterisk\",\r\n 109: \"minus\",\r\n 189: \"minus\",\r\n 173: \"minus\",\r\n 16: \"shift\",\r\n 17: \"control\",\r\n 18: \"alt\"\r\n};\r\nvar EVENT_SOURCES_REGEX = {\r\n dx: /^dx/i,\r\n mouse: /(mouse|wheel)/i,\r\n touch: /^touch/i,\r\n keyboard: /^key/i,\r\n pointer: /^(ms)?pointer/i\r\n};\r\nvar fixMethod = e => e;\r\nvar copyEvent = originalEvent => fixMethod(eventsEngine.Event(originalEvent, originalEvent), originalEvent);\r\nvar isDxEvent = e => \"dx\" === eventSource(e);\r\nvar isNativeMouseEvent = e => \"mouse\" === eventSource(e);\r\nvar isNativeTouchEvent = e => \"touch\" === eventSource(e);\r\nexport var eventSource = _ref => {\r\n var {\r\n type: type\r\n } = _ref;\r\n var result = \"other\";\r\n each(EVENT_SOURCES_REGEX, (function(key) {\r\n if (this.test(type)) {\r\n result = key;\r\n return false\r\n }\r\n }));\r\n return result\r\n};\r\nexport var isPointerEvent = e => \"pointer\" === eventSource(e);\r\nexport var isMouseEvent = e => isNativeMouseEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"mouse\" === e.pointerType;\r\nexport var isDxMouseWheelEvent = e => e && \"dxmousewheel\" === e.type;\r\nexport var isTouchEvent = e => isNativeTouchEvent(e) || (isPointerEvent(e) || isDxEvent(e)) && \"touch\" === e.pointerType;\r\nexport var isKeyboardEvent = e => \"keyboard\" === eventSource(e);\r\nexport var isFakeClickEvent = _ref2 => {\r\n var {\r\n screenX: screenX,\r\n offsetX: offsetX,\r\n pageX: pageX\r\n } = _ref2;\r\n return 0 === screenX && !offsetX && 0 === pageX\r\n};\r\nexport var eventData = _ref3 => {\r\n var {\r\n pageX: pageX,\r\n pageY: pageY,\r\n timeStamp: timeStamp\r\n } = _ref3;\r\n return {\r\n x: pageX,\r\n y: pageY,\r\n time: timeStamp\r\n }\r\n};\r\nexport var eventDelta = (from, to) => ({\r\n x: to.x - from.x,\r\n y: to.y - from.y,\r\n time: to.time - from.time || 1\r\n});\r\nexport var hasTouches = e => {\r\n var {\r\n originalEvent: originalEvent,\r\n pointers: pointers\r\n } = e;\r\n if (isNativeTouchEvent(e)) {\r\n return (originalEvent.touches || []).length\r\n }\r\n if (isDxEvent(e)) {\r\n return (pointers || []).length\r\n }\r\n return 0\r\n};\r\nvar skipEvents = false;\r\nexport var forceSkipEvents = () => skipEvents = true;\r\nexport var stopEventsSkipping = () => skipEvents = false;\r\nexport var needSkipEvent = e => {\r\n if (skipEvents) {\r\n return true\r\n }\r\n var {\r\n target: target\r\n } = e;\r\n var $target = $(target);\r\n var isContentEditable = (null === target || void 0 === target ? void 0 : target.isContentEditable) || (null === target || void 0 === target ? void 0 : target.hasAttribute(\"contenteditable\"));\r\n var touchInEditable = $target.is(\"input, textarea, select\") || isContentEditable;\r\n if (isDxMouseWheelEvent(e)) {\r\n var isTextArea = $target.is(\"textarea\") && $target.hasClass(\"dx-texteditor-input\");\r\n if (isTextArea || isContentEditable) {\r\n return false\r\n }\r\n var isInputFocused = $target.is(\"input[type='number'], textarea, select\") && $target.is(\":focus\");\r\n return isInputFocused\r\n }\r\n if (isMouseEvent(e)) {\r\n return touchInEditable || e.which > 1\r\n }\r\n if (isTouchEvent(e)) {\r\n return touchInEditable && focused($target)\r\n }\r\n};\r\nexport var setEventFixMethod = func => fixMethod = func;\r\nexport var createEvent = (originalEvent, args) => {\r\n var event = copyEvent(originalEvent);\r\n args && extend(event, args);\r\n return event\r\n};\r\nexport var fireEvent = props => {\r\n var {\r\n originalEvent: originalEvent,\r\n delegateTarget: delegateTarget\r\n } = props;\r\n var event = createEvent(originalEvent, props);\r\n eventsEngine.trigger(delegateTarget || event.target, event);\r\n return event\r\n};\r\nexport var normalizeKeyName = _ref4 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref4;\r\n var normalizedKey = KEY_MAP[null === key || void 0 === key ? void 0 : key.toLowerCase()] || key;\r\n var normalizedKeyFromWhich = LEGACY_KEY_CODES[which];\r\n if (normalizedKeyFromWhich && normalizedKey === key) {\r\n return normalizedKeyFromWhich\r\n } else if (!normalizedKey && which) {\r\n return String.fromCharCode(which)\r\n }\r\n return normalizedKey\r\n};\r\nexport var getChar = _ref5 => {\r\n var {\r\n key: key,\r\n which: which\r\n } = _ref5;\r\n return key || String.fromCharCode(which)\r\n};\r\nexport var addNamespace = mappedAddNamespace;\r\nexport var isCommandKeyPressed = _ref6 => {\r\n var {\r\n ctrlKey: ctrlKey,\r\n metaKey: metaKey\r\n } = _ref6;\r\n return ctrlKey || metaKey\r\n};\r\n","/**\r\n * DevExtreme (esm/events/hover.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport {\r\n removeData,\r\n data as elementData\r\n} from \"../core/element_data\";\r\nimport Class from \"../core/class\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport {\r\n addNamespace,\r\n isTouchEvent,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport pointerEvents from \"./pointer\";\r\nvar HOVERSTART_NAMESPACE = \"dxHoverStart\";\r\nvar HOVERSTART = \"dxhoverstart\";\r\nvar POINTERENTER_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.enter, HOVERSTART_NAMESPACE);\r\nvar HOVEREND_NAMESPACE = \"dxHoverEnd\";\r\nvar HOVEREND = \"dxhoverend\";\r\nvar POINTERLEAVE_NAMESPACED_EVENT_NAME = addNamespace(pointerEvents.leave, HOVEREND_NAMESPACE);\r\nvar Hover = Class.inherit({\r\n noBubble: true,\r\n ctor: function() {\r\n this._handlerArrayKeyPath = this._eventNamespace + \"_HandlerStore\"\r\n },\r\n setup: function(element) {\r\n elementData(element, this._handlerArrayKeyPath, {})\r\n },\r\n add: function(element, handleObj) {\r\n var that = this;\r\n var handler = function(e) {\r\n that._handler(e)\r\n };\r\n eventsEngine.on(element, this._originalEventName, handleObj.selector, handler);\r\n elementData(element, this._handlerArrayKeyPath)[handleObj.guid] = handler\r\n },\r\n _handler: function(e) {\r\n if (isTouchEvent(e) || devices.isSimulator()) {\r\n return\r\n }\r\n fireEvent({\r\n type: this._eventName,\r\n originalEvent: e,\r\n delegateTarget: e.delegateTarget\r\n })\r\n },\r\n remove: function(element, handleObj) {\r\n var handler = elementData(element, this._handlerArrayKeyPath)[handleObj.guid];\r\n eventsEngine.off(element, this._originalEventName, handleObj.selector, handler)\r\n },\r\n teardown: function(element) {\r\n removeData(element, this._handlerArrayKeyPath)\r\n }\r\n});\r\nvar HoverStart = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVERSTART_NAMESPACE;\r\n this._eventName = HOVERSTART;\r\n this._originalEventName = POINTERENTER_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n },\r\n _handler: function(e) {\r\n var pointers = e.pointers || [];\r\n if (!pointers.length) {\r\n this.callBase(e)\r\n }\r\n }\r\n});\r\nvar HoverEnd = Hover.inherit({\r\n ctor: function() {\r\n this._eventNamespace = HOVEREND_NAMESPACE;\r\n this._eventName = HOVEREND;\r\n this._originalEventName = POINTERLEAVE_NAMESPACED_EVENT_NAME;\r\n this.callBase()\r\n }\r\n});\r\nregisterEvent(HOVERSTART, new HoverStart);\r\nregisterEvent(HOVEREND, new HoverEnd);\r\nexport {\r\n HOVERSTART as start, HOVEREND as end\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/themes.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getOuterHeight\r\n} from \"../core/utils/size\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport $ from \"../core/renderer\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n parseHTML\r\n} from \"../core/utils/html_parser\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n value as viewPortValue,\r\n changeCallback,\r\n originalViewPort\r\n} from \"../core/utils/view_port\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n themeReadyCallback\r\n} from \"./themes_callback\";\r\nimport errors from \"./widget/ui.errors\";\r\nvar window = getWindow();\r\nvar ready = readyCallbacks.add;\r\nvar viewPort = viewPortValue;\r\nvar viewPortChanged = changeCallback;\r\nvar initDeferred = new Deferred;\r\nvar DX_LINK_SELECTOR = \"link[rel=dx-theme]\";\r\nvar THEME_ATTR = \"data-theme\";\r\nvar ACTIVE_ATTR = \"data-active\";\r\nvar DX_HAIRLINES_CLASS = \"dx-hairlines\";\r\nvar ANY_THEME = \"any\";\r\nvar context;\r\nvar $activeThemeLink;\r\nvar knownThemes;\r\nvar currentThemeName;\r\nvar pendingThemeName;\r\nvar defaultTimeout = 15e3;\r\nvar THEME_MARKER_PREFIX = \"dx.\";\r\n\r\nfunction readThemeMarker() {\r\n if (!hasWindow()) {\r\n return null\r\n }\r\n var element = $(\"
\", context).addClass(\"dx-theme-marker\").appendTo(context.documentElement);\r\n var result;\r\n try {\r\n result = window.getComputedStyle(element.get(0)).fontFamily;\r\n if (!result) {\r\n return null\r\n }\r\n result = result.replace(/[\"']/g, \"\");\r\n if (result.substr(0, THEME_MARKER_PREFIX.length) !== THEME_MARKER_PREFIX) {\r\n return null\r\n }\r\n return result.substr(THEME_MARKER_PREFIX.length)\r\n } finally {\r\n element.remove()\r\n }\r\n}\r\nexport function waitForThemeLoad(themeName) {\r\n var waitStartTime;\r\n var timerId;\r\n var intervalCleared = true;\r\n pendingThemeName = themeName;\r\n\r\n function handleLoaded() {\r\n pendingThemeName = null;\r\n clearInterval(timerId);\r\n intervalCleared = true;\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty();\r\n initDeferred.resolve()\r\n }\r\n if (isPendingThemeLoaded() || !defaultTimeout) {\r\n handleLoaded()\r\n } else {\r\n if (!intervalCleared) {\r\n if (pendingThemeName) {\r\n pendingThemeName = themeName\r\n }\r\n return\r\n }\r\n waitStartTime = Date.now();\r\n intervalCleared = false;\r\n timerId = setInterval((function() {\r\n var isLoaded = isPendingThemeLoaded();\r\n var isTimeout = !isLoaded && Date.now() - waitStartTime > defaultTimeout;\r\n if (isTimeout) {\r\n errors.log(\"W0004\", pendingThemeName)\r\n }\r\n if (isLoaded || isTimeout) {\r\n handleLoaded()\r\n }\r\n }), 10)\r\n }\r\n}\r\nexport function isPendingThemeLoaded() {\r\n if (!pendingThemeName) {\r\n return true\r\n }\r\n var anyThemePending = pendingThemeName === ANY_THEME;\r\n if (\"resolved\" === initDeferred.state() && anyThemePending) {\r\n return true\r\n }\r\n var themeMarker = readThemeMarker();\r\n if (themeMarker && anyThemePending) {\r\n return true\r\n }\r\n return themeMarker === pendingThemeName\r\n}\r\n\r\nfunction processMarkup() {\r\n var $allThemeLinks = $(DX_LINK_SELECTOR, context);\r\n if (!$allThemeLinks.length) {\r\n return\r\n }\r\n knownThemes = {};\r\n $activeThemeLink = $(parseHTML(\"\"), context);\r\n $allThemeLinks.each((function() {\r\n var link = $(this, context);\r\n var fullThemeName = link.attr(THEME_ATTR);\r\n var url = link.attr(\"href\");\r\n var isActive = \"true\" === link.attr(ACTIVE_ATTR);\r\n knownThemes[fullThemeName] = {\r\n url: url,\r\n isActive: isActive\r\n }\r\n }));\r\n $allThemeLinks.last().after($activeThemeLink);\r\n $allThemeLinks.remove()\r\n}\r\n\r\nfunction resolveFullThemeName(desiredThemeName) {\r\n var desiredThemeParts = desiredThemeName ? desiredThemeName.split(\".\") : [];\r\n var result = null;\r\n if (knownThemes) {\r\n if (desiredThemeName in knownThemes) {\r\n return desiredThemeName\r\n }\r\n each(knownThemes, (function(knownThemeName, themeData) {\r\n var knownThemeParts = knownThemeName.split(\".\");\r\n if (desiredThemeParts[0] && knownThemeParts[0] !== desiredThemeParts[0]) {\r\n return\r\n }\r\n if (desiredThemeParts[1] && desiredThemeParts[1] !== knownThemeParts[1]) {\r\n return\r\n }\r\n if (desiredThemeParts[2] && desiredThemeParts[2] !== knownThemeParts[2]) {\r\n return\r\n }\r\n if (!result || themeData.isActive) {\r\n result = knownThemeName\r\n }\r\n if (themeData.isActive) {\r\n return false\r\n }\r\n }))\r\n }\r\n return result\r\n}\r\n\r\nfunction initContext(newContext) {\r\n try {\r\n if (newContext !== context) {\r\n knownThemes = null\r\n }\r\n } catch (x) {\r\n knownThemes = null\r\n }\r\n context = newContext\r\n}\r\nexport function init(options) {\r\n options = options || {};\r\n initContext(options.context || domAdapter.getDocument());\r\n if (!context) {\r\n return\r\n }\r\n processMarkup();\r\n currentThemeName = void 0;\r\n current(options)\r\n}\r\nexport function current(options) {\r\n if (!arguments.length) {\r\n currentThemeName = currentThemeName || readThemeMarker();\r\n return currentThemeName\r\n }\r\n detachCssClasses(viewPort());\r\n options = options || {};\r\n if (\"string\" === typeof options) {\r\n options = {\r\n theme: options\r\n }\r\n }\r\n var isAutoInit = options._autoInit;\r\n var loadCallback = options.loadCallback;\r\n var currentThemeData;\r\n currentThemeName = resolveFullThemeName(options.theme || currentThemeName);\r\n if (currentThemeName) {\r\n currentThemeData = knownThemes[currentThemeName]\r\n }\r\n if (loadCallback) {\r\n themeReadyCallback.add(loadCallback)\r\n }\r\n if (currentThemeData) {\r\n $activeThemeLink.attr(\"href\", knownThemes[currentThemeName].url);\r\n if (themeReadyCallback.has() || \"resolved\" !== initDeferred.state() || options._forceTimeout) {\r\n waitForThemeLoad(currentThemeName)\r\n }\r\n } else if (isAutoInit) {\r\n if (hasWindow()) {\r\n waitForThemeLoad(ANY_THEME)\r\n }\r\n themeReadyCallback.fire();\r\n themeReadyCallback.empty()\r\n } else {\r\n throw errors.Error(\"E0021\", currentThemeName)\r\n }\r\n initDeferred.done(() => attachCssClasses(originalViewPort(), currentThemeName))\r\n}\r\n\r\nfunction getCssClasses(themeName) {\r\n themeName = themeName || current();\r\n var result = [];\r\n var themeNameParts = themeName && themeName.split(\".\");\r\n if (themeNameParts) {\r\n result.push(\"dx-theme-\" + themeNameParts[0], \"dx-theme-\" + themeNameParts[0] + \"-typography\");\r\n if (themeNameParts.length > 1) {\r\n result.push(\"dx-color-scheme-\" + themeNameParts[1] + (isMaterialBased(themeName) ? \"-\" + themeNameParts[2] : \"\"))\r\n }\r\n }\r\n return result\r\n}\r\nvar themeClasses;\r\nexport function attachCssClasses(element, themeName) {\r\n themeClasses = getCssClasses(themeName).join(\" \");\r\n $(element).addClass(themeClasses);\r\n ! function() {\r\n var pixelRatio = hasWindow() && window.devicePixelRatio;\r\n if (!pixelRatio || pixelRatio < 2) {\r\n return\r\n }\r\n var $tester = $(\"
\");\r\n $tester.css(\"border\", \".5px solid transparent\");\r\n $(\"body\").append($tester);\r\n if (1 === getOuterHeight($tester)) {\r\n $(element).addClass(DX_HAIRLINES_CLASS);\r\n themeClasses += \" \" + DX_HAIRLINES_CLASS\r\n }\r\n $tester.remove()\r\n }()\r\n}\r\nexport function detachCssClasses(element) {\r\n $(element).removeClass(themeClasses)\r\n}\r\n\r\nfunction themeReady(callback) {\r\n themeReadyCallback.add(callback)\r\n}\r\n\r\nfunction isTheme(themeRegExp, themeName) {\r\n if (!themeName) {\r\n themeName = currentThemeName || readThemeMarker()\r\n }\r\n return new RegExp(themeRegExp).test(themeName)\r\n}\r\nexport function isMaterialBased(themeName) {\r\n return isMaterial(themeName) || isFluent(themeName)\r\n}\r\nexport function isMaterial(themeName) {\r\n return isTheme(\"material\", themeName)\r\n}\r\nexport function isFluent(themeName) {\r\n return isTheme(\"fluent\", themeName)\r\n}\r\nexport function isGeneric(themeName) {\r\n return isTheme(\"generic\", themeName)\r\n}\r\nexport function isDark(themeName) {\r\n return isTheme(\"dark\", themeName)\r\n}\r\nexport function isCompact(themeName) {\r\n return isTheme(\"compact\", themeName)\r\n}\r\nexport function isWebFontLoaded(text, fontWeight) {\r\n var document = domAdapter.getDocument();\r\n var testElement = document.createElement(\"span\");\r\n testElement.style.position = \"absolute\";\r\n testElement.style.top = \"-9999px\";\r\n testElement.style.left = \"-9999px\";\r\n testElement.style.visibility = \"hidden\";\r\n testElement.style.fontFamily = \"Arial\";\r\n testElement.style.fontSize = \"250px\";\r\n testElement.style.fontWeight = fontWeight;\r\n testElement.innerHTML = text;\r\n document.body.appendChild(testElement);\r\n var etalonFontWidth = testElement.offsetWidth;\r\n testElement.style.fontFamily = \"Roboto, RobotoFallback, Arial\";\r\n var testedFontWidth = testElement.offsetWidth;\r\n testElement.parentNode.removeChild(testElement);\r\n return etalonFontWidth !== testedFontWidth\r\n}\r\nexport function waitWebFont(text, fontWeight) {\r\n return new Promise(resolve => {\r\n var clear = () => {\r\n clearInterval(intervalId);\r\n clearTimeout(timeoutId);\r\n resolve()\r\n };\r\n var intervalId = setInterval(() => {\r\n if (isWebFontLoaded(text, fontWeight)) {\r\n clear()\r\n }\r\n }, 15);\r\n var timeoutId = setTimeout(clear, 2e3)\r\n })\r\n}\r\n\r\nfunction autoInit() {\r\n init({\r\n _autoInit: true,\r\n _forceTimeout: true\r\n });\r\n if ($(DX_LINK_SELECTOR, context).length) {\r\n throw errors.Error(\"E0022\")\r\n }\r\n}\r\nif (hasWindow()) {\r\n autoInit()\r\n} else {\r\n ready(autoInit)\r\n}\r\nviewPortChanged.add((function(viewPort, prevViewPort) {\r\n initDeferred.done((function() {\r\n detachCssClasses(prevViewPort);\r\n attachCssClasses(viewPort)\r\n }))\r\n}));\r\ndevices.changed.add((function() {\r\n init({\r\n _autoInit: true\r\n })\r\n}));\r\nexport {\r\n themeReady as ready\r\n};\r\nexport function resetTheme() {\r\n $activeThemeLink && $activeThemeLink.attr(\"href\", \"about:blank\");\r\n currentThemeName = null;\r\n pendingThemeName = null;\r\n initDeferred = new Deferred\r\n}\r\nexport function initialized(callback) {\r\n initDeferred.done(callback)\r\n}\r\nexport function setDefaultTimeout(timeout) {\r\n defaultTimeout = timeout\r\n}\r\nexport default {\r\n setDefaultTimeout: setDefaultTimeout,\r\n initialized: initialized,\r\n resetTheme: resetTheme,\r\n ready: themeReady,\r\n waitWebFont: waitWebFont,\r\n isWebFontLoaded: isWebFontLoaded,\r\n isCompact: isCompact,\r\n isDark: isDark,\r\n isGeneric: isGeneric,\r\n isMaterial: isMaterial,\r\n isFluent: isFluent,\r\n isMaterialBased: isMaterialBased,\r\n detachCssClasses: detachCssClasses,\r\n attachCssClasses: attachCssClasses,\r\n current: current,\r\n waitForThemeLoad: waitForThemeLoad,\r\n isPendingThemeLoaded: isPendingThemeLoaded\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/themes_callback.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"../core/utils/callbacks\";\r\nexport var themeReadyCallback = Callbacks();\r\n","/**\r\n * DevExtreme (esm/core/utils/type.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar types = {\r\n \"[object Array]\": \"array\",\r\n \"[object Date]\": \"date\",\r\n \"[object Object]\": \"object\",\r\n \"[object String]\": \"string\"\r\n};\r\nvar type = function(object) {\r\n if (null === object) {\r\n return \"null\"\r\n }\r\n var typeOfObject = Object.prototype.toString.call(object);\r\n return \"object\" === typeof object ? types[typeOfObject] || \"object\" : typeof object\r\n};\r\nvar isBoolean = function(object) {\r\n return \"boolean\" === typeof object\r\n};\r\nvar isExponential = function(value) {\r\n return isNumeric(value) && -1 !== value.toString().indexOf(\"e\")\r\n};\r\nvar isDate = function(object) {\r\n return \"date\" === type(object)\r\n};\r\nvar isDefined = function(object) {\r\n return null !== object && void 0 !== object\r\n};\r\nvar isFunction = function(object) {\r\n return \"function\" === typeof object\r\n};\r\nvar isString = function(object) {\r\n return \"string\" === typeof object\r\n};\r\nvar isNumeric = function(object) {\r\n return \"number\" === typeof object && isFinite(object) || !isNaN(object - parseFloat(object))\r\n};\r\nvar isObject = function(object) {\r\n return \"object\" === type(object)\r\n};\r\nvar isEmptyObject = function(object) {\r\n var property;\r\n for (property in object) {\r\n return false\r\n }\r\n return true\r\n};\r\nvar isPlainObject = function(object) {\r\n if (!object || \"object\" !== type(object)) {\r\n return false\r\n }\r\n var proto = Object.getPrototypeOf(object);\r\n if (!proto) {\r\n return true\r\n }\r\n var ctor = Object.hasOwnProperty.call(proto, \"constructor\") && proto.constructor;\r\n return \"function\" === typeof ctor && Object.toString.call(ctor) === Object.toString.call(Object)\r\n};\r\nvar isPrimitive = function(value) {\r\n return -1 === [\"object\", \"array\", \"function\"].indexOf(type(value))\r\n};\r\nvar isWindow = function(object) {\r\n return null != object && object === object.window\r\n};\r\nvar isRenderer = function(object) {\r\n return !!object && !!(object.jquery || object.dxRenderer)\r\n};\r\nvar isPromise = function(object) {\r\n return !!object && isFunction(object.then)\r\n};\r\nvar isDeferred = function(object) {\r\n return !!object && isFunction(object.done) && isFunction(object.fail)\r\n};\r\nvar isEvent = function(object) {\r\n return !!(object && object.preventDefault)\r\n};\r\nexport {\r\n isBoolean,\r\n isExponential,\r\n isDate,\r\n isDefined,\r\n isFunction,\r\n isString,\r\n isNumeric,\r\n isObject,\r\n isEmptyObject,\r\n isPlainObject,\r\n isPrimitive,\r\n isWindow,\r\n isRenderer,\r\n isPromise,\r\n isDeferred,\r\n type,\r\n isEvent\r\n};\r\n","/**\r\n * DevExtreme (esm/core/memorized_callbacks.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport Callbacks from \"./utils/callbacks\";\r\nexport default class MemorizedCallbacks {\r\n constructor() {\r\n this.memory = [];\r\n this.callbacks = Callbacks()\r\n }\r\n add(fn) {\r\n each(this.memory, (_, item) => fn.apply(fn, item));\r\n this.callbacks.add(fn)\r\n }\r\n remove(fn) {\r\n this.callbacks.remove(fn)\r\n }\r\n fire() {\r\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key]\r\n }\r\n this.memory.push(args);\r\n this.callbacks.fire.apply(this.callbacks, args)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/data/array_query.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"../core/class\";\r\nimport {\r\n isFunction,\r\n isDefined,\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n each,\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n compileGetter,\r\n toComparable\r\n} from \"../core/utils/data\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n errors,\r\n handleError as handleDataError\r\n} from \"./errors\";\r\nimport {\r\n aggregators,\r\n isGroupCriterion,\r\n isUnaryOperation,\r\n normalizeBinaryCriterion,\r\n isUniformEqualsByOr,\r\n isConjunctiveOperator as isConjunctiveOperatorChecker\r\n} from \"./utils\";\r\nvar Iterator = Class.inherit({\r\n toArray: function() {\r\n var result = [];\r\n this.reset();\r\n while (this.next()) {\r\n result.push(this.current())\r\n }\r\n return result\r\n },\r\n countable: function() {\r\n return false\r\n }\r\n});\r\nvar ArrayIterator = Iterator.inherit({\r\n ctor: function(array) {\r\n this.array = array;\r\n this.index = -1\r\n },\r\n next: function() {\r\n if (this.index + 1 < this.array.length) {\r\n this.index++;\r\n return true\r\n }\r\n return false\r\n },\r\n current: function() {\r\n return this.array[this.index]\r\n },\r\n reset: function() {\r\n this.index = -1\r\n },\r\n toArray: function() {\r\n return this.array.slice(0)\r\n },\r\n countable: function() {\r\n return true\r\n },\r\n count: function() {\r\n return this.array.length\r\n }\r\n});\r\nvar WrappedIterator = Iterator.inherit({\r\n ctor: function(iter) {\r\n this.iter = iter\r\n },\r\n next: function() {\r\n return this.iter.next()\r\n },\r\n current: function() {\r\n return this.iter.current()\r\n },\r\n reset: function() {\r\n return this.iter.reset()\r\n }\r\n});\r\nvar MapIterator = WrappedIterator.inherit({\r\n ctor: function(iter, mapper) {\r\n this.callBase(iter);\r\n this.index = -1;\r\n this.mapper = mapper\r\n },\r\n current: function() {\r\n return this.mapper(this.callBase(), this.index)\r\n },\r\n next: function() {\r\n var hasNext = this.callBase();\r\n if (hasNext) {\r\n this.index++\r\n }\r\n return hasNext\r\n }\r\n});\r\nvar defaultCompare = function(xValue, yValue, options) {\r\n if (isString(xValue) && isString(yValue) && (null !== options && void 0 !== options && options.locale || null !== options && void 0 !== options && options.collatorOptions)) {\r\n return new Intl.Collator((null === options || void 0 === options ? void 0 : options.locale) || void 0, (null === options || void 0 === options ? void 0 : options.collatorOptions) || void 0).compare(xValue, yValue)\r\n }\r\n xValue = toComparable(xValue, false, options);\r\n yValue = toComparable(yValue, false, options);\r\n if (null === xValue && null !== yValue) {\r\n return -1\r\n }\r\n if (null !== xValue && null === yValue) {\r\n return 1\r\n }\r\n if (void 0 === xValue && void 0 !== yValue) {\r\n return 1\r\n }\r\n if (void 0 !== xValue && void 0 === yValue) {\r\n return -1\r\n }\r\n if (xValue < yValue) {\r\n return -1\r\n }\r\n if (xValue > yValue) {\r\n return 1\r\n }\r\n return 0\r\n};\r\nvar SortIterator = Iterator.inherit({\r\n ctor: function(iter, getter, desc, compare) {\r\n this.langParams = iter.langParams;\r\n if (!(iter instanceof MapIterator)) {\r\n iter = new MapIterator(iter, this._wrap);\r\n iter.langParams = this.langParams\r\n }\r\n this.iter = iter;\r\n this.rules = [{\r\n getter: getter,\r\n desc: desc,\r\n compare: compare,\r\n langParams: this.langParams\r\n }]\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n var result = new SortIterator(this.sortedIter || this.iter, getter, desc, compare);\r\n if (!this.sortedIter) {\r\n result.rules = this.rules.concat(result.rules)\r\n }\r\n return result\r\n },\r\n next: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.next()\r\n },\r\n current: function() {\r\n this._ensureSorted();\r\n return this.sortedIter.current()\r\n },\r\n reset: function() {\r\n delete this.sortedIter\r\n },\r\n countable: function() {\r\n return this.sortedIter || this.iter.countable()\r\n },\r\n count: function() {\r\n if (this.sortedIter) {\r\n return this.sortedIter.count()\r\n }\r\n return this.iter.count()\r\n },\r\n _ensureSorted: function() {\r\n var that = this;\r\n if (that.sortedIter) {\r\n return\r\n }\r\n each(that.rules, (function() {\r\n this.getter = compileGetter(this.getter)\r\n }));\r\n that.sortedIter = new MapIterator(new ArrayIterator(this.iter.toArray().sort((function(x, y) {\r\n return that._compare(x, y)\r\n }))), that._unwrap)\r\n },\r\n _wrap: function(record, index) {\r\n return {\r\n index: index,\r\n value: record\r\n }\r\n },\r\n _unwrap: function(wrappedItem) {\r\n return wrappedItem.value\r\n },\r\n _getDefaultCompare: langParams => (xValue, yValue) => defaultCompare(xValue, yValue, langParams),\r\n _compare: function(x, y) {\r\n var xIndex = x.index;\r\n var yIndex = y.index;\r\n x = x.value;\r\n y = y.value;\r\n if (x === y) {\r\n return xIndex - yIndex\r\n }\r\n for (var i = 0, rulesCount = this.rules.length; i < rulesCount; i++) {\r\n var rule = this.rules[i];\r\n var xValue = rule.getter(x);\r\n var yValue = rule.getter(y);\r\n var compare = rule.compare || this._getDefaultCompare(rule.langParams);\r\n var compareResult = compare(xValue, yValue);\r\n if (compareResult) {\r\n return rule.desc ? -compareResult : compareResult\r\n }\r\n }\r\n return xIndex - yIndex\r\n }\r\n});\r\nvar compileCriteria = function() {\r\n var langParams = {};\r\n var _toComparable = value => toComparable(value, false, langParams);\r\n var compileGroup = function(crit) {\r\n if (isUniformEqualsByOr(crit)) {\r\n return (crit => {\r\n var getter = compileGetter(crit[0][0]);\r\n var filterValues = crit.reduce((acc, item, i) => {\r\n if (i % 2 === 0) {\r\n acc.push(_toComparable(item[2]))\r\n }\r\n return acc\r\n }, []);\r\n return obj => {\r\n var value = _toComparable(getter(obj));\r\n return filterValues.some(filterValue => useStrictComparison(filterValue) ? value === filterValue : value == filterValue)\r\n }\r\n })(crit)\r\n }\r\n var ops = [];\r\n var isConjunctiveOperator = false;\r\n var isConjunctiveNextOperator = false;\r\n each(crit, (function() {\r\n if (Array.isArray(this) || isFunction(this)) {\r\n if (ops.length > 1 && isConjunctiveOperator !== isConjunctiveNextOperator) {\r\n throw new errors.Error(\"E4019\")\r\n }\r\n ops.push(compileCriteria(this, langParams));\r\n isConjunctiveOperator = isConjunctiveNextOperator;\r\n isConjunctiveNextOperator = true\r\n } else {\r\n isConjunctiveNextOperator = isConjunctiveOperatorChecker(this)\r\n }\r\n }));\r\n return function(d) {\r\n var result = isConjunctiveOperator;\r\n for (var i = 0; i < ops.length; i++) {\r\n if (ops[i](d) !== isConjunctiveOperator) {\r\n result = !isConjunctiveOperator;\r\n break\r\n }\r\n }\r\n return result\r\n }\r\n };\r\n var toString = function(value) {\r\n var _langParams;\r\n return isDefined(value) ? null !== (_langParams = langParams) && void 0 !== _langParams && _langParams.locale ? value.toLocaleString(langParams.locale) : value.toString() : \"\"\r\n };\r\n\r\n function compileEquals(getter, value, negate) {\r\n return function(obj) {\r\n obj = _toComparable(getter(obj));\r\n var result = useStrictComparison(value) ? obj === value : obj == value;\r\n if (negate) {\r\n result = !result\r\n }\r\n return result\r\n }\r\n }\r\n\r\n function useStrictComparison(value) {\r\n return \"\" === value || 0 === value || false === value\r\n }\r\n return function(crit, options) {\r\n langParams = options || {};\r\n if (isFunction(crit)) {\r\n return crit\r\n }\r\n if (isGroupCriterion(crit)) {\r\n return compileGroup(crit)\r\n }\r\n if (isUnaryOperation(crit)) {\r\n return function(crit) {\r\n var op = crit[0];\r\n var criteria = compileCriteria(crit[1], langParams);\r\n if (\"!\" === op) {\r\n return function(obj) {\r\n return !criteria(obj)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n return function(crit) {\r\n crit = normalizeBinaryCriterion(crit);\r\n var getter = compileGetter(crit[0]);\r\n var op = crit[1];\r\n var value = crit[2];\r\n value = _toComparable(value);\r\n var compare = (obj, operatorFn) => {\r\n obj = _toComparable(getter(obj));\r\n return (null == value || null == obj) && value !== obj ? false : operatorFn(obj, value)\r\n };\r\n switch (op.toLowerCase()) {\r\n case \"=\":\r\n return compileEquals(getter, value);\r\n case \"<>\":\r\n return compileEquals(getter, value, true);\r\n case \">\":\r\n return obj => compare(obj, (a, b) => a > b);\r\n case \"<\":\r\n return obj => compare(obj, (a, b) => a < b);\r\n case \">=\":\r\n return obj => compare(obj, (a, b) => a >= b);\r\n case \"<=\":\r\n return obj => compare(obj, (a, b) => a <= b);\r\n case \"startswith\":\r\n return function(obj) {\r\n return 0 === _toComparable(toString(getter(obj))).indexOf(value)\r\n };\r\n case \"endswith\":\r\n return function(obj) {\r\n var getterValue = _toComparable(toString(getter(obj)));\r\n var searchValue = toString(value);\r\n if (getterValue.length < searchValue.length) {\r\n return false\r\n }\r\n var index = getterValue.lastIndexOf(value);\r\n return -1 !== index && index === getterValue.length - value.length\r\n };\r\n case \"contains\":\r\n return function(obj) {\r\n return _toComparable(toString(getter(obj))).indexOf(value) > -1\r\n };\r\n case \"notcontains\":\r\n return function(obj) {\r\n return -1 === _toComparable(toString(getter(obj))).indexOf(value)\r\n }\r\n }\r\n throw errors.Error(\"E4003\", op)\r\n }(crit)\r\n }\r\n}();\r\nvar FilterIterator = WrappedIterator.inherit({\r\n ctor: function(iter, criteria) {\r\n this.callBase(iter);\r\n this.langParams = iter.langParams;\r\n this.criteria = compileCriteria(criteria, this.langParams)\r\n },\r\n next: function() {\r\n while (this.iter.next()) {\r\n if (this.criteria(this.current())) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n});\r\nvar GroupIterator = Iterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.iter = iter;\r\n this.getter = getter\r\n },\r\n next: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.next()\r\n },\r\n current: function() {\r\n this._ensureGrouped();\r\n return this.groupedIter.current()\r\n },\r\n reset: function() {\r\n delete this.groupedIter\r\n },\r\n countable: function() {\r\n return !!this.groupedIter\r\n },\r\n count: function() {\r\n return this.groupedIter.count()\r\n },\r\n _ensureGrouped: function() {\r\n if (this.groupedIter) {\r\n return\r\n }\r\n var hash = {};\r\n var keys = [];\r\n var iter = this.iter;\r\n var getter = compileGetter(this.getter);\r\n iter.reset();\r\n while (iter.next()) {\r\n var current = iter.current();\r\n var key = getter(current);\r\n if (key in hash) {\r\n hash[key].push(current)\r\n } else {\r\n hash[key] = [current];\r\n keys.push(key)\r\n }\r\n }\r\n this.groupedIter = new ArrayIterator(map(keys, (function(key) {\r\n return {\r\n key: key,\r\n items: hash[key]\r\n }\r\n })))\r\n }\r\n});\r\nvar SelectIterator = WrappedIterator.inherit({\r\n ctor: function(iter, getter) {\r\n this.callBase(iter);\r\n this.getter = compileGetter(getter)\r\n },\r\n current: function() {\r\n return this.getter(this.callBase())\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return this.iter.count()\r\n }\r\n});\r\nvar SliceIterator = WrappedIterator.inherit({\r\n ctor: function(iter, skip, take) {\r\n this.callBase(iter);\r\n this.skip = Math.max(0, skip);\r\n this.take = Math.max(0, take);\r\n this.pos = 0\r\n },\r\n next: function() {\r\n if (this.pos >= this.skip + this.take) {\r\n return false\r\n }\r\n while (this.pos < this.skip && this.iter.next()) {\r\n this.pos++\r\n }\r\n this.pos++;\r\n return this.iter.next()\r\n },\r\n reset: function() {\r\n this.callBase();\r\n this.pos = 0\r\n },\r\n countable: function() {\r\n return this.iter.countable()\r\n },\r\n count: function() {\r\n return Math.min(this.iter.count() - this.skip, this.take)\r\n }\r\n});\r\nvar arrayQueryImpl = function arrayQueryImpl(iter, queryOptions) {\r\n queryOptions = queryOptions || {};\r\n if (!(iter instanceof Iterator)) {\r\n iter = new ArrayIterator(iter)\r\n }\r\n if (queryOptions.langParams) {\r\n iter.langParams = queryOptions.langParams\r\n }\r\n var handleError = function(error) {\r\n var handler = queryOptions.errorHandler;\r\n if (handler) {\r\n handler(error)\r\n }\r\n handleDataError(error)\r\n };\r\n var aggregateCore = function(aggregator) {\r\n var d = (new Deferred).fail(handleError);\r\n var seed;\r\n var step = aggregator.step;\r\n var finalize = aggregator.finalize;\r\n try {\r\n iter.reset();\r\n if (\"seed\" in aggregator) {\r\n seed = aggregator.seed\r\n } else {\r\n seed = iter.next() ? iter.current() : NaN\r\n }\r\n var accumulator = seed;\r\n while (iter.next()) {\r\n accumulator = step(accumulator, iter.current())\r\n }\r\n d.resolve(finalize ? finalize(accumulator) : accumulator)\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n };\r\n var standardAggregate = function(name) {\r\n return aggregateCore(aggregators[name])\r\n };\r\n var select = function(getter) {\r\n if (!isFunction(getter) && !Array.isArray(getter)) {\r\n getter = [].slice.call(arguments)\r\n }\r\n return chainQuery(new SelectIterator(iter, getter))\r\n };\r\n var selectProp = function(name) {\r\n return select(compileGetter(name))\r\n };\r\n\r\n function chainQuery(iter) {\r\n return arrayQueryImpl(iter, queryOptions)\r\n }\r\n return {\r\n toArray: function() {\r\n return iter.toArray()\r\n },\r\n enumerate: function() {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.toArray())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n },\r\n setLangParams(options) {\r\n iter.langParams = options\r\n },\r\n sortBy: function(getter, desc, compare) {\r\n return chainQuery(new SortIterator(iter, getter, desc, compare))\r\n },\r\n thenBy: function(getter, desc, compare) {\r\n if (iter instanceof SortIterator) {\r\n return chainQuery(iter.thenBy(getter, desc, compare))\r\n }\r\n throw errors.Error(\"E4004\")\r\n },\r\n filter: function(criteria) {\r\n if (!Array.isArray(criteria)) {\r\n criteria = [].slice.call(arguments)\r\n }\r\n return chainQuery(new FilterIterator(iter, criteria))\r\n },\r\n slice: function(skip, take) {\r\n if (void 0 === take) {\r\n take = Number.MAX_VALUE\r\n }\r\n return chainQuery(new SliceIterator(iter, skip, take))\r\n },\r\n select: select,\r\n groupBy: function(getter) {\r\n return chainQuery(new GroupIterator(iter, getter))\r\n },\r\n aggregate: function(seed, step, finalize) {\r\n if (arguments.length < 2) {\r\n return aggregateCore({\r\n step: arguments[0]\r\n })\r\n }\r\n return aggregateCore({\r\n seed: seed,\r\n step: step,\r\n finalize: finalize\r\n })\r\n },\r\n count: function() {\r\n if (iter.countable()) {\r\n var d = (new Deferred).fail(handleError);\r\n try {\r\n d.resolve(iter.count())\r\n } catch (x) {\r\n d.reject(x)\r\n }\r\n return d.promise()\r\n }\r\n return standardAggregate(\"count\")\r\n },\r\n sum: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).sum()\r\n }\r\n return standardAggregate(\"sum\")\r\n },\r\n min: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).min()\r\n }\r\n return standardAggregate(\"min\")\r\n },\r\n max: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).max()\r\n }\r\n return standardAggregate(\"max\")\r\n },\r\n avg: function(getter) {\r\n if (getter) {\r\n return selectProp(getter).avg()\r\n }\r\n return standardAggregate(\"avg\")\r\n }\r\n }\r\n};\r\nexport default arrayQueryImpl;\r\n","/**\r\n * DevExtreme (esm/core/version.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport var version = \"23.2.12\";\r\n","/**\r\n * DevExtreme (esm/core/utils/iterator.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar map = (values, callback) => {\r\n if (Array.isArray(values)) {\r\n return values.map(callback)\r\n }\r\n var result = [];\r\n for (var key in values) {\r\n result.push(callback(values[key], key))\r\n }\r\n return result\r\n};\r\nvar each = (values, callback) => {\r\n if (!values) {\r\n return\r\n }\r\n if (\"length\" in values) {\r\n for (var i = 0; i < values.length; i++) {\r\n if (false === callback.call(values[i], i, values[i])) {\r\n break\r\n }\r\n }\r\n } else {\r\n for (var key in values) {\r\n if (false === callback.call(values[key], key, values[key])) {\r\n break\r\n }\r\n }\r\n }\r\n return values\r\n};\r\nvar reverseEach = (array, callback) => {\r\n if (!array || !(\"length\" in array) || 0 === array.length) {\r\n return\r\n }\r\n for (var i = array.length - 1; i >= 0; i--) {\r\n if (false === callback.call(array[i], i, array[i])) {\r\n break\r\n }\r\n }\r\n};\r\nexport {\r\n map,\r\n each,\r\n reverseEach\r\n};\r\n","/**\r\n * DevExtreme (esm/ui/widget/ui.errors.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"../../core/utils/error\";\r\nimport errors from \"../../core/errors\";\r\nexport default errorUtils(errors.ERROR_MESSAGES, {\r\n E1001: \"Module '{0}'. Controller '{1}' is already registered\",\r\n E1002: \"Module '{0}'. Controller '{1}' does not inherit from DevExpress.ui.dxDataGrid.Controller\",\r\n E1003: \"Module '{0}'. View '{1}' is already registered\",\r\n E1004: \"Module '{0}'. View '{1}' does not inherit from DevExpress.ui.dxDataGrid.View\",\r\n E1005: \"Public method '{0}' is already registered\",\r\n E1006: \"Public method '{0}.{1}' does not exist\",\r\n E1007: \"State storing cannot be provided due to the restrictions of the browser\",\r\n E1010: \"The template does not contain the TextBox widget\",\r\n E1011: 'Items cannot be deleted from the List. Implement the \"remove\" function in the data store',\r\n E1012: \"Editing type '{0}' with the name '{1}' is unsupported\",\r\n E1016: \"Unexpected type of data source is provided for a lookup column\",\r\n E1018: \"The 'collapseAll' method cannot be called if you use a remote data source\",\r\n E1019: \"Search mode '{0}' is unavailable\",\r\n E1020: \"The type cannot be changed after initialization\",\r\n E1021: \"{0} '{1}' you are trying to remove does not exist\",\r\n E1022: 'The \"markers\" option is given an invalid value. Assign an array instead',\r\n E1023: 'The \"routes\" option is given an invalid value. Assign an array instead',\r\n E1025: \"This layout is too complex to render\",\r\n E1026: 'The \"calculateCustomSummary\" function is missing from a field whose \"summaryType\" option is set to \"custom\"',\r\n E1031: \"Unknown subscription in the Scheduler widget: '{0}'\",\r\n E1032: \"Unknown start date in an appointment: '{0}'\",\r\n E1033: \"Unknown step in the date navigator: '{0}'\",\r\n E1034: \"The browser does not implement an API for saving files\",\r\n E1035: \"The editor cannot be created: {0}\",\r\n E1037: \"Invalid structure of grouped data\",\r\n E1038: \"The browser does not support local storages for local web pages\",\r\n E1039: \"A cell's position cannot be calculated\",\r\n E1040: \"The '{0}' key value is not unique within the data array\",\r\n E1041: \"The '{0}' script is referenced after the DevExtreme scripts or not referenced at all\",\r\n E1042: \"{0} requires the key field to be specified\",\r\n E1043: \"Changes cannot be processed due to the incorrectly set key\",\r\n E1044: \"The key field specified by the keyExpr option does not match the key field specified in the data store\",\r\n E1045: \"Editing requires the key field to be specified in the data store\",\r\n E1046: \"The '{0}' key field is not found in data objects\",\r\n E1047: 'The \"{0}\" field is not found in the fields array',\r\n E1048: 'The \"{0}\" operation is not found in the filterOperations array',\r\n E1049: \"Column '{0}': filtering is allowed but the 'dataField' or 'name' option is not specified\",\r\n E1050: \"The validationRules option does not apply to third-party editors defined in the editCellTemplate\",\r\n E1051: 'HtmlEditor\\'s valueType is \"{0}\", but the {0} converter was not imported.',\r\n E1052: '{0} should have the \"dataSource\" option specified',\r\n E1053: 'The \"buttons\" option accepts an array that contains only objects or string values',\r\n E1054: \"All text editor buttons must have names\",\r\n E1055: 'One or several text editor buttons have invalid or non-unique \"name\" values',\r\n E1056: 'The {0} widget does not support buttons of the \"{1}\" type',\r\n E1058: 'The \"startDayHour\" and \"endDayHour\" options must be integers in the [0, 24] range, with \"endDayHour\" being greater than \"startDayHour\".',\r\n E1059: \"The following column names are not unique: {0}\",\r\n E1060: \"All editable columns must have names\",\r\n E1061: 'The \"offset\" option must be an integer in the [-1440, 1440] range, divisible by 5 without a remainder.',\r\n E1062: 'The \"cellDuration\" must be a positive integer, evenly dividing the (\"endDayHour\" - \"startDayHour\") interval into minutes.',\r\n W1001: 'The \"key\" option cannot be modified after initialization',\r\n W1002: \"An item with the key '{0}' does not exist\",\r\n W1003: \"A group with the key '{0}' in which you are trying to select items does not exist\",\r\n W1004: \"The item '{0}' you are trying to select in the group '{1}' does not exist\",\r\n W1005: \"Due to column data types being unspecified, data has been loaded twice in order to apply initial filter settings. To resolve this issue, specify data types for all grid columns.\",\r\n W1006: \"The map service returned the following error: '{0}'\",\r\n W1007: \"No item with key {0} was found in the data source, but this key was used as the parent key for item {1}\",\r\n W1008: \"Cannot scroll to the '{0}' date because it does not exist on the current view\",\r\n W1009: \"Searching works only if data is specified using the dataSource option\",\r\n W1010: \"The capability to select all items works with source data of plain structure only\",\r\n W1011: 'The \"keyExpr\" option is not applied when dataSource is not an array',\r\n W1012: \"The '{0}' key field is not found in data objects\",\r\n W1013: 'The \"message\" field in the dialog component was renamed to \"messageHtml\". Change your code correspondingly. In addition, if you used HTML code in the message, make sure that it is secure',\r\n W1014: \"The Floating Action Button exceeds the recommended speed dial action count. If you need to display more speed dial actions, increase the maxSpeedDialActionCount option value in the global config.\",\r\n W1016: \"The '{0}' field in the HTML Editor toolbar item configuration was renamed to '{1}'. Please make a corresponding change in your code.\",\r\n W1017: \"The 'key' property is not specified for a lookup data source. Please specify it to prevent requests for the entire dataset when users filter data.\",\r\n W1018: \"Infinite scrolling may not work properly with multiple selection. To use these features together, set 'selection.deferred' to true or set 'selection.selectAllMode' to 'page'.\",\r\n W1019: \"Filter query string exceeds maximum length limit of {0} characters.\",\r\n W1020: \"hideEvent is ignored when the shading property is true\",\r\n W1021: \"The '{0}' is not rendered because none of the DOM elements match the value of the \\\"container\\\" property.\",\r\n W1022: \"{0} JSON parsing error: '{1}'\",\r\n W1023: \"Appointments require unique keys. Otherwise, the agenda view may not work correctly.\",\r\n W1024: \"The client-side export is enabled. Implement the 'onExporting' function.\",\r\n W1025: \"'scrolling.mode' is set to 'virtual' or 'infinite'. Specify the height of the component.\"\r\n});\r\n","/**\r\n * DevExtreme (esm/events/utils/event_nodes_disposing.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../core/events_engine\";\r\nimport {\r\n removeEvent\r\n} from \"../remove\";\r\n\r\nfunction nodesByEvent(event) {\r\n return event && [event.target, event.delegateTarget, event.relatedTarget, event.currentTarget].filter(node => !!node)\r\n}\r\nexport var subscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.one(nodesByEvent(event), removeEvent, callback)\r\n};\r\nexport var unsubscribeNodesDisposing = (event, callback) => {\r\n eventsEngine.off(nodesByEvent(event), removeEvent, callback)\r\n};\r\n","/**\r\n * DevExtreme (esm/events/click.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"../events/core/events_engine\";\r\nimport devices from \"../core/devices\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport {\r\n resetActiveElement\r\n} from \"../core/utils/dom\";\r\nimport {\r\n requestAnimationFrame,\r\n cancelAnimationFrame\r\n} from \"../animation/frame\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"./utils/index\";\r\nimport {\r\n subscribeNodesDisposing,\r\n unsubscribeNodesDisposing\r\n} from \"./utils/event_nodes_disposing\";\r\nimport pointerEvents from \"./pointer\";\r\nimport Emitter from \"./core/emitter\";\r\nimport registerEmitter from \"./core/emitter_registrator\";\r\nvar CLICK_EVENT_NAME = \"dxclick\";\r\nvar misc = {\r\n requestAnimationFrame: requestAnimationFrame,\r\n cancelAnimationFrame: cancelAnimationFrame\r\n};\r\nvar prevented = null;\r\nvar lastFiredEvent = null;\r\nvar onNodeRemove = () => {\r\n lastFiredEvent = null\r\n};\r\nvar clickHandler = function(e) {\r\n var originalEvent = e.originalEvent;\r\n var eventAlreadyFired = lastFiredEvent === originalEvent || originalEvent && originalEvent.DXCLICK_FIRED;\r\n var leftButton = !e.which || 1 === e.which;\r\n if (leftButton && !prevented && !eventAlreadyFired) {\r\n if (originalEvent) {\r\n originalEvent.DXCLICK_FIRED = true\r\n }\r\n unsubscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n lastFiredEvent = originalEvent;\r\n subscribeNodesDisposing(lastFiredEvent, onNodeRemove);\r\n fireEvent({\r\n type: CLICK_EVENT_NAME,\r\n originalEvent: e\r\n })\r\n }\r\n};\r\nvar ClickEmitter = Emitter.inherit({\r\n ctor: function(element) {\r\n this.callBase(element);\r\n eventsEngine.on(this.getElement(), \"click\", clickHandler)\r\n },\r\n start: function(e) {\r\n prevented = null\r\n },\r\n cancel: function() {\r\n prevented = true\r\n },\r\n dispose: function() {\r\n eventsEngine.off(this.getElement(), \"click\", clickHandler)\r\n }\r\n});\r\n! function() {\r\n var desktopDevice = devices.real().generic;\r\n if (!desktopDevice) {\r\n var startTarget = null;\r\n var blurPrevented = false;\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n startTarget = e.target;\r\n blurPrevented = e.isDefaultPrevented()\r\n }));\r\n eventsEngine.subscribeGlobal(document, addNamespace(\"click\", \"NATIVE_CLICK_FIXER\"), (function(e) {\r\n var $target = function(e) {\r\n var _originalEvent$target;\r\n var originalEvent = e.originalEvent;\r\n if (null !== originalEvent && void 0 !== originalEvent && null !== (_originalEvent$target = originalEvent.target) && void 0 !== _originalEvent$target && _originalEvent$target.shadowRoot) {\r\n var _originalEvent$path, _originalEvent$compos;\r\n var path = null !== (_originalEvent$path = originalEvent.path) && void 0 !== _originalEvent$path ? _originalEvent$path : null === (_originalEvent$compos = originalEvent.composedPath) || void 0 === _originalEvent$compos ? void 0 : _originalEvent$compos.call(originalEvent);\r\n return $(path[0])\r\n }\r\n return $(e.target)\r\n }(e);\r\n if (!blurPrevented && startTarget && !$target.is(startTarget) && !$(startTarget).is(\"label\") && (element = $target, $(element).is(\"input, textarea, select, button ,:focus, :focus *\"))) {\r\n resetActiveElement()\r\n }\r\n var element;\r\n startTarget = null;\r\n blurPrevented = false\r\n }))\r\n }\r\n}();\r\nregisterEmitter({\r\n emitter: ClickEmitter,\r\n bubble: true,\r\n events: [CLICK_EVENT_NAME]\r\n});\r\nexport {\r\n CLICK_EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/data/array_utils.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport {\r\n isDefined,\r\n isEmptyObject,\r\n isObject,\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport config from \"../core/config\";\r\nimport Guid from \"../core/guid\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n errors\r\n} from \"./errors\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"../core/utils/object\";\r\nimport {\r\n compileGetter\r\n} from \"../core/utils/data\";\r\nimport {\r\n keysEqual,\r\n rejectedPromise,\r\n trivialPromise\r\n} from \"./utils\";\r\n\r\nfunction hasKey(target, keyOrKeys) {\r\n var key;\r\n var keys = \"string\" === typeof keyOrKeys ? keyOrKeys.split() : keyOrKeys.slice();\r\n while (keys.length) {\r\n key = keys.shift();\r\n if (key in target) {\r\n return true\r\n }\r\n }\r\n return false\r\n}\r\n\r\nfunction findItems(keyInfo, items, key, groupCount) {\r\n var childItems;\r\n var result;\r\n if (groupCount) {\r\n for (var i = 0; i < items.length; i++) {\r\n childItems = items[i].items || items[i].collapsedItems || [];\r\n result = findItems(keyInfo, childItems || [], key, groupCount - 1);\r\n if (result) {\r\n return result\r\n }\r\n }\r\n } else if (indexByKey(keyInfo, items, key) >= 0) {\r\n return items\r\n }\r\n}\r\n\r\nfunction getItems(keyInfo, items, key, groupCount) {\r\n if (groupCount) {\r\n return findItems(keyInfo, items, key, groupCount) || []\r\n }\r\n return items\r\n}\r\n\r\nfunction generateDataByKeyMap(keyInfo, array) {\r\n if (keyInfo.key() && (!array._dataByKeyMap || array._dataByKeyMapLength !== array.length)) {\r\n var dataByKeyMap = {};\r\n var arrayLength = array.length;\r\n for (var i = 0; i < arrayLength; i++) {\r\n dataByKeyMap[JSON.stringify(keyInfo.keyOf(array[i]))] = array[i]\r\n }\r\n array._dataByKeyMap = dataByKeyMap;\r\n array._dataByKeyMapLength = arrayLength\r\n }\r\n}\r\n\r\nfunction getCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n}\r\n\r\nfunction getHasKeyCacheValue(array, key) {\r\n if (array._dataByKeyMap) {\r\n return array._dataByKeyMap[JSON.stringify(key)]\r\n }\r\n return true\r\n}\r\n\r\nfunction setDataByKeyMapValue(array, key, data) {\r\n if (array._dataByKeyMap) {\r\n array._dataByKeyMap[JSON.stringify(key)] = data;\r\n array._dataByKeyMapLength += data ? 1 : -1\r\n }\r\n}\r\n\r\nfunction cloneInstanceWithChangedPaths(instance, changes, clonedInstances) {\r\n clonedInstances = clonedInstances || new WeakMap;\r\n var result = instance ? Object.create(Object.getPrototypeOf(instance)) : {};\r\n if (instance) {\r\n clonedInstances.set(instance, result)\r\n }\r\n var instanceWithoutPrototype = _extends({}, instance);\r\n deepExtendArraySafe(result, instanceWithoutPrototype, true, true);\r\n for (var name in instanceWithoutPrototype) {\r\n var value = instanceWithoutPrototype[name];\r\n var change = null === changes || void 0 === changes ? void 0 : changes[name];\r\n if (isObject(value) && !isPlainObject(value) && isObject(change) && !clonedInstances.has(value)) {\r\n result[name] = cloneInstanceWithChangedPaths(value, change, clonedInstances)\r\n }\r\n }\r\n for (var _name in result) {\r\n var prop = result[_name];\r\n if (isObject(prop) && clonedInstances.has(prop)) {\r\n result[_name] = clonedInstances.get(prop)\r\n }\r\n }\r\n return result\r\n}\r\n\r\nfunction createObjectWithChanges(target, changes) {\r\n var result = cloneInstanceWithChangedPaths(target, changes);\r\n return deepExtendArraySafe(result, changes, true, true)\r\n}\r\n\r\nfunction applyBatch(_ref) {\r\n var {\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n groupCount: groupCount,\r\n useInsertIndex: useInsertIndex,\r\n immutable: immutable,\r\n disableCache: disableCache,\r\n logError: logError,\r\n skipCopying: skipCopying\r\n } = _ref;\r\n var resultItems = true === immutable ? [...data] : data;\r\n changes.forEach(item => {\r\n var items = \"insert\" === item.type ? resultItems : getItems(keyInfo, resultItems, item.key, groupCount);\r\n !disableCache && generateDataByKeyMap(keyInfo, items);\r\n switch (item.type) {\r\n case \"update\":\r\n update(keyInfo, items, item.key, item.data, true, immutable, logError);\r\n break;\r\n case \"insert\":\r\n insert(keyInfo, items, item.data, useInsertIndex && isDefined(item.index) ? item.index : -1, true, logError, skipCopying);\r\n break;\r\n case \"remove\":\r\n remove(keyInfo, items, item.key, true, logError)\r\n }\r\n });\r\n return resultItems\r\n}\r\n\r\nfunction getErrorResult(isBatch, logError, errorCode) {\r\n return !isBatch ? rejectedPromise(errors.Error(errorCode)) : logError && errors.log(errorCode)\r\n}\r\n\r\nfunction applyChanges(data, changes) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n var {\r\n keyExpr: keyExpr = \"id\",\r\n immutable: immutable = true\r\n } = options;\r\n var keyGetter = compileGetter(keyExpr);\r\n var keyInfo = {\r\n key: () => keyExpr,\r\n keyOf: obj => keyGetter(obj)\r\n };\r\n return applyBatch({\r\n keyInfo: keyInfo,\r\n data: data,\r\n changes: changes,\r\n immutable: immutable,\r\n disableCache: true,\r\n logError: true\r\n })\r\n}\r\n\r\nfunction update(keyInfo, array, key, data, isBatch, immutable, logError) {\r\n var target;\r\n var keyExpr = keyInfo.key();\r\n if (keyExpr) {\r\n if (hasKey(data, keyExpr) && !keysEqual(keyExpr, key, keyInfo.keyOf(data))) {\r\n return getErrorResult(isBatch, logError, \"E4017\")\r\n }\r\n target = getCacheValue(array, key);\r\n if (!target) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n target = array[index];\r\n if (true === immutable && isDefined(target)) {\r\n var newTarget = createObjectWithChanges(target, data);\r\n array[index] = newTarget;\r\n return !isBatch && trivialPromise(newTarget, key)\r\n }\r\n }\r\n } else {\r\n target = key\r\n }\r\n deepExtendArraySafe(target, data, true);\r\n if (!isBatch) {\r\n if (config().useLegacyStoreResult) {\r\n return trivialPromise(key, data)\r\n } else {\r\n return trivialPromise(target, key)\r\n }\r\n }\r\n}\r\n\r\nfunction insert(keyInfo, array, data, index, isBatch, logError, skipCopying) {\r\n var keyValue;\r\n var keyExpr = keyInfo.key();\r\n var obj = isPlainObject(data) && !skipCopying ? extend({}, data) : data;\r\n if (keyExpr) {\r\n keyValue = keyInfo.keyOf(obj);\r\n if (void 0 === keyValue || \"object\" === typeof keyValue && isEmptyObject(keyValue)) {\r\n if (Array.isArray(keyExpr)) {\r\n throw errors.Error(\"E4007\")\r\n }\r\n keyValue = obj[keyExpr] = String(new Guid)\r\n } else if (void 0 !== array[indexByKey(keyInfo, array, keyValue)]) {\r\n return getErrorResult(isBatch, logError, \"E4008\")\r\n }\r\n } else {\r\n keyValue = obj\r\n }\r\n if (index >= 0) {\r\n array.splice(index, 0, obj)\r\n } else {\r\n array.push(obj)\r\n }\r\n setDataByKeyMapValue(array, keyValue, obj);\r\n if (!isBatch) {\r\n return trivialPromise(config().useLegacyStoreResult ? data : obj, keyValue)\r\n }\r\n}\r\n\r\nfunction remove(keyInfo, array, key, isBatch, logError) {\r\n var index = indexByKey(keyInfo, array, key);\r\n if (index > -1) {\r\n array.splice(index, 1);\r\n setDataByKeyMapValue(array, key, null)\r\n }\r\n if (!isBatch) {\r\n return trivialPromise(key)\r\n } else if (index < 0) {\r\n return getErrorResult(isBatch, logError, \"E4009\")\r\n }\r\n}\r\n\r\nfunction indexByKey(keyInfo, array, key) {\r\n var keyExpr = keyInfo.key();\r\n if (!getHasKeyCacheValue(array, key)) {\r\n return -1\r\n }\r\n for (var i = 0, arrayLength = array.length; i < arrayLength; i++) {\r\n if (keysEqual(keyExpr, keyInfo.keyOf(array[i]), key)) {\r\n return i\r\n }\r\n }\r\n return -1\r\n}\r\nexport {\r\n applyBatch,\r\n createObjectWithChanges,\r\n update,\r\n insert,\r\n remove,\r\n indexByKey,\r\n applyChanges\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/ldml/date.formatter.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nfunction leftPad(text, length) {\r\n while (text.length < length) {\r\n text = \"0\" + text\r\n }\r\n return text\r\n}\r\nvar FORMAT_TYPES = {\r\n 3: \"abbreviated\",\r\n 4: \"wide\",\r\n 5: \"narrow\"\r\n};\r\nvar LDML_FORMATTERS = {\r\n y: function(date, count, useUtc) {\r\n var year = date[useUtc ? \"getUTCFullYear\" : \"getFullYear\"]();\r\n if (2 === count) {\r\n year %= 100\r\n }\r\n return leftPad(year.toString(), count)\r\n },\r\n M: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"format\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n L: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getMonthNames(formatType, \"standalone\")[month]\r\n }\r\n return leftPad((month + 1).toString(), Math.min(count, 2))\r\n },\r\n Q: function(date, count, useUtc, dateParts) {\r\n var month = date[useUtc ? \"getUTCMonth\" : \"getMonth\"]();\r\n var quarter = Math.floor(month / 3);\r\n var formatType = FORMAT_TYPES[count];\r\n if (formatType) {\r\n return dateParts.getQuarterNames(formatType)[quarter]\r\n }\r\n return leftPad((quarter + 1).toString(), Math.min(count, 2))\r\n },\r\n E: function(date, count, useUtc, dateParts) {\r\n var day = date[useUtc ? \"getUTCDay\" : \"getDay\"]();\r\n var formatType = FORMAT_TYPES[count < 3 ? 3 : count];\r\n return dateParts.getDayNames(formatType)[day]\r\n },\r\n a: function(date, count, useUtc, dateParts) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n var period = hours < 12 ? 0 : 1;\r\n var formatType = FORMAT_TYPES[count];\r\n return dateParts.getPeriodNames(formatType)[period]\r\n },\r\n d: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCDate\" : \"getDate\"]().toString(), Math.min(count, 2))\r\n },\r\n H: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCHours\" : \"getHours\"]().toString(), Math.min(count, 2))\r\n },\r\n h: function(date, count, useUtc) {\r\n var hours = date[useUtc ? \"getUTCHours\" : \"getHours\"]();\r\n return leftPad((hours % 12 || 12).toString(), Math.min(count, 2))\r\n },\r\n m: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMinutes\" : \"getMinutes\"]().toString(), Math.min(count, 2))\r\n },\r\n s: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCSeconds\" : \"getSeconds\"]().toString(), Math.min(count, 2))\r\n },\r\n S: function(date, count, useUtc) {\r\n return leftPad(date[useUtc ? \"getUTCMilliseconds\" : \"getMilliseconds\"]().toString(), 3).substr(0, count)\r\n },\r\n x: function(date, count, useUtc) {\r\n var timezoneOffset = useUtc ? 0 : date.getTimezoneOffset();\r\n var signPart = timezoneOffset > 0 ? \"-\" : \"+\";\r\n var timezoneOffsetAbs = Math.abs(timezoneOffset);\r\n var hours = Math.floor(timezoneOffsetAbs / 60);\r\n var minutes = timezoneOffsetAbs % 60;\r\n var hoursPart = leftPad(hours.toString(), 2);\r\n var minutesPart = leftPad(minutes.toString(), 2);\r\n return signPart + hoursPart + (count >= 3 ? \":\" : \"\") + (count > 1 || minutes ? minutesPart : \"\")\r\n },\r\n X: function(date, count, useUtc) {\r\n if (useUtc || !date.getTimezoneOffset()) {\r\n return \"Z\"\r\n }\r\n return LDML_FORMATTERS.x(date, count, useUtc)\r\n },\r\n Z: function(date, count, useUtc) {\r\n return LDML_FORMATTERS.X(date, count >= 5 ? 3 : 2, useUtc)\r\n }\r\n};\r\nexport var getFormatter = function(format, dateParts) {\r\n return function(date) {\r\n var charIndex;\r\n var formatter;\r\n var char;\r\n var charCount = 0;\r\n var isEscaping = false;\r\n var isCurrentCharEqualsNext;\r\n var result = \"\";\r\n if (!date) {\r\n return null\r\n }\r\n if (!format) {\r\n return date\r\n }\r\n var useUtc = \"Z\" === format[format.length - 1] || \"'Z'\" === format.slice(-3);\r\n for (charIndex = 0; charIndex < format.length; charIndex++) {\r\n char = format[charIndex];\r\n formatter = LDML_FORMATTERS[char];\r\n isCurrentCharEqualsNext = char === format[charIndex + 1];\r\n charCount++;\r\n if (!isCurrentCharEqualsNext) {\r\n if (formatter && !isEscaping) {\r\n result += formatter(date, charCount, useUtc, dateParts)\r\n }\r\n charCount = 0\r\n }\r\n if (\"'\" === char && !isCurrentCharEqualsNext) {\r\n isEscaping = !isEscaping\r\n } else if (isEscaping || !formatter) {\r\n result += char\r\n }\r\n if (\"'\" === char && isCurrentCharEqualsNext) {\r\n charIndex++\r\n }\r\n }\r\n return result\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/data.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errors from \"../errors\";\r\nimport Class from \"../class\";\r\nimport {\r\n deepExtendArraySafe\r\n} from \"./object\";\r\nimport {\r\n isObject,\r\n isPlainObject,\r\n isFunction,\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n each\r\n} from \"./iterator\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar unwrapVariable = variableWrapper.unwrap;\r\nvar isWrapped = variableWrapper.isWrapped;\r\nvar assign = variableWrapper.assign;\r\nvar bracketsToDots = function(expr) {\r\n return expr.replace(/\\[/g, \".\").replace(/\\]/g, \"\")\r\n};\r\nexport var getPathParts = function(name) {\r\n return bracketsToDots(name).split(\".\")\r\n};\r\nvar readPropValue = function(obj, propName, options) {\r\n options = options || {};\r\n if (\"this\" === propName) {\r\n return unwrap(obj, options)\r\n }\r\n return unwrap(obj[propName], options)\r\n};\r\nvar assignPropValue = function(obj, propName, value, options) {\r\n if (\"this\" === propName) {\r\n throw new errors.Error(\"E4016\")\r\n }\r\n var propValue = obj[propName];\r\n if (options.unwrapObservables && isWrapped(propValue)) {\r\n assign(propValue, value)\r\n } else {\r\n obj[propName] = value\r\n }\r\n};\r\nvar prepareOptions = function(options) {\r\n options = options || {};\r\n options.unwrapObservables = void 0 !== options.unwrapObservables ? options.unwrapObservables : true;\r\n return options\r\n};\r\n\r\nfunction unwrap(value, options) {\r\n return options.unwrapObservables ? unwrapVariable(value) : value\r\n}\r\nexport var compileGetter = function(expr) {\r\n if (arguments.length > 1) {\r\n expr = [].slice.call(arguments)\r\n }\r\n if (!expr || \"this\" === expr) {\r\n return function(obj) {\r\n return obj\r\n }\r\n }\r\n if (\"string\" === typeof expr) {\r\n var path = getPathParts(expr);\r\n return function(obj, options) {\r\n options = prepareOptions(options);\r\n var functionAsIs = options.functionsAsIs;\r\n var hasDefaultValue = \"defaultValue\" in options;\r\n var current = unwrap(obj, options);\r\n for (var i = 0; i < path.length; i++) {\r\n if (!current) {\r\n if (null == current && hasDefaultValue) {\r\n return options.defaultValue\r\n }\r\n break\r\n }\r\n var pathPart = path[i];\r\n if (hasDefaultValue && isObject(current) && !(pathPart in current)) {\r\n return options.defaultValue\r\n }\r\n var next = unwrap(current[pathPart], options);\r\n if (!functionAsIs && isFunction(next)) {\r\n next = next.call(current)\r\n }\r\n current = next\r\n }\r\n return current\r\n }\r\n }\r\n if (Array.isArray(expr)) {\r\n return combineGetters(expr)\r\n }\r\n if (isFunction(expr)) {\r\n return expr\r\n }\r\n};\r\n\r\nfunction combineGetters(getters) {\r\n var compiledGetters = {};\r\n for (var i = 0, l = getters.length; i < l; i++) {\r\n var getter = getters[i];\r\n compiledGetters[getter] = compileGetter(getter)\r\n }\r\n return function(obj, options) {\r\n var result;\r\n each(compiledGetters, (function(name) {\r\n var value = this(obj, options);\r\n if (void 0 === value) {\r\n return\r\n }\r\n var current = result || (result = {});\r\n var path = name.split(\".\");\r\n var last = path.length - 1;\r\n for (var _i = 0; _i < last; _i++) {\r\n var pathItem = path[_i];\r\n if (!(pathItem in current)) {\r\n current[pathItem] = {}\r\n }\r\n current = current[pathItem]\r\n }\r\n current[path[last]] = value\r\n }));\r\n return result\r\n }\r\n}\r\n\r\nfunction toLowerCase(value, options) {\r\n return null !== options && void 0 !== options && options.locale ? value.toLocaleLowerCase(options.locale) : value.toLowerCase()\r\n}\r\n\r\nfunction toUpperCase(value, options) {\r\n return null !== options && void 0 !== options && options.locale ? value.toLocaleUpperCase(options.locale) : value.toUpperCase()\r\n}\r\nvar ensurePropValueDefined = function(obj, propName, value, options) {\r\n if (isDefined(value)) {\r\n return value\r\n }\r\n var newValue = {};\r\n assignPropValue(obj, propName, newValue, options);\r\n return newValue\r\n};\r\nexport var compileSetter = function(expr) {\r\n expr = getPathParts(expr || \"this\");\r\n var lastLevelIndex = expr.length - 1;\r\n return function(obj, value, options) {\r\n options = prepareOptions(options);\r\n var currentValue = unwrap(obj, options);\r\n expr.forEach((function(propertyName, levelIndex) {\r\n var propertyValue = readPropValue(currentValue, propertyName, options);\r\n var isPropertyFunc = !options.functionsAsIs && isFunction(propertyValue) && !isWrapped(propertyValue);\r\n if (levelIndex === lastLevelIndex) {\r\n if (options.merge && isPlainObject(value) && (!isDefined(propertyValue) || isPlainObject(propertyValue))) {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n deepExtendArraySafe(propertyValue, value, false, true)\r\n } else if (isPropertyFunc) {\r\n currentValue[propertyName](value)\r\n } else {\r\n assignPropValue(currentValue, propertyName, value, options)\r\n }\r\n } else {\r\n propertyValue = ensurePropValueDefined(currentValue, propertyName, propertyValue, options);\r\n if (isPropertyFunc) {\r\n propertyValue = propertyValue.call(currentValue)\r\n }\r\n currentValue = propertyValue\r\n }\r\n }))\r\n }\r\n};\r\nexport var toComparable = function(value, caseSensitive) {\r\n var options = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n if (value instanceof Date) {\r\n return value.getTime()\r\n }\r\n if (value && value instanceof Class && value.valueOf) {\r\n return value.valueOf()\r\n }\r\n if (!caseSensitive && \"string\" === typeof value) {\r\n var _options$collatorOpti, _options$locale;\r\n if (\"base\" === (null === options || void 0 === options ? void 0 : null === (_options$collatorOpti = options.collatorOptions) || void 0 === _options$collatorOpti ? void 0 : _options$collatorOpti.sensitivity)) {\r\n var REMOVE_DIACRITICAL_MARKS_REGEXP = /[\\u0300-\\u036f]/g;\r\n value = value.normalize(\"NFD\").replace(REMOVE_DIACRITICAL_MARKS_REGEXP, \"\")\r\n }\r\n var locale = null === options || void 0 === options ? void 0 : null === (_options$locale = options.locale) || void 0 === _options$locale ? void 0 : _options$locale.toLowerCase();\r\n var useUpperCase = locale && !![\"hy\", \"el\"].find(code => locale === code || locale.startsWith(\"\".concat(code, \"-\")));\r\n return (useUpperCase ? toUpperCase : toLowerCase)(value, options)\r\n }\r\n return value\r\n};\r\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","/**\r\n * DevExtreme (esm/ui/widget/selectors.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar focusableFn = function(element, tabIndex) {\r\n if (!visible(element)) {\r\n return false\r\n }\r\n var nodeName = element.nodeName.toLowerCase();\r\n var isTabIndexNotNaN = !isNaN(tabIndex);\r\n var isDisabled = element.disabled;\r\n var isDefaultFocus = /^(input|select|textarea|button|object|iframe)$/.test(nodeName);\r\n var isHyperlink = \"a\" === nodeName;\r\n var isFocusable;\r\n var isContentEditable = element.isContentEditable;\r\n if (isDefaultFocus || isContentEditable) {\r\n isFocusable = !isDisabled\r\n } else if (isHyperlink) {\r\n isFocusable = element.href || isTabIndexNotNaN\r\n } else {\r\n isFocusable = isTabIndexNotNaN\r\n }\r\n return isFocusable\r\n};\r\n\r\nfunction visible(element) {\r\n var $element = $(element);\r\n return $element.is(\":visible\") && \"hidden\" !== $element.css(\"visibility\") && \"hidden\" !== $element.parents().css(\"visibility\")\r\n}\r\nexport var focusable = function(index, element) {\r\n return focusableFn(element, $(element).attr(\"tabIndex\"))\r\n};\r\nexport var tabbable = function(index, element) {\r\n var tabIndex = $(element).attr(\"tabIndex\");\r\n return (isNaN(tabIndex) || tabIndex >= 0) && focusableFn(element, tabIndex)\r\n};\r\nexport var focused = function($element) {\r\n var element = $($element).get(0);\r\n return domAdapter.getActiveElement(element) === element\r\n};\r\n","/**\r\n * DevExtreme (esm/data/store_helper.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n grep\r\n} from \"../core/utils/common\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport arrayQuery from \"./array_query\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"./utils\";\r\n\r\nfunction multiLevelGroup(query, groupInfo) {\r\n query = query.groupBy(groupInfo[0].selector);\r\n if (groupInfo.length > 1) {\r\n query = query.select((function(g) {\r\n return extend({}, g, {\r\n items: multiLevelGroup(arrayQuery(g.items), groupInfo.slice(1)).toArray()\r\n })\r\n }))\r\n }\r\n return query\r\n}\r\n\r\nfunction arrangeSortingInfo(groupInfo, sortInfo) {\r\n var filteredGroup = [];\r\n each(groupInfo, (function(_, group) {\r\n var collision = grep(sortInfo, (function(sort) {\r\n return group.selector === sort.selector\r\n }));\r\n if (collision.length < 1) {\r\n filteredGroup.push(group)\r\n }\r\n }));\r\n return filteredGroup.concat(sortInfo)\r\n}\r\n\r\nfunction queryByOptions(query, options, isCountQuery) {\r\n var _options;\r\n options = options || {};\r\n var filter = options.filter;\r\n if (null !== (_options = options) && void 0 !== _options && _options.langParams) {\r\n var _query$setLangParams, _query;\r\n null === (_query$setLangParams = (_query = query).setLangParams) || void 0 === _query$setLangParams ? void 0 : _query$setLangParams.call(_query, options.langParams)\r\n }\r\n if (filter) {\r\n query = query.filter(filter)\r\n }\r\n if (isCountQuery) {\r\n return query\r\n }\r\n var sort = options.sort;\r\n var select = options.select;\r\n var group = options.group;\r\n var skip = options.skip;\r\n var take = options.take;\r\n if (group) {\r\n group = normalizeSortingInfo(group);\r\n group.keepInitialKeyOrder = !!options.group.keepInitialKeyOrder\r\n }\r\n if (sort || group) {\r\n sort = normalizeSortingInfo(sort || []);\r\n if (group && !group.keepInitialKeyOrder) {\r\n sort = arrangeSortingInfo(group, sort)\r\n }\r\n each(sort, (function(index) {\r\n query = query[index ? \"thenBy\" : \"sortBy\"](this.selector, this.desc, this.compare)\r\n }))\r\n }\r\n if (select) {\r\n query = query.select(select)\r\n }\r\n if (group) {\r\n query = multiLevelGroup(query, group)\r\n }\r\n if (take || skip) {\r\n query = query.slice(skip || 0, take)\r\n }\r\n return query\r\n}\r\nexport default {\r\n multiLevelGroup: multiLevelGroup,\r\n arrangeSortingInfo: arrangeSortingInfo,\r\n queryByOptions: queryByOptions\r\n};\r\n","/**\r\n * DevExtreme (esm/core/element.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport function getPublicElementNonJquery(element) {\r\n if (element && element.get) {\r\n return element.get(0)\r\n }\r\n return element\r\n}\r\nvar strategy = getPublicElementNonJquery;\r\nexport function getPublicElement(element) {\r\n return strategy(element)\r\n}\r\nexport function setPublicElementWrapper(newStrategy) {\r\n strategy = newStrategy\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/public_component.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport {\r\n removeEvent\r\n} from \"../../events/remove\";\r\nvar COMPONENT_NAMES_DATA_KEY = \"dxComponents\";\r\nvar ANONYMOUS_COMPONENT_DATA_KEY = \"dxPrivateComponent\";\r\nvar componentNames = new WeakMap;\r\nvar nextAnonymousComponent = 0;\r\nvar getName = function(componentClass, newName) {\r\n if (isDefined(newName)) {\r\n componentNames.set(componentClass, newName);\r\n return\r\n }\r\n if (!componentNames.has(componentClass)) {\r\n var generatedName = ANONYMOUS_COMPONENT_DATA_KEY + nextAnonymousComponent++;\r\n componentNames.set(componentClass, generatedName);\r\n return generatedName\r\n }\r\n return componentNames.get(componentClass)\r\n};\r\nexport function attachInstanceToElement($element, componentInstance, disposeFn) {\r\n var data = elementData($element.get(0));\r\n var name = getName(componentInstance.constructor);\r\n data[name] = componentInstance;\r\n if (disposeFn) {\r\n eventsEngine.one($element, removeEvent, (function() {\r\n disposeFn.call(componentInstance)\r\n }))\r\n }\r\n if (!data[COMPONENT_NAMES_DATA_KEY]) {\r\n data[COMPONENT_NAMES_DATA_KEY] = []\r\n }\r\n data[COMPONENT_NAMES_DATA_KEY].push(name)\r\n}\r\nexport function getInstanceByElement($element, componentClass) {\r\n var name = getName(componentClass);\r\n return elementData($element.get(0), name)\r\n}\r\nexport {\r\n getName as name\r\n};\r\n","/**\r\n * DevExtreme (esm/data/utils.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"../core/utils/type\";\r\nimport domAdapter from \"../core/dom_adapter\";\r\nimport readyCallbacks from \"../core/utils/ready_callbacks\";\r\nimport {\r\n getWindow\r\n} from \"../core/utils/window\";\r\nimport {\r\n map\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n Deferred\r\n} from \"../core/utils/deferred\";\r\nimport {\r\n equalByValue\r\n} from \"../core/utils/common\";\r\nvar ready = readyCallbacks.add;\r\nexport var XHR_ERROR_UNLOAD = \"DEVEXTREME_XHR_ERROR_UNLOAD\";\r\nexport var normalizeBinaryCriterion = function(crit) {\r\n return [crit[0], crit.length < 3 ? \"=\" : String(crit[1]).toLowerCase(), crit.length < 2 ? true : crit[crit.length - 1]]\r\n};\r\nexport var normalizeSortingInfo = function(info) {\r\n if (!Array.isArray(info)) {\r\n info = [info]\r\n }\r\n return map(info, (function(i) {\r\n var result = {\r\n selector: isFunction(i) || \"string\" === typeof i ? i : i.getter || i.field || i.selector,\r\n desc: !!(i.desc || \"d\" === String(i.dir).charAt(0).toLowerCase())\r\n };\r\n if (i.compare) {\r\n result.compare = i.compare\r\n }\r\n return result\r\n }))\r\n};\r\nexport var errorMessageFromXhr = function() {\r\n var textStatusMessages = {\r\n timeout: \"Network connection timeout\",\r\n error: \"Unspecified network error\",\r\n parsererror: \"Unexpected server response\"\r\n };\r\n var unloading;\r\n ready((function() {\r\n var window = getWindow();\r\n domAdapter.listen(window, \"beforeunload\", (function() {\r\n unloading = true\r\n }))\r\n }));\r\n return function(xhr, textStatus) {\r\n if (unloading) {\r\n return XHR_ERROR_UNLOAD\r\n }\r\n if (xhr.status < 400) {\r\n return function(textStatus) {\r\n var result = textStatusMessages[textStatus];\r\n if (!result) {\r\n return textStatus\r\n }\r\n return result\r\n }(textStatus)\r\n }\r\n return xhr.statusText\r\n }\r\n}();\r\nexport var aggregators = {\r\n count: {\r\n seed: 0,\r\n step: function(count) {\r\n return 1 + count\r\n }\r\n },\r\n sum: {\r\n seed: 0,\r\n step: function(sum, item) {\r\n return sum + item\r\n }\r\n },\r\n min: {\r\n step: function(min, item) {\r\n return item < min ? item : min\r\n }\r\n },\r\n max: {\r\n step: function(max, item) {\r\n return item > max ? item : max\r\n }\r\n },\r\n avg: {\r\n seed: [0, 0],\r\n step: function(pair, value) {\r\n return [pair[0] + value, pair[1] + 1]\r\n },\r\n finalize: function(pair) {\r\n return pair[1] ? pair[0] / pair[1] : NaN\r\n }\r\n }\r\n};\r\nexport var processRequestResultLock = function() {\r\n var lockCount = 0;\r\n var lockDeferred;\r\n return {\r\n obtain: function() {\r\n if (0 === lockCount) {\r\n lockDeferred = new Deferred\r\n }\r\n lockCount++\r\n },\r\n release: function() {\r\n lockCount--;\r\n if (lockCount < 1) {\r\n lockDeferred.resolve()\r\n }\r\n },\r\n promise: function() {\r\n var deferred = 0 === lockCount ? (new Deferred).resolve() : lockDeferred;\r\n return deferred.promise()\r\n },\r\n reset: function() {\r\n lockCount = 0;\r\n if (lockDeferred) {\r\n lockDeferred.resolve()\r\n }\r\n }\r\n }\r\n}();\r\nexport function isDisjunctiveOperator(condition) {\r\n return /^(or|\\|\\||\\|)$/i.test(condition)\r\n}\r\nexport function isConjunctiveOperator(condition) {\r\n return /^(and|&&|&)$/i.test(condition)\r\n}\r\nexport var keysEqual = function(keyExpr, key1, key2) {\r\n if (Array.isArray(keyExpr)) {\r\n var names = map(key1, (function(v, k) {\r\n return k\r\n }));\r\n var name;\r\n for (var i = 0; i < names.length; i++) {\r\n name = names[i];\r\n if (!equalByValue(key1[name], key2[name], {\r\n strict: false\r\n })) {\r\n return false\r\n }\r\n }\r\n return true\r\n }\r\n return equalByValue(key1, key2, {\r\n strict: false\r\n })\r\n};\r\nvar BASE64_CHARS = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\nexport var base64_encode = function(input) {\r\n if (!Array.isArray(input)) {\r\n input = stringToByteArray(String(input))\r\n }\r\n var result = \"\";\r\n\r\n function getBase64Char(index) {\r\n return BASE64_CHARS.charAt(index)\r\n }\r\n for (var i = 0; i < input.length; i += 3) {\r\n var octet1 = input[i];\r\n var octet2 = input[i + 1];\r\n var octet3 = input[i + 2];\r\n result += map([octet1 >> 2, (3 & octet1) << 4 | octet2 >> 4, isNaN(octet2) ? 64 : (15 & octet2) << 2 | octet3 >> 6, isNaN(octet3) ? 64 : 63 & octet3], getBase64Char).join(\"\")\r\n }\r\n return result\r\n};\r\n\r\nfunction stringToByteArray(str) {\r\n var bytes = [];\r\n var code;\r\n var i;\r\n for (i = 0; i < str.length; i++) {\r\n code = str.charCodeAt(i);\r\n if (code < 128) {\r\n bytes.push(code)\r\n } else if (code < 2048) {\r\n bytes.push(192 + (code >> 6), 128 + (63 & code))\r\n } else if (code < 65536) {\r\n bytes.push(224 + (code >> 12), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n } else if (code < 2097152) {\r\n bytes.push(240 + (code >> 18), 128 + (code >> 12 & 63), 128 + (code >> 6 & 63), 128 + (63 & code))\r\n }\r\n }\r\n return bytes\r\n}\r\nexport var isUnaryOperation = function(crit) {\r\n return \"!\" === crit[0] && Array.isArray(crit[1])\r\n};\r\nvar isGroupOperator = function(value) {\r\n return \"and\" === value || \"or\" === value\r\n};\r\nexport var isUniformEqualsByOr = function(crit) {\r\n if (crit.length > 2 && Array.isArray(crit[0]) && \"or\" === crit[1] && \"string\" === typeof crit[0][0] && \"=\" === crit[0][1]) {\r\n var [prop] = crit[0];\r\n return !crit.find((el, i) => i % 2 !== 0 ? \"or\" !== el : !Array.isArray(el) || 3 !== el.length || el[0] !== prop || \"=\" !== el[1])\r\n }\r\n return false\r\n};\r\nexport var isGroupCriterion = function(crit) {\r\n var first = crit[0];\r\n var second = crit[1];\r\n if (Array.isArray(first)) {\r\n return true\r\n }\r\n if (isFunction(first)) {\r\n if (Array.isArray(second) || isFunction(second) || isGroupOperator(second)) {\r\n return true\r\n }\r\n }\r\n return false\r\n};\r\nexport var trivialPromise = function() {\r\n var d = new Deferred;\r\n return d.resolve.apply(d, arguments).promise()\r\n};\r\nexport var rejectedPromise = function() {\r\n var d = new Deferred;\r\n return d.reject.apply(d, arguments).promise()\r\n};\r\n\r\nfunction throttle(func, timeout) {\r\n var timeoutId;\r\n return function() {\r\n if (!timeoutId) {\r\n timeoutId = setTimeout(() => {\r\n timeoutId = void 0;\r\n func.call(this)\r\n }, isFunction(timeout) ? timeout() : timeout)\r\n }\r\n return timeoutId\r\n }\r\n}\r\nexport function throttleChanges(func, timeout) {\r\n var cache = [];\r\n var throttled = throttle((function() {\r\n func.call(this, cache);\r\n cache = []\r\n }), timeout);\r\n return function(changes) {\r\n if (Array.isArray(changes)) {\r\n cache.push(...changes)\r\n }\r\n return throttled.call(this, cache)\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/callbacks.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar Callback = function(options) {\r\n this._options = options || {};\r\n this._list = [];\r\n this._queue = [];\r\n this._firing = false;\r\n this._fired = false;\r\n this._firingIndexes = []\r\n};\r\nCallback.prototype._fireCore = function(context, args) {\r\n var firingIndexes = this._firingIndexes;\r\n var list = this._list;\r\n var stopOnFalse = this._options.stopOnFalse;\r\n var step = firingIndexes.length;\r\n for (firingIndexes[step] = 0; firingIndexes[step] < list.length; firingIndexes[step]++) {\r\n var result = list[firingIndexes[step]].apply(context, args);\r\n if (false === result && stopOnFalse) {\r\n break\r\n }\r\n }\r\n firingIndexes.pop()\r\n};\r\nCallback.prototype.add = function(fn) {\r\n if (\"function\" === typeof fn && (!this._options.unique || !this.has(fn))) {\r\n this._list.push(fn)\r\n }\r\n return this\r\n};\r\nCallback.prototype.remove = function(fn) {\r\n var list = this._list;\r\n var firingIndexes = this._firingIndexes;\r\n var index = list.indexOf(fn);\r\n if (index > -1) {\r\n list.splice(index, 1);\r\n if (this._firing && firingIndexes.length) {\r\n for (var step = 0; step < firingIndexes.length; step++) {\r\n if (index <= firingIndexes[step]) {\r\n firingIndexes[step]--\r\n }\r\n }\r\n }\r\n }\r\n return this\r\n};\r\nCallback.prototype.has = function(fn) {\r\n var list = this._list;\r\n return fn ? list.indexOf(fn) > -1 : !!list.length\r\n};\r\nCallback.prototype.empty = function(fn) {\r\n this._list = [];\r\n return this\r\n};\r\nCallback.prototype.fireWith = function(context, args) {\r\n var queue = this._queue;\r\n args = args || [];\r\n args = args.slice ? args.slice() : args;\r\n if (this._options.syncStrategy) {\r\n this._firing = true;\r\n this._fireCore(context, args)\r\n } else {\r\n queue.push([context, args]);\r\n if (this._firing) {\r\n return\r\n }\r\n this._firing = true;\r\n while (queue.length) {\r\n var memory = queue.shift();\r\n this._fireCore(memory[0], memory[1])\r\n }\r\n }\r\n this._firing = false;\r\n this._fired = true;\r\n return this\r\n};\r\nCallback.prototype.fire = function() {\r\n this.fireWith(this, arguments)\r\n};\r\nCallback.prototype.fired = function() {\r\n return this._fired\r\n};\r\nvar Callbacks = function(options) {\r\n return new Callback(options)\r\n};\r\nexport default Callbacks;\r\n","/**\r\n * DevExtreme (esm/core/utils/variable_wrapper.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n logger\r\n} from \"./console\";\r\nimport dependencyInjector from \"./dependency_injector\";\r\nexport default dependencyInjector({\r\n isWrapped: function() {\r\n return false\r\n },\r\n isWritableWrapped: function() {\r\n return false\r\n },\r\n wrap: function(value) {\r\n return value\r\n },\r\n unwrap: function(value) {\r\n return value\r\n },\r\n assign: function() {\r\n logger.error(\"Method 'assign' should not be used for not wrapped variables. Use 'isWrapped' method for ensuring.\")\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/deferred.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isDeferred,\r\n isDefined,\r\n isPromise\r\n} from \"../utils/type\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nvar deferredConfig = [{\r\n method: \"resolve\",\r\n handler: \"done\",\r\n state: \"resolved\"\r\n}, {\r\n method: \"reject\",\r\n handler: \"fail\",\r\n state: \"rejected\"\r\n}, {\r\n method: \"notify\",\r\n handler: \"progress\"\r\n}];\r\nvar _DeferredObj = function() {\r\n var that = this;\r\n this._state = \"pending\";\r\n this._promise = {};\r\n deferredConfig.forEach(function(config) {\r\n var methodName = config.method;\r\n this[methodName + \"Callbacks\"] = Callbacks();\r\n this[methodName] = function() {\r\n return this[methodName + \"With\"](this._promise, arguments)\r\n }.bind(this);\r\n this._promise[config.handler] = function(handler) {\r\n if (!handler) {\r\n return this\r\n }\r\n var callbacks = that[methodName + \"Callbacks\"];\r\n if (callbacks.fired()) {\r\n handler.apply(that[methodName + \"Context\"], that[methodName + \"Args\"])\r\n } else {\r\n callbacks.add(function(context, args) {\r\n handler.apply(context, args)\r\n }.bind(this))\r\n }\r\n return this\r\n }\r\n }.bind(this));\r\n this._promise.always = function(handler) {\r\n return this.done(handler).fail(handler)\r\n };\r\n this._promise.catch = function(handler) {\r\n return this.then(null, handler)\r\n };\r\n this._promise.then = function(resolve, reject) {\r\n var result = new _DeferredObj;\r\n [\"done\", \"fail\"].forEach(function(method) {\r\n var callback = \"done\" === method ? resolve : reject;\r\n this[method]((function() {\r\n if (!callback) {\r\n result[\"done\" === method ? \"resolve\" : \"reject\"].apply(this, arguments);\r\n return\r\n }\r\n var callbackResult = callback && callback.apply(this, arguments);\r\n if (isDeferred(callbackResult)) {\r\n callbackResult.done(result.resolve).fail(result.reject)\r\n } else if (isPromise(callbackResult)) {\r\n callbackResult.then(result.resolve, result.reject)\r\n } else {\r\n result.resolve.apply(this, isDefined(callbackResult) ? [callbackResult] : arguments)\r\n }\r\n }))\r\n }.bind(this));\r\n return result.promise()\r\n };\r\n this._promise.state = function() {\r\n return that._state\r\n };\r\n this._promise.promise = function(args) {\r\n return args ? extend(args, that._promise) : that._promise\r\n };\r\n this._promise.promise(this)\r\n};\r\ndeferredConfig.forEach((function(config) {\r\n var methodName = config.method;\r\n var state = config.state;\r\n _DeferredObj.prototype[methodName + \"With\"] = function(context, args) {\r\n var callbacks = this[methodName + \"Callbacks\"];\r\n if (\"pending\" === this.state()) {\r\n this[methodName + \"Args\"] = args;\r\n this[methodName + \"Context\"] = context;\r\n if (state) {\r\n this._state = state\r\n }\r\n callbacks.fire(context, args);\r\n if (\"pending\" !== state) {\r\n this.resolveCallbacks.empty();\r\n this.rejectCallbacks.empty()\r\n }\r\n }\r\n return this\r\n }\r\n}));\r\nexport function fromPromise(promise, context) {\r\n if (isDeferred(promise)) {\r\n return promise\r\n } else if (isPromise(promise)) {\r\n var d = new _DeferredObj;\r\n promise.then((function() {\r\n d.resolveWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }), (function() {\r\n d.rejectWith.apply(d, [context].concat([\r\n [].slice.call(arguments)\r\n ]))\r\n }));\r\n return d\r\n }\r\n return (new _DeferredObj).resolveWith(context, [promise])\r\n}\r\nvar whenFunc = function() {\r\n if (1 === arguments.length) {\r\n return fromPromise(arguments[0])\r\n }\r\n var values = [].slice.call(arguments);\r\n var contexts = [];\r\n var resolvedCount = 0;\r\n var deferred = new _DeferredObj;\r\n var updateState = function(i) {\r\n return function(value) {\r\n contexts[i] = this;\r\n values[i] = arguments.length > 1 ? [].slice.call(arguments) : value;\r\n resolvedCount++;\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n }\r\n };\r\n for (var i = 0; i < values.length; i++) {\r\n if (isDeferred(values[i])) {\r\n values[i].promise().done(updateState(i)).fail(deferred.reject)\r\n } else {\r\n resolvedCount++\r\n }\r\n }\r\n if (resolvedCount === values.length) {\r\n deferred.resolveWith(contexts, values)\r\n }\r\n return deferred.promise()\r\n};\r\nexport function setStrategy(value) {\r\n _DeferredObj = value.Deferred;\r\n whenFunc = value.when\r\n}\r\nexport function Deferred() {\r\n return new _DeferredObj\r\n}\r\nexport function when() {\r\n return whenFunc.apply(this, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/core/guid.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Class from \"./class\";\r\nvar Guid = Class.inherit({\r\n ctor: function(value) {\r\n if (value) {\r\n value = String(value)\r\n }\r\n this._value = this._normalize(value || this._generate())\r\n },\r\n _normalize: function(value) {\r\n value = value.replace(/[^a-f0-9]/gi, \"\").toLowerCase();\r\n while (value.length < 32) {\r\n value += \"0\"\r\n }\r\n return [value.substr(0, 8), value.substr(8, 4), value.substr(12, 4), value.substr(16, 4), value.substr(20, 12)].join(\"-\")\r\n },\r\n _generate: function() {\r\n var value = \"\";\r\n for (var i = 0; i < 32; i++) {\r\n value += Math.round(15 * Math.random()).toString(16)\r\n }\r\n return value\r\n },\r\n toString: function() {\r\n return this._value\r\n },\r\n valueOf: function() {\r\n return this._value\r\n },\r\n toJSON: function() {\r\n return this._value\r\n }\r\n});\r\nexport default Guid;\r\n","/**\r\n * DevExtreme (esm/localization/message.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nimport {\r\n format as stringFormat\r\n} from \"../core/utils/string\";\r\nimport {\r\n humanize\r\n} from \"../core/utils/inflector\";\r\nimport coreLocalization from \"./core\";\r\nimport {\r\n defaultMessages\r\n} from \"./default_messages\";\r\nvar baseDictionary = extend(true, {}, defaultMessages);\r\nvar getDataByLocale = (localeData, locale) => {\r\n var _Object$entries$find;\r\n return localeData[locale] || (null === locale || void 0 === locale ? void 0 : locale.toLowerCase) && (null === (_Object$entries$find = Object.entries(localeData).find(_ref => {\r\n var [key] = _ref;\r\n return key.toLowerCase() === locale.toLowerCase()\r\n })) || void 0 === _Object$entries$find ? void 0 : _Object$entries$find[1]) || {}\r\n};\r\nvar newMessages = {};\r\nvar messageLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _dictionary: baseDictionary,\r\n load: function(messages) {\r\n extend(true, this._dictionary, messages)\r\n },\r\n _localizablePrefix: \"@\",\r\n setup: function(localizablePrefix) {\r\n this._localizablePrefix = localizablePrefix\r\n },\r\n localizeString: function(text) {\r\n var that = this;\r\n var regex = new RegExp(\"(^|[^a-zA-Z_0-9\" + that._localizablePrefix + \"-]+)(\" + that._localizablePrefix + \"{1,2})([a-zA-Z_0-9-]+)\", \"g\");\r\n var escapeString = that._localizablePrefix + that._localizablePrefix;\r\n return text.replace(regex, (str, prefix, escape, localizationKey) => {\r\n var defaultResult = that._localizablePrefix + localizationKey;\r\n var result;\r\n if (escape !== escapeString) {\r\n result = that.format(localizationKey)\r\n }\r\n if (!result) {\r\n newMessages[localizationKey] = humanize(localizationKey)\r\n }\r\n return prefix + (result || defaultResult)\r\n })\r\n },\r\n getMessagesByLocales: function() {\r\n return this._dictionary\r\n },\r\n getDictionary: function(onlyNew) {\r\n if (onlyNew) {\r\n return newMessages\r\n }\r\n return extend({}, newMessages, this.getMessagesByLocales()[coreLocalization.locale()])\r\n },\r\n getFormatter: function(key) {\r\n return this._getFormatterBase(key) || this._getFormatterBase(key, \"en\")\r\n },\r\n _getFormatterBase: function(key, locale) {\r\n var message = coreLocalization.getValueByClosestLocale(locale => getDataByLocale(this._dictionary, locale)[key]);\r\n if (message) {\r\n return function() {\r\n var args = 1 === arguments.length && Array.isArray(arguments[0]) ? arguments[0].slice(0) : Array.prototype.slice.call(arguments, 0);\r\n args.unshift(message);\r\n return stringFormat.apply(this, args)\r\n }\r\n }\r\n },\r\n format: function(key) {\r\n var formatter = this.getFormatter(key);\r\n var values = Array.prototype.slice.call(arguments, 1);\r\n return formatter && formatter.apply(this, values) || \"\"\r\n }\r\n});\r\nexport default messageLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/default_messages.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport var defaultMessages = {\r\n en: {\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n Cancel: \"Cancel\",\r\n CheckState: \"Check state\",\r\n Close: \"Close\",\r\n Clear: \"Clear\",\r\n Done: \"Done\",\r\n Loading: \"Loading...\",\r\n Select: \"Select...\",\r\n Search: \"Search\",\r\n Back: \"Back\",\r\n OK: \"OK\",\r\n \"dxCollectionWidget-noDataText\": \"No data to display\",\r\n \"dxDropDownEditor-selectLabel\": \"Select\",\r\n \"validation-required\": \"Required\",\r\n \"validation-required-formatted\": \"{0} is required\",\r\n \"validation-numeric\": \"Value must be a number\",\r\n \"validation-numeric-formatted\": \"{0} must be a number\",\r\n \"validation-range\": \"Value is out of range\",\r\n \"validation-range-formatted\": \"{0} is out of range\",\r\n \"validation-stringLength\": \"The length of the value is not correct\",\r\n \"validation-stringLength-formatted\": \"The length of {0} is not correct\",\r\n \"validation-custom\": \"Value is invalid\",\r\n \"validation-custom-formatted\": \"{0} is invalid\",\r\n \"validation-async\": \"Value is invalid\",\r\n \"validation-async-formatted\": \"{0} is invalid\",\r\n \"validation-compare\": \"Values do not match\",\r\n \"validation-compare-formatted\": \"{0} does not match\",\r\n \"validation-pattern\": \"Value does not match pattern\",\r\n \"validation-pattern-formatted\": \"{0} does not match pattern\",\r\n \"validation-email\": \"Email is invalid\",\r\n \"validation-email-formatted\": \"{0} is invalid\",\r\n \"validation-mask\": \"Value is invalid\",\r\n \"dxLookup-searchPlaceholder\": \"Minimum character number: {0}\",\r\n \"dxList-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxList-pulledDownText\": \"Release to refresh...\",\r\n \"dxList-refreshingText\": \"Refreshing...\",\r\n \"dxList-pageLoadingText\": \"Loading...\",\r\n \"dxList-nextButtonText\": \"More\",\r\n \"dxList-selectAll\": \"Select All\",\r\n \"dxListEditDecorator-delete\": \"Delete\",\r\n \"dxListEditDecorator-more\": \"More\",\r\n \"dxScrollView-pullingDownText\": \"Pull down to refresh...\",\r\n \"dxScrollView-pulledDownText\": \"Release to refresh...\",\r\n \"dxScrollView-refreshingText\": \"Refreshing...\",\r\n \"dxScrollView-reachBottomText\": \"Loading...\",\r\n \"dxDateBox-simulatedDataPickerTitleTime\": \"Select time\",\r\n \"dxDateBox-simulatedDataPickerTitleDate\": \"Select date\",\r\n \"dxDateBox-simulatedDataPickerTitleDateTime\": \"Select date and time\",\r\n \"dxDateBox-validation-datetime\": \"Value must be a date or time\",\r\n \"dxDateRangeBox-invalidStartDateMessage\": \"Start value must be a date\",\r\n \"dxDateRangeBox-invalidEndDateMessage\": \"End value must be a date\",\r\n \"dxDateRangeBox-startDateOutOfRangeMessage\": \"Start date is out of range\",\r\n \"dxDateRangeBox-endDateOutOfRangeMessage\": \"End date is out of range\",\r\n \"dxDateRangeBox-startDateLabel\": \"Start Date\",\r\n \"dxDateRangeBox-endDateLabel\": \"End Date\",\r\n \"dxFileUploader-selectFile\": \"Select a file\",\r\n \"dxFileUploader-dropFile\": \"or Drop a file here\",\r\n \"dxFileUploader-bytes\": \"bytes\",\r\n \"dxFileUploader-kb\": \"KB\",\r\n \"dxFileUploader-Mb\": \"MB\",\r\n \"dxFileUploader-Gb\": \"GB\",\r\n \"dxFileUploader-upload\": \"Upload\",\r\n \"dxFileUploader-uploaded\": \"Uploaded\",\r\n \"dxFileUploader-readyToUpload\": \"Ready to upload\",\r\n \"dxFileUploader-uploadAbortedMessage\": \"Upload cancelled\",\r\n \"dxFileUploader-uploadFailedMessage\": \"Upload failed\",\r\n \"dxFileUploader-invalidFileExtension\": \"File type is not allowed\",\r\n \"dxFileUploader-invalidMaxFileSize\": \"File is too large\",\r\n \"dxFileUploader-invalidMinFileSize\": \"File is too small\",\r\n \"dxRangeSlider-ariaFrom\": \"From\",\r\n \"dxRangeSlider-ariaTill\": \"Till\",\r\n \"dxSwitch-switchedOnText\": \"ON\",\r\n \"dxSwitch-switchedOffText\": \"OFF\",\r\n \"dxForm-optionalMark\": \"optional\",\r\n \"dxForm-requiredMessage\": \"{0} is required\",\r\n \"dxNumberBox-invalidValueMessage\": \"Value must be a number\",\r\n \"dxNumberBox-noDataText\": \"No data\",\r\n \"dxDataGrid-emptyHeaderWithColumnChooserText\": \"Use {0} to display columns\",\r\n \"dxDataGrid-emptyHeaderWithGroupPanelText\": \"Drag a column from the group panel here\",\r\n \"dxDataGrid-emptyHeaderWithColumnChooserAndGroupPanelText\": \"Use {0} or drag a column from the group panel\",\r\n \"dxDataGrid-emptyHeaderColumnChooserText\": \"column chooser\",\r\n \"dxDataGrid-columnChooserTitle\": \"Column Chooser\",\r\n \"dxDataGrid-columnChooserEmptyText\": \"Drag a column here to hide it\",\r\n \"dxDataGrid-groupContinuesMessage\": \"Continues on the next page\",\r\n \"dxDataGrid-groupContinuedMessage\": \"Continued from the previous page\",\r\n \"dxDataGrid-groupHeaderText\": \"Group by This Column\",\r\n \"dxDataGrid-ungroupHeaderText\": \"Ungroup\",\r\n \"dxDataGrid-ungroupAllText\": \"Ungroup All\",\r\n \"dxDataGrid-editingEditRow\": \"Edit\",\r\n \"dxDataGrid-editingSaveRowChanges\": \"Save\",\r\n \"dxDataGrid-editingCancelRowChanges\": \"Cancel\",\r\n \"dxDataGrid-editingDeleteRow\": \"Delete\",\r\n \"dxDataGrid-editingUndeleteRow\": \"Undelete\",\r\n \"dxDataGrid-editingConfirmDeleteMessage\": \"Are you sure you want to delete this record?\",\r\n \"dxDataGrid-validationCancelChanges\": \"Cancel changes\",\r\n \"dxDataGrid-groupPanelEmptyText\": \"Drag a column header here to group by that column\",\r\n \"dxDataGrid-noDataText\": \"No data\",\r\n \"dxDataGrid-searchPanelPlaceholder\": \"Search...\",\r\n \"dxDataGrid-filterRowShowAllText\": \"(All)\",\r\n \"dxDataGrid-filterRowResetOperationText\": \"Reset\",\r\n \"dxDataGrid-filterRowOperationEquals\": \"Equals\",\r\n \"dxDataGrid-filterRowOperationNotEquals\": \"Does not equal\",\r\n \"dxDataGrid-filterRowOperationLess\": \"Less than\",\r\n \"dxDataGrid-filterRowOperationLessOrEquals\": \"Less than or equal to\",\r\n \"dxDataGrid-filterRowOperationGreater\": \"Greater than\",\r\n \"dxDataGrid-filterRowOperationGreaterOrEquals\": \"Greater than or equal to\",\r\n \"dxDataGrid-filterRowOperationStartsWith\": \"Starts with\",\r\n \"dxDataGrid-filterRowOperationContains\": \"Contains\",\r\n \"dxDataGrid-filterRowOperationNotContains\": \"Does not contain\",\r\n \"dxDataGrid-filterRowOperationEndsWith\": \"Ends with\",\r\n \"dxDataGrid-filterRowOperationBetween\": \"Between\",\r\n \"dxDataGrid-filterRowOperationBetweenStartText\": \"Start\",\r\n \"dxDataGrid-filterRowOperationBetweenEndText\": \"End\",\r\n \"dxDataGrid-ariaSearchBox\": \"Search box\",\r\n \"dxDataGrid-applyFilterText\": \"Apply filter\",\r\n \"dxDataGrid-trueText\": \"true\",\r\n \"dxDataGrid-falseText\": \"false\",\r\n \"dxDataGrid-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxDataGrid-sortingDescendingText\": \"Sort Descending\",\r\n \"dxDataGrid-sortingClearText\": \"Clear Sorting\",\r\n \"dxDataGrid-ariaNotSortedColumn\": \"Not sorted column\",\r\n \"dxDataGrid-ariaSortedAscendingColumn\": \"Column sorted in ascending order\",\r\n \"dxDataGrid-ariaSortedDescendingColumn\": \"Column sorted in descending order\",\r\n \"dxDataGrid-ariaSortIndex\": \"Sort index {0}\",\r\n \"dxDataGrid-editingSaveAllChanges\": \"Save changes\",\r\n \"dxDataGrid-editingCancelAllChanges\": \"Discard changes\",\r\n \"dxDataGrid-editingAddRow\": \"Add a row\",\r\n \"dxDataGrid-summaryMin\": \"Min: {0}\",\r\n \"dxDataGrid-summaryMinOtherColumn\": \"Min of {1} is {0}\",\r\n \"dxDataGrid-summaryMax\": \"Max: {0}\",\r\n \"dxDataGrid-summaryMaxOtherColumn\": \"Max of {1} is {0}\",\r\n \"dxDataGrid-summaryAvg\": \"Avg: {0}\",\r\n \"dxDataGrid-summaryAvgOtherColumn\": \"Avg of {1} is {0}\",\r\n \"dxDataGrid-summarySum\": \"Sum: {0}\",\r\n \"dxDataGrid-summarySumOtherColumn\": \"Sum of {1} is {0}\",\r\n \"dxDataGrid-summaryCount\": \"Count: {0}\",\r\n \"dxDataGrid-columnFixingFix\": \"Fix\",\r\n \"dxDataGrid-columnFixingUnfix\": \"Unfix\",\r\n \"dxDataGrid-columnFixingLeftPosition\": \"To the left\",\r\n \"dxDataGrid-columnFixingRightPosition\": \"To the right\",\r\n \"dxDataGrid-exportTo\": \"Export\",\r\n \"dxDataGrid-exportToExcel\": \"Export to Excel file\",\r\n \"dxDataGrid-exporting\": \"Exporting...\",\r\n \"dxDataGrid-excelFormat\": \"Excel file\",\r\n \"dxDataGrid-selectedRows\": \"Selected rows\",\r\n \"dxDataGrid-exportSelectedRows\": \"Export selected rows to {0}\",\r\n \"dxDataGrid-exportAll\": \"Export all data to {0}\",\r\n \"dxDataGrid-headerFilterLabel\": \"Filter options\",\r\n \"dxDataGrid-headerFilterIndicatorLabel\": \"Show filter options for column '{0}'\",\r\n \"dxDataGrid-headerFilterEmptyValue\": \"(Blanks)\",\r\n \"dxDataGrid-headerFilterOK\": \"OK\",\r\n \"dxDataGrid-headerFilterCancel\": \"Cancel\",\r\n \"dxDataGrid-ariaAdaptiveCollapse\": \"Hide additional data\",\r\n \"dxDataGrid-ariaAdaptiveExpand\": \"Display additional data\",\r\n \"dxDataGrid-ariaColumn\": \"Column\",\r\n \"dxDataGrid-ariaColumnHeader\": \"Column header\",\r\n \"dxDataGrid-ariaValue\": \"Value\",\r\n \"dxDataGrid-ariaError\": \"Error\",\r\n \"dxDataGrid-ariaRevertButton\": \"Press Escape to discard the changes\",\r\n \"dxDataGrid-ariaFilterCell\": \"Filter cell\",\r\n \"dxDataGrid-ariaCollapse\": \"Collapse\",\r\n \"dxDataGrid-ariaModifiedCell\": \"Modified\",\r\n \"dxDataGrid-ariaDeletedCell\": \"Deleted\",\r\n \"dxDataGrid-ariaEditableCell\": \"Editable\",\r\n \"dxDataGrid-ariaExpand\": \"Expand\",\r\n \"dxDataGrid-ariaCollapsedRow\": \"Collapsed row\",\r\n \"dxDataGrid-ariaExpandedRow\": \"Expanded row\",\r\n \"dxDataGrid-ariaDataGrid\": \"Data grid with {0} rows and {1} columns\",\r\n \"dxDataGrid-ariaSearchInGrid\": \"Search in the data grid\",\r\n \"dxDataGrid-ariaSelectAll\": \"Select all\",\r\n \"dxDataGrid-ariaSelectRow\": \"Select row\",\r\n \"dxDataGrid-ariaToolbar\": \"Data grid toolbar\",\r\n \"dxDataGrid-ariaEditForm\": \"Edit form\",\r\n \"dxDataGrid-filterBuilderPopupTitle\": \"Filter Builder\",\r\n \"dxDataGrid-filterPanelCreateFilter\": \"Create Filter\",\r\n \"dxDataGrid-filterPanelClearFilter\": \"Clear\",\r\n \"dxDataGrid-filterPanelFilterEnabledHint\": \"Enable the filter\",\r\n \"dxTreeList-ariaTreeList\": \"Tree list with {0} rows and {1} columns\",\r\n \"dxTreeList-ariaSearchInGrid\": \"Search in the tree list\",\r\n \"dxTreeList-ariaToolbar\": \"Tree list toolbar\",\r\n \"dxTreeList-editingAddRowToNode\": \"Add\",\r\n \"dxPager-infoText\": \"Page {0} of {1} ({2} items)\",\r\n \"dxPager-pagesCountText\": \"of\",\r\n \"dxPager-pageSize\": \"Items per page: {0}\",\r\n \"dxPager-pageSizesAllText\": \"All\",\r\n \"dxPager-page\": \"Page {0}\",\r\n \"dxPager-prevPage\": \"Previous Page\",\r\n \"dxPager-nextPage\": \"Next Page\",\r\n \"dxPager-ariaLabel\": \"Page Navigation\",\r\n \"dxPager-ariaPageSize\": \"Page size\",\r\n \"dxPager-ariaPageNumber\": \"Page number\",\r\n \"dxPivotGrid-grandTotal\": \"Grand Total\",\r\n \"dxPivotGrid-total\": \"{0} Total\",\r\n \"dxPivotGrid-fieldChooserTitle\": \"Field Chooser\",\r\n \"dxPivotGrid-showFieldChooser\": \"Show Field Chooser\",\r\n \"dxPivotGrid-expandAll\": \"Expand All\",\r\n \"dxPivotGrid-collapseAll\": \"Collapse All\",\r\n \"dxPivotGrid-sortColumnBySummary\": 'Sort \"{0}\" by This Column',\r\n \"dxPivotGrid-sortRowBySummary\": 'Sort \"{0}\" by This Row',\r\n \"dxPivotGrid-removeAllSorting\": \"Remove All Sorting\",\r\n \"dxPivotGrid-dataNotAvailable\": \"N/A\",\r\n \"dxPivotGrid-rowFields\": \"Row Fields\",\r\n \"dxPivotGrid-columnFields\": \"Column Fields\",\r\n \"dxPivotGrid-dataFields\": \"Data Fields\",\r\n \"dxPivotGrid-filterFields\": \"Filter Fields\",\r\n \"dxPivotGrid-allFields\": \"All Fields\",\r\n \"dxPivotGrid-columnFieldArea\": \"Drop Column Fields Here\",\r\n \"dxPivotGrid-dataFieldArea\": \"Drop Data Fields Here\",\r\n \"dxPivotGrid-rowFieldArea\": \"Drop Row Fields Here\",\r\n \"dxPivotGrid-filterFieldArea\": \"Drop Filter Fields Here\",\r\n \"dxScheduler-editorLabelTitle\": \"Subject\",\r\n \"dxScheduler-editorLabelStartDate\": \"Start Date\",\r\n \"dxScheduler-editorLabelEndDate\": \"End Date\",\r\n \"dxScheduler-editorLabelDescription\": \"Description\",\r\n \"dxScheduler-editorLabelRecurrence\": \"Repeat\",\r\n \"dxScheduler-openAppointment\": \"Open appointment\",\r\n \"dxScheduler-recurrenceNever\": \"Never\",\r\n \"dxScheduler-recurrenceMinutely\": \"Every minute\",\r\n \"dxScheduler-recurrenceHourly\": \"Hourly\",\r\n \"dxScheduler-recurrenceDaily\": \"Daily\",\r\n \"dxScheduler-recurrenceWeekly\": \"Weekly\",\r\n \"dxScheduler-recurrenceMonthly\": \"Monthly\",\r\n \"dxScheduler-recurrenceYearly\": \"Yearly\",\r\n \"dxScheduler-recurrenceRepeatEvery\": \"Repeat Every\",\r\n \"dxScheduler-recurrenceRepeatOn\": \"Repeat On\",\r\n \"dxScheduler-recurrenceEnd\": \"End repeat\",\r\n \"dxScheduler-recurrenceAfter\": \"After\",\r\n \"dxScheduler-recurrenceOn\": \"On\",\r\n \"dxScheduler-recurrenceRepeatMinutely\": \"minute(s)\",\r\n \"dxScheduler-recurrenceRepeatHourly\": \"hour(s)\",\r\n \"dxScheduler-recurrenceRepeatDaily\": \"day(s)\",\r\n \"dxScheduler-recurrenceRepeatWeekly\": \"week(s)\",\r\n \"dxScheduler-recurrenceRepeatMonthly\": \"month(s)\",\r\n \"dxScheduler-recurrenceRepeatYearly\": \"year(s)\",\r\n \"dxScheduler-switcherDay\": \"Day\",\r\n \"dxScheduler-switcherWeek\": \"Week\",\r\n \"dxScheduler-switcherWorkWeek\": \"Work Week\",\r\n \"dxScheduler-switcherMonth\": \"Month\",\r\n \"dxScheduler-switcherAgenda\": \"Agenda\",\r\n \"dxScheduler-switcherTimelineDay\": \"Timeline Day\",\r\n \"dxScheduler-switcherTimelineWeek\": \"Timeline Week\",\r\n \"dxScheduler-switcherTimelineWorkWeek\": \"Timeline Work Week\",\r\n \"dxScheduler-switcherTimelineMonth\": \"Timeline Month\",\r\n \"dxScheduler-recurrenceRepeatOnDate\": \"on date\",\r\n \"dxScheduler-recurrenceRepeatCount\": \"occurrence(s)\",\r\n \"dxScheduler-allDay\": \"All day\",\r\n \"dxScheduler-confirmRecurrenceEditTitle\": \"Edit Recurring Appointment\",\r\n \"dxScheduler-confirmRecurrenceDeleteTitle\": \"Delete Recurring Appointment\",\r\n \"dxScheduler-confirmRecurrenceEditMessage\": \"Do you want to edit only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceDeleteMessage\": \"Do you want to delete only this appointment or the whole series?\",\r\n \"dxScheduler-confirmRecurrenceEditSeries\": \"Edit series\",\r\n \"dxScheduler-confirmRecurrenceDeleteSeries\": \"Delete series\",\r\n \"dxScheduler-confirmRecurrenceEditOccurrence\": \"Edit appointment\",\r\n \"dxScheduler-confirmRecurrenceDeleteOccurrence\": \"Delete appointment\",\r\n \"dxScheduler-noTimezoneTitle\": \"No timezone\",\r\n \"dxScheduler-moreAppointments\": \"{0} more\",\r\n \"dxCalendar-todayButtonText\": \"Today\",\r\n \"dxCalendar-ariaWidgetName\": \"Calendar\",\r\n \"dxCalendar-previousMonthButtonLabel\": \"Previous month\",\r\n \"dxCalendar-previousYearButtonLabel\": \"Previous year\",\r\n \"dxCalendar-previousDecadeButtonLabel\": \"Previous decade\",\r\n \"dxCalendar-previousCenturyButtonLabel\": \"Previous century\",\r\n \"dxCalendar-nextMonthButtonLabel\": \"Next month\",\r\n \"dxCalendar-nextYearButtonLabel\": \"Next year\",\r\n \"dxCalendar-nextDecadeButtonLabel\": \"Next decade\",\r\n \"dxCalendar-nextCenturyButtonLabel\": \"Next century\",\r\n \"dxCalendar-captionMonthLabel\": \"Month selection\",\r\n \"dxCalendar-captionYearLabel\": \"Year selection\",\r\n \"dxCalendar-captionDecadeLabel\": \"Decade selection\",\r\n \"dxCalendar-captionCenturyLabel\": \"Century selection\",\r\n \"dxColorView-ariaRed\": \"Red\",\r\n \"dxColorView-ariaGreen\": \"Green\",\r\n \"dxColorView-ariaBlue\": \"Blue\",\r\n \"dxColorView-ariaAlpha\": \"Transparency\",\r\n \"dxColorView-ariaHex\": \"Color code\",\r\n \"dxTagBox-selected\": \"{0} selected\",\r\n \"dxTagBox-allSelected\": \"All selected ({0})\",\r\n \"dxTagBox-moreSelected\": \"{0} more\",\r\n \"vizExport-printingButtonText\": \"Print\",\r\n \"vizExport-titleMenuText\": \"Exporting/Printing\",\r\n \"vizExport-exportButtonText\": \"{0} file\",\r\n \"dxFilterBuilder-and\": \"And\",\r\n \"dxFilterBuilder-or\": \"Or\",\r\n \"dxFilterBuilder-notAnd\": \"Not And\",\r\n \"dxFilterBuilder-notOr\": \"Not Or\",\r\n \"dxFilterBuilder-addCondition\": \"Add Condition\",\r\n \"dxFilterBuilder-addGroup\": \"Add Group\",\r\n \"dxFilterBuilder-enterValueText\": \"\",\r\n \"dxFilterBuilder-filterOperationEquals\": \"Equals\",\r\n \"dxFilterBuilder-filterOperationNotEquals\": \"Does not equal\",\r\n \"dxFilterBuilder-filterOperationLess\": \"Is less than\",\r\n \"dxFilterBuilder-filterOperationLessOrEquals\": \"Is less than or equal to\",\r\n \"dxFilterBuilder-filterOperationGreater\": \"Is greater than\",\r\n \"dxFilterBuilder-filterOperationGreaterOrEquals\": \"Is greater than or equal to\",\r\n \"dxFilterBuilder-filterOperationStartsWith\": \"Starts with\",\r\n \"dxFilterBuilder-filterOperationContains\": \"Contains\",\r\n \"dxFilterBuilder-filterOperationNotContains\": \"Does not contain\",\r\n \"dxFilterBuilder-filterOperationEndsWith\": \"Ends with\",\r\n \"dxFilterBuilder-filterOperationIsBlank\": \"Is blank\",\r\n \"dxFilterBuilder-filterOperationIsNotBlank\": \"Is not blank\",\r\n \"dxFilterBuilder-filterOperationBetween\": \"Is between\",\r\n \"dxFilterBuilder-filterOperationAnyOf\": \"Is any of\",\r\n \"dxFilterBuilder-filterOperationNoneOf\": \"Is none of\",\r\n \"dxHtmlEditor-dialogColorCaption\": \"Change Font Color\",\r\n \"dxHtmlEditor-dialogBackgroundCaption\": \"Change Background Color\",\r\n \"dxHtmlEditor-dialogLinkCaption\": \"Add Link\",\r\n \"dxHtmlEditor-dialogLinkUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogLinkTextField\": \"Text\",\r\n \"dxHtmlEditor-dialogLinkTargetField\": \"Open link in new window\",\r\n \"dxHtmlEditor-dialogImageCaption\": \"Add Image\",\r\n \"dxHtmlEditor-dialogImageUrlField\": \"URL\",\r\n \"dxHtmlEditor-dialogImageAltField\": \"Alternate text\",\r\n \"dxHtmlEditor-dialogImageWidthField\": \"Width (px)\",\r\n \"dxHtmlEditor-dialogImageHeightField\": \"Height (px)\",\r\n \"dxHtmlEditor-dialogInsertTableRowsField\": \"Rows\",\r\n \"dxHtmlEditor-dialogInsertTableColumnsField\": \"Columns\",\r\n \"dxHtmlEditor-dialogInsertTableCaption\": \"Insert Table\",\r\n \"dxHtmlEditor-dialogUpdateImageCaption\": \"Update Image\",\r\n \"dxHtmlEditor-dialogImageUpdateButton\": \"Update\",\r\n \"dxHtmlEditor-dialogImageAddButton\": \"Add\",\r\n \"dxHtmlEditor-dialogImageSpecifyUrl\": \"From the Web\",\r\n \"dxHtmlEditor-dialogImageSelectFile\": \"From This Device\",\r\n \"dxHtmlEditor-dialogImageKeepAspectRatio\": \"Keep Aspect Ratio\",\r\n \"dxHtmlEditor-dialogImageEncodeToBase64\": \"Encode to Base64\",\r\n \"dxHtmlEditor-heading\": \"Heading\",\r\n \"dxHtmlEditor-normalText\": \"Normal text\",\r\n \"dxHtmlEditor-background\": \"Background Color\",\r\n \"dxHtmlEditor-bold\": \"Bold\",\r\n \"dxHtmlEditor-color\": \"Font Color\",\r\n \"dxHtmlEditor-font\": \"Font\",\r\n \"dxHtmlEditor-italic\": \"Italic\",\r\n \"dxHtmlEditor-link\": \"Add Link\",\r\n \"dxHtmlEditor-image\": \"Add Image\",\r\n \"dxHtmlEditor-size\": \"Size\",\r\n \"dxHtmlEditor-strike\": \"Strikethrough\",\r\n \"dxHtmlEditor-subscript\": \"Subscript\",\r\n \"dxHtmlEditor-superscript\": \"Superscript\",\r\n \"dxHtmlEditor-underline\": \"Underline\",\r\n \"dxHtmlEditor-blockquote\": \"Blockquote\",\r\n \"dxHtmlEditor-header\": \"Header\",\r\n \"dxHtmlEditor-increaseIndent\": \"Increase Indent\",\r\n \"dxHtmlEditor-decreaseIndent\": \"Decrease Indent\",\r\n \"dxHtmlEditor-orderedList\": \"Ordered List\",\r\n \"dxHtmlEditor-bulletList\": \"Bullet List\",\r\n \"dxHtmlEditor-alignLeft\": \"Align Left\",\r\n \"dxHtmlEditor-alignCenter\": \"Align Center\",\r\n \"dxHtmlEditor-alignRight\": \"Align Right\",\r\n \"dxHtmlEditor-alignJustify\": \"Align Justify\",\r\n \"dxHtmlEditor-codeBlock\": \"Code Block\",\r\n \"dxHtmlEditor-variable\": \"Add Variable\",\r\n \"dxHtmlEditor-undo\": \"Undo\",\r\n \"dxHtmlEditor-redo\": \"Redo\",\r\n \"dxHtmlEditor-clear\": \"Clear Formatting\",\r\n \"dxHtmlEditor-insertTable\": \"Insert Table\",\r\n \"dxHtmlEditor-insertHeaderRow\": \"Insert Header Row\",\r\n \"dxHtmlEditor-insertRowAbove\": \"Insert Row Above\",\r\n \"dxHtmlEditor-insertRowBelow\": \"Insert Row Below\",\r\n \"dxHtmlEditor-insertColumnLeft\": \"Insert Column Left\",\r\n \"dxHtmlEditor-insertColumnRight\": \"Insert Column Right\",\r\n \"dxHtmlEditor-deleteColumn\": \"Delete Column\",\r\n \"dxHtmlEditor-deleteRow\": \"Delete Row\",\r\n \"dxHtmlEditor-deleteTable\": \"Delete Table\",\r\n \"dxHtmlEditor-cellProperties\": \"Cell Properties\",\r\n \"dxHtmlEditor-tableProperties\": \"Table Properties\",\r\n \"dxHtmlEditor-insert\": \"Insert\",\r\n \"dxHtmlEditor-delete\": \"Delete\",\r\n \"dxHtmlEditor-border\": \"Border\",\r\n \"dxHtmlEditor-style\": \"Style\",\r\n \"dxHtmlEditor-width\": \"Width\",\r\n \"dxHtmlEditor-height\": \"Height\",\r\n \"dxHtmlEditor-borderColor\": \"Color\",\r\n \"dxHtmlEditor-borderWidth\": \"Border Width\",\r\n \"dxHtmlEditor-tableBackground\": \"Background\",\r\n \"dxHtmlEditor-dimensions\": \"Dimensions\",\r\n \"dxHtmlEditor-alignment\": \"Alignment\",\r\n \"dxHtmlEditor-horizontal\": \"Horizontal\",\r\n \"dxHtmlEditor-vertical\": \"Vertical\",\r\n \"dxHtmlEditor-paddingVertical\": \"Vertical Padding\",\r\n \"dxHtmlEditor-paddingHorizontal\": \"Horizontal Padding\",\r\n \"dxHtmlEditor-pixels\": \"Pixels\",\r\n \"dxHtmlEditor-list\": \"List\",\r\n \"dxHtmlEditor-ordered\": \"Ordered\",\r\n \"dxHtmlEditor-bullet\": \"Bullet\",\r\n \"dxHtmlEditor-align\": \"Align\",\r\n \"dxHtmlEditor-center\": \"Center\",\r\n \"dxHtmlEditor-left\": \"Left\",\r\n \"dxHtmlEditor-right\": \"Right\",\r\n \"dxHtmlEditor-indent\": \"Indent\",\r\n \"dxHtmlEditor-justify\": \"Justify\",\r\n \"dxHtmlEditor-borderStyleNone\": \"none\",\r\n \"dxHtmlEditor-borderStyleHidden\": \"hidden\",\r\n \"dxHtmlEditor-borderStyleDotted\": \"dotted\",\r\n \"dxHtmlEditor-borderStyleDashed\": \"dashed\",\r\n \"dxHtmlEditor-borderStyleSolid\": \"solid\",\r\n \"dxHtmlEditor-borderStyleDouble\": \"double\",\r\n \"dxHtmlEditor-borderStyleGroove\": \"groove\",\r\n \"dxHtmlEditor-borderStyleRidge\": \"ridge\",\r\n \"dxHtmlEditor-borderStyleInset\": \"inset\",\r\n \"dxHtmlEditor-borderStyleOutset\": \"outset\",\r\n \"dxFileManager-newDirectoryName\": \"Untitled directory\",\r\n \"dxFileManager-rootDirectoryName\": \"Files\",\r\n \"dxFileManager-errorNoAccess\": \"Access Denied. Operation could not be completed.\",\r\n \"dxFileManager-errorDirectoryExistsFormat\": \"Directory '{0}' already exists.\",\r\n \"dxFileManager-errorFileExistsFormat\": \"File '{0}' already exists.\",\r\n \"dxFileManager-errorFileNotFoundFormat\": \"File '{0}' not found.\",\r\n \"dxFileManager-errorDirectoryNotFoundFormat\": \"Directory '{0}' not found.\",\r\n \"dxFileManager-errorWrongFileExtension\": \"File extension is not allowed.\",\r\n \"dxFileManager-errorMaxFileSizeExceeded\": \"File size exceeds the maximum allowed size.\",\r\n \"dxFileManager-errorInvalidSymbols\": \"This name contains invalid characters.\",\r\n \"dxFileManager-errorDefault\": \"Unspecified error.\",\r\n \"dxFileManager-errorDirectoryOpenFailed\": \"The directory cannot be opened\",\r\n \"dxFileManager-commandCreate\": \"New directory\",\r\n \"dxFileManager-commandRename\": \"Rename\",\r\n \"dxFileManager-commandMove\": \"Move to\",\r\n \"dxFileManager-commandCopy\": \"Copy to\",\r\n \"dxFileManager-commandDelete\": \"Delete\",\r\n \"dxFileManager-commandDownload\": \"Download\",\r\n \"dxFileManager-commandUpload\": \"Upload files\",\r\n \"dxFileManager-commandRefresh\": \"Refresh\",\r\n \"dxFileManager-commandThumbnails\": \"Thumbnails View\",\r\n \"dxFileManager-commandDetails\": \"Details View\",\r\n \"dxFileManager-commandClearSelection\": \"Clear selection\",\r\n \"dxFileManager-commandShowNavPane\": \"Toggle navigation pane\",\r\n \"dxFileManager-dialogDirectoryChooserMoveTitle\": \"Move to\",\r\n \"dxFileManager-dialogDirectoryChooserMoveButtonText\": \"Move\",\r\n \"dxFileManager-dialogDirectoryChooserCopyTitle\": \"Copy to\",\r\n \"dxFileManager-dialogDirectoryChooserCopyButtonText\": \"Copy\",\r\n \"dxFileManager-dialogRenameItemTitle\": \"Rename\",\r\n \"dxFileManager-dialogRenameItemButtonText\": \"Save\",\r\n \"dxFileManager-dialogCreateDirectoryTitle\": \"New directory\",\r\n \"dxFileManager-dialogCreateDirectoryButtonText\": \"Create\",\r\n \"dxFileManager-dialogDeleteItemTitle\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemButtonText\": \"Delete\",\r\n \"dxFileManager-dialogDeleteItemSingleItemConfirmation\": \"Are you sure you want to delete {0}?\",\r\n \"dxFileManager-dialogDeleteItemMultipleItemsConfirmation\": \"Are you sure you want to delete {0} items?\",\r\n \"dxFileManager-dialogButtonCancel\": \"Cancel\",\r\n \"dxFileManager-editingCreateSingleItemProcessingMessage\": \"Creating a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemSuccessMessage\": \"Created a directory inside {0}\",\r\n \"dxFileManager-editingCreateSingleItemErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingCreateCommonErrorMessage\": \"Directory was not created\",\r\n \"dxFileManager-editingRenameSingleItemProcessingMessage\": \"Renaming an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemSuccessMessage\": \"Renamed an item inside {0}\",\r\n \"dxFileManager-editingRenameSingleItemErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingRenameCommonErrorMessage\": \"Item was not renamed\",\r\n \"dxFileManager-editingDeleteSingleItemProcessingMessage\": \"Deleting an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsProcessingMessage\": \"Deleting {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemSuccessMessage\": \"Deleted an item from {0}\",\r\n \"dxFileManager-editingDeleteMultipleItemsSuccessMessage\": \"Deleted {0} items from {1}\",\r\n \"dxFileManager-editingDeleteSingleItemErrorMessage\": \"Item was not deleted\",\r\n \"dxFileManager-editingDeleteMultipleItemsErrorMessage\": \"{0} items were not deleted\",\r\n \"dxFileManager-editingDeleteCommonErrorMessage\": \"Some items were not deleted\",\r\n \"dxFileManager-editingMoveSingleItemProcessingMessage\": \"Moving an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsProcessingMessage\": \"Moving {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemSuccessMessage\": \"Moved an item to {0}\",\r\n \"dxFileManager-editingMoveMultipleItemsSuccessMessage\": \"Moved {0} items to {1}\",\r\n \"dxFileManager-editingMoveSingleItemErrorMessage\": \"Item was not moved\",\r\n \"dxFileManager-editingMoveMultipleItemsErrorMessage\": \"{0} items were not moved\",\r\n \"dxFileManager-editingMoveCommonErrorMessage\": \"Some items were not moved\",\r\n \"dxFileManager-editingCopySingleItemProcessingMessage\": \"Copying an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsProcessingMessage\": \"Copying {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemSuccessMessage\": \"Copied an item to {0}\",\r\n \"dxFileManager-editingCopyMultipleItemsSuccessMessage\": \"Copied {0} items to {1}\",\r\n \"dxFileManager-editingCopySingleItemErrorMessage\": \"Item was not copied\",\r\n \"dxFileManager-editingCopyMultipleItemsErrorMessage\": \"{0} items were not copied\",\r\n \"dxFileManager-editingCopyCommonErrorMessage\": \"Some items were not copied\",\r\n \"dxFileManager-editingUploadSingleItemProcessingMessage\": \"Uploading an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsProcessingMessage\": \"Uploading {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemSuccessMessage\": \"Uploaded an item to {0}\",\r\n \"dxFileManager-editingUploadMultipleItemsSuccessMessage\": \"Uploaded {0} items to {1}\",\r\n \"dxFileManager-editingUploadSingleItemErrorMessage\": \"Item was not uploaded\",\r\n \"dxFileManager-editingUploadMultipleItemsErrorMessage\": \"{0} items were not uploaded\",\r\n \"dxFileManager-editingUploadCanceledMessage\": \"Canceled\",\r\n \"dxFileManager-editingDownloadSingleItemErrorMessage\": \"Item was not downloaded\",\r\n \"dxFileManager-editingDownloadMultipleItemsErrorMessage\": \"{0} items were not downloaded\",\r\n \"dxFileManager-listDetailsColumnCaptionName\": \"Name\",\r\n \"dxFileManager-listDetailsColumnCaptionDateModified\": \"Date Modified\",\r\n \"dxFileManager-listDetailsColumnCaptionFileSize\": \"File Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextSize\": \"Size\",\r\n \"dxFileManager-listThumbnailsTooltipTextDateModified\": \"Date Modified\",\r\n \"dxFileManager-notificationProgressPanelTitle\": \"Progress\",\r\n \"dxFileManager-notificationProgressPanelEmptyListText\": \"No operations\",\r\n \"dxFileManager-notificationProgressPanelOperationCanceled\": \"Canceled\",\r\n \"dxDiagram-categoryGeneral\": \"General\",\r\n \"dxDiagram-categoryFlowchart\": \"Flowchart\",\r\n \"dxDiagram-categoryOrgChart\": \"Org Chart\",\r\n \"dxDiagram-categoryContainers\": \"Containers\",\r\n \"dxDiagram-categoryCustom\": \"Custom\",\r\n \"dxDiagram-commandExportToSvg\": \"Export to SVG\",\r\n \"dxDiagram-commandExportToPng\": \"Export to PNG\",\r\n \"dxDiagram-commandExportToJpg\": \"Export to JPEG\",\r\n \"dxDiagram-commandUndo\": \"Undo\",\r\n \"dxDiagram-commandRedo\": \"Redo\",\r\n \"dxDiagram-commandFontName\": \"Font Name\",\r\n \"dxDiagram-commandFontSize\": \"Font Size\",\r\n \"dxDiagram-commandBold\": \"Bold\",\r\n \"dxDiagram-commandItalic\": \"Italic\",\r\n \"dxDiagram-commandUnderline\": \"Underline\",\r\n \"dxDiagram-commandTextColor\": \"Font Color\",\r\n \"dxDiagram-commandLineColor\": \"Line Color\",\r\n \"dxDiagram-commandLineWidth\": \"Line Width\",\r\n \"dxDiagram-commandLineStyle\": \"Line Style\",\r\n \"dxDiagram-commandLineStyleSolid\": \"Solid\",\r\n \"dxDiagram-commandLineStyleDotted\": \"Dotted\",\r\n \"dxDiagram-commandLineStyleDashed\": \"Dashed\",\r\n \"dxDiagram-commandFillColor\": \"Fill Color\",\r\n \"dxDiagram-commandAlignLeft\": \"Align Left\",\r\n \"dxDiagram-commandAlignCenter\": \"Align Center\",\r\n \"dxDiagram-commandAlignRight\": \"Align Right\",\r\n \"dxDiagram-commandConnectorLineType\": \"Connector Line Type\",\r\n \"dxDiagram-commandConnectorLineStraight\": \"Straight\",\r\n \"dxDiagram-commandConnectorLineOrthogonal\": \"Orthogonal\",\r\n \"dxDiagram-commandConnectorLineStart\": \"Connector Line Start\",\r\n \"dxDiagram-commandConnectorLineEnd\": \"Connector Line End\",\r\n \"dxDiagram-commandConnectorLineNone\": \"None\",\r\n \"dxDiagram-commandConnectorLineArrow\": \"Arrow\",\r\n \"dxDiagram-commandFullscreen\": \"Full Screen\",\r\n \"dxDiagram-commandUnits\": \"Units\",\r\n \"dxDiagram-commandPageSize\": \"Page Size\",\r\n \"dxDiagram-commandPageOrientation\": \"Page Orientation\",\r\n \"dxDiagram-commandPageOrientationLandscape\": \"Landscape\",\r\n \"dxDiagram-commandPageOrientationPortrait\": \"Portrait\",\r\n \"dxDiagram-commandPageColor\": \"Page Color\",\r\n \"dxDiagram-commandShowGrid\": \"Show Grid\",\r\n \"dxDiagram-commandSnapToGrid\": \"Snap to Grid\",\r\n \"dxDiagram-commandGridSize\": \"Grid Size\",\r\n \"dxDiagram-commandZoomLevel\": \"Zoom Level\",\r\n \"dxDiagram-commandAutoZoom\": \"Auto Zoom\",\r\n \"dxDiagram-commandFitToContent\": \"Fit to Content\",\r\n \"dxDiagram-commandFitToWidth\": \"Fit to Width\",\r\n \"dxDiagram-commandAutoZoomByContent\": \"Auto Zoom by Content\",\r\n \"dxDiagram-commandAutoZoomByWidth\": \"Auto Zoom by Width\",\r\n \"dxDiagram-commandSimpleView\": \"Simple View\",\r\n \"dxDiagram-commandCut\": \"Cut\",\r\n \"dxDiagram-commandCopy\": \"Copy\",\r\n \"dxDiagram-commandPaste\": \"Paste\",\r\n \"dxDiagram-commandSelectAll\": \"Select All\",\r\n \"dxDiagram-commandDelete\": \"Delete\",\r\n \"dxDiagram-commandBringToFront\": \"Bring to Front\",\r\n \"dxDiagram-commandSendToBack\": \"Send to Back\",\r\n \"dxDiagram-commandLock\": \"Lock\",\r\n \"dxDiagram-commandUnlock\": \"Unlock\",\r\n \"dxDiagram-commandInsertShapeImage\": \"Insert Image...\",\r\n \"dxDiagram-commandEditShapeImage\": \"Change Image...\",\r\n \"dxDiagram-commandDeleteShapeImage\": \"Delete Image\",\r\n \"dxDiagram-commandLayoutLeftToRight\": \"Left-to-right\",\r\n \"dxDiagram-commandLayoutRightToLeft\": \"Right-to-left\",\r\n \"dxDiagram-commandLayoutTopToBottom\": \"Top-to-bottom\",\r\n \"dxDiagram-commandLayoutBottomToTop\": \"Bottom-to-top\",\r\n \"dxDiagram-unitIn\": \"in\",\r\n \"dxDiagram-unitCm\": \"cm\",\r\n \"dxDiagram-unitPx\": \"px\",\r\n \"dxDiagram-dialogButtonOK\": \"OK\",\r\n \"dxDiagram-dialogButtonCancel\": \"Cancel\",\r\n \"dxDiagram-dialogInsertShapeImageTitle\": \"Insert Image\",\r\n \"dxDiagram-dialogEditShapeImageTitle\": \"Change Image\",\r\n \"dxDiagram-dialogEditShapeImageSelectButton\": \"Select image\",\r\n \"dxDiagram-dialogEditShapeImageLabelText\": \"or drop a file here\",\r\n \"dxDiagram-uiExport\": \"Export\",\r\n \"dxDiagram-uiProperties\": \"Properties\",\r\n \"dxDiagram-uiSettings\": \"Settings\",\r\n \"dxDiagram-uiShowToolbox\": \"Show Toolbox\",\r\n \"dxDiagram-uiSearch\": \"Search\",\r\n \"dxDiagram-uiStyle\": \"Style\",\r\n \"dxDiagram-uiLayout\": \"Layout\",\r\n \"dxDiagram-uiLayoutTree\": \"Tree\",\r\n \"dxDiagram-uiLayoutLayered\": \"Layered\",\r\n \"dxDiagram-uiDiagram\": \"Diagram\",\r\n \"dxDiagram-uiText\": \"Text\",\r\n \"dxDiagram-uiObject\": \"Object\",\r\n \"dxDiagram-uiConnector\": \"Connector\",\r\n \"dxDiagram-uiPage\": \"Page\",\r\n \"dxDiagram-shapeText\": \"Text\",\r\n \"dxDiagram-shapeRectangle\": \"Rectangle\",\r\n \"dxDiagram-shapeEllipse\": \"Ellipse\",\r\n \"dxDiagram-shapeCross\": \"Cross\",\r\n \"dxDiagram-shapeTriangle\": \"Triangle\",\r\n \"dxDiagram-shapeDiamond\": \"Diamond\",\r\n \"dxDiagram-shapeHeart\": \"Heart\",\r\n \"dxDiagram-shapePentagon\": \"Pentagon\",\r\n \"dxDiagram-shapeHexagon\": \"Hexagon\",\r\n \"dxDiagram-shapeOctagon\": \"Octagon\",\r\n \"dxDiagram-shapeStar\": \"Star\",\r\n \"dxDiagram-shapeArrowLeft\": \"Left Arrow\",\r\n \"dxDiagram-shapeArrowUp\": \"Up Arrow\",\r\n \"dxDiagram-shapeArrowRight\": \"Right Arrow\",\r\n \"dxDiagram-shapeArrowDown\": \"Down Arrow\",\r\n \"dxDiagram-shapeArrowUpDown\": \"Up Down Arrow\",\r\n \"dxDiagram-shapeArrowLeftRight\": \"Left Right Arrow\",\r\n \"dxDiagram-shapeProcess\": \"Process\",\r\n \"dxDiagram-shapeDecision\": \"Decision\",\r\n \"dxDiagram-shapeTerminator\": \"Terminator\",\r\n \"dxDiagram-shapePredefinedProcess\": \"Predefined Process\",\r\n \"dxDiagram-shapeDocument\": \"Document\",\r\n \"dxDiagram-shapeMultipleDocuments\": \"Multiple Documents\",\r\n \"dxDiagram-shapeManualInput\": \"Manual Input\",\r\n \"dxDiagram-shapePreparation\": \"Preparation\",\r\n \"dxDiagram-shapeData\": \"Data\",\r\n \"dxDiagram-shapeDatabase\": \"Database\",\r\n \"dxDiagram-shapeHardDisk\": \"Hard Disk\",\r\n \"dxDiagram-shapeInternalStorage\": \"Internal Storage\",\r\n \"dxDiagram-shapePaperTape\": \"Paper Tape\",\r\n \"dxDiagram-shapeManualOperation\": \"Manual Operation\",\r\n \"dxDiagram-shapeDelay\": \"Delay\",\r\n \"dxDiagram-shapeStoredData\": \"Stored Data\",\r\n \"dxDiagram-shapeDisplay\": \"Display\",\r\n \"dxDiagram-shapeMerge\": \"Merge\",\r\n \"dxDiagram-shapeConnector\": \"Connector\",\r\n \"dxDiagram-shapeOr\": \"Or\",\r\n \"dxDiagram-shapeSummingJunction\": \"Summing Junction\",\r\n \"dxDiagram-shapeContainerDefaultText\": \"Container\",\r\n \"dxDiagram-shapeVerticalContainer\": \"Vertical Container\",\r\n \"dxDiagram-shapeHorizontalContainer\": \"Horizontal Container\",\r\n \"dxDiagram-shapeCardDefaultText\": \"Person's Name\",\r\n \"dxDiagram-shapeCardWithImageOnLeft\": \"Card with Image on the Left\",\r\n \"dxDiagram-shapeCardWithImageOnTop\": \"Card with Image on the Top\",\r\n \"dxDiagram-shapeCardWithImageOnRight\": \"Card with Image on the Right\",\r\n \"dxGantt-dialogTitle\": \"Title\",\r\n \"dxGantt-dialogStartTitle\": \"Start\",\r\n \"dxGantt-dialogEndTitle\": \"End\",\r\n \"dxGantt-dialogProgressTitle\": \"Progress\",\r\n \"dxGantt-dialogResourcesTitle\": \"Resources\",\r\n \"dxGantt-dialogResourceManagerTitle\": \"Resource Manager\",\r\n \"dxGantt-dialogTaskDetailsTitle\": \"Task Details\",\r\n \"dxGantt-dialogEditResourceListHint\": \"Edit Resource List\",\r\n \"dxGantt-dialogEditNoResources\": \"No resources\",\r\n \"dxGantt-dialogButtonAdd\": \"Add\",\r\n \"dxGantt-contextMenuNewTask\": \"New Task\",\r\n \"dxGantt-contextMenuNewSubtask\": \"New Subtask\",\r\n \"dxGantt-contextMenuDeleteTask\": \"Delete Task\",\r\n \"dxGantt-contextMenuDeleteDependency\": \"Delete Dependency\",\r\n \"dxGantt-dialogTaskDeleteConfirmation\": \"Deleting a task also deletes all its dependencies and subtasks. Are you sure you want to delete this task?\",\r\n \"dxGantt-dialogDependencyDeleteConfirmation\": \"Are you sure you want to delete the dependency from the task?\",\r\n \"dxGantt-dialogResourcesDeleteConfirmation\": \"Deleting a resource also deletes it from tasks to which this resource is assigned. Are you sure you want to delete these resources? Resources: {0}\",\r\n \"dxGantt-dialogConstraintCriticalViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationMessage\": \"The task you are attempting to move is linked to a second task by a dependency relation. How would you like to proceed?\",\r\n \"dxGantt-dialogCancelOperationMessage\": \"Cancel the operation\",\r\n \"dxGantt-dialogDeleteDependencyMessage\": \"Delete the dependency\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependencyMessage\": \"Move the task and keep the dependency\",\r\n \"dxGantt-dialogConstraintCriticalViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. This change would conflict with dependency rules. How would you like to proceed?\",\r\n \"dxGantt-dialogConstraintViolationSeveralTasksMessage\": \"The task you are attempting to move is linked to another tasks by dependency relations. How would you like to proceed?\",\r\n \"dxGantt-dialogDeleteDependenciesMessage\": \"Delete the dependency relations\",\r\n \"dxGantt-dialogMoveTaskAndKeepDependenciesMessage\": \"Move the task and keep the dependencies\",\r\n \"dxGantt-undo\": \"Undo\",\r\n \"dxGantt-redo\": \"Redo\",\r\n \"dxGantt-expandAll\": \"Expand All\",\r\n \"dxGantt-collapseAll\": \"Collapse All\",\r\n \"dxGantt-addNewTask\": \"Add New Task\",\r\n \"dxGantt-deleteSelectedTask\": \"Delete Selected Task\",\r\n \"dxGantt-zoomIn\": \"Zoom In\",\r\n \"dxGantt-zoomOut\": \"Zoom Out\",\r\n \"dxGantt-fullScreen\": \"Full Screen\",\r\n \"dxGantt-quarter\": \"Q{0}\",\r\n \"dxGantt-sortingAscendingText\": \"Sort Ascending\",\r\n \"dxGantt-sortingDescendingText\": \"Sort Descending\",\r\n \"dxGantt-sortingClearText\": \"Clear Sorting\",\r\n \"dxGantt-showResources\": \"Show Resources\",\r\n \"dxGantt-showDependencies\": \"Show Dependencies\",\r\n \"dxGantt-dialogStartDateValidation\": \"Start date must be after {0}\",\r\n \"dxGantt-dialogEndDateValidation\": \"End date must be after {0}\",\r\n \"dxGallery-itemName\": \"Gallery item\",\r\n \"dxMultiView-elementAriaRoleDescription\": \"MultiView\",\r\n \"dxMultiView-elementAriaLabel\": \"Use the arrow keys or swipe to navigate between views\",\r\n \"dxMultiView-itemAriaRoleDescription\": \"View\",\r\n \"dxMultiView-itemAriaLabel\": \"{0} of {1}\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/console.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction\r\n} from \"./type\";\r\nvar noop = function() {};\r\nvar getConsoleMethod = function(method) {\r\n if (\"undefined\" === typeof console || !isFunction(console[method])) {\r\n return noop\r\n }\r\n return console[method].bind(console)\r\n};\r\nexport var logger = {\r\n log: getConsoleMethod(\"log\"),\r\n info: getConsoleMethod(\"info\"),\r\n warn: getConsoleMethod(\"warn\"),\r\n error: getConsoleMethod(\"error\")\r\n};\r\nexport var debug = function() {\r\n function assert(condition, message) {\r\n if (!condition) {\r\n throw new Error(message)\r\n }\r\n }\r\n return {\r\n assert: assert,\r\n assertParam: function(parameter, message) {\r\n assert(null !== parameter && void 0 !== parameter, message)\r\n }\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/events/pointer/base.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport browser from \"../../core/utils/browser\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n addNamespace,\r\n eventSource,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar POINTER_EVENTS_NAMESPACE = \"dxPointerEvents\";\r\nvar BaseStrategy = Class.inherit({\r\n ctor: function(eventName, originalEvents) {\r\n this._eventName = eventName;\r\n this._originalEvents = addNamespace(originalEvents, POINTER_EVENTS_NAMESPACE);\r\n this._handlerCount = 0;\r\n this.noBubble = this._isNoBubble()\r\n },\r\n _isNoBubble: function() {\r\n var eventName = this._eventName;\r\n return \"dxpointerenter\" === eventName || \"dxpointerleave\" === eventName\r\n },\r\n _handler: function(e) {\r\n var _originalEvent$target;\r\n var delegateTarget = this._getDelegateTarget(e);\r\n var event = {\r\n type: this._eventName,\r\n pointerType: e.pointerType || eventSource(e),\r\n originalEvent: e,\r\n delegateTarget: delegateTarget,\r\n timeStamp: browser.mozilla ? (new Date).getTime() : e.timeStamp\r\n };\r\n var originalEvent = e.originalEvent;\r\n if (null !== originalEvent && void 0 !== originalEvent && null !== (_originalEvent$target = originalEvent.target) && void 0 !== _originalEvent$target && _originalEvent$target.shadowRoot) {\r\n var _originalEvent$path, _originalEvent$compos;\r\n var path = null !== (_originalEvent$path = originalEvent.path) && void 0 !== _originalEvent$path ? _originalEvent$path : null === (_originalEvent$compos = originalEvent.composedPath) || void 0 === _originalEvent$compos ? void 0 : _originalEvent$compos.call(originalEvent);\r\n event.target = path[0]\r\n }\r\n return this._fireEvent(event)\r\n },\r\n _getDelegateTarget: function(e) {\r\n var delegateTarget;\r\n if (this.noBubble) {\r\n delegateTarget = e.delegateTarget\r\n }\r\n return delegateTarget\r\n },\r\n _fireEvent: function(args) {\r\n return fireEvent(args)\r\n },\r\n _setSelector: function(handleObj) {\r\n this._selector = this.noBubble && handleObj ? handleObj.selector : null\r\n },\r\n _getSelector: function() {\r\n return this._selector\r\n },\r\n setup: function() {\r\n return true\r\n },\r\n add: function(element, handleObj) {\r\n if (this._handlerCount <= 0 || this.noBubble) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n this._setSelector(handleObj);\r\n var that = this;\r\n eventsEngine.on(element, this._originalEvents, this._getSelector(), (function(e) {\r\n that._handler(e)\r\n }))\r\n }\r\n if (!this.noBubble) {\r\n this._handlerCount++\r\n }\r\n },\r\n remove: function(handleObj) {\r\n this._setSelector(handleObj);\r\n if (!this.noBubble) {\r\n this._handlerCount--\r\n }\r\n },\r\n teardown: function(element) {\r\n if (this._handlerCount && !this.noBubble) {\r\n return\r\n }\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n if (this._originalEvents !== \".\" + POINTER_EVENTS_NAMESPACE) {\r\n eventsEngine.off(element, this._originalEvents, this._getSelector())\r\n }\r\n },\r\n dispose: function(element) {\r\n element = this.noBubble ? element : domAdapter.getDocument();\r\n eventsEngine.off(element, this._originalEvents)\r\n }\r\n});\r\nexport default BaseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/touch.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../../core/devices\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport BaseStrategy from \"./base\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart\",\r\n dxpointermove: \"touchmove\",\r\n dxpointerup: \"touchend\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"\",\r\n dxpointerout: \"\",\r\n dxpointerenter: \"\",\r\n dxpointerleave: \"\"\r\n};\r\nvar normalizeTouchEvent = function(e) {\r\n var pointers = [];\r\n each(e.touches, (function(_, touch) {\r\n pointers.push(extend({\r\n pointerId: touch.identifier\r\n }, touch))\r\n }));\r\n return {\r\n pointers: pointers,\r\n pointerId: e.changedTouches[0].identifier\r\n }\r\n};\r\nvar skipTouchWithSameIdentifier = function(pointerEvent) {\r\n return \"ios\" === devices.real().platform && (\"dxpointerdown\" === pointerEvent || \"dxpointerup\" === pointerEvent)\r\n};\r\nvar TouchStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n this._pointerId = 0\r\n },\r\n _handler: function(e) {\r\n if (skipTouchWithSameIdentifier(this._eventName)) {\r\n var touch = e.changedTouches[0];\r\n if (this._pointerId === touch.identifier && 0 !== this._pointerId) {\r\n return\r\n }\r\n this._pointerId = touch.identifier\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeTouchEvent(args.originalEvent), args))\r\n }\r\n});\r\nTouchStrategy.map = eventMap;\r\nTouchStrategy.normalize = normalizeTouchEvent;\r\nexport default TouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/observer.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nvar addEventsListener = function(events, handler) {\r\n readyCallbacks.add((function() {\r\n events.split(\" \").forEach((function(event) {\r\n domAdapter.listen(domAdapter.getDocument(), event, handler, true)\r\n }))\r\n }))\r\n};\r\nvar Observer = function(eventMap, pointerEquals, onPointerAdding) {\r\n onPointerAdding = onPointerAdding || function() {};\r\n var pointers = [];\r\n var getPointerIndex = function(e) {\r\n var index = -1;\r\n each(pointers, (function(i, pointer) {\r\n if (!pointerEquals(e, pointer)) {\r\n return true\r\n }\r\n index = i;\r\n return false\r\n }));\r\n return index\r\n };\r\n var removePointer = function(e) {\r\n var index = getPointerIndex(e);\r\n if (index > -1) {\r\n pointers.splice(index, 1)\r\n }\r\n };\r\n addEventsListener(eventMap.dxpointerdown, (function(e) {\r\n if (-1 === getPointerIndex(e)) {\r\n onPointerAdding(e);\r\n pointers.push(e)\r\n }\r\n }));\r\n addEventsListener(eventMap.dxpointermove, (function(e) {\r\n pointers[getPointerIndex(e)] = e\r\n }));\r\n addEventsListener(eventMap.dxpointerup, removePointer);\r\n addEventsListener(eventMap.dxpointercancel, removePointer);\r\n this.pointers = function() {\r\n return pointers\r\n };\r\n this.reset = function() {\r\n pointers = []\r\n }\r\n};\r\nexport default Observer;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport Observer from \"./observer\";\r\nvar eventMap = {\r\n dxpointerdown: \"mousedown\",\r\n dxpointermove: \"mousemove\",\r\n dxpointerup: \"mouseup\",\r\n dxpointercancel: \"\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar normalizeMouseEvent = function(e) {\r\n e.pointerId = 1;\r\n return {\r\n pointers: observer.pointers(),\r\n pointerId: 1\r\n }\r\n};\r\nvar observer;\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n observer = new Observer(eventMap, (function() {\r\n return true\r\n }));\r\n activated = true\r\n};\r\nvar MouseStrategy = BaseStrategy.inherit({\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _fireEvent: function(args) {\r\n return this.callBase(extend(normalizeMouseEvent(args.originalEvent), args))\r\n }\r\n});\r\nMouseStrategy.map = eventMap;\r\nMouseStrategy.normalize = normalizeMouseEvent;\r\nMouseStrategy.activate = activateStrategy;\r\nMouseStrategy.resetObserver = function() {\r\n observer.reset()\r\n};\r\nexport default MouseStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer/mouse_and_touch.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport BaseStrategy from \"./base\";\r\nimport MouseStrategy from \"./mouse\";\r\nimport TouchStrategy from \"./touch\";\r\nimport {\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nvar eventMap = {\r\n dxpointerdown: \"touchstart mousedown\",\r\n dxpointermove: \"touchmove mousemove\",\r\n dxpointerup: \"touchend mouseup\",\r\n dxpointercancel: \"touchcancel\",\r\n dxpointerover: \"mouseover\",\r\n dxpointerout: \"mouseout\",\r\n dxpointerenter: \"mouseenter\",\r\n dxpointerleave: \"mouseleave\"\r\n};\r\nvar activated = false;\r\nvar activateStrategy = function() {\r\n if (activated) {\r\n return\r\n }\r\n MouseStrategy.activate();\r\n activated = true\r\n};\r\nvar MouseAndTouchStrategy = BaseStrategy.inherit({\r\n EVENT_LOCK_TIMEOUT: 100,\r\n ctor: function() {\r\n this.callBase.apply(this, arguments);\r\n activateStrategy()\r\n },\r\n _handler: function(e) {\r\n var isMouse = isMouseEvent(e);\r\n if (!isMouse) {\r\n this._skipNextEvents = true\r\n }\r\n if (isMouse && this._mouseLocked) {\r\n return\r\n }\r\n if (isMouse && this._skipNextEvents) {\r\n this._skipNextEvents = false;\r\n this._mouseLocked = true;\r\n clearTimeout(this._unlockMouseTimer);\r\n var that = this;\r\n this._unlockMouseTimer = setTimeout((function() {\r\n that._mouseLocked = false\r\n }), this.EVENT_LOCK_TIMEOUT);\r\n return\r\n }\r\n return this.callBase(e)\r\n },\r\n _fireEvent: function(args) {\r\n var normalizer = isMouseEvent(args.originalEvent) ? MouseStrategy.normalize : TouchStrategy.normalize;\r\n return this.callBase(extend(normalizer(args.originalEvent), args))\r\n },\r\n dispose: function() {\r\n this.callBase();\r\n this._skipNextEvents = false;\r\n this._mouseLocked = false;\r\n clearTimeout(this._unlockMouseTimer)\r\n }\r\n});\r\nMouseAndTouchStrategy.map = eventMap;\r\nMouseAndTouchStrategy.resetObserver = MouseStrategy.resetObserver;\r\nexport default MouseAndTouchStrategy;\r\n","/**\r\n * DevExtreme (esm/events/pointer.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport GlobalConfig from \"../core/config\";\r\nimport * as support from \"../core/utils/support\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport devices from \"../core/devices\";\r\nimport registerEvent from \"./core/event_registrator\";\r\nimport TouchStrategy from \"./pointer/touch\";\r\nimport MouseStrategy from \"./pointer/mouse\";\r\nimport MouseAndTouchStrategy from \"./pointer/mouse_and_touch\";\r\nvar getStrategy = (support, _ref) => {\r\n var {\r\n tablet: tablet,\r\n phone: phone\r\n } = _ref;\r\n var pointerEventStrategy = getStrategyFromGlobalConfig();\r\n if (pointerEventStrategy) {\r\n return pointerEventStrategy\r\n }\r\n if (support.touch && !(tablet || phone)) {\r\n return MouseAndTouchStrategy\r\n }\r\n if (support.touch) {\r\n return TouchStrategy\r\n }\r\n return MouseStrategy\r\n};\r\nvar EventStrategy = getStrategy(support, devices.real());\r\neach(EventStrategy.map, (pointerEvent, originalEvents) => {\r\n registerEvent(pointerEvent, new EventStrategy(pointerEvent, originalEvents))\r\n});\r\nvar pointer = {\r\n down: \"dxpointerdown\",\r\n up: \"dxpointerup\",\r\n move: \"dxpointermove\",\r\n cancel: \"dxpointercancel\",\r\n enter: \"dxpointerenter\",\r\n leave: \"dxpointerleave\",\r\n over: \"dxpointerover\",\r\n out: \"dxpointerout\"\r\n};\r\n\r\nfunction getStrategyFromGlobalConfig() {\r\n var eventStrategyName = GlobalConfig().pointerEventStrategy;\r\n return {\r\n \"mouse-and-touch\": MouseAndTouchStrategy,\r\n touch: TouchStrategy,\r\n mouse: MouseStrategy\r\n } [eventStrategyName]\r\n}\r\nexport default pointer;\r\n","/**\r\n * DevExtreme (esm/localization/currency.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../core/utils/extend\";\r\nexport default {\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"currency\" === format) {\r\n formatConfig.precision = formatConfig.precision || 0;\r\n var result = this.format(value, extend({}, formatConfig, {\r\n type: \"fixedpoint\"\r\n }));\r\n var currencyPart = this.getCurrencySymbol().symbol.replace(/\\$/g, \"$$$$\");\r\n result = result.replace(/^(\\D*)(\\d.*)/, \"$1\" + currencyPart + \"$2\");\r\n return result\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getCurrencySymbol: function() {\r\n return {\r\n symbol: \"$\"\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function() {\r\n return \"$#,##0{0}_);\\\\($#,##0{0}\\\\)\"\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/animation/frame.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n hasWindow,\r\n getWindow\r\n} from \"../core/utils/window\";\r\nvar window = hasWindow() ? getWindow() : {};\r\nimport callOnce from \"../core/utils/call_once\";\r\nvar FRAME_ANIMATION_STEP_TIME = 1e3 / 60;\r\nvar request = function(callback) {\r\n return setTimeout(callback, FRAME_ANIMATION_STEP_TIME)\r\n};\r\nvar cancel = function(requestID) {\r\n clearTimeout(requestID)\r\n};\r\nvar setAnimationFrameMethods = callOnce((function() {\r\n var nativeRequest = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame;\r\n var nativeCancel = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame;\r\n if (nativeRequest && nativeCancel) {\r\n request = nativeRequest;\r\n cancel = nativeCancel\r\n }\r\n}));\r\nexport function requestAnimationFrame() {\r\n setAnimationFrameMethods();\r\n return request.apply(window, arguments)\r\n}\r\nexport function cancelAnimationFrame() {\r\n setAnimationFrameMethods();\r\n cancel.apply(window, arguments)\r\n}\r\n","/**\r\n * DevExtreme (esm/core/utils/string.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isFunction,\r\n isString\r\n} from \"./type\";\r\nexport var encodeHtml = function() {\r\n var encodeRegExp = [new RegExp(\"&\", \"g\"), new RegExp('\"', \"g\"), new RegExp(\"'\", \"g\"), new RegExp(\"<\", \"g\"), new RegExp(\">\", \"g\")];\r\n return function(str) {\r\n return String(str).replace(encodeRegExp[0], \"&\").replace(encodeRegExp[1], \""\").replace(encodeRegExp[2], \"'\").replace(encodeRegExp[3], \"<\").replace(encodeRegExp[4], \">\")\r\n }\r\n}();\r\nvar splitQuad = function(raw) {\r\n switch (typeof raw) {\r\n case \"string\":\r\n return raw.split(/\\s+/, 4);\r\n case \"object\":\r\n return [raw.x || raw.h || raw.left, raw.y || raw.v || raw.top, raw.x || raw.h || raw.right, raw.y || raw.v || raw.bottom];\r\n case \"number\":\r\n return [raw];\r\n default:\r\n return raw\r\n }\r\n};\r\nexport var quadToObject = function(raw) {\r\n var quad = splitQuad(raw);\r\n var left = parseInt(quad && quad[0], 10);\r\n var top = parseInt(quad && quad[1], 10);\r\n var right = parseInt(quad && quad[2], 10);\r\n var bottom = parseInt(quad && quad[3], 10);\r\n if (!isFinite(left)) {\r\n left = 0\r\n }\r\n if (!isFinite(top)) {\r\n top = left\r\n }\r\n if (!isFinite(right)) {\r\n right = left\r\n }\r\n if (!isFinite(bottom)) {\r\n bottom = top\r\n }\r\n return {\r\n top: top,\r\n right: right,\r\n bottom: bottom,\r\n left: left\r\n }\r\n};\r\nexport function format(template) {\r\n for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\r\n values[_key - 1] = arguments[_key]\r\n }\r\n if (isFunction(template)) {\r\n return template(...values)\r\n }\r\n values.forEach((value, index) => {\r\n if (isString(value)) {\r\n value = value.replace(/\\$/g, \"$$$$\")\r\n }\r\n var placeholderReg = new RegExp(\"\\\\{\" + index + \"\\\\}\", \"gm\");\r\n template = template.replace(placeholderReg, value)\r\n });\r\n return template\r\n}\r\nexport var isEmpty = function() {\r\n var SPACE_REGEXP = /\\s/g;\r\n return function(text) {\r\n return !text || !text.replace(SPACE_REGEXP, \"\")\r\n }\r\n}();\r\n","/**\r\n * DevExtreme (esm/localization.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport core from \"./localization/core\";\r\nimport message from \"./localization/message\";\r\nimport number from \"./localization/number\";\r\nimport date from \"./localization/date\";\r\nimport \"./localization/currency\";\r\nexport var locale = core.locale.bind(core);\r\nexport var loadMessages = message.load.bind(message);\r\nexport var formatMessage = message.format.bind(message);\r\nexport var formatNumber = number.format.bind(number);\r\nexport var parseNumber = number.parse.bind(number);\r\nexport var formatDate = date.format.bind(date);\r\nexport var parseDate = date.parse.bind(date);\r\nexport {\r\n message,\r\n number,\r\n date\r\n};\r\nexport function disableIntl() {\r\n if (\"intl\" === number.engine()) {\r\n number.resetInjection()\r\n }\r\n if (\"intl\" === date.engine()) {\r\n date.resetInjection()\r\n }\r\n}\r\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nimport { Template as TemplateComp } from '../../template';\nvar ElementType;\n(function (ElementType) {\n ElementType[ElementType[\"Option\"] = 0] = \"Option\";\n ElementType[ElementType[\"Template\"] = 1] = \"Template\";\n ElementType[ElementType[\"Unknown\"] = 2] = \"Unknown\";\n})(ElementType || (ElementType = {}));\nfunction getElementInfo(element, parentExpectedChildren) {\n var reactElement = element;\n if (!reactElement || !reactElement.type) {\n return {\n type: ElementType.Unknown,\n };\n }\n if (reactElement.type === TemplateComp) {\n return {\n type: ElementType.Template,\n props: reactElement.props,\n };\n }\n var elementDescriptor = reactElement.type;\n if (elementDescriptor.OptionName) {\n var name_1 = elementDescriptor.OptionName;\n var isCollectionItem = elementDescriptor.IsCollectionItem;\n var expectation = parentExpectedChildren && parentExpectedChildren[name_1];\n if (expectation) {\n isCollectionItem = expectation.isCollectionItem;\n if (expectation.optionName) {\n name_1 = expectation.optionName;\n }\n }\n return {\n type: ElementType.Option,\n descriptor: {\n name: name_1,\n isCollection: isCollectionItem,\n templates: elementDescriptor.TemplateProps || [],\n initialValuesProps: elementDescriptor.DefaultsProps || {},\n predefinedValuesProps: elementDescriptor.PredefinedProps || {},\n expectedChildren: elementDescriptor.ExpectedChildren || {},\n },\n props: reactElement.props,\n };\n }\n return {\n type: ElementType.Unknown,\n };\n}\nexport { getElementInfo, ElementType, };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\nvar Template = /** @class */ (function (_super) {\n __extends(Template, _super);\n function Template() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Template.prototype.render = function () {\n return null;\n };\n return Template;\n}(React.PureComponent));\nvar requiredPropsCheck = function (props) {\n if (!props.component && !props.render && !props.children) {\n return new Error('The Template component requires \\'component\\' or \\'render\\' property');\n }\n return null;\n};\nTemplate.propTypes = {\n name: PropTypes.string.isRequired,\n component: requiredPropsCheck,\n render: requiredPropsCheck,\n children: requiredPropsCheck,\n};\nfunction findProps(child) {\n if (child.type !== Template) {\n return undefined;\n }\n return {\n name: child.props.name,\n render: child.props.render,\n component: child.props.component,\n children: child.props.children,\n keyFn: child.props.keyFn,\n };\n}\nexport { Template, findProps, };\n","/**\r\n * DevExtreme (esm/core/utils/shadow_dom.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar DX_RULE_PREFIX = \"dx-\";\r\nvar ownerDocumentStyleSheet = null;\r\n\r\nfunction createConstructedStyleSheet(rootNode) {\r\n try {\r\n return new CSSStyleSheet\r\n } catch (err) {\r\n var styleElement = rootNode.ownerDocument.createElement(\"style\");\r\n rootNode.appendChild(styleElement);\r\n return styleElement.sheet\r\n }\r\n}\r\n\r\nfunction processRules(targetStyleSheet, styleSheets, needApplyAllStyles) {\r\n for (var i = 0; i < styleSheets.length; i++) {\r\n var sheet = styleSheets[i];\r\n try {\r\n for (var j = 0; j < sheet.cssRules.length; j++) {\r\n insertRule(targetStyleSheet, sheet.cssRules[j], needApplyAllStyles)\r\n }\r\n } catch (err) {}\r\n }\r\n}\r\n\r\nfunction insertRule(targetStyleSheet, rule, needApplyAllStyles) {\r\n var _rule$selectorText, _rule$cssRules, _rule$cssRules$, _rule$cssRules$$selec, _rule$name, _rule$style;\r\n var isDxRule = needApplyAllStyles || (null === (_rule$selectorText = rule.selectorText) || void 0 === _rule$selectorText ? void 0 : _rule$selectorText.includes(DX_RULE_PREFIX)) || (null === (_rule$cssRules = rule.cssRules) || void 0 === _rule$cssRules ? void 0 : null === (_rule$cssRules$ = _rule$cssRules[0]) || void 0 === _rule$cssRules$ ? void 0 : null === (_rule$cssRules$$selec = _rule$cssRules$.selectorText) || void 0 === _rule$cssRules$$selec ? void 0 : _rule$cssRules$$selec.includes(DX_RULE_PREFIX)) || (null === (_rule$name = rule.name) || void 0 === _rule$name ? void 0 : _rule$name.startsWith(DX_RULE_PREFIX)) || \"DXIcons\" === (null === (_rule$style = rule.style) || void 0 === _rule$style ? void 0 : _rule$style.fontFamily);\r\n if (isDxRule) {\r\n targetStyleSheet.insertRule(rule.cssText, targetStyleSheet.cssRules.length)\r\n }\r\n}\r\nexport function addShadowDomStyles($element) {\r\n var _el$getRootNode;\r\n var el = $element.get(0);\r\n var root = null === (_el$getRootNode = el.getRootNode) || void 0 === _el$getRootNode ? void 0 : _el$getRootNode.call(el);\r\n if (!(null !== root && void 0 !== root && root.host)) {\r\n return\r\n }\r\n if (!ownerDocumentStyleSheet) {\r\n ownerDocumentStyleSheet = createConstructedStyleSheet(root);\r\n processRules(ownerDocumentStyleSheet, el.ownerDocument.styleSheets, false)\r\n }\r\n var currentShadowDomStyleSheet = createConstructedStyleSheet(root);\r\n processRules(currentShadowDomStyleSheet, root.styleSheets, true);\r\n root.adoptedStyleSheets = [ownerDocumentStyleSheet, currentShadowDomStyleSheet]\r\n}\r\n\r\nfunction isPositionInElementRectangle(element, x, y) {\r\n var _element$getBoundingC;\r\n var rect = null === (_element$getBoundingC = element.getBoundingClientRect) || void 0 === _element$getBoundingC ? void 0 : _element$getBoundingC.call(element);\r\n return rect && x >= rect.left && x < rect.right && y >= rect.top && y < rect.bottom\r\n}\r\n\r\nfunction createQueue() {\r\n var shiftIndex = 0;\r\n var items = [];\r\n return {\r\n push(item) {\r\n items.push(item);\r\n return this\r\n },\r\n shift() {\r\n shiftIndex++;\r\n return items[shiftIndex - 1]\r\n },\r\n get length() {\r\n return items.length - shiftIndex\r\n },\r\n get items() {\r\n return items\r\n }\r\n }\r\n}\r\nexport function getShadowElementsFromPoint(x, y, root) {\r\n var elementQueue = createQueue().push(root);\r\n while (elementQueue.length) {\r\n var el = elementQueue.shift();\r\n for (var i = 0; i < el.childNodes.length; i++) {\r\n var childNode = el.childNodes[i];\r\n if (childNode.nodeType === Node.ELEMENT_NODE && isPositionInElementRectangle(childNode, x, y) && \"none\" !== getComputedStyle(childNode).pointerEvents) {\r\n elementQueue.push(childNode)\r\n }\r\n }\r\n }\r\n var result = elementQueue.items.reverse();\r\n result.pop();\r\n return result\r\n}\r\n","/**\r\n * DevExtreme (esm/core/templates/template_base.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport domAdapter from \"../dom_adapter\";\r\nimport Callbacks from \"../utils/callbacks\";\r\nimport {\r\n contains\r\n} from \"../utils/dom\";\r\nimport {\r\n triggerShownEvent\r\n} from \"../../events/visibility_change\";\r\nimport errors from \"../errors\";\r\nexport var renderedCallbacks = Callbacks({\r\n syncStrategy: true\r\n});\r\nexport class TemplateBase {\r\n render(options) {\r\n options = options || {};\r\n var onRendered = options.onRendered;\r\n delete options.onRendered;\r\n var $result;\r\n if (options.renovated && options.transclude && this._element) {\r\n $result = $(\"
\").append(this._element).contents()\r\n } else {\r\n $result = this._renderCore(options)\r\n }\r\n this._ensureResultInContainer($result, options.container);\r\n renderedCallbacks.fire($result, options.container);\r\n onRendered && onRendered();\r\n return $result\r\n }\r\n _ensureResultInContainer($result, container) {\r\n if (!container) {\r\n return\r\n }\r\n var $container = $(container);\r\n var resultInContainer = contains($container.get(0), $result.get(0));\r\n $container.append($result);\r\n if (resultInContainer) {\r\n return\r\n }\r\n var resultInBody = domAdapter.getBody().contains($container.get(0));\r\n if (!resultInBody) {\r\n return\r\n }\r\n triggerShownEvent($result)\r\n }\r\n _renderCore() {\r\n throw errors.Error(\"E0001\")\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/events/core/emitter_registrator.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport readyCallbacks from \"../../core/utils/ready_callbacks\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport {\r\n data as elementData\r\n} from \"../../core/element_data\";\r\nimport Class from \"../../core/class\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n each\r\n} from \"../../core/utils/iterator\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n isMouseEvent\r\n} from \"../utils/index\";\r\nimport pointerEvents from \"../pointer\";\r\nimport {\r\n name as wheelEventName\r\n} from \"./wheel\";\r\nvar MANAGER_EVENT = \"dxEventManager\";\r\nvar EMITTER_DATA = \"dxEmitter\";\r\nvar EventManager = Class.inherit({\r\n ctor: function() {\r\n this._attachHandlers();\r\n this.reset();\r\n this._proxiedCancelHandler = this._cancelHandler.bind(this);\r\n this._proxiedAcceptHandler = this._acceptHandler.bind(this)\r\n },\r\n _attachHandlers: function() {\r\n readyCallbacks.add(function() {\r\n var document = domAdapter.getDocument();\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.down, MANAGER_EVENT), this._pointerDownHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(pointerEvents.move, MANAGER_EVENT), this._pointerMoveHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace([pointerEvents.up, pointerEvents.cancel].join(\" \"), MANAGER_EVENT), this._pointerUpHandler.bind(this));\r\n eventsEngine.subscribeGlobal(document, addNamespace(wheelEventName, MANAGER_EVENT), this._mouseWheelHandler.bind(this))\r\n }.bind(this))\r\n },\r\n _eachEmitter: function(callback) {\r\n var activeEmitters = this._activeEmitters || [];\r\n var i = 0;\r\n while (activeEmitters.length > i) {\r\n var emitter = activeEmitters[i];\r\n if (false === callback(emitter)) {\r\n break\r\n }\r\n if (activeEmitters[i] === emitter) {\r\n i++\r\n }\r\n }\r\n },\r\n _applyToEmitters: function(method, arg) {\r\n this._eachEmitter((function(emitter) {\r\n emitter[method].call(emitter, arg)\r\n }))\r\n },\r\n reset: function() {\r\n this._eachEmitter(this._proxiedCancelHandler);\r\n this._activeEmitters = []\r\n },\r\n resetEmitter: function(emitter) {\r\n this._proxiedCancelHandler(emitter)\r\n },\r\n _pointerDownHandler: function(e) {\r\n if (isMouseEvent(e) && e.which > 1) {\r\n return\r\n }\r\n this._updateEmitters(e)\r\n },\r\n _updateEmitters: function(e) {\r\n if (!this._isSetChanged(e)) {\r\n return\r\n }\r\n this._cleanEmitters(e);\r\n this._fetchEmitters(e)\r\n },\r\n _isSetChanged: function(e) {\r\n var currentSet = this._closestEmitter(e);\r\n var previousSet = this._emittersSet || [];\r\n var setChanged = currentSet.length !== previousSet.length;\r\n each(currentSet, (function(index, emitter) {\r\n setChanged = setChanged || previousSet[index] !== emitter;\r\n return !setChanged\r\n }));\r\n this._emittersSet = currentSet;\r\n return setChanged\r\n },\r\n _closestEmitter: function(e) {\r\n var that = this;\r\n var result = [];\r\n var $element = $(e.target);\r\n\r\n function handleEmitter(_, emitter) {\r\n if (!!emitter && emitter.validatePointers(e) && emitter.validate(e)) {\r\n emitter.addCancelCallback(that._proxiedCancelHandler);\r\n emitter.addAcceptCallback(that._proxiedAcceptHandler);\r\n result.push(emitter)\r\n }\r\n }\r\n while ($element.length) {\r\n var emitters = elementData($element.get(0), EMITTER_DATA) || [];\r\n each(emitters, handleEmitter);\r\n $element = $element.parent()\r\n }\r\n return result\r\n },\r\n _acceptHandler: function(acceptedEmitter, e) {\r\n var that = this;\r\n this._eachEmitter((function(emitter) {\r\n if (emitter !== acceptedEmitter) {\r\n that._cancelEmitter(emitter, e)\r\n }\r\n }))\r\n },\r\n _cancelHandler: function(canceledEmitter, e) {\r\n this._cancelEmitter(canceledEmitter, e)\r\n },\r\n _cancelEmitter: function(emitter, e) {\r\n var activeEmitters = this._activeEmitters;\r\n if (e) {\r\n emitter.cancel(e)\r\n } else {\r\n emitter.reset()\r\n }\r\n emitter.removeCancelCallback();\r\n emitter.removeAcceptCallback();\r\n var emitterIndex = activeEmitters.indexOf(emitter);\r\n if (emitterIndex > -1) {\r\n activeEmitters.splice(emitterIndex, 1)\r\n }\r\n },\r\n _cleanEmitters: function(e) {\r\n this._applyToEmitters(\"end\", e);\r\n this.reset(e)\r\n },\r\n _fetchEmitters: function(e) {\r\n this._activeEmitters = this._emittersSet.slice();\r\n this._applyToEmitters(\"start\", e)\r\n },\r\n _pointerMoveHandler: function(e) {\r\n this._applyToEmitters(\"move\", e)\r\n },\r\n _pointerUpHandler: function(e) {\r\n this._updateEmitters(e)\r\n },\r\n _mouseWheelHandler: function(e) {\r\n if (!this._allowInterruptionByMouseWheel()) {\r\n return\r\n }\r\n e.pointers = [null];\r\n this._pointerDownHandler(e);\r\n this._adjustWheelEvent(e);\r\n this._pointerMoveHandler(e);\r\n e.pointers = [];\r\n this._pointerUpHandler(e)\r\n },\r\n _allowInterruptionByMouseWheel: function() {\r\n var allowInterruption = true;\r\n this._eachEmitter((function(emitter) {\r\n allowInterruption = emitter.allowInterruptionByMouseWheel() && allowInterruption;\r\n return allowInterruption\r\n }));\r\n return allowInterruption\r\n },\r\n _adjustWheelEvent: function(e) {\r\n var closestGestureEmitter = null;\r\n this._eachEmitter((function(emitter) {\r\n if (!emitter.gesture) {\r\n return\r\n }\r\n var direction = emitter.getDirection(e);\r\n if (\"horizontal\" !== direction && !e.shiftKey || \"vertical\" !== direction && e.shiftKey) {\r\n closestGestureEmitter = emitter;\r\n return false\r\n }\r\n }));\r\n if (!closestGestureEmitter) {\r\n return\r\n }\r\n var direction = closestGestureEmitter.getDirection(e);\r\n var verticalGestureDirection = \"both\" === direction && !e.shiftKey || \"vertical\" === direction;\r\n var prop = verticalGestureDirection ? \"pageY\" : \"pageX\";\r\n e[prop] += e.delta\r\n },\r\n isActive: function(element) {\r\n var result = false;\r\n this._eachEmitter((function(emitter) {\r\n result = result || emitter.getElement().is(element)\r\n }));\r\n return result\r\n }\r\n});\r\nvar eventManager = new EventManager;\r\nvar EMITTER_SUBSCRIPTION_DATA = \"dxEmitterSubscription\";\r\nvar registerEmitter = function(emitterConfig) {\r\n var emitterClass = emitterConfig.emitter;\r\n var emitterName = emitterConfig.events[0];\r\n var emitterEvents = emitterConfig.events;\r\n each(emitterEvents, (function(_, eventName) {\r\n registerEvent(eventName, {\r\n noBubble: !emitterConfig.bubble,\r\n setup: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA) || {};\r\n var emitters = elementData(element, EMITTER_DATA) || {};\r\n var emitter = emitters[emitterName] || new emitterClass(element);\r\n subscriptions[eventName] = true;\r\n emitters[emitterName] = emitter;\r\n elementData(element, EMITTER_DATA, emitters);\r\n elementData(element, EMITTER_SUBSCRIPTION_DATA, subscriptions)\r\n },\r\n add: function(element, handleObj) {\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n emitter.configure(extend({\r\n delegateSelector: handleObj.selector\r\n }, handleObj.data), handleObj.type)\r\n },\r\n teardown: function(element) {\r\n var subscriptions = elementData(element, EMITTER_SUBSCRIPTION_DATA);\r\n var emitters = elementData(element, EMITTER_DATA);\r\n var emitter = emitters[emitterName];\r\n delete subscriptions[eventName];\r\n var disposeEmitter = true;\r\n each(emitterEvents, (function(_, eventName) {\r\n disposeEmitter = disposeEmitter && !subscriptions[eventName];\r\n return disposeEmitter\r\n }));\r\n if (disposeEmitter) {\r\n if (eventManager.isActive(element)) {\r\n eventManager.resetEmitter(emitter)\r\n }\r\n emitter && emitter.dispose();\r\n delete emitters[emitterName]\r\n }\r\n }\r\n })\r\n }))\r\n};\r\nexport default registerEmitter;\r\n","/**\r\n * DevExtreme (esm/core/utils/object.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n isNumeric,\r\n isPlainObject,\r\n isObject\r\n} from \"./type\";\r\nimport variableWrapper from \"./variable_wrapper\";\r\nvar clone = function() {\r\n function Clone() {}\r\n return function(obj) {\r\n Clone.prototype = obj;\r\n return new Clone\r\n }\r\n}();\r\nvar orderEach = function(map, func) {\r\n var keys = [];\r\n var key;\r\n var i;\r\n for (key in map) {\r\n if (Object.prototype.hasOwnProperty.call(map, key)) {\r\n keys.push(key)\r\n }\r\n }\r\n keys.sort((function(x, y) {\r\n var isNumberX = isNumeric(x);\r\n var isNumberY = isNumeric(y);\r\n if (isNumberX && isNumberY) {\r\n return x - y\r\n }\r\n if (isNumberX && !isNumberY) {\r\n return -1\r\n }\r\n if (!isNumberX && isNumberY) {\r\n return 1\r\n }\r\n if (x < y) {\r\n return -1\r\n }\r\n if (x > y) {\r\n return 1\r\n }\r\n return 0\r\n }));\r\n for (i = 0; i < keys.length; i++) {\r\n key = keys[i];\r\n func(key, map[key])\r\n }\r\n};\r\nvar assignValueToProperty = function(target, property, value, assignByReference) {\r\n if (!assignByReference && variableWrapper.isWrapped(target[property])) {\r\n variableWrapper.assign(target[property], value)\r\n } else {\r\n target[property] = value\r\n }\r\n};\r\nvar deepExtendArraySafe = function deepExtendArraySafe(target, changes, extendComplexObject, assignByReference) {\r\n var prevValue;\r\n var newValue;\r\n for (var name in changes) {\r\n prevValue = target[name];\r\n newValue = changes[name];\r\n if (\"__proto__\" === name || \"constructor\" === name || target === newValue) {\r\n continue\r\n }\r\n if (isPlainObject(newValue)) {\r\n var goDeeper = extendComplexObject ? isObject(prevValue) : isPlainObject(prevValue);\r\n newValue = deepExtendArraySafe(goDeeper ? prevValue : {}, newValue, extendComplexObject, assignByReference)\r\n }\r\n if (void 0 !== newValue && prevValue !== newValue) {\r\n assignValueToProperty(target, name, newValue, assignByReference)\r\n }\r\n }\r\n return target\r\n};\r\nexport {\r\n clone,\r\n orderEach,\r\n deepExtendArraySafe\r\n};\r\n","/**\r\n * DevExtreme (esm/core/dom_adapter.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport injector from \"./utils/dependency_injector\";\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getShadowElementsFromPoint\r\n} from \"./utils/shadow_dom\";\r\nvar ELEMENT_NODE = 1;\r\nvar TEXT_NODE = 3;\r\nvar DOCUMENT_NODE = 9;\r\nvar DOCUMENT_FRAGMENT_NODE = 11;\r\nvar nativeDOMAdapterStrategy = {\r\n querySelectorAll: (element, selector) => element.querySelectorAll(selector),\r\n elementMatches(element, selector) {\r\n var matches = element.matches || element.matchesSelector || element.mozMatchesSelector || element.msMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector || (selector => {\r\n var doc = element.document || element.ownerDocument;\r\n if (!doc) {\r\n return false\r\n }\r\n var items = this.querySelectorAll(doc, selector);\r\n for (var i = 0; i < items.length; i++) {\r\n if (items[i] === element) {\r\n return true\r\n }\r\n }\r\n });\r\n return matches.call(element, selector)\r\n },\r\n createElement(tagName, context) {\r\n context = context || this._document;\r\n return context.createElement(tagName)\r\n },\r\n createElementNS(ns, tagName, context) {\r\n context = context || this._document;\r\n return context.createElementNS(ns, tagName)\r\n },\r\n createTextNode(text, context) {\r\n context = context || this._document;\r\n return context.createTextNode(text)\r\n },\r\n createAttribute(text, context) {\r\n context = context || this._document;\r\n return context.createAttribute(text)\r\n },\r\n isNode: element => element && \"object\" === typeof element && \"nodeType\" in element && \"nodeName\" in element,\r\n isElementNode: element => element && element.nodeType === ELEMENT_NODE,\r\n isTextNode: element => element && element.nodeType === TEXT_NODE,\r\n isDocument: element => element && element.nodeType === DOCUMENT_NODE,\r\n isDocumentFragment: element => element && element.nodeType === DOCUMENT_FRAGMENT_NODE,\r\n removeElement(element) {\r\n var parentNode = element && element.parentNode;\r\n if (parentNode) {\r\n parentNode.removeChild(element)\r\n }\r\n },\r\n insertElement(parentElement, newElement, nextSiblingElement) {\r\n if (parentElement && newElement && parentElement !== newElement) {\r\n if (nextSiblingElement) {\r\n parentElement.insertBefore(newElement, nextSiblingElement)\r\n } else {\r\n parentElement.appendChild(newElement)\r\n }\r\n }\r\n },\r\n getAttribute: (element, name) => element.getAttribute(name),\r\n setAttribute(element, name, value) {\r\n if (\"style\" === name) {\r\n element.style.cssText = value\r\n } else {\r\n element.setAttribute(name, value)\r\n }\r\n },\r\n removeAttribute(element, name) {\r\n element.removeAttribute(name)\r\n },\r\n setProperty(element, name, value) {\r\n element[name] = value\r\n },\r\n setText(element, text) {\r\n if (element) {\r\n element.textContent = text\r\n }\r\n },\r\n setClass(element, className, isAdd) {\r\n if (1 === element.nodeType && className) {\r\n isAdd ? element.classList.add(className) : element.classList.remove(className)\r\n }\r\n },\r\n setStyle(element, name, value) {\r\n element.style[name] = value || \"\"\r\n },\r\n _document: \"undefined\" === typeof document ? void 0 : document,\r\n getDocument() {\r\n return this._document\r\n },\r\n getActiveElement(element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n return activeElementHolder.activeElement\r\n },\r\n getRootNode(element) {\r\n var _element$getRootNode, _element$getRootNode2;\r\n return null !== (_element$getRootNode = null === element || void 0 === element ? void 0 : null === (_element$getRootNode2 = element.getRootNode) || void 0 === _element$getRootNode2 ? void 0 : _element$getRootNode2.call(element)) && void 0 !== _element$getRootNode ? _element$getRootNode : this._document\r\n },\r\n getBody() {\r\n return this._document.body\r\n },\r\n createDocumentFragment() {\r\n return this._document.createDocumentFragment()\r\n },\r\n getDocumentElement() {\r\n return this._document.documentElement\r\n },\r\n getLocation() {\r\n return this._document.location\r\n },\r\n getSelection() {\r\n return this._document.selection\r\n },\r\n getReadyState() {\r\n return this._document.readyState\r\n },\r\n getHead() {\r\n return this._document.head\r\n },\r\n hasDocumentProperty(property) {\r\n return property in this._document\r\n },\r\n listen(element, event, callback, options) {\r\n if (!element || !(\"addEventListener\" in element)) {\r\n return noop\r\n }\r\n element.addEventListener(event, callback, options);\r\n return () => {\r\n element.removeEventListener(event, callback)\r\n }\r\n },\r\n elementsFromPoint(x, y, element) {\r\n var activeElementHolder = this.getRootNode(element);\r\n if (activeElementHolder.host) {\r\n return getShadowElementsFromPoint(x, y, activeElementHolder)\r\n }\r\n return activeElementHolder.elementsFromPoint(x, y)\r\n }\r\n};\r\nexport default injector(nativeDOMAdapterStrategy);\r\n","/**\r\n * DevExtreme (esm/core/templates/empty_template.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../renderer\";\r\nimport {\r\n TemplateBase\r\n} from \"./template_base\";\r\nexport class EmptyTemplate extends TemplateBase {\r\n _renderCore() {\r\n return $()\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/events/index.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nexport var on = eventsEngine.on;\r\nexport var one = eventsEngine.one;\r\nexport var off = eventsEngine.off;\r\nexport var trigger = eventsEngine.trigger;\r\nexport var triggerHandler = eventsEngine.triggerHandler;\r\nexport var Event = eventsEngine.Event;\r\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\n/* eslint-disable max-classes-per-file, no-restricted-syntax */\nimport { createContext } from 'react';\nexport var RemovalLockerContext = createContext({\n lock: function () { return undefined; },\n unlock: function () { return undefined; },\n});\nexport function generateID() {\n return Math.random().toString(36).substring(2);\n}\nvar DoubleKeyMap = /** @class */ (function () {\n function DoubleKeyMap() {\n this._map = new Map();\n }\n DoubleKeyMap.prototype.set = function (_a, value) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n innerMap = new Map();\n this._map.set(key1, innerMap);\n }\n innerMap.set(key2, value);\n };\n DoubleKeyMap.prototype.get = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n return innerMap ? innerMap.get(key2) : undefined;\n };\n DoubleKeyMap.prototype.delete = function (_a) {\n var key1 = _a.key1, key2 = _a.key2;\n var innerMap = this._map.get(key1);\n if (!innerMap) {\n return;\n }\n innerMap.delete(key2);\n if (innerMap.size === 0) {\n this._map.delete(key1);\n }\n };\n DoubleKeyMap.prototype.clear = function () {\n this._map.clear();\n };\n Object.defineProperty(DoubleKeyMap.prototype, \"empty\", {\n get: function () {\n return this._map.size === 0;\n },\n enumerable: false,\n configurable: true\n });\n DoubleKeyMap.prototype[Symbol.iterator] = function () {\n var _a, _b, _c, key1, innerMap, innerMap_1, innerMap_1_1, _d, key2, value, e_1_1, e_2_1;\n var e_2, _e, e_1, _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n _g.trys.push([0, 11, 12, 13]);\n _a = __values(this._map), _b = _a.next();\n _g.label = 1;\n case 1:\n if (!!_b.done) return [3 /*break*/, 10];\n _c = __read(_b.value, 2), key1 = _c[0], innerMap = _c[1];\n _g.label = 2;\n case 2:\n _g.trys.push([2, 7, 8, 9]);\n innerMap_1 = (e_1 = void 0, __values(innerMap)), innerMap_1_1 = innerMap_1.next();\n _g.label = 3;\n case 3:\n if (!!innerMap_1_1.done) return [3 /*break*/, 6];\n _d = __read(innerMap_1_1.value, 2), key2 = _d[0], value = _d[1];\n return [4 /*yield*/, [{ key1: key1, key2: key2 }, value]];\n case 4:\n _g.sent();\n _g.label = 5;\n case 5:\n innerMap_1_1 = innerMap_1.next();\n return [3 /*break*/, 3];\n case 6: return [3 /*break*/, 9];\n case 7:\n e_1_1 = _g.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 9];\n case 8:\n try {\n if (innerMap_1_1 && !innerMap_1_1.done && (_f = innerMap_1.return)) _f.call(innerMap_1);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 9:\n _b = _a.next();\n return [3 /*break*/, 1];\n case 10: return [3 /*break*/, 13];\n case 11:\n e_2_1 = _g.sent();\n e_2 = { error: e_2_1 };\n return [3 /*break*/, 13];\n case 12:\n try {\n if (_b && !_b.done && (_e = _a.return)) _e.call(_a);\n }\n finally { if (e_2) throw e_2.error; }\n return [7 /*endfinally*/];\n case 13: return [2 /*return*/];\n }\n });\n };\n return DoubleKeyMap;\n}());\nexport { DoubleKeyMap };\nvar TemplateInstantiationModels = /** @class */ (function (_super) {\n __extends(TemplateInstantiationModels, _super);\n function TemplateInstantiationModels() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return TemplateInstantiationModels;\n}(DoubleKeyMap));\nexport { TemplateInstantiationModels };\nexport function capitalizeFirstLetter(text) {\n if (text.length) {\n return \"\" + text[0].toUpperCase() + text.substr(1);\n }\n return '';\n}\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport * as React from 'react';\nimport * as events from 'devextreme/events';\nimport { useCallback, useLayoutEffect, useEffect, useState, useRef, useMemo, memo, } from 'react';\nimport { createPortal } from 'react-dom';\nimport { DX_REMOVE_EVENT } from './component-base';\nimport { RemovalLockerContext } from './helpers';\nvar createHiddenNode = function (containerNodeName, ref, defaultElement) {\n var style = { display: 'none' };\n switch (containerNodeName) {\n case 'TABLE':\n return React.createElement(\"tbody\", { style: style, ref: ref });\n case 'TBODY':\n return React.createElement(\"tr\", { style: style, ref: ref });\n default:\n return React.createElement(defaultElement, { style: style, ref: ref });\n }\n};\nvar TemplateWrapperComponent = function (_a) {\n var templateFactory = _a.templateFactory, data = _a.data, index = _a.index, container = _a.container, onRemoved = _a.onRemoved, onRendered = _a.onRendered;\n var _b = __read(useState(false), 2), removalListenerRequired = _b[0], setRemovalListenerRequired = _b[1];\n var isRemovalLocked = useRef(false);\n var removalLocker = useMemo(function () { return ({\n lock: function () { isRemovalLocked.current = true; },\n unlock: function () { isRemovalLocked.current = false; },\n }); }, []);\n var element = useRef();\n var hiddenNodeElement = useRef();\n var removalListenerElement = useRef();\n var onTemplateRemoved = useCallback(function (_, args) {\n if ((args === null || args === void 0 ? void 0 : args.isUnmounting) || isRemovalLocked.current) {\n return;\n }\n if (element.current) {\n events.off(element.current, DX_REMOVE_EVENT, onTemplateRemoved);\n }\n if (removalListenerElement.current) {\n events.off(removalListenerElement.current, DX_REMOVE_EVENT, onTemplateRemoved);\n }\n onRemoved();\n }, [onRemoved]);\n useLayoutEffect(function () {\n var el = element.current;\n if (el && el.nodeType === Node.ELEMENT_NODE) {\n events.off(el, DX_REMOVE_EVENT, onTemplateRemoved);\n events.on(el, DX_REMOVE_EVENT, onTemplateRemoved);\n }\n else if (!removalListenerRequired) {\n setRemovalListenerRequired(true);\n }\n else if (removalListenerElement.current) {\n events.off(removalListenerElement.current, DX_REMOVE_EVENT, onTemplateRemoved);\n events.on(removalListenerElement.current, DX_REMOVE_EVENT, onTemplateRemoved);\n }\n return function () {\n if (element.current) {\n container.appendChild(element.current);\n }\n if (hiddenNodeElement.current) {\n container.appendChild(hiddenNodeElement.current);\n }\n if (removalListenerElement.current) {\n container.appendChild(removalListenerElement.current);\n }\n if (el) {\n events.off(el, DX_REMOVE_EVENT, onTemplateRemoved);\n }\n };\n }, [onTemplateRemoved, removalListenerRequired, container]);\n useEffect(function () {\n onRendered();\n }, [onRendered]);\n var hiddenNode = createHiddenNode(container === null || container === void 0 ? void 0 : container.nodeName, function (node) {\n hiddenNodeElement.current = node;\n element.current = node === null || node === void 0 ? void 0 : node.previousSibling;\n }, 'div');\n var removalListener = removalListenerRequired\n ? createHiddenNode(container === null || container === void 0 ? void 0 : container.nodeName, function (node) { removalListenerElement.current = node; }, 'span')\n : undefined;\n return createPortal(React.createElement(React.Fragment, null,\n React.createElement(RemovalLockerContext.Provider, { value: removalLocker },\n templateFactory({ data: data, index: index, onRendered: onRendered }),\n hiddenNode,\n removalListener)), container);\n};\nexport var TemplateWrapper = memo(TemplateWrapperComponent);\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar config = {\n useLegacyTemplateEngine: false,\n};\nfunction setOptions(options) {\n config = __assign(__assign({}, config), options);\n}\nfunction getOption(optionName) {\n return config[optionName];\n}\nexport default setOptions;\nexport { getOption };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nimport * as React from 'react';\nimport * as events from 'devextreme/events';\nimport { useState, useMemo, useCallback, useEffect, useRef, } from 'react';\nimport { TemplateWrapper } from './template-wrapper';\nimport { TemplateInstantiationModels, generateID } from './helpers';\nimport { DX_REMOVE_EVENT } from './component-base';\nimport { getOption as getConfigOption } from './config';\nfunction normalizeProps(props) {\n if (getConfigOption('useLegacyTemplateEngine')) {\n var model = props.data;\n if (model && Object.prototype.hasOwnProperty.call(model, 'key')) {\n model.dxkey = model.key;\n }\n return model;\n }\n return props;\n}\nexport var TemplateManager = function (_a) {\n var init = _a.init, onTemplatesRendered = _a.onTemplatesRendered;\n var _b = __read(useState({\n collection: new TemplateInstantiationModels(),\n }), 2), instantiationModels = _b[0], setInstantiationModels = _b[1];\n var _c = __read(useState(), 2), updateContext = _c[0], setUpdateContext = _c[1];\n var widgetId = useRef('');\n var templateFactories = useRef({});\n var subscribeOnRemoval = useCallback(function (container, onRemoved) {\n if (container.nodeType === Node.ELEMENT_NODE) {\n events.on(container, DX_REMOVE_EVENT, onRemoved);\n }\n }, []);\n var unsubscribeOnRemoval = useCallback(function (container, onRemoved) {\n if (container.nodeType === Node.ELEMENT_NODE) {\n events.off(container, DX_REMOVE_EVENT, onRemoved);\n }\n }, []);\n var unwrapElement = useCallback(function (element) { return (element.get ? element.get(0) : element); }, []);\n var createMapKey = useCallback(function (key1, key2) { return ({ key1: key1, key2: key2 }); }, []);\n var getRandomId = useCallback(function () { return \"\" + generateID() + generateID() + generateID(); }, []);\n var collection = instantiationModels.collection;\n var getRenderFunc = useCallback(function (templateKey) { return function (_a) {\n var data = _a.model, index = _a.index, container = _a.container, onRendered = _a.onRendered;\n var containerElement = unwrapElement(container);\n var key = createMapKey(data, containerElement);\n var onRemoved = function () {\n if (collection.get(key)) {\n collection.delete(key);\n setInstantiationModels({ collection: collection });\n }\n };\n var hostWidgetId = widgetId.current;\n collection.set(key, {\n templateKey: templateKey,\n index: index,\n componentKey: getRandomId(),\n onRendered: function () {\n unsubscribeOnRemoval(containerElement, onRemoved);\n if (hostWidgetId === widgetId.current) {\n onRendered === null || onRendered === void 0 ? void 0 : onRendered();\n }\n },\n onRemoved: onRemoved,\n });\n setInstantiationModels({ collection: collection });\n return containerElement;\n }; }, [unsubscribeOnRemoval, createMapKey, collection]);\n useMemo(function () {\n function getTemplateFunction(template) {\n switch (template.type) {\n case 'children': return function () { return template.content; };\n case 'render': return function (props) {\n normalizeProps(props);\n return template.content(props.data, props.index);\n };\n case 'component': return function (props) {\n props = normalizeProps(props);\n return React.createElement.bind(null, template.content)(props);\n };\n default: return function () { return React.createElement(React.Fragment); };\n }\n }\n function createDXTemplates(templateOptions) {\n var factories = Object.entries(templateOptions)\n .reduce(function (res, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], template = _c[1];\n return (__assign(__assign({}, res), (_b = {}, _b[key] = getTemplateFunction(template), _b)));\n }, {});\n templateFactories.current = factories;\n var dxTemplates = Object.keys(factories)\n .reduce(function (templates, templateKey) {\n templates[templateKey] = { render: getRenderFunc(templateKey) };\n return templates;\n }, {});\n return dxTemplates;\n }\n function clearInstantiationModels() {\n widgetId.current = getRandomId();\n instantiationModels.collection.clear();\n setInstantiationModels(__assign({}, instantiationModels));\n }\n function updateTemplates(onUpdated) {\n setUpdateContext({ onUpdated: onUpdated });\n }\n init({ createDXTemplates: createDXTemplates, clearInstantiationModels: clearInstantiationModels, updateTemplates: updateTemplates });\n }, [init, getRenderFunc]);\n useEffect(function () {\n if (updateContext) {\n updateContext.onUpdated();\n }\n onTemplatesRendered();\n }, [updateContext, onTemplatesRendered]);\n if (instantiationModels.collection.empty) {\n return null;\n }\n return (React.createElement(React.Fragment, null, Array.from(instantiationModels.collection).map(function (_a) {\n var _b = __read(_a, 2), _c = _b[0], data = _c.key1, container = _c.key2, _d = _b[1], index = _d.index, templateKey = _d.templateKey, componentKey = _d.componentKey, onRendered = _d.onRendered, onRemoved = _d.onRemoved;\n subscribeOnRemoval(container, onRemoved);\n var factory = templateFactories.current[templateKey];\n if (factory) {\n return React.createElement(TemplateWrapper, { key: componentKey, templateFactory: factory, data: data, index: index, container: container, onRemoved: onRemoved, onRendered: onRendered });\n }\n return null;\n })));\n};\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nexport function mergeNameParts() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return args.filter(function (value) { return value; }).join('.');\n}\nexport function parseOptionName(name) {\n var parts = name.split('[');\n if (parts.length === 1) {\n return {\n isCollectionItem: false,\n name: name,\n };\n }\n return {\n isCollectionItem: true,\n name: parts[0],\n index: Number(parts[1].slice(0, -1)),\n };\n}\nexport var isIE = function () {\n var _a, _b;\n var ua = (_b = (_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) !== null && _b !== void 0 ? _b : ''; // Check the userAgent property of the window.navigator object\n var msie = ua.indexOf('MSIE'); // IE 10 or older\n var trident = ua.indexOf('Trident/'); // IE 11\n return msie > 0 || trident > 0;\n};\nexport var shallowEquals = function (first, second) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n return Object.keys(first).every(function (key) { return first[key] === second[key]; });\n};\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nimport { mergeNameParts, parseOptionName } from './utils';\nfunction buildTemplates(node, optionsAccum, templatesAccum) {\n node.templates.forEach(function (template) {\n if (template.isAnonymous) {\n var templateName = mergeNameParts(node.fullName, template.optionName);\n optionsAccum[template.optionName] = templateName;\n templatesAccum[templateName] = template;\n }\n else {\n templatesAccum[template.optionName] = template;\n }\n });\n}\nfunction buildNode(node, templatesAccum, ignoreInitialValues) {\n var result = {};\n Object.keys(node.predefinedOptions).forEach(function (key) {\n result[key] = node.predefinedOptions[key];\n });\n Object.keys(node.configs).forEach(function (key) {\n result[key] = buildNode(node.configs[key], templatesAccum, ignoreInitialValues);\n });\n Object.keys(node.configCollections).forEach(function (key) {\n result[key] = node.configCollections[key].map(function (item) { return buildNode(item, templatesAccum, ignoreInitialValues); });\n });\n if (!ignoreInitialValues) {\n Object.keys(node.initialOptions).forEach(function (key) {\n result[key] = node.initialOptions[key];\n });\n }\n Object.keys(node.options).forEach(function (key) {\n result[key] = node.options[key];\n });\n buildTemplates(node, result, templatesAccum);\n return result;\n}\nfunction buildConfig(root, ignoreInitialValues) {\n var templatesAccum = {};\n var options = buildNode(root, templatesAccum, ignoreInitialValues);\n return {\n templates: templatesAccum,\n options: options,\n };\n}\nvar ValueType;\n(function (ValueType) {\n ValueType[ValueType[\"Simple\"] = 0] = \"Simple\";\n ValueType[ValueType[\"Complex\"] = 1] = \"Complex\";\n ValueType[ValueType[\"Array\"] = 2] = \"Array\";\n})(ValueType || (ValueType = {}));\nfunction findValueInObject(obj, path) {\n var key = path.shift();\n if (!key) {\n return {\n value: obj,\n type: ValueType.Simple,\n };\n }\n if (obj instanceof Object && Object.keys(obj).includes(key)) {\n return findValueInObject(obj[key], path);\n }\n return undefined;\n}\nfunction findValue(node, path) {\n var name = path.shift();\n if (!name) {\n return {\n value: buildConfig(node, true).options,\n type: ValueType.Complex,\n };\n }\n var optionInfo = parseOptionName(name);\n if (optionInfo.name in node.options) {\n var options = optionInfo.isCollectionItem\n ? node.options[optionInfo.name][optionInfo.index]\n : node.options[optionInfo.name];\n return findValueInObject(options, path);\n }\n if (optionInfo.isCollectionItem) {\n var collection = node.configCollections[optionInfo.name];\n if (!collection) {\n return undefined;\n }\n var item = collection[optionInfo.index];\n if (!item) {\n return undefined;\n }\n return findValue(item, path);\n }\n var child = node.configs[optionInfo.name];\n if (child) {\n return findValue(child, path);\n }\n var childCollection = node.configCollections[optionInfo.name];\n if (childCollection) {\n if (path.length !== 0) {\n return undefined;\n }\n return {\n value: childCollection.map(function (item) { return buildNode(item, {}, true); }),\n type: ValueType.Array,\n };\n }\n return undefined;\n}\nexport { ValueType, buildConfig, buildNode, buildTemplates, findValue, findValueInObject, };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nimport { buildNode, buildTemplates } from './tree';\nimport { mergeNameParts } from './utils';\nfunction compareTemplates(current, prev, changesAccum) {\n var currentTemplatesOptions = {};\n var currentTemplates = {};\n var prevTemplatesOptions = {};\n var prevTemplates = {};\n buildTemplates(current, currentTemplatesOptions, currentTemplates);\n buildTemplates(prev, prevTemplatesOptions, prevTemplates);\n changesAccum.addRemovedValues(currentTemplatesOptions, prevTemplatesOptions, current.fullName);\n // TODO: support switching to default templates\n // appendRemovedValues(currentTemplates, prevTemplates, \"\", changesAccum.templates);\n Object.keys(currentTemplatesOptions).forEach(function (key) {\n if (currentTemplatesOptions[key] === prevTemplatesOptions[key]) {\n return;\n }\n changesAccum.options[mergeNameParts(current.fullName, key)] = currentTemplatesOptions[key];\n });\n Object.keys(currentTemplates).forEach(function (key) {\n var currentTemplate = currentTemplates[key];\n var prevTemplate = prevTemplates[key];\n if (prevTemplate && currentTemplate.content === prevTemplate.content) {\n return;\n }\n changesAccum.templates[key] = currentTemplate;\n });\n}\nfunction compare(current, prev, changesAccum) {\n if (!prev) {\n changesAccum.options[current.fullName] = buildNode(current, changesAccum.templates, true);\n return;\n }\n changesAccum.addRemovedValues(current.options, prev.options, current.fullName);\n changesAccum.addRemovedValues(current.configCollections, prev.configCollections, current.fullName);\n changesAccum.addRemovedValues(current.configs, prev.configs, current.fullName);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n compareCollections(current, prev, changesAccum);\n Object.keys(current.configs).forEach(function (key) {\n compare(current.configs[key], prev.configs[key], changesAccum);\n });\n Object.keys(current.options).forEach(function (key) {\n if (current.options[key] === prev.options[key]) {\n return;\n }\n changesAccum.options[mergeNameParts(current.fullName, key)] = current.options[key];\n });\n compareTemplates(current, prev, changesAccum);\n}\nfunction appendRemovedValues(current, prev, path, changesAccum) {\n var removedKeys = Object.keys(prev).filter(function (key) { return !Object.keys(current).includes(key); });\n removedKeys.forEach(function (key) {\n changesAccum.push(mergeNameParts(path, key));\n });\n}\nfunction getChanges(current, prev) {\n var changesAccum = {\n options: {},\n removedOptions: [],\n templates: {},\n addRemovedValues: function (currentOptions, prevOptions, path) {\n appendRemovedValues(currentOptions, prevOptions, path, this.removedOptions);\n },\n };\n compare(current, prev, changesAccum);\n return changesAccum;\n}\nfunction compareCollections(current, prev, changesAccum) {\n Object.keys(current.configCollections).forEach(function (key) {\n var currentCollection = current.configCollections[key];\n var prevCollection = prev.configCollections[key] || [];\n if (!currentCollection || currentCollection.length !== prevCollection.length) {\n var updatedCollection_1 = [];\n currentCollection.forEach(function (item) {\n var config = buildNode(item, changesAccum.templates, true);\n updatedCollection_1.push(config);\n });\n changesAccum.options[mergeNameParts(current.fullName, key)] = updatedCollection_1;\n return;\n }\n for (var i = 0; i < currentCollection.length; i += 1) {\n compare(currentCollection[i], prevCollection[i], changesAccum);\n }\n });\n}\nexport { getChanges, };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\n/* eslint-disable no-restricted-globals */\nimport { getChanges } from './configuration/comparer';\nimport { buildConfig, findValue, ValueType } from './configuration/tree';\nimport { mergeNameParts, shallowEquals } from './configuration/utils';\nimport { capitalizeFirstLetter } from './helpers';\nvar optionsManagers = new Set();\nvar guardTimeoutHandler = -1;\nvar innerGuardTimeoutHandler = -1;\nexport function unscheduleGuards() {\n clearTimeout(guardTimeoutHandler);\n clearTimeout(innerGuardTimeoutHandler);\n}\nexport function scheduleGuards() {\n unscheduleGuards();\n guardTimeoutHandler = window.setTimeout(function () {\n innerGuardTimeoutHandler = window.setTimeout(function () {\n optionsManagers.forEach(function (optionManager) { return optionManager.execGuards(); });\n });\n });\n}\nvar OptionsManager = /** @class */ (function () {\n function OptionsManager() {\n this.guards = {};\n this.isUpdating = false;\n this.onOptionChanged = this.onOptionChanged.bind(this);\n this.wrapOptionValue = this.wrapOptionValue.bind(this);\n }\n OptionsManager.prototype.setInstance = function (instance, config, subscribableOptions, independentEvents) {\n this.instance = instance;\n this.currentConfig = config;\n this.subscribableOptions = new Set(subscribableOptions);\n this.independentEvents = new Set(independentEvents);\n optionsManagers.add(this);\n };\n OptionsManager.prototype.getInitialOptions = function (rootNode) {\n var _this = this;\n var config = buildConfig(rootNode, false);\n var options = {};\n Object.keys(config.options).forEach(function (key) {\n options[key] = _this.wrapOptionValue(key, config.options[key]);\n });\n return options;\n };\n OptionsManager.prototype.getTemplateOptions = function (rootNode) {\n var config = buildConfig(rootNode, false);\n return config.templates;\n };\n OptionsManager.prototype.update = function (config, dxtemplates) {\n var _this = this;\n var changedOptions = [];\n var optionChangedHandler = function (_a) {\n var value = _a.value, fullName = _a.fullName;\n changedOptions.push([fullName, value]);\n };\n this.instance.on('optionChanged', optionChangedHandler);\n var changes = getChanges(config, this.currentConfig);\n if (!changes.options && !changes.templates && !changes.removedOptions.length) {\n return;\n }\n this.instance.beginUpdate();\n this.isUpdating = true;\n changes.removedOptions.forEach(function (optionName) {\n _this.resetOption(optionName);\n });\n if (Object.keys(dxtemplates).length > 0) {\n this.setValue('integrationOptions', {\n templates: dxtemplates,\n });\n }\n Object.keys(changes.options).forEach(function (key) {\n _this.setValue(key, changes.options[key]);\n });\n this.isUpdating = false;\n this.instance.off('optionChanged', optionChangedHandler);\n this.currentConfig = config;\n changedOptions.forEach(function (_a) {\n var _b = __read(_a, 2), name = _b[0], value = _b[1];\n var currentPropValue = config.options[name];\n if (Object.prototype.hasOwnProperty.call(config.options, name)\n && currentPropValue !== value) {\n _this.setValue(name, currentPropValue);\n }\n });\n this.instance.endUpdate();\n };\n OptionsManager.prototype.onOptionChanged = function (e) {\n var _this = this;\n var _a;\n if (this.isUpdating) {\n return;\n }\n var valueDescriptor = findValue(this.currentConfig, e.fullName.split('.'));\n if (!valueDescriptor || valueDescriptor.value !== e.value) {\n this.callOptionChangeHandler(e.fullName, e.value);\n }\n valueDescriptor = findValue(this.currentConfig, e.fullName.split('.'));\n if (!valueDescriptor) {\n return;\n }\n var value = valueDescriptor.value, type = valueDescriptor.type;\n if (value instanceof Array && type === ValueType.Array) {\n for (var i = 0; i < value.length; i += 1) {\n if (value[i] !== ((_a = e.value) === null || _a === void 0 ? void 0 : _a[i])) {\n this.addGuard(e.fullName, value);\n return;\n }\n }\n }\n else if (type === ValueType.Complex && value instanceof Object) {\n Object.keys(value).forEach(function (key) {\n var _a;\n if (value[key] === ((_a = e.value) === null || _a === void 0 ? void 0 : _a[key])) {\n return;\n }\n _this.addGuard(mergeNameParts(e.fullName, key), value[key]);\n });\n }\n else {\n var valuesAreEqual = value === e.value;\n var valuesAreEqualObjects = !valuesAreEqual\n && value instanceof Object\n && e.value instanceof Object\n && shallowEquals(value, e.value);\n if (valuesAreEqual || valuesAreEqualObjects || this.instance.skipOptionsRollBack) {\n return;\n }\n this.addGuard(e.fullName, value);\n }\n };\n OptionsManager.prototype.dispose = function () {\n var _this = this;\n optionsManagers.delete(this);\n Object.keys(this.guards).forEach(function (optionName) {\n delete _this.guards[optionName];\n });\n };\n OptionsManager.prototype.isOptionSubscribable = function (optionName) {\n return this.subscribableOptions.has(optionName);\n };\n OptionsManager.prototype.isIndependentEvent = function (optionName) {\n return this.independentEvents.has(optionName);\n };\n OptionsManager.prototype.callOptionChangeHandler = function (optionName, optionValue) {\n if (!this.isOptionSubscribable(optionName)) {\n return;\n }\n var parts = optionName.split('.');\n var propName = parts[parts.length - 1];\n if (propName.startsWith('on')) {\n return;\n }\n var eventName = \"on\" + capitalizeFirstLetter(propName) + \"Change\";\n parts[parts.length - 1] = eventName;\n var changeEvent = findValue(this.currentConfig, parts);\n if (!changeEvent) {\n return;\n }\n if (typeof changeEvent.value !== 'function') {\n throw new Error(\"Invalid value for the \" + eventName + \" property.\\n \" + eventName + \" must be a function.\");\n }\n changeEvent.value(optionValue);\n };\n OptionsManager.prototype.wrapOptionValue = function (name, value) {\n var _this = this;\n if (name.substr(0, 2) === 'on' && typeof value === 'function') {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!_this.isUpdating || _this.isIndependentEvent(name)) {\n value.apply(void 0, __spreadArray([], __read(args)));\n }\n };\n }\n return value;\n };\n OptionsManager.prototype.addGuard = function (optionName, optionValue) {\n var _this = this;\n if (this.guards[optionName] !== undefined) {\n return;\n }\n var handler = function () {\n _this.setValue(optionName, optionValue);\n delete _this.guards[optionName];\n };\n this.guards[optionName] = handler;\n scheduleGuards();\n };\n OptionsManager.prototype.execGuards = function () {\n Object.values(this.guards)\n .forEach(function (handler) { return handler(); });\n };\n OptionsManager.prototype.resetOption = function (name) {\n this.instance.resetOption(name);\n };\n OptionsManager.prototype.setValue = function (name, value) {\n if (this.guards[name]) {\n delete this.guards[name];\n }\n this.instance.option(name, this.wrapOptionValue(name, value));\n };\n return OptionsManager;\n}());\nexport { OptionsManager, };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar elementPropNames = ['style', 'id'];\nvar classNamePropName = 'className';\nvar refPropName = ['dropZone', 'dialogTrigger'];\nfunction isIgnoredProp(name) {\n return name === 'children' || name === classNamePropName || elementPropNames.includes(name);\n}\nfunction getRefElement(value) {\n var _a;\n if (value === null || value === void 0 ? void 0 : value.current) {\n if ((_a = value.current.instance) === null || _a === void 0 ? void 0 : _a.element()) {\n return value.current.instance.element();\n }\n return value.current;\n }\n return value;\n}\nfunction separateProps(props, defaultsProps, templateProps) {\n templateProps = templateProps || [];\n var defaults = {};\n var options = {};\n var templates = {};\n var knownTemplates = {};\n templateProps.forEach(function (value) {\n knownTemplates[value.component] = true;\n knownTemplates[value.render] = true;\n });\n Object.keys(props).forEach(function (key) {\n var defaultOptionName = defaultsProps ? defaultsProps[key] : null;\n var value = props[key];\n if (isIgnoredProp(key)) {\n return;\n }\n if (defaultOptionName) {\n defaults[defaultOptionName] = value;\n return;\n }\n if (knownTemplates[key]) {\n templates[key] = value;\n return;\n }\n if (refPropName.includes(key)) {\n options[key] = getRefElement(value);\n return;\n }\n options[key] = props[key];\n });\n return { options: options, defaults: defaults, templates: templates };\n}\nfunction getClassName(props) {\n return props[classNamePropName];\n}\nexport { elementPropNames, getClassName, separateProps, };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport * as React from 'react';\nimport { separateProps } from '../../widget-config';\nimport { ElementType, getElementInfo, } from './element';\nimport { mergeNameParts } from '../utils';\nimport { getAnonymousTemplate, getNamedTemplate } from './templates';\nexport function processChildren(parentElement, parentFullName) {\n var templates = [];\n var configCollections = {};\n var configs = {};\n var hasTranscludedContent = false;\n React.Children.map(parentElement.props.children, function (child) {\n var element = getElementInfo(child, parentElement.descriptor.expectedChildren);\n if (element.type === ElementType.Unknown) {\n if (child !== null && child !== undefined && child !== false) {\n hasTranscludedContent = true;\n }\n return;\n }\n if (element.type === ElementType.Template) {\n var template = getNamedTemplate(element.props);\n if (template) {\n templates.push(template);\n }\n return;\n }\n if (element.descriptor.isCollection) {\n var collection = configCollections[element.descriptor.name];\n if (!collection) {\n collection = [];\n configCollections[element.descriptor.name] = collection;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var collectionItem = createConfigNode(element, mergeNameParts(parentFullName, element.descriptor.name) + \"[\" + collection.length + \"]\");\n collection.push(collectionItem);\n return;\n }\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var configNode = createConfigNode(element, parentFullName);\n configs[element.descriptor.name] = configNode;\n });\n return {\n configs: configs,\n configCollections: configCollections,\n templates: templates,\n hasTranscludedContent: hasTranscludedContent,\n };\n}\nfunction createConfigNode(element, path) {\n var fullName = element.descriptor.isCollection\n ? path\n : mergeNameParts(path, element.descriptor.name);\n var separatedValues = separateProps(element.props, element.descriptor.initialValuesProps, element.descriptor.templates);\n var childrenData = processChildren(element, fullName);\n element.descriptor.templates.forEach(function (templateMeta) {\n var template = getAnonymousTemplate(element.props, templateMeta, path.length > 0 ? childrenData.hasTranscludedContent : false);\n if (template) {\n childrenData.templates.push(template);\n }\n });\n return {\n fullName: fullName,\n predefinedOptions: element.descriptor.predefinedValuesProps,\n initialOptions: separatedValues.defaults,\n options: separatedValues.options,\n templates: childrenData.templates,\n configCollections: childrenData.configCollections,\n configs: childrenData.configs,\n };\n}\nfunction buildConfigTree(widgetDescriptor, props) {\n return createConfigNode({\n type: ElementType.Option,\n descriptor: __assign({ name: '', isCollection: false }, widgetDescriptor),\n props: props,\n }, '');\n}\nexport { buildConfigTree, };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nfunction getAnonymousTemplate(props, templateMeta, hasTranscludedContent) {\n if (templateMeta.tmplOption === 'template' && hasTranscludedContent) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'children',\n content: props.children,\n keyFn: props[templateMeta.keyFn],\n };\n }\n if (props[templateMeta.render]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'render',\n content: props[templateMeta.render],\n keyFn: props[templateMeta.keyFn],\n };\n }\n if (props[templateMeta.component]) {\n return {\n optionName: templateMeta.tmplOption,\n isAnonymous: true,\n type: 'component',\n content: props[templateMeta.component],\n keyFn: props[templateMeta.keyFn],\n };\n }\n return null;\n}\nfunction getNamedTemplate(props) {\n if (!props.name) {\n return null;\n }\n if (props.component) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'component',\n content: props.component,\n keyFn: props.keyFn,\n };\n }\n if (props.render) {\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'render',\n content: props.render,\n keyFn: props.keyFn,\n };\n }\n return {\n optionName: props.name,\n isAnonymous: false,\n type: 'children',\n content: props.children,\n keyFn: props.keyFn,\n };\n}\nexport { getAnonymousTemplate, getNamedTemplate, };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n};\nimport * as events from 'devextreme/events';\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { requestAnimationFrame } from 'devextreme/animation/frame';\nimport { deferUpdate } from 'devextreme/core/utils/common';\nimport { TemplateManager } from './template-manager';\nimport { OptionsManager, scheduleGuards, unscheduleGuards } from './options-manager';\nimport { elementPropNames, getClassName } from './widget-config';\nimport { buildConfigTree } from './configuration/react/tree';\nimport { isIE } from './configuration/utils';\nimport { RemovalLockerContext } from './helpers';\nvar DX_REMOVE_EVENT = 'dxremove';\nvar ComponentBase = /** @class */ (function (_super) {\n __extends(ComponentBase, _super);\n function ComponentBase(props) {\n var _this = _super.call(this, props) || this;\n _this.isPortalComponent = false;\n _this._templateProps = [];\n _this._childNodes = [];\n _this.shouldRestoreFocus = false;\n _this.useRequestAnimationFrameFlag = false;\n _this.useDeferUpdateForTemplates = false;\n _this.guardsUpdateScheduled = false;\n _this._createWidget = _this._createWidget.bind(_this);\n _this._setTemplateManagerHooks = _this._setTemplateManagerHooks.bind(_this);\n _this.onTemplatesRendered = _this.onTemplatesRendered.bind(_this);\n _this._optionsManager = new OptionsManager();\n return _this;\n }\n ComponentBase.displayContentsStyle = function () {\n return isIE()\n ? {\n width: '100%',\n height: '100%',\n padding: 0,\n margin: 0,\n }\n : { display: 'contents' };\n };\n ComponentBase.prototype.componentDidMount = function () {\n var _a;\n var _b;\n var style = this.props.style;\n if ((_b = this._childNodes) === null || _b === void 0 ? void 0 : _b.length) {\n (_a = this._element).append.apply(_a, __spreadArray([], __read(this._childNodes)));\n }\n else if (this._element.childNodes.length) {\n this._childNodes = Array.from(this._element.childNodes);\n }\n this._updateCssClasses(null, this.props);\n if (style) {\n this._setInlineStyles(style);\n }\n };\n ComponentBase.prototype.componentDidUpdate = function (prevProps) {\n var _a;\n this._updateCssClasses(prevProps, this.props);\n var config = this._getConfig();\n var templateOptions = this._optionsManager.getTemplateOptions(config);\n var dxTemplates = ((_a = this._createDXTemplates) === null || _a === void 0 ? void 0 : _a.call(this, templateOptions)) || {};\n this._optionsManager.update(config, dxTemplates);\n this._scheduleTemplatesUpdate();\n };\n ComponentBase.prototype.componentWillUnmount = function () {\n var _a;\n this._lockParentOnRemoved();\n if (this._instance) {\n var dxRemoveArgs = { isUnmounting: true };\n this.shouldRestoreFocus = !!this._element.contains(document.activeElement);\n (_a = this._childNodes) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { var _a; return (_a = child.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(child); });\n if (this._element) {\n var preventFocusOut = function (e) { return e.stopPropagation(); };\n events.on(this._element, 'focusout', preventFocusOut);\n events.triggerHandler(this._element, DX_REMOVE_EVENT, dxRemoveArgs);\n events.off(this._element, 'focusout', preventFocusOut);\n }\n this._instance.dispose();\n this._instance = null;\n }\n this._optionsManager.dispose();\n this._unlockParentOnRemoved();\n };\n ComponentBase.prototype._createWidget = function (element) {\n var _a, _b;\n element = element || this._element;\n var config = this._getConfig();\n var options = __assign({ templatesRenderAsynchronously: true }, this._optionsManager.getInitialOptions(config));\n var templateOptions = this._optionsManager.getTemplateOptions(config);\n var dxTemplates = (_a = this._createDXTemplates) === null || _a === void 0 ? void 0 : _a.call(this, templateOptions);\n if (dxTemplates && Object.keys(dxTemplates).length) {\n options = __assign(__assign({}, options), { integrationOptions: {\n templates: dxTemplates,\n } });\n }\n (_b = this._clearInstantiationModels) === null || _b === void 0 ? void 0 : _b.call(this);\n this._instance = new this._WidgetClass(element, options);\n if (!this.useRequestAnimationFrameFlag) {\n this.useDeferUpdateForTemplates = this._instance.option('integrationOptions.useDeferUpdateForTemplates');\n }\n this._optionsManager.setInstance(this._instance, config, this.subscribableOptions, this.independentEvents);\n this._instance.on('optionChanged', this._optionsManager.onOptionChanged);\n };\n ComponentBase.prototype.onTemplatesRendered = function () {\n var _a;\n if (this.shouldRestoreFocus && ((_a = this._instance) === null || _a === void 0 ? void 0 : _a.focus)) {\n this._instance.focus();\n this.shouldRestoreFocus = false;\n }\n };\n ComponentBase.prototype._scheduleTemplatesUpdate = function () {\n var _this = this;\n if (this.guardsUpdateScheduled) {\n return;\n }\n this.guardsUpdateScheduled = true;\n var updateFunc = this.useDeferUpdateForTemplates ? deferUpdate : requestAnimationFrame;\n updateFunc(function () {\n var _a;\n _this.guardsUpdateScheduled = false;\n (_a = _this._updateTemplates) === null || _a === void 0 ? void 0 : _a.call(_this, function () { return scheduleGuards(); });\n });\n unscheduleGuards();\n };\n ComponentBase.prototype._getConfig = function () {\n return buildConfigTree({\n templates: this._templateProps,\n initialValuesProps: this._defaults,\n predefinedValuesProps: {},\n expectedChildren: this._expectedChildren,\n }, this.props);\n };\n ComponentBase.prototype._getElementProps = function () {\n var _this = this;\n var elementProps = {\n ref: function (element) { _this._element = element; },\n };\n elementPropNames.forEach(function (name) {\n var props = _this.props;\n if (name in props) {\n elementProps[name] = props[name];\n }\n });\n return elementProps;\n };\n ComponentBase.prototype._setInlineStyles = function (styles) {\n var _this = this;\n Object.entries(styles).forEach(function (_a) {\n var _b = __read(_a, 2), name = _b[0], value = _b[1];\n _this._element.style[name] = value;\n });\n };\n ComponentBase.prototype._updateCssClasses = function (prevProps, newProps) {\n var _a, _b;\n var prevClassName = prevProps ? getClassName(prevProps) : undefined;\n var newClassName = getClassName(newProps);\n if (prevClassName === newClassName) {\n return;\n }\n if (prevClassName) {\n var classNames = prevClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_a = this._element.classList).remove.apply(_a, __spreadArray([], __read(classNames)));\n }\n }\n if (newClassName) {\n var classNames = newClassName.split(' ').filter(function (c) { return c; });\n if (classNames.length) {\n (_b = this._element.classList).add.apply(_b, __spreadArray([], __read(classNames)));\n }\n }\n };\n ComponentBase.prototype._lockParentOnRemoved = function () {\n var _a;\n (_a = this.context) === null || _a === void 0 ? void 0 : _a.lock();\n };\n ComponentBase.prototype._unlockParentOnRemoved = function () {\n var _a;\n (_a = this.context) === null || _a === void 0 ? void 0 : _a.unlock();\n };\n ComponentBase.prototype._setTemplateManagerHooks = function (_a) {\n var createDXTemplates = _a.createDXTemplates, clearInstantiationModels = _a.clearInstantiationModels, updateTemplates = _a.updateTemplates;\n this._createDXTemplates = createDXTemplates;\n this._clearInstantiationModels = clearInstantiationModels;\n this._updateTemplates = updateTemplates;\n };\n ComponentBase.prototype.renderChildren = function () {\n // @ts-expect-error TS2339\n var children = this.props.children;\n return children;\n };\n ComponentBase.prototype.renderContent = function () {\n var _this = this;\n // @ts-expect-error TS2339\n var children = this.props.children;\n return this.isPortalComponent && children\n ? React.createElement('div', {\n ref: function (node) {\n if (node && _this.portalContainer !== node) {\n _this.portalContainer = node;\n _this.forceUpdate();\n }\n },\n style: ComponentBase.displayContentsStyle(),\n })\n : this.renderChildren();\n };\n ComponentBase.prototype.renderPortal = function () {\n return this.portalContainer && createPortal(this.renderChildren(), this.portalContainer);\n };\n ComponentBase.prototype.render = function () {\n return React.createElement(React.Fragment, {}, React.createElement('div', this._getElementProps(), this.renderContent(), React.createElement(TemplateManager, {\n init: this._setTemplateManagerHooks,\n onTemplatesRendered: this.onTemplatesRendered,\n })), this.isPortalComponent && this.renderPortal());\n };\n ComponentBase.contextType = RemovalLockerContext;\n return ComponentBase;\n}(React.PureComponent));\nexport { ComponentBase, DX_REMOVE_EVENT, };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { ComponentBase } from './component-base';\nvar ExtensionComponent = /** @class */ (function (_super) {\n __extends(ExtensionComponent, _super);\n function ExtensionComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ExtensionComponent.prototype.componentDidMount = function () {\n var onMounted = this.props.onMounted;\n if (onMounted) {\n onMounted(this._createWidget);\n }\n else {\n this._createWidget();\n }\n };\n return ExtensionComponent;\n}(ComponentBase));\nexport { ExtensionComponent, };\n","/*!\n * devextreme-react\n * Version: 23.2.12\n * Build date: Mon Feb 10 2025\n *\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\n *\n * This software may be modified and distributed under the terms\n * of the MIT license. See the LICENSE file in the root of the project for details.\n *\n * https://github.com/DevExpress/devextreme-react\n */\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport * as React from 'react';\nimport { ComponentBase } from './component-base';\nimport { ExtensionComponent } from './extension-component';\nvar Component = /** @class */ (function (_super) {\n __extends(Component, _super);\n function Component(props) {\n var _this = _super.call(this, props) || this;\n _this._extensionCreators = [];\n _this._registerExtension = _this._registerExtension.bind(_this);\n return _this;\n }\n Component.prototype.componentDidMount = function () {\n _super.prototype.componentDidMount.call(this);\n this._createWidget();\n this._createExtensions();\n };\n Component.prototype.componentWillUnmount = function () {\n _super.prototype.componentWillUnmount.call(this);\n this.clearExtensions();\n };\n Component.prototype.clearExtensions = function () {\n this._extensionCreators = [];\n };\n // @ts-expect-error TS2416\n Component.prototype.renderChildren = function () {\n var _this = this;\n return React.Children.map(\n // @ts-expect-error TS2339\n this.props.children, function (child) {\n if (child && Object.prototype.isPrototypeOf.call(ExtensionComponent, child.type)) {\n return React.cloneElement(child, { onMounted: _this._registerExtension });\n }\n return child;\n });\n };\n Component.prototype._registerExtension = function (creator) {\n this._extensionCreators.push(creator);\n };\n Component.prototype._createExtensions = function () {\n var _this = this;\n this._extensionCreators.forEach(function (creator) { return creator(_this._element); });\n };\n return Component;\n}(ComponentBase));\nexport { Component, };\n","/**\r\n * DevExtreme (esm/core/utils/browser.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"./extend\";\r\nimport {\r\n getNavigator\r\n} from \"./window\";\r\nvar navigator = getNavigator();\r\nvar webkitRegExp = /(webkit)[ /]([\\w.]+)/;\r\nvar mozillaRegExp = /(mozilla)(?:.*? rv:([\\w.]+))/;\r\nvar browserFromUA = ua => {\r\n ua = ua.toLowerCase();\r\n var result = {};\r\n var matches = webkitRegExp.exec(ua) || ua.indexOf(\"compatible\") < 0 && mozillaRegExp.exec(ua) || [];\r\n var browserName = matches[1];\r\n var browserVersion = matches[2];\r\n if (\"webkit\" === browserName) {\r\n result.webkit = true;\r\n if (ua.indexOf(\"chrome\") >= 0 || ua.indexOf(\"crios\") >= 0) {\r\n browserName = \"chrome\";\r\n browserVersion = /(?:chrome|crios)\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"fxios\") >= 0) {\r\n browserName = \"mozilla\";\r\n browserVersion = /fxios\\/(\\d+\\.\\d+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else if (ua.indexOf(\"safari\") >= 0 && /version|phantomjs/.test(ua)) {\r\n browserName = \"safari\";\r\n browserVersion = /(?:version|phantomjs)\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n } else {\r\n browserName = \"unknown\";\r\n browserVersion = /applewebkit\\/([0-9.]+)/.exec(ua);\r\n browserVersion = browserVersion && browserVersion[1]\r\n }\r\n }\r\n if (browserName) {\r\n result[browserName] = true;\r\n result.version = browserVersion\r\n }\r\n return result\r\n};\r\nexport default extend({\r\n _fromUA: browserFromUA\r\n}, browserFromUA(navigator.userAgent));\r\n","/**\r\n * DevExtreme (esm/events/short.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport eventsEngine from \"./core/events_engine\";\r\nimport KeyboardProcessor from \"./core/keyboard_processor\";\r\nimport {\r\n addNamespace as pureAddNamespace\r\n} from \"./utils/index\";\r\n\r\nfunction addNamespace(event, namespace) {\r\n return namespace ? pureAddNamespace(event, namespace) : event\r\n}\r\n\r\nfunction executeAction(action, args) {\r\n return \"function\" === typeof action ? action(args) : action.execute(args)\r\n}\r\nexport var active = {\r\n on: ($el, active, inactive, opts) => {\r\n var {\r\n selector: selector,\r\n showTimeout: showTimeout,\r\n hideTimeout: hideTimeout,\r\n namespace: namespace\r\n } = opts;\r\n eventsEngine.on($el, addNamespace(\"dxactive\", namespace), selector, {\r\n timeout: showTimeout\r\n }, event => executeAction(active, {\r\n event: event,\r\n element: event.currentTarget\r\n }));\r\n eventsEngine.on($el, addNamespace(\"dxinactive\", namespace), selector, {\r\n timeout: hideTimeout\r\n }, event => executeAction(inactive, {\r\n event: event,\r\n element: event.currentTarget\r\n }))\r\n },\r\n off: ($el, _ref) => {\r\n var {\r\n namespace: namespace,\r\n selector: selector\r\n } = _ref;\r\n eventsEngine.off($el, addNamespace(\"dxactive\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxinactive\", namespace), selector)\r\n }\r\n};\r\nexport var resize = {\r\n on: function($el, resize) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxresize\", namespace), resize)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxresize\", namespace))\r\n }\r\n};\r\nexport var hover = {\r\n on: ($el, start, end, _ref2) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref2;\r\n eventsEngine.on($el, addNamespace(\"dxhoverend\", namespace), selector, event => end(event));\r\n eventsEngine.on($el, addNamespace(\"dxhoverstart\", namespace), selector, event => executeAction(start, {\r\n element: event.target,\r\n event: event\r\n }))\r\n },\r\n off: ($el, _ref3) => {\r\n var {\r\n selector: selector,\r\n namespace: namespace\r\n } = _ref3;\r\n eventsEngine.off($el, addNamespace(\"dxhoverstart\", namespace), selector);\r\n eventsEngine.off($el, addNamespace(\"dxhoverend\", namespace), selector)\r\n }\r\n};\r\nexport var visibility = {\r\n on: ($el, shown, hiding, _ref4) => {\r\n var {\r\n namespace: namespace\r\n } = _ref4;\r\n eventsEngine.on($el, addNamespace(\"dxhiding\", namespace), hiding);\r\n eventsEngine.on($el, addNamespace(\"dxshown\", namespace), shown)\r\n },\r\n off: ($el, _ref5) => {\r\n var {\r\n namespace: namespace\r\n } = _ref5;\r\n eventsEngine.off($el, addNamespace(\"dxhiding\", namespace));\r\n eventsEngine.off($el, addNamespace(\"dxshown\", namespace))\r\n }\r\n};\r\nexport var focus = {\r\n on: ($el, focusIn, focusOut, _ref6) => {\r\n var {\r\n namespace: namespace\r\n } = _ref6;\r\n eventsEngine.on($el, addNamespace(\"focusin\", namespace), focusIn);\r\n eventsEngine.on($el, addNamespace(\"focusout\", namespace), focusOut)\r\n },\r\n off: ($el, _ref7) => {\r\n var {\r\n namespace: namespace\r\n } = _ref7;\r\n eventsEngine.off($el, addNamespace(\"focusin\", namespace));\r\n eventsEngine.off($el, addNamespace(\"focusout\", namespace))\r\n },\r\n trigger: $el => eventsEngine.trigger($el, \"focus\")\r\n};\r\nexport var dxClick = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"dxclick\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"dxclick\", namespace))\r\n }\r\n};\r\nexport var click = {\r\n on: function($el, click) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {};\r\n eventsEngine.on($el, addNamespace(\"click\", namespace), click)\r\n },\r\n off: function($el) {\r\n var {\r\n namespace: namespace\r\n } = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n eventsEngine.off($el, addNamespace(\"click\", namespace))\r\n }\r\n};\r\nvar index = 0;\r\nvar keyboardProcessors = {};\r\nvar generateListenerId = () => \"keyboardProcessorId\".concat(index++);\r\nexport var keyboard = {\r\n on: (element, focusTarget, handler) => {\r\n var listenerId = generateListenerId();\r\n keyboardProcessors[listenerId] = new KeyboardProcessor({\r\n element: element,\r\n focusTarget: focusTarget,\r\n handler: handler\r\n });\r\n return listenerId\r\n },\r\n off: listenerId => {\r\n if (listenerId && keyboardProcessors[listenerId]) {\r\n keyboardProcessors[listenerId].dispose();\r\n delete keyboardProcessors[listenerId]\r\n }\r\n },\r\n _getProcessor: listenerId => keyboardProcessors[listenerId]\r\n};\r\n","/**\r\n * DevExtreme (esm/core/http_request.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nimport injector from \"./utils/dependency_injector\";\r\nvar nativeXMLHttpRequest = {\r\n getXhr: function() {\r\n return new window.XMLHttpRequest\r\n }\r\n};\r\nexport default injector(nativeXMLHttpRequest);\r\n","/**\r\n * DevExtreme (esm/core/utils/ajax.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n Deferred\r\n} from \"./deferred\";\r\nimport domAdapter from \"../../core/dom_adapter\";\r\nimport httpRequest from \"../../core/http_request\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"../../core/utils/window\";\r\nvar window = getWindow();\r\nimport {\r\n extendFromObject\r\n} from \"./extend\";\r\nimport {\r\n isDefined\r\n} from \"./type\";\r\nimport injector from \"./dependency_injector\";\r\nvar SUCCESS = \"success\";\r\nvar ERROR = \"error\";\r\nvar TIMEOUT = \"timeout\";\r\nvar NO_CONTENT = \"nocontent\";\r\nvar PARSER_ERROR = \"parsererror\";\r\nvar isStatusSuccess = function(status) {\r\n return 200 <= status && status < 300\r\n};\r\nvar hasContent = function(status) {\r\n return 204 !== status\r\n};\r\nvar paramsConvert = function(params) {\r\n var result = [];\r\n for (var name in params) {\r\n var value = params[name];\r\n if (void 0 === value) {\r\n continue\r\n }\r\n if (null === value) {\r\n value = \"\"\r\n }\r\n if (\"function\" === typeof value) {\r\n value = value()\r\n }\r\n result.push(encodeURIComponent(name) + \"=\" + encodeURIComponent(value))\r\n }\r\n return result.join(\"&\")\r\n};\r\nvar createScript = function(options) {\r\n var script = domAdapter.createElement(\"script\");\r\n for (var name in options) {\r\n script[name] = options[name]\r\n }\r\n return script\r\n};\r\nvar removeScript = function(scriptNode) {\r\n scriptNode.parentNode.removeChild(scriptNode)\r\n};\r\nvar appendToHead = function(element) {\r\n return domAdapter.getHead().appendChild(element)\r\n};\r\nvar evalScript = function(code) {\r\n var script = createScript({\r\n text: code\r\n });\r\n appendToHead(script);\r\n removeScript(script)\r\n};\r\nvar evalCrossDomainScript = function(url) {\r\n var script = createScript({\r\n src: url\r\n });\r\n return new Promise((function(resolve, reject) {\r\n var events = {\r\n load: resolve,\r\n error: reject\r\n };\r\n var loadHandler = function(e) {\r\n events[e.type]();\r\n removeScript(script)\r\n };\r\n for (var event in events) {\r\n domAdapter.listen(script, event, loadHandler)\r\n }\r\n appendToHead(script)\r\n }))\r\n};\r\nvar getAcceptHeader = function(options) {\r\n var dataType = options.dataType || \"*\";\r\n var scriptAccept = \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\";\r\n var accepts = {\r\n \"*\": \"*/*\",\r\n text: \"text/plain\",\r\n html: \"text/html\",\r\n xml: \"application/xml, text/xml\",\r\n json: \"application/json, text/javascript\",\r\n jsonp: scriptAccept,\r\n script: scriptAccept\r\n };\r\n extendFromObject(accepts, options.accepts, true);\r\n return accepts[dataType] ? accepts[dataType] + (\"*\" !== dataType ? \", */*; q=0.01\" : \"\") : accepts[\"*\"]\r\n};\r\nvar getContentTypeHeader = function(options) {\r\n var defaultContentType;\r\n if (options.data && !options.upload && \"GET\" !== getMethod(options)) {\r\n defaultContentType = \"application/x-www-form-urlencoded;charset=utf-8\"\r\n }\r\n return options.contentType || defaultContentType\r\n};\r\nvar getDataFromResponse = function(xhr) {\r\n return xhr.responseType && \"text\" !== xhr.responseType || \"string\" !== typeof xhr.responseText ? xhr.response : xhr.responseText\r\n};\r\nvar postProcess = function(deferred, xhr, dataType) {\r\n var data = getDataFromResponse(xhr);\r\n switch (dataType) {\r\n case \"jsonp\":\r\n evalScript(data);\r\n break;\r\n case \"script\":\r\n evalScript(data);\r\n deferred.resolve(data, SUCCESS, xhr);\r\n break;\r\n case \"json\":\r\n try {\r\n deferred.resolve(JSON.parse(data), SUCCESS, xhr)\r\n } catch (e) {\r\n deferred.reject(xhr, PARSER_ERROR, e)\r\n }\r\n break;\r\n default:\r\n deferred.resolve(data, SUCCESS, xhr)\r\n }\r\n};\r\nvar isCrossDomain = function(url) {\r\n if (!hasWindow()) {\r\n return true\r\n }\r\n var crossDomain = false;\r\n var originAnchor = domAdapter.createElement(\"a\");\r\n var urlAnchor = domAdapter.createElement(\"a\");\r\n originAnchor.href = window.location.href;\r\n try {\r\n urlAnchor.href = url;\r\n urlAnchor.href = urlAnchor.href;\r\n crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !== urlAnchor.protocol + \"//\" + urlAnchor.host\r\n } catch (e) {\r\n crossDomain = true\r\n }\r\n return crossDomain\r\n};\r\nvar setHttpTimeout = function(timeout, xhr) {\r\n return timeout && setTimeout((function() {\r\n xhr.customStatus = TIMEOUT;\r\n xhr.abort()\r\n }), timeout)\r\n};\r\nvar getJsonpOptions = function(options) {\r\n if (\"jsonp\" === options.dataType) {\r\n var random = Math.random().toString().replace(/\\D/g, \"\");\r\n var callbackName = options.jsonpCallback || \"dxCallback\" + Date.now() + \"_\" + random;\r\n var callbackParameter = options.jsonp || \"callback\";\r\n options.data = options.data || {};\r\n options.data[callbackParameter] = callbackName;\r\n return callbackName\r\n }\r\n};\r\nvar getRequestOptions = function(options, headers) {\r\n var params = options.data;\r\n var paramsAlreadyString = \"string\" === typeof params;\r\n var url = options.url || window.location.href;\r\n if (!paramsAlreadyString && !options.cache) {\r\n params = params || {};\r\n params._ = Date.now()\r\n }\r\n if (params && !options.upload) {\r\n if (!paramsAlreadyString) {\r\n params = paramsConvert(params)\r\n }\r\n if (\"GET\" === getMethod(options)) {\r\n if (\"\" !== params) {\r\n url += (url.indexOf(\"?\") > -1 ? \"&\" : \"?\") + params\r\n }\r\n params = null\r\n } else if (headers[\"Content-Type\"] && headers[\"Content-Type\"].indexOf(\"application/x-www-form-urlencoded\") > -1) {\r\n params = params.replace(/%20/g, \"+\")\r\n }\r\n }\r\n return {\r\n url: url,\r\n parameters: params\r\n }\r\n};\r\n\r\nfunction getMethod(options) {\r\n return (options.method || \"GET\").toUpperCase()\r\n}\r\nvar getRequestHeaders = function(options) {\r\n var headers = options.headers || {};\r\n headers[\"Content-Type\"] = headers[\"Content-Type\"] || getContentTypeHeader(options);\r\n headers.Accept = headers.Accept || getAcceptHeader(options);\r\n if (!options.crossDomain && !headers[\"X-Requested-With\"]) {\r\n headers[\"X-Requested-With\"] = \"XMLHttpRequest\"\r\n }\r\n return headers\r\n};\r\nvar sendRequest = function(options) {\r\n var xhr = httpRequest.getXhr();\r\n var d = new Deferred;\r\n var result = d.promise();\r\n var async = isDefined(options.async) ? options.async : true;\r\n var dataType = options.dataType;\r\n var timeout = options.timeout || 0;\r\n var timeoutId;\r\n options.crossDomain = isCrossDomain(options.url);\r\n var needScriptEvaluation = \"jsonp\" === dataType || \"script\" === dataType;\r\n if (void 0 === options.cache) {\r\n options.cache = !needScriptEvaluation\r\n }\r\n var callbackName = getJsonpOptions(options);\r\n var headers = getRequestHeaders(options);\r\n var requestOptions = getRequestOptions(options, headers);\r\n var url = requestOptions.url;\r\n var parameters = requestOptions.parameters;\r\n if (callbackName) {\r\n window[callbackName] = function(data) {\r\n d.resolve(data, SUCCESS, xhr)\r\n }\r\n }\r\n if (options.crossDomain && needScriptEvaluation) {\r\n evalCrossDomainScript(url).then((function() {\r\n if (\"jsonp\" === dataType) {\r\n return\r\n }\r\n d.resolve(null, SUCCESS, xhr)\r\n }), (function() {\r\n d.reject(xhr, ERROR)\r\n }));\r\n return result\r\n }\r\n if (options.crossDomain && !(\"withCredentials\" in xhr)) {\r\n d.reject(xhr, ERROR);\r\n return result\r\n }\r\n xhr.open(getMethod(options), url, async, options.username, options.password);\r\n if (async) {\r\n xhr.timeout = timeout;\r\n timeoutId = setHttpTimeout(timeout, xhr)\r\n }\r\n xhr.onreadystatechange = function(e) {\r\n if (4 === xhr.readyState) {\r\n clearTimeout(timeoutId);\r\n if (isStatusSuccess(xhr.status)) {\r\n if (hasContent(xhr.status)) {\r\n postProcess(d, xhr, dataType)\r\n } else {\r\n d.resolve(null, NO_CONTENT, xhr)\r\n }\r\n } else {\r\n d.reject(xhr, xhr.customStatus || ERROR)\r\n }\r\n }\r\n };\r\n if (options.upload) {\r\n xhr.upload.onprogress = options.upload.onprogress;\r\n xhr.upload.onloadstart = options.upload.onloadstart;\r\n xhr.upload.onabort = options.upload.onabort\r\n }\r\n if (options.xhrFields) {\r\n for (var field in options.xhrFields) {\r\n xhr[field] = options.xhrFields[field]\r\n }\r\n }\r\n if (\"arraybuffer\" === options.responseType) {\r\n xhr.responseType = options.responseType\r\n }\r\n for (var name in headers) {\r\n if (Object.prototype.hasOwnProperty.call(headers, name) && isDefined(headers[name])) {\r\n xhr.setRequestHeader(name, headers[name])\r\n }\r\n }\r\n if (options.beforeSend) {\r\n options.beforeSend(xhr)\r\n }\r\n xhr.send(parameters);\r\n result.abort = function() {\r\n xhr.abort()\r\n };\r\n return result\r\n};\r\nexport default injector({\r\n sendRequest: sendRequest\r\n});\r\n","/**\r\n * DevExtreme (esm/localization/open_xml_currency_format.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nexport default (currencySymbol, accountingFormat) => {\r\n if (!accountingFormat) {\r\n return\r\n }\r\n var encodedCurrencySymbol = currencySymbol;\r\n if (\"string\" === typeof currencySymbol) {\r\n encodedCurrencySymbol = \"\";\r\n for (var i = 0; i < currencySymbol.length; i++) {\r\n if (\"$\" !== currencySymbol[i]) {\r\n encodedCurrencySymbol += \"\\\\\"\r\n }\r\n encodedCurrencySymbol += currencySymbol[i]\r\n }\r\n }\r\n var encodeSymbols = {\r\n \".00\": \"{0}\",\r\n \"'\": \"\\\\'\",\r\n \"\\\\(\": \"\\\\(\",\r\n \"\\\\)\": \"\\\\)\",\r\n \" \": \"\\\\ \",\r\n '\"': \""\",\r\n \"\\\\\\xa4\": encodedCurrencySymbol\r\n };\r\n var result = accountingFormat.split(\";\");\r\n for (var _i = 0; _i < result.length; _i++) {\r\n for (var symbol in encodeSymbols) {\r\n if (Object.prototype.hasOwnProperty.call(encodeSymbols, symbol)) {\r\n result[_i] = result[_i].replace(new RegExp(symbol, \"g\"), encodeSymbols[symbol])\r\n }\r\n }\r\n }\r\n return 2 === result.length ? result[0] + \"_);\" + result[1] : result[0]\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/accounting_formats.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n af: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"af-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n agq: \"#,##0.00\\xa4\",\r\n ak: \"\\xa4#,##0.00\",\r\n am: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ar: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-BH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-DZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-EH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-IQ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-JO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-KW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-LY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-MR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-OM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-PS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-QA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-SY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-TN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ar-YE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n as: \"\\xa4\\xa0#,##,##0.00\",\r\n asa: \"#,##0.00\\xa0\\xa4\",\r\n ast: \"#,##0.00\\xa0\\xa4\",\r\n az: \"#,##0.00\\xa0\\xa4\",\r\n \"az-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"az-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n bas: \"#,##0.00\\xa0\\xa4\",\r\n be: \"#,##0.00\\xa0\\xa4\",\r\n \"be-tarask\": \"#,##0.00\\xa0\\xa4\",\r\n bem: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bez: \"#,##0.00\\xa4\",\r\n bg: \"0.00\\xa0\\xa4;(0.00\\xa0\\xa4)\",\r\n bm: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n bn: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"bn-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n bo: \"\\xa4\\xa0#,##0.00\",\r\n \"bo-IN\": \"\\xa4\\xa0#,##0.00\",\r\n br: \"#,##0.00\\xa0\\xa4\",\r\n brx: \"\\xa4\\xa0#,##,##0.00\",\r\n bs: \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"bs-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n ca: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-AD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-ES-valencia\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-FR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ca-IT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ccp: \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n \"ccp-IN\": \"#,##,##0.00\\xa4;(#,##,##0.00\\xa4)\",\r\n ce: \"#,##0.00\\xa0\\xa4\",\r\n ceb: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n cgg: \"\\xa4#,##0.00\",\r\n chr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ckb: \"\\xa4\\xa0#,##0.00\",\r\n \"ckb-IR\": \"\\xa4\\xa0#,##0.00\",\r\n cs: \"#,##0.00\\xa0\\xa4\",\r\n cy: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n da: \"#,##0.00\\xa0\\xa4\",\r\n \"da-GL\": \"#,##0.00\\xa0\\xa4\",\r\n dav: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n de: \"#,##0.00\\xa0\\xa4\",\r\n \"de-AT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-IT\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LI\": \"#,##0.00\\xa0\\xa4\",\r\n \"de-LU\": \"#,##0.00\\xa0\\xa4\",\r\n dje: \"#,##0.00\\xa4\",\r\n doi: \"\\xa4#,##0.00\",\r\n dsb: \"#,##0.00\\xa0\\xa4\",\r\n dua: \"#,##0.00\\xa0\\xa4\",\r\n dyo: \"#,##0.00\\xa0\\xa4\",\r\n dz: \"\\xa4#,##,##0.00\",\r\n ebu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ee: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ee-TG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n el: \"#,##0.00\\xa0\\xa4\",\r\n \"el-CY\": \"#,##0.00\\xa0\\xa4\",\r\n en: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-001\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-150\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-AE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-AT\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-AU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-BI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-BZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CH\": \"\\xa4\\xa0#,##0.00;\\xa4-#,##0.00\",\r\n \"en-CK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-DK\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-DM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ER\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-FJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-FM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-GY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-IO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-JM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-KY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-LS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MV\": \"\\xa4\\xa0#,##0.00\",\r\n \"en-MW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NF\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NL\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"en-NR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-NZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PR\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-PW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-RW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SD\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SE\": \"#,##0.00\\xa0\\xa4\",\r\n \"en-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SH\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"en-SL\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SX\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-SZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TT\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TV\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-UM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VC\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VI\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-VU\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-WS\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZA\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZM\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"en-ZW\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n eo: \"\\xa4\\xa0#,##0.00\",\r\n es: \"#,##0.00\\xa0\\xa4\",\r\n \"es-419\": \"\\xa4#,##0.00\",\r\n \"es-AR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-BO\": \"\\xa4#,##0.00\",\r\n \"es-BR\": \"\\xa4#,##0.00\",\r\n \"es-BZ\": \"\\xa4#,##0.00\",\r\n \"es-CL\": \"\\xa4#,##0.00\",\r\n \"es-CO\": \"\\xa4#,##0.00\",\r\n \"es-CR\": \"\\xa4#,##0.00\",\r\n \"es-CU\": \"\\xa4#,##0.00\",\r\n \"es-DO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"es-EA\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-EC\": \"\\xa4#,##0.00\",\r\n \"es-GQ\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-GT\": \"\\xa4#,##0.00\",\r\n \"es-HN\": \"\\xa4#,##0.00\",\r\n \"es-IC\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-MX\": \"\\xa4#,##0.00\",\r\n \"es-NI\": \"\\xa4#,##0.00\",\r\n \"es-PA\": \"\\xa4#,##0.00\",\r\n \"es-PE\": \"\\xa4#,##0.00\",\r\n \"es-PH\": \"#,##0.00\\xa0\\xa4\",\r\n \"es-PR\": \"\\xa4#,##0.00\",\r\n \"es-PY\": \"\\xa4#,##0.00\",\r\n \"es-SV\": \"\\xa4#,##0.00\",\r\n \"es-US\": \"\\xa4#,##0.00\",\r\n \"es-UY\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"es-VE\": \"\\xa4#,##0.00\",\r\n et: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n eu: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ewo: \"#,##0.00\\xa0\\xa4\",\r\n fa: \"\\u200e\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n \"fa-AF\": \"\\xa4\\xa0#,##0.00;\\u200e(\\xa4\\xa0#,##0.00)\",\r\n ff: \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Adlm\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-BF\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-CM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GM\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-GW\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-LR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-MR\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NE\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-NG\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SL\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Adlm-SN\": \"\\xa4\\xa0#,##0.00\",\r\n \"ff-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-BF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-CM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GH\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GM\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GN\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-GW\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-LR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-MR\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NE\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-NG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ff-Latn-SL\": \"#,##0.00\\xa0\\xa4\",\r\n fi: \"#,##0.00\\xa0\\xa4\",\r\n fil: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n fo: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fo-DK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-BL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CI\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-CM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DJ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-DZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GP\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-HT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-KM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-ML\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MR\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-MU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-NE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-PM\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RE\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-RW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SC\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-SY\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TG\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-TN\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-VU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-WF\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"fr-YT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n fur: \"\\xa4\\xa0#,##0.00\",\r\n fy: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n ga: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ga-GB\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gl: \"#,##0.00\\xa0\\xa4\",\r\n gsw: \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-FR\": \"#,##0.00\\xa0\\xa4\",\r\n \"gsw-LI\": \"#,##0.00\\xa0\\xa4\",\r\n gu: \"\\xa4#,##,##0.00;(\\xa4#,##,##0.00)\",\r\n guz: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n gv: \"\\xa4#,##0.00\",\r\n ha: \"\\xa4\\xa0#,##0.00\",\r\n \"ha-GH\": \"\\xa4\\xa0#,##0.00\",\r\n \"ha-NE\": \"\\xa4\\xa0#,##0.00\",\r\n haw: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n he: \"#,##0.00\\xa0\\xa4\",\r\n hi: \"\\xa4#,##,##0.00\",\r\n \"hi-Latn\": \"\\xa4#,##,##0.00\",\r\n hr: \"#,##0.00\\xa0\\xa4\",\r\n \"hr-BA\": \"#,##0.00\\xa0\\xa4\",\r\n hsb: \"#,##0.00\\xa0\\xa4\",\r\n hu: \"#,##0.00\\xa0\\xa4\",\r\n hy: \"#,##0.00\\xa0\\xa4\",\r\n ia: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n id: \"\\xa4#,##0.00\",\r\n ig: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ii: \"\\xa4\\xa0#,##0.00\",\r\n is: \"#,##0.00\\xa0\\xa4\",\r\n it: \"#,##0.00\\xa0\\xa4\",\r\n \"it-CH\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-SM\": \"#,##0.00\\xa0\\xa4\",\r\n \"it-VA\": \"#,##0.00\\xa0\\xa4\",\r\n ja: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n jgo: \"\\xa4\\xa0#,##0.00\",\r\n jmc: \"\\xa4#,##0.00\",\r\n jv: \"\\xa4\\xa0#,##0.00\",\r\n ka: \"#,##0.00\\xa0\\xa4\",\r\n kab: \"#,##0.00\\xa4\",\r\n kam: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kde: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kea: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kgp: \"\\xa4\\xa0#,##0.00\",\r\n khq: \"#,##0.00\\xa4\",\r\n ki: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kk: \"#,##0.00\\xa0\\xa4\",\r\n kkj: \"\\xa4\\xa0#,##0.00\",\r\n kl: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n kln: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n km: \"#,##0.00\\xa4;(#,##0.00\\xa4)\",\r\n kn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ko: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ko-KP\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n kok: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ks: \"\\xa4#,##0.00\",\r\n \"ks-Arab\": \"\\xa4#,##0.00\",\r\n \"ks-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n ksb: \"#,##0.00\\xa4\",\r\n ksf: \"#,##0.00\\xa0\\xa4\",\r\n ksh: \"#,##0.00\\xa0\\xa4\",\r\n ku: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n kw: \"\\xa4#,##0.00\",\r\n ky: \"#,##0.00\\xa0\\xa4\",\r\n lag: \"\\xa4\\xa0#,##0.00\",\r\n lb: \"#,##0.00\\xa0\\xa4\",\r\n lg: \"#,##0.00\\xa4\",\r\n lkt: \"\\xa4\\xa0#,##0.00\",\r\n ln: \"#,##0.00\\xa0\\xa4\",\r\n \"ln-AO\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CF\": \"#,##0.00\\xa0\\xa4\",\r\n \"ln-CG\": \"#,##0.00\\xa0\\xa4\",\r\n lo: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n lrc: \"\\xa4\\xa0#,##0.00\",\r\n \"lrc-IQ\": \"\\xa4\\xa0#,##0.00\",\r\n lt: \"#,##0.00\\xa0\\xa4\",\r\n lu: \"#,##0.00\\xa4\",\r\n luo: \"#,##0.00\\xa4\",\r\n luy: \"\\xa4#,##0.00;\\xa4-\\xa0#,##0.00\",\r\n lv: \"#,##0.00\\xa0\\xa4\",\r\n mai: \"\\xa4\\xa0#,##0.00\",\r\n mas: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"mas-TZ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mer: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mfe: \"\\xa4\\xa0#,##0.00\",\r\n mg: \"\\xa4#,##0.00\",\r\n mgh: \"\\xa4\\xa0#,##0.00\",\r\n mgo: \"\\xa4\\xa0#,##0.00\",\r\n mi: \"\\xa4\\xa0#,##0.00\",\r\n mk: \"#,##0.00\\xa0\\xa4\",\r\n ml: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mn: \"\\xa4\\xa0#,##0.00\",\r\n mni: \"\\xa4\\xa0#,##0.00\",\r\n \"mni-Beng\": \"\\xa4\\xa0#,##0.00\",\r\n mr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ms: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-BN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ms-ID\": \"\\xa4#,##0.00\",\r\n \"ms-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n mt: \"\\xa4#,##0.00\",\r\n mua: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n my: \"\\xa4\\xa0#,##0.00\",\r\n mzn: \"\\xa4\\xa0#,##0.00\",\r\n naq: \"\\xa4#,##0.00\",\r\n nb: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nb-SJ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nd: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nds: \"\\xa4\\xa0#,##0.00\",\r\n \"nds-NL\": \"\\xa4\\xa0#,##0.00\",\r\n ne: \"\\xa4\\xa0#,##,##0.00\",\r\n \"ne-IN\": \"\\xa4\\xa0#,##,##0.00\",\r\n nl: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-AW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BE\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-BQ\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-CW\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SR\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n \"nl-SX\": \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nmg: \"#,##0.00\\xa0\\xa4\",\r\n nn: \"#,##0.00\\xa0\\xa4\",\r\n nnh: \"\\xa4\\xa0#,##0.00\",\r\n no: \"\\xa4\\xa0#,##0.00;(\\xa4\\xa0#,##0.00)\",\r\n nus: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n nyn: \"\\xa4#,##0.00\",\r\n om: \"\\xa4#,##0.00\",\r\n \"om-KE\": \"\\xa4#,##0.00\",\r\n or: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n os: \"\\xa4\\xa0#,##0.00\",\r\n \"os-RU\": \"\\xa4\\xa0#,##0.00\",\r\n pa: \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"pa-Guru\": \"\\xa4\\xa0#,##0.00\",\r\n pcm: \"\\xa4#,##0.00\",\r\n pl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n ps: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ps-PK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n pt: \"\\xa4\\xa0#,##0.00\",\r\n \"pt-AO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CH\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-CV\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GQ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-GW\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-LU\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MO\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-MZ\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-PT\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-ST\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"pt-TL\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n qu: \"\\xa4\\xa0#,##0.00\",\r\n \"qu-BO\": \"\\xa4\\xa0#,##0.00\",\r\n \"qu-EC\": \"\\xa4\\xa0#,##0.00\",\r\n rm: \"#,##0.00\\xa0\\xa4\",\r\n rn: \"#,##0.00\\xa4\",\r\n ro: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"ro-MD\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n rof: \"\\xa4#,##0.00\",\r\n ru: \"#,##0.00\\xa0\\xa4\",\r\n \"ru-BY\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KG\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-KZ\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-MD\": \"#,##0.00\\xa0\\xa4\",\r\n \"ru-UA\": \"#,##0.00\\xa0\\xa4\",\r\n rw: \"\\xa4\\xa0#,##0.00\",\r\n rwk: \"#,##0.00\\xa4\",\r\n sa: \"\\xa4\\xa0#,##0.00\",\r\n sah: \"#,##0.00\\xa0\\xa4\",\r\n saq: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sat: \"\\xa4\\xa0#,##0.00\",\r\n \"sat-Olck\": \"\\xa4\\xa0#,##0.00\",\r\n sbp: \"#,##0.00\\xa4\",\r\n sc: \"#,##0.00\\xa0\\xa4\",\r\n sd: \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"sd-Deva\": \"\\xa4\\xa0#,##0.00\",\r\n se: \"#,##0.00\\xa0\\xa4\",\r\n \"se-FI\": \"#,##0.00\\xa0\\xa4\",\r\n \"se-SE\": \"#,##0.00\\xa0\\xa4\",\r\n seh: \"#,##0.00\\xa4\",\r\n ses: \"#,##0.00\\xa4\",\r\n sg: \"\\xa4#,##0.00;\\xa4-#,##0.00\",\r\n shi: \"#,##0.00\\xa4\",\r\n \"shi-Latn\": \"#,##0.00\\xa4\",\r\n \"shi-Tfng\": \"#,##0.00\\xa4\",\r\n si: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sk: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sl: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n smn: \"#,##0.00\\xa0\\xa4\",\r\n sn: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n so: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-DJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-ET\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"so-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n sq: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-MK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sq-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n sr: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Cyrl-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-BA\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-ME\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n \"sr-Latn-XK\": \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n su: \"\\xa4#,##0.00\",\r\n \"su-Latn\": \"\\xa4#,##0.00\",\r\n sv: \"#,##0.00\\xa0\\xa4\",\r\n \"sv-AX\": \"#,##0.00\\xa0\\xa4\",\r\n \"sv-FI\": \"#,##0.00\\xa0\\xa4\",\r\n sw: \"\\xa4\\xa0#,##0.00\",\r\n \"sw-CD\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-KE\": \"\\xa4\\xa0#,##0.00\",\r\n \"sw-UG\": \"\\xa4\\xa0#,##0.00\",\r\n ta: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-LK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-MY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ta-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n te: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n teo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"teo-KE\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tg: \"#,##0.00\\xa0\\xa4\",\r\n th: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n ti: \"\\xa4#,##0.00\",\r\n \"ti-ER\": \"\\xa4#,##0.00\",\r\n tk: \"#,##0.00\\xa0\\xa4\",\r\n to: \"\\xa4\\xa0#,##0.00\",\r\n tr: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"tr-CY\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n tt: \"#,##0.00\\xa0\\xa4\",\r\n twq: \"#,##0.00\\xa4\",\r\n tzm: \"#,##0.00\\xa0\\xa4\",\r\n ug: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uk: \"#,##0.00\\xa0\\xa4\",\r\n und: \"\\xa4\\xa0#,##0.00\",\r\n ur: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"ur-IN\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n uz: \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Arab\": \"\\xa4\\xa0#,##0.00\",\r\n \"uz-Cyrl\": \"#,##0.00\\xa0\\xa4\",\r\n \"uz-Latn\": \"#,##0.00\\xa0\\xa4\",\r\n vai: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Latn\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"vai-Vaii\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n vi: \"#,##0.00\\xa0\\xa4\",\r\n vun: \"\\xa4#,##0.00\",\r\n wae: \"\\xa4\\xa0#,##0.00\",\r\n wo: \"\\xa4\\xa0#,##0.00\",\r\n xh: \"\\xa4#,##0.00\",\r\n xog: \"#,##0.00\\xa0\\xa4\",\r\n yav: \"#,##0.00\\xa0\\xa4;(#,##0.00\\xa0\\xa4)\",\r\n yi: \"\\xa4\\xa0#,##0.00\",\r\n yo: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yo-BJ\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n yrl: \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-CO\": \"\\xa4\\xa0#,##0.00\",\r\n \"yrl-VE\": \"\\xa4\\xa0#,##0.00\",\r\n yue: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"yue-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zgh: \"#,##0.00\\xa4\",\r\n zh: \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hans-SG\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-HK\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n \"zh-Hant-MO\": \"\\xa4#,##0.00;(\\xa4#,##0.00)\",\r\n zu: \"\\xa4#,##0.00;(\\xa4#,##0.00)\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/number.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dxConfig from \"../../core/config\";\r\nimport localizationCoreUtils from \"../core\";\r\nimport openXmlCurrencyFormat from \"../open_xml_currency_format\";\r\nimport accountingFormats from \"../cldr-data/accounting_formats\";\r\nvar CURRENCY_STYLES = [\"standard\", \"accounting\"];\r\nvar MAX_FRACTION_DIGITS = 20;\r\nvar detectCurrencySymbolRegex = /([^\\s0]+)?(\\s*)0*[.,]*0*(\\s*)([^\\s0]+)?/;\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.NumberFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\nvar getCurrencyFormatter = currency => new Intl.NumberFormat(localizationCoreUtils.locale(), {\r\n style: \"currency\",\r\n currency: currency\r\n});\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getFormatter(this._normalizeFormatConfig(format, formatConfig, value))(value)\r\n },\r\n _normalizeFormatConfig: function(format, formatConfig, value) {\r\n var config;\r\n if (\"decimal\" === format) {\r\n var fractionDigits = String(value).split(\".\")[1];\r\n config = {\r\n minimumIntegerDigits: formatConfig.precision || void 0,\r\n useGrouping: false,\r\n maximumFractionDigits: fractionDigits && fractionDigits.length,\r\n round: value < 0 ? \"ceil\" : \"floor\"\r\n }\r\n } else {\r\n config = this._getPrecisionConfig(formatConfig.precision)\r\n }\r\n if (\"percent\" === format) {\r\n config.style = \"percent\"\r\n } else if (\"currency\" === format) {\r\n var _formatConfig$useCurr;\r\n var useAccountingStyle = null !== (_formatConfig$useCurr = formatConfig.useCurrencyAccountingStyle) && void 0 !== _formatConfig$useCurr ? _formatConfig$useCurr : dxConfig().defaultUseCurrencyAccountingStyle;\r\n config.style = \"currency\";\r\n config.currency = formatConfig.currency || dxConfig().defaultCurrency;\r\n config.currencySign = CURRENCY_STYLES[+useAccountingStyle]\r\n }\r\n return config\r\n },\r\n _getPrecisionConfig: function(precision) {\r\n var config;\r\n if (null === precision) {\r\n config = {\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: MAX_FRACTION_DIGITS\r\n }\r\n } else {\r\n config = {\r\n minimumFractionDigits: precision || 0,\r\n maximumFractionDigits: precision || 0\r\n }\r\n }\r\n return config\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (\"default\" === _format.currency) {\r\n _format.currency = dxConfig().defaultCurrency\r\n }\r\n if (!_format || \"function\" !== typeof _format && !_format.type && !_format.formatter) {\r\n return getFormatter(_format)(value)\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n _getCurrencySymbolInfo: function(currency) {\r\n var formatter = getCurrencyFormatter(currency);\r\n return this._extractCurrencySymbolInfo(formatter.format(0))\r\n },\r\n _extractCurrencySymbolInfo: function(currencyValueString) {\r\n var match = detectCurrencySymbolRegex.exec(currencyValueString) || [];\r\n var position = match[1] ? \"before\" : \"after\";\r\n var symbol = match[1] || match[4] || \"\";\r\n var delimiter = match[2] || match[3] || \"\";\r\n return {\r\n position: position,\r\n symbol: symbol,\r\n delimiter: delimiter\r\n }\r\n },\r\n getCurrencySymbol: function(currency) {\r\n if (!currency) {\r\n currency = dxConfig().defaultCurrency\r\n }\r\n var symbolInfo = this._getCurrencySymbolInfo(currency);\r\n return {\r\n symbol: symbolInfo.symbol\r\n }\r\n },\r\n getOpenXmlCurrencyFormat: function(currency) {\r\n var targetCurrency = currency || dxConfig().defaultCurrency;\r\n var currencySymbol = this._getCurrencySymbolInfo(targetCurrency).symbol;\r\n var closestAccountingFormat = localizationCoreUtils.getValueByClosestLocale(locale => accountingFormats[locale]);\r\n return openXmlCurrencyFormat(currencySymbol, closestAccountingFormat)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/number.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n escapeRegExp\r\n} from \"../core/utils/common\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport {\r\n isPlainObject\r\n} from \"../core/utils/type\";\r\nimport {\r\n getFormatter\r\n} from \"./ldml/number\";\r\nimport config from \"../core/config\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n toFixed\r\n} from \"./utils\";\r\nimport currencyLocalization from \"./currency\";\r\nimport intlNumberLocalization from \"./intl/number\";\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar MAX_LARGE_NUMBER_POWER = 4;\r\nvar DECIMAL_BASE = 10;\r\nvar NUMERIC_FORMATS = [\"currency\", \"fixedpoint\", \"exponential\", \"percent\", \"decimal\"];\r\nvar LargeNumberFormatPostfixes = {\r\n 1: \"K\",\r\n 2: \"M\",\r\n 3: \"B\",\r\n 4: \"T\"\r\n};\r\nvar LargeNumberFormatPowers = {\r\n largenumber: \"auto\",\r\n thousands: 1,\r\n millions: 2,\r\n billions: 3,\r\n trillions: 4\r\n};\r\nvar numberLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n numericFormats: NUMERIC_FORMATS,\r\n defaultLargeNumberFormatPostfixes: LargeNumberFormatPostfixes,\r\n _parseNumberFormatString: function(formatType) {\r\n var formatObject = {};\r\n if (!formatType || \"string\" !== typeof formatType) {\r\n return\r\n }\r\n var formatList = formatType.toLowerCase().split(\" \");\r\n each(formatList, (index, value) => {\r\n if (NUMERIC_FORMATS.includes(value)) {\r\n formatObject.formatType = value\r\n } else if (value in LargeNumberFormatPowers) {\r\n formatObject.power = LargeNumberFormatPowers[value]\r\n }\r\n });\r\n if (formatObject.power && !formatObject.formatType) {\r\n formatObject.formatType = \"fixedpoint\"\r\n }\r\n if (formatObject.formatType) {\r\n return formatObject\r\n }\r\n },\r\n _calculateNumberPower: function(value, base, minPower, maxPower) {\r\n var number = Math.abs(value);\r\n var power = 0;\r\n if (number > 1) {\r\n while (number && number >= base && (void 0 === maxPower || power < maxPower)) {\r\n power++;\r\n number /= base\r\n }\r\n } else if (number > 0 && number < 1) {\r\n while (number < 1 && (void 0 === minPower || power > minPower)) {\r\n power--;\r\n number *= base\r\n }\r\n }\r\n return power\r\n },\r\n _getNumberByPower: function(number, power, base) {\r\n var result = number;\r\n while (power > 0) {\r\n result /= base;\r\n power--\r\n }\r\n while (power < 0) {\r\n result *= base;\r\n power++\r\n }\r\n return result\r\n },\r\n _formatNumber: function(value, formatObject, formatConfig) {\r\n if (\"auto\" === formatObject.power) {\r\n formatObject.power = this._calculateNumberPower(value, 1e3, 0, MAX_LARGE_NUMBER_POWER)\r\n }\r\n if (formatObject.power) {\r\n value = this._getNumberByPower(value, formatObject.power, 1e3)\r\n }\r\n var powerPostfix = this.defaultLargeNumberFormatPostfixes[formatObject.power] || \"\";\r\n var result = this._formatNumberCore(value, formatObject.formatType, formatConfig);\r\n result = result.replace(/(\\d|.$)(\\D*)$/, \"$1\" + powerPostfix + \"$2\");\r\n return result\r\n },\r\n _formatNumberExponential: function(value, formatConfig) {\r\n var power = this._calculateNumberPower(value, DECIMAL_BASE);\r\n var number = this._getNumberByPower(value, power, DECIMAL_BASE);\r\n if (void 0 === formatConfig.precision) {\r\n formatConfig.precision = 1\r\n }\r\n if (number.toFixed(formatConfig.precision || 0) >= DECIMAL_BASE) {\r\n power++;\r\n number /= DECIMAL_BASE\r\n }\r\n var powString = (power >= 0 ? \"+\" : \"\") + power.toString();\r\n return this._formatNumberCore(number, \"fixedpoint\", formatConfig) + \"E\" + powString\r\n },\r\n _addZeroes: function(value, precision) {\r\n var multiplier = Math.pow(10, precision);\r\n var sign = value < 0 ? \"-\" : \"\";\r\n value = (Math.abs(value) * multiplier >>> 0) / multiplier;\r\n var result = value.toString();\r\n while (result.length < precision) {\r\n result = \"0\" + result\r\n }\r\n return sign + result\r\n },\r\n _addGroupSeparators: function(value) {\r\n var parts = value.toString().split(\".\");\r\n return parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, config().thousandsSeparator) + (parts[1] ? config().decimalSeparator + parts[1] : \"\")\r\n },\r\n _formatNumberCore: function(value, format, formatConfig) {\r\n if (\"exponential\" === format) {\r\n return this._formatNumberExponential(value, formatConfig)\r\n }\r\n if (\"decimal\" !== format && null !== formatConfig.precision) {\r\n formatConfig.precision = formatConfig.precision || 0\r\n }\r\n if (\"percent\" === format) {\r\n value *= 100\r\n }\r\n if (void 0 !== formatConfig.precision) {\r\n if (\"decimal\" === format) {\r\n value = this._addZeroes(value, formatConfig.precision)\r\n } else {\r\n value = null === formatConfig.precision ? value.toPrecision() : toFixed(value, formatConfig.precision)\r\n }\r\n }\r\n if (\"decimal\" !== format) {\r\n value = this._addGroupSeparators(value)\r\n } else {\r\n value = value.toString().replace(\".\", config().decimalSeparator)\r\n }\r\n if (\"percent\" === format) {\r\n value += \"%\"\r\n }\r\n return value\r\n },\r\n _normalizeFormat: function(format) {\r\n if (!format) {\r\n return {}\r\n }\r\n if (\"function\" === typeof format) {\r\n return format\r\n }\r\n if (!isPlainObject(format)) {\r\n format = {\r\n type: format\r\n }\r\n }\r\n return format\r\n },\r\n _getSeparators: function() {\r\n return {\r\n decimalSeparator: this.getDecimalSeparator(),\r\n thousandsSeparator: this.getThousandsSeparator()\r\n }\r\n },\r\n getThousandsSeparator: function() {\r\n return this.format(1e4, \"fixedPoint\")[2]\r\n },\r\n getDecimalSeparator: function() {\r\n return this.format(1.2, {\r\n type: \"fixedPoint\",\r\n precision: 1\r\n })[1]\r\n },\r\n convertDigits: function(value, toStandard) {\r\n var digits = this.format(90, \"decimal\");\r\n if (\"string\" !== typeof value || \"0\" === digits[1]) {\r\n return value\r\n }\r\n var fromFirstDigit = toStandard ? digits[1] : \"0\";\r\n var toFirstDigit = toStandard ? \"0\" : digits[1];\r\n var fromLastDigit = toStandard ? digits[0] : \"9\";\r\n var regExp = new RegExp(\"[\" + fromFirstDigit + \"-\" + fromLastDigit + \"]\", \"g\");\r\n return value.replace(regExp, char => String.fromCharCode(char.charCodeAt(0) + (toFirstDigit.charCodeAt(0) - fromFirstDigit.charCodeAt(0))))\r\n },\r\n getNegativeEtalonRegExp: function(format) {\r\n var separators = this._getSeparators();\r\n var digitalRegExp = new RegExp(\"[0-9\" + escapeRegExp(separators.decimalSeparator + separators.thousandsSeparator) + \"]+\", \"g\");\r\n var negativeEtalon = this.format(-1, format).replace(digitalRegExp, \"1\");\r\n [\"\\\\\", \"(\", \")\", \"[\", \"]\", \"*\", \"+\", \"$\", \"^\", \"?\", \"|\", \"{\", \"}\"].forEach(char => {\r\n negativeEtalon = negativeEtalon.replace(new RegExp(\"\\\\\".concat(char), \"g\"), \"\\\\\".concat(char))\r\n });\r\n negativeEtalon = negativeEtalon.replace(/ /g, \"\\\\s\");\r\n negativeEtalon = negativeEtalon.replace(/1/g, \".*\");\r\n return new RegExp(negativeEtalon, \"g\")\r\n },\r\n getSign: function(text, format) {\r\n if (!format) {\r\n if (\"-\" === text.replace(/[^0-9-]/g, \"\").charAt(0)) {\r\n return -1\r\n }\r\n return 1\r\n }\r\n var negativeEtalon = this.getNegativeEtalonRegExp(format);\r\n return text.match(negativeEtalon) ? -1 : 1\r\n },\r\n format: function(value, _format) {\r\n if (\"number\" !== typeof value) {\r\n return value\r\n }\r\n if (\"number\" === typeof _format) {\r\n return value\r\n }\r\n _format = _format && _format.formatter || _format;\r\n if (\"function\" === typeof _format) {\r\n return _format(value)\r\n }\r\n _format = this._normalizeFormat(_format);\r\n if (!_format.type) {\r\n _format.type = \"decimal\"\r\n }\r\n var numberConfig = this._parseNumberFormatString(_format.type);\r\n if (!numberConfig) {\r\n var formatterConfig = this._getSeparators();\r\n formatterConfig.unlimitedIntegerDigits = _format.unlimitedIntegerDigits;\r\n return this.convertDigits(getFormatter(_format.type, formatterConfig)(value))\r\n }\r\n return this._formatNumber(value, numberConfig, _format)\r\n },\r\n parse: function(text, format) {\r\n if (!text) {\r\n return\r\n }\r\n if (format && format.parser) {\r\n return format.parser(text)\r\n }\r\n text = this.convertDigits(text, true);\r\n if (format && \"string\" !== typeof format) {\r\n errors.log(\"W0011\")\r\n }\r\n var decimalSeparator = this.getDecimalSeparator();\r\n var regExp = new RegExp(\"[^0-9\" + escapeRegExp(decimalSeparator) + \"]\", \"g\");\r\n var cleanedText = text.replace(regExp, \"\").replace(decimalSeparator, \".\").replace(/\\.$/g, \"\");\r\n if (\".\" === cleanedText || \"\" === cleanedText) {\r\n return null\r\n }\r\n if (this._calcSignificantDigits(cleanedText) > 15) {\r\n return NaN\r\n }\r\n var parsed = +cleanedText * this.getSign(text, format);\r\n format = this._normalizeFormat(format);\r\n var formatConfig = this._parseNumberFormatString(format.type);\r\n var power = null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.power;\r\n if (power) {\r\n if (\"auto\" === power) {\r\n var match = text.match(/\\d(K|M|B|T)/);\r\n if (match) {\r\n power = Object.keys(LargeNumberFormatPostfixes).find(power => LargeNumberFormatPostfixes[power] === match[1])\r\n }\r\n }\r\n parsed *= Math.pow(10, 3 * power)\r\n }\r\n if (\"percent\" === (null === formatConfig || void 0 === formatConfig ? void 0 : formatConfig.formatType)) {\r\n parsed /= 100\r\n }\r\n return parsed\r\n },\r\n _calcSignificantDigits: function(text) {\r\n var [integer, fractional] = text.split(\".\");\r\n var calcDigitsAfterLeadingZeros = digits => {\r\n var index = -1;\r\n for (var i = 0; i < digits.length; i++) {\r\n if (\"0\" !== digits[i]) {\r\n index = i;\r\n break\r\n }\r\n }\r\n return index > -1 ? digits.length - index : 0\r\n };\r\n var result = 0;\r\n if (integer) {\r\n result += calcDigitsAfterLeadingZeros(integer.split(\"\"))\r\n }\r\n if (fractional) {\r\n result += calcDigitsAfterLeadingZeros(fractional.split(\"\").reverse())\r\n }\r\n return result\r\n }\r\n});\r\nnumberLocalization.inject(currencyLocalization);\r\nif (hasIntl) {\r\n numberLocalization.inject(intlNumberLocalization)\r\n}\r\nexport default numberLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/first_day_of_week_data.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n \"af-NA\": 1,\r\n agq: 1,\r\n ak: 1,\r\n ar: 6,\r\n \"ar-EH\": 1,\r\n \"ar-ER\": 1,\r\n \"ar-KM\": 1,\r\n \"ar-LB\": 1,\r\n \"ar-MA\": 1,\r\n \"ar-MR\": 1,\r\n \"ar-PS\": 1,\r\n \"ar-SO\": 1,\r\n \"ar-SS\": 1,\r\n \"ar-TD\": 1,\r\n \"ar-TN\": 1,\r\n asa: 1,\r\n ast: 1,\r\n az: 1,\r\n \"az-Cyrl\": 1,\r\n bas: 1,\r\n be: 1,\r\n bem: 1,\r\n bez: 1,\r\n bg: 1,\r\n bm: 1,\r\n br: 1,\r\n bs: 1,\r\n \"bs-Cyrl\": 1,\r\n ca: 1,\r\n ce: 1,\r\n cgg: 1,\r\n ckb: 6,\r\n cs: 1,\r\n cy: 1,\r\n da: 1,\r\n de: 1,\r\n dje: 1,\r\n dsb: 1,\r\n dua: 1,\r\n dyo: 1,\r\n ee: 1,\r\n el: 1,\r\n \"en-001\": 1,\r\n \"en-AE\": 6,\r\n \"en-BI\": 1,\r\n \"en-MP\": 1,\r\n \"en-MV\": 5,\r\n \"en-SD\": 6,\r\n eo: 1,\r\n es: 1,\r\n et: 1,\r\n eu: 1,\r\n ewo: 1,\r\n fa: 6,\r\n ff: 1,\r\n \"ff-Adlm\": 1,\r\n fi: 1,\r\n fo: 1,\r\n fr: 1,\r\n \"fr-DJ\": 6,\r\n \"fr-DZ\": 6,\r\n \"fr-SY\": 6,\r\n fur: 1,\r\n fy: 1,\r\n ga: 1,\r\n gd: 1,\r\n gl: 1,\r\n gsw: 1,\r\n gv: 1,\r\n ha: 1,\r\n hr: 1,\r\n hsb: 1,\r\n hu: 1,\r\n hy: 1,\r\n ia: 1,\r\n ig: 1,\r\n is: 1,\r\n it: 1,\r\n jgo: 1,\r\n jmc: 1,\r\n ka: 1,\r\n kab: 6,\r\n kde: 1,\r\n kea: 1,\r\n khq: 1,\r\n kk: 1,\r\n kkj: 1,\r\n kl: 1,\r\n \"ko-KP\": 1,\r\n ksb: 1,\r\n ksf: 1,\r\n ksh: 1,\r\n ku: 1,\r\n kw: 1,\r\n ky: 1,\r\n lag: 1,\r\n lb: 1,\r\n lg: 1,\r\n ln: 1,\r\n lrc: 6,\r\n lt: 1,\r\n lu: 1,\r\n lv: 1,\r\n \"mas-TZ\": 1,\r\n mfe: 1,\r\n mg: 1,\r\n mgo: 1,\r\n mi: 1,\r\n mk: 1,\r\n mn: 1,\r\n ms: 1,\r\n mua: 1,\r\n mzn: 6,\r\n naq: 1,\r\n nds: 1,\r\n nl: 1,\r\n nmg: 1,\r\n nnh: 1,\r\n no: 1,\r\n nus: 1,\r\n nyn: 1,\r\n os: 1,\r\n pcm: 1,\r\n pl: 1,\r\n ps: 6,\r\n \"pt-AO\": 1,\r\n \"pt-CH\": 1,\r\n \"pt-CV\": 1,\r\n \"pt-GQ\": 1,\r\n \"pt-GW\": 1,\r\n \"pt-LU\": 1,\r\n \"pt-ST\": 1,\r\n \"pt-TL\": 1,\r\n \"qu-BO\": 1,\r\n \"qu-EC\": 1,\r\n rm: 1,\r\n rn: 1,\r\n ro: 1,\r\n rof: 1,\r\n ru: 1,\r\n rw: 1,\r\n rwk: 1,\r\n sah: 1,\r\n sbp: 1,\r\n sc: 1,\r\n se: 1,\r\n ses: 1,\r\n sg: 1,\r\n shi: 1,\r\n \"shi-Latn\": 1,\r\n si: 1,\r\n sk: 1,\r\n sl: 1,\r\n smn: 1,\r\n so: 1,\r\n \"so-DJ\": 6,\r\n sq: 1,\r\n sr: 1,\r\n \"sr-Latn\": 1,\r\n sv: 1,\r\n sw: 1,\r\n \"ta-LK\": 1,\r\n \"ta-MY\": 1,\r\n teo: 1,\r\n tg: 1,\r\n \"ti-ER\": 1,\r\n tk: 1,\r\n to: 1,\r\n tr: 1,\r\n tt: 1,\r\n twq: 1,\r\n tzm: 1,\r\n uk: 1,\r\n uz: 1,\r\n \"uz-Arab\": 6,\r\n \"uz-Cyrl\": 1,\r\n vai: 1,\r\n \"vai-Latn\": 1,\r\n vi: 1,\r\n vun: 1,\r\n wae: 1,\r\n wo: 1,\r\n xog: 1,\r\n yav: 1,\r\n yi: 1,\r\n yo: 1,\r\n zgh: 1\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/intl/date.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport localizationCoreUtils from \"../core\";\r\nvar SYMBOLS_TO_REMOVE_REGEX = /[\\u200E\\u200F]/g;\r\nvar NARROW_NO_BREAK_SPACE_REGEX = /[\\u202F]/g;\r\nvar getIntlFormatter = format => date => {\r\n if (!format.timeZoneName) {\r\n var year = date.getFullYear();\r\n var recognizableAsTwentyCentury = String(year).length < 3;\r\n var temporaryYearValue = recognizableAsTwentyCentury ? year + 400 : year;\r\n var utcDate = new Date(Date.UTC(temporaryYearValue, date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\r\n if (recognizableAsTwentyCentury) {\r\n utcDate.setFullYear(year)\r\n }\r\n var utcFormat = extend({\r\n timeZone: \"UTC\"\r\n }, format);\r\n return formatDateTime(utcDate, utcFormat)\r\n }\r\n return formatDateTime(date, format)\r\n};\r\nvar formattersCache = {};\r\nvar getFormatter = format => {\r\n var key = localizationCoreUtils.locale() + \"/\" + JSON.stringify(format);\r\n if (!formattersCache[key]) {\r\n formattersCache[key] = new Intl.DateTimeFormat(localizationCoreUtils.locale(), format).format\r\n }\r\n return formattersCache[key]\r\n};\r\n\r\nfunction formatDateTime(date, format) {\r\n return getFormatter(format)(date).replace(SYMBOLS_TO_REMOVE_REGEX, \"\").replace(NARROW_NO_BREAK_SPACE_REGEX, \" \")\r\n}\r\nvar formatNumber = number => new Intl.NumberFormat(localizationCoreUtils.locale()).format(number);\r\nvar getAlternativeNumeralsMap = (() => {\r\n var numeralsMapCache = {};\r\n return locale => {\r\n if (!(locale in numeralsMapCache)) {\r\n if (\"0\" === formatNumber(0)) {\r\n numeralsMapCache[locale] = false;\r\n return false\r\n }\r\n numeralsMapCache[locale] = {};\r\n for (var i = 0; i < 10; ++i) {\r\n numeralsMapCache[locale][formatNumber(i)] = i\r\n }\r\n }\r\n return numeralsMapCache[locale]\r\n }\r\n})();\r\nvar normalizeNumerals = dateString => {\r\n var alternativeNumeralsMap = getAlternativeNumeralsMap(localizationCoreUtils.locale());\r\n if (!alternativeNumeralsMap) {\r\n return dateString\r\n }\r\n return dateString.split(\"\").map(sign => sign in alternativeNumeralsMap ? String(alternativeNumeralsMap[sign]) : sign).join(\"\")\r\n};\r\nvar removeLeadingZeroes = str => str.replace(/(\\D)0+(\\d)/g, \"$1$2\");\r\nvar dateStringEquals = (actual, expected) => removeLeadingZeroes(actual) === removeLeadingZeroes(expected);\r\nvar normalizeMonth = text => text.replace(\"d\\u2019\", \"de \");\r\nvar intlFormats = {\r\n day: {\r\n day: \"numeric\"\r\n },\r\n dayofweek: {\r\n weekday: \"long\"\r\n },\r\n longdate: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n longdatelongtime: {\r\n weekday: \"long\",\r\n year: \"numeric\",\r\n month: \"long\",\r\n day: \"numeric\",\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n longtime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n second: \"numeric\"\r\n },\r\n month: {\r\n month: \"long\"\r\n },\r\n monthandday: {\r\n month: \"long\",\r\n day: \"numeric\"\r\n },\r\n monthandyear: {\r\n year: \"numeric\",\r\n month: \"long\"\r\n },\r\n shortdate: {},\r\n shorttime: {\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n },\r\n shortyear: {\r\n year: \"2-digit\"\r\n },\r\n year: {\r\n year: \"numeric\"\r\n }\r\n};\r\nObject.defineProperty(intlFormats, \"shortdateshorttime\", {\r\n get: function() {\r\n var defaultOptions = Intl.DateTimeFormat(localizationCoreUtils.locale()).resolvedOptions();\r\n return {\r\n year: defaultOptions.year,\r\n month: defaultOptions.month,\r\n day: defaultOptions.day,\r\n hour: \"numeric\",\r\n minute: \"numeric\"\r\n }\r\n }\r\n});\r\nvar getIntlFormat = format => \"string\" === typeof format && intlFormats[format.toLowerCase()];\r\nvar monthNameStrategies = {\r\n standalone: function(monthIndex, monthFormat) {\r\n var date = new Date(1999, monthIndex, 13, 1);\r\n var dateString = getIntlFormatter({\r\n month: monthFormat\r\n })(date);\r\n return dateString\r\n },\r\n format: function(monthIndex, monthFormat) {\r\n var date = new Date(0, monthIndex, 13, 1);\r\n var dateString = normalizeMonth(getIntlFormatter({\r\n day: \"numeric\",\r\n month: monthFormat\r\n })(date));\r\n var parts = dateString.split(\" \").filter(part => part.indexOf(\"13\") < 0);\r\n if (1 === parts.length) {\r\n return parts[0]\r\n } else if (2 === parts.length) {\r\n return parts[0].length > parts[1].length ? parts[0] : parts[1]\r\n }\r\n return monthNameStrategies.standalone(monthIndex, monthFormat)\r\n }\r\n};\r\nexport default {\r\n engine: function() {\r\n return \"intl\"\r\n },\r\n getMonthNames: function(format, type) {\r\n var monthFormat = {\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"];\r\n type = \"format\" === type ? type : \"standalone\";\r\n return Array.apply(null, new Array(12)).map((_, monthIndex) => monthNameStrategies[type](monthIndex, monthFormat))\r\n },\r\n getDayNames: function(format) {\r\n var result = (format => Array.apply(null, new Array(7)).map((_, dayIndex) => getIntlFormatter({\r\n weekday: format\r\n })(new Date(0, 0, dayIndex))))({\r\n wide: \"long\",\r\n abbreviated: \"short\",\r\n short: \"narrow\",\r\n narrow: \"narrow\"\r\n } [format || \"wide\"]);\r\n return result\r\n },\r\n getPeriodNames: function() {\r\n var hour12Formatter = getIntlFormatter({\r\n hour: \"numeric\",\r\n hour12: true\r\n });\r\n return [1, 13].map(hours => {\r\n var hourNumberText = formatNumber(1);\r\n var timeParts = hour12Formatter(new Date(0, 0, 1, hours)).split(hourNumberText);\r\n if (2 !== timeParts.length) {\r\n return \"\"\r\n }\r\n var biggerPart = timeParts[0].length > timeParts[1].length ? timeParts[0] : timeParts[1];\r\n return biggerPart.trim()\r\n })\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n if (\"function\" !== typeof _format && !_format.formatter) {\r\n _format = _format.type || _format\r\n }\r\n var intlFormat = getIntlFormat(_format);\r\n if (intlFormat) {\r\n return getIntlFormatter(intlFormat)(date)\r\n }\r\n var formatType = typeof _format;\r\n if (_format.formatter || \"function\" === formatType || \"string\" === formatType) {\r\n return this.callBase.apply(this, arguments)\r\n }\r\n return getIntlFormatter(_format)(date)\r\n },\r\n parse: function(dateString, format) {\r\n var formatter;\r\n if (format && !format.parser && \"string\" === typeof dateString) {\r\n dateString = normalizeMonth(dateString);\r\n formatter = date => normalizeMonth(this.format(date, format))\r\n }\r\n return this.callBase(dateString, formatter || format)\r\n },\r\n _parseDateBySimpleFormat: function(dateString, format) {\r\n dateString = normalizeNumerals(dateString);\r\n var formatParts = this.getFormatParts(format);\r\n var dateParts = dateString.split(/\\D+/).filter(part => part.length > 0);\r\n if (formatParts.length !== dateParts.length) {\r\n return\r\n }\r\n var dateArgs = this._generateDateArgs(formatParts, dateParts);\r\n var constructValidDate = ampmShift => {\r\n var parsedDate = ((dateArgs, ampmShift) => {\r\n var hoursShift = ampmShift ? 12 : 0;\r\n return new Date(dateArgs.year, dateArgs.month, dateArgs.day, (dateArgs.hours + hoursShift) % 24, dateArgs.minutes, dateArgs.seconds)\r\n })(dateArgs, ampmShift);\r\n if (dateStringEquals(normalizeNumerals(this.format(parsedDate, format)), dateString)) {\r\n return parsedDate\r\n }\r\n };\r\n return constructValidDate(false) || constructValidDate(true)\r\n },\r\n _generateDateArgs: function(formatParts, dateParts) {\r\n var currentDate = new Date;\r\n var dateArgs = {\r\n year: currentDate.getFullYear(),\r\n month: currentDate.getMonth(),\r\n day: currentDate.getDate(),\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0\r\n };\r\n formatParts.forEach((formatPart, index) => {\r\n var datePart = dateParts[index];\r\n var parsed = parseInt(datePart, 10);\r\n if (\"month\" === formatPart) {\r\n parsed -= 1\r\n }\r\n dateArgs[formatPart] = parsed\r\n });\r\n return dateArgs\r\n },\r\n formatUsesMonthName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.month\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n formatUsesDayName: function(format) {\r\n if (\"object\" === typeof format && !(format.type || format.format)) {\r\n return \"long\" === format.weekday\r\n }\r\n return this.callBase.apply(this, arguments)\r\n },\r\n getTimeSeparator: function() {\r\n return normalizeNumerals(formatDateTime(new Date(2001, 1, 1, 11, 11), {\r\n hour: \"numeric\",\r\n minute: \"numeric\",\r\n hour12: false\r\n })).replace(/\\d/g, \"\")\r\n },\r\n getFormatParts: function(format) {\r\n if (\"string\" === typeof format) {\r\n return this.callBase(format)\r\n }\r\n var intlFormat = extend({}, intlFormats[format.toLowerCase()]);\r\n var date = new Date(2001, 2, 4, 5, 6, 7);\r\n var formattedDate = getIntlFormatter(intlFormat)(date);\r\n formattedDate = normalizeNumerals(formattedDate);\r\n return [{\r\n name: \"year\",\r\n value: 1\r\n }, {\r\n name: \"month\",\r\n value: 3\r\n }, {\r\n name: \"day\",\r\n value: 4\r\n }, {\r\n name: \"hours\",\r\n value: 5\r\n }, {\r\n name: \"minutes\",\r\n value: 6\r\n }, {\r\n name: \"seconds\",\r\n value: 7\r\n }].map(part => ({\r\n name: part.name,\r\n index: formattedDate.indexOf(part.value)\r\n })).filter(part => part.index > -1).sort((a, b) => a.index - b.index).map(part => part.name)\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/date.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport {\r\n isString\r\n} from \"../core/utils/type\";\r\nimport {\r\n each\r\n} from \"../core/utils/iterator\";\r\nimport errors from \"../core/errors\";\r\nimport {\r\n getFormatter as getLDMLDateFormatter\r\n} from \"./ldml/date.formatter\";\r\nimport {\r\n getFormat as getLDMLDateFormat\r\n} from \"./ldml/date.format\";\r\nimport {\r\n getParser as getLDMLDateParser\r\n} from \"./ldml/date.parser\";\r\nimport defaultDateNames from \"./default_date_names\";\r\nimport firstDayOfWeekData from \"./cldr-data/first_day_of_week_data\";\r\nimport localizationCore from \"./core\";\r\nimport numberLocalization from \"./number\";\r\nimport intlDateLocalization from \"./intl/date\";\r\nvar DEFAULT_DAY_OF_WEEK_INDEX = 0;\r\nvar hasIntl = \"undefined\" !== typeof Intl;\r\nvar FORMATS_TO_PATTERN_MAP = {\r\n shortdate: \"M/d/y\",\r\n shorttime: \"h:mm a\",\r\n longdate: \"EEEE, MMMM d, y\",\r\n longtime: \"h:mm:ss a\",\r\n monthandday: \"MMMM d\",\r\n monthandyear: \"MMMM y\",\r\n quarterandyear: \"QQQ y\",\r\n day: \"d\",\r\n year: \"y\",\r\n shortdateshorttime: \"M/d/y, h:mm a\",\r\n longdatelongtime: \"EEEE, MMMM d, y, h:mm:ss a\",\r\n month: \"LLLL\",\r\n shortyear: \"yy\",\r\n dayofweek: \"EEEE\",\r\n quarter: \"QQQ\",\r\n hour: \"HH\",\r\n minute: \"mm\",\r\n second: \"ss\",\r\n millisecond: \"SSS\",\r\n \"datetime-local\": \"yyyy-MM-ddTHH':'mm':'ss\"\r\n};\r\nvar possiblePartPatterns = {\r\n year: [\"y\", \"yy\", \"yyyy\"],\r\n day: [\"d\", \"dd\"],\r\n month: [\"M\", \"MM\", \"MMM\", \"MMMM\"],\r\n hours: [\"H\", \"HH\", \"h\", \"hh\", \"ah\"],\r\n minutes: [\"m\", \"mm\"],\r\n seconds: [\"s\", \"ss\"],\r\n milliseconds: [\"S\", \"SS\", \"SSS\"]\r\n};\r\nvar dateLocalization = dependencyInjector({\r\n engine: function() {\r\n return \"base\"\r\n },\r\n _getPatternByFormat: function(format) {\r\n return FORMATS_TO_PATTERN_MAP[format.toLowerCase()]\r\n },\r\n _expandPattern: function(pattern) {\r\n return this._getPatternByFormat(pattern) || pattern\r\n },\r\n formatUsesMonthName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"MMMM\")\r\n },\r\n formatUsesDayName: function(format) {\r\n return -1 !== this._expandPattern(format).indexOf(\"EEEE\")\r\n },\r\n getFormatParts: function(format) {\r\n var pattern = this._getPatternByFormat(format) || format;\r\n var result = [];\r\n each(pattern.split(/\\W+/), (_, formatPart) => {\r\n each(possiblePartPatterns, (partName, possiblePatterns) => {\r\n if (possiblePatterns.includes(formatPart)) {\r\n result.push(partName)\r\n }\r\n })\r\n });\r\n return result\r\n },\r\n getMonthNames: function(format) {\r\n return defaultDateNames.getMonthNames(format)\r\n },\r\n getDayNames: function(format) {\r\n return defaultDateNames.getDayNames(format)\r\n },\r\n getQuarterNames: function(format) {\r\n return defaultDateNames.getQuarterNames(format)\r\n },\r\n getPeriodNames: function(format) {\r\n return defaultDateNames.getPeriodNames(format)\r\n },\r\n getTimeSeparator: function() {\r\n return \":\"\r\n },\r\n is24HourFormat: function(format) {\r\n var amTime = new Date(2017, 0, 20, 11, 0, 0, 0);\r\n var pmTime = new Date(2017, 0, 20, 23, 0, 0, 0);\r\n var amTimeFormatted = this.format(amTime, format);\r\n var pmTimeFormatted = this.format(pmTime, format);\r\n for (var i = 0; i < amTimeFormatted.length; i++) {\r\n if (amTimeFormatted[i] !== pmTimeFormatted[i]) {\r\n return !isNaN(parseInt(amTimeFormatted[i]))\r\n }\r\n }\r\n },\r\n format: function(date, _format) {\r\n if (!date) {\r\n return\r\n }\r\n if (!_format) {\r\n return date\r\n }\r\n var formatter;\r\n if (\"function\" === typeof _format) {\r\n formatter = _format\r\n } else if (_format.formatter) {\r\n formatter = _format.formatter\r\n } else {\r\n _format = _format.type || _format;\r\n if (isString(_format)) {\r\n _format = FORMATS_TO_PATTERN_MAP[_format.toLowerCase()] || _format;\r\n return numberLocalization.convertDigits(getLDMLDateFormatter(_format, this)(date))\r\n }\r\n }\r\n if (!formatter) {\r\n return\r\n }\r\n return formatter(date)\r\n },\r\n parse: function(text, format) {\r\n var that = this;\r\n var ldmlFormat;\r\n var formatter;\r\n if (!text) {\r\n return\r\n }\r\n if (!format) {\r\n return this.parse(text, \"shortdate\")\r\n }\r\n if (format.parser) {\r\n return format.parser(text)\r\n }\r\n if (\"string\" === typeof format && !FORMATS_TO_PATTERN_MAP[format.toLowerCase()]) {\r\n ldmlFormat = format\r\n } else {\r\n formatter = value => {\r\n var text = that.format(value, format);\r\n return numberLocalization.convertDigits(text, true)\r\n };\r\n try {\r\n ldmlFormat = getLDMLDateFormat(formatter)\r\n } catch (e) {}\r\n }\r\n if (ldmlFormat) {\r\n text = numberLocalization.convertDigits(text, true);\r\n return getLDMLDateParser(ldmlFormat, this)(text)\r\n }\r\n errors.log(\"W0012\");\r\n var result = new Date(text);\r\n if (!result || isNaN(result.getTime())) {\r\n return\r\n }\r\n return result\r\n },\r\n firstDayOfWeekIndex: function() {\r\n var index = localizationCore.getValueByClosestLocale(locale => firstDayOfWeekData[locale]);\r\n return void 0 === index ? DEFAULT_DAY_OF_WEEK_INDEX : index\r\n }\r\n});\r\nif (hasIntl) {\r\n dateLocalization.inject(intlDateLocalization)\r\n}\r\nexport default dateLocalization;\r\n","/**\r\n * DevExtreme (esm/localization/cldr-data/parent_locales.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\n// !!! AUTO-GENERATED FILE, DO NOT EDIT\r\nexport default {\r\n \"en-150\": \"en-001\",\r\n \"en-AG\": \"en-001\",\r\n \"en-AI\": \"en-001\",\r\n \"en-AU\": \"en-001\",\r\n \"en-BB\": \"en-001\",\r\n \"en-BM\": \"en-001\",\r\n \"en-BS\": \"en-001\",\r\n \"en-BW\": \"en-001\",\r\n \"en-BZ\": \"en-001\",\r\n \"en-CC\": \"en-001\",\r\n \"en-CK\": \"en-001\",\r\n \"en-CM\": \"en-001\",\r\n \"en-CX\": \"en-001\",\r\n \"en-CY\": \"en-001\",\r\n \"en-DG\": \"en-001\",\r\n \"en-DM\": \"en-001\",\r\n \"en-ER\": \"en-001\",\r\n \"en-FJ\": \"en-001\",\r\n \"en-FK\": \"en-001\",\r\n \"en-FM\": \"en-001\",\r\n \"en-GB\": \"en-001\",\r\n \"en-GD\": \"en-001\",\r\n \"en-GG\": \"en-001\",\r\n \"en-GH\": \"en-001\",\r\n \"en-GI\": \"en-001\",\r\n \"en-GM\": \"en-001\",\r\n \"en-GY\": \"en-001\",\r\n \"en-HK\": \"en-001\",\r\n \"en-IE\": \"en-001\",\r\n \"en-IL\": \"en-001\",\r\n \"en-IM\": \"en-001\",\r\n \"en-IN\": \"en-001\",\r\n \"en-IO\": \"en-001\",\r\n \"en-JE\": \"en-001\",\r\n \"en-JM\": \"en-001\",\r\n \"en-KE\": \"en-001\",\r\n \"en-KI\": \"en-001\",\r\n \"en-KN\": \"en-001\",\r\n \"en-KY\": \"en-001\",\r\n \"en-LC\": \"en-001\",\r\n \"en-LR\": \"en-001\",\r\n \"en-LS\": \"en-001\",\r\n \"en-MG\": \"en-001\",\r\n \"en-MO\": \"en-001\",\r\n \"en-MS\": \"en-001\",\r\n \"en-MT\": \"en-001\",\r\n \"en-MU\": \"en-001\",\r\n \"en-MV\": \"en-001\",\r\n \"en-MW\": \"en-001\",\r\n \"en-MY\": \"en-001\",\r\n \"en-NA\": \"en-001\",\r\n \"en-NF\": \"en-001\",\r\n \"en-NG\": \"en-001\",\r\n \"en-NR\": \"en-001\",\r\n \"en-NU\": \"en-001\",\r\n \"en-NZ\": \"en-001\",\r\n \"en-PG\": \"en-001\",\r\n \"en-PK\": \"en-001\",\r\n \"en-PN\": \"en-001\",\r\n \"en-PW\": \"en-001\",\r\n \"en-RW\": \"en-001\",\r\n \"en-SB\": \"en-001\",\r\n \"en-SC\": \"en-001\",\r\n \"en-SD\": \"en-001\",\r\n \"en-SG\": \"en-001\",\r\n \"en-SH\": \"en-001\",\r\n \"en-SL\": \"en-001\",\r\n \"en-SS\": \"en-001\",\r\n \"en-SX\": \"en-001\",\r\n \"en-SZ\": \"en-001\",\r\n \"en-TC\": \"en-001\",\r\n \"en-TK\": \"en-001\",\r\n \"en-TO\": \"en-001\",\r\n \"en-TT\": \"en-001\",\r\n \"en-TV\": \"en-001\",\r\n \"en-TZ\": \"en-001\",\r\n \"en-UG\": \"en-001\",\r\n \"en-VC\": \"en-001\",\r\n \"en-VG\": \"en-001\",\r\n \"en-VU\": \"en-001\",\r\n \"en-WS\": \"en-001\",\r\n \"en-ZA\": \"en-001\",\r\n \"en-ZM\": \"en-001\",\r\n \"en-ZW\": \"en-001\",\r\n \"en-AT\": \"en-150\",\r\n \"en-BE\": \"en-150\",\r\n \"en-CH\": \"en-150\",\r\n \"en-DE\": \"en-150\",\r\n \"en-DK\": \"en-150\",\r\n \"en-FI\": \"en-150\",\r\n \"en-NL\": \"en-150\",\r\n \"en-SE\": \"en-150\",\r\n \"en-SI\": \"en-150\",\r\n \"hi-Latn\": \"en-IN\",\r\n \"es-AR\": \"es-419\",\r\n \"es-BO\": \"es-419\",\r\n \"es-BR\": \"es-419\",\r\n \"es-BZ\": \"es-419\",\r\n \"es-CL\": \"es-419\",\r\n \"es-CO\": \"es-419\",\r\n \"es-CR\": \"es-419\",\r\n \"es-CU\": \"es-419\",\r\n \"es-DO\": \"es-419\",\r\n \"es-EC\": \"es-419\",\r\n \"es-GT\": \"es-419\",\r\n \"es-HN\": \"es-419\",\r\n \"es-MX\": \"es-419\",\r\n \"es-NI\": \"es-419\",\r\n \"es-PA\": \"es-419\",\r\n \"es-PE\": \"es-419\",\r\n \"es-PR\": \"es-419\",\r\n \"es-PY\": \"es-419\",\r\n \"es-SV\": \"es-419\",\r\n \"es-US\": \"es-419\",\r\n \"es-UY\": \"es-419\",\r\n \"es-VE\": \"es-419\",\r\n nb: \"no\",\r\n nn: \"no\",\r\n \"pt-AO\": \"pt-PT\",\r\n \"pt-CH\": \"pt-PT\",\r\n \"pt-CV\": \"pt-PT\",\r\n \"pt-FR\": \"pt-PT\",\r\n \"pt-GQ\": \"pt-PT\",\r\n \"pt-GW\": \"pt-PT\",\r\n \"pt-LU\": \"pt-PT\",\r\n \"pt-MO\": \"pt-PT\",\r\n \"pt-MZ\": \"pt-PT\",\r\n \"pt-ST\": \"pt-PT\",\r\n \"pt-TL\": \"pt-PT\",\r\n \"az-Arab\": \"und\",\r\n \"az-Cyrl\": \"und\",\r\n \"bal-Latn\": \"und\",\r\n \"blt-Latn\": \"und\",\r\n \"bm-Nkoo\": \"und\",\r\n \"bs-Cyrl\": \"und\",\r\n \"byn-Latn\": \"und\",\r\n \"cu-Glag\": \"und\",\r\n \"dje-Arab\": \"und\",\r\n \"dyo-Arab\": \"und\",\r\n \"en-Dsrt\": \"und\",\r\n \"en-Shaw\": \"und\",\r\n \"ff-Adlm\": \"und\",\r\n \"ff-Arab\": \"und\",\r\n \"ha-Arab\": \"und\",\r\n \"iu-Latn\": \"und\",\r\n \"kk-Arab\": \"und\",\r\n \"ks-Deva\": \"und\",\r\n \"ku-Arab\": \"und\",\r\n \"ky-Arab\": \"und\",\r\n \"ky-Latn\": \"und\",\r\n \"ml-Arab\": \"und\",\r\n \"mn-Mong\": \"und\",\r\n \"mni-Mtei\": \"und\",\r\n \"ms-Arab\": \"und\",\r\n \"pa-Arab\": \"und\",\r\n \"sat-Deva\": \"und\",\r\n \"sd-Deva\": \"und\",\r\n \"sd-Khoj\": \"und\",\r\n \"sd-Sind\": \"und\",\r\n \"shi-Latn\": \"und\",\r\n \"so-Arab\": \"und\",\r\n \"sr-Latn\": \"und\",\r\n \"sw-Arab\": \"und\",\r\n \"tg-Arab\": \"und\",\r\n \"ug-Cyrl\": \"und\",\r\n \"uz-Arab\": \"und\",\r\n \"uz-Cyrl\": \"und\",\r\n \"vai-Latn\": \"und\",\r\n \"wo-Arab\": \"und\",\r\n \"yo-Arab\": \"und\",\r\n \"yue-Hans\": \"und\",\r\n \"zh-Hant\": \"und\",\r\n \"zh-Hant-MO\": \"zh-Hant-HK\"\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/parentLocale.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nvar PARENT_LOCALE_SEPARATOR = \"-\";\r\nexport default (parentLocales, locale) => {\r\n var parentLocale = parentLocales[locale];\r\n if (parentLocale) {\r\n return \"root\" !== parentLocale && parentLocale\r\n }\r\n return locale.substr(0, locale.lastIndexOf(PARENT_LOCALE_SEPARATOR))\r\n};\r\n","/**\r\n * DevExtreme (esm/localization/core.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport dependencyInjector from \"../core/utils/dependency_injector\";\r\nimport parentLocales from \"./cldr-data/parent_locales\";\r\nimport getParentLocale from \"./parentLocale\";\r\nvar DEFAULT_LOCALE = \"en\";\r\nexport default dependencyInjector({\r\n locale: (() => {\r\n var currentLocale = DEFAULT_LOCALE;\r\n return locale => {\r\n if (!locale) {\r\n return currentLocale\r\n }\r\n currentLocale = locale\r\n }\r\n })(),\r\n getValueByClosestLocale: function(getter) {\r\n var locale = this.locale();\r\n var value = getter(locale);\r\n var isRootLocale;\r\n while (!value && !isRootLocale) {\r\n locale = getParentLocale(parentLocales, locale);\r\n if (locale) {\r\n value = getter(locale)\r\n } else {\r\n isRootLocale = true\r\n }\r\n }\r\n if (void 0 === value && locale !== DEFAULT_LOCALE) {\r\n return getter(DEFAULT_LOCALE)\r\n }\r\n return value\r\n }\r\n});\r\n","/**\r\n * DevExtreme (esm/events/visibility_change.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../core/renderer\";\r\nimport eventsEngine from \"./core/events_engine\";\r\nvar triggerVisibilityChangeEvent = function(eventName) {\r\n return function(element) {\r\n var $element = $(element || \"body\");\r\n var changeHandlers = $element.filter(\".dx-visibility-change-handler\").add($element.find(\".dx-visibility-change-handler\"));\r\n for (var i = 0; i < changeHandlers.length; i++) {\r\n eventsEngine.triggerHandler(changeHandlers[i], eventName)\r\n }\r\n }\r\n};\r\nexport var triggerShownEvent = triggerVisibilityChangeEvent(\"dxshown\");\r\nexport var triggerHidingEvent = triggerVisibilityChangeEvent(\"dxhiding\");\r\nexport var triggerResizeEvent = triggerVisibilityChangeEvent(\"dxresize\");\r\n","/**\r\n * DevExtreme (esm/core/utils/html_parser.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nvar isTagName = /<([a-z][^/\\0>\\x20\\t\\r\\n\\f]+)/i;\r\nvar tagWrappers = {\r\n default: {\r\n tagsCount: 0,\r\n startTags: \"\",\r\n endTags: \"\"\r\n },\r\n thead: {\r\n tagsCount: 1,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n td: {\r\n tagsCount: 3,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n col: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n },\r\n tr: {\r\n tagsCount: 2,\r\n startTags: \"\",\r\n endTags: \"
\"\r\n }\r\n};\r\ntagWrappers.tbody = tagWrappers.colgroup = tagWrappers.caption = tagWrappers.tfoot = tagWrappers.thead;\r\ntagWrappers.th = tagWrappers.td;\r\nexport var parseHTML = function(html) {\r\n if (\"string\" !== typeof html) {\r\n return null\r\n }\r\n var fragment = domAdapter.createDocumentFragment();\r\n var container = fragment.appendChild(domAdapter.createElement(\"div\"));\r\n var tags = isTagName.exec(html);\r\n var firstRootTag = tags && tags[1].toLowerCase();\r\n var tagWrapper = tagWrappers[firstRootTag] || tagWrappers.default;\r\n container.innerHTML = tagWrapper.startTags + html + tagWrapper.endTags;\r\n for (var i = 0; i < tagWrapper.tagsCount; i++) {\r\n container = container.lastChild\r\n }\r\n return [...container.childNodes]\r\n};\r\nexport var isTablePart = function(html) {\r\n var tags = isTagName.exec(html);\r\n return tags && tags[1] in tagWrappers\r\n};\r\n","/**\r\n * DevExtreme (esm/core/utils/support.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport domAdapter from \"../dom_adapter\";\r\nimport callOnce from \"./call_once\";\r\nimport {\r\n getNavigator,\r\n hasProperty\r\n} from \"./window\";\r\nimport devices from \"../devices\";\r\nimport {\r\n stylePropPrefix,\r\n styleProp\r\n} from \"./style\";\r\nvar {\r\n maxTouchPoints: maxTouchPoints\r\n} = getNavigator();\r\nvar transitionEndEventNames = {\r\n webkitTransition: \"webkitTransitionEnd\",\r\n MozTransition: \"transitionend\",\r\n OTransition: \"oTransitionEnd\",\r\n transition: \"transitionend\"\r\n};\r\nvar supportProp = function(prop) {\r\n return !!styleProp(prop)\r\n};\r\nvar isNativeScrollingSupported = function() {\r\n var {\r\n platform: platform,\r\n mac: isMac\r\n } = devices.real();\r\n var isNativeScrollDevice = \"ios\" === platform || \"android\" === platform || isMac;\r\n return isNativeScrollDevice\r\n};\r\nvar inputType = function(type) {\r\n if (\"text\" === type) {\r\n return true\r\n }\r\n var input = domAdapter.createElement(\"input\");\r\n try {\r\n input.setAttribute(\"type\", type);\r\n input.value = \"wrongValue\";\r\n return !input.value\r\n } catch (e) {\r\n return false\r\n }\r\n};\r\nvar detectTouchEvents = function(hasWindowProperty, maxTouchPoints) {\r\n return (hasWindowProperty(\"ontouchstart\") || !!maxTouchPoints) && !hasWindowProperty(\"callPhantom\")\r\n};\r\nvar detectPointerEvent = function(hasWindowProperty) {\r\n return hasWindowProperty(\"PointerEvent\")\r\n};\r\nvar touchEvents = detectTouchEvents(hasProperty, maxTouchPoints);\r\nvar pointerEvents = detectPointerEvent(hasProperty);\r\nvar touchPointersPresent = !!maxTouchPoints;\r\nexport {\r\n touchEvents,\r\n pointerEvents,\r\n styleProp,\r\n stylePropPrefix,\r\n supportProp,\r\n inputType\r\n};\r\nexport var touch = touchEvents || pointerEvents && touchPointersPresent;\r\nexport var transition = callOnce((function() {\r\n return supportProp(\"transition\")\r\n}));\r\nexport var transitionEndEventName = callOnce((function() {\r\n return transitionEndEventNames[styleProp(\"transition\")]\r\n}));\r\nexport var animation = callOnce((function() {\r\n return supportProp(\"animation\")\r\n}));\r\nexport var nativeScrolling = isNativeScrollingSupported();\r\n","/**\r\n * DevExtreme (esm/data/data_source/utils.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\r\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\r\nvar _excluded = [\"items\"];\r\nimport ajaxUtils from \"../../core/utils/ajax\";\r\nimport Store from \"../abstract_store\";\r\nimport ArrayStore from \"../array_store\";\r\nimport {\r\n each,\r\n map\r\n} from \"../../core/utils/iterator\";\r\nimport CustomStore from \"../custom_store\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isPlainObject\r\n} from \"../../core/utils/type\";\r\nimport {\r\n normalizeSortingInfo\r\n} from \"../utils\";\r\nexport var CANCELED_TOKEN = \"canceled\";\r\nexport var isPending = deferred => \"pending\" === deferred.state();\r\nexport var normalizeStoreLoadOptionAccessorArguments = originalArguments => {\r\n switch (originalArguments.length) {\r\n case 0:\r\n return;\r\n case 1:\r\n return originalArguments[0]\r\n }\r\n return [].slice.call(originalArguments)\r\n};\r\nvar mapGroup = (group, level, mapper) => map(group, item => {\r\n var restItem = _objectWithoutPropertiesLoose(item, _excluded);\r\n return _extends({}, restItem, {\r\n items: mapRecursive(item.items, level - 1, mapper)\r\n })\r\n});\r\nvar mapRecursive = (items, level, mapper) => {\r\n if (!Array.isArray(items)) {\r\n return items\r\n }\r\n return level ? mapGroup(items, level, mapper) : map(items, mapper)\r\n};\r\nexport var mapDataRespectingGrouping = (items, mapper, groupInfo) => {\r\n var level = groupInfo ? normalizeSortingInfo(groupInfo).length : 0;\r\n return mapRecursive(items, level, mapper)\r\n};\r\nexport var normalizeLoadResult = (data, extra) => {\r\n var _data;\r\n if (null !== (_data = data) && void 0 !== _data && _data.data) {\r\n extra = data;\r\n data = data.data\r\n }\r\n if (!Array.isArray(data)) {\r\n data = [data]\r\n }\r\n return {\r\n data: data,\r\n extra: extra\r\n }\r\n};\r\nvar createCustomStoreFromLoadFunc = options => {\r\n var storeConfig = {};\r\n each([\"useDefaultSearch\", \"key\", \"load\", \"loadMode\", \"cacheRawData\", \"byKey\", \"lookup\", \"totalCount\", \"insert\", \"update\", \"remove\"], (function() {\r\n storeConfig[this] = options[this];\r\n delete options[this]\r\n }));\r\n return new CustomStore(storeConfig)\r\n};\r\nvar createStoreFromConfig = storeConfig => {\r\n var alias = storeConfig.type;\r\n delete storeConfig.type;\r\n return Store.create(alias, storeConfig)\r\n};\r\nvar createCustomStoreFromUrl = (url, normalizationOptions) => new CustomStore({\r\n load: () => ajaxUtils.sendRequest({\r\n url: url,\r\n dataType: \"json\"\r\n }),\r\n loadMode: null === normalizationOptions || void 0 === normalizationOptions ? void 0 : normalizationOptions.fromUrlLoadMode\r\n});\r\nexport var normalizeDataSourceOptions = (options, normalizationOptions) => {\r\n var store;\r\n if (\"string\" === typeof options) {\r\n options = {\r\n paginate: false,\r\n store: createCustomStoreFromUrl(options, normalizationOptions)\r\n }\r\n }\r\n if (void 0 === options) {\r\n options = []\r\n }\r\n if (Array.isArray(options) || options instanceof Store) {\r\n options = {\r\n store: options\r\n }\r\n } else {\r\n options = extend({}, options)\r\n }\r\n if (void 0 === options.store) {\r\n options.store = []\r\n }\r\n store = options.store;\r\n if (\"load\" in options) {\r\n store = createCustomStoreFromLoadFunc(options)\r\n } else if (Array.isArray(store)) {\r\n store = new ArrayStore(store)\r\n } else if (isPlainObject(store)) {\r\n store = createStoreFromConfig(extend({}, store))\r\n }\r\n options.store = store;\r\n return options\r\n};\r\n","/**\r\n * DevExtreme (esm/core/options/utils.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport devices from \"../devices\";\r\nimport {\r\n isEmptyObject,\r\n isFunction\r\n} from \"../utils/type\";\r\nimport {\r\n findBestMatches\r\n} from \"../utils/common\";\r\nimport {\r\n extend\r\n} from \"../utils/extend\";\r\nimport {\r\n compileGetter\r\n} from \"../utils/data\";\r\nvar cachedGetters = {};\r\nexport var convertRulesToOptions = rules => {\r\n var currentDevice = devices.current();\r\n return rules.reduce((options, _ref) => {\r\n var {\r\n device: device,\r\n options: ruleOptions\r\n } = _ref;\r\n var deviceFilter = device || {};\r\n var match = isFunction(deviceFilter) ? deviceFilter(currentDevice) : deviceMatch(currentDevice, deviceFilter);\r\n if (match) {\r\n extend(true, options, ruleOptions)\r\n }\r\n return options\r\n }, {})\r\n};\r\nexport var normalizeOptions = (options, value) => \"string\" !== typeof options ? options : {\r\n [options]: value\r\n};\r\nexport var deviceMatch = (device, filter) => isEmptyObject(filter) || findBestMatches(device, [filter]).length > 0;\r\nexport var getFieldName = fullName => fullName.substr(fullName.lastIndexOf(\".\") + 1);\r\nexport var getParentName = fullName => fullName.substr(0, fullName.lastIndexOf(\".\"));\r\nexport var getNestedOptionValue = function(optionsObject, name) {\r\n cachedGetters[name] = cachedGetters[name] || compileGetter(name);\r\n return cachedGetters[name](optionsObject, {\r\n functionsAsIs: true\r\n })\r\n};\r\nexport var createDefaultOptionRules = function() {\r\n var options = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [];\r\n return options\r\n};\r\n","/**\r\n * DevExtreme (esm/core/errors.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport errorUtils from \"./utils/error\";\r\nexport default errorUtils({\r\n E0001: \"Method is not implemented\",\r\n E0002: \"Member name collision: {0}\",\r\n E0003: \"A class must be instantiated using the 'new' keyword\",\r\n E0004: \"The NAME property of the component is not specified\",\r\n E0005: \"Unknown device\",\r\n E0006: \"Unknown endpoint key is requested\",\r\n E0007: \"'Invalidate' method is called outside the update transaction\",\r\n E0008: \"Type of the option name is not appropriate to create an action\",\r\n E0009: \"Component '{0}' has not been initialized for an element\",\r\n E0010: \"Animation configuration with the '{0}' type requires '{1}' configuration as {2}\",\r\n E0011: \"Unknown animation type '{0}'\",\r\n E0012: \"jQuery version is too old. Please upgrade jQuery to 1.10.0 or later\",\r\n E0013: \"KnockoutJS version is too old. Please upgrade KnockoutJS to 2.3.0 or later\",\r\n E0014: \"The 'release' method shouldn't be called for an unlocked Lock object\",\r\n E0015: \"Queued task returned an unexpected result\",\r\n E0017: \"Event namespace is not defined\",\r\n E0018: \"DevExpress.ui.DevExpressPopup widget is required\",\r\n E0020: \"Template engine '{0}' is not supported\",\r\n E0021: \"Unknown theme is set: {0}\",\r\n E0022: \"LINK[rel=DevExpress-theme] tags must go before DevExpress included scripts\",\r\n E0023: \"Template name is not specified\",\r\n E0024: \"DevExtreme bundle already included\",\r\n E0025: \"Unexpected argument type\",\r\n E0100: \"Unknown validation type is detected\",\r\n E0101: \"Misconfigured range validation rule is detected\",\r\n E0102: \"Misconfigured comparison validation rule is detected\",\r\n E0103: \"validationCallback of an asynchronous rule should return a jQuery or a native promise\",\r\n E0110: \"Unknown validation group is detected\",\r\n E0120: \"Adapter for a DevExpressValidator component cannot be configured\",\r\n E0121: \"The 'customItem' parameter of the 'onCustomItemCreating' function is empty or contains invalid data. Assign a custom object or a Promise that is resolved after the item is created.\",\r\n W0000: \"'{0}' is deprecated in {1}. {2}\",\r\n W0001: \"{0} - '{1}' option is deprecated in {2}. {3}\",\r\n W0002: \"{0} - '{1}' method is deprecated in {2}. {3}\",\r\n W0003: \"{0} - '{1}' property is deprecated in {2}. {3}\",\r\n W0004: \"Timeout for theme loading is over: {0}\",\r\n W0005: \"'{0}' event is deprecated in {1}. {2}\",\r\n W0006: \"Invalid recurrence rule: '{0}'\",\r\n W0007: \"'{0}' Globalize culture is not defined\",\r\n W0008: \"Invalid view name: '{0}'\",\r\n W0009: \"Invalid time zone name: '{0}'\",\r\n W0010: \"{0} is deprecated in {1}. {2}\",\r\n W0011: \"Number parsing is invoked while the parser is not defined\",\r\n W0012: \"Date parsing is invoked while the parser is not defined\",\r\n W0013: \"'{0}' file is deprecated in {1}. {2}\",\r\n W0014: \"{0} - '{1}' type is deprecated in {2}. {3}\",\r\n W0015: \"Instead of returning a value from the '{0}' function, write it into the '{1}' field of the function's parameter.\",\r\n W0016: 'The \"{0}\" option does not accept the \"{1}\" value since v{2}. {3}.',\r\n W0017: 'Setting the \"{0}\" property with a function is deprecated since v21.2',\r\n W0018: 'Setting the \"position\" property with a function is deprecated since v21.2',\r\n W0019: \"DevExtreme: Unable to Locate a Valid License Key.\\n\\nDetailed license/registration related information and instructions: https://js.devexpress.com/Documentation/Licensing/.\\n\\nIf you are using a 30-day trial version of DevExtreme, you must uninstall all copies of DevExtreme once your 30-day trial period expires. For terms and conditions that govern use of DevExtreme UI components/libraries, please refer to the DevExtreme End User License Agreement: https://js.devexpress.com/EULAs/DevExtremeComplete.\\n\\nTo use DevExtreme in a commercial project, you must purchase a license. For pricing/licensing options, please visit: https://js.devexpress.com/Buy.\\n\\nIf you have licensing-related questions or need help with a purchase, please email clientservices@devexpress.com.\\n\\n\",\r\n W0020: \"DevExtreme: License Key Has Expired.\\n\\nDetailed license/registration related information and instructions: https://js.devexpress.com/Documentation/Licensing/.\\n\\nA mismatch exists between the license key used and the DevExtreme version referenced in this project.\\n\\nTo proceed, you can:\\n\\u2022 use a version of DevExtreme linked to your license key: https://www.devexpress.com/ClientCenter/DownloadManager\\n\\u2022 renew your DevExpress Subscription: https://www.devexpress.com/buy/renew (once you renew your subscription, you will be entitled to product updates and support service as defined in the DevExtreme End User License Agreement)\\n\\nIf you have licensing-related questions or need help with a renewal, please email clientservices@devexpress.com.\\n\\n\",\r\n W0021: \"DevExtreme: License Key Verification Has Failed.\\n\\nDetailed license/registration related information and instructions: https://js.devexpress.com/Documentation/Licensing/.\\n\\nTo verify your DevExtreme license, make certain to specify a correct key in the GlobalConfig. If you continue to encounter this error, please visit https://www.devexpress.com/ClientCenter/DownloadManager to obtain a valid license key.\\n\\nIf you have a valid license and this problem persists, please submit a support ticket via the DevExpress Support Center. We will be happy to follow-up: https://supportcenter.devexpress.com/ticket/create.\\n\\n\",\r\n W0022: \"DevExtreme: Pre-release software. Not suitable for commercial use.\\n\\nDetailed license/registration related information and instructions: https://js.devexpress.com/Documentation/Licensing/.\\n\\nPre-release software may contain deficiencies and as such, should not be considered for use or integrated in any mission critical application.\\n\\n\",\r\n W0023: \"DevExtreme: the following 'devextreme' package version does not match versions of other DevExpress products used in this application:\\n\\n{0}\\n\\nInteroperability between different versions of the products listed herein cannot be guaranteed.\\n\\n\"\r\n});\r\n","/**\r\n * DevExtreme (esm/core/utils/date_serialization.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport config from \"../config\";\r\nimport {\r\n getFormatter as getLDMLFormatter\r\n} from \"../../localization/ldml/date.formatter\";\r\nimport defaultDateNames from \"../../localization/default_date_names\";\r\nimport {\r\n isString,\r\n isDate,\r\n isNumeric as isNumber\r\n} from \"./type\";\r\nvar NUMBER_SERIALIZATION_FORMAT = \"number\";\r\nvar DATE_SERIALIZATION_FORMAT = \"yyyy/MM/dd\";\r\nvar DATETIME_SERIALIZATION_FORMAT = \"yyyy/MM/dd HH:mm:ss\";\r\nvar ISO8601_PATTERN = /^(\\d{4,})(-)?(\\d{2})(-)?(\\d{2})(?:T(\\d{2})(:)?(\\d{2})?(:)?(\\d{2}(?:\\.(\\d{1,3})\\d*)?)?)?(Z|([+-])(\\d{2})(:)?(\\d{2})?)?$/;\r\nvar ISO8601_TIME_PATTERN = /^(\\d{2}):(\\d{2})(:(\\d{2}))?$/;\r\nvar ISO8601_PATTERN_PARTS = [\"\", \"yyyy\", \"\", \"MM\", \"\", \"dd\", \"THH\", \"\", \"mm\", \"\", \"ss\", \".SSS\"];\r\nvar DATE_SERIALIZATION_PATTERN = /^(\\d{4})\\/(\\d{2})\\/(\\d{2})$/;\r\nvar MILLISECOND_LENGHT = 3;\r\nvar dateParser = function(text, skipISO8601Parsing) {\r\n var result;\r\n if (isString(text) && !skipISO8601Parsing) {\r\n result = parseISO8601String(text)\r\n }\r\n return result || parseDate(text)\r\n};\r\n\r\nfunction getTimePart(part) {\r\n return +part || 0\r\n}\r\n\r\nfunction parseDate(text) {\r\n var isDefaultSerializationFormat = getDateSerializationFormat(text) === DATE_SERIALIZATION_FORMAT;\r\n var parsedValue = !isDate(text) && Date.parse(text);\r\n if (!parsedValue && isDefaultSerializationFormat) {\r\n var parts = text.match(DATE_SERIALIZATION_PATTERN);\r\n if (parts) {\r\n var newDate = new Date(getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[3]));\r\n newDate.setFullYear(getTimePart(parts[1]));\r\n newDate.setMonth(getTimePart(parts[2]) - 1);\r\n newDate.setDate(getTimePart(parts[3]));\r\n return newDate\r\n }\r\n }\r\n return isNumber(parsedValue) ? new Date(parsedValue) : text\r\n}\r\n\r\nfunction parseISO8601String(text) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return new Date(0, 0, 0, getTimePart(parts[1]), getTimePart(parts[2]), getTimePart(parts[4]))\r\n }\r\n return\r\n }\r\n var year = getTimePart(parts[1]);\r\n var month = --parts[3];\r\n var day = parts[5];\r\n var timeZoneHour = 0;\r\n var timeZoneMinute = 0;\r\n var correctYear = d => {\r\n year < 100 && d.setFullYear(year);\r\n return d\r\n };\r\n timeZoneHour = getTimePart(parts[14]);\r\n timeZoneMinute = getTimePart(parts[16]);\r\n if (\"-\" === parts[13]) {\r\n timeZoneHour = -timeZoneHour;\r\n timeZoneMinute = -timeZoneMinute\r\n }\r\n var hour = getTimePart(parts[6]) - timeZoneHour;\r\n var minute = getTimePart(parts[8]) - timeZoneMinute;\r\n var second = getTimePart(parts[10]);\r\n var millisecond = function(part) {\r\n part = part || \"\";\r\n return getTimePart(part) * Math.pow(10, MILLISECOND_LENGHT - part.length)\r\n }(parts[11]);\r\n if (parts[12]) {\r\n return correctYear(new Date(Date.UTC(year, month, day, hour, minute, second, millisecond)))\r\n }\r\n return correctYear(new Date(year, month, day, hour, minute, second, millisecond))\r\n}\r\nvar getIso8601Format = function(text, useUtc) {\r\n var parts = text.match(ISO8601_PATTERN);\r\n var result = \"\";\r\n if (!parts) {\r\n parts = text.match(ISO8601_TIME_PATTERN);\r\n if (parts) {\r\n return parts[3] ? \"HH:mm:ss\" : \"HH:mm\"\r\n }\r\n return\r\n }\r\n for (var i = 1; i < ISO8601_PATTERN_PARTS.length; i++) {\r\n if (parts[i]) {\r\n result += ISO8601_PATTERN_PARTS[i] || parts[i]\r\n }\r\n }\r\n if (\"Z\" === parts[12]) {\r\n result += \"'Z'\"\r\n }\r\n if (parts[14]) {\r\n if (parts[15]) {\r\n result += \"xxx\"\r\n } else if (parts[16]) {\r\n result += \"xx\"\r\n } else {\r\n result += \"x\"\r\n }\r\n }\r\n return result\r\n};\r\nvar deserializeDate = function(value) {\r\n if (\"number\" === typeof value) {\r\n return new Date(value)\r\n }\r\n return dateParser(value, !config().forceIsoDateParsing)\r\n};\r\nvar serializeDate = function(value, serializationFormat) {\r\n if (!serializationFormat) {\r\n return value\r\n }\r\n if (!isDate(value)) {\r\n return null\r\n }\r\n if (serializationFormat === NUMBER_SERIALIZATION_FORMAT) {\r\n return value && value.valueOf ? value.valueOf() : null\r\n }\r\n return getLDMLFormatter(serializationFormat, defaultDateNames)(value)\r\n};\r\nvar getDateSerializationFormat = function(value) {\r\n if (\"number\" === typeof value) {\r\n return NUMBER_SERIALIZATION_FORMAT\r\n } else if (isString(value)) {\r\n var format;\r\n if (config().forceIsoDateParsing) {\r\n format = getIso8601Format(value)\r\n }\r\n if (format) {\r\n return format\r\n } else if (value.indexOf(\":\") >= 0) {\r\n return DATETIME_SERIALIZATION_FORMAT\r\n } else {\r\n return DATE_SERIALIZATION_FORMAT\r\n }\r\n } else if (value) {\r\n return null\r\n }\r\n};\r\nexport default {\r\n dateParser: dateParser,\r\n deserializeDate: deserializeDate,\r\n serializeDate: serializeDate,\r\n getDateSerializationFormat: getDateSerializationFormat\r\n};\r\n","/**\r\n * DevExtreme (esm/core/events_strategy.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport Callbacks from \"./utils/callbacks\";\r\nimport {\r\n each\r\n} from \"./utils/iterator\";\r\nimport {\r\n isFunction,\r\n isPlainObject\r\n} from \"./utils/type\";\r\nexport class EventsStrategy {\r\n constructor(owner) {\r\n var options = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};\r\n this._events = {};\r\n this._owner = owner;\r\n this._options = options\r\n }\r\n static create(owner, strategy) {\r\n if (strategy) {\r\n return isFunction(strategy) ? strategy(owner) : strategy\r\n } else {\r\n return new EventsStrategy(owner)\r\n }\r\n }\r\n hasEvent(eventName) {\r\n var callbacks = this._events[eventName];\r\n return callbacks ? callbacks.has() : false\r\n }\r\n fireEvent(eventName, eventArgs) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n callbacks.fireWith(this._owner, eventArgs)\r\n }\r\n return this._owner\r\n }\r\n on(eventName, eventHandler) {\r\n if (isPlainObject(eventName)) {\r\n each(eventName, (e, h) => {\r\n this.on(e, h)\r\n })\r\n } else {\r\n var callbacks = this._events[eventName];\r\n if (!callbacks) {\r\n callbacks = Callbacks({\r\n syncStrategy: this._options.syncStrategy\r\n });\r\n this._events[eventName] = callbacks\r\n }\r\n var addFn = callbacks.originalAdd || callbacks.add;\r\n addFn.call(callbacks, eventHandler)\r\n }\r\n }\r\n off(eventName, eventHandler) {\r\n var callbacks = this._events[eventName];\r\n if (callbacks) {\r\n if (isFunction(eventHandler)) {\r\n callbacks.remove(eventHandler)\r\n } else {\r\n callbacks.empty()\r\n }\r\n }\r\n }\r\n dispose() {\r\n each(this._events, (eventName, event) => {\r\n event.empty()\r\n })\r\n }\r\n}\r\n","/**\r\n * DevExtreme (esm/core/renderer_base.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n cleanDataRecursive,\r\n removeData,\r\n data as elementData\r\n} from \"./element_data\";\r\nimport domAdapter from \"./dom_adapter\";\r\nimport {\r\n getWindow\r\n} from \"./utils/window\";\r\nimport {\r\n isObject,\r\n isWindow,\r\n isPlainObject,\r\n isString,\r\n isNumeric,\r\n isDefined,\r\n isFunction,\r\n type\r\n} from \"./utils/type\";\r\nimport {\r\n styleProp,\r\n normalizeStyleProp\r\n} from \"./utils/style\";\r\nimport {\r\n getOffset,\r\n getWindowByElement\r\n} from \"./utils/size\";\r\nimport {\r\n parseHTML,\r\n isTablePart\r\n} from \"./utils/html_parser\";\r\nvar window = getWindow();\r\nvar renderer;\r\nvar initRender = function(selector, context) {\r\n if (!selector) {\r\n this.length = 0;\r\n return this\r\n }\r\n if (\"string\" === typeof selector) {\r\n if (\"body\" === selector) {\r\n this[0] = context ? context.body : domAdapter.getBody();\r\n this.length = 1;\r\n return this\r\n }\r\n context = context || domAdapter.getDocument();\r\n if (\"<\" === selector[0]) {\r\n this[0] = domAdapter.createElement(selector.slice(1, -1), context);\r\n this.length = 1;\r\n return this\r\n } [].push.apply(this, domAdapter.querySelectorAll(context, selector));\r\n return this\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n this[0] = selector;\r\n this.length = 1;\r\n return this\r\n } else if (Array.isArray(selector)) {\r\n [].push.apply(this, selector);\r\n return this\r\n }\r\n return renderer(selector.toArray ? selector.toArray() : [selector])\r\n};\r\nrenderer = function(selector, context) {\r\n return new initRender(selector, context)\r\n};\r\nrenderer.fn = {\r\n dxRenderer: true\r\n};\r\ninitRender.prototype = renderer.fn;\r\nvar repeatMethod = function(methodName, args) {\r\n for (var i = 0; i < this.length; i++) {\r\n var item = renderer(this[i]);\r\n item[methodName].apply(item, args)\r\n }\r\n return this\r\n};\r\nvar setAttributeValue = function(element, attrName, value) {\r\n if (void 0 !== value && null !== value && false !== value) {\r\n domAdapter.setAttribute(element, attrName, value)\r\n } else {\r\n domAdapter.removeAttribute(element, attrName)\r\n }\r\n};\r\ninitRender.prototype.show = function() {\r\n return this.toggle(true)\r\n};\r\ninitRender.prototype.hide = function() {\r\n return this.toggle(false)\r\n};\r\ninitRender.prototype.toggle = function(value) {\r\n if (this[0]) {\r\n this.toggleClass(\"dx-state-invisible\", !value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.attr = function(attrName, value) {\r\n if (this.length > 1 && arguments.length > 1) {\r\n return repeatMethod.call(this, \"attr\", arguments)\r\n }\r\n if (!this[0]) {\r\n if (isObject(attrName) || void 0 !== value) {\r\n return this\r\n } else {\r\n return\r\n }\r\n }\r\n if (!this[0].getAttribute) {\r\n return this.prop(attrName, value)\r\n }\r\n if (\"string\" === typeof attrName && 1 === arguments.length) {\r\n var result = this[0].getAttribute(attrName);\r\n return null == result ? void 0 : result\r\n } else if (isPlainObject(attrName)) {\r\n for (var key in attrName) {\r\n this.attr(key, attrName[key])\r\n }\r\n } else {\r\n setAttributeValue(this[0], attrName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.removeAttr = function(attrName) {\r\n this[0] && domAdapter.removeAttribute(this[0], attrName);\r\n return this\r\n};\r\ninitRender.prototype.prop = function(propName, value) {\r\n if (!this[0]) {\r\n return this\r\n }\r\n if (\"string\" === typeof propName && 1 === arguments.length) {\r\n return this[0][propName]\r\n } else if (isPlainObject(propName)) {\r\n for (var key in propName) {\r\n this.prop(key, propName[key])\r\n }\r\n } else {\r\n domAdapter.setProperty(this[0], propName, value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.addClass = function(className) {\r\n return this.toggleClass(className, true)\r\n};\r\ninitRender.prototype.removeClass = function(className) {\r\n return this.toggleClass(className, false)\r\n};\r\ninitRender.prototype.hasClass = function(className) {\r\n if (!this[0] || void 0 === this[0].className) {\r\n return false\r\n }\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n if (this[0].classList) {\r\n if (this[0].classList.contains(classNames[i])) {\r\n return true\r\n }\r\n } else {\r\n var _className = isString(this[0].className) ? this[0].className : domAdapter.getAttribute(this[0], \"class\");\r\n if ((_className || \"\").split(\" \").indexOf(classNames[i]) >= 0) {\r\n return true\r\n }\r\n }\r\n }\r\n return false\r\n};\r\ninitRender.prototype.toggleClass = function(className, value) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"toggleClass\", arguments)\r\n }\r\n if (!this[0] || !className) {\r\n return this\r\n }\r\n value = void 0 === value ? !this.hasClass(className) : value;\r\n var classNames = className.split(\" \");\r\n for (var i = 0; i < classNames.length; i++) {\r\n domAdapter.setClass(this[0], classNames[i], value)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.html = function(value) {\r\n if (!arguments.length) {\r\n return this[0].innerHTML\r\n }\r\n this.empty();\r\n if (\"string\" === typeof value && !isTablePart(value) || \"number\" === typeof value) {\r\n this[0].innerHTML = value;\r\n return this\r\n }\r\n return this.append(parseHTML(value))\r\n};\r\nvar appendElements = function(element, nextSibling) {\r\n if (!this[0] || !element) {\r\n return\r\n }\r\n if (\"string\" === typeof element) {\r\n element = parseHTML(element)\r\n } else if (element.nodeType) {\r\n element = [element]\r\n } else if (isNumeric(element)) {\r\n element = [domAdapter.createTextNode(element)]\r\n }\r\n for (var i = 0; i < element.length; i++) {\r\n var item = element[i];\r\n var container = this[0];\r\n var wrapTR = \"TABLE\" === container.tagName && \"TR\" === item.tagName;\r\n if (wrapTR && container.tBodies && container.tBodies.length) {\r\n container = container.tBodies[0]\r\n }\r\n domAdapter.insertElement(container, item.nodeType ? item : item[0], nextSibling)\r\n }\r\n};\r\nvar setCss = function(name, value) {\r\n if (!this[0] || !this[0].style) {\r\n return\r\n }\r\n if (null === value || \"number\" === typeof value && isNaN(value)) {\r\n return\r\n }\r\n name = styleProp(name);\r\n for (var i = 0; i < this.length; i++) {\r\n this[i].style[name] = normalizeStyleProp(name, value)\r\n }\r\n};\r\ninitRender.prototype.css = function(name, value) {\r\n if (isString(name)) {\r\n if (2 === arguments.length) {\r\n setCss.call(this, name, value)\r\n } else {\r\n if (!this[0]) {\r\n return\r\n }\r\n name = styleProp(name);\r\n var result = window.getComputedStyle(this[0])[name] || this[0].style[name];\r\n return isNumeric(result) ? result.toString() : result\r\n }\r\n } else if (isPlainObject(name)) {\r\n for (var key in name) {\r\n setCss.call(this, key, name[key])\r\n }\r\n }\r\n return this\r\n};\r\ninitRender.prototype.prepend = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.prepend(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element, this[0].firstChild]);\r\n return this\r\n};\r\ninitRender.prototype.append = function(element) {\r\n if (arguments.length > 1) {\r\n for (var i = 0; i < arguments.length; i++) {\r\n this.append(arguments[i])\r\n }\r\n return this\r\n }\r\n appendElements.apply(this, [element]);\r\n return this\r\n};\r\ninitRender.prototype.prependTo = function(element) {\r\n if (this.length > 1) {\r\n for (var i = this.length - 1; i >= 0; i--) {\r\n renderer(this[i]).prependTo(element)\r\n }\r\n return this\r\n }\r\n element = renderer(element);\r\n if (element[0]) {\r\n domAdapter.insertElement(element[0], this[0], element[0].firstChild)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.appendTo = function(element) {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"appendTo\", arguments)\r\n }\r\n domAdapter.insertElement(renderer(element)[0], this[0]);\r\n return this\r\n};\r\ninitRender.prototype.insertBefore = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.insertAfter = function(element) {\r\n if (element && element[0]) {\r\n domAdapter.insertElement(element[0].parentNode, this[0], element[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.before = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0])\r\n }\r\n return this\r\n};\r\ninitRender.prototype.after = function(element) {\r\n if (this[0]) {\r\n domAdapter.insertElement(this[0].parentNode, element[0], this[0].nextSibling)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrap = function(wrapper) {\r\n if (this[0]) {\r\n var wrap = renderer(wrapper);\r\n wrap.insertBefore(this);\r\n wrap.append(this)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.wrapInner = function(wrapper) {\r\n var contents = this.contents();\r\n if (contents.length) {\r\n contents.wrap(wrapper)\r\n } else {\r\n this.append(wrapper)\r\n }\r\n return this\r\n};\r\ninitRender.prototype.replaceWith = function(element) {\r\n if (!(element && element[0])) {\r\n return\r\n }\r\n if (element.is(this)) {\r\n return this\r\n }\r\n element.insertBefore(this);\r\n this.remove();\r\n return element\r\n};\r\ninitRender.prototype.remove = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"remove\", arguments)\r\n }\r\n cleanDataRecursive(this[0], true);\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.detach = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"detach\", arguments)\r\n }\r\n domAdapter.removeElement(this[0]);\r\n return this\r\n};\r\ninitRender.prototype.empty = function() {\r\n if (this.length > 1) {\r\n return repeatMethod.call(this, \"empty\", arguments)\r\n }\r\n cleanDataRecursive(this[0]);\r\n domAdapter.setText(this[0], \"\");\r\n return this\r\n};\r\ninitRender.prototype.clone = function() {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n result.push(this[i].cloneNode(true))\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.text = function(value) {\r\n if (!arguments.length) {\r\n var result = \"\";\r\n for (var i = 0; i < this.length; i++) {\r\n result += this[i] && this[i].textContent || \"\"\r\n }\r\n return result\r\n }\r\n var text = isFunction(value) ? value() : value;\r\n cleanDataRecursive(this[0], false);\r\n domAdapter.setText(this[0], isDefined(text) ? text : \"\");\r\n return this\r\n};\r\ninitRender.prototype.val = function(value) {\r\n if (1 === arguments.length) {\r\n return this.prop(\"value\", isDefined(value) ? value : \"\")\r\n }\r\n return this.prop(\"value\")\r\n};\r\ninitRender.prototype.contents = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = [];\r\n result.push.apply(result, this[0].childNodes);\r\n return renderer(result)\r\n};\r\ninitRender.prototype.find = function(selector) {\r\n var result = renderer();\r\n if (!selector) {\r\n return result\r\n }\r\n var nodes = [];\r\n var i;\r\n if (\"string\" === typeof selector) {\r\n selector = selector.trim();\r\n for (i = 0; i < this.length; i++) {\r\n var element = this[i];\r\n if (domAdapter.isElementNode(element)) {\r\n var elementId = element.getAttribute(\"id\");\r\n var queryId = elementId || \"dx-query-children\";\r\n if (!elementId) {\r\n setAttributeValue(element, \"id\", queryId)\r\n }\r\n queryId = \"[id='\" + queryId + \"'] \";\r\n var querySelector = queryId + selector.replace(/([^\\\\])(,)/g, \"$1, \" + queryId);\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, querySelector));\r\n setAttributeValue(element, \"id\", elementId)\r\n } else if (domAdapter.isDocument(element) || domAdapter.isDocumentFragment(element)) {\r\n nodes.push.apply(nodes, domAdapter.querySelectorAll(element, selector))\r\n }\r\n }\r\n } else {\r\n for (i = 0; i < this.length; i++) {\r\n selector = domAdapter.isNode(selector) ? selector : selector[0];\r\n if (this[i] !== selector && this[i].contains(selector)) {\r\n nodes.push(selector)\r\n }\r\n }\r\n }\r\n return result.add(nodes)\r\n};\r\nvar isVisible = function(_, element) {\r\n var _element$host, _element$getClientRec, _element;\r\n element = null !== (_element$host = element.host) && void 0 !== _element$host ? _element$host : element;\r\n if (!element.nodeType) {\r\n return true\r\n }\r\n return !!(element.offsetWidth || element.offsetHeight || null !== (_element$getClientRec = (_element = element).getClientRects) && void 0 !== _element$getClientRec && _element$getClientRec.call(_element).length)\r\n};\r\ninitRender.prototype.filter = function(selector) {\r\n if (!selector) {\r\n return renderer()\r\n }\r\n if (\":visible\" === selector) {\r\n return this.filter(isVisible)\r\n } else if (\":hidden\" === selector) {\r\n return this.filter((function(_, element) {\r\n return !isVisible(_, element)\r\n }))\r\n }\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var item = this[i];\r\n if (domAdapter.isElementNode(item) && \"string\" === type(selector)) {\r\n domAdapter.elementMatches(item, selector) && result.push(item)\r\n } else if (domAdapter.isNode(selector) || isWindow(selector)) {\r\n selector === item && result.push(item)\r\n } else if (isFunction(selector)) {\r\n selector.call(item, i, item) && result.push(item)\r\n } else {\r\n for (var j = 0; j < selector.length; j++) {\r\n selector[j] === item && result.push(item)\r\n }\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.not = function(selector) {\r\n var result = [];\r\n var nodes = this.filter(selector).toArray();\r\n for (var i = 0; i < this.length; i++) {\r\n if (-1 === nodes.indexOf(this[i])) {\r\n result.push(this[i])\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.is = function(selector) {\r\n return !!this.filter(selector).length\r\n};\r\ninitRender.prototype.children = function(selector) {\r\n var result = [];\r\n for (var i = 0; i < this.length; i++) {\r\n var nodes = this[i] ? this[i].childNodes : [];\r\n for (var j = 0; j < nodes.length; j++) {\r\n if (domAdapter.isElementNode(nodes[j])) {\r\n result.push(nodes[j])\r\n }\r\n }\r\n }\r\n result = renderer(result);\r\n return selector ? result.filter(selector) : result\r\n};\r\ninitRender.prototype.siblings = function() {\r\n var element = this[0];\r\n if (!element || !element.parentNode) {\r\n return renderer()\r\n }\r\n var result = [];\r\n var parentChildNodes = element.parentNode.childNodes || [];\r\n for (var i = 0; i < parentChildNodes.length; i++) {\r\n var node = parentChildNodes[i];\r\n if (domAdapter.isElementNode(node) && node !== element) {\r\n result.push(node)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.each = function(callback) {\r\n for (var i = 0; i < this.length; i++) {\r\n if (false === callback.call(this[i], i, this[i])) {\r\n break\r\n }\r\n }\r\n};\r\ninitRender.prototype.index = function(element) {\r\n if (!element) {\r\n return this.parent().children().index(this)\r\n }\r\n element = renderer(element);\r\n return this.toArray().indexOf(element[0])\r\n};\r\ninitRender.prototype.get = function(index) {\r\n return this[index < 0 ? this.length + index : index]\r\n};\r\ninitRender.prototype.eq = function(index) {\r\n index = index < 0 ? this.length + index : index;\r\n return renderer(this[index])\r\n};\r\ninitRender.prototype.first = function() {\r\n return this.eq(0)\r\n};\r\ninitRender.prototype.last = function() {\r\n return this.eq(-1)\r\n};\r\ninitRender.prototype.select = function() {\r\n for (var i = 0; i < this.length; i += 1) {\r\n this[i].select && this[i].select()\r\n }\r\n return this\r\n};\r\ninitRender.prototype.parent = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var result = renderer(this[0].parentNode);\r\n return !selector || result.is(selector) ? result : renderer()\r\n};\r\ninitRender.prototype.parents = function(selector) {\r\n var result = [];\r\n var parent = this.parent();\r\n while (parent && parent[0] && !domAdapter.isDocument(parent[0])) {\r\n if (domAdapter.isElementNode(parent[0])) {\r\n if (!selector || parent.is(selector)) {\r\n result.push(parent.get(0))\r\n }\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer(result)\r\n};\r\ninitRender.prototype.closest = function(selector) {\r\n if (this.is(selector)) {\r\n return this\r\n }\r\n var parent = this.parent();\r\n while (parent && parent.length) {\r\n if (parent.is(selector)) {\r\n return parent\r\n }\r\n parent = parent.parent()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.next = function(selector) {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var next = renderer(this[0].nextSibling);\r\n if (!arguments.length) {\r\n return next\r\n }\r\n while (next && next.length) {\r\n if (next.is(selector)) {\r\n return next\r\n }\r\n next = next.next()\r\n }\r\n return renderer()\r\n};\r\ninitRender.prototype.prev = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n return renderer(this[0].previousSibling)\r\n};\r\ninitRender.prototype.add = function(selector) {\r\n var targets = renderer(selector);\r\n var result = this.toArray();\r\n for (var i = 0; i < targets.length; i++) {\r\n var target = targets[i];\r\n if (-1 === result.indexOf(target)) {\r\n result.push(target)\r\n }\r\n }\r\n return renderer(result)\r\n};\r\nvar emptyArray = [];\r\ninitRender.prototype.splice = function() {\r\n return renderer(emptyArray.splice.apply(this, arguments))\r\n};\r\ninitRender.prototype.slice = function() {\r\n return renderer(emptyArray.slice.apply(this, arguments))\r\n};\r\ninitRender.prototype.toArray = function() {\r\n return emptyArray.slice.call(this)\r\n};\r\ninitRender.prototype.offset = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n return getOffset(this[0])\r\n};\r\ninitRender.prototype.offsetParent = function() {\r\n if (!this[0]) {\r\n return renderer()\r\n }\r\n var offsetParent = renderer(this[0].offsetParent);\r\n while (offsetParent[0] && \"static\" === offsetParent.css(\"position\")) {\r\n offsetParent = renderer(offsetParent[0].offsetParent)\r\n }\r\n offsetParent = offsetParent[0] ? offsetParent : renderer(domAdapter.getDocumentElement());\r\n return offsetParent\r\n};\r\ninitRender.prototype.position = function() {\r\n if (!this[0]) {\r\n return\r\n }\r\n var offset;\r\n var marginTop = parseFloat(this.css(\"marginTop\"));\r\n var marginLeft = parseFloat(this.css(\"marginLeft\"));\r\n if (\"fixed\" === this.css(\"position\")) {\r\n offset = this[0].getBoundingClientRect();\r\n return {\r\n top: offset.top - marginTop,\r\n left: offset.left - marginLeft\r\n }\r\n }\r\n offset = this.offset();\r\n var offsetParent = this.offsetParent();\r\n var parentOffset = {\r\n top: 0,\r\n left: 0\r\n };\r\n if (\"HTML\" !== offsetParent[0].nodeName) {\r\n parentOffset = offsetParent.offset()\r\n }\r\n parentOffset = {\r\n top: parentOffset.top + parseFloat(offsetParent.css(\"borderTopWidth\")),\r\n left: parentOffset.left + parseFloat(offsetParent.css(\"borderLeftWidth\"))\r\n };\r\n return {\r\n top: offset.top - parentOffset.top - marginTop,\r\n left: offset.left - parentOffset.left - marginLeft\r\n }\r\n};\r\n[{\r\n name: \"scrollLeft\",\r\n offsetProp: \"pageXOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(value, win.pageYOffset)\r\n }\r\n}, {\r\n name: \"scrollTop\",\r\n offsetProp: \"pageYOffset\",\r\n scrollWindow: function(win, value) {\r\n win.scrollTo(win.pageXOffset, value)\r\n }\r\n}].forEach((function(directionStrategy) {\r\n var propName = directionStrategy.name;\r\n initRender.prototype[propName] = function(value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n var window = getWindowByElement(this[0]);\r\n if (void 0 === value) {\r\n return window ? window[directionStrategy.offsetProp] : this[0][propName]\r\n }\r\n if (window) {\r\n directionStrategy.scrollWindow(window, value)\r\n } else {\r\n this[0][propName] = value\r\n }\r\n return this\r\n }\r\n}));\r\ninitRender.prototype.data = function(key, value) {\r\n if (!this[0]) {\r\n return\r\n }\r\n if (arguments.length < 2) {\r\n return elementData.call(renderer, this[0], key)\r\n }\r\n elementData.call(renderer, this[0], key, value);\r\n return this\r\n};\r\ninitRender.prototype.removeData = function(key) {\r\n this[0] && removeData(this[0], key);\r\n return this\r\n};\r\nvar rendererWrapper = function() {\r\n return renderer.apply(this, arguments)\r\n};\r\nObject.defineProperty(rendererWrapper, \"fn\", {\r\n enumerable: true,\r\n configurable: true,\r\n get: function() {\r\n return renderer.fn\r\n },\r\n set: function(value) {\r\n renderer.fn = value\r\n }\r\n});\r\nexport default {\r\n set: function(strategy) {\r\n renderer = strategy\r\n },\r\n get: function() {\r\n return rendererWrapper\r\n }\r\n};\r\n","/**\r\n * DevExtreme (esm/core/renderer.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport rendererBase from \"./renderer_base\";\r\nexport default rendererBase.get();\r\n","/**\r\n * DevExtreme (esm/core/resize_observer.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport {\r\n noop\r\n} from \"./utils/common\";\r\nimport {\r\n getWindow,\r\n hasWindow\r\n} from \"./utils/window\";\r\nvar window = getWindow();\r\nvar ResizeObserverMock = {\r\n observe: noop,\r\n unobserve: noop,\r\n disconnect: noop\r\n};\r\nclass ResizeObserverSingleton {\r\n constructor() {\r\n if (!hasWindow() || !window.ResizeObserver) {\r\n return ResizeObserverMock\r\n }\r\n this._callbacksMap = new Map;\r\n this._observer = new window.ResizeObserver(entries => {\r\n entries.forEach(entry => {\r\n var _this$_callbacksMap$g;\r\n null === (_this$_callbacksMap$g = this._callbacksMap.get(entry.target)) || void 0 === _this$_callbacksMap$g ? void 0 : _this$_callbacksMap$g(entry)\r\n })\r\n })\r\n }\r\n observe(element, callback) {\r\n this._callbacksMap.set(element, callback);\r\n this._observer.observe(element)\r\n }\r\n unobserve(element) {\r\n this._callbacksMap.delete(element);\r\n this._observer.unobserve(element)\r\n }\r\n disconnect() {\r\n this._callbacksMap.clear();\r\n this._observer.disconnect()\r\n }\r\n}\r\nvar resizeObserverSingleton = new ResizeObserverSingleton;\r\nexport default resizeObserverSingleton;\r\n","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","/**\r\n * DevExtreme (esm/events/core/wheel.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport eventsEngine from \"../../events/core/events_engine\";\r\nimport registerEvent from \"./event_registrator\";\r\nimport {\r\n addNamespace,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar EVENT_NAME = \"dxmousewheel\";\r\nvar EVENT_NAMESPACE = \"dxWheel\";\r\nvar NATIVE_EVENT_NAME = \"wheel\";\r\nvar PIXEL_MODE = 0;\r\nvar DELTA_MUTLIPLIER = 30;\r\nvar wheel = {\r\n setup: function(element) {\r\n var $element = $(element);\r\n eventsEngine.on($element, addNamespace(NATIVE_EVENT_NAME, EVENT_NAMESPACE), wheel._wheelHandler.bind(wheel))\r\n },\r\n teardown: function(element) {\r\n eventsEngine.off(element, \".\".concat(EVENT_NAMESPACE))\r\n },\r\n _wheelHandler: function(e) {\r\n var {\r\n deltaMode: deltaMode,\r\n deltaY: deltaY,\r\n deltaX: deltaX,\r\n deltaZ: deltaZ\r\n } = e.originalEvent;\r\n fireEvent({\r\n type: EVENT_NAME,\r\n originalEvent: e,\r\n delta: this._normalizeDelta(deltaY, deltaMode),\r\n deltaX: deltaX,\r\n deltaY: deltaY,\r\n deltaZ: deltaZ,\r\n deltaMode: deltaMode,\r\n pointerType: \"mouse\"\r\n });\r\n e.stopPropagation()\r\n },\r\n _normalizeDelta(delta) {\r\n var deltaMode = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : PIXEL_MODE;\r\n if (deltaMode === PIXEL_MODE) {\r\n return -delta\r\n } else {\r\n return -DELTA_MUTLIPLIER * delta\r\n }\r\n }\r\n};\r\nregisterEvent(EVENT_NAME, wheel);\r\nexport {\r\n EVENT_NAME as name\r\n};\r\n","/**\r\n * DevExtreme (esm/events/core/emitter.js)\r\n * Version: 23.2.12\r\n * Build date: Mon Feb 10 2025\r\n *\r\n * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED\r\n * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/\r\n */\r\nimport $ from \"../../core/renderer\";\r\nimport {\r\n noop\r\n} from \"../../core/utils/common\";\r\nimport Class from \"../../core/class\";\r\nimport Callbacks from \"../../core/utils/callbacks\";\r\nimport {\r\n extend\r\n} from \"../../core/utils/extend\";\r\nimport {\r\n isDxMouseWheelEvent,\r\n hasTouches,\r\n fireEvent\r\n} from \"../utils/index\";\r\nvar Emitter = Class.inherit({\r\n ctor: function(element) {\r\n this._$element = $(element);\r\n this._cancelCallback = Callbacks();\r\n this._acceptCallback = Callbacks()\r\n },\r\n getElement: function() {\r\n return this._$element\r\n },\r\n validate: function(e) {\r\n return !isDxMouseWheelEvent(e)\r\n },\r\n validatePointers: function(e) {\r\n return 1 === hasTouches(e)\r\n },\r\n allowInterruptionByMouseWheel: function() {\r\n return true\r\n },\r\n configure: function(data) {\r\n extend(this, data)\r\n },\r\n addCancelCallback: function(callback) {\r\n this._cancelCallback.add(callback)\r\n },\r\n removeCancelCallback: function() {\r\n this._cancelCallback.empty()\r\n },\r\n _cancel: function(e) {\r\n this._cancelCallback.fire(this, e)\r\n },\r\n addAcceptCallback: function(callback) {\r\n this._acceptCallback.add(callback)\r\n },\r\n removeAcceptCallback: function() {\r\n this._acceptCallback.empty()\r\n },\r\n _accept: function(e) {\r\n this._acceptCallback.fire(this, e)\r\n },\r\n _requestAccept: function(e) {\r\n this._acceptRequestEvent = e\r\n },\r\n _forgetAccept: function() {\r\n this._accept(this._acceptRequestEvent);\r\n this._acceptRequestEvent = null\r\n },\r\n start: noop,\r\n move: noop,\r\n end: noop,\r\n cancel: noop,\r\n reset: function() {\r\n if (this._acceptRequestEvent) {\r\n this._accept(this._acceptRequestEvent)\r\n }\r\n },\r\n _fireEvent: function(eventName, e, params) {\r\n var eventData = extend({\r\n type: eventName,\r\n originalEvent: e,\r\n target: this._getEmitterTarget(e),\r\n delegateTarget: this.getElement().get(0)\r\n }, params);\r\n e = fireEvent(eventData);\r\n if (e.cancel) {\r\n this._cancel(e)\r\n }\r\n return e\r\n },\r\n _getEmitterTarget: function(e) {\r\n return (this.delegateSelector ? $(e.target).closest(this.delegateSelector) : this.getElement()).get(0)\r\n },\r\n dispose: noop\r\n});\r\nexport default Emitter;\r\n"],"names":["wrapOverridden","baseProto","methodName","method","prevCallBase","this","callBase","apply","arguments","redefine","members","overridden","memberName","member","prototype","parent","include","argument","name","i","classObj","hasClassObjOwnProperty","Object","hasOwnProperty","bind","_includedCtors","slice","_includedPostCtors","length","ctor","push","postCtor","subclassOf","parentClass","baseClass","getPrototypeOf","abstract","errors","Error","copyStatic","hasOwn","source","destination","key","call","classImpl","inherit","inheritor","isWindow","constructor","instance","includedCtors","includedPostCtors","obj","func","clonePrototype","Class","queryByOptions","storeHelper","storeImpl","Store","_langParams","options","that","_eventsStrategy","EventsStrategy","each","_","optionName","on","toLowerCase","_key","_errorHandler","errorHandler","_useDefaultSearch","_clearCache","noop","_customLoadOptions","keyOf","_keyGetter","compileGetter","_requireKey","load","fireEvent","_withLock","_loadImpl","done","result","isEmptyObject","_extends","createQuery","enumerate","task","Deferred","args","processRequestResultLock","promise","resolveWith","fail","rejectWith","totalCount","_totalCountImpl","count","byKey","extraOptions","_addFailHandlers","_byKeyImpl","insert","values","_insertImpl","callbackValues","callbackKey","update","_updateImpl","changes","beforePushArgs","waitFor","when","_pushImpl","remove","_removeImpl","deferred","handleError","eventName","eventHandler","off","create","alias","registerClass","type","cachedGetters","cachedSetters","OptionManager","optionsByReference","_options","_optionsByReference","_changingCallback","_changedCallback","_namePreparedCallbacks","_setByReference","rulesOptions","fieldName","extend","_setPreparedValue","value","merge","silent","oldValue","newValue","previousValue","get","toComparable","isRenderer","is","hasNegation","domAdapter","isElementNode","path","getPathParts","compileSetter","functionsAsIs","isDefined","unwrapObservables","_prepareRelevantNames","isPlainObject","valueName","concat","set","normalizeOptions","_name","onRelevantNamesPrepared","callBack","onChanging","onChanged","dispose","Options","defaultOptions","deprecatedOptions","_deprecatedCallback","_startChangeCallback","_endChangeCallback","_default","_deprecated","_deprecatedNames","_initDeprecatedNames","_optionManager","_setRelevantNames","_cachedOptions","_rules","_initial","_initialOptions","_getByRules","rules","Array","isArray","convertRulesToOptions","_notifyDeprecated","option","info","normalizedName","_normalizeName","_setField","_clearField","fullName","fieldObject","getFieldName","getParentName","previousFieldName","deprecate","addRules","applyRules","onDeprecated","onStartChange","onEndChange","isInitial","initialValue","initial","isFunction","toString","equalByValue","getNestedOptionValue","reset","reduce","field","defaultValue","isObject","getAliasesByName","keys","filter","aliasName","isDeprecated","cache","PostponedOperations","_postponedOperations","add","fn","postponedPromise","promises","completePromise","callPostponedOperations","operation","then","resolve","getEventName","actionName","charAt","substr","Component","_setDeprecatedOptions","_deprecatedOptions","_getDeprecatedOptions","_getDefaultOptions","onInitialized","onOptionChanged","onDisposing","defaultOptionsRules","_defaultOptionsRules","_setOptionsByDevice","_convertRulesToOptions","_isInitialOptionValue","_setOptionsByReference","_getOptionsByReference","_optionChangedCallbacks","_disposingCallbacks","NAME","publicComponentName","eventsStrategy","_updateLockCount","Callbacks","postponedOperations","_createOptions","beginUpdate","_initialized","_optionChanging","_logDeprecatedOptionWarning","_notifyOptionChanged","endUpdate","onInitializing","_initOptions","_init","_createOptionChangedAction","fireWith","message","log","since","_logDeprecatedComponentWarning","_optionChangedAction","_createActionByOption","excludeValidators","_createDisposingAction","_disposingAction","_optionChanged","_dispose","empty","_disposed","_lockUpdate","_unlockUpdate","Math","max","_isUpdateAllowed","_isInitializingRequired","_initializing","isInitialized","_commitUpdate","_initializeComponent","optionNames","indexOf","_defaultActionArgs","_cancelOptionChange","initialOption","_defaultActionConfig","context","component","_createAction","actionSource","config","action","e","actionValue","Action","execute","actionFunc","_this","beforeExecute","afterExecute","hasEvent","_len2","props","_key2","_len","Config","wrapActionsBeforeExecute","hasActionSubscription","isOptionDeprecated","_setOptionWithoutOptionChange","_getOptionValue","resetOption","DX_POLYMORPH_WIDGET_TEMPLATE","FunctionTemplate","_ref","model","widgetName","widget","$","widgetElement","widgetOptions","_createComponent","TemplateManager","createElement","anonymousTemplateName","_tempTemplates","_defaultTemplates","_anonymousTemplateName","_createElement","defaultCreateElement","_createTemplateIfNeeded","createDefaultOptions","integrationOptions","watchMethod","callback","skipImmediate","templates","useDeferUpdateForTemplates","addDefaultTemplates","forEach","tempTemplate","template","extractTemplates","$el","_extractTemplates","anonymousTemplateMeta","_extractAnonymousTemplate","findTemplates","suitableTemplates","suitableTemplatesByName","_ref2","element","addClass","detach","map","_createTemplate","$anonymousTemplate","contents","isTextNode","nodeType","isEmptyText","text","trim","templateSource","cachedTemplate","templateKey","validateTemplateSource","getTemplate","_ref3","isAsyncTemplate","skipTemplates","templateSourceResult","getNormalizedTemplateArgs","EmptyTemplate","acquireTemplate","render","assertedVersions","stringifyVersion","version","major","minor","patch","join","parseVersion","split","Number","leftRotate","x","n","concatBytes","a","b","Uint8Array","TokenKind","PUBLIC_KEY","pad","hash","dataLength","data","string","_a","_b","match","byte","parseInt","hexToBytes","padding","fill","preprocess","bytes","k","charCodeAt","stringToBytes","words","Uint32Array","bytesToWords","ceil","sha1","h","w","j","_j","c","d","_j2","f","temp","wordsToBytes","corrupted","verified","internal","__rest","s","t","p","getOwnPropertySymbols","propertyIsEnumerable","GENERAL_ERROR","kind","error","VERIFICATION_ERROR","DECODING_ERROR","DESERIALIZATION_ERROR","PAYLOAD_ERROR","VERSION_ERROR","validationPerformed","verifySignature","base64","signature","encodedSignature","zero","BigInt","one","eight","bigIntFromBytes","acc","cur","actual","base","exponent","modulus","compareSignatures","atob","getLicenseCheckParams","licenseKey","preview","isNaN","license","encodedKey","parts","decodedPayload","payload","JSON","parse","customerId","maxVersionAllowed","format","internalUsageId","rest","parseLicenseKey","peekValidationPerformed","validateLicense","versionStr","packageVersion","versionsCompatible","currentVersion","mismatchingVersions","assertedVersion","versionA","versionB","packageName","assertedVersionsCompatible","DOMComponent","width","height","rtlEnabled","elementAttr","disabled","_useTemplates","_customClass","attachInstanceToElement","_$element","validationAlreadyPerformed","_getSynchronizableOptionsForCreateComponent","_checkFunctionValueDeprecation","_visibilityChanged","_dimensionChanged","_attachWindowResizeCallback","_initTemplateManager","instanceCustomRules","_classCustomRules","_isDimensionChangeSupported","windowResizeCallBack","_windowResizeCallBack","windowResizeCallbacks","_renderComponent","_initMarkup","hasWindow","_render","_renderElementAttributes","_toggleRTLDirection","_renderVisibilityChange","_renderDimensions","_attachVisibilityChangeHandlers","addShadowDomStyles","$element","attributes","classNames","class","attr","removeClass","_attachDimensionChangeHandlers","_isVisibilityChangeSupported","_isCssUpdateRequired","css","style","namespace","resizeEvent","_isHidden","_isVisible","visibilityEvents","_checkVisibilityChanged","_clean","_modelByElement","modelByElement","_invalidate","_requireRefresh","_refresh","_templateManager","_detachWindowResizeCallback","rtl","toggleClass","synchronizableOptions","grep","nestedComponentOptions","nestedComponentConfig","_extendConfig","isString","getInstance","optionChangedHandler","includes","extendConfig","_removeAttributes","attrs","removeAttribute","_removeClasses","className","cssClass","lastIndexOf","_updateDOMComponent","renderRequired","getPublicElement","cleanDataRecursive","textContent","_getAnonymousTemplateName","createTemplate","_initTemplates","anonymousTemplate","_getTemplateByOption","_getTemplate","_saveTemplate","getInstanceByElement","rule","sign","abs","fitIntoRange","minValue","maxValue","isMinValueUndefined","isMaxValueUndefined","min","inRange","getExponent","toExponential","multiplyInExponentialForm","exponentShift","exponentialNotation","mantissa","parseFloat","getExponentialNotation","adjust","interval","separatedAdjustedValue","precision","getPrecision","separatedValue","sourceValue","absValue","isExponentValue","isExponential","integerPart","floor","toPrecision","str","positionOfDelimiter","getRoot","NaN","y","pow","solveCubicEquation","D2","sqrt","roots","u","q","D3","acos","PI","cos","trunc","roundFloatPart","digitsCount","toFixed","hasWindowValue","window","windowObject","getWindow","hasProperty","prop","defaultScreenFactorFunc","getCurrentScreenFactor","screenFactorCallback","getDocumentElement","clientWidth","getNavigator","navigator","userAgent","jsPrefixes","cssPrefixes","Webkit","Moz","O","ms","getStyles","callOnce","styleProp","originalName","toUpperCase","prefixedProp","stylePropPrefix","camelize","cssPrefixesCount","jsPrefix","forEachPrefixes","specific","pxExceptions","normalizeStyleProp","isNumeric","setStyle","styleString","propertyName","removeProperty","stylePart","property","removeEvent","eventPropName","beforeCleanData","elements","eventsEngine","triggerHandler","registerEvent","noBubble","setup","ChildDefaultTemplate","TemplateBase","super","DRAG_START_EVENT","DRAG_EVENT","DRAG_END_EVENT","DRAG_ENTER_EVENT","DRAG_LEAVE_EVENT","DROP_EVENT","DX_DRAG_EVENTS_COUNT_KEY","knownDropTargets","knownDropTargetSelectors","knownDropTargetConfigs","dropTargetRegistration","handleObj","index","updateEventsCounter","selector","event","eventsCount","elementData","teardown","splice","removeData","DragEmitter","GestureEmitter","direction","_initEvent","_start","_fireEvent","_maxLeftOffset","maxLeftOffset","_maxRightOffset","maxRightOffset","_maxTopOffset","maxTopOffset","_maxBottomOffset","maxBottomOffset","targetElements","dropTargets","wrapToArray","_dropTargets","iteratorUtils","_move","eventData","eData","dragOffset","_calculateOffset","offset","_processDropTargets","_cancelPreventDefault","preventDefault","_calculateXOffset","_calculateYOffset","_startEventData","_fitOffset","minOffset","maxOffset","target","_findDropTarget","_currentDropTarget","_fireDropTargetEvent","originalEvent","draggingElement","_checkDropTargetActive","$target","dropTargetIndex","dropTargetSelectors","$delegatedTargets","find","getItemDelegatedTargets","delegatedTarget","$delegatedTarget","_checkDropTarget","getItemConfig","active","activeTarget","contains","$prevTarget","dropTargetConfig","targetPosition","itemPositionFunc","pageX","left","pageY","top","targetSize","itemSizeFunc","getBoundingClientRect","getItemSize","closest","checkDropTarget","_end","registerEmitter","emitter","events","_normalize","String","_upperCaseFirst","_chop","replace","dasherize","upperFirst","humanize","titleize","DIGIT_CHARS","captionize","char","captionList","isPrevCharNewWord","isNewWord","SPECIAL_HEIGHT_VALUES","getSizeByStyles","elementStyles","styles","getElementBoxParams","beforeName","afterName","border","margin","getElementComputedStyle","_element$ownerDocumen","view","ownerDocument","defaultView","getComputedStyle","getCSSProperty","_element$style","boxIndices","content","dimensionComponents","getComponentThickness","elem","dimension","suffix","parseHeight","container","innerHeight","offsetHeight","getContainerHeight","fontSize","getHeightWithOffset","addOffsetToMaxHeight","maxHeight","addOffsetToMinHeight","minHeight","getVerticalOffsets","withMargins","boxParams","getVisibleHeight","_element$getBoundingC","boundingClientRect","implementationsMap","elementSizeHelper","_len3","_key3","_len4","_key4","_len5","_key5","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len11","_key11","sizeProperty","el","elementSize","getWidth","setWidth","getHeight","setHeight","getOuterWidth","includeMargin","setOuterWidth","getOuterHeight","setOuterHeight","getInnerWidth","getInnerHeight","partialName","propName","isOuter","isInner","isGetter","isDocument","documentElement","body","getBody","box","offsetFieldName","currentBox","targetBoxIndex","currentBoxIndex","coeff","scrollThickness","boxPart","paddingAndBorder","getSize","sizeAdjustment","isBorderBox","boxSizing","getWindowByElement","getOffset","_el$getClientRects","getClientRects","rect","win","docElem","pageYOffset","clientTop","pageXOffset","clientLeft","extendFromObject","overrideExistingValues","deep","targetValue","sourceValueIsArray","clone","FORMAT_SEPARATORS","checkDigit","code","numberLocalization","convertDigits","zeroCode","checkPatternContinue","patterns","isDigit","nextChar","isDigitChanged","some","pattern","getPatternStartIndex","defaultPattern","formatValue","formatter","ESCAPE_CHARS_REGEXP","getFormat","processedIndexes","Date","patternPositions","replacedPatterns","datePatterns","date","test","diff","patternsFilter","unshift","getDifference","indexes","patternIndex","letterCount","pop","baseCharIndex","replaceCharsCore","replaceChars","escapeIndexes","isCurrentCharEscaped","isPrevCharEscaped","isNextCharEscaped","escapeChars","COMPOSITION_START_EVENT","NAMESPACE","createKeyDownOptions","keyName","normalizeKeyName","ctrl","ctrlKey","location","metaKey","shift","shiftKey","alt","altKey","which","KeyboardProcessor","_keydown","addNamespace","_compositionStart","_compositionEnd","_element","focusTarget","_focusTarget","_handler","handler","_processFunction","focusTargets","toArray","isNotFocusTarget","shouldSkipProcessing","_isComposingJustFinished","_isComposing","process","_toggleProcessingWithContext","toggleProcessing","strategy","dataMap","WeakMap","strategyChanging","MemorizedCallbacks","beforeCleanDataFunc","afterCleanDataFunc","cleanSelf","childElements","getElementsByTagName","cleanData","fire","nodes","setDataStrategy","delete","errorUtils","coreErrors","ERROR_MESSAGES","E4000","E4001","E4002","E4003","E4004","E4005","E4006","E4007","E4008","E4009","E4010","E4011","E4012","E4013","E4014","E4015","E4016","E4017","E4018","E4019","E4020","E4021","E4022","E4023","E4024","W4000","W4001","W4002","DECIMAL_BASE","adjustValue","precisionMultiplier","round","roundByAbs","valuePrecision","DataControllerMock","reject","loadSingle","loadFromStore","loadNextPage","loadOptions","userData","cancel","cancelAll","addSearchFilter","group","paginate","pageSize","pageIndex","resetDataSourcePageIndex","isLastPage","isLoading","isLoaded","searchValue","searchOperation","searchExpr","select","store","items","applyMapFunction","getDataSource","reload","dataSource","_dataSource","propValue","_userData","operationId","storeLoadOptions","_addSearchFilter","_pageSize","expr","item","_applyMapFunction","DATA_SOURCE_OPTIONS_METHOD","DATA_SOURCE_CHANGED_METHOD","DATA_SOURCE_LOAD_ERROR_METHOD","DATA_SOURCE_LOADING_CHANGED_METHOD","DATA_SOURCE_FROM_URL_LOAD_MODE_METHOD","SPECIFIC_DATA_SOURCE_OPTION","NORMALIZE_DATA_SOURCE","_disposeDataSource","_refreshDataSource","_initDataSource","_loadDataSource","widgetDataSourceOptions","dataSourceType","dataSourceOptions","DataSource","_isSharedDataSource","_dataSourceType","normalizeDataSourceOptions","fromUrlLoadMode","_addDataSourceHandlers","_initDataController","_this$option","dataController","_dataController","DataController","_addDataSourceChangeHandler","_addDataSourceLoadErrorHandler","_addDataSourceLoadingChangedHandler","_addReadyWatcher","readyWatcher","_ready","_proxiedDataSourceChangedHandler","_proxiedDataSourceLoadErrorHandler","_proxiedDataSourceLoadingChangedHandler","_loadSingle","_isLastPage","_isDataSourceLoading","resetActiveElement","_activeElement$blur","activeElement","getActiveElement","blur","clearSelection","selection","getSelection","removeAllRanges","closestCommonParent","startTarget","endTarget","$startTarget","$endTarget","$startParents","parents","$endParents","normalizeTemplateElement","html","children","clipboardText","clipboard","clipboardData","getData","setData","document","getRootNode","host","getRootNodeHost","createTextElementHiddenCopy","includePaddings","fontStyle","fontVariant","fontWeight","fontFamily","letterSpacing","paddingTop","paddingRight","paddingBottom","paddingLeft","visibility","whiteSpace","position","float","replaceWith","newElement","currentElement","insertBefore","insertElement","parentNode","defaultCurrency","defaultUseCurrencyAccountingStyle","oDataFilterToLower","serverDecimalSeparator","decimalSeparator","thousandsSeparator","forceIsoDateParsing","useLegacyStoreResult","useJQuery","editorStylingMode","useLegacyVisibleIndex","floatingActionButtonConfig","icon","closeIcon","label","at","my","maxSpeedDialActionCount","shading","optionsParser","optionsString","ex","normalizeToJSONString","exNormalize","deprecatedFields","configMethod","newConfig","deprecatedField","DevExpress","initialArray","_array","Query","indexByKey","rejectedPromise","trivialPromise","applyBatch","keyInfo","clear","createQueue","discardPendingTasks","_tasks","_busy","exec","always","removeTaskCallback","busy","OperationManager","_counter","_deferreds","CANCELED_TOKEN","_options$reshapeOnPus","syncStrategy","_store","_changedTime","pushAggregationTimeout","pushDeferred","lastPushWaiters","throttlingTimeout","throttlingPushHandler","throttleChanges","_onPush","_onPushHandler","_aggregationTimeoutId","_storeLoadOptions","_extractLoadOptions","_mapFunc","_postProcessFunc","postProcess","_pageIndex","_loadingCount","_loadQueue","_createLoadQueue","_searchValue","_searchOperation","_searchExpr","_paginate","_reshapeOnPush","reshapeOnPush","_operationManager","_items","_totalCount","_isLoaded","_this$_delayedLoadTas","clearTimeout","_delayedLoadTask","abort","names","customNames","newIndex","isBoolean","generateStoreLoadOptionAccessor","normalizedArgs","normalizeStoreLoadOptionAccessorArguments","sort","newFilter","requireTotalCount","op","argc","_this$_store","beginLoading","_changeLoadingCount","endLoading","increment","oldLoading","newLoading","_scheduleLoadCallbacks","_scheduleFailCallbacks","_fireChanged","_scheduleChangedCallbacks","_createStoreLoadOptions","skip","refresh","searchString","CustomStore","_byKeyViaLoad","take","isEmptyArray","loadTask","isPending","_loadFromStore","loadOperation","_createLoadOperation","delay","executeAsync","changingArgs","groupLevel","dataSourceChanges","postProcessChanges","groupCount","useInsertIndex","langParams","_addSearchOptions","searchFilter","pendingDeferred","handleSuccess","extra","loadResult","normalizeLoadResult","_processStoreLoadResult","resolvePendingDeferred","isFinite","_applyPostProcessFunction","mapDataRespectingGrouping","eventObject","bindType","delegateType","callbacks","componentClass","memberArgs","memberValue","touchPropsToHook","EMPTY_EVENT_NAME","NATIVE_EVENTS_TO_SUBSCRIBE","mouseenter","mouseleave","pointerenter","pointerleave","NATIVE_EVENTS_TO_TRIGGER","focusin","focusout","NO_BUBBLE_EVENTS","forcePassiveFalseEventNames","matchesSafe","nodeName","elementMatches","skipEvent","elementDataMap","guid","special","specialData","registerEventCallbacks","getField","callMethod","injector","getHandler","normalizeOnArguments","iterate","getHandlersController","addHandler","oneTimeHandler","removeHandler","trigger","normalizeTriggerArguments","extraParameters","handlersController","callHandlers","isPropagationStopped","getParents","_element$parentNode","currentTarget","nativeMethodName","localName","callNativeMethod","applyForEach","isNode","itemArgs","itemElement","passiveEventHandlersSupported","isSupported","defineProperty","addEventListener","compareDocumentPosition","DOCUMENT_POSITION_CONTAINS","eventNameParts","namespaces","eventNameIsDefined","handleObjects","nativeHandler","callHandler","secondaryTargetIsInside","handlerArgs","relatedTarget","stopPropagation","handleObject","wrappedHandler","delegateTarget","nativeListenerOptions","subscribeName","shouldAddNativeListener","Event","passive","removeListener","listen","removeByEventName","removedHandler","isSubset","forceStop","handleCallback","isImmediatePropagationStopped","original","checked","src","iterateEventNames","calculateWhich","charCode","keyCode","button","initEvent","EventClass","addProperty","hook","eventInstance","enumerable","configurable","writable","_propagationStopped","_immediatePropagationStopped","_defaultPrevented","propagationStopped","stopImmediatePropagation","isDefaultPrevented","defaultPrevented","normalizeEventArguments","_src$view","isTrusted","timeStamp","now","touches","changedTouches","touchPropHook","hookTouchProps","beforeSetStrategy","afterSetStrategy","engine","inject","subscribeGlobal","offArgs","MONTHS","DAYS","PERIODS","QUARTERS","cutCaptions","captions","lengthByFormat","abbreviated","short","narrow","caption","getMonthNames","getDayNames","getQuarterNames","getPeriodNames","createOccurrenceMap","array","_map$get","Map","getUniqueValues","Set","getIntersection","firstArray","secondArray","toRemoveMap","occurrencesCount","removeDuplicates","from","normalizeIndexes","indexPropName","currentItem","needIndexCallback","indexedItems","currentIndex","shouldUpdateIndex","orderEach","groupBy","getGroupName","groupedResult","_groupedResult$groupN","groupName","remoteQueryImpl","url","queryOptions","tasks","createTask","executorTask","_adapterFactory","_adapter","_taskQueue","_currentTask","_mergedSortArgs","rejectWithNotify","mergeSortTask","adapter","queryAdapters","optimize","head","unmergedTasks","clientChain","arrayQueryImpl","query","queryImpl","remote","impl","ERROR_URL","baseErrors","exports","id","details","formatDetails","getErrorUrl","formatMessage","__id","__details","makeError","logger","combineMessage","startsWith","_action","_context","_beforeExecute","_afterExecute","_component","_validatingTargetName","validatingTargetName","_excludeValidators","handled","argsBag","_validateAction","_executeAction","executors","_executor$validate","executor","validate","_executor$execute","registerExecutor","unregisterExecutor","createValidatorByTargetElement","condition","readOnly","undefined","_wrappedHandler","executingName","ensureDefined","normalizedContext","timerId","setTimeout","delayedFuncs","delayedNames","delayedDeferreds","deferExecute","oldExecutingName","currentDelayedCount","deferRender","deferUpdate","deferRenderer","deferUpdater","findBestMatches","targetFilter","mapFn","bestMatches","maxMatchCount","itemSrc","matchCount","paramName","mismatch","valueItem","splitPair","raw","_raw$x","_raw$y","v","normalizeKey","arr","pairToObject","preventRound","pair","getKeyHash","Guid","keyHash","stringify","escapeRegExp","applyServerDecimalSeparator","separator","checkFunction","invert","expectedCheck","DEFAULT_EQUAL_BY_VALUE_OPTS","maxDepth","strict","compareByValue","value1","value2","depth","comparable1","comparable2","compareObjects","object1","object2","keys1","keys2","keys2Set","has","compareArrays","array1","array2","idx","compareOptions","currentTemplateEngine","templateEngine","templateEngines","getCurrentTemplateEngine","compile","setTemplateEngine","Template","_renderCore","transclude","_compiledTemplate","append","rawTemplates","templatesMap","Errors","_findBestMatches$","suitableTemplate","devices","current","addOneRenderedCall","templateResult","onRendered","acquireIntegrationTemplate","integrationTemplate","$container","addPublicElementNormalization","defaultTemplates","TOTAL_COUNT","LOAD","BY_KEY","INSERT","UPDATE","REMOVE","isPromise","ensureRequiredFuncOption","throwInvalidUserFuncResult","createUserFuncFailureHandler","arg","promiseArguments","xhr","textStatus","getResponseHeader","errorMessageFromXhrUtility","errorMessageFromXhr","XHR_ERROR_UNLOAD","invokeUserLoad","userResult","userFunc","_loadFunc","fromPromise","runRawLoad","userFuncOptions","continuation","__rawData","loadPromise","__rawDataPromise","_cacheRawData","rawData","_store$_errorHandler","userFuncFailureHandler","runRawLoadWithQuery","countOnly","itemsQuery","totalCountQuery","rawDataQuery","arrayQuery","waitList","asyncResult","useDefaultSearch","loadMode","_loadMode","cacheRawData","_totalCountFunc","_byKeyFunc","_insertFunc","_updateFunc","_removeFunc","clearRawDataCache","invokeUserTotalCountFunc","keyExpr","len","keysEqual","runRawLoadWithKey","invokeUserByKeyFunc","serverResponse","ready","readyCallbacks","changeCallback","$originalViewPort","$current","isNewViewportFound","prevViewPort","originalViewPort","DEFAULT_CONFIG","ESCAPING_CHAR","MAXIMUM_NUMBER_LENGTH","PERCENT_EXPONENT_SHIFT","reverseString","reverse","removeStubs","getNonRequiredDigitCount","floatFormat","getRequiredDigitCount","normalizeValueString","valuePart","minDigitCount","maxDigitCount","formatNumberPart","valueString","formatPart","escapeIndex","isEscape","getFormatter","signFormatParts","signParts","getSignParts","isPositive","numberFormat","floatPointIndex","getFloatPointIndex","floatFormatParts","minFloatPrecision","maxFloatPrecision","isPercentFormat","formatString","minIntegerPrecision","maxIntegerPrecision","unlimitedIntegerDigits","integerLength","floatPrecision","groupSizes","singleQuotesLeft","valueParts","valueIntegerPart","valueFloatPart","groups","groupSize","applyGroups","integerString","floatString","parseValue","isPercent","isNegative","prepareValueText","valueText","isIntegerPart","nextText","nextValueText","hasGroups","getFormatByValueText","valueTextParts","decimalSeparatorIndex","positiveFormat","negativeFormat","KNOWN_UA_TABLE","iPhone","iPhone5","iPhone6","iPhone6plus","iPad","iPadMini","androidPhone","androidTablet","msSurface","desktop","DEFAULT_DEVICE","deviceType","platform","phone","tablet","android","ios","generic","grade","mac","UA_PARSERS","isPhone","isTablet","isDesktop","isMac","appleTouchDevice","isIpadOs","maxTouchPoints","matches","screen","isAndroid","isWinPhone","UA_PARSERS_ARRAY","_window","_realDevice","_getDevice","_currentDevice","_currentOrientation","changed","_recalculateOrientation","resizeCallbacks","deviceOrName","_forced","_getDeviceOrNameFromWindowScope","_getDeviceNameFromSessionStorage","real","forceDevice","orientation","isForced","isRippleEmulator","tinyHippos","_getCssClasses","device","realDevice","isSimulator","attachCssClasses","_deviceClasses","detachCssClasses","_isSimulator","self","forceSimulator","deviceName","_fromConfig","ua","_fromUA","sessionStorage","SessionStorage","getItem","shortcuts","parser","_changeOrientation","$window","windowWidth","_currentWidth","viewPortElement","viewPort","prevViewport","FORMAT_TYPES","monthRegExpGenerator","dateParts","PATTERN_REGEXPS","countSuffix","timeSeparator","getTimeSeparator","M","L","Q","E","H","m","S","parseNumber","caseInsensitiveIndexOf","monthPatternParser","monthNames","PATTERN_PARSERS","year","dayNames","periodNames","ORDERED_PATTERNS","PATTERN_SETTERS","datePartValues","hours","getHours","hourPartValue","setHours","getSameCharCount","createPattern","getRegExpInfo","isEscaping","regexpText","stubText","addPreviousStub","regexpPart","isPossibleForParsingFormat","warn","regexp","RegExp","digitFieldSymbols","isDigitPattern","possibleForParsing","ambiguousDigitPatternsCount","every","getPatternSetters","getParser","regExpInfo","regExpResult","getFullYear","formatPatterns","maxPatternIndex","getMaxOrderedPatternIndex","orderedFormatPatterns","otherPatterns","getOrderedFormatPatterns","regExpPattern","regExpText","patternChar","partSetter","partParser","setPatternPart","setterName","setPatternPartFromNow","subscribeReady","getDocument","windowExists","getReadyState","__extends","extendStatics","setPrototypeOf","__proto__","TypeError","__","_super","NestedOption","stateChildren","React","child","getElementInfo","ElementType","Option","TOUCH_BOUNDARY","setGestureCover","$cover","appendTo","toggle","cursor","Emitter","gesture","configure","getElement","immediate","allowInterruptionByMouseWheel","_stage","getDirection","_cancel","_toggleGestureCover","start","_needSkipEvent","needSkipEvent","_startEvent","createEvent","_setupImmediateTimer","_this$immediateTimeou","_immediateTimer","_immediateAccepted","immediateTimeout","move","_directionConfirmed","_resetActiveElement","_clearSelection","_adjustStartEvent","_requestAccept","_forgetAccept","touchBoundary","_getTouchBoundary","delta","eventDelta","deltaX","deltaY","horizontalMove","_validateMove","verticalMove","mainAxis","crossAxis","isDxMouseWheelEvent","_toggleGestureCoverImpl","gestureCoverStrategy","gestureCover","isTouchEvent","end","_stop","initialTouchBoundary","newBoundary","timeIntervals","millisecond","second","minute","hour","day","week","month","quarter","toMilliseconds","dateUnitIntervals","convertMillisecondsToDateUnits","dateUnitCount","dateUnitInterval","convertDateUnitToMilliseconds","dateUnit","getDateUnitInterval","tickInterval","maxInterval","tickIntervalToFormatMap","getQuarter","getFirstQuarterMonth","correctDateWithUnitBeginning","dateInterval","withCorrection","firstDayOfWeek","getTime","firstQuarterMonth","oldDate","setMonth","setDate","getFirstWeekDate","getMonth","fixTimezoneGap","trimTime","addDateInterval","dir","intervalObject","getDateIntervalByString","years","setFullYear","quarters","months","weeks","getDate","days","setTime","minutes","seconds","milliseconds","addInterval","isDate","getLastMonthDay","createDateWithFullYear","intervalString","sameMonthAndYear","date1","date2","sameYear","getFirstDecadeInCentury","getFirstYearInDecade","getDay","getUTCTime","UTC","getFirstDateInYear","getLastDateInYear","getDayWeekNumber","normalizeDate","normalizedDate","newDate","trial","getTimezonesDifference","getTimezoneOffset","dateUtils","dateToMilliseconds","getNextDateUnit","unit","withWeeks","getDateFormatByTickInterval","getDatesDifferences","counter","differences","getMinutes","getSeconds","getMilliseconds","setToDayEnd","roundDateByStartDayHour","startDayHour","startTime","dateTimeFromDecimal","number","getSequenceByInterval","intervals","sameHoursAndMinutes","sameDate","sameMonth","sameDecade","startDecadeDate1","startDecadeDate2","sameCentury","startCenturyDate1","startCenturyDate2","getDifferenceInMonth","typeView","difference","getDifferenceInMonthForCells","getShortDateFormat","getViewFirstCellDate","viewType","getViewLastCellDate","getViewDown","getViewUp","getLastMonthDate","currentDate","getFirstMonthDate","getWeekNumber","firstWeekDayInYear","lastWeekDayInYear","daysInFirstWeek","weekNumber","getDayNumber","normalizeDateByWeek","differenceInDays","getDatesInterval","resultDate","dateInRange","intervalsOverlap","firstMin","firstMax","secondMin","secondMax","roundToHour","setMinutes","getViewMinBoundaryDate","getViewMaxBoundaryDate","makeDate","startDate","endDate","intervalUnit","millisecondCount","getDatesOfInterval","step","getMachineTimezoneName","Intl","DateTimeFormat","resolvedOptions","timeZone","prevSize","originalCallbacksAdd","originalCallbacksRemove","formatSize","innerWidth","handleResize","changedDimension","setPrevSize","object","BaseClass","InjectedClass","initialFields","injectFields","injectionObject","resetInjection","eventNames","KEY_MAP","backspace","tab","enter","escape","pageup","pagedown","home","arrowleft","arrowup","arrowright","arrowdown","control","LEGACY_KEY_CODES","EVENT_SOURCES_REGEX","dx","mouse","touch","keyboard","pointer","fixMethod","isDxEvent","eventSource","isNativeTouchEvent","isPointerEvent","isMouseEvent","isNativeMouseEvent","pointerType","isFakeClickEvent","screenX","offsetX","time","to","hasTouches","pointers","skipEvents","isContentEditable","hasAttribute","touchInEditable","hasClass","focused","copyEvent","_ref4","normalizedKey","normalizedKeyFromWhich","fromCharCode","getChar","_ref5","mappedAddNamespace","isCommandKeyPressed","_ref6","HOVERSTART_NAMESPACE","HOVERSTART","POINTERENTER_NAMESPACED_EVENT_NAME","pointerEvents","HOVEREND_NAMESPACE","HOVEREND","POINTERLEAVE_NAMESPACED_EVENT_NAME","leave","Hover","_handlerArrayKeyPath","_eventNamespace","_originalEventName","_eventName","HoverStart","HoverEnd","$activeThemeLink","knownThemes","currentThemeName","pendingThemeName","themeClasses","themeReadyCallback","viewPortValue","viewPortChanged","initDeferred","DX_LINK_SELECTOR","DX_HAIRLINES_CLASS","ANY_THEME","defaultTimeout","THEME_MARKER_PREFIX","readThemeMarker","waitForThemeLoad","themeName","waitStartTime","intervalCleared","handleLoaded","clearInterval","isPendingThemeLoaded","setInterval","isTimeout","anyThemePending","state","themeMarker","init","newContext","initContext","$allThemeLinks","parseHTML","link","fullThemeName","isActive","last","after","processMarkup","theme","currentThemeData","isAutoInit","_autoInit","loadCallback","desiredThemeName","desiredThemeParts","knownThemeName","themeData","knownThemeParts","resolveFullThemeName","_forceTimeout","themeNameParts","isMaterialBased","getCssClasses","pixelRatio","devicePixelRatio","$tester","isTheme","themeRegExp","isMaterial","isFluent","isGeneric","isCompact","isWebFontLoaded","testElement","innerHTML","appendChild","etalonFontWidth","offsetWidth","testedFontWidth","removeChild","waitWebFont","Promise","intervalId","timeoutId","autoInit","types","typeOfObject","proto","isPrimitive","jquery","dxRenderer","isDeferred","isEvent","memory","Iterator","next","countable","ArrayIterator","WrappedIterator","iter","MapIterator","mapper","hasNext","SortIterator","getter","desc","compare","_wrap","thenBy","sortedIter","_ensureSorted","_compare","_unwrap","record","wrappedItem","_getDefaultCompare","xValue","yValue","locale","collatorOptions","Collator","defaultCompare","xIndex","yIndex","rulesCount","compareResult","compileCriteria","_toComparable","toLocaleString","compileEquals","negate","useStrictComparison","crit","isGroupCriterion","isUniformEqualsByOr","filterValues","filterValue","ops","isConjunctiveOperator","isConjunctiveNextOperator","isConjunctiveOperatorChecker","compileGroup","isUnaryOperation","criteria","normalizeBinaryCriterion","operatorFn","getterValue","FilterIterator","GroupIterator","_ensureGrouped","groupedIter","SelectIterator","SliceIterator","pos","handleDataError","aggregateCore","aggregator","finalize","accumulator","seed","standardAggregate","aggregators","chainQuery","selectProp","setLangParams","sortBy","MAX_VALUE","aggregate","sum","avg","reverseEach","E1001","E1002","E1003","E1004","E1005","E1006","E1007","E1010","E1011","E1012","E1016","E1018","E1019","E1020","E1021","E1022","E1023","E1025","E1026","E1031","E1032","E1033","E1034","E1035","E1037","E1038","E1039","E1040","E1041","E1042","E1043","E1044","E1045","E1046","E1047","E1048","E1049","E1050","E1051","E1052","E1053","E1054","E1055","E1056","E1058","E1059","E1060","E1061","E1062","W1001","W1002","W1003","W1004","W1005","W1006","W1007","W1008","W1009","W1010","W1011","W1012","W1013","W1014","W1016","W1017","W1018","W1019","W1020","W1021","W1022","W1023","W1024","W1025","nodesByEvent","node","CLICK_EVENT_NAME","prevented","requestAnimationFrame","cancelAnimationFrame","lastFiredEvent","onNodeRemove","clickHandler","eventAlreadyFired","DXCLICK_FIRED","subscribeNodesDisposing","ClickEmitter","blurPrevented","down","_originalEvent$target","shadowRoot","_originalEvent$path","_originalEvent$compos","composedPath","bubble","findItems","collapsedItems","getItems","setDataByKeyMapValue","_dataByKeyMap","_dataByKeyMapLength","cloneInstanceWithChangedPaths","clonedInstances","instanceWithoutPrototype","deepExtendArraySafe","change","createObjectWithChanges","immutable","disableCache","logError","skipCopying","resultItems","dataByKeyMap","arrayLength","generateDataByKeyMap","getErrorResult","isBatch","errorCode","keyOrKeys","hasKey","getCacheValue","newTarget","keyValue","getHasKeyCacheValue","leftPad","LDML_FORMATTERS","useUtc","formatType","period","timezoneOffset","signPart","timezoneOffsetAbs","hoursPart","minutesPart","X","Z","charIndex","isCurrentCharEqualsNext","charCount","unwrapVariable","variableWrapper","unwrap","isWrapped","assign","assignPropValue","prepareOptions","functionAsIs","hasDefaultValue","pathPart","getters","compiledGetters","l","_i","pathItem","combineGetters","toLocaleLowerCase","toLocaleUpperCase","ensurePropValueDefined","lastLevelIndex","currentValue","levelIndex","propertyValue","readPropValue","isPropertyFunc","caseSensitive","valueOf","_options$collatorOpti","_options$locale","sensitivity","normalize","r","focusableFn","tabIndex","visible","isTabIndexNotNaN","isDisabled","isDefaultFocus","isHyperlink","href","focusable","tabbable","multiLevelGroup","groupInfo","g","arrangeSortingInfo","sortInfo","filteredGroup","isCountQuery","_query$setLangParams","_query","normalizeSortingInfo","keepInitialKeyOrder","COMPONENT_NAMES_DATA_KEY","componentNames","nextAnonymousComponent","getName","newName","generatedName","componentInstance","disposeFn","unloading","textStatusMessages","timeout","parsererror","status","statusText","lockDeferred","lockCount","obtain","release","key1","key2","first","throttled","throttle","Callback","_list","_queue","_firing","_fired","_firingIndexes","_fireCore","firingIndexes","list","stopOnFalse","unique","queue","fired","dependencyInjector","isWritableWrapped","wrap","deferredConfig","_DeferredObj","_state","_promise","catch","callbackResult","resolveCallbacks","rejectCallbacks","whenFunc","contexts","resolvedCount","updateState","_value","_generate","random","toJSON","baseDictionary","en","Yes","No","Cancel","CheckState","Close","Clear","Done","Loading","Select","Search","Back","OK","newMessages","messageLocalization","_dictionary","messages","_localizablePrefix","localizablePrefix","localizeString","regex","escapeString","prefix","localizationKey","defaultResult","getMessagesByLocales","getDictionary","onlyNew","coreLocalization","_getFormatterBase","getValueByClosestLocale","getDataByLocale","localeData","_Object$entries$find","entries","stringFormat","getConsoleMethod","console","assert","POINTER_EVENTS_NAMESPACE","originalEvents","_originalEvents","_handlerCount","_isNoBubble","_getDelegateTarget","browser","mozilla","_setSelector","_selector","_getSelector","normalizeTouchEvent","pointerId","identifier","TouchStrategy","BaseStrategy","_pointerId","pointerEvent","dxpointerdown","dxpointermove","dxpointerup","dxpointercancel","dxpointerover","dxpointerout","dxpointerenter","dxpointerleave","addEventsListener","eventMap","pointerEquals","onPointerAdding","getPointerIndex","removePointer","observer","normalizeMouseEvent","activated","activateStrategy","Observer","MouseStrategy","activate","resetObserver","MouseAndTouchStrategy","EVENT_LOCK_TIMEOUT","isMouse","_skipNextEvents","_mouseLocked","_unlockMouseTimer","normalizer","EventStrategy","getStrategy","support","pointerEventStrategy","eventStrategyName","GlobalConfig","getStrategyFromGlobalConfig","up","over","out","_formatNumberCore","formatConfig","currencyPart","getCurrencySymbol","symbol","getOpenXmlCurrencyFormat","FRAME_ANIMATION_STEP_TIME","request","requestID","setAnimationFrameMethods","nativeRequest","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","nativeCancel","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","msCancelAnimationFrame","encodeHtml","encodeRegExp","quadToObject","quad","right","bottom","splitQuad","placeholderReg","isEmpty","SPACE_REGEXP","loadMessages","core","formatNumber","formatDate","requiredPropsCheck","parentExpectedChildren","reactElement","Unknown","TemplateComp","elementDescriptor","OptionName","name_1","isCollectionItem","IsCollectionItem","expectation","descriptor","isCollection","TemplateProps","initialValuesProps","DefaultsProps","predefinedValuesProps","PredefinedProps","expectedChildren","ExpectedChildren","propTypes","PropTypes","isRequired","DX_RULE_PREFIX","ownerDocumentStyleSheet","createConstructedStyleSheet","rootNode","CSSStyleSheet","err","styleElement","sheet","processRules","targetStyleSheet","styleSheets","needApplyAllStyles","cssRules","insertRule","_rule$selectorText","_rule$cssRules","_rule$cssRules$","_rule$cssRules$$selec","_rule$name","_rule$style","selectorText","cssText","_el$getRootNode","root","currentShadowDomStyleSheet","adoptedStyleSheets","isPositionInElementRectangle","getShadowElementsFromPoint","elementQueue","shiftIndex","childNodes","childNode","Node","ELEMENT_NODE","renderedCallbacks","$result","renovated","_ensureResultInContainer","resultInContainer","triggerShownEvent","MANAGER_EVENT","EMITTER_DATA","eventManager","_attachHandlers","_proxiedCancelHandler","_cancelHandler","_proxiedAcceptHandler","_acceptHandler","_pointerDownHandler","_pointerMoveHandler","_pointerUpHandler","wheelEventName","_mouseWheelHandler","_eachEmitter","activeEmitters","_activeEmitters","_applyToEmitters","resetEmitter","_updateEmitters","_isSetChanged","_cleanEmitters","_fetchEmitters","currentSet","_closestEmitter","previousSet","_emittersSet","setChanged","handleEmitter","validatePointers","addCancelCallback","addAcceptCallback","emitters","acceptedEmitter","_cancelEmitter","canceledEmitter","removeCancelCallback","removeAcceptCallback","emitterIndex","_allowInterruptionByMouseWheel","_adjustWheelEvent","allowInterruption","closestGestureEmitter","verticalGestureDirection","EMITTER_SUBSCRIPTION_DATA","emitterConfig","emitterClass","emitterName","emitterEvents","subscriptions","delegateSelector","disposeEmitter","Clone","isNumberX","isNumberY","assignValueToProperty","assignByReference","extendComplexObject","prevValue","nativeDOMAdapterStrategy","querySelectorAll","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","doc","tagName","_document","createElementNS","ns","createTextNode","createAttribute","isDocumentFragment","removeElement","parentElement","nextSiblingElement","getAttribute","setAttribute","setProperty","setText","setClass","isAdd","classList","_element$getRootNode","_element$getRootNode2","createDocumentFragment","getLocation","readyState","getHead","hasDocumentProperty","removeEventListener","elementsFromPoint","activeElementHolder","__generator","thisArg","sent","trys","verb","Symbol","iterator","__values","o","__read","ar","RemovalLockerContext","createContext","lock","unlock","generateID","substring","TemplateInstantiationModels","DoubleKeyMap","_map","innerMap","size","_c","innerMap_1","innerMap_1_1","_d","e_1_1","e_2_1","e_2","_e","e_1","_f","_g","return","createHiddenNode","containerNodeName","ref","defaultElement","display","TemplateWrapper","memo","templateFactory","onRemoved","useState","removalListenerRequired","setRemovalListenerRequired","isRemovalLocked","useRef","removalLocker","useMemo","hiddenNodeElement","removalListenerElement","onTemplateRemoved","useCallback","isUnmounting","DX_REMOVE_EVENT","useLayoutEffect","useEffect","hiddenNode","previousSibling","removalListener","createPortal","Provider","useLegacyTemplateEngine","__assign","normalizeProps","dxkey","onTemplatesRendered","collection","instantiationModels","setInstantiationModels","updateContext","setUpdateContext","widgetId","templateFactories","subscribeOnRemoval","unsubscribeOnRemoval","unwrapElement","createMapKey","getRandomId","getRenderFunc","containerElement","hostWidgetId","componentKey","createDXTemplates","templateOptions","factories","res","getTemplateFunction","clearInstantiationModels","updateTemplates","onUpdated","factory","mergeNameParts","ValueType","buildTemplates","optionsAccum","templatesAccum","isAnonymous","templateName","buildNode","ignoreInitialValues","predefinedOptions","configs","configCollections","initialOptions","buildConfig","findValueInObject","Simple","findValue","Complex","optionInfo","parseOptionName","childCollection","prev","changesAccum","addRemovedValues","currentCollection","prevCollection","updatedCollection_1","compareCollections","currentTemplatesOptions","currentTemplates","prevTemplatesOptions","prevTemplates","currentTemplate","prevTemplate","compareTemplates","getChanges","removedOptions","currentOptions","prevOptions","appendRemovedValues","__spreadArray","il","optionsManagers","guardTimeoutHandler","innerGuardTimeoutHandler","unscheduleGuards","scheduleGuards","optionManager","execGuards","OptionsManager","guards","isUpdating","wrapOptionValue","setInstance","subscribableOptions","independentEvents","currentConfig","getInitialOptions","getTemplateOptions","dxtemplates","changedOptions","setValue","currentPropValue","valueDescriptor","callOptionChangeHandler","addGuard","valuesAreEqual","valuesAreEqualObjects","skipOptionsRollBack","isOptionSubscribable","isIndependentEvent","optionValue","changeEvent","elementPropNames","classNamePropName","refPropName","separateProps","defaultsProps","templateProps","defaults","knownTemplates","defaultOptionName","getRefElement","getClassName","createConfigNode","separatedValues","childrenData","parentFullName","hasTranscludedContent","collectionItem","configNode","keyFn","processChildren","templateMeta","tmplOption","getAnonymousTemplate","ComponentBase","isPortalComponent","_templateProps","_childNodes","shouldRestoreFocus","useRequestAnimationFrameFlag","guardsUpdateScheduled","_createWidget","_setTemplateManagerHooks","_optionsManager","displayContentsStyle","msie","trident","isIE","componentDidMount","_updateCssClasses","_setInlineStyles","componentDidUpdate","prevProps","_getConfig","dxTemplates","_createDXTemplates","_scheduleTemplatesUpdate","componentWillUnmount","_lockParentOnRemoved","_instance","preventFocusOut","_unlockParentOnRemoved","templatesRenderAsynchronously","_clearInstantiationModels","_WidgetClass","focus","_updateTemplates","widgetDescriptor","_defaults","_expectedChildren","_getElementProps","elementProps","newProps","prevClassName","newClassName","renderChildren","renderContent","portalContainer","forceUpdate","renderPortal","contextType","ExtensionComponent","onMounted","_extensionCreators","_registerExtension","_createExtensions","clearExtensions","isPrototypeOf","creator","webkitRegExp","mozillaRegExp","browserFromUA","browserName","browserVersion","webkit","pureAddNamespace","executeAction","inactive","opts","showTimeout","hideTimeout","resize","hover","shown","hiding","focusIn","focusOut","_ref7","dxClick","click","keyboardProcessors","listenerId","_getProcessor","nativeXMLHttpRequest","getXhr","XMLHttpRequest","SUCCESS","ERROR","createScript","script","removeScript","scriptNode","appendToHead","evalScript","getRequestOptions","headers","params","paramsAlreadyString","upload","encodeURIComponent","paramsConvert","getMethod","parameters","getRequestHeaders","defaultContentType","contentType","getContentTypeHeader","Accept","dataType","scriptAccept","accepts","xml","json","jsonp","getAcceptHeader","crossDomain","sendRequest","httpRequest","async","originAnchor","urlAnchor","protocol","isCrossDomain","needScriptEvaluation","callbackName","jsonpCallback","callbackParameter","getJsonpOptions","requestOptions","loadHandler","evalCrossDomainScript","open","username","password","customStatus","setHttpTimeout","onreadystatechange","hasContent","responseType","responseText","response","getDataFromResponse","onprogress","onloadstart","onabort","xhrFields","setRequestHeader","beforeSend","send","af","agq","ak","am","as","asa","ast","az","bas","be","bem","bez","bg","bm","bn","bo","br","brx","bs","ca","ccp","ce","ceb","cgg","chr","ckb","cs","cy","da","dav","de","dje","doi","dsb","dua","dyo","dz","ebu","ee","eo","es","et","eu","ewo","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gsw","gu","guz","gv","ha","haw","he","hi","hr","hsb","hu","hy","ia","ig","ii","it","ja","jgo","jmc","jv","ka","kab","kam","kde","kea","kgp","khq","ki","kk","kkj","kl","kln","km","kn","ko","kok","ks","ksb","ksf","ksh","ku","kw","ky","lag","lb","lg","lkt","ln","lo","lrc","lt","lu","luo","luy","lv","mai","mas","mer","mfe","mg","mgh","mgo","mi","mk","ml","mn","mni","mr","mt","mua","mzn","naq","nb","nd","nds","ne","nl","nmg","nn","nnh","no","nus","nyn","om","or","os","pa","pcm","pl","ps","pt","qu","rm","rn","ro","rof","ru","rw","rwk","sa","sah","saq","sat","sbp","sc","sd","se","seh","ses","sg","shi","si","sk","sl","smn","sn","so","sq","sr","su","sv","sw","ta","te","teo","tg","th","ti","tk","tr","tt","twq","tzm","ug","uk","und","ur","uz","vai","vi","vun","wae","wo","xh","xog","yav","yi","yo","yrl","yue","zgh","zh","zu","CURRENCY_STYLES","detectCurrencySymbolRegex","formattersCache","localizationCoreUtils","NumberFormat","_normalizeFormatConfig","fractionDigits","minimumIntegerDigits","useGrouping","maximumFractionDigits","_getPrecisionConfig","_formatConfig$useCurr","useAccountingStyle","useCurrencyAccountingStyle","dxConfig","currency","currencySign","minimumFractionDigits","_format","_normalizeFormat","_getCurrencySymbolInfo","getCurrencyFormatter","_extractCurrencySymbolInfo","currencyValueString","delimiter","targetCurrency","currencySymbol","accountingFormat","encodedCurrencySymbol","encodeSymbols","openXmlCurrencyFormat","accountingFormats","hasIntl","NUMERIC_FORMATS","LargeNumberFormatPostfixes","LargeNumberFormatPowers","largenumber","thousands","millions","billions","trillions","numericFormats","defaultLargeNumberFormatPostfixes","_parseNumberFormatString","formatObject","formatList","power","_calculateNumberPower","minPower","maxPower","_getNumberByPower","_formatNumber","powerPostfix","_formatNumberExponential","powString","_addZeroes","multiplier","_addGroupSeparators","_getSeparators","getDecimalSeparator","getThousandsSeparator","toStandard","digits","fromFirstDigit","toFirstDigit","fromLastDigit","regExp","getNegativeEtalonRegExp","separators","digitalRegExp","negativeEtalon","getSign","numberConfig","formatterConfig","cleanedText","_calcSignificantDigits","parsed","integer","fractional","calcDigitsAfterLeadingZeros","currencyLocalization","intlNumberLocalization","SYMBOLS_TO_REMOVE_REGEX","NARROW_NO_BREAK_SPACE_REGEX","getIntlFormatter","timeZoneName","recognizableAsTwentyCentury","temporaryYearValue","utcDate","formatDateTime","getAlternativeNumeralsMap","numeralsMapCache","normalizeNumerals","dateString","alternativeNumeralsMap","removeLeadingZeroes","normalizeMonth","intlFormats","dayofweek","weekday","longdate","longdatelongtime","longtime","monthandday","monthandyear","shortdate","shorttime","shortyear","monthNameStrategies","standalone","monthIndex","monthFormat","part","wide","dayIndex","hour12Formatter","hour12","hourNumberText","timeParts","intlFormat","_parseDateBySimpleFormat","formatParts","getFormatParts","dateArgs","_generateDateArgs","constructValidDate","ampmShift","expected","parsedDate","hoursShift","datePart","formatUsesMonthName","formatUsesDayName","formattedDate","FORMATS_TO_PATTERN_MAP","quarterandyear","shortdateshorttime","possiblePartPatterns","dateLocalization","_getPatternByFormat","_expandPattern","partName","possiblePatterns","defaultDateNames","is24HourFormat","amTime","pmTime","amTimeFormatted","pmTimeFormatted","getLDMLDateFormatter","ldmlFormat","getLDMLDateFormat","getLDMLDateParser","firstDayOfWeekIndex","localizationCore","firstDayOfWeekData","intlDateLocalization","parentLocales","parentLocale","DEFAULT_LOCALE","currentLocale","isRootLocale","getParentLocale","triggerVisibilityChangeEvent","changeHandlers","triggerHidingEvent","triggerResizeEvent","isTagName","tagWrappers","default","tagsCount","startTags","endTags","thead","td","col","tbody","colgroup","tfoot","tags","firstRootTag","tagWrapper","lastChild","isTablePart","transitionEndEventNames","webkitTransition","MozTransition","OTransition","transition","supportProp","inputType","input","touchEvents","hasWindowProperty","detectTouchEvents","detectPointerEvent","transitionEndEventName","animation","nativeScrolling","isNativeScrollingSupported","_excluded","originalArguments","mapRecursive","level","mapGroup","restItem","_objectWithoutPropertiesLoose","_data","createCustomStoreFromLoadFunc","storeConfig","createCustomStoreFromUrl","normalizationOptions","ajaxUtils","ArrayStore","createStoreFromConfig","currentDevice","ruleOptions","deviceFilter","deviceMatch","optionsObject","createDefaultOptionRules","E0001","E0002","E0003","E0004","E0005","E0006","E0007","E0008","E0009","E0010","E0011","E0012","E0013","E0014","E0015","E0017","E0018","E0020","E0021","E0022","E0023","E0024","E0025","E0100","E0101","E0102","E0103","E0110","E0120","E0121","W0000","W0001","W0002","W0003","W0004","W0005","W0006","W0007","W0008","W0009","W0010","W0011","W0012","W0013","W0014","W0015","W0016","W0017","W0018","W0019","W0020","W0021","W0022","W0023","NUMBER_SERIALIZATION_FORMAT","DATE_SERIALIZATION_FORMAT","ISO8601_PATTERN","ISO8601_TIME_PATTERN","ISO8601_PATTERN_PARTS","DATE_SERIALIZATION_PATTERN","dateParser","skipISO8601Parsing","getTimePart","timeZoneHour","timeZoneMinute","correctYear","parseISO8601String","isDefaultSerializationFormat","getDateSerializationFormat","parsedValue","isNumber","parseDate","getIso8601Format","deserializeDate","serializeDate","serializationFormat","getLDMLFormatter","owner","_events","_owner","eventArgs","originalAdd","renderer","initRender","repeatMethod","setAttributeValue","attrName","show","hide","removeAttr","appendElements","nextSibling","tBodies","setCss","prepend","firstChild","prependTo","insertAfter","before","wrapper","wrapInner","cloneNode","val","elementId","queryId","querySelector","isVisible","_element$host","_element$getClientRec","not","siblings","parentChildNodes","eq","targets","emptyArray","offsetParent","marginTop","marginLeft","parentOffset","offsetProp","scrollWindow","scrollTo","directionStrategy","rendererWrapper","ResizeObserverMock","observe","unobserve","disconnect","ResizeObserver","_callbacksMap","_observer","entry","_this$_callbacksMap$g","EVENT_NAME","EVENT_NAMESPACE","wheel","_wheelHandler","deltaMode","deltaZ","_normalizeDelta","_cancelCallback","_acceptCallback","_accept","_acceptRequestEvent","_getEmitterTarget"],"sourceRoot":""}