{"version":3,"file":"static/js/8070_311be08e97a61412e808.js","mappings":"qKAKO,SAASA,EAAcC,EAASC,GAC/BD,aAAmB,KACnBA,EAAQE,cAAcD,EAASE,yBAC/BH,EAAQI,cAAcH,EAASI,YAC/BL,EAAQM,YAAYL,EAASM,UAC7BP,EAAQQ,uBAAuBP,EAASQ,qBACxCT,EAAQU,yBAAyBT,EAASU,uBAC1CX,EAAQY,cAAcX,EAASY,YAC/Bb,EAAQc,iBAAiBb,EAASc,iBAGlCf,EAAQgB,MAAMC,WAAahB,EAASE,wBACpCH,EAAQgB,MAAMX,WAAaJ,EAASI,WACpCL,EAAQgB,MAAMT,SAAWN,EAASM,SAAW,KAC7CP,EAAQgB,MAAMP,oBAAsBR,EAASQ,oBAC7CT,EAAQgB,MAAML,sBAAwBV,EAASU,sBAC/CX,EAAQgB,MAAMH,WAAaZ,EAASY,WAAa,KACjDb,EAAQgB,MAAMD,cAAgBd,EAASc,cAAgB,KAE/D,C,+HCpBO,MAAMG,EACT,WAAAC,CAAYC,EAAKC,GACbC,KAAKF,IAAMA,EACXE,KAAKD,QAAUA,CACnB,CACA,KAAAE,CAAMC,GACF,MAAMC,EAAQP,EAAuBQ,MAAMF,EAASF,KAAKF,KAGzDE,KAAKD,QAAQI,GAFCL,GAAQF,EAAuBQ,MAAMF,EAASJ,KAC9C,CAACA,EAAKK,IAAUP,EAAuBS,OAAOH,EAASJ,EAAKK,IAE9E,CACA,YAAOC,CAAME,EAAQR,GACjB,QAAsB,IAAXQ,EACP,OAEJ,MAAMC,EAAgBT,EAAIU,QAAQ,KAClC,GAAID,GAAiB,EAAG,CACpB,MAAME,EAAeX,EAAIY,UAAU,EAAGH,GACtC,OAAOP,KAAKI,MAAME,EAAOG,GAAeX,EAAIY,UAAUH,EAAgB,GAC1E,CACA,OAAOD,EAAOR,EAClB,CACA,aAAOO,CAAOM,EAAQb,EAAKK,GACvB,MAAMI,EAAgBT,EAAIU,QAAQ,KAClC,GAAID,GAAiB,EAAG,CACpB,MAAME,EAAeX,EAAIY,UAAU,EAAGH,GAGtC,OAFAI,EAAOF,GAAgBE,EAAOF,IAAiB,CAAC,OAChDT,KAAKK,OAAOM,EAAOF,GAAeX,EAAIY,UAAUH,EAAgB,GAAIJ,EAExE,CACAQ,EAAOb,GAAOK,CAClB,EAGJ,SAASS,EAA+Bd,EAAKC,GACzCH,EAAuBiB,MAAMC,KAAK,IAAIlB,EAAuBE,EAAKC,GACtE,CACA,SAASgB,EAAqCjB,EAAKkB,GAC/CJ,EAA+Bd,GAAK,CAACK,EAAOc,EAAMC,KAC9C,QAAqB,IAAVf,EACP,IAAK,MAAOgB,EAAUC,KAAaJ,EAC/B,GAAIb,IAAUgB,EAEV,YADAD,EAAMpB,EAAKsB,EAIvB,GAER,CAfAxB,EAAuBiB,MAAQ,GAsB/BE,EAAqC,WAAY,CAAC,EAAC,EAAM,MAAO,EAAC,EAAO,SACxEA,EAAqC,cAAe,CAAC,EAAC,EAAM,MAAO,EAAC,EAAO,SAC3EA,EAAqC,iBAAkB,CAAC,CAAC,UAAW,WACpEA,EAAqC,mBAAoB,CAAC,EAAC,EAAM,YAAa,EAAC,EAAO,UACtFA,EAAqC,sBAAuB,CAAC,EAAC,EAAM,QAAS,EAAC,EAAO,UACrFA,EAAqC,0BAA2B,CAAC,EAAC,EAAM,MAAO,EAAC,EAAO,SACvFA,EAAqC,gBAAiB,CAAC,EAAC,EAAO,OAAQ,EAAC,EAAM,kBAC9EA,EAAqC,QAAS,CAAC,EAAC,EAAM,CAAEM,SAAS,IAAS,EAAC,EAAO,CAAEA,SAAS,MAC7FN,EAAqC,iBAAkB,CAAC,EAAC,EAAM,CAAEM,SAAS,IAAS,EAAC,EAAO,CAAEA,SAAS,MACtGN,EAAqC,aAAc,CAAC,EAAC,EAAO,YAAa,EAAC,EAAM,UAChFA,EAAqC,gBAAiB,CAAC,EAAC,EAAM,UAAW,EAAC,EAAO,WACjFA,EAAqC,qBAAsB,CAAC,EAAC,EAAM,MAAO,EAAC,EAAO,SAClFA,EAAqC,6BAA8B,CAAC,EAAC,EAAM,MAAO,EAAC,EAAO,SAC1FA,EAAqC,uBAAwB,CAAC,EAAC,EAAM,cAAe,EAAC,EAAO,SAC5FA,EAAqC,uBAAwB,CAAC,EAAC,EAAM,qBAAsB,EAAC,EAAO,SACnGH,EAA+B,uBAAuB,CAACT,EAAOc,EAAMC,MAClD,IAAVf,IACAe,EAAM,sBAAuB,cACY,IAA9BD,EAAK,sBACZC,EAAM,oBAAqB,cAEK,IAAzBD,EAAK,iBACZC,EAAM,eAAgB,SAE9B,IAEJN,EAA+B,sBAAsB,CAACT,EAAOc,EAAMC,UAC1C,IAAVf,IACPe,EAAM,0BAAsBI,QACc,IAA/BL,EAAK,uBACZC,EAAM,uBAAwBf,GAEtC,IAEJS,EAA+B,8BAA8B,CAACT,EAAOc,EAAMC,UAClD,IAAVf,IACPe,EAAM,kCAA8BI,QACqB,IAA9CL,EAAK,sCACZC,EAAM,sCAAuCf,GAErD,IAEJ,MAAMoB,EAA8B,CAChCC,OAAQ,cACRC,SAAU,gBACV5B,YAAa,mBACb6B,WAAY,iBACZC,MAAO,aACPC,SAAU,gBACVC,MAAO,cACPC,OAAQ,cACRC,UAAW,iBACXC,OAAQ,cACRC,SAAU,iBACVC,MAAO,aACPC,SAAU,gBACVC,KAAM,YACNjC,MAAO,aACPkC,SAAU,gBACVC,KAAM,YACNC,WAAY,kBACZC,QAAS,eACTC,KAAM,YACNC,MAAO,aACPC,KAAM,YACNC,UAAW,iBACXC,OAAQ,cACRC,cAAe,qBACfC,QAAS,gBAEbnC,EAA+B,yBAAyB,CAACT,EAAOc,EAAMC,KAClE,GAAIf,GAA0B,iBAAVA,EAAoB,CACpC,IAAK,MAAM6C,KAASC,OAAOC,QAAQ3B,GAA8B,EAEnD,IADApB,EAAM6C,EAAM,UAEyB,IAAhC/B,EAAK,WAAW+B,EAAM,OAC7B9B,EAAM,WAAW8B,EAAM,MAAM,EAGzC,CACA9B,EAAM,6BAAyBI,EACnC,KAEJV,EAA+B,oBAAoB,CAACuC,EAAOlC,EAAMC,KAC7D,GAAqB,kBAAViC,EAAqB,CAC5B,MAAMhD,EAAQgD,EAAQ,KAAO,MAE7BjC,EAAM,mBADW,CAAEkC,SAAUjD,EAAOkD,QAASlD,EAAOmD,MAAOnD,GAE/D,KAGJS,EAA+B,qCAAqC,CAACT,EAAOc,EAAMC,KACzD,kBAAVf,IACPe,EAAM,yCAAqCI,QACC,IAAjCL,EAAK,yBACZC,EAAM,uBAAwBf,GAEtC,IAEJS,EAA+B,0CAA0C,CAACT,EAAOc,EAAMC,KAC9D,iBAAVf,IACPe,EAAM,8CAA0CI,QACC,IAAtCL,EAAK,8BACZC,EAAM,4BAA6Bf,GAE3C,IAGJS,EAA+B,qBAAqB,CAACT,EAAOc,EAAMC,KAC9D,GAAIf,GAA0B,iBAAVA,EAAoB,CACpC,IAAIoD,GAAe,EACnB,MAAMnC,EAAW,CAAC,EAClB,IAAK,MAAM4B,KAASC,OAAOC,QAAQ/C,GACP,kBAAb6C,EAAM,IACbO,GAAe,EACfnC,EAAS4B,EAAM,IAAMA,EAAM,GAAK,WAAa,SAG7C5B,EAAS4B,EAAM,IAAMA,EAAM,GAG/BO,GACArC,EAAM,oBAAqBE,EAEnC,KAGJR,EAA+B,4CAA4C,CAACT,EAAOc,EAAMC,KAChE,kBAAVf,IACPe,EAAM,gDAA4CI,QACc,IAArDL,EAAK,6CACZC,EAAM,2CAA4Cf,GAE1D,IAGJS,EAA+B,qBAAqB,CAACT,EAAOc,EAAMC,KACzC,kBAAVf,GACPe,EAAM,oBAAqBf,OAAQmB,EAAY,MACnD,I,iFClMAkC,EAA0C,SAAUC,EAAY9C,EAAQb,EAAK4D,GAC7E,IAA2HC,EAAvHC,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIjD,EAAkB,OAAT+C,EAAgBA,EAAOT,OAAOe,yBAAyBrD,EAAQb,GAAO4D,EACrH,GAAuB,iBAAZO,SAAoD,mBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAAST,EAAY9C,EAAQb,EAAK4D,QACpH,IAAK,IAAIS,EAAIV,EAAWK,OAAS,EAAGK,GAAK,EAAGA,KAASR,EAAIF,EAAWU,MAAIJ,GAAKH,EAAI,EAAID,EAAEI,GAAKH,EAAI,EAAID,EAAEhD,EAAQb,EAAKiE,GAAKJ,EAAEhD,EAAQb,KAASiE,GAChJ,OAAOH,EAAI,GAAKG,GAAKd,OAAOmB,eAAezD,EAAQb,EAAKiE,GAAIA,CAChE,EACIM,EAAoC,SAAUC,EAAYC,GAC1D,OAAO,SAAU5D,EAAQb,GAAOyE,EAAU5D,EAAQb,EAAKwE,EAAa,CACxE,EAiBA,IAAIE,EAAsB,cAAkC,KACxD,WAAA3E,CAAY4E,EAAgBC,EAAexE,EAASyE,EAAWC,GAC3DC,QACA7E,KAAK4E,sBAAwBA,EAC7B5E,KAAK8E,aAAe9E,KAAK+E,UAAU,IAAI,MACvC/E,KAAKgF,YAAchF,KAAK8E,aAAa5C,MACrClC,KAAKiF,iBAAmBjF,KAAK+E,UAAU,IAAI,MAC3C/E,KAAKkF,gBAAkBlF,KAAKiF,iBAAiB/C,MAC7ClC,KAAKmF,yBAA0B,EAC/BnF,KAAKoF,eAAiB,EACtBpF,KAAKqF,uBAAyB,EAC9BrF,KAAKsF,gBAAkB,EACvBtF,KAAKuF,gCAAkC,EACvCvF,KAAKwF,sBAAwB,IAAI,KACjCxF,KAAKyE,eAAiBA,EACtBzE,KAAK0E,cAAgBA,EACrB1E,KAAKyF,mBAAqBzF,KAAK+E,UAAU,IAAI,IAAoBJ,EAAWzE,EAAQwF,YACpF1F,KAAK2F,iBAAkB,QAAUhB,GAAWiB,eAC5C5F,KAAK6F,YAAcC,EAA2B5F,GAC9CF,KAAK+F,kBAAoBC,EAAkBC,gBAAgBjG,KAAK6F,aAChE7F,KAAKE,QAAUF,KAAKkG,kBAChBlG,KAAKE,QAAQiG,IAAI,KACjBnG,KAAKyF,mBAAmBW,iBAE5BpG,KAAK+E,UAAU,0BAAgC,IAAM/E,KAAKqG,uBAC1DrG,KAAK+E,UAAU,yBAA6B,IAAM/E,KAAKqG,uBACvDrG,KAAK+E,UAAU/E,KAAKyF,mBAAmBT,aAAY,IAAMhF,KAAKqG,uBAC9DrG,KAAK+E,UAAU,iBAA6B,IAAM/E,KAAKqG,uBACvDrG,KAAK+E,UAAU,iBAAuB,QAAUJ,IAAYK,aAAY,IAAMhF,KAAKqG,uBACnFrG,KAAK+E,UAAU/E,KAAK4E,sBAAsB0B,kCAAiC,IAAMtG,KAAKqG,sBAC1F,CACA,iBAAAA,GACI,MAAME,EAAavG,KAAKkG,kBAClBM,EAAcR,EAAkBS,YAAYzG,KAAKE,QAASqG,GAC5C,OAAhBC,IAIJxG,KAAKE,QAAUqG,EACfvG,KAAKiF,iBAAiByB,KAAKF,GAC3BxG,KAAK8E,aAAa4B,KAAKF,GAC3B,CACA,eAAAN,GACI,MAAMS,EAAa3G,KAAK4G,wBAClBC,EAAe,iCAAyC7G,KAAK+F,kBAAmBY,EAAWG,WAAY9G,KAAKyE,gBAC5G9F,EAAWqB,KAAK+G,cAAcF,GAC9BG,EAAM,CACRC,OAAQjH,KAAKwF,sBACb0B,WAAYP,EAAWO,WACvBC,YAAaR,EAAWQ,YAAcnH,KAAKsF,gBAC3C3G,SAAUA,EACVyI,qBAAsBT,EAAWS,qBACjCC,uBAAwBrH,KAAKmF,wBAC7BmC,cAAetH,KAAKoF,eACpBmC,sBAAuBvH,KAAKqF,uBAC5BmC,wBAAyBb,EAAWa,wBACpCV,WAAYH,EAAWG,WACvBW,aAAc,sBACdC,qBAAsBf,EAAWe,qBACjCC,+BAAgC3H,KAAKuF,iCAEzC,OAAOS,EAAkB4B,eAAe5H,KAAK+F,kBAAmBiB,EACpE,CACA,qBAAAJ,GACI,MAAO,CACHQ,qBAAsBS,IACtBX,WAAYlH,KAAKyF,mBAAmBqC,WACpCX,YAAanH,KAAKyF,mBAAmBsC,YACrCP,wBAAyBQ,EAAA,IAAoBA,EAAA,GAC7ClB,WAAY,iBAAuB,QAAc9G,KAAK2F,iBAAiB,GAAMsC,QAAQ9H,MACrFuH,qBAAuB1H,KAAK4E,sBAAsBsD,0BAC5C,EACAlI,KAAK4E,sBAAsBuD,0BAEzC,CACA,aAAApB,CAAcF,GACV,OAAO,kBAA8B,QAAc7G,KAAK2F,iBAAiB,GAAMsC,OAAQpB,EAC3F,CACA,aAAAuB,GACI,OAAOpI,KAAK6F,WAChB,CACA,aAAAwC,CAAcC,GACV,MAAM/B,EAAaT,EAA2BwC,GAC5BtC,EAAkBuC,YAAYvI,KAAK6F,YAAaU,KAIlEvG,KAAK+F,kBAAoBC,EAAkBC,gBAAgBjG,KAAK6F,aAChE7F,KAAKqG,oBACT,CACA,gBAAAmC,CAAiB9C,GACb1F,KAAKyF,mBAAmBgD,QAAQ/C,EACpC,CACA,yBAAAgD,CAA0BrB,GAClBrH,KAAKmF,0BAA4BkC,IAGrCrH,KAAKmF,wBAA0BkC,EAC/BrH,KAAKqG,oBACT,CACA,iBAAAsC,CAAkBC,GACd,MAAMrB,EAiCd,SAAoBsB,GAChB,IAAI9E,EAAI,EACR,KAAO8E,GACHA,EAAIC,KAAKC,MAAMF,EAAI,IACnB9E,IAEJ,OAAOA,GAAQ,CACnB,CAxCsCiF,CAAWJ,GACrC5I,KAAKqF,yBAA2BkC,IAGpCvH,KAAKqF,uBAAyBkC,EAC9BvH,KAAKqG,oBACT,CACA,gBAAA4C,CAAiB3B,GACTtH,KAAKoF,iBAAmBkC,IAG5BtH,KAAKoF,eAAiBkC,EACtBtH,KAAKqG,oBACT,CACA,iBAAA6C,CAAkBC,GACVnJ,KAAKsF,kBAAoB6D,IAG7BnJ,KAAKsF,gBAAkB6D,EACvBnJ,KAAKqG,oBACT,CACA,iCAAA+C,CAAkCC,GAC1BrJ,KAAKuF,kCAAoC8D,IAG7CrJ,KAAKuF,gCAAkC8D,EACvCrJ,KAAKqG,oBACT,GAcJ,SAASwB,IACL,IAAIyB,EAAQ,GAaZ,OAZKtB,EAAA,IAAqBA,EAAA,KAEtBsB,GAAS,mBAETtB,EAAA,KAEAsB,GAAS,qBACTA,GAAS,uBAETC,EAAA,KACAD,GAAS,QAENA,CACX,CA3BA9E,EAAsBhB,EAAW,CAC7Ba,EAAQ,EAAG,MACZG,GA0BH,MAAMgF,EACF,WAAA3J,GACIG,KAAKyJ,QAAU,EACnB,CACA,KAAArJ,CAAMsJ,GACF,OAAO1J,KAAKyJ,QAAQC,EACxB,CACA,GAAAvD,CAAIwD,GACA,OAAO3J,KAAKyJ,QAAQE,EACxB,CACA,MAAAtJ,CAAOqJ,EAAQvJ,GACXH,KAAKyJ,QAAQC,GAAUvJ,CAC3B,EAEG,MAAMyJ,EACT,WAAA/J,GACIG,KAAKyJ,QAAU,EACnB,CACA,KAAArJ,CAAMuJ,GACF,GAAIA,GAAM3J,KAAKyJ,QAAQ3F,OACnB,MAAM,IAAI+F,MAAM,mCAEpB,OAAO7J,KAAKyJ,QAAQE,EACxB,CACA,GAAAxD,CAAIwD,GACA,OAAO3J,KAAKI,MAAMuJ,EACtB,CACA,MAAAtJ,CAAOsJ,EAAIxJ,GACPH,KAAKyJ,QAAQE,GAAMxJ,CACvB,EAEJ,MAAM6F,EACF,sBAAOC,CAAgB/F,GACnB,MAAM4J,EAAS,IAAIN,EACnB,IAAK,MAAMO,KAAgBC,EAAA,GAAuB,CAC9C,MAAM7J,EAA+B,YAAtB4J,EAAaE,UAAqB3I,EAAYpB,EAAQ6J,EAAaE,MAClFH,EAAOzJ,OAAO0J,EAAaJ,GAAII,EAAaG,SAAS/J,GACzD,CACA,OAAO2J,CACX,CACA,qBAAOlC,CAAe1H,EAAS8G,GAC3B,MAAM8C,EAAS,IAAIF,EACnB,IAAK,MAAMG,KAAgBC,EAAA,GACvBF,EAAOzJ,OAAO0J,EAAaJ,GAAII,EAAaI,QAAQnD,EAAK8C,EAAQ5J,EAAQE,MAAM2J,EAAaJ,MAEhG,OAAOG,CACX,CACA,kBAAOM,CAAYC,EAAGC,GAClB,GAAiB,iBAAND,GAA+B,iBAANC,IAAmBD,IAAMC,EACzD,OAAOD,IAAMC,EAEjB,GAAIC,MAAMC,QAAQH,IAAME,MAAMC,QAAQF,GAClC,SAAQC,MAAMC,QAAQH,KAAME,MAAMC,QAAQF,KAAKG,EAAA,GAAcJ,EAAGC,GAEpE,GAAIrH,OAAOyH,KAAKL,GAAGvG,SAAWb,OAAOyH,KAAKJ,GAAGxG,OACzC,OAAO,EAEX,IAAK,MAAMhE,KAAOuK,EACd,IAAKrE,EAAkBoE,YAAYC,EAAEvK,GAAMwK,EAAExK,IACzC,OAAO,EAGf,OAAO,CACX,CACA,kBAAO2G,CAAY4D,EAAGC,GAClB,MAAMR,EAAS,GACf,IAAIa,GAAmB,EACvB,IAAK,MAAMZ,KAAgBC,EAAA,GAAuB,CAC9C,MAAMY,GAAW5E,EAAkBoE,YAAYC,EAAEjK,MAAM2J,EAAaJ,IAAKW,EAAElK,MAAM2J,EAAaJ,KAC9FG,EAAOC,EAAaJ,IAAMiB,EACtBA,IACAD,GAAmB,EAE3B,CACA,OAAQA,EAAmB,IAAI,KAA0Bb,GAAU,IACvE,CAKA,kBAAOvB,CAAYrI,EAAS2K,GACxB,IAAID,GAAU,EACd,IAAK,MAAMb,KAAgBC,EAAA,GACvB,GAAIa,EAAOC,eAAef,EAAaE,MAAO,CAC1C,MAAMH,EAASC,EAAaxB,YAAYrI,EAAQ6J,EAAaE,MAAOY,EAAOd,EAAaE,OACxF/J,EAAQ6J,EAAaE,MAAQH,EAAO1I,SACpCwJ,EAAUA,GAAWd,EAAOiB,SAChC,CAEJ,OAAOH,CACX,EAEJ,SAAS9E,EAA2BkF,GAChC,MAAM9K,EAAU+K,EAAA,GAAkBD,GAElC,ODlOG,SAAwB9K,GAC3BN,EAAuBiB,MAAMqK,SAAQC,GAAaA,EAAUlL,MAAMC,IACtE,CC+NIkL,CAAelL,GACRA,CACX,C,wECpRO,MAAMmL,UAA4B,KACrC,WAAAxL,CAAYyL,EAAqB5F,GAC7Bb,QACA7E,KAAK8E,aAAe9E,KAAK+E,UAAU,IAAI,MACvC/E,KAAKgF,YAAchF,KAAK8E,aAAa5C,MACrClC,KAAKuL,qBAAuBD,EAC5BtL,KAAKwL,QAAU,EACfxL,KAAKyL,SAAW,EAChBzL,KAAK0L,gBAAkB,KACvB1L,KAAK2L,4BAA2B,EAAOjG,EAC3C,CACA,OAAAkG,GACI5L,KAAK6L,gBACLhH,MAAM+G,SACV,CACA,QAAA9D,GACI,OAAO9H,KAAKwL,MAChB,CACA,SAAAzD,GACI,OAAO/H,KAAKyL,OAChB,CACA,cAAArF,GACI,IAAKpG,KAAK0L,iBAAmB1L,KAAKuL,qBAAsB,CAKpD,IAAIO,EAAqB,KACzB,MAAMC,EAAa,KACXD,EACA9L,KAAKyI,QAAQ,CAAEuD,MAAOF,EAAmBE,MAAOC,OAAQH,EAAmBG,SAG3EjM,KAAKyI,SACT,EAEJ,IAAIyD,GAAgB,EAChBC,GAAoC,EACxC,MAAMtB,EAAS,KACX,GAAIqB,IAAkBC,EAClB,IACID,GAAgB,EAChBC,GAAoC,EACpCJ,GACJ,CACA,SACI,SAA6B,QAAU/L,KAAKuL,uBAAuB,KAC/DY,GAAoC,EACpCtB,GAAQ,GAEhB,CACJ,EAEJ7K,KAAK0L,gBAAkB,IAAIU,gBAAgBlJ,IAEnC4I,EADA5I,GAAWA,EAAQ,IAAMA,EAAQ,GAAGmJ,YACf,CAAEL,MAAO9I,EAAQ,GAAGmJ,YAAYL,MAAOC,OAAQ/I,EAAQ,GAAGmJ,YAAYJ,QAGtE,KAEzBC,GAAgB,EAChBrB,GAAQ,IAEZ7K,KAAK0L,gBAAgBjD,QAAQzI,KAAKuL,qBACtC,CACJ,CACA,aAAAM,GACQ7L,KAAK0L,kBACL1L,KAAK0L,gBAAgBY,aACrBtM,KAAK0L,gBAAkB,KAE/B,CACA,OAAAjD,CAAQ/C,GACJ1F,KAAK2L,4BAA2B,EAAMjG,EAC1C,CACA,0BAAAiG,CAA2BY,EAAW7G,GAClC,IAAI8G,EAAgB,EAChBC,EAAiB,EACjB/G,GACA8G,EAAgB9G,EAAUsG,MAC1BS,EAAiB/G,EAAUuG,QAEtBjM,KAAKuL,uBACViB,EAAgBxM,KAAKuL,qBAAqBmB,YAC1CD,EAAiBzM,KAAKuL,qBAAqBoB,cAE/CH,EAAgB1D,KAAK8D,IAAI,EAAGJ,GAC5BC,EAAiB3D,KAAK8D,IAAI,EAAGH,GACzBzM,KAAKwL,SAAWgB,GAAiBxM,KAAKyL,UAAYgB,IAClDzM,KAAKwL,OAASgB,EACdxM,KAAKyL,QAAUgB,EACXF,GACAvM,KAAK8E,aAAa4B,OAG9B,E,8FCjGG,MAAMmG,EACT,WAAAhN,CAAYiN,EAAKC,GACb/M,KAAK8M,IAAMA,EACX9M,KAAK+M,KAAOA,EACZ/M,KAAKgM,MAAQ,CACjB,CACA,OAAAgB,CAAQhB,GACJhM,KAAKgM,MAAQA,CACjB,EAEJ,MAAMiB,EACF,WAAApN,CAAYgH,EAAcqG,GACtBlN,KAAKmN,cAAgBtG,EACrB7G,KAAKoN,UAAYF,EACjBlN,KAAKqN,WAAa,KAClBrN,KAAKsN,cAAgB,IACzB,CACA,IAAArM,CAAKsM,GAEDvN,KAAKwN,qBAELD,EAAaE,SAASC,KAAKC,YAAY3N,KAAKqN,YAE5CrN,KAAK4N,uBAELL,EAAaE,SAASC,KAAKG,YAAY7N,KAAKqN,YAC5CrN,KAAKqN,WAAa,KAClBrN,KAAKsN,cAAgB,IACzB,CACA,kBAAAE,GACI,MAAM7I,EAAY8I,SAASK,cAAc,OACzCnJ,EAAUjF,MAAMqO,SAAW,WAC3BpJ,EAAUjF,MAAMsO,IAAM,WACtBrJ,EAAUjF,MAAMsM,MAAQ,UACxB,MAAMiC,EAAiBR,SAASK,cAAc,QAC9C,OAAcG,EAAgBjO,KAAKmN,eACnCxI,EAAUgJ,YAAYM,GACtB,MAAMC,EAAcT,SAASK,cAAc,QAC3C,OAAcI,EAAalO,KAAKmN,eAChCe,EAAYxO,MAAMX,WAAa,OAC/B4F,EAAUgJ,YAAYO,GACtB,MAAMC,EAAgBV,SAASK,cAAc,QAC7C,OAAcK,EAAenO,KAAKmN,eAClCgB,EAAczO,MAAM0O,UAAY,SAChCzJ,EAAUgJ,YAAYQ,GACtB,MAAME,EAAe,GACrB,IAAK,MAAMC,KAAWtO,KAAKoN,UAAW,CAClC,IAAImB,EACiB,IAAjBD,EAAQvB,OACRwB,EAASN,GAEQ,IAAjBK,EAAQvB,OACRwB,EAASL,GAEQ,IAAjBI,EAAQvB,OACRwB,EAASJ,GAEbI,EAAOZ,YAAYF,SAASK,cAAc,OAC1C,MAAMU,EAAcf,SAASK,cAAc,QAC3Cb,EAAmBwB,QAAQD,EAAaF,GACxCC,EAAOZ,YAAYa,GACnBH,EAAavN,KAAK0N,EACtB,CACAxO,KAAKqN,WAAa1I,EAClB3E,KAAKsN,cAAgBe,CACzB,CACA,cAAOI,CAAQD,EAAaF,GACxB,GAAoB,MAAhBA,EAAQxB,IAAa,CACrB,IAAI4B,EAAa,IAEjB,IAAK,IAAIvK,EAAI,EAAGA,EAAI,EAAGA,IACnBuK,GAAcA,EAElBF,EAAYG,UAAYD,CAC5B,KACK,CACD,IAAIE,EAAaN,EAAQxB,IAEzB,IAAK,IAAI3I,EAAI,EAAGA,EAAI,EAAGA,IACnByK,GAAcA,EAElBJ,EAAYK,YAAcD,CAC9B,CACJ,CACA,oBAAAhB,GACI,IAAK,IAAIzJ,EAAI,EAAG2K,EAAM9O,KAAKoN,UAAUtJ,OAAQK,EAAI2K,EAAK3K,IAAK,CACvD,MAAMmK,EAAUtO,KAAKoN,UAAUjJ,GACzBqK,EAAcxO,KAAKsN,cAAcnJ,GACvCmK,EAAQtB,QAAQwB,EAAYO,YAAc,IAC9C,CACJ,E,0BCpFG,MAAMC,UAA6B,KACtC,WAAAnP,GACIgF,SAAShB,WACT7D,KAAKiP,OAAS,IAAIC,IAClBlP,KAAKmP,gCAAkC,EACvCnP,KAAK8E,aAAe9E,KAAK+E,UAAU,IAAI,MACvC/E,KAAKgF,YAAchF,KAAK8E,aAAa5C,KACzC,CACA,OAAA0J,IACiD,IAAzC5L,KAAKmP,iCACLC,aAAapP,KAAKmP,gCAClBnP,KAAKmP,gCAAkC,GAE3CtK,MAAM+G,SACV,CAIA,iBAAAyD,GACIrP,KAAKiP,OAAOK,QACZtP,KAAK8E,aAAa4B,MACtB,CACA,YAAA6I,CAAahC,GACT,MAAMiC,GAAW,QAAYjC,GAC7B,IAAIkC,EAAQzP,KAAKiP,OAAO9I,IAAIqJ,GAK5B,OAJKC,IACDA,EAAQ,IAAIC,EACZ1P,KAAKiP,OAAOU,IAAIH,EAAUC,IAEvBA,CACX,CACA,aAAAG,CAAcrC,EAAcsC,EAAM1P,GAChBH,KAAKuP,aAAahC,GAC1BuC,IAAID,EAAM1P,GACXA,EAAM4P,YAAsD,IAAzC/P,KAAKmP,iCAEzBnP,KAAKmP,+BAAiC5B,EAAayC,YAAW,KAC1DhQ,KAAKmP,gCAAkC,EACvCnP,KAAKiQ,wBAAwB1C,EAAa,GAC3C,KAEX,CACA,uBAAA0C,CAAwB1C,GACpB,MAAMkC,EAAQzP,KAAKuP,aAAahC,GAC1BvM,EAASyO,EAAMS,YACrB,IAAIC,GAAmB,EACvB,IAAK,MAAMN,KAAQ7O,EACV6O,EAAKE,YACNI,GAAmB,EACnBV,EAAMW,OAAOP,IAGjBM,GACAnQ,KAAK8E,aAAa4B,MAE1B,CAIA,YAAA2J,CAAa9C,EAAc1G,GACvB,MAAM4I,EAAQzP,KAAKuP,aAAahC,GAChC,IAAKkC,EAAMa,IAAIzJ,GAAe,CAC1B,IAAI0J,EAAavQ,KAAKwQ,oBAAoBjD,EAAc1G,IACpD0J,EAAWE,gCAAkC,GAAKF,EAAWG,gCAAkC,GAAKH,EAAWI,YAAc,GAAKJ,EAAWK,eAAiB,KAE9JL,EAAa,IAAI,KAAS,CACtBzJ,WAAY,gBAAuByG,GAAcpN,MACjDR,WAAY4Q,EAAW5Q,WACvBZ,WAAYwR,EAAWxR,WACvBE,SAAUsR,EAAWtR,SACrBE,oBAAqBoR,EAAWpR,oBAChCE,sBAAuBkR,EAAWlR,sBAClCE,WAAYgR,EAAWhR,WACvBE,cAAe8Q,EAAW9Q,cAC1BoR,YAAaN,EAAWM,YACxBJ,+BAAgC3H,KAAK8D,IAAI2D,EAAWE,+BAAgC,GACpFC,+BAAgC5H,KAAK8D,IAAI2D,EAAWG,+BAAgC,GACpFI,+BAAgCP,EAAWO,+BAC3CH,WAAY7H,KAAK8D,IAAI2D,EAAWI,WAAY,GAC5CI,YAAajI,KAAK8D,IAAI2D,EAAWQ,YAAa,GAC9CC,cAAelI,KAAK8D,IAAI2D,EAAWS,cAAe,GAClDJ,cAAe9H,KAAK8D,IAAI2D,EAAWK,cAAe,KACnD,IAEP5Q,KAAK4P,cAAcrC,EAAc1G,EAAc0J,EACnD,CACA,OAAOd,EAAMtJ,IAAIU,EACrB,CACA,cAAAoK,CAAenE,EAAKC,EAAMmE,EAAKC,GAC3B,MAAMrH,EAAS,IAAI+C,EAAiBC,EAAKC,GAGzC,OAFAmE,EAAIpQ,KAAKgJ,GACTqH,SAAsDA,EAAUrQ,KAAKgJ,GAC9DA,CACX,CACA,mBAAA0G,CAAoBjD,EAAc1G,GAC9B,MAAMqK,EAAM,GACNC,EAAY,GACZC,EAA4BpR,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAChGE,EAA4BrR,KAAKiR,eAAe,IAAU,EAAsCC,EAAK,MACrGI,EAAQtR,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC5EI,EAASvR,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC7EK,EAASxR,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC7EM,EAASzR,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC7EO,EAAS1R,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC7EQ,EAAS3R,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC7ES,EAAS5R,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC7EU,EAAS7R,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC7EW,EAAS9R,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC7EY,EAAS/R,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAC7Ea,EAAShS,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAE7Ec,EAAkBjS,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GACtFe,EAA2BlS,KAAKiR,eAAe,IAAK,EAAsCC,EAAK,MAE/FiB,EAASnS,KAAKiR,eAAe,IAAK,EAAsCC,EAAKC,GAE7EH,EAAgBhR,KAAKiR,eAAemB,OAAOC,aAAa,OAAS,EAAsCnB,EAAK,MAE5GoB,EAAqB,WAC3B,IAAK,IAAInO,EAAI,EAAG2K,EAAMwD,EAA2BnO,EAAI2K,EAAK3K,IACtDnE,KAAKiR,eAAeqB,EAAmBC,OAAOpO,GAAI,EAAsC+M,EAAKC,GAC7FnR,KAAKiR,eAAeqB,EAAmBC,OAAOpO,GAAI,EAAqC+M,EAAKC,GAC5FnR,KAAKiR,eAAeqB,EAAmBC,OAAOpO,GAAI,EAAmC+M,EAAKC,IDpC/F,SAAwB5D,EAAc1G,EAAcqG,GACxC,IAAID,EAAmBpG,EAAcqG,GAC7CjM,KAAKsM,EAChB,CCmCQiF,CAAejF,EAAc1G,EAAcqK,GAC3C,MAAMN,EAAgB9H,KAAK8D,IAAI2E,EAAOvF,MAAOwF,EAAOxF,MAAOyF,EAAOzF,MAAO0F,EAAO1F,MAAO2F,EAAO3F,MAAO4F,EAAO5F,MAAO6F,EAAO7F,MAAO8F,EAAO9F,MAAO+F,EAAO/F,MAAOgG,EAAOhG,OACpK,IAAI6E,EAAehK,EAAa1H,sBAAwB,SACxD,MAAMsT,EAAiBtB,EAAU,GAAGnF,MACpC,IAAK,IAAI7H,EAAI,EAAG2K,EAAMqC,EAAUrN,OAAQ+M,GAAe1M,EAAI2K,EAAK3K,IAAK,CACjE,MAAMuO,EAAOD,EAAiBtB,EAAUhN,GAAG6H,MAC3C,GAAI0G,GAAQ,MAASA,EAAO,KAAO,CAC/B7B,GAAc,EACd,KACJ,CACJ,CACA,IAAIC,GAAiC,EASrC,OARID,GAAeqB,EAAyBlG,QAAUyG,IAElD3B,GAAiC,GAEjCoB,EAAyBlG,MAAQiG,EAAgBjG,QAEjD8E,GAAiC,GAE9B,IAAI,KAAS,CAChBhK,WAAY,gBAAuByG,GAAcpN,MACjDR,WAAYkH,EAAalH,WACzBZ,WAAY8H,EAAa9H,WACzBE,SAAU4H,EAAa5H,SACvBE,oBAAqB0H,EAAa1H,oBAClCE,sBAAuBwH,EAAaxH,sBACpCE,WAAYsH,EAAatH,WACzBE,cAAeoH,EAAapH,cAC5BoR,YAAaA,EACbJ,+BAAgCW,EAA0BpF,MAC1D0E,+BAAgCW,EAA0BrF,MAC1D8E,+BAAgCA,EAChCH,WAAYW,EAAMtF,MAClB+E,YAAaoB,EAAOnG,MACpBgF,cAAeA,EAAchF,MAC7B4E,cAAeA,IAChB,EACP,EAEJ,MAAMlB,EACF,WAAA7P,GACIG,KAAK2S,MAAQ1P,OAAO2P,OAAO,MAC3B5S,KAAKyJ,QAAUxG,OAAO2P,OAAO,KACjC,CACA,GAAAtC,CAAIT,GACA,MAAMgD,EAAShD,EAAKiD,QACpB,QAAS9S,KAAKyJ,QAAQoJ,EAC1B,CACA,GAAA1M,CAAI0J,GACA,MAAMgD,EAAShD,EAAKiD,QACpB,OAAO9S,KAAKyJ,QAAQoJ,EACxB,CACA,GAAA/C,CAAID,EAAM1P,GACN,MAAM0S,EAAShD,EAAKiD,QACpB9S,KAAK2S,MAAME,GAAUhD,EACrB7P,KAAKyJ,QAAQoJ,GAAU1S,CAC3B,CACA,MAAAiQ,CAAOP,GACH,MAAMgD,EAAShD,EAAKiD,eACb9S,KAAK2S,MAAME,UACX7S,KAAKyJ,QAAQoJ,EACxB,CACA,SAAA3C,GACI,OAAOjN,OAAOyH,KAAK1K,KAAK2S,OAAOI,KAAIpJ,GAAM3J,KAAKyJ,QAAQE,IAC1D,EAEG,MAAMqJ,EAAmB,IAAIhE,C","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/browser/config/domFontInfo.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/browser/config/migrateOptions.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/browser/config/editorConfiguration.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/browser/config/elementSizeObserver.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/browser/config/charWidthReader.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/monaco-editor@0.50.0/node_modules/monaco-editor/esm/vs/editor/browser/config/fontMeasurements.js"],"sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { FastDomNode } from '../../../base/browser/fastDomNode.js';\nexport function applyFontInfo(domNode, fontInfo) {\n if (domNode instanceof FastDomNode) {\n domNode.setFontFamily(fontInfo.getMassagedFontFamily());\n domNode.setFontWeight(fontInfo.fontWeight);\n domNode.setFontSize(fontInfo.fontSize);\n domNode.setFontFeatureSettings(fontInfo.fontFeatureSettings);\n domNode.setFontVariationSettings(fontInfo.fontVariationSettings);\n domNode.setLineHeight(fontInfo.lineHeight);\n domNode.setLetterSpacing(fontInfo.letterSpacing);\n }\n else {\n domNode.style.fontFamily = fontInfo.getMassagedFontFamily();\n domNode.style.fontWeight = fontInfo.fontWeight;\n domNode.style.fontSize = fontInfo.fontSize + 'px';\n domNode.style.fontFeatureSettings = fontInfo.fontFeatureSettings;\n domNode.style.fontVariationSettings = fontInfo.fontVariationSettings;\n domNode.style.lineHeight = fontInfo.lineHeight + 'px';\n domNode.style.letterSpacing = fontInfo.letterSpacing + 'px';\n }\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nexport class EditorSettingMigration {\n constructor(key, migrate) {\n this.key = key;\n this.migrate = migrate;\n }\n apply(options) {\n const value = EditorSettingMigration._read(options, this.key);\n const read = (key) => EditorSettingMigration._read(options, key);\n const write = (key, value) => EditorSettingMigration._write(options, key, value);\n this.migrate(value, read, write);\n }\n static _read(source, key) {\n if (typeof source === 'undefined') {\n return undefined;\n }\n const firstDotIndex = key.indexOf('.');\n if (firstDotIndex >= 0) {\n const firstSegment = key.substring(0, firstDotIndex);\n return this._read(source[firstSegment], key.substring(firstDotIndex + 1));\n }\n return source[key];\n }\n static _write(target, key, value) {\n const firstDotIndex = key.indexOf('.');\n if (firstDotIndex >= 0) {\n const firstSegment = key.substring(0, firstDotIndex);\n target[firstSegment] = target[firstSegment] || {};\n this._write(target[firstSegment], key.substring(firstDotIndex + 1), value);\n return;\n }\n target[key] = value;\n }\n}\nEditorSettingMigration.items = [];\nfunction registerEditorSettingMigration(key, migrate) {\n EditorSettingMigration.items.push(new EditorSettingMigration(key, migrate));\n}\nfunction registerSimpleEditorSettingMigration(key, values) {\n registerEditorSettingMigration(key, (value, read, write) => {\n if (typeof value !== 'undefined') {\n for (const [oldValue, newValue] of values) {\n if (value === oldValue) {\n write(key, newValue);\n return;\n }\n }\n }\n });\n}\n/**\n * Compatibility with old options\n */\nexport function migrateOptions(options) {\n EditorSettingMigration.items.forEach(migration => migration.apply(options));\n}\nregisterSimpleEditorSettingMigration('wordWrap', [[true, 'on'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('lineNumbers', [[true, 'on'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('cursorBlinking', [['visible', 'solid']]);\nregisterSimpleEditorSettingMigration('renderWhitespace', [[true, 'boundary'], [false, 'none']]);\nregisterSimpleEditorSettingMigration('renderLineHighlight', [[true, 'line'], [false, 'none']]);\nregisterSimpleEditorSettingMigration('acceptSuggestionOnEnter', [[true, 'on'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('tabCompletion', [[false, 'off'], [true, 'onlySnippets']]);\nregisterSimpleEditorSettingMigration('hover', [[true, { enabled: true }], [false, { enabled: false }]]);\nregisterSimpleEditorSettingMigration('parameterHints', [[true, { enabled: true }], [false, { enabled: false }]]);\nregisterSimpleEditorSettingMigration('autoIndent', [[false, 'advanced'], [true, 'full']]);\nregisterSimpleEditorSettingMigration('matchBrackets', [[true, 'always'], [false, 'never']]);\nregisterSimpleEditorSettingMigration('renderFinalNewline', [[true, 'on'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('cursorSmoothCaretAnimation', [[true, 'on'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('occurrencesHighlight', [[true, 'singleFile'], [false, 'off']]);\nregisterSimpleEditorSettingMigration('wordBasedSuggestions', [[true, 'matchingDocuments'], [false, 'off']]);\nregisterEditorSettingMigration('autoClosingBrackets', (value, read, write) => {\n if (value === false) {\n write('autoClosingBrackets', 'never');\n if (typeof read('autoClosingQuotes') === 'undefined') {\n write('autoClosingQuotes', 'never');\n }\n if (typeof read('autoSurround') === 'undefined') {\n write('autoSurround', 'never');\n }\n }\n});\nregisterEditorSettingMigration('renderIndentGuides', (value, read, write) => {\n if (typeof value !== 'undefined') {\n write('renderIndentGuides', undefined);\n if (typeof read('guides.indentation') === 'undefined') {\n write('guides.indentation', !!value);\n }\n }\n});\nregisterEditorSettingMigration('highlightActiveIndentGuide', (value, read, write) => {\n if (typeof value !== 'undefined') {\n write('highlightActiveIndentGuide', undefined);\n if (typeof read('guides.highlightActiveIndentation') === 'undefined') {\n write('guides.highlightActiveIndentation', !!value);\n }\n }\n});\nconst suggestFilteredTypesMapping = {\n method: 'showMethods',\n function: 'showFunctions',\n constructor: 'showConstructors',\n deprecated: 'showDeprecated',\n field: 'showFields',\n variable: 'showVariables',\n class: 'showClasses',\n struct: 'showStructs',\n interface: 'showInterfaces',\n module: 'showModules',\n property: 'showProperties',\n event: 'showEvents',\n operator: 'showOperators',\n unit: 'showUnits',\n value: 'showValues',\n constant: 'showConstants',\n enum: 'showEnums',\n enumMember: 'showEnumMembers',\n keyword: 'showKeywords',\n text: 'showWords',\n color: 'showColors',\n file: 'showFiles',\n reference: 'showReferences',\n folder: 'showFolders',\n typeParameter: 'showTypeParameters',\n snippet: 'showSnippets',\n};\nregisterEditorSettingMigration('suggest.filteredTypes', (value, read, write) => {\n if (value && typeof value === 'object') {\n for (const entry of Object.entries(suggestFilteredTypesMapping)) {\n const v = value[entry[0]];\n if (v === false) {\n if (typeof read(`suggest.${entry[1]}`) === 'undefined') {\n write(`suggest.${entry[1]}`, false);\n }\n }\n }\n write('suggest.filteredTypes', undefined);\n }\n});\nregisterEditorSettingMigration('quickSuggestions', (input, read, write) => {\n if (typeof input === 'boolean') {\n const value = input ? 'on' : 'off';\n const newValue = { comments: value, strings: value, other: value };\n write('quickSuggestions', newValue);\n }\n});\n// Sticky Scroll\nregisterEditorSettingMigration('experimental.stickyScroll.enabled', (value, read, write) => {\n if (typeof value === 'boolean') {\n write('experimental.stickyScroll.enabled', undefined);\n if (typeof read('stickyScroll.enabled') === 'undefined') {\n write('stickyScroll.enabled', value);\n }\n }\n});\nregisterEditorSettingMigration('experimental.stickyScroll.maxLineCount', (value, read, write) => {\n if (typeof value === 'number') {\n write('experimental.stickyScroll.maxLineCount', undefined);\n if (typeof read('stickyScroll.maxLineCount') === 'undefined') {\n write('stickyScroll.maxLineCount', value);\n }\n }\n});\n// Code Actions on Save\nregisterEditorSettingMigration('codeActionsOnSave', (value, read, write) => {\n if (value && typeof value === 'object') {\n let toBeModified = false;\n const newValue = {};\n for (const entry of Object.entries(value)) {\n if (typeof entry[1] === 'boolean') {\n toBeModified = true;\n newValue[entry[0]] = entry[1] ? 'explicit' : 'never';\n }\n else {\n newValue[entry[0]] = entry[1];\n }\n }\n if (toBeModified) {\n write(`codeActionsOnSave`, newValue);\n }\n }\n});\n// Migrate Quick Fix Settings\nregisterEditorSettingMigration('codeActionWidget.includeNearbyQuickfixes', (value, read, write) => {\n if (typeof value === 'boolean') {\n write('codeActionWidget.includeNearbyQuickfixes', undefined);\n if (typeof read('codeActionWidget.includeNearbyQuickFixes') === 'undefined') {\n write('codeActionWidget.includeNearbyQuickFixes', value);\n }\n }\n});\n// Migrate the lightbulb settings\nregisterEditorSettingMigration('lightbulb.enabled', (value, read, write) => {\n if (typeof value === 'boolean') {\n write('lightbulb.enabled', value ? undefined : 'off');\n }\n});\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nimport * as browser from '../../../base/browser/browser.js';\nimport * as arrays from '../../../base/common/arrays.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { Disposable } from '../../../base/common/lifecycle.js';\nimport * as objects from '../../../base/common/objects.js';\nimport * as platform from '../../../base/common/platform.js';\nimport { ElementSizeObserver } from './elementSizeObserver.js';\nimport { FontMeasurements } from './fontMeasurements.js';\nimport { migrateOptions } from './migrateOptions.js';\nimport { TabFocus } from './tabFocus.js';\nimport { ComputeOptionsMemory, ConfigurationChangedEvent, editorOptionsRegistry } from '../../common/config/editorOptions.js';\nimport { EditorZoom } from '../../common/config/editorZoom.js';\nimport { BareFontInfo } from '../../common/config/fontInfo.js';\nimport { IAccessibilityService } from '../../../platform/accessibility/common/accessibility.js';\nimport { getWindow, getWindowById } from '../../../base/browser/dom.js';\nimport { PixelRatio } from '../../../base/browser/pixelRatio.js';\nlet EditorConfiguration = class EditorConfiguration extends Disposable {\n constructor(isSimpleWidget, contextMenuId, options, container, _accessibilityService) {\n super();\n this._accessibilityService = _accessibilityService;\n this._onDidChange = this._register(new Emitter());\n this.onDidChange = this._onDidChange.event;\n this._onDidChangeFast = this._register(new Emitter());\n this.onDidChangeFast = this._onDidChangeFast.event;\n this._isDominatedByLongLines = false;\n this._viewLineCount = 1;\n this._lineNumbersDigitCount = 1;\n this._reservedHeight = 0;\n this._glyphMarginDecorationLaneCount = 1;\n this._computeOptionsMemory = new ComputeOptionsMemory();\n this.isSimpleWidget = isSimpleWidget;\n this.contextMenuId = contextMenuId;\n this._containerObserver = this._register(new ElementSizeObserver(container, options.dimension));\n this._targetWindowId = getWindow(container).vscodeWindowId;\n this._rawOptions = deepCloneAndMigrateOptions(options);\n this._validatedOptions = EditorOptionsUtil.validateOptions(this._rawOptions);\n this.options = this._computeOptions();\n if (this.options.get(13 /* EditorOption.automaticLayout */)) {\n this._containerObserver.startObserving();\n }\n this._register(EditorZoom.onDidChangeZoomLevel(() => this._recomputeOptions()));\n this._register(TabFocus.onDidChangeTabFocus(() => this._recomputeOptions()));\n this._register(this._containerObserver.onDidChange(() => this._recomputeOptions()));\n this._register(FontMeasurements.onDidChange(() => this._recomputeOptions()));\n this._register(PixelRatio.getInstance(getWindow(container)).onDidChange(() => this._recomputeOptions()));\n this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(() => this._recomputeOptions()));\n }\n _recomputeOptions() {\n const newOptions = this._computeOptions();\n const changeEvent = EditorOptionsUtil.checkEquals(this.options, newOptions);\n if (changeEvent === null) {\n // nothing changed!\n return;\n }\n this.options = newOptions;\n this._onDidChangeFast.fire(changeEvent);\n this._onDidChange.fire(changeEvent);\n }\n _computeOptions() {\n const partialEnv = this._readEnvConfiguration();\n const bareFontInfo = BareFontInfo.createFromValidatedSettings(this._validatedOptions, partialEnv.pixelRatio, this.isSimpleWidget);\n const fontInfo = this._readFontInfo(bareFontInfo);\n const env = {\n memory: this._computeOptionsMemory,\n outerWidth: partialEnv.outerWidth,\n outerHeight: partialEnv.outerHeight - this._reservedHeight,\n fontInfo: fontInfo,\n extraEditorClassName: partialEnv.extraEditorClassName,\n isDominatedByLongLines: this._isDominatedByLongLines,\n viewLineCount: this._viewLineCount,\n lineNumbersDigitCount: this._lineNumbersDigitCount,\n emptySelectionClipboard: partialEnv.emptySelectionClipboard,\n pixelRatio: partialEnv.pixelRatio,\n tabFocusMode: TabFocus.getTabFocusMode(),\n accessibilitySupport: partialEnv.accessibilitySupport,\n glyphMarginDecorationLaneCount: this._glyphMarginDecorationLaneCount\n };\n return EditorOptionsUtil.computeOptions(this._validatedOptions, env);\n }\n _readEnvConfiguration() {\n return {\n extraEditorClassName: getExtraEditorClassName(),\n outerWidth: this._containerObserver.getWidth(),\n outerHeight: this._containerObserver.getHeight(),\n emptySelectionClipboard: browser.isWebKit || browser.isFirefox,\n pixelRatio: PixelRatio.getInstance(getWindowById(this._targetWindowId, true).window).value,\n accessibilitySupport: (this._accessibilityService.isScreenReaderOptimized()\n ? 2 /* AccessibilitySupport.Enabled */\n : this._accessibilityService.getAccessibilitySupport())\n };\n }\n _readFontInfo(bareFontInfo) {\n return FontMeasurements.readFontInfo(getWindowById(this._targetWindowId, true).window, bareFontInfo);\n }\n getRawOptions() {\n return this._rawOptions;\n }\n updateOptions(_newOptions) {\n const newOptions = deepCloneAndMigrateOptions(_newOptions);\n const didChange = EditorOptionsUtil.applyUpdate(this._rawOptions, newOptions);\n if (!didChange) {\n return;\n }\n this._validatedOptions = EditorOptionsUtil.validateOptions(this._rawOptions);\n this._recomputeOptions();\n }\n observeContainer(dimension) {\n this._containerObserver.observe(dimension);\n }\n setIsDominatedByLongLines(isDominatedByLongLines) {\n if (this._isDominatedByLongLines === isDominatedByLongLines) {\n return;\n }\n this._isDominatedByLongLines = isDominatedByLongLines;\n this._recomputeOptions();\n }\n setModelLineCount(modelLineCount) {\n const lineNumbersDigitCount = digitCount(modelLineCount);\n if (this._lineNumbersDigitCount === lineNumbersDigitCount) {\n return;\n }\n this._lineNumbersDigitCount = lineNumbersDigitCount;\n this._recomputeOptions();\n }\n setViewLineCount(viewLineCount) {\n if (this._viewLineCount === viewLineCount) {\n return;\n }\n this._viewLineCount = viewLineCount;\n this._recomputeOptions();\n }\n setReservedHeight(reservedHeight) {\n if (this._reservedHeight === reservedHeight) {\n return;\n }\n this._reservedHeight = reservedHeight;\n this._recomputeOptions();\n }\n setGlyphMarginDecorationLaneCount(decorationLaneCount) {\n if (this._glyphMarginDecorationLaneCount === decorationLaneCount) {\n return;\n }\n this._glyphMarginDecorationLaneCount = decorationLaneCount;\n this._recomputeOptions();\n }\n};\nEditorConfiguration = __decorate([\n __param(4, IAccessibilityService)\n], EditorConfiguration);\nexport { EditorConfiguration };\nfunction digitCount(n) {\n let r = 0;\n while (n) {\n n = Math.floor(n / 10);\n r++;\n }\n return r ? r : 1;\n}\nfunction getExtraEditorClassName() {\n let extra = '';\n if (!browser.isSafari && !browser.isWebkitWebView) {\n // Use user-select: none in all browsers except Safari and native macOS WebView\n extra += 'no-user-select ';\n }\n if (browser.isSafari) {\n // See https://github.com/microsoft/vscode/issues/108822\n extra += 'no-minimap-shadow ';\n extra += 'enable-user-select ';\n }\n if (platform.isMacintosh) {\n extra += 'mac ';\n }\n return extra;\n}\nclass ValidatedEditorOptions {\n constructor() {\n this._values = [];\n }\n _read(option) {\n return this._values[option];\n }\n get(id) {\n return this._values[id];\n }\n _write(option, value) {\n this._values[option] = value;\n }\n}\nexport class ComputedEditorOptions {\n constructor() {\n this._values = [];\n }\n _read(id) {\n if (id >= this._values.length) {\n throw new Error('Cannot read uninitialized value');\n }\n return this._values[id];\n }\n get(id) {\n return this._read(id);\n }\n _write(id, value) {\n this._values[id] = value;\n }\n}\nclass EditorOptionsUtil {\n static validateOptions(options) {\n const result = new ValidatedEditorOptions();\n for (const editorOption of editorOptionsRegistry) {\n const value = (editorOption.name === '_never_' ? undefined : options[editorOption.name]);\n result._write(editorOption.id, editorOption.validate(value));\n }\n return result;\n }\n static computeOptions(options, env) {\n const result = new ComputedEditorOptions();\n for (const editorOption of editorOptionsRegistry) {\n result._write(editorOption.id, editorOption.compute(env, result, options._read(editorOption.id)));\n }\n return result;\n }\n static _deepEquals(a, b) {\n if (typeof a !== 'object' || typeof b !== 'object' || !a || !b) {\n return a === b;\n }\n if (Array.isArray(a) || Array.isArray(b)) {\n return (Array.isArray(a) && Array.isArray(b) ? arrays.equals(a, b) : false);\n }\n if (Object.keys(a).length !== Object.keys(b).length) {\n return false;\n }\n for (const key in a) {\n if (!EditorOptionsUtil._deepEquals(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n static checkEquals(a, b) {\n const result = [];\n let somethingChanged = false;\n for (const editorOption of editorOptionsRegistry) {\n const changed = !EditorOptionsUtil._deepEquals(a._read(editorOption.id), b._read(editorOption.id));\n result[editorOption.id] = changed;\n if (changed) {\n somethingChanged = true;\n }\n }\n return (somethingChanged ? new ConfigurationChangedEvent(result) : null);\n }\n /**\n * Returns true if something changed.\n * Modifies `options`.\n */\n static applyUpdate(options, update) {\n let changed = false;\n for (const editorOption of editorOptionsRegistry) {\n if (update.hasOwnProperty(editorOption.name)) {\n const result = editorOption.applyUpdate(options[editorOption.name], update[editorOption.name]);\n options[editorOption.name] = result.newValue;\n changed = changed || result.didChange;\n }\n }\n return changed;\n }\n}\nfunction deepCloneAndMigrateOptions(_options) {\n const options = objects.deepClone(_options);\n migrateOptions(options);\n return options;\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { Disposable } from '../../../base/common/lifecycle.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { getWindow, scheduleAtNextAnimationFrame } from '../../../base/browser/dom.js';\nexport class ElementSizeObserver extends Disposable {\n constructor(referenceDomElement, dimension) {\n super();\n this._onDidChange = this._register(new Emitter());\n this.onDidChange = this._onDidChange.event;\n this._referenceDomElement = referenceDomElement;\n this._width = -1;\n this._height = -1;\n this._resizeObserver = null;\n this.measureReferenceDomElement(false, dimension);\n }\n dispose() {\n this.stopObserving();\n super.dispose();\n }\n getWidth() {\n return this._width;\n }\n getHeight() {\n return this._height;\n }\n startObserving() {\n if (!this._resizeObserver && this._referenceDomElement) {\n // We want to react to the resize observer only once per animation frame\n // The first time the resize observer fires, we will react to it immediately.\n // Otherwise we will postpone to the next animation frame.\n // We'll use `observeContentRect` to store the content rect we received.\n let observedDimenstion = null;\n const observeNow = () => {\n if (observedDimenstion) {\n this.observe({ width: observedDimenstion.width, height: observedDimenstion.height });\n }\n else {\n this.observe();\n }\n };\n let shouldObserve = false;\n let alreadyObservedThisAnimationFrame = false;\n const update = () => {\n if (shouldObserve && !alreadyObservedThisAnimationFrame) {\n try {\n shouldObserve = false;\n alreadyObservedThisAnimationFrame = true;\n observeNow();\n }\n finally {\n scheduleAtNextAnimationFrame(getWindow(this._referenceDomElement), () => {\n alreadyObservedThisAnimationFrame = false;\n update();\n });\n }\n }\n };\n this._resizeObserver = new ResizeObserver((entries) => {\n if (entries && entries[0] && entries[0].contentRect) {\n observedDimenstion = { width: entries[0].contentRect.width, height: entries[0].contentRect.height };\n }\n else {\n observedDimenstion = null;\n }\n shouldObserve = true;\n update();\n });\n this._resizeObserver.observe(this._referenceDomElement);\n }\n }\n stopObserving() {\n if (this._resizeObserver) {\n this._resizeObserver.disconnect();\n this._resizeObserver = null;\n }\n }\n observe(dimension) {\n this.measureReferenceDomElement(true, dimension);\n }\n measureReferenceDomElement(emitEvent, dimension) {\n let observedWidth = 0;\n let observedHeight = 0;\n if (dimension) {\n observedWidth = dimension.width;\n observedHeight = dimension.height;\n }\n else if (this._referenceDomElement) {\n observedWidth = this._referenceDomElement.clientWidth;\n observedHeight = this._referenceDomElement.clientHeight;\n }\n observedWidth = Math.max(5, observedWidth);\n observedHeight = Math.max(5, observedHeight);\n if (this._width !== observedWidth || this._height !== observedHeight) {\n this._width = observedWidth;\n this._height = observedHeight;\n if (emitEvent) {\n this._onDidChange.fire();\n }\n }\n }\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { applyFontInfo } from './domFontInfo.js';\nexport class CharWidthRequest {\n constructor(chr, type) {\n this.chr = chr;\n this.type = type;\n this.width = 0;\n }\n fulfill(width) {\n this.width = width;\n }\n}\nclass DomCharWidthReader {\n constructor(bareFontInfo, requests) {\n this._bareFontInfo = bareFontInfo;\n this._requests = requests;\n this._container = null;\n this._testElements = null;\n }\n read(targetWindow) {\n // Create a test container with all these test elements\n this._createDomElements();\n // Add the container to the DOM\n targetWindow.document.body.appendChild(this._container);\n // Read character widths\n this._readFromDomElements();\n // Remove the container from the DOM\n targetWindow.document.body.removeChild(this._container);\n this._container = null;\n this._testElements = null;\n }\n _createDomElements() {\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.top = '-50000px';\n container.style.width = '50000px';\n const regularDomNode = document.createElement('div');\n applyFontInfo(regularDomNode, this._bareFontInfo);\n container.appendChild(regularDomNode);\n const boldDomNode = document.createElement('div');\n applyFontInfo(boldDomNode, this._bareFontInfo);\n boldDomNode.style.fontWeight = 'bold';\n container.appendChild(boldDomNode);\n const italicDomNode = document.createElement('div');\n applyFontInfo(italicDomNode, this._bareFontInfo);\n italicDomNode.style.fontStyle = 'italic';\n container.appendChild(italicDomNode);\n const testElements = [];\n for (const request of this._requests) {\n let parent;\n if (request.type === 0 /* CharWidthRequestType.Regular */) {\n parent = regularDomNode;\n }\n if (request.type === 2 /* CharWidthRequestType.Bold */) {\n parent = boldDomNode;\n }\n if (request.type === 1 /* CharWidthRequestType.Italic */) {\n parent = italicDomNode;\n }\n parent.appendChild(document.createElement('br'));\n const testElement = document.createElement('span');\n DomCharWidthReader._render(testElement, request);\n parent.appendChild(testElement);\n testElements.push(testElement);\n }\n this._container = container;\n this._testElements = testElements;\n }\n static _render(testElement, request) {\n if (request.chr === ' ') {\n let htmlString = '\\u00a0';\n // Repeat character 256 (2^8) times\n for (let i = 0; i < 8; i++) {\n htmlString += htmlString;\n }\n testElement.innerText = htmlString;\n }\n else {\n let testString = request.chr;\n // Repeat character 256 (2^8) times\n for (let i = 0; i < 8; i++) {\n testString += testString;\n }\n testElement.textContent = testString;\n }\n }\n _readFromDomElements() {\n for (let i = 0, len = this._requests.length; i < len; i++) {\n const request = this._requests[i];\n const testElement = this._testElements[i];\n request.fulfill(testElement.offsetWidth / 256);\n }\n }\n}\nexport function readCharWidths(targetWindow, bareFontInfo, requests) {\n const reader = new DomCharWidthReader(bareFontInfo, requests);\n reader.read(targetWindow);\n}\n","/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { getWindowId } from '../../../base/browser/dom.js';\nimport { PixelRatio } from '../../../base/browser/pixelRatio.js';\nimport { Emitter } from '../../../base/common/event.js';\nimport { Disposable } from '../../../base/common/lifecycle.js';\nimport { CharWidthRequest, readCharWidths } from './charWidthReader.js';\nimport { EditorFontLigatures } from '../../common/config/editorOptions.js';\nimport { FontInfo } from '../../common/config/fontInfo.js';\nexport class FontMeasurementsImpl extends Disposable {\n constructor() {\n super(...arguments);\n this._cache = new Map();\n this._evictUntrustedReadingsTimeout = -1;\n this._onDidChange = this._register(new Emitter());\n this.onDidChange = this._onDidChange.event;\n }\n dispose() {\n if (this._evictUntrustedReadingsTimeout !== -1) {\n clearTimeout(this._evictUntrustedReadingsTimeout);\n this._evictUntrustedReadingsTimeout = -1;\n }\n super.dispose();\n }\n /**\n * Clear all cached font information and trigger a change event.\n */\n clearAllFontInfos() {\n this._cache.clear();\n this._onDidChange.fire();\n }\n _ensureCache(targetWindow) {\n const windowId = getWindowId(targetWindow);\n let cache = this._cache.get(windowId);\n if (!cache) {\n cache = new FontMeasurementsCache();\n this._cache.set(windowId, cache);\n }\n return cache;\n }\n _writeToCache(targetWindow, item, value) {\n const cache = this._ensureCache(targetWindow);\n cache.put(item, value);\n if (!value.isTrusted && this._evictUntrustedReadingsTimeout === -1) {\n // Try reading again after some time\n this._evictUntrustedReadingsTimeout = targetWindow.setTimeout(() => {\n this._evictUntrustedReadingsTimeout = -1;\n this._evictUntrustedReadings(targetWindow);\n }, 5000);\n }\n }\n _evictUntrustedReadings(targetWindow) {\n const cache = this._ensureCache(targetWindow);\n const values = cache.getValues();\n let somethingRemoved = false;\n for (const item of values) {\n if (!item.isTrusted) {\n somethingRemoved = true;\n cache.remove(item);\n }\n }\n if (somethingRemoved) {\n this._onDidChange.fire();\n }\n }\n /**\n * Read font information.\n */\n readFontInfo(targetWindow, bareFontInfo) {\n const cache = this._ensureCache(targetWindow);\n if (!cache.has(bareFontInfo)) {\n let readConfig = this._actualReadFontInfo(targetWindow, bareFontInfo);\n if (readConfig.typicalHalfwidthCharacterWidth <= 2 || readConfig.typicalFullwidthCharacterWidth <= 2 || readConfig.spaceWidth <= 2 || readConfig.maxDigitWidth <= 2) {\n // Hey, it's Bug 14341 ... we couldn't read\n readConfig = new FontInfo({\n pixelRatio: PixelRatio.getInstance(targetWindow).value,\n fontFamily: readConfig.fontFamily,\n fontWeight: readConfig.fontWeight,\n fontSize: readConfig.fontSize,\n fontFeatureSettings: readConfig.fontFeatureSettings,\n fontVariationSettings: readConfig.fontVariationSettings,\n lineHeight: readConfig.lineHeight,\n letterSpacing: readConfig.letterSpacing,\n isMonospace: readConfig.isMonospace,\n typicalHalfwidthCharacterWidth: Math.max(readConfig.typicalHalfwidthCharacterWidth, 5),\n typicalFullwidthCharacterWidth: Math.max(readConfig.typicalFullwidthCharacterWidth, 5),\n canUseHalfwidthRightwardsArrow: readConfig.canUseHalfwidthRightwardsArrow,\n spaceWidth: Math.max(readConfig.spaceWidth, 5),\n middotWidth: Math.max(readConfig.middotWidth, 5),\n wsmiddotWidth: Math.max(readConfig.wsmiddotWidth, 5),\n maxDigitWidth: Math.max(readConfig.maxDigitWidth, 5),\n }, false);\n }\n this._writeToCache(targetWindow, bareFontInfo, readConfig);\n }\n return cache.get(bareFontInfo);\n }\n _createRequest(chr, type, all, monospace) {\n const result = new CharWidthRequest(chr, type);\n all.push(result);\n monospace === null || monospace === void 0 ? void 0 : monospace.push(result);\n return result;\n }\n _actualReadFontInfo(targetWindow, bareFontInfo) {\n const all = [];\n const monospace = [];\n const typicalHalfwidthCharacter = this._createRequest('n', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const typicalFullwidthCharacter = this._createRequest('\\uff4d', 0 /* CharWidthRequestType.Regular */, all, null);\n const space = this._createRequest(' ', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit0 = this._createRequest('0', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit1 = this._createRequest('1', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit2 = this._createRequest('2', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit3 = this._createRequest('3', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit4 = this._createRequest('4', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit5 = this._createRequest('5', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit6 = this._createRequest('6', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit7 = this._createRequest('7', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit8 = this._createRequest('8', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const digit9 = this._createRequest('9', 0 /* CharWidthRequestType.Regular */, all, monospace);\n // monospace test: used for whitespace rendering\n const rightwardsArrow = this._createRequest('→', 0 /* CharWidthRequestType.Regular */, all, monospace);\n const halfwidthRightwardsArrow = this._createRequest('→', 0 /* CharWidthRequestType.Regular */, all, null);\n // U+00B7 - MIDDLE DOT\n const middot = this._createRequest('·', 0 /* CharWidthRequestType.Regular */, all, monospace);\n // U+2E31 - WORD SEPARATOR MIDDLE DOT\n const wsmiddotWidth = this._createRequest(String.fromCharCode(0x2E31), 0 /* CharWidthRequestType.Regular */, all, null);\n // monospace test: some characters\n const monospaceTestChars = '|/-_ilm%';\n for (let i = 0, len = monospaceTestChars.length; i < len; i++) {\n this._createRequest(monospaceTestChars.charAt(i), 0 /* CharWidthRequestType.Regular */, all, monospace);\n this._createRequest(monospaceTestChars.charAt(i), 1 /* CharWidthRequestType.Italic */, all, monospace);\n this._createRequest(monospaceTestChars.charAt(i), 2 /* CharWidthRequestType.Bold */, all, monospace);\n }\n readCharWidths(targetWindow, bareFontInfo, all);\n const maxDigitWidth = Math.max(digit0.width, digit1.width, digit2.width, digit3.width, digit4.width, digit5.width, digit6.width, digit7.width, digit8.width, digit9.width);\n let isMonospace = (bareFontInfo.fontFeatureSettings === EditorFontLigatures.OFF);\n const referenceWidth = monospace[0].width;\n for (let i = 1, len = monospace.length; isMonospace && i < len; i++) {\n const diff = referenceWidth - monospace[i].width;\n if (diff < -0.001 || diff > 0.001) {\n isMonospace = false;\n break;\n }\n }\n let canUseHalfwidthRightwardsArrow = true;\n if (isMonospace && halfwidthRightwardsArrow.width !== referenceWidth) {\n // using a halfwidth rightwards arrow would break monospace...\n canUseHalfwidthRightwardsArrow = false;\n }\n if (halfwidthRightwardsArrow.width > rightwardsArrow.width) {\n // using a halfwidth rightwards arrow would paint a larger arrow than a regular rightwards arrow\n canUseHalfwidthRightwardsArrow = false;\n }\n return new FontInfo({\n pixelRatio: PixelRatio.getInstance(targetWindow).value,\n fontFamily: bareFontInfo.fontFamily,\n fontWeight: bareFontInfo.fontWeight,\n fontSize: bareFontInfo.fontSize,\n fontFeatureSettings: bareFontInfo.fontFeatureSettings,\n fontVariationSettings: bareFontInfo.fontVariationSettings,\n lineHeight: bareFontInfo.lineHeight,\n letterSpacing: bareFontInfo.letterSpacing,\n isMonospace: isMonospace,\n typicalHalfwidthCharacterWidth: typicalHalfwidthCharacter.width,\n typicalFullwidthCharacterWidth: typicalFullwidthCharacter.width,\n canUseHalfwidthRightwardsArrow: canUseHalfwidthRightwardsArrow,\n spaceWidth: space.width,\n middotWidth: middot.width,\n wsmiddotWidth: wsmiddotWidth.width,\n maxDigitWidth: maxDigitWidth\n }, true);\n }\n}\nclass FontMeasurementsCache {\n constructor() {\n this._keys = Object.create(null);\n this._values = Object.create(null);\n }\n has(item) {\n const itemId = item.getId();\n return !!this._values[itemId];\n }\n get(item) {\n const itemId = item.getId();\n return this._values[itemId];\n }\n put(item, value) {\n const itemId = item.getId();\n this._keys[itemId] = item;\n this._values[itemId] = value;\n }\n remove(item) {\n const itemId = item.getId();\n delete this._keys[itemId];\n delete this._values[itemId];\n }\n getValues() {\n return Object.keys(this._keys).map(id => this._values[id]);\n }\n}\nexport const FontMeasurements = new FontMeasurementsImpl();\n"],"names":["applyFontInfo","domNode","fontInfo","setFontFamily","getMassagedFontFamily","setFontWeight","fontWeight","setFontSize","fontSize","setFontFeatureSettings","fontFeatureSettings","setFontVariationSettings","fontVariationSettings","setLineHeight","lineHeight","setLetterSpacing","letterSpacing","style","fontFamily","EditorSettingMigration","constructor","key","migrate","this","apply","options","value","_read","_write","source","firstDotIndex","indexOf","firstSegment","substring","target","registerEditorSettingMigration","items","push","registerSimpleEditorSettingMigration","values","read","write","oldValue","newValue","enabled","undefined","suggestFilteredTypesMapping","method","function","deprecated","field","variable","class","struct","interface","module","property","event","operator","unit","constant","enum","enumMember","keyword","text","color","file","reference","folder","typeParameter","snippet","entry","Object","entries","input","comments","strings","other","toBeModified","__decorate","decorators","desc","d","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","EditorConfiguration","isSimpleWidget","contextMenuId","container","_accessibilityService","super","_onDidChange","_register","onDidChange","_onDidChangeFast","onDidChangeFast","_isDominatedByLongLines","_viewLineCount","_lineNumbersDigitCount","_reservedHeight","_glyphMarginDecorationLaneCount","_computeOptionsMemory","_containerObserver","dimension","_targetWindowId","vscodeWindowId","_rawOptions","deepCloneAndMigrateOptions","_validatedOptions","EditorOptionsUtil","validateOptions","_computeOptions","get","startObserving","_recomputeOptions","onDidChangeScreenReaderOptimized","newOptions","changeEvent","checkEquals","fire","partialEnv","_readEnvConfiguration","bareFontInfo","pixelRatio","_readFontInfo","env","memory","outerWidth","outerHeight","extraEditorClassName","isDominatedByLongLines","viewLineCount","lineNumbersDigitCount","emptySelectionClipboard","tabFocusMode","accessibilitySupport","glyphMarginDecorationLaneCount","computeOptions","getExtraEditorClassName","getWidth","getHeight","browser","window","isScreenReaderOptimized","getAccessibilitySupport","getRawOptions","updateOptions","_newOptions","applyUpdate","observeContainer","observe","setIsDominatedByLongLines","setModelLineCount","modelLineCount","n","Math","floor","digitCount","setViewLineCount","setReservedHeight","reservedHeight","setGlyphMarginDecorationLaneCount","decorationLaneCount","extra","platform","ValidatedEditorOptions","_values","option","id","ComputedEditorOptions","Error","result","editorOption","editorOptions","name","validate","compute","_deepEquals","a","b","Array","isArray","arrays","keys","somethingChanged","changed","update","hasOwnProperty","didChange","_options","objects","forEach","migration","migrateOptions","ElementSizeObserver","referenceDomElement","_referenceDomElement","_width","_height","_resizeObserver","measureReferenceDomElement","dispose","stopObserving","observedDimenstion","observeNow","width","height","shouldObserve","alreadyObservedThisAnimationFrame","ResizeObserver","contentRect","disconnect","emitEvent","observedWidth","observedHeight","clientWidth","clientHeight","max","CharWidthRequest","chr","type","fulfill","DomCharWidthReader","requests","_bareFontInfo","_requests","_container","_testElements","targetWindow","_createDomElements","document","body","appendChild","_readFromDomElements","removeChild","createElement","position","top","regularDomNode","boldDomNode","italicDomNode","fontStyle","testElements","request","parent","testElement","_render","htmlString","innerText","testString","textContent","len","offsetWidth","FontMeasurementsImpl","_cache","Map","_evictUntrustedReadingsTimeout","clearTimeout","clearAllFontInfos","clear","_ensureCache","windowId","cache","FontMeasurementsCache","set","_writeToCache","item","put","isTrusted","setTimeout","_evictUntrustedReadings","getValues","somethingRemoved","remove","readFontInfo","has","readConfig","_actualReadFontInfo","typicalHalfwidthCharacterWidth","typicalFullwidthCharacterWidth","spaceWidth","maxDigitWidth","isMonospace","canUseHalfwidthRightwardsArrow","middotWidth","wsmiddotWidth","_createRequest","all","monospace","typicalHalfwidthCharacter","typicalFullwidthCharacter","space","digit0","digit1","digit2","digit3","digit4","digit5","digit6","digit7","digit8","digit9","rightwardsArrow","halfwidthRightwardsArrow","middot","String","fromCharCode","monospaceTestChars","charAt","readCharWidths","referenceWidth","diff","_keys","create","itemId","getId","map","FontMeasurements"],"sourceRoot":""}