{"version":3,"file":"chunks/c9737f651ca764.js","mappings":";sJAIA,MAAMA,EAAe,CACnBC,kCAAmC,SACnCC,4BAA6B,UAGzBC,EAAO,IAAM,GAGnB,MAAMC,UAA0B,EAAAC,UAC9BC,YAAYC,GACVC,MAAMD,IAEN,OAAgBE,KAAM,mBAAmB,KAAM,CAC7CR,kCAAmCQ,KAAKC,0BACxCR,4BAA6BO,KAAKP,iCAGpC,OAAgBO,KAAM,6BAA6B,KACjD,MAAM,QACJE,EAAO,QACPC,GACEH,KAAKF,OACH,kCACJN,EAAoCE,GAClCM,KAAKI,QAQT,MAAO,CANS,CAACC,EAAOC,KACN,MAAZJ,GAAmBA,IAAYI,GACjCH,EAAQE,EAAOC,EACjB,KAGkBd,IAAoC,KAG1D,OAAgBQ,KAAM,+BAA+B,KACnD,MAAM,4BACJP,EAA8BC,GAC5BM,KAAKI,QACT,OAAOX,GAA6B,IAGtCO,KAAKO,aAAe,CAClBd,4BAA6BO,KAAKP,4BAClCD,kCAAmCQ,KAAKC,0BAE5C,CAEAO,SACE,MAAM,SACJC,GACET,KAAKF,MACT,OAAoB,gBAAoB,aAAgC,CACtEY,MAAOV,KAAKO,cACXE,EACL,ECzDF,IAAIE,GD6DJ,OAAgBhB,EAAmB,eAAgBJ,IAEnD,OAAgBI,EAAmB,oBAAqBJ,GC1DtDoB,ED4DF,ECzDA,oFCVA,iBAA0BT,GAAW,OAAO,SAAUU,GAAW,OAAO,SAAUC,GAC9E,IAAIC,EAAgBD,EAAqBD,GACrCG,EAAcD,EAAcE,QAIhC,OAHID,GACAA,EAAYE,KAAKf,GAEdY,CACX,CAAG,CAAI,qCCHHvB,EAAe,CACfE,4BAA6B,SAC7BD,kCAAmC,UAsCvC,QApCsC,SAAU0B,GAE5C,SAASC,EAAiBrB,GACtB,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KAuBxC,OAtBAoB,EAAME,gBAAkB,WAAc,MAAO,CACzC7B,4BAA6B2B,EAAMG,oBACnC,EACJH,EAAMG,oBAAsB,WACxB,IAAIC,EAAOJ,EAAMtB,MAAM0B,KACnB/B,EAA8B2B,EAAMhB,QAAQX,4BAC5CgC,EAAuD,mBAAhChC,GACvBA,KACA,GACJ,OAAO,QAASgC,EAAc,CAACD,GACnC,EACAJ,EAAMnB,0BAA4B,WAC9B,IAAIT,EAAoC4B,EAAMhB,QAAQZ,kCAItD,MAHqE,mBAAtCA,GAC3BA,KACA,EAER,EACA4B,EAAMM,MAAQ,CACVjC,4BAA6B2B,EAAMG,oBACnC/B,kCAAmC4B,EAAMnB,2BAEtCmB,CACX,CAOA,OAjCA,QAAUD,EAAkBD,GA2B5BC,EAAiBQ,UAAUnB,OAAS,WAChC,IAAIC,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,aAAgC,CAAEC,MAAOV,KAAK0B,OAAS,EAAAE,SAAA,KAAcnB,GACrG,EACAU,EAAiBU,aAAetC,EAChC4B,EAAiBW,kBAAoBvC,EAC9B4B,CACX,CAnCqC,CAmCnC,EAAAvB,WC5BF,EAZ2B,SAAUmC,GAAe,OAAO,SAAUC,GACjE,IAAIC,EAAuB,cAAiB,SAAUnC,EAAOoC,GACzD,IAAIC,EAAKrC,EAAMsC,iBAAkBA,OAA0B,IAAPD,EAAgB,CAAC,EAAIA,EAAIE,GAAO,QAAOvC,EAAO,CAAC,qBAC/FwC,GAAgB,SAAS,QAAS,CAAC,EAAGP,GAAcK,GACxD,OAAQ,gBAAoB,EAAkB,CAAEZ,KAAMc,GAClD,gBAAoBN,GAAkB,QAAS,CAAC,EAAGK,EAAM,CAAEH,IAAKA,KACxE,IAIA,OAFAD,EAAqBM,YAAc,yBAA2BP,EAAiBO,aAC3EP,EAAiBQ,MAAQ,IACtBP,CACX,CAAG,ECgCH,EA5CsC,SAAUf,GAE5C,SAASuB,EAAiB3C,GACtB,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KA6BxC,OA5BAoB,EAAMJ,MAAQ,WACV,OAAII,EAAMsB,UAENC,QAAQC,KAAK,gDACN,MAUJ,IAAIH,EAAiB,CAAErC,SARhB,QAASgB,EAAMhB,SAQmByC,UAPjC,QAASzB,EAAMyB,UAOsCjC,QADtDkC,KAAKC,MAAMD,KAAKE,UAAU5B,EAAMR,WAElD,EACAQ,EAAMH,KAAO,SAAUf,GACfkB,EAAMsB,SAENC,QAAQC,KAAK,gCAGjBxB,EAAMyB,SAASI,SAAQ,SAAUC,GAAW,OAAOA,EAAQ9B,EAAOlB,EAAU,IAC5EkB,EAAMsB,UAAW,EACrB,EACAtB,EAAMhB,QAAUN,EAAMM,SAAW,GACjCgB,EAAMyB,SAAW/C,EAAM+C,UAAY,GACnCzB,EAAMsB,UAAW,EACVtB,CACX,CASA,OAzCA,QAAUqB,EAAkBvB,GAiC5BuB,EAAiBd,UAAUwB,OAAS,SAAUC,GAC1C,OAAIpD,KAAK0C,UAELC,QAAQC,KAAK,iDACN5C,MAEJkB,EAAOS,UAAUwB,OAAO9B,KAAKrB,KAAMoD,EAC9C,EACOX,CACX,CA3CqC,CCDD,WAChC,SAASY,EAAevD,GACpB,IAAIsB,EAAQpB,KACZA,KAAKgB,MAAQ,WAKT,OAAO,IAAIqC,EAAe,CAAEzC,QADdkC,KAAKC,MAAMD,KAAKE,UAAU5B,EAAMR,WAElD,EACAZ,KAAKY,QAAUd,EAAMc,OACzB,CAUA,OATAyC,EAAe1B,UAAUwB,OAAS,SAAUC,GAOxC,MANuB,mBAAZA,IACPpD,KAAKY,QAAUwC,EAAQpD,KAAKY,UAET,iBAAZwC,IACPpD,KAAKY,SAAU,SAAS,QAAS,CAAC,EAAGZ,KAAKY,SAAUwC,IAEjDpD,IACX,EACOqD,CACX,CAtBmC,ICsFnC,EA9E8C,SAAUnC,GAEpD,SAASoC,EAAyBxD,GAC9B,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KAyDxC,OApDAoB,EAAMmC,mBAAqB,CAAC,EAC5BnC,EAAMoC,kBAAoB,CAAC,EAE3BpC,EAAMqC,wBAA0B,SAAU3D,GACtC,IAAI4D,EAAuBC,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAgBC,QAAO,SAAUC,GAAK,OAAO3C,EAAMmC,mBAAmBQ,KAAOjE,EAAMiE,EAAI,IAO1I,OANIL,EAAqBM,OAAS,IAC9B5C,EAAMoC,mBAAoB,SAAS,QAAS,CAAC,EAAGpC,EAAMoC,mBAAoBpC,EAAM6C,uBAAuBP,EAAsB5D,IAC7H4D,EAAqBT,SAAQ,SAAUc,GACnC3C,EAAMmC,mBAAmBQ,GAAKjE,EAAMiE,EACxC,KAEG3C,EAAMoC,iBACjB,EACApC,EAAM6C,uBAAyB,SAAUC,EAAkBpE,GACvD,OAAOoE,EAAiBC,QAAO,SAAUC,EAAUC,GAC/C,IAAIlC,EACAmC,EAAelD,EAAMtB,MAAM+D,eAAeQ,GAC1CE,EAAmBzE,EAAMuE,GAC7B,MAAK,CAAC,SAAU,YAAYG,gBAAgBF,IAerC,SAAS,QAAS,CAAC,EAAGF,KAAYjC,EAAK,CAAC,GAAMkC,GAZ9B,WAEnB,IADA,IAAII,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIE,EAAyC,mBAAjBN,EACtBA,EAAalD,EAAMP,qBAAsBf,GACzCsB,EAAMP,qBAAqByD,GAC7BC,GACAA,EAAiBM,WAAM,GAAQ,QAASJ,EAAM,CAACG,IAEvD,EAC2FzC,IAdhFiC,CAef,GAAG,CAAC,EACR,EACAhD,EAAMP,qBAAuB,SAAUD,GACnC,IAAIuB,EAAKf,EAAMhB,QAASZ,EAAoC2C,EAAG3C,kCAAmCC,EAA8B0C,EAAG1C,4BACnI,OAAO,IAAI,EAAiB,CACxBW,QAAiD,mBAAhCX,GACbA,KACA,GACJoD,SAAwD,mBAAtCrD,GACdA,KACA,GACJoB,QAASA,GAEjB,EACA+C,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAgBZ,SAAQ,SAAUc,GACtD3C,EAAMmC,mBAAmBQ,GAAKjE,EAAMgF,sBAAsBf,EAC9D,IACA3C,EAAMoC,kBAAoBpC,EAAM6C,uBAAuBN,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAiB/D,EAAMgF,uBAC/F1D,CACX,CAeA,OA3EA,QAAUkC,EAA0BpC,GA6DpCoC,EAAyB3B,UAAUnB,OAAS,WACxC,IAAIgD,EAAoBxD,KAAKyD,wBAAwBzD,KAAKF,MAAMgF,uBAChE,OAAO9E,KAAKF,MAAMW,SAAS,CACvBI,qBAAsBb,KAAKa,qBAC3B2C,kBAAmBA,GAE3B,EACAF,EAAyBzB,aAAe,CACpCrC,kCAAmC,SACnCC,4BAA6B,UAEjC6D,EAAyByB,aAAe,CACpClB,eAAgB,CAAC,GAEdP,CACX,CA7E6C,CA6E3C,aCzEF,EAV0B,SAAUO,GAAkB,OAAO,SAAU7B,GACnE,IAAIgD,EAAsB,cAAiB,SAAUlF,EAAOoC,GAAO,OAAQ,gBAAoB,EAA0B,CAAE2B,eAAgBA,EAAgBiB,sBAAuBhF,IAAS,SAAUqC,GACjM,IAAItB,EAAuBsB,EAAGtB,qBAAsB2C,EAAoBrB,EAAGqB,kBAC3E,OAAQ,gBAAoBxB,GAAkB,QAAS,CAAC,EAAGlC,EAAO0D,EAAmB,CAAE3C,qBAAsBA,EAAsBqB,IAAKA,IAC5I,GAAK,IAIL,OAFA8C,EAAoBzC,YAAc,wBAA0BP,EAAiBO,aACzEP,EAAiBQ,MAAQ,IACtBwC,CACX,CAAG,qICPQC,EAA8B,MC2C9BC,GD1CoC,MA4C7C,YCFkB,SAAgBhD,EAAKiD,GAEvC,GAAmB,mBAARjD,EACT,OAvCoB,SAAoBkD,GAC1C,GAAkB,mBAAPA,EAAmB,CAC5B,IAAK,IAAIC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGd,EAAKc,EAAO,GAAKZ,UAAUY,GAG7B,OAAOH,EAAGP,WAAM,EAAQJ,EAC1B,CACF,CA+BWe,CAAWtD,EAAKiD,GAET,MAAPjD,IACLA,EAAIuD,QAAUN,EAEpB,GC/CIO,EAAe,CACjBC,SAAU,WACVC,IAAK,EACLC,KAAM,EACNC,QAAS,EACTC,cAAe,QAEbC,EAAoB,CAAC,EACdC,EAEX,SAAUC,GAGR,SAASD,IAGP,IAFA,IAAI7E,EAEKiE,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAwGzB,OArGAnE,EAAQ8E,EAAiB7E,KAAKwD,MAAMqB,EAAkB,CAAClG,MAAMmG,OAAO1B,KAAUzE,MAE9E,QAAgB,OAAuBoB,GAAQ,QAAS,CACtDI,UAAM4E,EACNC,eAAWD,KAGb,QAAgB,OAAuBhF,GAAQ,sBAAkB,IAEjE,QAAgB,OAAuBA,GAAQ,aAAc,OAE7D,QAAgB,OAAuBA,GAAQ,YAAa,OAE5D,QAAgB,OAAuBA,GAAQ,iBAAiB,SAAUkF,GACnEA,GAAclF,EAAMkF,aAAeA,IACxCpB,EAAO9D,EAAMtB,MAAMyG,SAAUD,GAC7BlF,EAAMkF,WAAaA,EAEnBlF,EAAMoF,uBACR,KAEA,QAAgB,OAAuBpF,GAAQ,gBAAgB,SAAUqF,GACvErF,EAAMqF,UAAYA,CACpB,KAEA,QAAgB,OAAuBrF,GAAQ,sBAAuB,CACpEsF,SAAS,EACTC,MAAO,IACPvB,GAAI,SAAY5D,GACd,IAAI6E,EAAY7E,EAAK6E,UAOrB,OALAjF,EAAMwF,SAAS,CACbpF,KAAMA,EACN6E,UAAWA,IAGN7E,CACT,KAGF,QAAgB,OAAuBJ,GAAQ,cAAc,WAC3D,MAAO,CACLiF,UAAWjF,EAAMtB,MAAMuG,UACvBQ,cAAezF,EAAMtB,MAAM+G,cAC3BC,cAAe1F,EAAMtB,MAAMgH,cAC3BC,WAAW,OAAS,CAAC,EAAG3F,EAAMtB,MAAMiH,UAAW,CAC7CC,OAAO,OAAS,CAAC,EAAG5F,EAAMtB,MAAMiH,WAAa3F,EAAMtB,MAAMiH,UAAUC,MAAO,CACxEN,UAAWtF,EAAMqF,UACjBQ,QAAS7F,EAAMqF,YAEjBS,WAAY,CACVR,SAAS,GAEXS,oBAAqB/F,EAAM+F,sBAGjC,KAEA,QAAgB,OAAuB/F,GAAQ,kBAAkB,WAC/D,OAAQA,EAAMkF,YAAelF,EAAMM,MAAMF,MAAsB,OAAS,CACtEmE,SAAUvE,EAAMM,MAAMF,KAAK4F,QAAQC,OAAO1B,UACzCvE,EAAMM,MAAMF,KAAK8F,QAF4B5B,CAGlD,KAEA,QAAgB,OAAuBtE,GAAQ,sBAAsB,WACnE,OAAQA,EAAMM,MAAMF,KAAmBJ,EAAMM,MAAM2E,eAAxBD,CAC7B,KAEA,QAAgB,OAAuBhF,GAAQ,iBAAiB,WAC9D,OAAQA,EAAMqF,WAAcrF,EAAMM,MAAMF,KAA2BJ,EAAMM,MAAMF,KAAK+F,YAArCvB,CACjD,KAEA,QAAgB,OAAuB5E,GAAQ,2BAA2B,WACxE,OAAOA,EAAMM,MAAMF,KAAOJ,EAAMM,MAAMF,KAAKgG,UAAOpB,CACpD,KAEA,QAAgB,OAAuBhF,GAAQ,yBAAyB,WACjEA,EAAMqG,iBAEXrG,EAAMqG,eAAeC,UAErBtG,EAAMqG,eAAiB,KACzB,KAEA,QAAgB,OAAuBrG,GAAQ,wBAAwB,WACrEA,EAAMuG,wBAEN,IACIrB,GADwB,OAAuBlF,GACZkF,WAEnCsB,EAAmBxG,EAAMtB,MAAM8H,iBAC9BA,GAAqBtB,IAC1BlF,EAAMqG,eAAiB,IAAI,IAASG,EAAkBtB,EAAYlF,EAAMyG,cAC1E,KAEA,QAAgB,OAAuBzG,GAAQ,kBAAkB,WAC3DA,EAAMqG,gBACRrG,EAAMqG,eAAeK,gBAEzB,IAEO1G,CACT,EA/GA,OAAe6E,EAAaC,GAiH5B,IAAI6B,EAAS9B,EAAYtE,UA6CzB,OA3CAoG,EAAOC,mBAAqB,SAA4BC,EAAWC,GAE7DlI,KAAKF,MAAMuG,YAAc4B,EAAU5B,WAAarG,KAAKF,MAAM8H,mBAAqBK,EAAUL,kBAAoB5H,KAAKF,MAAMgH,gBAAkBmB,EAAUnB,eAAiB9G,KAAKF,MAAMiH,YAAckB,EAAUlB,UAQ3M/G,KAAKwG,uBACIxG,KAAKF,MAAM+G,gBAAkBoB,EAAUpB,eAAiB7G,KAAKyH,iBACtEzH,KAAKF,MAAM+G,cAAgB7G,KAAKyH,eAAeU,uBAAyBnI,KAAKyH,eAAeW,yBAO1FF,EAAU7B,YAAcrG,KAAK0B,MAAM2E,WACrCrG,KAAK8H,gBAET,EAEAC,EAAOM,qBAAuB,WAC5BnD,EAAOlF,KAAKF,MAAMyG,SAAU,MAC5BvG,KAAK2H,uBACP,EAEAI,EAAOvH,OAAS,WACd,ODjK0C8H,ECiKvBtI,KAAKF,MAAMW,SDhKzB6E,MAAMiD,QAAQD,GAAOA,EAAI,GAAKA,GCgKK,CACtCpG,IAAKlC,KAAKwI,cACVC,MAAOzI,KAAK0I,iBACZrC,UAAWrG,KAAK2I,qBAChBC,gBAAiB5I,KAAK6I,0BACtBf,eAAgB9H,KAAK8H,eACrBgB,WAAY,CACV5G,IAAKlC,KAAK+I,aACVN,MAAOzI,KAAKgJ,mBDzKK,IAAqBV,CC4K5C,EAEOrC,CACT,CAhKA,CAgKE,aAWa,SAAS,EAAOgD,GAC7B,IAAIrB,EAAmBqB,EAAKrB,iBACxB9H,GAAQ,OAA8BmJ,EAAM,CAAC,qBAEjD,OAAO,gBAAoBhE,EAA4BiE,SAAU,MAAM,SAAUC,GAC/E,OAAO,gBAAoBlD,GAAa,OAAS,CAC/C2B,sBAAuCxB,IAArBwB,EAAiCA,EAAmBuB,GACrErJ,GACL,GACF,EAlBA,OAAgBmG,EAAa,eAAgB,CAC3CI,UAAW,SACXQ,eAAe,EACfe,sBAAkBxB,EAClBU,eAAe,IAGA,eCxLjB,MAAMsC,EAAe,CACjBC,KAAM,GACNzD,IAAK,CAAC,MAAO,SAAU,OACvB0D,MAAO,CAAC,QAAS,OAAQ,SACzBC,OAAQ,CAAC,SAAU,MAAO,UAC1B1D,KAAM,CAAC,OAAQ,QAAS,SAGrB,MAAM2D,UAAe,YACxB3J,cACIE,SAAS4E,WACT3E,KAAKyJ,cAAe,cAAWpD,IAJf,IAACqD,EAMb,MAAM3C,EAAY,CACd4C,KAAM,CACFjD,SAAS,EACTkD,UATKF,EAKwBrD,EAAUwD,MAAM,KAAK,GALpCT,EAAaM,IAU3BI,kBAAmB,YAEvBtC,KAAM,CACFd,SAAS,GAEbqD,OAAQ,CACJrD,SAAS,EACTqD,OAAQ/J,KAAKF,MAAMiK,QAEvBC,gBAAiB,CACbtD,SAAS,EACTuD,qBAAqB,EACrBH,kBAAmB,WAG3B,OAAI9J,KAAKF,MAAMiH,UACJ,IAAKA,KAAc/G,KAAKF,MAAMiH,WAElCA,CAAS,GAExB,CACAvG,SACI,MAAM,UAAE6F,EAAS,SAAE5F,EAAQ,iBAAEmH,GAAqB5H,KAAKF,MACjDiH,EAAY/G,KAAKyJ,aAAazJ,KAAKF,MAAMuG,WAC/C,OAAQ,gBAAoB,EAAa1C,OAAOuG,OAAO,CAAEpD,eAAe,EAAMC,UAAWA,EAAWV,UAAWA,GAAcuB,EAAmB,CAAEA,oBAAqB,CAAC,GAAKnH,EACjL,EAEJ+I,EAAOzE,aAAe,CAClBtE,SAAU,IAAM,KAChBsJ,OAAQ,SACR1D,UAAW,yDCnDR,MCMD8D,EAAmBC,IACrB,MAAMC,EAAYC,SAASC,cAAc,OAGzC,OAFAF,EAAUG,aAAa,QAAS,mBAChCH,EAAUG,aAAa,QAAS,YAAYJ,MACrCC,CAAS,EAEdI,EAAU,KCTJ,SAAWC,EAAWC,GAChC,IAAID,EAKF,MAAM,IAAIE,MARD,mBAYZ,CDAG,CAAUN,UAAYA,SAASO,MACxBP,SAASO,MAKdC,EAAenH,OAAOC,KAAK,MAAQO,QAAO,CAAC4G,EAAKvI,KAClD,MAAMwI,EAAYxI,EAGlB,OADAuI,EADc,KAAOC,MACRA,EACND,CAAG,GACX,CAAC,GACEE,EAAgBb,GACXzG,OAAOhC,UAAUuJ,eAAe7J,KAAKyJ,EAAcV,GACpDU,EAAaV,GACb,KAwBJe,EAAkB,CAACC,EAAWhB,KAChC,MAAM/J,EAvBO,EAAC+K,EAAWhB,KACzB,MAAMiB,EAAS,CACXC,MAAOL,EAAaM,OAAOnB,IAC3BA,UAGJ,GAA2B,mBAAhBoB,YACP,OAAO,IAAIA,YAAYJ,EAAW,CAC9BC,WAKR,MAAMhL,EAAQiK,SAASmB,YAAY,eAC7BC,EAAS,CACXC,SAAS,EACTC,aAAa,EACbP,UAGJ,OADAhL,EAAMwL,gBAAgBT,EAAWM,EAAOC,QAASD,EAAOE,YAAaF,EAAOL,QACrEhL,CAAK,EAGEyL,CAASV,EAAWhB,GAClC2B,OAAOC,cAAc3L,EAAM,EAEzB4L,EAAkB,KACpB,MAAMC,EAAgB5B,SAAS6B,cAAc,qCAC7C,IAAKD,EAAe,CAChB,MAAME,EAAS9B,SAASC,cAAc,OAItC,OAHA6B,EAAO5B,aAAa,QAAS,6BAC7B4B,EAAO5B,aAAa,QAAS,kBAC7BC,IAAU4B,YAAYD,GACfA,CACX,CACA,OAAOF,CAAa,EAMxB,MAAMI,UAAe,YACjBzM,cACIE,SAAS4E,WACT3E,KAAK0B,MAAQ,CACT2I,UAAW,EAAAkC,UAAYpC,EAAgBnK,KAAKF,MAAMsK,aAAUhE,EAC5DoG,iBAAiB,EAEzB,CACAxE,mBAAmBC,EAAWC,GAC1B,MAAM,UAAEmC,GAAcrK,KAAK0B,OACrB,OAAE0I,GAAWpK,KAAKF,MACxB,GAAIuK,GAAapC,EAAUmC,SAAWA,EAAQ,CAC1C,MAAMqC,EAAetC,EAAgBC,GACrC6B,IAAkBS,aAAarC,EAAWoC,GAE1CzM,KAAK4G,SAAS,CAAEyD,UAAWoC,GAC/B,MACUvE,EAAUmC,WAAaA,GAE7B4B,IAAkBI,YAAYhC,EAEtC,CACAsC,oBACI,MAAM,UAAEtC,GAAcrK,KAAK0B,OACrB,OAAE0I,GAAWpK,KAAKF,MACxB,GAAIuK,EACA4B,IAAkBI,YAAYhC,OAE7B,CAED,MAAMoC,EAAetC,EAAgBC,GAErCpK,KAAK4G,SAAS,CAAEyD,UAAWoC,GAC/B,CAEAzM,KAAK4G,SAAS,CACV4F,iBAAiB,IAErBrB,ED7G0B,gBC6GUI,OAAOnB,GAC/C,CACA/B,uBACI,MAAM,UAAEgC,GAAcrK,KAAK0B,OACrB,OAAE0I,GAAWpK,KAAKF,MACpBuK,IACA4B,IAAkBW,YAAYvC,GAEZC,SAAS6B,cAAc,yDAErC1B,IAAUmC,YAAYX,MAG9Bd,EDzH4B,kBCyHUI,OAAOnB,GACjD,CACA5J,SACI,MAAM,UAAE6J,EAAS,gBAAEmC,GAAoBxM,KAAK0B,MAC5C,OAAO2I,GAAamC,EACd,eAAsBxM,KAAKF,MAAMW,SAAU4J,GAC3C,IACV,EAEJiC,EAAOvH,aAAe,CAClBqF,OAAQ,GAEZ,+CElIA,MAAMyC,GAAkB,EAAAC,EAAA,GAAO,CAC3BC,MAAO,KACPC,KAAM,OAEJC,GAAY,EAAAH,EAAA,GAAO,CACrBC,MAAO,EAAAG,GACPF,KAAM,OAEGG,EAAmB,aAAW;aAC9B;;;EAIAC,GAAU,aAAOD,EAAkB;sBAC1BN;mBACH;;WAERI;;;;;;;;;;;IAWP,EAAGI,cAAeA,GAClB;KASkB,aAAW;;0ECxCjC,MAGMC,GAAgBC,IAAY,CAC9BC,WAAY,aAAaD,EAAQE,mDAA8BF,EAAQE,iBACvE3H,QAAS,IAEP4H,GAAmBhM,IACD,CAChBiM,SAAU,CAAC,EACXC,QAAS,CACL9H,QAAS,GAEb+H,QAAS,CACL/H,QAAS,IAGEpE,IAavB,GAPkB,EAAGjB,WAAUqN,kBAAiBC,kBAAiBC,WAAUC,GAAIC,MAC3E,MAAMX,EAAU,CACZE,MAAOM,EAAkB,EAzBV,IA0BfI,KAAML,EAAkB,EAzBV,IA2BlB,OAAQ,gBAAoBM,GAAA,GAAY,CAAEb,QAASA,EAASU,GAAIC,EAAQF,SAAUA,EAAUK,eAAe,EAAMC,QAAQ,IAAS5M,GAAUjB,EAT/H,EAAC8M,EAAS7L,IAAU,KAAM,IACpC4L,GAAaC,MACbG,GAAgBhM,KAOkI6M,CAAShB,EAAS7L,KAAS,EC7BvK8M,GAAiB,CAC1BC,OAAQ,YACRC,cAAe,UACfC,WAAY,CACRC,cAAe,UACfC,YAAW,KACXC,eAAc,OAGTC,GAAmB,CAC5BN,OAAQ,SACRC,cAAe,UACfC,WAAY,CACRC,cAAe,UACfC,YAAW,KACXC,eAAc,OCJhBE,GAAiB,CAAEC,SAAS,EAAMC,SAAS,GACjD,SAASC,GAAiBC,GACtB,MAAMC,EAAYD,GAAoB,CAAExJ,IAAK,EAAGC,KAAM,GAWtD,MAAO,CACHyJ,sBAX0B,KACnB,CACH1J,IAAKyJ,EAAUzJ,IACfC,KAAMwJ,EAAUxJ,KAChB0D,OAAQ8F,EAAUzJ,IAClB0D,MAAO+F,EAAUxJ,KACjB0J,MAAO,EACPC,OAAQ,IAKZC,YAAa,EACbC,aAAc,EAEtB,CACA,IAAIC,GAaJ,MAAM,WAAgB,YAClB9P,cACIE,SAAS4E,WACT3E,KAAK4P,WAAa,KAClB5P,KAAK6P,UAAY,KACjB7P,KAAK8P,sBAAwB,OAC7B9P,KAAK+P,gBAAkB,QACvB/P,KAAK0B,MAAQ,CACToM,iBAAiB,EACjBC,iBAAiB,EACjBiC,WAAW,EACXC,eAAe,GAEnBjQ,KAAKkQ,mBAAqB,KAClBlQ,KAAK0B,MAAMsO,YACXhQ,KAAK8P,wBACL9P,KAAK4G,SAAS,CAAEoJ,WAAW,EAAOlC,iBAAiB,IACvD,EAEJ9N,KAAKmQ,iBAAmB,KAChBnQ,KAAKF,MAAMsQ,qBACXpQ,KAAK8P,wBACL9P,KAAK4G,SAAS,CAAEoJ,WAAW,EAAOlC,iBAAiB,IACvD,EAEJ9N,KAAKqQ,gBAAkB,KACfrQ,KAAKF,MAAMwQ,yBACXtQ,KAAK8P,wBACL9P,KAAK4G,SAAS,CAAEoJ,WAAW,EAAOlC,iBAAiB,IACvD,EAEJ9N,KAAKuQ,gBAAmBC,IAChBA,EAAEC,SAAWzQ,KAAK4P,aAGtB5P,KAAK+P,gBAAkB,QAGlB/P,KAAK0Q,mBACN1Q,KAAK0Q,iBAAmBvB,GAAiB,CACrCtJ,KAAM2K,EAAEG,QACR/K,IAAK4K,EAAEI,WAGf5Q,KAAK6Q,oBAAmB,EAE5B7Q,KAAK8Q,YAAc,KACf9Q,KAAK+P,gBAAkB,WAGlB/P,KAAK0Q,mBACN1Q,KAAK0Q,iBAAmBvB,GAAiB,CACrCtJ,KAAM,EACND,IAAK,KAGb5F,KAAK6Q,mBAAmB,EAE5B7Q,KAAK6Q,kBAAoB,KACrB7Q,KAAK8P,wBACDiB,QAAQ/Q,KAAKF,MAAMkR,WAAahR,KAAK0B,MAAMsO,YAC3ChQ,KAAK8P,sBAzED,EAAC1K,EAAI6L,KACrB,MAAMC,EAAgBvB,IAAeA,GAAYwB,UAKjD,OAJID,GACAvB,GAAYyB,QAEI,KAAU,IAAMhM,EAAG8L,IAAgBA,EAAgB,EAAID,GACxDI,MAAM,EAmEgBC,EAAYvD,IACrC/N,KAAK4G,SAAS,CACVoJ,WAAW,EACXC,eAAe,EACflC,mBACF,GACH/N,KAAKF,MAAMyR,OAAS,GAC3B,EAEJvR,KAAKwR,kBAAqBhB,IA1Ed,IAACpL,EAAI6L,EA2ETT,EAAEC,SAAWzQ,KAAK4P,aAGtB5P,KAAK8P,wBACD9P,KAAK0B,MAAMsO,YACXhQ,KAAK8P,uBAhFA1K,EAgFoC0I,IACrC9N,KAAK4G,SAAS,CAAEoJ,WAAW,EAAOlC,mBAAkB,EAjF/CmD,EAkFNjR,KAAKF,MAAMyR,OAAS,EAjFnC5B,GAAc,KAAU8B,GAAWrM,EAAGqM,IAAUR,GACzCtB,GAAY0B,SAiFX,EAOJrR,KAAK0R,gBAAmBrR,IACfL,KAAK0B,MAAMuO,gBACZjQ,KAAK0Q,iBAAmBvB,GAAiB,CACrCtJ,KAAMxF,EAAMsQ,QACZ/K,IAAKvF,EAAMuQ,UAEnB,CAER,CACAvI,uBACIrI,KAAK8P,wBACL9P,KAAK2R,sBACT,CACA3J,mBAAmB4J,EAAY1J,IACtBA,EAAU8H,WAAahQ,KAAK0B,MAAMsO,WAC/BhQ,KAAKF,MAAM+R,QACX7R,KAAKF,MAAM+R,SACf9F,OAAO+F,iBAAiB,SAAU9R,KAAKkQ,mBAAoBlB,KAEtD9G,EAAU8H,YAAchQ,KAAK0B,MAAMsO,YACpChQ,KAAKF,MAAMiS,QACX/R,KAAKF,MAAMiS,SACf/R,KAAK2R,uBAEb,CACAA,uBACI5F,OAAOiG,oBAAoB,SAAUhS,KAAKkQ,mBAAoBlB,GAClE,CACAiD,iCACI,MAAM,SAAEtM,GAAa3F,KAAKF,MAC1B,MAAoB,UAAb6F,GAAiD,UAAzB3F,KAAK+P,eACxC,CACAvP,SACI,MAAM,SAAEC,EAAQ,SAAEkF,EAAQ,cAAEuM,EAAa,QAAElB,EAAO,SAAE3D,EAAU8E,UAAWC,EAAkBC,IAAKC,EAAe,OAAEC,GAAYvS,KAAKF,OAC5H,UAAEkQ,EAAS,cAAEC,EAAa,gBAAElC,EAAe,gBAAED,GAAqB9N,KAAK0B,MACvE8Q,EAA+B,UAAb7M,EAAuBuM,EAAgBvM,EAC/D,OAEA,gBAAoB,WAAgB,KAChC2M,GAAoB,gBAAoBA,EAAiB,CAAEG,QAASzS,KAAKmQ,iBAAkBuC,YAAa1S,KAAKuQ,gBAAiBoC,WAAY3S,KAAKwR,kBAAmBoB,YAAa5S,KAAK0R,gBAAiBmB,YAAa7S,KAAKqQ,gBAAiByC,QAAS9S,KAAK8Q,YAAaiC,OAAQ/S,KAAKwR,kBAAmBtP,IAAM0N,IACjS5P,KAAK4P,WAAaA,CAAU,GAEhC,gBAAoB,IAAc,CAAErJ,SAAWrE,IACvClC,KAAK6P,UAAY3N,CAAG,GACnB,gBAAoBzB,KACjCwP,GAAiBjQ,KAAK6P,WAAa7P,KAAK0Q,iBAAoB,gBAAoB,EAAQ,CAAEtG,OAAQ,gBAC9F,gBAAoBZ,EAAQ,CAAEnD,UAAWmM,EAAiB5K,iBAGrD5H,KAAKiS,iCACAjS,KAAK0Q,iBACL1Q,KAAK6P,YAAc,EAAG3N,MAAKuG,WAAY2J,GAAqB,gBAAoB,GAAW,CAAErE,gBAAiBA,EAAiBD,gBAAiBA,EAAiBE,SAAU,IAAMhO,KAAK4G,SAAS,CAAEqJ,eAAe,IAAUhC,GAAI+B,IAAagD,GAAuB,gBAAoBZ,EAE9R,CAEE7L,SAAUrE,QAAOkE,EAAW6M,UAAW,UAAWxK,MAAO,IAClDuK,OACAvK,GACJ4E,SAAUA,IAAY,EAAO,iBAAkBmF,EAAiB,cAAeD,GAAUvB,QAAiB,KAG7H,EAEJ,GAAQjM,aAAe,CACnBoN,UAAW,EACXZ,MAAO,IACPW,cAAe,SACfvM,SAAU,SACV0M,IAAK,OAGT,MAAMa,GAA+BC,EAAmB,YACxD,GAAe,EAAqB,CAChCvE,cAAe,UACfC,YAAW,KACXC,eAAc,MAHlB,CAIG,EAAoB,CACnBiD,OAAQhD,GACR8C,OAAQqB,GAA6B,IAAK1E,MAF3C,CAGA,SChHC4E,eChGOC,GAAsB,QAC7BC,IAAgB,UACT,GAAe,CACtBC,OAAwB,EAAhBD,GACRE,MAAuB,EAAhBF,GACPG,OAAwB,EAAhBH,GACRI,MAAuB,EAAhBJ,GACPK,OAAwB,GAAhBL,GACRM,QAAyB,GAAhBN,IAGFO,GAAgB,CACvBN,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,QAAS,IAEFE,GAAe,CACtBP,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,QAAS,GDrBTG,GAAuB,KAEvBC,GAAoB,KACpBC,GAAuB,KACvBC,IAAuB,EAAApH,EAAA,GAAO,CAC9BC,MAAO,2BACPC,KAAM,OAGH,SAASmH,GAAgBrU,EAAOsU,QACpB,IAAXA,IAAqBA,EAAS,CAAEC,oBAAoB,IACxD,IAAIC,EAAcF,EAAOC,mBACnBP,GAAahU,EAAMyU,MACnB,EACN,MAA4B,WAArBzU,EAAM0U,WACP,MACAX,GAAc/T,EAAMyU,MAAQD,EAAc,IACpD,CAKO,SAASG,GAAoBtS,EAAIiS,GACpC,IAAIG,EAAOpS,EAAGoS,UACC,IAAXH,IAAqBA,EAAS,CAC9BC,oBAAoB,EACpBK,UAAU,IAEd,IAAIJ,EAAcF,EAAOC,mBACE,EAArBP,GAAaS,GACb,EACFI,EAAY,GAAaJ,GAAQD,EACrC,OAAOF,EAAOM,SACRC,EACA,iBAAmBA,EAAY,mBAAqBA,EAAY,SAC1E,CEtCA,UAAe,eFwCR,SAAwB7U,QACb,IAAVA,IAAoBA,EAAQ,CAAE0U,WAAY,SAAUD,KAAM,WAC9D,IACID,EAAcR,GAAahU,EAAMyU,MAAQ,KACzCK,EAAgB7D,QAAQjR,EAAM8U,eAAiB9U,EAAM+U,MAAQ/U,EAAM2S,SAGnEqC,EAAc/D,QAAQjR,EAAM+U,MAAQ/U,EAAM2S,SAC1C5F,EAAkB/M,EAAMiV,aAAe,KAEvCC,EAAS,UACTC,EAAU,OACVC,EAhDkB,cAiDlBC,EAAiB,EACjBpP,EAAgB,OAChBJ,EAAW,SACXyP,EAAY,gBACZC,EAAqB,KAoCzB,OAlCIT,IAAkB9U,EAAMwV,UAAYxV,EAAMyV,WAC1CL,EAAelB,GACfmB,EAAiB,GAGjBL,GAAehV,EAAMwV,WACrBF,EAAY,cAGZR,GAAiB9U,EAAM0V,UAAY1V,EAAMwV,WACzCL,EAAU,OACVpI,EAAkBkH,GAClBsB,EAAqBhC,IAGrBvT,EAAM2V,aACNT,EAAS,cACTE,EAAehB,GACfiB,EAAiB,EACjBpP,EAAgB,QAGhB+O,IACAE,EAAS,WAGTlV,EAAM4V,aACNR,EAAejB,GACfkB,EAAiB,GAGjBrV,EAAM6V,aACNhQ,EAAW,aAER,IAAAiQ,KAAIxC,KAAqBA,IAAmB,QAAqB,CAAC,SAAU,uDAAwD,yCAA0C,mBAAoB,sBAAuB,kBAAmB,kGAAmG,iDAAkD,oBAAqB,qBAAsB,uCAAwC,oHAAqH,2BAA4B,oBAAqB,uCAAwC,qBAAsB,2EAA4E,iBAAkB,gCAAiC,2GAA4G,CAAC,SAAU,uDAAwD,yCAA0C,mBAAoB,sBAAuB,kBAAmB,kGAAmG,iDAAkD,oBAAqB,qBAAsB,uCAAwC,oHAAqH,2BAA4B,oBAAqB,uCAAwC,qBAAsB,2EAA4E,iBAAkB,gCAAiC,6GAA8GqB,GAAqB5H,GAAiB,SAAU9I,GAAK,OAAOoQ,GAAgBpQ,EAAG,CAAEsQ,oBAAoB,GAAS,GAAGC,EAnD/2D,cAmDu4DU,EAAQC,EAASlP,EAAeJ,EAAUyP,EAAWC,EAAoBH,EAAcf,GAAiBG,EAAaA,EAAaa,EAAgBb,EAAaA,EAAajB,GACvkE,2CG5FI,IAAgB,UAChB,GAAe,CACfE,OAAwB,EAAhB,GACRC,MAAuB,EAAhB,GACPC,OAAwB,EAAhB,GACRC,MAAuB,EAAhB,GACPC,OAAwB,GAAhB,GACRC,QAAyB,GAAhB,IAGT,GAAgB,CAChBL,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,QAAS,IAET,GAAe,CACfL,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,QAAS,GAET,GAAa,CACbL,OAAQ,EACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,GACRC,QAAS,GAET,GAAc,CACdL,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,QAAS,GAET,GAAqB,CACrBL,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,MAAO,EACPC,OAAQ,EACRC,QAAS,GAEb,SAASiC,GAAmB/V,GACxB,IAAIgW,EAAmB,CACnB/I,MAAO,KACPC,KAAM,MAEV,OAAOlN,EAAMiW,MAAQjW,EAAMkW,UACrBF,EAAiBhW,EAAMiW,MACvB,aACV,CACA,SAAS,GAAgBjW,GACrB,IAAIwU,EAAcxU,EAAMuU,mBAAqB,GAAavU,EAAMyU,MAAQ,EAIxE,MAHwC,WAArBzU,EAAM0U,WACnB,MACA,GAAc1U,EAAMyU,MAAQD,EAAc,IAEpD,CACA,SAAS2B,GAAcnW,GACnB,IAAIwU,EAAcxU,EAAMuU,mBACS,EAA3B,GAAavU,EAAMyU,MACnB,EAEFhF,EADO,GAAazP,EAAMyU,MAAQD,EACnB,KAEnB,MAAO,CAAE9E,OADID,EACYA,MAAOA,EACpC,CACA,IAAI2G,GAAoB,SAAUpW,GAC9B,IAAIqW,EAAwC,WAArBrW,EAAM0U,YACM,EAA3B,GAAa1U,EAAMyU,MACrB,GAAYzU,EAAMyU,MACpB6B,EAAe,GAAWtW,EAAMyU,MACpC,MAAO,CACHhL,OAAQ4M,EAAmB,KAC3B3G,OAAQ4G,EAAe,KACvB9M,MAAO6M,EAAmB,KAC1B5G,MAAO6G,EAAe,KAE9B,EACIC,GAAkB,SAAUvW,GAC5B,IAAIwW,EAAsC,WAArBxW,EAAM0U,WACrB,GAAmB1U,EAAMyU,MACzB,GAAYzU,EAAMyU,MACpBgC,EAAa,GAAWzW,EAAMyU,MAClC,MAAO,CACH/E,OAAQ+G,EAAa,KACrBjN,MAAOgN,EAAiB,KACxB1Q,IAAK0Q,EAAiB,KACtB/G,MAAOgH,EAAa,KAE5B,EACIC,GAAgB,CAChBhC,WAAY,SACZH,oBAAoB,EACpB2B,WAAW,EACXD,KAAM,QACNU,SAAU,UACVlC,KAAM,UAECmC,IAAQ,EAAAC,GAAA,IAAY,SAAU7W,GACrC,IAAI8W,GAAoB,SAAS,QAAS,CAAC,EAAGJ,IAAgB1W,GAC9D,MAAO,CACH+M,gBAAiBgJ,GAAmBe,GACpCC,aAAc,GAAgBD,GAC9BE,WAAYb,GAAcW,GAC1BH,SAAUP,GAAkBU,GAC5BG,OAAQV,GAAgBO,GAEhC,ICjHA,SAJa,SAAU9W,GAAS,OAAQ,gBAAoB4W,GAAMxN,UAAU,QAAS,CAAC,EAAGpJ,EAAO,CAAEuU,oBAAoB,KAAS,SAAUlS,GACrI,IAAI2U,EAAa3U,EAAG2U,WACpB,OAAQ,gBAAoB,MAAO,CAAE,cAAehX,EAAMyS,OAAQ9J,OAAO,QAAS,CAAEuO,QAAS,eAAgBrR,SAAU,WAAYsP,QAAS,EAAG7K,OAAQtK,EAAM6V,YAAcmB,IAAehX,EAAMW,SACpM,GAAK,EAEE,IAAIwW,GAAkB,SAAUnX,GAAS,OAAQ,gBAAoB4W,GAAMxN,UAAU,QAAS,CAAC,EAAGpJ,EAAO,CAAEuU,oBAAoB,KAAS,SAAUlS,GACrJ,IAAIsU,EAAWtU,EAAGsU,SAClB,OAAQ,gBAAoB,OAAQ,CAAEhO,OAAO,QAAS,CAAE1C,cAAe,OAAQJ,SAAU,YAAc8Q,IAAa3W,EAAMW,SAC9H,GAAK,EACMyW,GAAgB,SAAUpX,GAAS,OAAQ,gBAAoB4W,GAAMxN,UAAU,QAAS,CAAC,EAAGpJ,EAAO,CAAEuU,oBAAoB,KAAS,SAAUlS,GACnJ,IAAI4U,EAAS5U,EAAG4U,OAChB,OAAQ,gBAAoB,OAAQ,CAAEtO,OAAO,QAAS,CAAE9C,SAAU,YAAcoR,IAAWjX,EAAMW,SACrG,GAAK,sECwBD,0BAjCO0W,IAAa,QAAU,YAAS,KAAqB,IAAmB,QAAqB,CAAC,wCAAyC,8BAA+B,YAAa,CAAC,wCAAyC,8BAA+B,eAAe,EAAArK,EAAA,GAAO,CAAEC,MAAO,KAAKC,KAAM,OAAU,OAChToK,GAAO,SAAUjV,GACxB,IAAI6T,EAAY7T,EAAG6T,UAAWxB,EAAarS,EAAGqS,WAAYD,EAAOpS,EAAGoS,KAAM8C,EAAkBlV,EAAGkV,gBAAiBC,EAAQnV,EAAGmV,MAAOC,EAAOpV,EAAGoV,KAC5I,OAAQ,gBAAoBb,GAAMxN,SAAU,CAAEsL,WAAYA,EAAYwB,UAAWA,EAAWzB,KAAMA,IAAQ,SAAUpS,GAChH,IAAI0K,EAAkB1K,EAAG0K,gBAAiBgK,EAAe1U,EAAG0U,aAC5D,OAAQ,gBAAoB,OAAQ,CAAEpO,MAAO,CACrCoE,gBAAiBA,EACjBwK,gBAAiBA,EACX,OAASA,EAAkB,SAC3BjR,EACNoR,mBAAoB,SACpBC,iBAAkB,YAClBC,eAAgB,QAChBb,aAAcA,EACdG,QAAS,OACTW,KAAM,WACNnI,OAAQ,OACRD,MAAO,QACRgI,KAAMA,EAAM,aAAcD,GACrC,GACJ,EACWM,GAAM,SAAUzV,GACvB,IAAIqS,EAAarS,EAAGqS,WAAYD,EAAOpS,EAAGoS,KAAM9T,EAAW0B,EAAG1B,SAAUuV,EAAY7T,EAAG6T,UAAW6B,GAAa,QAAO1V,EAAI,CAAC,aAAc,OAAQ,WAAY,cAC7J,OAAQ,gBAAoBuU,GAAMxN,SAAU,CAAEsL,WAAYA,EAAYwB,UAAWA,EAAWzB,KAAMA,IAAQ,SAAUpS,GAChH,IAAI0K,EAAkB1K,EAAG0K,gBAAiBgK,EAAe1U,EAAG0U,aAC5D,OAAQ,gBAAoB,OAAO,QAAS,CAAEpO,MAAO,CAC7CoE,gBAAiBA,EACjBgK,aAAcA,EACdrH,OAAQ,OACRD,MAAO,SACNsI,GAAapX,EAC1B,GACJ,EClCO,SAASqX,GAAa3V,GACzB,IAAIqS,EAAarS,EAAGqS,WAAYD,EAAOpS,EAAGoS,KAAMwD,EAAQ5V,EAAG4V,MAAO/B,EAAY7T,EAAG6T,UAEjF,OAAQ,gBAAoB,cAAsB,MAAM,SAAU7T,GAC9D,IAAI4T,EAAO5T,EAAG4T,KACd,OAAQ,gBAAoB6B,GAAK,CAAEpD,WAAYA,EAAYwB,UAAWA,EAAWzB,KAAMA,EAAMyD,QAAS,cAAwCC,QAAS,MAAOC,MAAO,6BAA8BX,KAAM,MAAO,aAAcQ,GAAwB,WAAfvD,EAA2B,gBAAoB2C,GAAY,CAAEpB,KAAMA,GACtS,gBAAoB,SAAU,CAAEoC,GAAI,KAAMC,GAAI,KAAMC,EAAG,OACvD,gBAAoB,IAAK,KACrB,gBAAoB,OAAQ,CAAEC,EAAG,kMACjC,gBAAoB,OAAQ,CAAEA,EAAG,iMAAsM,gBAAoBnB,GAAY,CAAEpB,KAAMA,GACnR,gBAAoB,OAAQ,CAAEwC,EAAG,IAAKC,EAAG,IAAKjJ,MARrC,IAQwDC,OARxD,MAST,gBAAoB,IAAK,CAAE4F,UAAW,mCAClC,gBAAoB,OAAQ,CAAEkD,EAAG,kVACjC,gBAAoB,OAAQ,CAAEA,EAAG,udACjC,gBAAoB,OAAQ,CAAEA,EAAG,+dAC7C,GACJ,CA+CA,SA9CiC,SAAUpX,GAEvC,SAASuX,IACL,IAAIrX,EAAmB,OAAXF,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,KAWhE,OAVAoB,EAAMM,MAAQ,CACVgX,UAAU,EACV1C,WAAW,GAEf5U,EAAMuX,kBAAoB,WACtBvX,EAAMwF,SAAS,CAAE8R,UAAU,EAAO1C,WAAW,GACjD,EACA5U,EAAMwX,gBAAkB,WACpBxX,EAAMwF,SAAS,CAAE8R,UAAU,EAAM1C,WAAW,GAChD,EACO5U,CACX,CA6BA,OA3CA,QAAUqX,EAAavX,GAevBuX,EAAY9W,UAAUgL,kBAAoB,WACtC,GAAI3M,KAAKF,MAAM+Y,IAAK,CAGhB,IAAIC,EAAM,IAAIC,MACdD,EAAIE,QAAUhZ,KAAK4Y,gBACnBE,EAAID,IAAM7Y,KAAKF,MAAM+Y,KAAO,EAChC,CACJ,EACAJ,EAAY9W,UAAUqG,mBAAqB,SAAUC,GACjD,IAAI7G,EAAQpB,KACRA,KAAKF,MAAM+Y,KAAO7Y,KAAKF,MAAM+Y,MAAQ5Q,EAAU4Q,KAE/C7Y,KAAK4G,SAAS,CAAEoP,WAAW,IAAQ,WAC/B,IAAI8C,EAAM,IAAIC,MACdD,EAAIG,OAAS7X,EAAMuX,kBACnBG,EAAIE,QAAU5X,EAAMwX,gBACpBE,EAAID,IAAMzX,EAAMtB,MAAM+Y,KAAO,EACjC,GAER,EACAJ,EAAY9W,UAAUnB,OAAS,WAC3B,IAAI2B,EAAKnC,KAAKF,MAAOoZ,EAAM/W,EAAG+W,IAAKL,EAAM1W,EAAG0W,IAAKrE,EAAarS,EAAGqS,WAAYD,EAAOpS,EAAGoS,KACnF4E,EAAKnZ,KAAK0B,MAAOgX,EAAWS,EAAGT,SAAU1C,EAAYmD,EAAGnD,UAExDoD,EAAWP,IAAQ7C,EAAY6C,OAAMzS,EACzC,OAFmB4P,GAAe6C,IAAOH,EAE6F,gBAAoBtB,GAAM,CAAE5C,WAAYA,EAAYwB,UAAWA,EAAWzB,KAAMA,EAAMgD,KAAM,MAAOD,MAAO4B,EAAK7B,gBAAiB+B,IAAhP,gBAAoBtB,GAAc,CAAEtD,WAAYA,EAAYD,KAAMA,EAAMwD,MAAOmB,EAAKlD,UAAWA,GACzH,EACOyC,CACX,CA7CgC,CA6C9B,EAAAY,mBClCE,GAAkBC,GAAkBC,GAAkBC,GAAkBC,GAAkBC,GCrB1F,GAAkB,eDNlB,GAAM,SAAU5Z,GAAS,OAAQ,gBAAoB,OAAO,QAAS,CAAE0P,OAAQ,OAAQyI,QAAS,MAAOD,QAAS,UAAWzI,MAAO,OAAQ2I,MAAO,8BAAgCpY,GAAU,EAC3L6Z,IAAa,QAAU,iBAAc,KAAqB,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,UAAU,EAAA7M,EAAA,GAAO,CAAEC,MAAO6M,EAAA,GAAa5M,KAAM4M,EAAA,OACrLC,IAAW,QAAU,eAAYP,KAAqBA,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,SAAUM,EAAA,KAC9IE,IAAY,QAAU,eAAYP,KAAqBA,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,SAAUK,EAAA,KAC/IG,IAAe,QAAU,eAAYP,KAAqBA,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,UAAU,EAAA1M,EAAA,GAAO,CAAEC,MAAO6M,EAAA,GAAa5M,KAAM4M,EAAA,OACrLI,IAAe,QAAU,eAAYP,KAAqBA,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,UAAU,EAAA3M,EAAA,GAAO,CAAEC,MAAO6M,EAAA,GAAY5M,KAAM4M,EAAA,OACpLK,IAAe,QAAU,iBAAcP,KAAqBA,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,UAAU,EAAA5M,EAAA,GAAO,CAAEC,MAAO6M,EAAA,GAAa5M,KAAM4M,EAAA,OCNhLM,IAAQ,QAAU,eAAY,KAAqB,IAAmB,QAAqB,CAAC,2EAA4E,2HAA4H,yBAA0B,CAAC,2EAA4E,2HAClZ,4BAA4B,SAAUpa,GAAS,OAAOA,EAAMqa,SAAW,IAAY,IAAG,SAAUhY,GAChG,IAAIoS,EAAOpS,EAAGoS,KACd,OAAQA,GAAQT,GAAaS,IAAUT,GAAaL,MACxD,KACW2G,GAAQ,eAAY,KAAqB,IAAmB,QAAqB,CAAC,6HAA8H,CAAC,gICM5N,SAZ8B,SAAUlZ,GAEpC,SAASmZ,IACL,OAAkB,OAAXnZ,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,IAC/D,CAMA,OATA,QAAUqa,EAAUnZ,GAIpBmZ,EAAS1Y,UAAUnB,OAAS,WACxB,IAAI2B,EAAKnC,KAAKF,MAAOiV,EAAc5S,EAAG4S,YAAatU,EAAW0B,EAAG1B,SAAUgW,EAAWtU,EAAGsU,SAAUlC,EAAOpS,EAAGoS,KAC7G,OAAQ,gBAAoB2F,GAAO,CAAE3F,KAAMA,EAAM4F,QAASpF,GACtD,gBAAoBqF,GAAO,KAAM3Z,GAAagW,GFA3C,SAAwBA,GACnC,OAAQA,GACJ,IAAK,OACD,OAAQ,gBAAoB,GAAK,KAC7B,gBAAoBkD,GAAY,CAAExB,GAAI,IAAKC,GAAI,IAAKC,EAAG,MACvD,gBAAoBwB,GAAU,CAAEvB,EAAG,2IAC3C,IAAK,QACD,OAAQ,gBAAoB,GAAK,KAC7B,gBAAoBwB,GAAW,CAAExB,EAAG,wmBAC5C,IAAK,UACD,OAAQ,gBAAoB,GAAK,KAC7B,gBAAoByB,GAAc,CAAEzB,EAAG,kPACvC,gBAAoB0B,GAAc,CAAE1B,EAAG,gIAC/C,IAAK,SACD,OAAQ,gBAAoB,GAAK,KAC7B,gBAAoB2B,GAAc,CAAE9B,GAAI,IAAKC,GAAI,IAAKC,EAAG,OACjE,QACI,OAAO,KAEnB,CEnBsE,CAAe5B,IACjF,EACO4D,CACX,CAX6B,CAW3B,EAAAza,WCVF,IAyBI,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAzB1F,GAAM,SAAUE,GAAS,OAAQ,gBAAoB,OAAO,QAAS,CAAE0P,OAAQ,OAAQyI,QAAS,MAAOD,QAAS,UAAWzI,MAAO,OAAQ2I,MAAO,8BAAgCpY,GAAU,EAC3Lwa,IAAiB,QAAU,iBAAc,KAAqB,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,UAAU,EAAAxN,EAAA,GAAO,CAAEC,MAAO6M,EAAA,GAAa5M,KAAM4M,EAAA,OACzLW,IAAe,QAAU,eAAY,KAAqB,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,SAAUX,EAAA,KAClJY,IAAiB,QAAU,iBAAc,KAAqB,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,UAAU,EAAA1N,EAAA,GAAO,CAAEC,MAAO6M,EAAA,GAAa5M,KAAM4M,EAAA,OACzLa,IAAe,QAAU,eAAY,KAAqB,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,SAAUb,EAAA,KAClJc,IAAe,QAAU,iBAAc,KAAqB,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,UAAU,EAAA5N,EAAA,GAAO,CAAEC,MAAO6M,EAAA,GAAY5M,KAAM4M,EAAA,OACtLe,IAAa,QAAU,eAAY,KAAqB,IAAmB,QAAqB,CAAC,aAAc,OAAQ,CAAC,aAAc,UAAU,EAAA7N,EAAA,GAAO,CAAEC,MAAO6M,EAAA,GAAa5M,KAAM4M,EAAA,OCKvL,SAZ4B,SAAU1Y,GAElC,SAAS0Z,IACL,OAAkB,OAAX1Z,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,IAC/D,CAMA,OATA,QAAU4a,EAAQ1Z,GAIlB0Z,EAAOjZ,UAAUnB,OAAS,WACtB,IAAI2B,EAAKnC,KAAKF,MAAOiV,EAAc5S,EAAG4S,YAAatU,EAAW0B,EAAG1B,SAAUsW,EAAS5U,EAAG4U,OAAQxC,EAAOpS,EAAGoS,KACzG,OAAQ,gBAAoB2F,GAAO,CAAE3F,KAAMA,EAAM4F,QAASpF,GACtD,gBAAoBqF,GAAO,KAAM3Z,GAAasW,GDA3C,SAAsBA,GACjC,OAAQA,GACJ,IAAK,WACD,OAAQ,gBAAoB,GAAK,KAC7B,gBAAoBuD,GAAgB,CAAEnC,GAAI,IAAKC,GAAI,IAAKC,EAAG,MAC3D,gBAAoBkC,GAAc,CAAEjC,EAAG,ycAC/C,IAAK,WACD,OAAQ,gBAAoB,GAAK,KAC7B,gBAAoBkC,GAAgB,CAAErC,GAAI,IAAKC,GAAI,IAAKC,EAAG,MAC3D,gBAAoBoC,GAAc,CAAEnC,EAAG,ouBAC/C,IAAK,SACD,OAAQ,gBAAoB,GAAK,KAC7B,gBAAoBoC,GAAc,CAAEvC,GAAI,IAAKC,GAAI,IAAKC,EAAG,MACzD,gBAAoBsC,GAAY,CAAErC,EAAG,qnCAC7C,QACI,OAAO,KAEnB,CCjBoE,CAAavB,IAC7E,EACO6D,CACX,CAX2B,CAWzB,EAAAhb,WCAF,ICZiCib,GDY7BC,GAAiBnX,OAAOC,KXuBJ,CACpB4P,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,KWrBR,GAAwB,SAAUzS,GAElC,SAAS6Z,IACL,IAAI3Z,EAAmB,OAAXF,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,KAwEhE,OAvEAoB,EAAM8R,6BAA+BC,EAAmB,YACxD/R,EAAM4Z,qBAAuB,WACzB,IAAIna,EAAuBO,EAAMtB,MAAMe,qBACvC,OAAOA,EACDO,EAAM8R,6BAA6B,CACjCzE,OAAQ,UACRC,cAAe,SACfC,WAAY,CACRC,cAAe,SACfC,YAAa,MACbC,eAAgB,QANtB1N,CAQCP,QACDuF,CACV,EAEAhF,EAAM6Z,KAAO,WACL7Z,EAAMc,KACNd,EAAMc,IAAI+Y,MAClB,EACA7Z,EAAM8Z,MAAQ,WACN9Z,EAAMc,KACNd,EAAMc,IAAIgZ,OAClB,EAGA9Z,EAAM+Z,aAAe,SAAU9a,GAC3B,IAAI8B,EAAKf,EAAMtB,MAAO2V,EAAatT,EAAGsT,WAAYhD,EAAUtQ,EAAGsQ,QAC3DgD,GAAiC,mBAAZhD,GAIzBA,EAAQ,CAAE2I,KAFC,gBAAW,GAAQ,QAAS,CAACha,EAAMtB,OAAQ,OAEhCO,MAAOA,GADRe,EAAM4Z,uBAE/B,EAGA5Z,EAAMia,WAAa,WACf,IAAIlZ,EAAKf,EAAMtB,MAAO0U,EAAarS,EAAGqS,WAAYO,EAAc5S,EAAG4S,YAAa0B,EAAWtU,EAAGsU,SAAUM,EAAS5U,EAAG4U,OAChHuE,EAAevK,QAAQ0F,GACvB8E,EAAaxK,QAAQgG,GAEzB,IAAKwE,IAAeD,EAChB,OAAO,KAEX,GAAIC,GAAcD,EAEd,OAAO,KAGX,IAAkD,IAA9CR,GAAeU,QAAQpa,EAAMtB,MAAMyU,MAEnC,OADwBkH,OAAOra,EAAMtB,MAAMyU,MACpC,KAGX,IAAIA,EAAOnT,EAAMtB,MAAMyU,KAYvB,OAXgB,WACZ,GAAI+G,EAAc,CACd,IAAII,EAAyC,iBAAbjF,EAAwBA,EAAW,KACnE,OAAQ,gBAAoBQ,GAAiB,CAAEzC,WAAYA,EAAYD,KAAMA,GACzE,gBAAoB,GAAU,CAAEQ,YAAaA,EAAa0B,UAAWiF,GAAsBjF,EAAUlC,KAAMA,GAAQmH,GAC3H,CAEA,IAAIC,EAAqC,iBAAX5E,EAAsBA,EAAS,KAC7D,OAAQ,gBAAoBG,GAAe,CAAE1C,WAAYA,EAAYD,KAAMA,GACvE,gBAAoB,GAAQ,CAAEQ,YAAaA,EAAagC,QAAS4E,GAAoB5E,EAAQxC,KAAMA,GAAQoH,GAClH,CAVe,EAYpB,EACAva,EAAM8D,OAAS,SAAUhD,GACrBd,EAAMc,IAAMA,CAChB,EACOd,CACX,CAoBA,OA/FA,QAAU2Z,EAAQ7Z,GA4ElB6Z,EAAOpZ,UAAUnB,OAAS,WACtB,IAAI2B,EAAKnC,KAAKF,MAAO0U,EAAarS,EAAGqS,WAAYoH,EAAgBzZ,EAAGyZ,cAAepZ,EAAOL,EAAGK,KAAM+R,EAAOpS,EAAGoS,KAAMsE,EAAM1W,EAAG0W,IAAKlD,EAAaxT,EAAGwT,WAAYlD,EAAUtQ,EAAGsQ,QAASoJ,EAAQ1Z,EAAG0Z,MAAOtJ,EAASpQ,EAAGoQ,OAE7MuJ,GAAgB,EAAAC,GAAA,GAAS/b,MAEzBoa,EAAQ4B,GAAgBhc,KAAKF,OACjCsa,EAAM7X,YAAc,QACpB,IAAI0Z,EAAc,gBAAoBvF,GAAMwF,SAAU,CAAExb,MAAOmb,GAC3D,gBAAoB,GAAO,CAAEtH,KAAMA,EAAMoB,WAAYA,EAAYpD,OAAQA,GACrE,gBAAoB6H,GAAO,QAAS,CAAE7T,SAAUvG,KAAKkF,QAAU4W,EAAe,CAAErJ,QAAoB,MAAXA,EAAkBzS,KAAKmb,kBAAe/U,IAC3H,gBAAoB,GAAa,CAAE8S,IAAK1W,EAAMgS,WAAYA,EAAYD,KAAMA,EAAMsE,IAAKA,KAC3F7Y,KAAKqb,eACb,OAAOO,GAAiBpZ,EAAQ,gBAAoB,GAAS,CAAEwO,QAASxO,GAAQyZ,GAAe,CACnG,EACAlB,EAAOhW,aAAe,CAClByP,WAAY,SACZoH,eAAe,EACfrH,KAAM,UAEHwG,CACX,CAjG2B,CAiGzB,EAAAnb,WACSuc,ICpHsBtB,GDoHY,CACzCrG,WAAY,SAAU1U,GAAS,OAAOA,EAAM0U,YAAc,GAAOzP,aAAayP,UAAY,EAC1FI,cAAe,SAAU9U,GACrB,OAAOiR,cAAwC,IAAxBjR,EAAM8b,cACvB9b,EAAM8b,cACN,GAAO7W,aAAa6W,gBAAkB9b,EAAM0C,KACtD,GCzHO,SAAU4Z,GAAsB,IAAIja,EAAI,OAAOA,EAAoB,SAAUjB,GAE5E,SAASmb,IACL,IAAIjb,EAAmB,OAAXF,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,KAehE,OAbAoB,EAAM6Z,KAAO,WAEL7Z,EAAM+Q,WAAa/Q,EAAM+Q,UAAU8I,MACnC7Z,EAAM+Q,UAAU8I,MACxB,EACA7Z,EAAM8Z,MAAQ,WAEN9Z,EAAM+Q,WAAa/Q,EAAM+Q,UAAU+I,OACnC9Z,EAAM+Q,UAAU+I,OACxB,EACA9Z,EAAMkb,aAAe,SAAUnK,GAC3B/Q,EAAM+Q,UAAYA,CACtB,EACO/Q,CACX,CASA,OA3BA,QAAUib,EAAUnb,GAmBpBmb,EAAS1a,UAAUnB,OAAS,WACxB,IAAIY,EAAQpB,KACRuc,GAAS,SAAS,QAAS,CAAC,EAAGvc,KAAKF,OAAQ6D,OAAOC,KAAKiX,IAAS1W,QAAO,SAAU4G,EAAKyR,GACvF,IAAIra,EACJ,OAAQ,SAAS,QAAS,CAAC,EAAG4I,KAAO5I,EAAK,CAAC,GAAMqa,GAAO3B,GAAQ2B,GAAKpb,EAAMtB,OAAQqC,GACvF,GAAG,CAAC,IACJ,OAAO,gBAAoBia,GAAoB,QAAS,CAAEla,IAAKlC,KAAKsc,cAAgBC,GACxF,EACOF,CACX,CA7BqE,CA6BnE,EAAAzc,WACFuC,EAAGI,aAAc,QAAe,WAAY6Z,GAC5Cja,EAAGia,mBAAqBA,EACxBja,CAAI,ID0FT,EAAAsa,GAAA,GAAgB,KACnB,SAAe,EAAqB,CAChC7N,cAAe,SACfC,YAAa,MACbC,eAAgB,OAHpB,CAIG,IAAsBqN,oDEnIlB,IAAIO,EAA4B,CACnC,SACA,UACA,UACA,YACA,UACA,cACA,eACA,eACA,2ECRAC,EAAqB,SAAU7c,GAAS,MAAO,CAC/C0U,WAAY1U,EAAM0U,WAClB3H,gBAAiB/M,EAAM+M,gBACvBkI,YAAajV,EAAMiV,YACnB6H,gBAAiB9c,EAAM8c,gBACvBtH,SAAUxV,EAAMwV,SAChBG,WAAY3V,EAAM2V,WAClBD,QAAS1V,EAAM0V,QACfD,QAASzV,EAAMyV,QACfX,cAAe9U,EAAM8U,cACrBc,WAAY5V,EAAM4V,WAClBnB,KAAMzU,EAAMyU,KACZoB,WAAY7V,EAAM6V,WAClB,EACAkH,EAAsB,SAAU/c,GAAS,MAAO,CAChDiT,OAAQjT,EAAMiT,OACdN,QAAS3S,EAAM2S,QACfK,QAAShT,EAAMgT,QACfgK,UAAWhd,EAAMgd,UACjBC,QAASjd,EAAMid,QACflK,YAAa/S,EAAM+S,YACnBmK,aAAcld,EAAMkd,aACpBC,aAAcnd,EAAMmd,aACpBC,UAAWpd,EAAMod,UACjBC,SAAUrd,EAAMqd,SAChB,EACAC,EAAsB,SAAUtd,GAChC,IAAI+U,EAAO/U,EAAM+U,KAAMpE,EAAS3Q,EAAM2Q,OAItC,MAAO,CAAEoE,KAAMA,EAAMwI,IADA,WAAX5M,EAAsB,sBAAwB,KACzBA,OAAQA,EAC3C,EACI6M,EAAwB,SAAUxd,GAElC,MAAO,CAAEyd,GADAzd,EAAMyd,GACEC,UAAW,SAAUC,SADN3d,EAAM2V,WAE1C,EACe,SAASsG,EAAS5J,GAC7B,IAAIrS,EAAQqS,EAAUrS,MAClBiF,GAAe,SAAS,QAAS,CAAC,EAAG4X,EAAmB7c,IAAS+c,EAAoB/c,IACzF,OAAIA,EAAMqS,WACC,SAAS,QAAS,CAAC,EAAGpN,GAAejF,GAE5CA,EAAM+U,KACF/U,EAAM2V,WACC1Q,GAEJ,SAAS,QAAS,CAAC,EAAGA,GAAeqY,EAAoBtd,IAEhEA,EAAM2S,SACC,SAAS,QAAS,CAAC,EAAG1N,GAAeuY,EAAsBxd,IAE/DiF,CACX,gGChCA,QAX0C,SAAU7D,GAEhD,SAASwc,IACL,OAAkB,OAAXxc,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,IAC/D,CAKA,OARA,QAAU0d,EAAsBxc,GAIhCwc,EAAqB/b,UAAUnB,OAAS,WACpC,IAAI2B,EAAKnC,KAAKF,MAAqF6d,GAAjExb,EAAGqS,WAAqBrS,EAAGyb,OAAsBzb,EAAG4S,YAAgC5S,EAAGgQ,WAAmU9P,GAAxSF,EAAGyZ,cAAiCzZ,EAAGya,gBAA4Bza,EAAGoE,SAAqBpE,EAAGmT,SAAuBnT,EAAGsT,WAAsBtT,EAAGqT,QAAmBrT,EAAGoT,QAAsBpT,EAAGuT,WAA0BvT,EAAG0b,YAA6B1b,EAAG2b,cAA4B3b,EAAGwT,YAAmB,QAAOxT,EAAI,CAAC,aAAc,SAAU,cAAe,YAAa,gBAAiB,kBAAmB,WAAY,WAAY,aAAc,UAAW,UAAW,aAAc,cAAe,gBAAiB,gBACjpB,OAAOwb,EAAmB,gBAAoBA,GAAkB,QAAS,CAAC,EAAGtb,IAAS,IAC1F,EACOqb,CACX,CAVyC,CAUvC,EAAA9d,WChBF,WAA0B0H,GACtB,IAAIyW,GAAwB,QAAU,aAAO,EAAP,CAA6B3K,IAAqBA,GAAmB,QAAqB,CAAC,yEAA0E,mBAAoB,CAAC,yEAA0E,qBAAsB9L,IAC5T0W,GAAe,OAAU,iBAAc1E,IAAqBA,GAAmB,QAAqB,CAAC,SAAU,SAAU,CAAC,SAAU,WAAYhS,IAChJ2W,GAAa,OAAU,YAAS1E,IAAqBA,GAAmB,QAAqB,CAAC,qBAAsB,gBAAiB,CAAC,qBAAsB,kBAAmBjS,IAC/K4W,GAAa,OAAU,eAAY1E,IAAqBA,GAAmB,QAAqB,CAAC,SAAU,SAAU,CAAC,SAAU,WAAYlS,IAChJ,OAAO,SAAmBnF,GACtB,IAAIgQ,EAAYhQ,EAAGgQ,UAAW0C,EAAO1S,EAAG0S,KAAMpC,EAAUtQ,EAAGsQ,QACvD0L,EAAMD,EAUV,OATI/L,EACAgM,EAAMJ,EAEDlJ,EACLsJ,EAAMF,EAEDxL,IACL0L,EAAMH,GAEHG,CACX,CACH,EACD,IAAI/K,EAAkBkG,EAAkBC,EAAkBC,qFCtB3C,SAASiD,EAAgBza,GACpC,IAAIG,EACJ,OAAOA,EAAoB,SAAUjB,GAE7B,SAASkd,IACL,IAAIhd,EAAmB,OAAXF,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,KAkHhE,OAjHAoB,EAAM+Q,UAAY,KAClB/Q,EAAMid,WAAa,GACnBjd,EAAMM,MAAQ,CACV4T,SAAUvE,QAAQ3P,EAAMtB,MAAMwV,UAC9BE,QAASzE,QAAQ3P,EAAMtB,MAAMwV,UAC7BC,QAASxE,QAAQ3P,EAAMtB,MAAMwV,UAC7BV,cAAe7D,QAAQ3P,EAAMtB,MAAM+U,MAAQzT,EAAMtB,MAAM8U,eAAiBxT,EAAMtB,MAAM2S,UAExFrR,EAAM6Z,KAAO,WAEL7Z,EAAM+Q,WAAa/Q,EAAM+Q,UAAU8I,MACnC7Z,EAAM+Q,UAAU8I,MACxB,EACA7Z,EAAM8Z,MAAQ,WAEN9Z,EAAM+Q,WAAa/Q,EAAM+Q,UAAU+I,OACnC9Z,EAAM+Q,UAAU+I,OACxB,EACA9Z,EAAMkb,aAAe,SAAUnK,GAC3B/Q,EAAM+Q,UAAYA,CACtB,EACA/Q,EAAM2R,OAAS,WAGX,IAFA,IAAI5Q,EACAsC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzBtD,EAAMwF,SAAS,CAAE0O,UAAU,EAAOE,SAAS,IACvCpU,EAAMtB,MAAMiT,SACX5Q,EAAKf,EAAMtB,OAAOiT,OAAOlO,MAAM1C,GAAI,QAASsC,GAErD,EACArD,EAAM0R,QAAU,WAGZ,IAFA,IAAI3Q,EACAsC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzBtD,EAAMwF,SAAS,CAAE4O,SAAS,IACtBpU,EAAMtB,MAAMgT,UACX3Q,EAAKf,EAAMtB,OAAOgT,QAAQjO,MAAM1C,GAAI,QAASsC,GAEtD,EACArD,EAAM6b,aAAe,WAGjB,IAFA,IAAI9a,EACAsC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzBtD,EAAMwF,SAAS,CAAE0O,UAAU,EAAOC,SAAS,IACvCnU,EAAMtB,MAAMmd,eACX9a,EAAKf,EAAMtB,OAAOmd,aAAapY,MAAM1C,GAAI,QAASsC,GAE3D,EACArD,EAAM4b,aAAe,WAGjB,IAFA,IAAI7a,EACAsC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzBtD,EAAMwF,SAAS,CAAE2O,SAAS,IACtBnU,EAAMtB,MAAMkd,eACX7a,EAAKf,EAAMtB,OAAOkd,aAAanY,MAAM1C,GAAI,QAASsC,GAE3D,EACArD,EAAM8b,UAAY,WAGd,IAFA,IAAI/a,EACAsC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzBtD,EAAMwF,SAAS,CAAE0O,UAAU,IACvBlU,EAAMtB,MAAMod,YACX/a,EAAKf,EAAMtB,OAAOod,UAAUrY,MAAM1C,GAAI,QAASsC,GAExD,EACArD,EAAMyR,YAAc,WAGhB,IAFA,IAAI1Q,EACAsC,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzBtD,EAAMwF,SAAS,CAAE0O,UAAU,IACvBlU,EAAMtB,MAAM+S,cACX1Q,EAAKf,EAAMtB,OAAO+S,YAAYhO,MAAM1C,GAAI,QAASsC,GAE1D,EACArD,EAAM0b,UAAY,SAAUzc,GAGxB,IAFA,IAAI8B,EACAE,EAAO,GACFqC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCrC,EAAKqC,EAAK,GAAKC,UAAUD,GAEzBtD,EAAMid,WAAW7C,QAAQnb,EAAMmc,MAAQ,GACvCpb,EAAMwF,SAAS,CAAE0O,UAAU,IAE3BlU,EAAMtB,MAAMgd,YACX3a,EAAKf,EAAMtB,OAAOgd,UAAUjY,MAAM1C,GAAI,QAAS,CAAC9B,GAAQgC,GAEjE,EACAjB,EAAM2b,QAAU,SAAU1c,GAGtB,IAFA,IAAI8B,EACAE,EAAO,GACFqC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCrC,EAAKqC,EAAK,GAAKC,UAAUD,GAEzBtD,EAAMid,WAAW7C,QAAQnb,EAAMmc,MAAQ,GACvCpb,EAAMwF,SAAS,CAAE0O,UAAU,IAE3BlU,EAAMtB,MAAMid,UACX5a,EAAKf,EAAMtB,OAAOid,QAAQlY,MAAM1C,GAAI,QAAS,CAAC9B,GAAQgC,GAE/D,EACOjB,CACX,CAmBA,OAxIA,QAAUgd,EAA0Bld,GAsHpCkd,EAAyBzc,UAAU2c,0BAA4B,WAC3D,IAAInc,EAAKnC,KAAKF,MAAO+U,EAAO1S,EAAG0S,KAAMD,EAAgBzS,EAAGyS,cAAenC,EAAUtQ,EAAGsQ,SAChFoC,GAAQD,GAAiBnC,KACzBzS,KAAKqe,WAAa5L,GAAWmC,EAAgB,CAAC,QAAS,KAAO,CAAC,SAEvE,EACAwJ,EAAyBzc,UAAUnB,OAAS,WACxC,OAAQ,gBAAoBwB,GAAkB,QAAS,CAAEE,IAAKlC,KAAKsc,cAAgBtc,KAAK0B,MAAO1B,KAAKF,MAAQE,KAAK0B,MAAMkT,eAAiB,CACpI7B,OAAQ/S,KAAK+S,OACbD,QAAS9S,KAAK8S,QACdmK,aAAcjd,KAAKid,aACnBD,aAAchd,KAAKgd,aACnBE,UAAWld,KAAKkd,UAChBrK,YAAa7S,KAAK6S,YAClBiK,UAAW9c,KAAK8c,UAChBC,QAAS/c,KAAK+c,UAEtB,EACOqB,CACX,CA1IsB,CA0IpB,EAAAxe,WACFuC,EAAGI,aAAc,OAAe,kBAAmBP,GACnDG,CACR,wECjJO,SAASoc,EAAKC,GAGjB,IAFA,IAAIC,EAAKtc,EACLuc,EAAa,GACRha,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCga,EAAWha,EAAK,GAAKC,UAAUD,GAEnC,IAAIia,GAAS,QAAS,CAAC,EAAGH,GAC1B,IACI,IAAK,IAAII,GAAe,QAASF,GAAaG,EAAiBD,EAAaE,QAASD,EAAeE,KAAMF,EAAiBD,EAAaE,cAE7HH,EADGE,EAAene,MAGjC,CACA,MAAOse,GAASP,EAAM,CAAEQ,MAAOD,EAAS,CACxC,QACI,IACQH,IAAmBA,EAAeE,OAAS5c,EAAKyc,EAAaM,SAAS/c,EAAGd,KAAKud,EACtF,CACA,QAAU,GAAIH,EAAK,MAAMA,EAAIQ,KAAO,CACxC,CACA,OAAON,CACX,CACO,SAASQ,EAAeC,EAAQxf,GACnC,IAAIgP,EAAgBhP,EAAU2C,aAAe3C,EAAU4C,KACvD,OAAOoM,EAAgBwQ,EAAS,IAAMxQ,EAAgB,IAAMwQ,CAChE,sUCxBO,MAGMC,EAAO,UACPC,EAAO,UACPC,EAAO,UAOPC,EAAO,UAOPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAIPC,EAAM,UACNC,EAAO,UACPC,EAAO,UAEPC,EAAO,UAmBP7S,EAAK,UAIL8S,EAAM,UACNC,EAAM,UAMNC,EAAO,UAGPC,EAAO,UAGPC,EAAO,UAEPC,EAAO,UAQPC,EAAO,wBAIPC,EAAQ,wBASRC,EAAQ,UAERC,EAAQ,UACRC,EAAQ,UAERC,EAAQ,UAERC,EAAQ,UAKRC,EAAO,UAEPC,EAAO,UAIPC,EAAM,UAWNC,EAAQ,yBASRC,GAAa,OAAO,CAAElU,MAAOG,EAAIF,KAAM8T,IACvCI,GAAmB,OAAO,CAAEnU,MAvGtB,UAuGkCC,KAAM4S,IAC9CuB,GAAkB,OAAO,CAAEpU,MA7ErB,UA6EiCC,KA9BhC,YA+CPoU,IAhBoB,OAAO,CAAErU,MAAOG,EAAIF,KAAM6T,KACvC,OAAO,CAAE9T,MAAOsT,EAAMrT,KAAMyT,KACvB,OAAO,CAAE1T,MAAOqT,EAAMpT,KAAMyT,KAC3B,OAAO,CAAE1T,MAAOgT,EAAM/S,KAAM+S,KAC5B,OAAO,CAAEhT,MAAOmT,EAAMlT,KAAM2T,KACvB,OAAO,CAAE5T,MA5EpB,UA4EiCC,KAxChC,aAyCE,OAAO,CAAED,MAAOqT,EAAMpT,KAAMyT,KACtB,OAAO,CAAE1T,MAAOmT,EAAMlT,KAAM2T,KAChC,OAAO,CAAE5T,MAvFf,UAuF2BC,KAAM6T,KAChC,OAAO,CAAE9T,MAAOgT,EAAM/S,KAAM6S,KACvB,OAAO,CAAE9S,MA/Gd,UA+G2BC,KAAM8S,KAC3B,OAAO,CAAE/S,MA9Gf,UA8G4BC,KAAM6S,KAC3B,OAAO,CAAE9S,MAAO8S,EAAM7S,KAAM8S,KAChC,OAAO,CAAE/S,MAAOgT,EAAM/S,KAAM6S,KAC/B,OAAO,CAAE9S,MAAOgT,EAAM/S,KAAM6S,KAC5B,OAAO,CAAE9S,MApGT,UAoGsBC,KArGtB,aAsGE,OAAO,CAAED,MA7GX,UA6GwBC,KA/GxB,cAgHD,OAAO,CAAED,MAAOuS,EAAMtS,KAAMsS,KACzB,OAAO,CAAEvS,MAAOyS,EAAMxS,KAAMwS,KAC7B,OAAO,CAAEzS,MAAO2S,EAAM1S,KAAM0S,mDCpJjD,SAAe,eAAY,KAAM,CAC7B3J,KAAM,uFCDH,MASMc,EAAe,IAAM,EACrBwK,EAAW,IAAM,EAcjBC,EAAS,CAClBC,KAAM,IAAM,IACZC,OAAQ,IAAM,IACdC,WAAY,IAAM,IAClBnW,MAAO,IAAM,IACboW,QAAS,IAAM,IACfC,MAAO,IAAM,IACbC,KAAM,IAAM,IACZC,UAAW,IAAM,IACjBC,QAAS,IAAM,6EC9BZ,SAASC,EAAUC,GACtB,OAAO,SAA4BliB,GAC/B,OAAQ,gBAAoB,aAAgB,MAAOmiB,GAAY,gBAAoBD,EAAgBre,OAAOuG,OAAO,CAAC,EAAGpK,EAAO,CAAE+b,MAAOoG,MACzI,CACJ,gECAO,SAAStL,EAAYuL,GACxB,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAM/CuiB,GAAe,IAAAC,eAAcJ,GA2BnC,MAAO,CAAEhZ,SAxBT,SAAkBpJ,GACd,MAAM,SAAEW,KAAa8hB,GAAeziB,EAK9BmiB,IAJQ,IAAAO,YAAWH,IACAF,GAGFI,GAGvB,OAAO,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GAC9D,EAcmB/F,SANnB,SAAkBpc,GACd,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAaL,GAAeG,EAAQD,EAASF,IAAa,CAACE,EAASC,IACpF,OAAQ,gBAAoBL,EAAanG,SAAU,CAAExb,MAAOiiB,GAAW7iB,EAAMW,SACjF,EAEJ,iDCzCA,MAAMoiB,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAEf,SAASC,EAASjjB,GAC7B,GAAIA,GAASA,EAAM+b,MAAO,CAEtB,GAAI,uBAAwB/b,EAAM+b,MAC9B,OAAO/b,EAAM+b,MAAMmH,mBAGlB,GAAI,SAAUljB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MAC/D,OAAOjW,EAAM+b,KAErB,CAEA,MAAO,CAAE9F,KAAM8M,EACnB,CCFe,SAAS/V,EAAOmW,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflCpjB,IACJ,MAAM+b,EAAQkH,EAASjjB,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC5B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACJ,CACA,MAAO,EAAE,EAXjB,IAAwByiB,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQnjB,IAEJ,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACrB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACA,MAAO,EAAE,CAEjB,+FCjBA,IAAI4iB,EAAgB,SAAShL,EAAGiL,GAI5B,OAHAD,EAAgB3f,OAAO6f,gBAClB,CAAEC,UAAW,cAAgBne,OAAS,SAAUgT,EAAGiL,GAAKjL,EAAEmL,UAAYF,CAAG,GAC1E,SAAUjL,EAAGiL,GAAK,IAAK,IAAIxf,KAAKwf,EAAOA,EAAErY,eAAenH,KAAIuU,EAAEvU,GAAKwf,EAAExf,GAAI,EACtEuf,EAAchL,EAAGiL,EAC5B,EAEO,SAASG,EAAUpL,EAAGiL,GAEzB,SAASI,IAAO3jB,KAAKH,YAAcyY,CAAG,CADtCgL,EAAchL,EAAGiL,GAEjBjL,EAAE3W,UAAkB,OAAN4hB,EAAa5f,OAAOigB,OAAOL,IAAMI,EAAGhiB,UAAY4hB,EAAE5hB,UAAW,IAAIgiB,EACnF,CAEO,IAAIE,EAAW,WAQlB,OAPAA,EAAWlgB,OAAOuG,QAAU,SAAkB4Z,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAItf,UAAUX,OAAQggB,EAAIC,EAAGD,IAE5C,IAAK,IAAIjgB,KADTggB,EAAIpf,UAAUqf,GACOrgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,KAAI+f,EAAE/f,GAAKggB,EAAEhgB,IAE9E,OAAO+f,CACX,EACOD,EAAShf,MAAM7E,KAAM2E,UAChC,EAEO,SAASuf,EAAOH,EAAGvT,GACtB,IAAIsT,EAAI,CAAC,EACT,IAAK,IAAI/f,KAAKggB,EAAOpgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,IAAMyM,EAAEgL,QAAQzX,GAAK,IAC9E+f,EAAE/f,GAAKggB,EAAEhgB,IACb,GAAS,MAALggB,GAAqD,mBAAjCpgB,OAAOwgB,sBACtB,KAAIH,EAAI,EAAb,IAAgBjgB,EAAIJ,OAAOwgB,sBAAsBJ,GAAIC,EAAIjgB,EAAEC,OAAQggB,IAC3DxT,EAAEgL,QAAQzX,EAAEigB,IAAM,GAAKrgB,OAAOhC,UAAUyiB,qBAAqB/iB,KAAK0iB,EAAGhgB,EAAEigB,MACvEF,EAAE/f,EAAEigB,IAAMD,EAAEhgB,EAAEigB,IAF4B,CAItD,OAAOF,CACX,CAgEO,SAASO,EAASC,GACrB,IAAIP,EAAsB,mBAAXQ,QAAyBA,OAAOC,SAAUC,EAAIV,GAAKO,EAAEP,GAAIC,EAAI,EAC5E,GAAIS,EAAG,OAAOA,EAAEpjB,KAAKijB,GACrB,GAAIA,GAAyB,iBAAbA,EAAEtgB,OAAqB,MAAO,CAC1C8a,KAAM,WAEF,OADIwF,GAAKN,GAAKM,EAAEtgB,SAAQsgB,OAAI,GACrB,CAAE5jB,MAAO4jB,GAAKA,EAAEN,KAAMjF,MAAOuF,EACxC,GAEJ,MAAM,IAAII,UAAUX,EAAI,0BAA4B,kCACxD,CAEO,SAASY,EAAOL,EAAGL,GACtB,IAAIQ,EAAsB,mBAAXF,QAAyBD,EAAEC,OAAOC,UACjD,IAAKC,EAAG,OAAOH,EACf,IAAmBjM,EAAY7H,EAA3BwT,EAAIS,EAAEpjB,KAAKijB,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANX,GAAgBA,KAAM,MAAQ5L,EAAI2L,EAAElF,QAAQC,MAAM6F,EAAGC,KAAKxM,EAAE3X,MACxE,CACA,MAAOue,GAASzO,EAAI,CAAEyO,MAAOA,EAAS,CACtC,QACI,IACQ5G,IAAMA,EAAE0G,OAAS0F,EAAIT,EAAU,SAAIS,EAAEpjB,KAAK2iB,EAClD,CACA,QAAU,GAAIxT,EAAG,MAAMA,EAAEyO,KAAO,CACpC,CACA,OAAO2F,CACX,CAEO,SAASE,IACZ,IAAK,IAAIF,EAAK,GAAIZ,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAC3CY,EAAKA,EAAGze,OAAOwe,EAAOhgB,UAAUqf,KACpC,OAAOY,CACX,CAwCO,SAASG,EAAqBC,EAAQC,GAEzC,OADIthB,OAAOuhB,eAAkBvhB,OAAOuhB,eAAeF,EAAQ,MAAO,CAAEtkB,MAAOukB,IAAiBD,EAAOC,IAAMA,EAClGD,CACX,+FCvLe,MAAM3hB,EACnBxD,YAAYC,IACV,OAAgBE,KAAM,qBAAqB,IAC3C,OAAgBA,KAAM,SAAS,KAG7B,MAAMY,EAAU,IACXZ,KAAKY,SAEV,OAAO,IAAIyC,EAAe,CACxBzC,WACA,IAEJZ,KAAKY,QAAUd,EAAMc,OACvB,CACAuC,OAAOC,GAUL,MATuB,mBAAZA,IACTpD,KAAKY,QAAUwC,EAAQpD,KAAKY,UAEP,iBAAZwC,IACTpD,KAAKY,QAAU,IACVZ,KAAKY,WACLwC,IAGApD,IACT,ECzBa,MAAMyC,UAAyBY,EAC5CxD,YAAYC,GACVC,MAAMD,IACN,OAAgBE,KAAM,uBAAuB,IAC7C,OAAgBA,KAAM,SAAS,KAC7B,GAAIA,KAAK0C,SAKP,OAAO,KAET,MAAMtC,EAAU,IAAIJ,KAAKI,SACnByC,EAAW,IAAI7C,KAAK6C,UAOpBjC,EAAUkC,KAAKC,MAAMD,KAAKE,UAAUhD,KAAKY,UAC/C,OAAO,IAAI6B,EAAiB,CAC1BrC,UACAyC,WACAjC,WACA,KAEJ,OAAgBZ,KAAM,QAAQE,IACxBF,KAAK0C,WAOT1C,KAAK6C,SAASI,SAAQC,GAAWA,EAAQlD,KAAME,KAC/CF,KAAK0C,UAAW,EAAI,IAEtB1C,KAAKI,QAAUN,EAAMM,SAAW,GAChCJ,KAAK6C,SAAW/C,EAAM+C,UAAY,GAClC7C,KAAK0C,UAAW,CAClB,CACAS,OAAOC,GACL,OAAIpD,KAAK0C,SAKA1C,KAEFD,MAAMoD,OAAOC,EACtB,iBCzDK,MCDM+hB,EAAgBzkB,IAC3B,MAAMwB,GAAM,IAAAkjB,QAAO1kB,GAInB,OAHA,IAAA2kB,YAAU,KACRnjB,EAAIuD,QAAU/E,CAAK,GAClB,CAACA,IACGwB,CAAG,ECGL,SAASojB,GAA4B,GAC1ClgB,EAAE,OACFqJ,EAAM,cACNG,EAAa,cACbF,EAAa,YACbG,EAAW,eACXC,EAAc,cACdxM,IAEA,MAAM,qBACJzB,GChBG,WACL,MAAMuB,GHDC,IAAAogB,YAAW,KGSlB,MAAO,CACL3hB,sBAR2B,SAAeD,GACnC,IAAI6B,EAAiB,CAC1BrC,QAASgC,EAAiB3C,8BAC1BoD,SAAUT,EAAiB5C,oCAC3BoB,aAED,CAACwB,IAIN,CDKMmjB,GAMEC,EAAUL,EAAc7iB,GACxBmjB,EAAQN,EAAc/f,GAoC5B,OAnCgB,IAAAwd,cAAYliB,IAC1B,MAAMkE,EAAiB/D,EAAqB,CAC1C4N,SACAC,cAAeA,GAAiBE,EAChCD,WAAY,CACVC,gBACAC,cACAC,oBAOE1O,EAAU,CACdwO,gBACAC,cACAC,oBACG0W,EAAQ/f,SAEbb,EAAexE,QAAQykB,KAAKzkB,GAG5B,MAAMY,EAAQ4D,EAAe5D,QACzBA,GACFA,EAAMC,KAAK,YAEbwkB,EAAMhgB,QAAQ/E,EAAOkE,EAAe,GACnC,CAEH6J,EAAQG,EAAeF,EAAeG,EAAaC,EAEnDjO,EAEA2kB,EAASC,GAEX,eE9DO,MAAMC,EAAU,qBACV7C,EAAqB,QACrBC,EAAc,CAAC,QAAS,QCFtB,SAASC,EAASjjB,GAC/B,GAAIA,GAASA,EAAM+b,MAAO,CAExB,GAAI6J,KAAW5lB,EAAM+b,MACnB,OAAO/b,EAAM+b,MAAM6J,GAGhB,GAAI,SAAU5lB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MACjE,OAAOjW,EAAM+b,KAEjB,CAEA,MAAO,CACL9F,KAAM8M,EAEV,CCGe,SAAS/V,EAAOmW,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAlBoBE,EAkBEF,EAlBWG,EAkBKF,EAjBjCpjB,IACL,MAAM+b,EAAQkH,EAASjjB,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC9B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACF,OAAOA,CAEX,CACF,CAEA,MAAO,EAAE,EAbb,IAAwByiB,EAAaC,EAoBnC,MAAMC,EAAQJ,EACd,OAAOnjB,IAEL,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACvB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACF,OAAOA,CAEX,CACA,MAAO,EAAE,CAEb,CChCO,MAIM4e,EAAO,UASPE,EAAO,UASPE,EAAO,UAOP,EAAO,UACPI,EAAO,UAEPC,EAAO,UAsBP7S,EAAK,UAWLgT,EAAO,UAMPE,EAAO,UA4BPK,EAAQ,UAGRE,EAAQ,UAORE,EAAO,UAgCM/T,EAAO,CAC/BC,MAAO,qBAAqBG,KAC5BF,KAAM,+BAMwBF,EAAO,CACrCC,MAAO,yCACPC,KAAM,2CAMuBF,EAAO,CACpCC,MAAO,gDACPC,KAAM,kDAMyBF,EAAO,CACtCC,MAAO,6BAA6BG,KACpCF,KAAM,6BAA6B6T,OAMjB/T,EAAO,CACzBC,MAAO,0BACPC,KAAM,kBAAkByT,OAMD3T,EAAO,CAC9BC,MAAO,kBAAkBqT,KACzBpT,KAAM,kBAAkByT,OAMA3T,EAAO,CAC/BC,MAAO,2BAA2BgT,KAClC/S,KAAM,2BAA2B+S,OAMTjT,EAAO,CAC/BC,MAAO,2BAA2BmT,KAClClT,KAAM,2BAA2B2T,OAMJ7T,EAAO,CACpCC,MAAO,2BAA2BmT,KAClClT,KAAM,qCAMeF,EAAO,CAC5BC,MAAO,kBAAkBqT,KACzBpT,KAAM,kBAAkByT,OAMG3T,EAAO,CAClCC,MAAO,2BAA2BmT,KAClClT,KAAM,2BAA2B2T,OAEV7T,EAAO,CAC9BC,MA1KiB,UA2KjBC,KAAM6T,IAMY/T,EAAO,CACzBC,MAAO,kBAAkBgT,KACzB/S,KAAM,kBAAkB,OAMDF,EAAO,CAC9BC,MAAO,kCACPC,KAAM,0BAA0B8S,OAMRhT,EAAO,CAC/BC,MAAO,kCACPC,KAAM,0BAA0B,OAMPF,EAAO,CAChCC,MAAO,4BAA4B,KACnCC,KAAM,4BAA4B8S,OAMbhT,EAAO,CAC5BC,MAAO,mCAAmCgT,KAC1C/S,KAAM,mCAAmC,OAEvBF,EAAO,CACzBC,MAAOgT,EACP/S,KAAM,IAEYF,EAAO,CACzBC,MAjOkB,UAkOlBC,KAnOkB,YAqOEF,EAAO,CAC3BC,MA9OkB,UA+OlBC,KAjPkB,YAmPDF,EAAO,CACxBC,MAAOuS,EACPtS,KAAMsS,IAEcxS,EAAO,CAC3BC,MAAOyS,EACPxS,KAAMwS,IAEa1S,EAAO,CAC1BC,MAAO2S,EACP1S,KAAM0S,ICrSR,MAAM,SACJxD,EAAQ,SACRhT,EAAQ,SACRyc,GCIK,SAAqBzD,GAC1B,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAS/CuiB,GAA4B,IAAAC,eAAcJ,GAChD,SAASyD,EAASpD,GAIhB,QAHc,IAAAC,YAAWH,IACAF,GACFI,EAEzB,CAiCA,MAAO,CACLrZ,SA9BF,SAAkBpJ,GAChB,MAAM,SACJW,KACG8hB,GACDziB,EAIEmiB,EAAS0D,EAASpD,GAGxB,OAAoB,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GACzE,EAmBE/F,SAVF,SAAkBpc,GAChB,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAYL,GAAcG,EAAQD,EAASF,IAAa,CAACE,EAASC,IAClF,OAAoB,gBAAoBL,EAAanG,SAAU,CAC7Dxb,MAAOiiB,GACN7iB,EAAMW,SACX,EAIEklB,WAEJ,CDzDIhP,EAAY,KAAM,CACpBZ,KAAM,YEEF6P,EAAsB,CAC1BhX,cAAe,UACfC,YAJkB,oBAKlBC,eAJqB,UAMjB+W,GAAa,QAAI,CACrBlgB,SAAU,QACVyE,ONoCe,IMnCf0b,MAAO,EACPC,UAAW,OACXhgB,cAAe,YAEXigB,GAAgC,QAAI,CACxCjgB,cAAe,SAEXkgB,GAAkB,QAAI,CAC1BpZ,gBAAiB,gBAQbqZ,EAAkB,CACtBnZ,OAPoB,QAAI,CACxBF,gBAAiB,6CAOjBG,MALmB,QAAI,CACvBH,gBAAiB,+CAcbsZ,GAAuB,IAAAC,OAAmB,IAAAC,aAAW,UAAiB,wBAC1EC,GAA0B,EAAK,SAC/BC,GAAW,EAAK,iBAChBC,EAAmB9mB,EAAA,EAAI,OACvB6S,EAAM,SACN9R,EAAQ,iBACR2B,GACCF,GACD,MAAM,KACJ6T,GACE,IACE0Q,GAAkB,IAAArB,QAAO,MACzBsB,EAAgCpB,EAA4B,CAChElgB,GAAIohB,EACJ/X,OAAQ,UACRnM,cAAeF,KACZwjB,IAECe,GAA8B,IAAA/D,cAAYpS,GAAKA,EAAEoW,gBAAkBpW,EAAEC,QAAUgW,EAAgBhhB,UAAY+K,EAAEC,OAASiW,EAA8BlW,QAAKpK,GAAW,CAACsgB,IACrKjU,EAAU6T,OAA0BlgB,EAAYugB,EAChD9T,GAAc,IAAA+P,cAAYpS,IAC9BiW,EAAgBhhB,QAAU+K,EAAEC,MAAM,GACjC,IACH,OAAO,QAAI,MAAO,CAChB8G,KAAM,eACN3B,IAAK,CAACiQ,EAAYS,GAA2BN,EAA+BE,EAAgBnQ,IAAQwQ,GAAYN,GAChHxT,QAASA,EACTI,YAAaA,EACb,cAAeN,EACfrQ,IAAKA,GACJzB,EACL,KACA0lB,EAAQ5jB,YAAc,UACtB,wCC7EA,IAAIskB,EAAU,EAAQ,OAElBC,EAAUD,EAAQE,gBAAgB,EAAQ,QAC1CC,EAAS,EAAQ,OACjBC,EAAgBJ,EAAQE,gBAAgB,EAAQ,QAChDG,EAAmB,EAAQ,OAC3BC,EAAeN,EAAQE,gBAAgB,EAAQ,OAC/CK,EAAU,EAAQ,OAClBC,EAAiB,EAAQ,OACzBC,EAAYT,EAAQE,gBAAgB,EAAQ,QAC5CQ,EAAgBV,EAAQE,gBAAgB,EAAQ,QAChDS,EAAiBX,EAAQE,gBAAgB,EAAQ,QACjDU,EAAmBZ,EAAQE,gBAAgB,EAAQ,OACnDW,EAAU,EAAQ,OAClBC,EAAwB,SAAUzmB,GAElC,SAASymB,IACL,IAAIvmB,EAAmB,OAAXF,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,KA+DhE,OA7DAoB,EAAMwmB,OAASd,EAAQe,QAAQC,YAE/B1mB,EAAM2mB,gBAAkBd,EAAcY,QAAQH,EAAQM,aACtD5mB,EAAMM,MAAQ,CACV4T,UAAU,EACVE,SAAS,EACTD,SAAS,GAEbnU,EAAMwT,cAAgB,WAAc,OAAQxT,EAAMtB,MAAM2V,aAAerU,EAAMtB,MAAMkW,SAAW,EAC9F5U,EAAM4b,aAAe,SAAUxM,GAC3BpP,EAAMwF,SAAS,CAAE2O,SAAS,IACtBnU,EAAMtB,MAAMkd,cACZ5b,EAAMtB,MAAMkd,aAAaxM,EAEjC,EACApP,EAAM6b,aAAe,SAAUzM,GAC3BpP,EAAMwF,SAAS,CAAE2O,SAAS,EAAOD,UAAU,IACvClU,EAAMtB,MAAMmd,cACZ7b,EAAMtB,MAAMmd,aAAazM,EAEjC,EACApP,EAAMyR,YAAc,SAAUrC,GAC1BA,EAAEyX,iBACF7mB,EAAMwF,SAAS,CAAE0O,UAAU,IACvBlU,EAAMtB,MAAM+S,aACZzR,EAAMtB,MAAM+S,YAAYrC,EAEhC,EACApP,EAAM8b,UAAY,SAAU1M,GACxBpP,EAAMwF,SAAS,CAAE0O,UAAU,IACvBlU,EAAMtB,MAAMod,WACZ9b,EAAMtB,MAAMod,UAAU1M,EAE9B,EACApP,EAAM0R,QAAU,SAAUzS,GACtBe,EAAMwF,SAAS,CAAE4O,SAAS,IACtBpU,EAAMtB,MAAMgT,SACZ1R,EAAMtB,MAAMgT,QAAQzS,EAE5B,EACAe,EAAM2R,OAAS,SAAU1S,GACrBe,EAAMwF,SAAS,CAAE4O,SAAS,IACtBpU,EAAMtB,MAAMiT,QACZ3R,EAAMtB,MAAMiT,OAAO1S,EAE3B,EACAe,EAAM8mB,WAAa,WACf,IAAI/lB,EAAKf,EAAMtB,MAAO+U,EAAO1S,EAAG0S,KAAMY,EAAatT,EAAGsT,WACtD,OAAIZ,EACOY,EAAa,OAAS,IAE1B,QACX,EAGArU,EAAM+mB,aAAe,SAAU3X,GAI3B,OAHKpP,EAAMwT,iBACPpE,EAAE4X,mBAEC,CACX,EACOhnB,CACX,CAkDA,OApHAylB,EAAQnD,UAAUiE,EAAQzmB,GAmE1BymB,EAAOhmB,UAAUgL,kBAAoB,WAC7B3M,KAAKF,MAAMuoB,WAAaroB,KAAK4nB,kBAAkBU,mBAC/CtoB,KAAK4nB,OAAO1M,OAEpB,EACAyM,EAAOhmB,UAAUnB,OAAS,WACtB,IAAIY,EAAQpB,KACRmC,EAAKnC,KAAKF,MAAOqZ,EAAKhX,EAAGqS,WAAYA,OAAoB,IAAP2E,EAAgB,UAAYA,EAAI1Y,EAAW0B,EAAG1B,SAAUwS,EAAY9Q,EAAG8Q,UAAWsV,EAAkBpmB,EAAGgQ,UAAWqW,EAAcrmB,EAAGqmB,YAAaC,EAAYtmB,EAAGsmB,UAAWC,EAAavmB,EAAGumB,WAAYC,EAAKxmB,EAAGsT,WAAYA,OAAoB,IAAPkT,GAAwBA,EAAIC,EAAKzmB,EAAG6T,UAAWA,OAAmB,IAAP4S,GAAwBA,EAAIC,EAAK1mB,EAAGuT,WAAYA,OAAoB,IAAPmT,GAAwBA,EAAIC,EAAK3mB,EAAG4mB,mBAAoBA,OAA4B,IAAPD,GAAwBA,EAAIE,EAAK7mB,EAAG8mB,QAASA,OAAiB,IAAPD,EAAgB,UAAYA,EAAIE,EAAK/mB,EAAG0Z,MAAOA,OAAe,IAAPqN,EAAgB,SAAUzjB,EAAS3F,GAAS,OAAO2F,EAAQ3F,EAAQ,EAAIopB,EAAI3W,EAASpQ,EAAGoQ,OAAQlQ,EAAOwkB,EAAQ3C,OAAO/hB,EAAI,CAAC,aAAc,WAAY,YAAa,YAAa,cAAe,YAAa,aAAc,aAAc,YAAa,aAAc,qBAAsB,UAAW,QAAS,WACv3BwM,EAAakY,EAAQhD,SAASgD,EAAQhD,SAAS,CAAC,EAAG7jB,KAAK0B,OAAQ,CAAEgU,WAAYA,EAAYD,WAAYA,IACtGuI,EAAeuK,GAAmBvoB,KAAKkoB,aACvCiB,MAAsBT,GAAeD,GAAchoB,MAClDgoB,GAAcC,GAAejoB,IAclC,OAAQumB,EAAOoC,IAAIhC,EAAQ1Q,MAAMwF,SAAU,CAAExb,MAAOmb,GAChDmL,EAAOoC,IAAIjC,EAAaU,QAAQ3e,SAAU,MAAM,SAAU/G,GACtD,IAAI4T,EAAO5T,EAAG4T,KACd,OAAQiR,EAAOoC,IAAIhC,EAAQ1Q,MAAMxN,SAAU2d,EAAQhD,SAAS,CAAE9N,KAAMA,EAAMrU,MAAOgmB,EAAQ2B,qBAAqB1a,GAAawa,gBAAiBA,GAAmB/nB,EAAMtB,QAAQ,SAAUqC,GACnL,IAjBemF,EAiBXgiB,EAAennB,EAAGmnB,aAAcC,EAAgBpnB,EAAGonB,cACvD,OAAQvC,EAAOoC,IAAIpL,EAAc6I,EAAQhD,SAAS,CAAC,EAAG6D,EAAQ8B,YAAYnnB,EAAM2b,GAAe,CAAE,cAAezL,EAAQrQ,IAAKd,EAAM2mB,gBAAgB3mB,EAAMwmB,OAAQY,GAAcxL,aAAc5b,EAAM4b,aAAcC,aAAc7b,EAAM6b,aAAcpK,YAAazR,EAAMyR,YAAaqK,UAAW9b,EAAM8b,UAAWpK,QAAS1R,EAAM0R,QAASC,OAAQ3R,EAAM2R,OAAQ0K,SAAUhI,EAAYxC,UAAWA,EAAW2C,KAlB1XtO,EAkB0YgiB,EAjB5Y,MAAjBtL,EACO,CACH,KAAM1W,GAGL0W,IAAiBuK,EACf,CACH,oCAAqCjhB,GAGtCA,KAQK0f,EAAOoC,IAAI5B,EAAeK,QAAS,CAAEpV,QAASrR,EAAM+mB,aAAcsB,MAAOV,GACrE/S,GAAcgR,EAAOoC,IAAI3B,EAAiBI,QAAS,CAAEoB,QAASA,EAASzU,WAAYA,EAAYkB,WAAYA,EAAYD,WAAYA,EAAYnO,OAAQiiB,IACvJb,GAAe1B,EAAOoC,IAAI7B,EAAcM,QAAS,CAAE7R,UAAWA,EAAWiT,QAASA,EAASS,YAAaP,EAAiBQ,KAAMjB,IAC/HjoB,GAAaumB,EAAOoC,IAAI9B,EAAUO,QAAS,CAAE7R,UAAWA,EAAW4T,cAAelB,EAAYO,QAASA,GAAWxoB,GAClHgoB,GAAczB,EAAOoC,IAAI7B,EAAcM,QAAS,CAAE7R,UAAWA,EAAWiT,QAASA,EAASS,YAAaP,EAAiBQ,KAAMlB,KAC1I,GACJ,IACR,EACAd,EAAO5iB,aAAe,CAClByP,WAAY,UACZ6T,WAAW,EACX5S,YAAY,EACZO,WAAW,EACXN,YAAY,EACZqT,oBAAoB,EACpBE,QAAS,UACTY,KAAM,UAEHlC,CACX,CAtH2B,CAsHzBb,EAAQe,QAAQjoB,WAEdsT,EAA+BgU,EAAiB/T,mBAAmB,YACnE2W,EAAgBhD,EAAQe,QAAQxB,YAAW,SAAUvmB,EAAOoC,GAAO,OAAO8kB,EAAOoC,IAAIzB,EAAQd,EAAQhD,SAAS,CAAC,EAAG/jB,EAAO,CAAE0oB,YAAatmB,IAAS,IACrJ4nB,EAAcvnB,YAAc,SAC5BwnB,EAAQ,GAAU7C,EAAiB8C,qBAAqB,CACpDpb,cAAe,SACfC,YAAawY,EAAe7kB,KAC5BsM,eAAgBuY,EAAepP,SAHjBiP,CAIfA,EAAiB+C,oBAAoB,CACpCxX,QAASS,EAA6B,CAClCzE,OAAQ,UACRC,cAAe,SACfC,WAAY,CACRC,cAAe,SACfC,YAAawY,EAAe7kB,KAC5BsM,eAAgBuY,EAAepP,YAPxCiP,CAUA4C,kCCxJHnmB,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IAAImmB,EAAU,EAAQ,OAClBG,EAAS,EAAQ,OACjBkD,EAAc,EAAQ,OACtBxC,EAAU,EAAQ,OACtBqC,EAAA,QAAkB,SAAW5nB,GACzB,IAAI1B,EAAW0B,EAAG1B,SAAUmpB,EAAcznB,EAAGynB,YAAaX,EAAU9mB,EAAG8mB,QAASjT,EAAY7T,EAAG6T,UAAW3T,EAAOwkB,EAAQ3C,OAAO/hB,EAAI,CAAC,WAAY,cAAe,UAAW,cAC3K,OAAQ6kB,EAAOoC,IAAI,OAAQvC,EAAQhD,SAAS,CAAEjO,IAAKiR,EAAQhD,SAAS,CAAEsG,WAAYP,EAAc,WAAa,SAAUQ,UAAWR,EAAc,WAAa,SAAUjS,KAAM,WAAY0S,OAAoB,SAAZpB,EAAqB,EAAI,KAAOiB,EAAY7I,WAAa,EAAI,KAAMiJ,SAAU,OAAQC,SAAU,SAAUC,aAAc,WAAYC,WAAY,UAAY/C,EAAQgD,gBAAgB1U,KAAe3T,GAAO5B,EAC7Y,gCCRDkD,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IAAImmB,EAAU,EAAQ,OAElBG,EAAS,EAAQ,OACjBkD,EAAc,EAAQ,OACtBxC,EAAU,EAAQ,OACtBqC,EAAA,QAAkB,SAAW5nB,GACzB,IAAI8mB,EAAU9mB,EAAG8mB,QAASU,EAAOxnB,EAAGwnB,KAAMD,EAAcvnB,EAAGunB,YAAa1T,EAAY7T,EAAG6T,UAAW3T,EAAOwkB,EAAQ3C,OAAO/hB,EAAI,CAAC,UAAW,OAAQ,cAAe,cAC/J,OAAQ6kB,EAAOoC,IAAI,OAAQvC,EAAQhD,SAAS,CAAEjO,IAAKiR,EAAQhD,SAAS,CAAEuG,UAAW,SAAUpT,QAAS,OAAQ2T,WAAY,EAAGC,WAAY,EAAGC,SAAU,EAAGC,WAAY,OAAQT,OAAoB,SAAZpB,EACrK,EACAS,EACI,MAAQQ,EAAY7I,WAAa,EAAI,KACrC,KAAO6I,EAAY7I,WAAa,EAAI,MAAQqG,EAAQgD,gBAAgB1U,KAAe3T,GAAOsnB,EAC/G,gCCbDhmB,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IAAImmB,EAAU,EAAQ,OAClBG,EAAS,EAAQ,OACrB+C,EAAA,QAAkB,SAAW5nB,GACzB,IAAIsnB,EAAMtnB,EAAGsnB,IAAKhpB,EAAW0B,EAAG1B,SAAU4B,EAAOwkB,EAAQ3C,OAAO/hB,EAAI,CAAC,MAAO,aAC5E,OAAQ6kB,EAAOoC,IAAI,OAAQvC,EAAQhD,SAAS,CAAEjO,IAAKiR,EAAQhD,SAASgD,EAAQhD,SAAS,CAAEuG,UAAW,SAAUpT,QAAS,cAAe+T,SAAU,SAAUT,SAAU,OAAQ3kB,SAAU,YAAe8jB,GAAO,CAAEla,MAAO,SAAaka,GAAO,CAAEuB,eAAgB,YAAgB3oB,GAAO5B,EACnR,+BCNDkD,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IAAImmB,EAAU,EAAQ,OAElBC,EAAUD,EAAQE,gBAAgB,EAAQ,QAC1CC,EAAS,EAAQ,OACjBiE,EAAYpE,EAAQE,gBAAgB,EAAQ,QAC5CmE,EAAc,CAAC,UAAW,UAC1BC,EAAgC,SAAUjqB,GAE1C,SAASiqB,IACL,IAAI/pB,EAAmB,OAAXF,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,KAgBhE,OAfAoB,EAAMgqB,cAAgB,WAClB,IAAIjpB,EAAKf,EAAMtB,MAAO0U,EAAarS,EAAGqS,WAAYkB,EAAavT,EAAGuT,WAAYD,EAAatT,EAAGsT,WAC9F,QAAIC,IAGAD,QAGerP,IAAfoO,IACyC,IAArC0W,EAAY1P,QAAQhH,EAKhC,EACOpT,CACX,CAOA,OA1BAylB,EAAQnD,UAAUyH,EAAgBjqB,GAoBlCiqB,EAAexpB,UAAUnB,OAAS,WAC9B,IAAI2B,EAAKnC,KAAKF,MAAOmpB,EAAU9mB,EAAG8mB,QAAS3hB,EAASnF,EAAGmF,OACnD+jB,EAA0B,YAAZpC,EAAwB,QAAU,SACpD,OAAQjC,EAAOoC,IAAI,MAAO,CAAExT,IAAKtO,GAC7B0f,EAAOoC,IAAI6B,EAAUpD,QAAS,CAAEtT,KAAM8W,EAAa7W,WAAYxU,KAAKorB,gBAAkB,SAAW,YACzG,EACOD,CACX,CA5BmC,CA4BjCrE,EAAQe,QAAQjoB,WAClBmqB,EAAA,QAAkBoB,gCCpClBxnB,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IAAImmB,EAAU,EAAQ,OAClBqD,EAAc,EAAQ,OACtB9C,EAAU,EAAQ,OAClBkE,EAAgD,EAAzBpB,EAAY7I,WAAkB6I,EAAYW,WAAa,KAC9EU,EAAyC,EAAzBrB,EAAY7I,WAAkB6I,EAAYW,WAAa,KAEvEW,EAAgB,SAAU1rB,GAC1B,OAAOsnB,EAAQqE,mBAAmB,aAAc3rB,EAAOsnB,EAAQsE,UACnE,EAEIC,EAAe,SAAU7rB,GAEzB,MAAO,aADcsnB,EAAQqE,mBAAmB,iBAAkB3rB,EAAOsnB,EAAQsE,UAErF,EAEIE,EAAW,SAAU9rB,GACrB,OAAOsnB,EAAQqE,mBAAmB,QAAS3rB,EAAOsnB,EAAQsE,UAC9D,EAWIG,EAAY,SAAU1pB,GACtB,IAAIgX,EAAKhX,EAAG8mB,QAASA,OAAiB,IAAP9P,EAAgB,UAAYA,EAC3D,MAAmB,YAAZ8P,EACDqC,EACY,SAAZrC,EACI,OACAsC,CACd,EAEIO,EAAgB,SAAU3pB,GAC1B,IAAIgX,EAAKhX,EAAG8mB,QAASA,OAAiB,IAAP9P,EAAgB,UAAYA,EAC3D,MAAmB,YAAZ8P,EACDqC,EACY,SAAZrC,EACI,UACAsC,CACd,EAEIQ,EAAa,SAAU5pB,GACvB,IAAIgX,EAAKhX,EAAG8mB,QACZ,MAAmB,eADmB,IAAP9P,EAAgB,UAAYA,GAC/B,EAAI,KAAO+Q,EAAY7I,WAAa,IACpE,EAEI2K,EAAoB,SAAU7pB,GAC9B,IAAIgX,EAAKhX,EAAGqS,WAAYA,OAAoB,IAAP2E,EAAgB,UAAYA,EAAIwP,EAAKxmB,EAAGT,MAC7E,MAAiB,gBADkF,IAAPinB,EAAgB,UAAYA,IAC5E,SAAfnU,GAAwC,gBAAfA,EAEhD,UADA,WAEV,EAEIyX,EAAgB,SAAU9pB,GAC1B,IAAIgX,EAAKhX,EAAGT,MACZ,MAAiB,gBADiB,IAAPyX,EAAgB,UAAYA,GAEjD,gFACA,iFACV,EAEI+S,EAAwB,SAAU/pB,GAClC,IAAIgX,EAAKhX,EAAGT,MAAOA,OAAe,IAAPyX,EAAgB,UAAYA,EACvD,MAAiB,WAAVzX,EAAqB,KAAiB,UAAVA,EAAoB,WAAa,aACxE,EAEIyqB,EAAmB,SAAUhqB,GAC7B,IAAIgX,EAAKhX,EAAG8mB,QACZ,MAAmB,eADmB,IAAP9P,EAAgB,UAAYA,GAC/B,WAAa,QAC7C,EAEIiT,EAAW,SAAUjqB,GAErB,OADyBA,EAAG4mB,mBACA,OAAS,MACzC,EAEIsD,EAAe,CACflC,WAAY,WACZ7V,YAAa,EACbgY,UAAW,aACXtV,QAAS,cACT6T,SAAU,UACV0B,UAAW,SACXC,WAAY,MACZlC,SAAU,OACVrV,QAAS,kBACTwX,UAAW,SACXC,eAAgB,OAChBjC,WAAY,UAKhBV,EAAQ4C,gBAAkB,SAAU7sB,GAAS,OAAQ+mB,EAAQhD,SAASgD,EAAQhD,SAASgD,EAAQhD,SAAS,CAAC,EAAGwI,GAAe,CAAEpL,WAAYuK,EAAc1rB,GAAQ+W,aAAcqT,EAAYrT,eAAiB,KAAM+V,UAAWjB,EAAa7rB,GAAQ+sB,MAAOjB,EAAS9rB,GAAS,cAAekV,QA9E9P7S,EA8EgRrC,EA7ElSqZ,EAAKhX,EAAGT,MAAOA,OAAe,IAAPyX,EAAgB,UAAYA,EACtC,UAAVzX,GAA+B,WAAVA,GAAgC,aAAVA,EAC5C,UACU,aAAVA,EACI,cACA,WAwEoS8N,OAAQqc,EAAU/rB,GAAQ8qB,WAAYkB,EAAchsB,GAAQgtB,QAASf,EAAWjsB,GAAQ0N,WAAYye,EAAcnsB,GAAQuV,mBAAoB6W,EAAsBpsB,GAAQitB,cAAeZ,EAAiBrsB,GAAQyP,MAAO6c,EAAStsB,GAAQ,sBAAuB,CAC7iBktB,OAAQ,EACR3C,OAAQ,EACRyC,QAAS,GACV,UAAW,CACVJ,eAAgBV,EAAkBlsB,MAC/BA,EAAMkW,WAAa,CAAEjQ,cAAe,SApF/B,IAAU5D,EAClBgX,EAAezX,CAmFqC,EAI5DqoB,EAAQkD,iBAAmB,WAAc,MAAO,CAC5CjW,QAAS,OACTrR,SAAU,WACVE,KAAM,MACND,IAAK,MACLwP,UAAW,wBACX,gCClHJzR,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IAAImmB,EAAU,EAAQ,OACtBkD,EAAQV,qBAAuB,SAAUlnB,GACrC,IAAIgX,EAAKhX,EAAGsT,WAAYA,OAAoB,IAAP0D,GAAwBA,EAAIwP,EAAKxmB,EAAGmT,SAAUA,OAAkB,IAAPqT,GAAwBA,EAAIC,EAAKzmB,EAAGqT,QAASA,OAAiB,IAAPoT,GAAwBA,EAAIC,EAAK1mB,EAAGoT,QAASA,OAAiB,IAAPsT,GAAwBA,EAAIC,EAAK3mB,EAAGuT,WAAYA,OAAoB,IAAPoT,GAAwBA,EACjS,OAAIrT,EACO,WAEPC,GAAcF,EACP,gBAEPE,EACO,WAEPJ,EACO,SAEPC,EACO,QAEPC,EACO,QAEJ,SACX,EACAuU,EAAQP,YAAc,SAEtBrnB,EAAI0nB,GAC2B1nB,EAAGtB,qBAA9B,IAAoDf,EAAQ+mB,EAAQ3C,OAAO/hB,EAE3E,CAAC,yBACD,MAAa,SAAT0nB,GACa/pB,EAAM2Q,OAAe3Q,EAAM+U,KAAagS,EAAQ3C,OAAOpkB,EAAO,CAAC,SAAU,UAGnFA,CACX,EACAiqB,EAAQW,gBAAkB,SAAU1U,GAAa,MAAO,CACpDxI,WAAY,eACZ1H,QAASkQ,EAAY,EAAI,EACzB,EACJ+T,EAAQ/B,YAAc,WAElB,IADA,IAAIkF,EAAO,GACFxoB,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCwoB,EAAKxoB,GAAMC,UAAUD,GAEzB,OAAO,SAAU6T,GACb2U,EACKppB,QAAO,SAAUuU,GAAK,QAASA,CAAG,IAClCpV,SAAQ,SAAUf,GACA,mBAARA,EACPA,EAAIqW,GAGJrW,EAAIuD,QAAU8S,CAEtB,GACJ,CACJ,EA6BAwR,EAAQoD,SAvBR,SAAkBC,EAAKC,GAEnB,QADc,IAAVA,IAAoBA,EAAQ,GAC5B,2BAA2BC,KAAKF,GAAM,CACtC,IAAIG,EAAWH,EAAII,UAAU,GAAG3jB,MAAM,IACd,IAApB0jB,EAASvpB,SACTupB,EAAW,CACPA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,KAGjB,IAAIV,EAAQ,KAAOU,EAASE,KAAK,IAKjC,MAAO,QAAU,CAHRZ,GAAS,GAAM,IACfA,GAAS,EAAK,IACP,IAARA,GACmBY,KAAK,KAAO,KAAOJ,EAAQ,GAC1D,CACA,MAAM,IAAIziB,MAAM,UACpB,gCCrFAjH,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IACIkZ,EADU,EAAQ,OACD8T,aAAa,EAAQ,QACtCvG,EAAe,EAAQ,MACvBwG,EAAc,EAAQ,OACtBjG,EAAU,EAAQ,OACtBqC,EAAQ6D,UAAY,CAChB3M,WAAY,CAAElU,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC/CjB,MAAO,CAAE9f,MAAO6M,EAAOmU,KAAM/gB,KAAM4M,EAAOoU,OAC1CtB,eAAgB,CAAE3f,MAAO,OAAQC,KAAM,SAE3C+c,EAAQ2B,UAAY,CAEhBzK,WAAY,CACR4G,QAAS,CACLA,QAAS,CAAE9a,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC5CG,MAAO,CAAElhB,MAAO6M,EAAOsU,KAAMlhB,KAAM4M,EAAOuU,MAC1CC,OAAQ,CAAErhB,MAAO2a,EAAQyF,SAASvT,EAAOgG,IAAK,IAAM5S,KAAM4M,EAAOgG,KACjEnC,SAAU,CAAE1Q,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC7CO,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,KAC7CwN,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,MAEtDyN,QAAS,CACL3G,QAAS,CAAE9a,MAAO6M,EAAOmG,KAAM/S,KAAM4M,EAAOiG,MAC5CoO,MAAO,CAAElhB,MAAO6M,EAAO6U,KAAMzhB,KAAM4M,EAAOgG,KAC1CwO,OAAQ,CAAErhB,MAAO6M,EAAO8U,KAAM1hB,KAAM4M,EAAOkG,MAC3CrC,SAAU,CAAE1Q,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC7CO,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,KAC7CwN,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,MAEtD4N,QAAS,CACL9G,QAAS,CAAE9a,MAAO6M,EAAO4F,KAAMxS,KAAM4M,EAAO4F,MAC5CyO,MAAO,CAAElhB,MAAO6M,EAAOgV,KAAM5hB,KAAM4M,EAAOgV,MAC1CR,OAAQ,CAAErhB,MAAO6M,EAAOiV,KAAM7hB,KAAM4M,EAAOiV,MAC3CpR,SAAU,CAAE1Q,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC7CO,SAAU,CAAEthB,MAAO6M,EAAOiV,KAAM7hB,KAAM4M,EAAOiV,MAC7CN,cAAe,CAAExhB,MAAO6M,EAAOiV,KAAM7hB,KAAM4M,EAAOiV,OAEtDC,OAAQ,CACJjH,QAAS,CAAE9a,MAAO6M,EAAO2F,KAAMvS,KAAM4M,EAAO2F,MAC5C0O,MAAO,CAAElhB,MAAO6M,EAAO0F,KAAMtS,KAAM4M,EAAO0F,MAC1C8O,OAAQ,CAAErhB,MAAO6M,EAAOmV,KAAM/hB,KAAM4M,EAAOmV,MAC3CtR,SAAU,CAAE1Q,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC7CO,SAAU,CAAEthB,MAAO6M,EAAOmV,KAAM/hB,KAAM4M,EAAOmV,MAC7CR,cAAe,CAAExhB,MAAO6M,EAAOmV,KAAM/hB,KAAM4M,EAAOmV,OAEtDC,KAAM,CACFnH,QAAS,CAAE9a,MAAO,OAAQC,KAAM,QAChCqhB,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOqV,KAC7CV,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOqV,MAEtDC,OAAQ,CACJrH,QAAS,CAAE9a,MAAO,OAAQC,KAAM,QAChCihB,MAAO,CAAElhB,MAAO6M,EAAOsU,KAAMlhB,KAAM4M,EAAOuU,MAC1CC,OAAQ,CAAErhB,MAAO2a,EAAQyF,SAASvT,EAAOgG,IAAK,IAAM5S,KAAM4M,EAAOgG,KACjEnC,SAAU,CAAE1Q,MAAO,OAAQC,KAAM,QACjCqhB,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,KAC7CwN,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,MAEtD,cAAe,CACX8G,QAAS,CAAE9a,MAAO,OAAQC,KAAM,QAChCqhB,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOqV,KAC7CV,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOqV,OAG1DE,eAAgB,CACZtH,QAAS,CACL3M,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,MAGrB4O,QAAS,CACLtT,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,MAGrB+O,QAAS,CACLzT,MAAO,CAAEnO,MAAO6M,EAAOwV,KAAMpiB,KAAM4M,EAAOwV,MAC1Cb,cAAe,CAAExhB,MAAO6M,EAAOwV,KAAMpiB,KAAM4M,EAAOwV,OAEtDN,OAAQ,CACJ5T,MAAO,CAAEnO,MAAO6M,EAAOyV,KAAMriB,KAAM4M,EAAOyV,MAC1Cd,cAAe,CAAExhB,MAAO6M,EAAOyV,KAAMriB,KAAM4M,EAAOyV,OAEtDL,KAAM,CACF9T,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,MAGrBsP,OAAQ,CACJhU,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,MAGrB,cAAe,CACX1E,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,OAIzBiN,MAAO,CACHhF,QAAS,CACLA,QAAS,CAAE9a,MAAO6M,EAAOuG,KAAMnT,KAAM4M,EAAOoU,OAC5CI,OAAQ,CAAErhB,MAAO6M,EAAOmG,KAAM/S,KAAM4M,EAAOmG,MAC3CtC,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOkH,MAC5CuN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,OAC5CO,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,QAErDQ,QAAS,CACL3G,QAAS,CAAE9a,MAAO6M,EAAO1M,GAAIF,KAAM4M,EAAOkH,MAC1CrD,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOkH,MAC5CuN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,OAC5CO,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,QAErDW,QAAS,CACL9G,QAAS,CAAE9a,MAAO6M,EAAOwG,KAAMpT,KAAM4M,EAAOwG,MAC5C3C,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOkH,MAC5CuN,SAAU,CAAEthB,MAAO6M,EAAOwG,KAAMpT,KAAM4M,EAAOwG,MAC7CmO,cAAe,CAAExhB,MAAO6M,EAAOwG,KAAMpT,KAAM4M,EAAOwG,OAEtD0O,OAAQ,CACJjH,QAAS,CAAE9a,MAAO6M,EAAO1M,GAAIF,KAAM4M,EAAO1M,IAC1CuQ,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOkH,MAC5CuN,SAAU,CAAEthB,MAAO6M,EAAO1M,GAAIF,KAAM4M,EAAO1M,IAC3CqhB,cAAe,CAAExhB,MAAO6M,EAAO1M,GAAIF,KAAM4M,EAAO1M,KAEpD8hB,KAAM,CACFnH,QAAS,CAAE9a,MAAO6M,EAAOmG,KAAM/S,KAAM4M,EAAOiG,MAC5CoO,MAAO,CAAElhB,MAAO6M,EAAO6U,KAAMzhB,KAAM4M,EAAOgG,KAC1CwO,OAAQ,CAAErhB,MAAO6M,EAAO8U,KAAM1hB,KAAM4M,EAAOkG,MAC3CrC,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOgH,OAC5CyN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAO0U,MAC5CC,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAO0U,OAErDY,OAAQ,CACJrH,QAAS,CAAE9a,MAAO6M,EAAOuG,KAAMnT,KAAM4M,EAAOoU,OAC5CI,OAAQ,CAAErhB,MAAO6M,EAAOmG,KAAM/S,KAAM4M,EAAOmG,MAC3CtC,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOgH,OAC5CyN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,OAC5CO,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,QAErD,cAAe,CACXnG,QAAS,CAAE9a,MAAO6M,EAAOsG,KAAMlT,KAAM4M,EAAOoU,OAC5CC,MAAO,CAAElhB,MAAO6M,EAAO2V,IAAKviB,KAAM4M,EAAO4V,KACzCpB,OAAQ,CAAErhB,MAAO6M,EAAOmU,KAAM/gB,KAAM4M,EAAO+G,OAC3ClD,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOgH,OAC5CyN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,OAC5CO,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,UA6B7DjE,EAAQ0B,mBAzBR,SAA4BgE,EAAUttB,EAAI0Z,GACtC,IAAI1C,EAAKhX,EAAGqS,WAAYA,OAAoB,IAAP2E,EAAgB,UAAYA,EAAIwP,EAAKxmB,EAAGT,MAAOA,OAAe,IAAPinB,EAAgB,UAAYA,EAAIC,EAAKzmB,EAAG4T,KAAMA,OAAc,IAAP6S,EAAgB,QAAUA,EACvK8G,EAAiB7T,EAAM4T,GAC3B,IAAKC,EACD,MAAO,UAGX,IAAKA,EAAelb,GAAa,CAC7B,IAAKkb,EAAwB,QACzB,OAAO3F,EAAQ6D,UAAU6B,GAAU1Z,GAAQgU,EAAQ6D,UAAU6B,GAAU1Z,GAAQ,UAEnFvB,EAAa,SACjB,CAGKkb,EAAelb,GAAY9S,KAC5BA,EAAQ,WAEZ,IAAIiuB,EAAmBD,EAAelb,GAClCob,EAAcD,EAAiBjuB,GACnC,OAAKkuB,EAGEA,EAAY7Z,IAAS4Z,EAAiB9H,QAAQ9R,GAF1C,SAGf,EAEAgU,EAAQrT,MAAQyQ,EAAaxQ,aAAY,SAAU4L,GAAc,MAAO,CACpE+G,aAAcqE,EAAYhB,gBAAgBpK,GAC1CgH,cAAeoE,EAAYV,mBAC3B,qKC7LJ,MAAM3B,EAAuC,GAAb,IAAAjK,aAAkB,IAAAwJ,YAAtB,KACtBU,EAAgC,GAAb,IAAAlK,aAAkB,IAAAwJ,YAAtB,KAEfW,EAAiB1rB,GAAU2rB,EAAmB,aAAc3rB,EAAO4rB,GAEnEC,EAAgB7rB,GAEX,aADgB2rB,EAAmB,iBAAkB3rB,EAAO4rB,KAIjEE,EAAY9rB,GAAU2rB,EAAmB,QAAS3rB,EAAO4rB,GAEzDmE,EAAY,EAAGnuB,QAAQ,aAA0B,UAAVA,GAA+B,WAAVA,GAAgC,aAAVA,EAClF,UACU,aAAVA,EACI,cACA,UAEJmqB,EAAY,EAAG5C,UAAU,aAA4B,YAAZA,EACzCqC,EACY,SAAZrC,EACI,OACAsC,EAEJO,EAAgB,EAAG7C,UAAU,aAA4B,YAAZA,EAC7CqC,EACY,SAAZrC,EACI,UACAsC,EAEJQ,EAAa,EAAG9C,UAAU,aAA4B,SAAZA,EAAqB,EAAI,MAAK,IAAA5H,gBAExE2K,EAAoB,EAAGxX,aAAa,UAAW9S,QAAQ,aAA2B,UAAVA,GAAqC,SAAf8S,GAAwC,gBAAfA,EAEvH,UADA,YAGAyX,EAAgB,EAAGvqB,QAAQ,aAA0B,UAAVA,EAC3C,gFACA,kFAEAwqB,EAAwB,EAAGxqB,QAAQ,aAA0B,WAAVA,EAAqB,KAAiB,UAAVA,EAAoB,WAAa,cAEhHyqB,EAAmB,EAAGlD,UAAU,aAA4B,SAAZA,EAAqB,WAAa,SAElFmD,EAAW,EAAGrD,wBAAyBA,EAAqB,OAAS,OAErEsD,EAAe,CACjBlC,WAAY,WACZ7V,YAAa,EACbgY,UAAW,aACXtV,QAAS,cACT6T,SAAU,UACV0B,UAAW,SACXC,WAAY,MACZlC,SAAU,OACVrV,QAAS,kBACTwX,UAAW,SACXC,eAAgB,OAChBjC,WAAY,UC5DHpB,EAAuB,EAAG5T,cAAa,EAAOH,YAAW,EAAOE,WAAU,EAAOD,WAAU,EAAOG,cAAa,KACpHD,EACO,WAEPC,GAAcF,EACP,gBAEPE,EACO,WAEPJ,EACO,SAEPC,EACO,QAEPC,EACO,QAEJ,UAWEkV,EAAmB1U,IAAc,CAC1CxI,WAAY,eACZ1H,QAASkQ,EAAY,EAAI,IAEhBgS,EAAc,IAAIkF,IACnB3U,IACJ2U,EACKppB,QAAOuU,KAAOA,IACdpV,SAAQf,IACU,mBAARA,EACPA,EAAIqW,GAGJrW,EAAIuD,QAAU8S,CAClB,GACF,EAQH,SAAS4U,EAASC,EAAKC,EAAQ,GAClC,GAAI,2BAA2BC,KAAKF,GAAM,CACtC,IAAIG,EAAWH,EAAII,UAAU,GAAG3jB,MAAM,IACd,IAApB0jB,EAASvpB,SACTupB,EAAW,CACPA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,GACTA,EAAS,KAGjB,MAAMV,EAAQ,KAAKU,EAASE,KAAK,MAKjC,MAAO,QAAQ,CAHJZ,GAAS,GAAM,IACfA,GAAS,EAAK,IACP,IAARA,GACeY,KAAK,SAASJ,IAC3C,CACA,MAAM,IAAIziB,MAAM,UACpB,CCtEO,MAAMgjB,EAAY,CACrB3M,WAAY,CAAElU,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC/CjB,MAAO,CAAE9f,MAAO6M,EAAOmU,KAAM/gB,KAAM4M,EAAOoU,OAC1CtB,eAAgB,CAAE3f,MAAO,OAAQC,KAAM,SAE9B0e,EAAY,CAErBzK,WAAY,CACR4G,QAAS,CACLA,QAAS,CAAE9a,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC5CG,MAAO,CAAElhB,MAAO6M,EAAOsU,KAAMlhB,KAAM4M,EAAOuU,MAC1CC,OAAQ,CAAErhB,MAAOogB,EAASvT,EAAOgG,IAAK,IAAM5S,KAAM4M,EAAOgG,KACzDnC,SAAU,CAAE1Q,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC7CO,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,KAC7CwN,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,MAEtDyN,QAAS,CACL3G,QAAS,CAAE9a,MAAO6M,EAAOmG,KAAM/S,KAAM4M,EAAOiG,MAC5CoO,MAAO,CAAElhB,MAAO6M,EAAO6U,KAAMzhB,KAAM4M,EAAOgG,KAC1CwO,OAAQ,CAAErhB,MAAO6M,EAAO8U,KAAM1hB,KAAM4M,EAAOkG,MAC3CrC,SAAU,CAAE1Q,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC7CO,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,KAC7CwN,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,MAEtD4N,QAAS,CACL9G,QAAS,CAAE9a,MAAO6M,EAAO4F,KAAMxS,KAAM4M,EAAO4F,MAC5CyO,MAAO,CAAElhB,MAAO6M,EAAOgV,KAAM5hB,KAAM4M,EAAOgV,MAC1CR,OAAQ,CAAErhB,MAAO6M,EAAOiV,KAAM7hB,KAAM4M,EAAOiV,MAC3CpR,SAAU,CAAE1Q,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC7CO,SAAU,CAAEthB,MAAO6M,EAAOiV,KAAM7hB,KAAM4M,EAAOiV,MAC7CN,cAAe,CAAExhB,MAAO6M,EAAOiV,KAAM7hB,KAAM4M,EAAOiV,OAEtDC,OAAQ,CACJjH,QAAS,CAAE9a,MAAO6M,EAAO2F,KAAMvS,KAAM4M,EAAO2F,MAC5C0O,MAAO,CAAElhB,MAAO6M,EAAO0F,KAAMtS,KAAM4M,EAAO0F,MAC1C8O,OAAQ,CAAErhB,MAAO6M,EAAOmV,KAAM/hB,KAAM4M,EAAOmV,MAC3CtR,SAAU,CAAE1Q,MAAO6M,EAAOiU,KAAM7gB,KAAM4M,EAAOkU,MAC7CO,SAAU,CAAEthB,MAAO6M,EAAOmV,KAAM/hB,KAAM4M,EAAOmV,MAC7CR,cAAe,CAAExhB,MAAO6M,EAAOmV,KAAM/hB,KAAM4M,EAAOmV,OAEtDC,KAAM,CACFnH,QAAS,CAAE9a,MAAO,OAAQC,KAAM,QAChCqhB,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOqV,KAC7CV,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOqV,MAEtDC,OAAQ,CACJrH,QAAS,CAAE9a,MAAO,OAAQC,KAAM,QAChCihB,MAAO,CAAElhB,MAAO6M,EAAOsU,KAAMlhB,KAAM4M,EAAOuU,MAC1CC,OAAQ,CAAErhB,MAAOogB,EAASvT,EAAOgG,IAAK,IAAM5S,KAAM4M,EAAOgG,KACzDnC,SAAU,CAAE1Q,MAAO,OAAQC,KAAM,QACjCqhB,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,KAC7CwN,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOmH,MAEtD,cAAe,CACX8G,QAAS,CAAE9a,MAAO,OAAQC,KAAM,QAChCqhB,SAAU,CAAEthB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOqV,KAC7CV,cAAe,CAAExhB,MAAO6M,EAAO0U,KAAMthB,KAAM4M,EAAOqV,OAG1DE,eAAgB,CACZtH,QAAS,CACL3M,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,MAGrB4O,QAAS,CACLtT,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,MAGrB+O,QAAS,CACLzT,MAAO,CAAEnO,MAAO6M,EAAOwV,KAAMpiB,KAAM4M,EAAOwV,MAC1Cb,cAAe,CAAExhB,MAAO6M,EAAOwV,KAAMpiB,KAAM4M,EAAOwV,OAEtDN,OAAQ,CACJ5T,MAAO,CAAEnO,MAAO6M,EAAOyV,KAAMriB,KAAM4M,EAAOyV,MAC1Cd,cAAe,CAAExhB,MAAO6M,EAAOyV,KAAMriB,KAAM4M,EAAOyV,OAEtDL,KAAM,CACF9T,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,MAGrBsP,OAAQ,CACJhU,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,MAGrB,cAAe,CACX1E,MAAO,CAAEnO,MAAO6M,EAAOiG,KAAM7S,KAAM4M,EAAOgG,KAC1C2O,cAAe,CACXxhB,MAAO6M,EAAOiG,KACd7S,KAAM4M,EAAOgG,OAIzBiN,MAAO,CACHhF,QAAS,CACLA,QAAS,CAAE9a,MAAO6M,EAAOuG,KAAMnT,KAAM4M,EAAOoU,OAC5CI,OAAQ,CAAErhB,MAAO6M,EAAOmG,KAAM/S,KAAM4M,EAAOmG,MAC3CtC,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOkH,MAC5CuN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,OAC5CO,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,QAErDQ,QAAS,CACL3G,QAAS,CAAE9a,MAAO6M,EAAO1M,GAAIF,KAAM4M,EAAOkH,MAC1CrD,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOkH,MAC5CuN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,OAC5CO,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,QAErDW,QAAS,CACL9G,QAAS,CAAE9a,MAAO6M,EAAOwG,KAAMpT,KAAM4M,EAAOwG,MAC5C3C,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOkH,MAC5CuN,SAAU,CAAEthB,MAAO6M,EAAOwG,KAAMpT,KAAM4M,EAAOwG,MAC7CmO,cAAe,CAAExhB,MAAO6M,EAAOwG,KAAMpT,KAAM4M,EAAOwG,OAEtD0O,OAAQ,CACJjH,QAAS,CAAE9a,MAAO6M,EAAO1M,GAAIF,KAAM4M,EAAO1M,IAC1CuQ,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOkH,MAC5CuN,SAAU,CAAEthB,MAAO6M,EAAO1M,GAAIF,KAAM4M,EAAO1M,IAC3CqhB,cAAe,CAAExhB,MAAO6M,EAAO1M,GAAIF,KAAM4M,EAAO1M,KAEpD8hB,KAAM,CACFnH,QAAS,CAAE9a,MAAO6M,EAAOmG,KAAM/S,KAAM4M,EAAOiG,MAC5CoO,MAAO,CAAElhB,MAAO6M,EAAO6U,KAAMzhB,KAAM4M,EAAOgG,KAC1CwO,OAAQ,CAAErhB,MAAO6M,EAAO8U,KAAM1hB,KAAM4M,EAAOkG,MAC3CrC,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOgH,OAC5CyN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAO0U,MAC5CC,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAO0U,OAErDY,OAAQ,CACJrH,QAAS,CAAE9a,MAAO6M,EAAOuG,KAAMnT,KAAM4M,EAAOoU,OAC5CI,OAAQ,CAAErhB,MAAO6M,EAAOmG,KAAM/S,KAAM4M,EAAOmG,MAC3CtC,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOgH,OAC5CyN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,OAC5CO,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,QAErD,cAAe,CACXnG,QAAS,CAAE9a,MAAO6M,EAAOsG,KAAMlT,KAAM4M,EAAOoU,OAC5CC,MAAO,CAAElhB,MAAO6M,EAAO2V,IAAKviB,KAAM4M,EAAO4V,KACzCpB,OAAQ,CAAErhB,MAAO6M,EAAOmU,KAAM/gB,KAAM4M,EAAO+G,OAC3ClD,SAAU,CAAE1Q,MAAO6M,EAAO0V,IAAKtiB,KAAM4M,EAAOgH,OAC5CyN,SAAU,CAAEthB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,OAC5CO,cAAe,CAAExhB,MAAO6M,EAAOqV,IAAKjiB,KAAM4M,EAAOoU,UAItD,SAASvC,EAAmBgE,GAAU,WAAEjb,EAAa,UAAS,MAAE9S,EAAQ,UAAS,KAAEqU,EAAO,SAAY8F,GACzG,MAAM6T,EAAiB7T,EAAM4T,GAC7B,IAAKC,EACD,MAAO,UAGX,IAAKA,EAAelb,GAAa,CAC7B,IAAKkb,EAAwB,QACzB,OAAO9B,EAAU6B,GAAU1Z,GAAQ6X,EAAU6B,GAAU1Z,GAAQ,UAEnEvB,EAAa,SACjB,CAGKkb,EAAelb,GAAY9S,KAC5BA,EAAQ,WAEZ,MAAMiuB,EAAmBD,EAAelb,GAClCob,EAAcD,EAAiBjuB,GACrC,OAAKkuB,EAGEA,EAAY7Z,IAAS4Z,EAAiB9H,QAAQ9R,GAF1C,SAGf,CACO,MAAM,GAAQ,EAAAY,EAAA,IAAY4L,IAAc,OAC3C+G,cFvH4BxpB,EEuHEyiB,EFvHQ,IACnC8J,EACHpL,WAAYuK,EAAc1rB,GAC1B+W,aAAc,IAAG,IAAAA,oBACjB+V,UAAWjB,EAAa7rB,GACxB+sB,MAAO,GAAGjB,EAAS9rB,gBACnBkV,OAAQ6a,EAAU/vB,GAClB0P,OAAQqc,EAAU/rB,GAClB8qB,WAAYkB,EAAchsB,GAC1BgtB,QAASf,EAAWjsB,GACpB0N,WAAYye,EAAcnsB,GAC1BuV,mBAAoB6W,EAAsBpsB,GAC1CitB,cAAeZ,EAAiBrsB,GAChCyP,MAAO6c,EAAStsB,GAChB,sBAAuB,CACnBktB,OAAQ,EACR3C,OAAQ,EACRyC,QAAS,GAEb,UAAW,CACPJ,eAAgBV,EAAkBlsB,OAElCA,EAAMkW,WAAa,CAAEjQ,cAAe,UEkGxCwjB,cF7FkC,CAClCvS,QAAS,OACTrR,SAAU,WACVE,KAAM,MACND,IAAK,MACLwP,UAAW,0BAhCgB,IAACtV,CEyH9B,4DCvLF,IAAkBW,WAAUmpB,cAAaX,UAASjT,eAAc3T,MAAY,IAAA+mB,KAAI,OAAQzlB,OAAOuG,OAAO,CAAE0L,IAAK,CACrGuU,WAAYP,EAAc,WAAa,SACvCQ,UAAWR,EAAc,WAAa,SACtCjS,KAAM,WACN0S,OAAoB,SAAZpB,EAAqB,EAAI,MAAK,IAAA5H,YAAa,MACnDiJ,SAAU,OACVC,SAAU,SACVC,aAAc,WACdC,WAAY,YACTC,EAAgB1U,KAClB3T,GAAO5B,GCThB,IAAkBwoB,UAASU,OAAMD,cAAa1T,eAAc3T,MAAY,IAAA+mB,KAAI,OAAQzlB,OAAOuG,OAAO,CAAE0L,IAAK,CACjGwU,UAAW,SACXpT,QAAS,OACT2T,WAAY,EACZC,WAAY,EACZC,SAAU,EACVC,WAAY,OACZT,OAAoB,SAAZpB,EACF,EACAS,EACI,OAAM,IAAArI,YAAa,MACnB,MAAK,IAAAA,YAAa,SACzBqJ,EAAgB1U,KAClB3T,GAAOsnB,GChBhB,IAAkBF,MAAKhpB,cAAa4B,MAAY,IAAA+mB,KAAI,OAAQzlB,OAAOuG,OAAO,CAAE0L,IAAK,CACzEwU,UAAW,SACXpT,QAAS,cACT+T,SAAU,SACVT,SAAU,OACV3kB,SAAU,cACN8jB,GAAO,CAAEla,MAAO,WAChBka,GAAO,CAAEuB,eAAgB,YAC5B3oB,GAAO5B,kBCLhB,MAAMyqB,EAAc,CAAC,UAAW,UACjB,MAAMC,UAAuB,YACxCtrB,cACIE,SAAS4E,WACT3E,KAAKorB,cAAgB,KACjB,MAAM,WAAE5W,EAAU,WAAEkB,EAAU,WAAED,GAAezV,KAAKF,MACpD,QAAI4V,IAGAD,QAGerP,IAAfoO,IACyC,IAArC0W,EAAY1P,QAAQhH,EAIhB,CAEpB,CACAhU,SACI,MAAM,QAAEyoB,EAAO,OAAE3hB,GAAWtH,KAAKF,MACjC,IAAIurB,EAA0B,YAAZpC,EAAwB,QAAU,SACpD,OAAQ,IAAAG,KAAI,MAAO,CAAExT,IAAKtO,IACtB,IAAA8hB,KAAI,IAAS,CAAE7U,KAAM8W,EAAa7W,WAAYxU,KAAKorB,gBAAkB,SAAW,YACxF,EChBG,MAAMzD,UAAe,YACxB9nB,cACIE,SAAS4E,WAET3E,KAAK4nB,OAAS,cAEd5nB,KAAK+nB,iBAAkB,aAAQC,GAC/BhoB,KAAK0B,MAAQ,CACT4T,UAAU,EACVE,SAAS,EACTD,SAAS,GAEbvV,KAAK4U,cAAgB,KAAO5U,KAAKF,MAAM2V,aAAezV,KAAKF,MAAMkW,UACjEhW,KAAKgd,aAAgBxM,IACjBxQ,KAAK4G,SAAS,CAAE2O,SAAS,IACrBvV,KAAKF,MAAMkd,cACXhd,KAAKF,MAAMkd,aAAaxM,EAC5B,EAEJxQ,KAAKid,aAAgBzM,IACjBxQ,KAAK4G,SAAS,CAAE2O,SAAS,EAAOD,UAAU,IACtCtV,KAAKF,MAAMmd,cACXjd,KAAKF,MAAMmd,aAAazM,EAC5B,EAEJxQ,KAAK6S,YAAerC,IAChBA,EAAEyX,iBACFjoB,KAAK4G,SAAS,CAAE0O,UAAU,IACtBtV,KAAKF,MAAM+S,aACX7S,KAAKF,MAAM+S,YAAYrC,EAC3B,EAEJxQ,KAAKkd,UAAa1M,IACdxQ,KAAK4G,SAAS,CAAE0O,UAAU,IACtBtV,KAAKF,MAAMod,WACXld,KAAKF,MAAMod,UAAU1M,EACzB,EAEJxQ,KAAK8S,QAAUzS,IACXL,KAAK4G,SAAS,CAAE4O,SAAS,IACrBxV,KAAKF,MAAMgT,SACX9S,KAAKF,MAAMgT,QAAQzS,EACvB,EAEJL,KAAK+S,OAAS1S,IACVL,KAAK4G,SAAS,CAAE4O,SAAS,IACrBxV,KAAKF,MAAMiT,QACX/S,KAAKF,MAAMiT,OAAO1S,EACtB,EAEJL,KAAKkoB,WAAa,KACd,MAAM,KAAErT,EAAI,WAAEY,GAAezV,KAAKF,MAClC,OAAI+U,EACOY,EAAa,OAAS,IAE1B,QAAQ,EAInBzV,KAAKmoB,aAAe3X,IACXxQ,KAAK4U,iBACNpE,EAAE4X,mBAEC,EAEf,CACAzb,oBACQ3M,KAAKF,MAAMuoB,WAAaroB,KAAK4nB,kBAAkBU,mBAC/CtoB,KAAK4nB,OAAO1M,OAEpB,CACA1a,SACI,MAAM,WAAEgU,EAAa,UAAS,SAAE/T,EAAQ,UAAEwS,EAAWd,UAAWoW,EAAe,YAAEC,EAAW,UAAEC,EAAS,WAAEC,EAAU,WAAEjT,GAAa,EAAK,UAAEO,GAAY,EAAK,WAAEN,GAAa,EAAK,mBAAEqT,GAAqB,EAAK,QAAEE,EAAU,UAAS,MAAEpN,EAAQ,EAACpW,EAAS3F,IAAU2F,EAAQ3F,IAAM,OAAEyS,KAAWlQ,GAASrC,KAAKF,MAChS6O,EAAa,IAAK3O,KAAK0B,MAAOgU,aAAYD,cAC1CuI,EAAeuK,GAAmBvoB,KAAKkoB,aACvCiB,MAAsBT,GAAeD,GAAchoB,MACpDgoB,GAAcC,GAAejoB,IAclC,OAAQ,IAAA2oB,KAAI,WAAgB,CAAE1oB,MAAOmb,IACjC,IAAAuN,KAAI,aAAsB,MAAM,EAAGrT,WAAY,IAAAqT,KAAI,WAAgBzlB,OAAOuG,OAAO,CAAE6L,KAAMA,EAAMrU,MAAO2nB,EAAqB1a,GAAawa,gBAAiBA,GAAmBnpB,KAAKF,QAAQ,EAAGwpB,eAAcC,oBAAoB,OAAC,IAAAH,KAAIpL,EAAcra,OAAOuG,OAAO,CAAC,ENnFjP,GAEzBrJ,0BAAyBf,GAAS+pB,KAChC,GAAa,SAATA,EAAiB,CACjB,MAAM,OAAEpZ,EAAM,KAAEoE,KAASxS,GAASvC,EAClC,OAAOuC,CACX,CACA,OAAOvC,CAAK,EM4E+P0pB,CAAYnnB,EAAM2b,GAAe,CAAE,cAAezL,EAAQrQ,IAAKlC,KAAK+nB,gBAAgB/nB,KAAK4nB,OAAQY,GAAcxL,aAAchd,KAAKgd,aAAcC,aAAcjd,KAAKid,aAAcpK,YAAa7S,KAAK6S,YAAaqK,UAAWld,KAAKkd,UAAWpK,QAAS9S,KAAK8S,QAASC,OAAQ/S,KAAK+S,OAAQ0K,SAAUhI,EAAYxC,UAAWA,EAAW2C,KAdtjBtO,EAcskBgiB,EAbjkB,MAAjBtL,EACO,CACH,KAAM1W,GAGL0W,IAAiBuK,EACf,CACH,oCAAqCjhB,GAGtCA,MAIH,IAAA8hB,KAAI0G,EAAc,CAAErd,QAASzS,KAAKmoB,aAAcsB,MAAOV,GACnD/S,IAAc,IAAAoT,KAAI+B,EAAgB,CAAElC,QAASA,EAASzU,WAAYA,EAAYkB,WAAYA,EAAYD,WAAYA,EAAYnO,OAAQiiB,IACtIb,IAAe,IAAAU,KAAI2G,EAAa,CAAE/Z,UAAWA,EAAWiT,QAASA,EAASS,YAAaP,EAAiBQ,KAAMjB,IAC9GjoB,IAAa,IAAA2oB,KAAI4G,EAAS,CAAEha,UAAWA,EAAW4T,cAAelB,EAAYO,QAASA,GAAWxoB,GACjGgoB,IAAc,IAAAW,KAAI2G,EAAa,CAAE/Z,UAAWA,EAAWiT,QAASA,EAASS,YAAaP,EAAiBQ,KAAMlB,MAnBtG,IAACnhB,CAmBqH,MAC7I,EAEJqgB,EAAO5iB,aAAe,CAClByP,WAAY,UACZ6T,WAAW,EACX5S,YAAY,EACZO,WAAW,EACXN,YAAY,EACZqT,oBAAoB,EACpBE,QAAS,UACTY,KAAM,UAEV,MAAM3W,GAA+B,EAAAC,EAAA,GAAmB,YAClD2W,EAAgB,cAAiB,CAAChqB,EAAOoC,KAAQ,IAAAknB,KAAIzB,EAAQhkB,OAAOuG,OAAO,CAAC,EAAGpK,EAAO,CAAE0oB,YAAatmB,OAC3G4nB,EAAcvnB,YAAc,SAC5B,SAAe,EAAAynB,EAAA,GAAqB,CAChCpb,cAAe,SACfC,YAAW,KACXC,eAAc,MAHlB,EAIG,EAAAmb,EAAA,GAAoB,CACnBxX,QAASS,EAA6B,CAClCzE,OAAQ,UACRC,cAAe,SACfC,WAAY,CACRC,cAAe,SACfC,YAAW,KACXC,eAAc,SAPvB,CAUAgb,4GCvICvqB,EAAe,CACfE,4BAA6B,SAC7BD,kCAAmC,UAsCvC,QApCsC,SAAU0B,GAE5C,SAASC,EAAiBrB,GACtB,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KAuBxC,OAtBAoB,EAAME,gBAAkB,WAAc,MAAO,CACzC7B,4BAA6B2B,EAAMG,oBACnC,EACJH,EAAMG,oBAAsB,WACxB,IAAIC,EAAOJ,EAAMtB,MAAM0B,KACnB/B,EAA8B2B,EAAMhB,QAAQX,4BAC5CgC,EAAuD,mBAAhChC,GACvBA,KACA,GACJ,OAAO,IAAAqlB,UAASrjB,EAAc,CAACD,GACnC,EACAJ,EAAMnB,0BAA4B,WAC9B,IAAIT,EAAoC4B,EAAMhB,QAAQZ,kCAItD,MAHqE,mBAAtCA,GAC3BA,KACA,EAER,EACA4B,EAAMM,MAAQ,CACVjC,4BAA6B2B,EAAMG,oBACnC/B,kCAAmC4B,EAAMnB,2BAEtCmB,CACX,CAOA,OAjCA,IAAAsiB,WAAUviB,EAAkBD,GA2B5BC,EAAiBQ,UAAUnB,OAAS,WAChC,IAAIC,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,aAAgC,CAAEC,MAAOV,KAAK0B,OAAS,EAAAE,SAAA,KAAcnB,GACrG,EACAU,EAAiBU,aAAetC,EAChC4B,EAAiBW,kBAAoBvC,EAC9B4B,CACX,CAnCqC,CAmCnC,EAAAvB,yECnBF,QAvBoC,WAChC,SAASyD,EAAevD,GACpB,IAAIsB,EAAQpB,KACZA,KAAKgB,MAAQ,WAKT,OAAO,IAAIqC,EAAe,CAAEzC,QADdkC,KAAKC,MAAMD,KAAKE,UAAU5B,EAAMR,WAElD,EACAZ,KAAKY,QAAUd,EAAMc,OACzB,CAUA,OATAyC,EAAe1B,UAAUwB,OAAS,SAAUC,GAOxC,MANuB,mBAAZA,IACPpD,KAAKY,QAAUwC,EAAQpD,KAAKY,UAET,iBAAZwC,IACPpD,KAAKY,SAAU,IAAAijB,WAAS,IAAAA,UAAS,CAAC,EAAG7jB,KAAKY,SAAUwC,IAEjDpD,IACX,EACOqD,CACX,CAtBmC,iEC6CnC,QA5CsC,SAAUnC,GAE5C,SAASuB,EAAiB3C,GACtB,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KA6BxC,OA5BAoB,EAAMJ,MAAQ,WACV,OAAII,EAAMsB,UAENC,QAAQC,KAAK,gDACN,MAUJ,IAAIH,EAAiB,CAAErC,SARhB,IAAA0kB,UAAS1jB,EAAMhB,SAQmByC,UAPjC,IAAAiiB,UAAS1jB,EAAMyB,UAOsCjC,QADtDkC,KAAKC,MAAMD,KAAKE,UAAU5B,EAAMR,WAElD,EACAQ,EAAMH,KAAO,SAAUf,GACfkB,EAAMsB,SAENC,QAAQC,KAAK,gCAGjBxB,EAAMyB,SAASI,SAAQ,SAAUC,GAAW,OAAOA,EAAQ9B,EAAOlB,EAAU,IAC5EkB,EAAMsB,UAAW,EACrB,EACAtB,EAAMhB,QAAUN,EAAMM,SAAW,GACjCgB,EAAMyB,SAAW/C,EAAM+C,UAAY,GACnCzB,EAAMsB,UAAW,EACVtB,CACX,CASA,OAzCA,IAAAsiB,WAAUjhB,EAAkBvB,GAiC5BuB,EAAiBd,UAAUwB,OAAS,SAAUC,GAC1C,OAAIpD,KAAK0C,UAELC,QAAQC,KAAK,iDACN5C,MAEJkB,EAAOS,UAAUwB,OAAO9B,KAAKrB,KAAMoD,EAC9C,EACOX,CACX,CA3CqC,UA2CnC,kDC7CF,iBAA0BvC,GAAW,OAAO,SAAUU,GAAW,OAAO,SAAUC,GAC9E,IAAIC,EAAgBD,EAAqBD,GACrCG,EAAcD,EAAcE,QAIhC,OAHID,GACAA,EAAYE,KAAKf,GAEdY,CACX,CAAG,CAAI,wbCHHvB,EAAe,CACfC,kCAAmC,UAEnCE,EAAO,WAAc,MAAO,EAAI,EAmCpC,QAlCuC,SAAUwB,GAE7C,SAASvB,IACL,IAAIyB,EAAmB,OAAXF,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,KAiBhE,OAhBAoB,EAAME,gBAAkB,WAAc,MAAO,CACzC9B,kCAAmC4B,EAAMnB,0BACzC,EACJmB,EAAMnB,0BAA4B,WAC9B,IAAIkC,EAAKf,EAAMtB,MAAOI,EAAUiC,EAAGjC,QAASC,EAAUgC,EAAGhC,QACrDX,EAAoC4B,EAAMhB,QAAQZ,kCAClDywB,EAAoE,mBAAtCzwB,GAC9BA,KACA,GAMJ,OAAO,IAAAslB,UAAS,CALF,SAAUzkB,EAAOC,GACX,MAAZJ,GAAmBA,IAAYI,GAC/BH,EAAQE,EAAOC,EAEvB,GAC2B2vB,EAC/B,EACO7uB,CACX,CAWA,OA/BA,IAAAsiB,WAAU/jB,EAAmBuB,GAqB7BvB,EAAkBgC,UAAUnB,OAAS,WACjC,IAAI2B,EAAKnC,KAAKI,QAAQX,4BAA6BA,OAAqC,IAAP0C,EAAgBzC,EAAOyC,EACpG1B,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,aAAgC,CAAEC,MAAO,CAC7DlB,kCAAmCQ,KAAKC,0BACxCR,4BAA6BA,IAC5BgB,EACb,EACAd,EAAkBkC,aAAetC,EACjCI,EAAkBmC,kBAAoBvC,EAC/BI,CACX,CAjCsC,CAiCpC,EAAAC,gDCrCEswB,EAA4C,SAAUhvB,GAEtD,SAASgvB,IACL,IAAI9uB,EAAmB,OAAXF,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,KAWhE,OAVAoB,EAAM+uB,cAAgB,SAAUC,GAC5B,IAAIjuB,EAAKf,EAAMtB,MAAOe,EAAuBsB,EAAGtB,qBAAsBX,EAAUiC,EAAGjC,QAASsB,EAAOW,EAAGX,KACtGX,EAAqB,CACjB4N,OAAQ,iBACR4hB,UAAW,KACX1hB,YAAY,IAAAkV,WAAS,IAAAA,UAAS,CAAEyM,YAAavkB,QAAUA,OAAOwkB,WAAaxkB,OAAOwkB,UAAUC,UAClFzkB,OAAOwkB,UAAUC,UACjB,WAAahvB,GAAO4uB,KAC/BnvB,KAAKf,EACZ,EACOkB,CACX,CAYA,OA1BA,IAAAsiB,WAAUwM,EAA4BhvB,GAetCgvB,EAA2BvuB,UAAU8uB,kBAAoB,SAAUxR,EAAOyR,GACtE,IAAI9vB,EAAU,CACVqe,MAAOA,EACPyR,KAAMA,GAEV1wB,KAAKmwB,cAAcvvB,EACvB,EACAsvB,EAA2BvuB,UAAUnB,OAAS,WAC1C,IAAI2B,EAAKnC,KAAKF,MAAO0B,EAAOW,EAAGX,KAAMf,EAAW0B,EAAG1B,SACnD,OAAO,gBAAoBU,EAAA,EAAkB,CAAEK,KAAMA,GAAQf,EACjE,EACOyvB,CACX,CA5B+C,CA4B7C,EAAAtwB,WAGF,SAD6B,EAAAqqB,EAAA,KAAsBiG,kBC9B/C,EAAO,WAAc,MAAO,EAAI,EAC7B,SAAS3K,IACZ,IAAInjB,GAAmB,IAAAogB,YAAW,KAC9BmO,GAAa,IAAAvL,QAAOhjB,GAcxB,OAbAuuB,EAAWlrB,QAAQjG,kCACf4C,EAAiB5C,kCACrBmxB,EAAWlrB,QAAQhG,4BACf2C,EAAiB3C,4BAUd,CACHoB,sBAVuB,SAAe,SAAUD,GAChD,IAAInB,EAA8BkxB,EAAWlrB,QAAQhG,6BAA+B,EAChFD,EAAoCmxB,EAAWlrB,QAAQjG,mCAAqC,EAChG,OAAO,IAAIiD,EAAA,EAAiB,CACxBrC,QAASX,IACToD,SAAUrD,IACVoB,QAASA,GAEjB,GAAG,IAIP,CCrBO,IAAIgwB,EAA2B,SAAUC,EAAQjwB,EAASV,GAC7D,IAAIW,EAAuB0kB,IAAqB1kB,qBAI5CiwB,GAAY,IAAA1L,QAAOyL,GACnBE,GAAa,IAAA3L,QAAOxkB,GAKxB,OAJA,IAAAykB,YAAU,WACNyL,EAAUrrB,QAAUorB,EACpBE,EAAWtrB,QAAU7E,CACzB,GAAG,CAACiwB,EAAQjwB,KACL,IAAAgiB,cAAY,WAEf,IADA,IAAIne,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIssB,EAAsC,mBAAvBD,EAAWtrB,QACxBsrB,EAAWtrB,QAAQZ,MAAMksB,GAAY,IAAAjM,UAASrgB,IAASssB,EAAWtrB,QACxE5E,EAAqBmwB,GAAO/vB,KAAKf,GACjC4wB,EAAUrrB,QAAQZ,MAAMisB,GAAW,IAAAhM,UAASrgB,GAChD,GAAG,CAAC5D,EAAsBiwB,EAAWC,EAAY7wB,GACrD,aCvBe,SAAS+wB,EAAWnxB,GAE/B,OAD2BA,EAAMe,sBAAqC,IAAAqjB,QAAOpkB,EAAO,CAAC,wBAEzF,sFCWA,QAZ2B,SAAUiC,GAAe,OAAO,SAAUC,GACjE,IAAIC,EAAuB,cAAiB,SAAUnC,EAAOoC,GACzD,IAAIC,EAAKrC,EAAMsC,iBAAkBA,OAA0B,IAAPD,EAAgB,CAAC,EAAIA,EAAIE,GAAO,IAAA6hB,QAAOpkB,EAAO,CAAC,qBAC/FwC,GAAgB,IAAAuhB,WAAS,IAAAA,UAAS,CAAC,EAAG9hB,GAAcK,GACxD,OAAQ,gBAAoB,IAAkB,CAAEZ,KAAMc,GAClD,gBAAoBN,GAAkB,IAAA6hB,UAAS,CAAC,EAAGxhB,EAAM,CAAEH,IAAKA,KACxE,IAIA,OAFAD,EAAqBM,YAAc,yBAA2BP,EAAiBO,aAC3EP,EAAiBQ,MAAQ,IACtBP,CACX,CAAG,0GCyEH,QA9E8C,SAAUf,GAEpD,SAASoC,EAAyBxD,GAC9B,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KAyDxC,OApDAoB,EAAMmC,mBAAqB,CAAC,EAC5BnC,EAAMoC,kBAAoB,CAAC,EAE3BpC,EAAMqC,wBAA0B,SAAU3D,GACtC,IAAI4D,EAAuBC,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAgBC,QAAO,SAAUC,GAAK,OAAO3C,EAAMmC,mBAAmBQ,KAAOjE,EAAMiE,EAAI,IAO1I,OANIL,EAAqBM,OAAS,IAC9B5C,EAAMoC,mBAAoB,IAAAqgB,WAAS,IAAAA,UAAS,CAAC,EAAGziB,EAAMoC,mBAAoBpC,EAAM6C,uBAAuBP,EAAsB5D,IAC7H4D,EAAqBT,SAAQ,SAAUc,GACnC3C,EAAMmC,mBAAmBQ,GAAKjE,EAAMiE,EACxC,KAEG3C,EAAMoC,iBACjB,EACApC,EAAM6C,uBAAyB,SAAUC,EAAkBpE,GACvD,OAAOoE,EAAiBC,QAAO,SAAUC,EAAUC,GAC/C,IAAIlC,EACAmC,EAAelD,EAAMtB,MAAM+D,eAAeQ,GAC1CE,EAAmBzE,EAAMuE,GAC7B,MAAK,CAAC,SAAU,YAAYG,gBAAgBF,IAerC,IAAAuf,WAAS,IAAAA,UAAS,CAAC,EAAGzf,KAAYjC,EAAK,CAAC,GAAMkC,GAZ9B,WAEnB,IADA,IAAII,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIE,EAAyC,mBAAjBN,EACtBA,EAAalD,EAAMP,qBAAsBf,GACzCsB,EAAMP,qBAAqByD,GAC7BC,GACAA,EAAiBM,WAAM,GAAQ,IAAAigB,UAASrgB,EAAM,CAACG,IAEvD,EAC2FzC,IAdhFiC,CAef,GAAG,CAAC,EACR,EACAhD,EAAMP,qBAAuB,SAAUD,GACnC,IAAIuB,EAAKf,EAAMhB,QAASZ,EAAoC2C,EAAG3C,kCAAmCC,EAA8B0C,EAAG1C,4BACnI,OAAO,IAAIgD,EAAA,EAAiB,CACxBrC,QAAiD,mBAAhCX,GACbA,KACA,GACJoD,SAAwD,mBAAtCrD,GACdA,KACA,GACJoB,QAASA,GAEjB,EACA+C,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAgBZ,SAAQ,SAAUc,GACtD3C,EAAMmC,mBAAmBQ,GAAKjE,EAAMgF,sBAAsBf,EAC9D,IACA3C,EAAMoC,kBAAoBpC,EAAM6C,uBAAuBN,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAiB/D,EAAMgF,uBAC/F1D,CACX,CAeA,OA3EA,IAAAsiB,WAAUpgB,EAA0BpC,GA6DpCoC,EAAyB3B,UAAUnB,OAAS,WACxC,IAAIgD,EAAoBxD,KAAKyD,wBAAwBzD,KAAKF,MAAMgF,uBAChE,OAAO9E,KAAKF,MAAMW,SAAS,CACvBI,qBAAsBb,KAAKa,qBAC3B2C,kBAAmBA,GAE3B,EACAF,EAAyBzB,aAAe,CACpCrC,kCAAmC,SACnCC,4BAA6B,UAEjC6D,EAAyByB,aAAe,CACpClB,eAAgB,CAAC,GAEdP,CACX,CA7E6C,CA6E3C,aCzEF,EAV0B,SAAUO,GAAkB,OAAO,SAAU7B,GACnE,IAAIgD,EAAsB,cAAiB,SAAUlF,EAAOoC,GAAO,OAAQ,gBAAoB,EAA0B,CAAE2B,eAAgBA,EAAgBiB,sBAAuBhF,IAAS,SAAUqC,GACjM,IAAItB,EAAuBsB,EAAGtB,qBAAsB2C,EAAoBrB,EAAGqB,kBAC3E,OAAQ,gBAAoBxB,GAAkB,IAAA6hB,UAAS,CAAC,EAAG/jB,EAAO0D,EAAmB,CAAE3C,qBAAsBA,EAAsBqB,IAAKA,IAC5I,GAAK,IAIL,OAFA8C,EAAoBzC,YAAc,wBAA0BP,EAAiBO,aACzEP,EAAiBQ,MAAQ,IACtBwC,CACX,CAAG,8KCZI,MAAMksB,EAAc,CACvB3d,OAAQ,EACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,ICCNwd,EAAS,EAAAC,SAAU;;EAOnBC,EAAS,EAAAD,SAAU;;;;;;;;;;;EAmBzB,EAAe,OAAW,cAAiB,UAAiB,OAAE7e,EAAM,WAAEiC,EAAa,UAAS,MAAEjD,EAAQ,EAAGgD,KAAM+c,EAAe,UAAapvB,GACvI,MAAMqS,EAA+B,iBAAjB+c,EACdA,EACAJ,EAAYI,GAClB,OAAQ,IAAAlI,KAAI,aAAsB,MAAOnH,IACrC,MAAMsP,EAZd,UAAwB,KAAExb,EAAI,WAAEvB,IAC5B,MAAa,UAATuB,EACsB,YAAfvB,EAA2B,EAAA2L,KAAO,EAAAjT,GAGvB,YAAfsH,EAA2B,EAAAgd,MAAQ,EAAA9Q,KAC9C,CAM4B+Q,CAAe,CAC/B1b,KAAMkM,EAAOlM,KACbvB,eAIJ,OAAQ,IAAA4U,KAAI,MAAO,CAAEsI,UAAW,QAASliB,OAAQ+E,EAAMhF,MAAOgF,EAAMyD,QAAS,YAAaE,MAAO,6BAA8B,cAAe3F,EAAQrQ,IAAKA,EAAK0T,IAAK,EAAAA,GAAI;;;;;;6BAMpJyb;;;mCAGM9f;kBAEvB,IAAA6X,KAAI,SAAU,CAAEjR,GAAI,IAAKC,GAAI,IAAKC,EAAG,IAAKzC,IAAK,EAAAA,GAAI;;4BAEnC2b;;;;;;+BAMGJ;qCACM5f;;oBAEf,GAEtB,8wDCjEO,MAAMogB,EAAM,UACNC,EAAM,UACNvC,EAAO,UACPhQ,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwP,EAAO,UAEP8C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPnD,EAAO,UACPpP,EAAO,UACPqP,EAAO,UACPO,EAAO,UAEP4C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPzS,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwS,EAAO,UAEP3C,EAAM,UACN5P,EAAM,UACNC,EAAO,UACPC,EAAO,UACP2O,EAAO,UACP1O,EAAO,UACP2O,EAAO,UAEP0D,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPC,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEP/lB,EAAK,UACLgmB,EAAM,UACNjE,EAAM,UACNkE,EAAM,UACNnT,EAAM,UACNC,EAAM,UACNmT,EAAM,UACN9D,EAAM,UACN+D,GAAM,UACN9D,GAAM,UACN+D,GAAO,UACPpT,GAAO,UACPqT,GAAO,UACPxF,GAAO,UACP5N,GAAO,UACPqT,GAAO,UACPlF,GAAO,UACPlO,GAAO,UAEPC,GAAO,UAEPoT,GAAO,wBACP5F,GAAO,wBACPK,GAAO,wBACPwF,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPtT,GAAO,wBACPuT,GAAO,wBACPC,GAAO,wBACPC,GAAQ,wBACRxT,GAAQ,wBACRyT,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBAER7C,GAAQ,UACRhR,GAAQ,UACR8T,GAAQ,UACR7T,GAAQ,UACRC,GAAQ,UACRsN,GAAQ,UACRrN,GAAQ,UACR4T,GAAQ,UACR3T,GAAQ,UACR4T,GAAO,UACPC,GAAO,UACP3G,GAAO,UACPK,GAAO,UACPtN,GAAO,UACP6T,GAAO,UACP5T,GAAO,UACP6T,GAAO,UACPC,GAAO,UAEP7T,GAAM,UAEN8T,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAQ,yBACRrU,GAAQ,yBACRsU,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBAER3U,IAAa,OAAO,CAAElU,MAAOG,EAAIF,KAAM8T,KACvCI,IAAmB,OAAO,CAAEnU,MAAOyiB,EAAKxiB,KAAM4S,IAC9CuB,IAAkB,OAAO,CAAEpU,MAAOomB,EAAKnmB,KAAM8gB,KAC7C+H,IAAoB,OAAO,CAAE9oB,MAAOG,EAAIF,KAAM6T,KAC9CiV,IAAO,OAAO,CAAE/oB,MAAOsT,GAAMrT,KAAMyT,KACnCsV,IAAY,OAAO,CAAEhpB,MAAOqT,GAAMpT,KAAMyT,KACxCuV,IAAa,OAAO,CAAEjpB,MAAOgT,EAAM/S,KAAM+S,IACzCkW,IAAa,OAAO,CAAElpB,MAAOmT,GAAMlT,KAAM2T,KACzCuV,IAAkB,OAAO,CAAEnpB,MAAOumB,GAAMtmB,KAAMunB,KAC9C4B,IAAU,OAAO,CAAEppB,MAAOqT,GAAMpT,KAAMyT,KACtC2V,IAAgB,OAAO,CAAErpB,MAAOmT,GAAMlT,KAAM2T,KAC5C0V,IAAY,OAAO,CAAEtpB,MAAOkiB,EAAKjiB,KAAM6T,KACvCmO,IAAO,OAAO,CAAEjiB,MAAOgT,EAAM/S,KAAM6S,IACnCyW,IAAY,OAAO,CAAEvpB,MAAO0hB,EAAMzhB,KAAM8S,IACxCyW,IAAa,OAAO,CAAExpB,MAAO2hB,EAAM1hB,KAAM6S,IACzC2W,IAAc,OAAO,CAAEzpB,MAAO8S,EAAM7S,KAAM8S,IAC1C0O,IAAU,OAAO,CAAEzhB,MAAOgT,EAAM/S,KAAM6S,IACtC4W,IAAO,OAAO,CAAE1pB,MAAOgT,EAAM/S,KAAM6S,IACnC6W,IAAO,OAAO,CAAE3pB,MAAOgmB,EAAM/lB,KAAM8lB,IACnC1R,IAAS,OAAO,CAAErU,MAAOylB,EAAMxlB,KAAMslB,IACrCqE,IAAM,OAAO,CAAE5pB,MAAOuS,EAAMtS,KAAMsS,IAClCsX,IAAS,OAAO,CAAE7pB,MAAOyS,EAAMxS,KAAMwS,IACrCqX,IAAQ,OAAO,CAAE9pB,MAAO2S,EAAM1S,KAAM0S,IACpCoX,GAAW,IAAMjJ,uUC/I9B,SAASkJ,EAAsBr1B,GAE3B,MAAO,4BADiBkY,EAAOqH,WAAWvf,WAI9C,CACA,SAASs1B,EAAgBjhB,GACrB,MAAO,CAAE8F,MAAO,CAAE,CAAC,EAAA6J,SAAU,CAAE3P,SACnC,CACA,MAAMkhB,EAAc,aAAW;sBACTrd,EAAOqH;WAClBrH,EAAOkc;;;aAGLlc,EAAOoV;;;aAGPpV,EAAO0c;;;aAGP1c,EAAO2c;;;qBAGC3c,EAAO4c;;;aAGf5c,EAAOuc;;;aAGPvc,EAAOuc;;;aAGPvc,EAAOuc;;;aAGPvc,EAAOuc;;;aAGPvc,EAAOuc;;;aAGPvc,EAAOwc;;;aAGPxc,EAAOqc;;EAGL,MAAMiB,UAA8B,EAAAt3B,UAC/CC,YAAYC,GACRC,MAAMD,GAONE,KAAKm3B,aAAe,KAAM,CAAGphB,KAAM/V,KAAK0B,MAAMma,MAAM,EAAA6J,SAAS3P,OAC7D/V,KAAK0B,MAAQs1B,EAAgBl3B,EAAMiW,KACvC,CACAzU,kBACI,MAAO,CAAE81B,0BAA0B,EACvC,CACA9Y,4BACI,IAAKte,KAAKI,QAAQg3B,0BAA4B,cAAiB,CAC3D,MAAMxhB,EAAMmhB,EAAsB/2B,KAAK0B,OACvC1B,KAAKq3B,WAAa/sB,SAASC,cAAc,SACzCvK,KAAKq3B,WAAWxN,KAAO,WACvB7pB,KAAKq3B,WAAWC,UAAY1hB,EACxBtL,UAAYA,SAASitB,MACrBjtB,SAASitB,KAAKlrB,YAAYrM,KAAKq3B,WAEvC,CACJ,CACAG,iCAAiCC,GAC7B,GAAIA,EAAS1hB,OAAS/V,KAAKF,MAAMiW,KAAM,CACnC,MAAM2hB,EAAgBV,EAAgBS,EAAS1hB,MAC/C,GAAI/V,KAAKq3B,WAAY,CACjB,MAAMzhB,EAAMmhB,EAAsBW,GAClC13B,KAAKq3B,WAAWC,UAAY1hB,CAChC,CACA5V,KAAK4G,SAAS8wB,EAClB,CACJ,CACArvB,uBACQrI,KAAKq3B,YAAc/sB,UAAYA,SAASitB,OACxCjtB,SAASitB,KAAK3qB,YAAY5M,KAAKq3B,mBACxBr3B,KAAKq3B,WAEpB,CACA72B,SACI,MAAM,SAAEC,GAAaT,KAAKF,OACpB,MAAE+b,GAAU7b,KAAK0B,MACvB,OAMA,gBAAoBgV,EAAA,WAAgB,CAAEhW,MAAOV,KAAKm3B,cAC9C,gBAAoB,EAAAQ,cAAe,CAAE9b,MAAOA,GACxC,gBAAoBob,EAAa,KAAMx2B,IACnD,EAEJy2B,EAAsBnyB,aAAe,CACjCgR,KAAM,EAAA8M,oBAEVqU,EAAsBp1B,kBAAoB,CACtCs1B,yBAA0B,UAE9BF,EAAsBr1B,aAAe,CACjCu1B,yBAA0B,UCtH9B,UAAkB32B,WAAUX,QAAO+b,YAC/B,MAAMrH,EAA8B,iBAAV1U,EAAqB,UAAYA,EACrD83B,EAA0B,iBAAV93B,EAAqB,IAAKA,GAAU,CAAC,EAM3D,OALA6D,OAAOC,KAAKiY,GAAO5Y,SAAQuZ,IACjBA,KAAOob,IACTA,EAAOpb,GAAOX,EAAMW,GAAK,CAAEhI,eAC/B,IAEG/T,EAASm3B,EACnB,iBCLD,MAAMC,EAAeC,GAAe/zB,GAAMA,EAAE+zB,IAAc/zB,EAAEkJ,UACtD8qB,EAAM,aAAW;IAClBh0B,GAAM,EAAA6R,GAAI;wBACS7R,EAAE8I;aACb9I,EAAEkJ;;;eAGA4qB,EAAY;;;eAGZA,EAAY;;;eAGZA,EAAY;;;uBAGJA,EAAY;;;;;;;eAOpBA,EAAY;;;eAGZA,EAAY;;;eAGZA,EAAY;;;EAIdG,GAAa,EAAArhB,EAAA,IAAY,KAAM,CACxC9J,gBAAiB+M,EAAO1M,GACxB+qB,UAAWre,EAAOmG,KAClBmY,eAAgBte,EAAO6U,KACvB0J,gBAAiBve,EAAO8U,KACxB0J,iBAAkBxe,EAAOiG,KACzBwY,aAAcze,EAAOwG,KACrBkY,mBAAoB1e,EAAOsG,KAC3BqY,gBAAiB3e,EAAOsG,KACxBjT,UAAW2M,EAAOyG,SAEf,SAASmY,EAAM14B,GAClB,OAAQ,gBAAoBk4B,EAAW9b,SAAU,CAAExb,MAAOZ,EAAM+b,OAC5D,gBAAoBmc,EAAW9uB,SAAU,MAAO+Y,GACpC,gBAAoB8V,EAAKp0B,OAAOuG,OAAO,CAAC,EAAG,IAAK+X,EAAQlM,UAAM3P,GAAatG,GAAQA,EAAMW,YAE7G,CChDO,SAASshB,EAAUC,GACtB,OAAO,SAA4BliB,GAC/B,OAAQ,gBAAoB4W,EAAA,WAAgB,MAAOuL,GAAY,gBAAoBD,EAAgBre,OAAOuG,OAAO,CAAC,EAAGpK,EAAO,CAAE+b,MAAOoG,MACzI,CACJ,iDCPA,SAAe,eAAY,KAAM,CAC7BlM,KAAM,kXCDH,MAAM0iB,EAAY,gBACZ/S,EAAU,qBACV7C,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAMxBjM,EAAe,IAAM,EACrBwK,EAAW,IAAM,EACjBwJ,EAAW,IAAM,GACjB6N,EAAgB,IAAM,GACtBC,EAAa,IAAM,uIACnBC,EAAiB,IAAM,iHACvBC,EAAY,CAAChM,EAAQ,EAAAhN,KAAMiZ,EAAezX,IAAa,IAAM,kEAG5CyX,OAAkBjM,YAGnCkM,EAAc,IAAM,0BAGpBzX,EAAS,CAClBC,KAAM,IAAM,IACZC,OAAQ,IAAM,IACdC,WAAY,IAAM,IAClBnW,MAAO,IAAM,IACboW,QAAS,IAAM,IACfC,MAAO,IAAM,IACbC,KAAM,IAAM,IACZC,UAAW,IAAM,IACjBC,QAAS,IAAM,KAENkX,EAAiB,KAAM,CAChChM,OAAQ,eACRiM,KAAM,sCACNzpB,OAAQ,iBACR+a,SAAU,oBACVuC,QAAS,eACTnnB,SAAU,sBACV4J,MAAO,iBACPkb,WAAY,sBAOHyO,EAAY,IAAM,EAAAtjB,GAAI;;;;;;;;;EAUtBujB,EAAkB,KAAM,CACjCvjB,IAAK,CACD/I,iBAAiB,IAAAiqB,YACjBsC,kBAAmB,OACnBC,wBAAyB,WACzBC,wBAAyB,SACzBC,mBAAoB,aAExBnI,UAAW,CACPoI,KAAM,CACF3sB,iBAAiB,IAAAiqB,aAErB2C,GAAI,CACA5sB,gBAAiB,EAAAqhB,uEClEtB,SAASvX,EAAYuL,GACxB,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAM/CuiB,GAAe,IAAAC,eAAcJ,GA2BnC,MAAO,CAAEhZ,SAxBT,SAAkBpJ,GACd,MAAM,SAAEW,KAAa8hB,GAAeziB,EAK9BmiB,IAJQ,IAAAO,YAAWH,IACAF,GAGFI,GAGvB,OAAO,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GAC9D,EAcmB/F,SANnB,SAAkBpc,GACd,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAaL,GAAeG,EAAQD,EAASF,IAAa,CAACE,EAASC,IACpF,OAAQ,gBAAoBL,EAAanG,SAAU,CAAExb,MAAOiiB,GAAW7iB,EAAMW,SACjF,EAEJ,iDCzCA,MAAMoiB,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAEf,SAASC,EAASjjB,GAC7B,GAAIA,GAASA,EAAM+b,MAAO,CAEtB,GAAI,uBAAwB/b,EAAM+b,MAC9B,OAAO/b,EAAM+b,MAAMmH,mBAGlB,GAAI,SAAUljB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MAC/D,OAAOjW,EAAM+b,KAErB,CAEA,MAAO,CAAE9F,KAAM8M,EACnB,gECFe,SAAS/V,EAAOmW,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflCpjB,IACJ,MAAM+b,GAAQ,OAAS/b,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC5B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACJ,CACA,MAAO,EAAE,EAXjB,IAAwByiB,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQnjB,IAEJ,MAAM+b,GAAQ,OAAS/b,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACrB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACA,MAAO,EAAE,CAEjB,qeCjBA,IAAI4iB,EAAgB,SAAShL,EAAGiL,GAI5B,OAHAD,EAAgB3f,OAAO6f,gBAClB,CAAEC,UAAW,cAAgBne,OAAS,SAAUgT,EAAGiL,GAAKjL,EAAEmL,UAAYF,CAAG,GAC1E,SAAUjL,EAAGiL,GAAK,IAAK,IAAIxf,KAAKwf,EAAOA,EAAErY,eAAenH,KAAIuU,EAAEvU,GAAKwf,EAAExf,GAAI,EACtEuf,EAAchL,EAAGiL,EAC5B,EAEO,SAASG,EAAUpL,EAAGiL,GAEzB,SAASI,IAAO3jB,KAAKH,YAAcyY,CAAG,CADtCgL,EAAchL,EAAGiL,GAEjBjL,EAAE3W,UAAkB,OAAN4hB,EAAa5f,OAAOigB,OAAOL,IAAMI,EAAGhiB,UAAY4hB,EAAE5hB,UAAW,IAAIgiB,EACnF,CAEO,IAAIE,EAAW,WAQlB,OAPAA,EAAWlgB,OAAOuG,QAAU,SAAkB4Z,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAItf,UAAUX,OAAQggB,EAAIC,EAAGD,IAE5C,IAAK,IAAIjgB,KADTggB,EAAIpf,UAAUqf,GACOrgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,KAAI+f,EAAE/f,GAAKggB,EAAEhgB,IAE9E,OAAO+f,CACX,EACOD,EAAShf,MAAM7E,KAAM2E,UAChC,EAEO,SAASuf,EAAOH,EAAGvT,GACtB,IAAIsT,EAAI,CAAC,EACT,IAAK,IAAI/f,KAAKggB,EAAOpgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,IAAMyM,EAAEgL,QAAQzX,GAAK,IAC9E+f,EAAE/f,GAAKggB,EAAEhgB,IACb,GAAS,MAALggB,GAAqD,mBAAjCpgB,OAAOwgB,sBACtB,KAAIH,EAAI,EAAb,IAAgBjgB,EAAIJ,OAAOwgB,sBAAsBJ,GAAIC,EAAIjgB,EAAEC,OAAQggB,IAC3DxT,EAAEgL,QAAQzX,EAAEigB,IAAM,GAAKrgB,OAAOhC,UAAUyiB,qBAAqB/iB,KAAK0iB,EAAGhgB,EAAEigB,MACvEF,EAAE/f,EAAEigB,IAAMD,EAAEhgB,EAAEigB,IAF4B,CAItD,OAAOF,CACX,CAEO,SAAS4V,EAAWC,EAAYlpB,EAAQ+L,EAAKod,GAChD,IAA2HthB,EAAvHuhB,EAAIl1B,UAAUX,OAAQqU,EAAIwhB,EAAI,EAAIppB,EAAkB,OAATmpB,EAAgBA,EAAOj2B,OAAOm2B,yBAAyBrpB,EAAQ+L,GAAOod,EACrH,GAAuB,iBAAZG,SAAoD,mBAArBA,QAAQC,SAAyB3hB,EAAI0hB,QAAQC,SAASL,EAAYlpB,EAAQ+L,EAAKod,QACpH,IAAK,IAAI5V,EAAI2V,EAAW31B,OAAS,EAAGggB,GAAK,EAAGA,KAAS1L,EAAIqhB,EAAW3V,MAAI3L,GAAKwhB,EAAI,EAAIvhB,EAAED,GAAKwhB,EAAI,EAAIvhB,EAAE7H,EAAQ+L,EAAKnE,GAAKC,EAAE7H,EAAQ+L,KAASnE,GAChJ,OAAOwhB,EAAI,GAAKxhB,GAAK1U,OAAOuhB,eAAezU,EAAQ+L,EAAKnE,GAAIA,CAChE,CAEO,SAAS4hB,EAAQC,EAAYC,GAChC,OAAO,SAAU1pB,EAAQ+L,GAAO2d,EAAU1pB,EAAQ+L,EAAK0d,EAAa,CACxE,CAEO,SAASE,EAAWC,EAAaC,GACpC,GAAuB,iBAAZP,SAAoD,mBAArBA,QAAQQ,SAAyB,OAAOR,QAAQQ,SAASF,EAAaC,EACpH,CAEO,SAASE,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUt6B,GAAS,IAAMu6B,EAAKL,EAAU9b,KAAKpe,GAAS,CAAE,MAAO8P,GAAKuqB,EAAOvqB,EAAI,CAAE,CAC1F,SAAS0qB,EAASx6B,GAAS,IAAMu6B,EAAKL,EAAiB,MAAEl6B,GAAS,CAAE,MAAO8P,GAAKuqB,EAAOvqB,EAAI,CAAE,CAC7F,SAASyqB,EAAKE,GAJlB,IAAez6B,EAIay6B,EAAOpc,KAAO+b,EAAQK,EAAOz6B,QAJ1CA,EAIyDy6B,EAAOz6B,MAJhDA,aAAiBi6B,EAAIj6B,EAAQ,IAAIi6B,GAAE,SAAUG,GAAWA,EAAQp6B,EAAQ,KAIjB06B,KAAKJ,EAAWE,EAAW,CAC7GD,GAAML,EAAYA,EAAU/1B,MAAM41B,EAASC,GAAc,KAAK5b,OAClE,GACJ,CAEO,SAASuc,EAAYZ,EAAS5vB,GACjC,IAAsGywB,EAAG9iB,EAAGsL,EAAGyX,EAA3GC,EAAI,CAAElkB,MAAO,EAAGmkB,KAAM,WAAa,GAAW,EAAP3X,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAG4X,KAAM,GAAIC,IAAK,IAChG,OAAOJ,EAAI,CAAEzc,KAAM8c,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,mBAAXrX,SAA0BgX,EAAEhX,OAAOC,UAAY,WAAa,OAAOxkB,IAAM,GAAIu7B,EACvJ,SAASK,EAAK3X,GAAK,OAAO,SAAU4X,GAAK,OACzC,SAAcC,GACV,GAAIR,EAAG,MAAM,IAAI5W,UAAU,mCAC3B,KAAO8W,OACH,GAAIF,EAAI,EAAG9iB,IAAMsL,EAAY,EAARgY,EAAG,GAAStjB,EAAU,OAAIsjB,EAAG,GAAKtjB,EAAS,SAAOsL,EAAItL,EAAU,SAAMsL,EAAEziB,KAAKmX,GAAI,GAAKA,EAAEsG,SAAWgF,EAAIA,EAAEziB,KAAKmX,EAAGsjB,EAAG,KAAK/c,KAAM,OAAO+E,EAE3J,OADItL,EAAI,EAAGsL,IAAGgY,EAAK,CAAS,EAARA,EAAG,GAAQhY,EAAEpjB,QACzBo7B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGhY,EAAIgY,EAAI,MACxB,KAAK,EAAc,OAAXN,EAAElkB,QAAgB,CAAE5W,MAAOo7B,EAAG,GAAI/c,MAAM,GAChD,KAAK,EAAGyc,EAAElkB,QAASkB,EAAIsjB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKN,EAAEG,IAAII,MAAOP,EAAEE,KAAKK,MAAO,SACxC,QACI,MAAkBjY,GAAZA,EAAI0X,EAAEE,MAAY13B,OAAS,GAAK8f,EAAEA,EAAE9f,OAAS,KAAkB,IAAV83B,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEN,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVM,EAAG,MAAchY,GAAMgY,EAAG,GAAKhY,EAAE,IAAMgY,EAAG,GAAKhY,EAAE,IAAM,CAAE0X,EAAElkB,MAAQwkB,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYN,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAIA,EAAIgY,EAAI,KAAO,CACpE,GAAIhY,GAAK0X,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAI0X,EAAEG,IAAI9W,KAAKiX,GAAK,KAAO,CAC9DhY,EAAE,IAAI0X,EAAEG,IAAII,MAChBP,EAAEE,KAAKK,MAAO,SAEtBD,EAAKjxB,EAAKxJ,KAAKo5B,EAASe,EAC5B,CAAE,MAAOhrB,GAAKsrB,EAAK,CAAC,EAAGtrB,GAAIgI,EAAI,CAAG,CAAE,QAAU8iB,EAAIxX,EAAI,CAAG,CACzD,GAAY,EAARgY,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEp7B,MAAOo7B,EAAG,GAAKA,EAAG,QAAK,EAAQ/c,MAAM,EAC9E,CAtBgDkc,CAAK,CAAChX,EAAG4X,GAAK,CAAG,CAuBrE,CAEO,SAASG,EAAgB1X,EAAGG,EAAGwX,EAAGC,QAC1B91B,IAAP81B,IAAkBA,EAAKD,GAC3B3X,EAAE4X,GAAMzX,EAAEwX,EACd,CAEO,SAASE,EAAa1X,EAAGsF,GAC5B,IAAK,IAAIhmB,KAAK0gB,EAAa,YAAN1gB,GAAoBgmB,EAAQ7e,eAAenH,KAAIgmB,EAAQhmB,GAAK0gB,EAAE1gB,GACvF,CAEO,SAASsgB,EAASC,GACrB,IAAIP,EAAsB,mBAAXQ,QAAyBA,OAAOC,SAAUC,EAAIV,GAAKO,EAAEP,GAAIC,EAAI,EAC5E,GAAIS,EAAG,OAAOA,EAAEpjB,KAAKijB,GACrB,GAAIA,GAAyB,iBAAbA,EAAEtgB,OAAqB,MAAO,CAC1C8a,KAAM,WAEF,OADIwF,GAAKN,GAAKM,EAAEtgB,SAAQsgB,OAAI,GACrB,CAAE5jB,MAAO4jB,GAAKA,EAAEN,KAAMjF,MAAOuF,EACxC,GAEJ,MAAM,IAAII,UAAUX,EAAI,0BAA4B,kCACxD,CAEO,SAASY,EAAOL,EAAGL,GACtB,IAAIQ,EAAsB,mBAAXF,QAAyBD,EAAEC,OAAOC,UACjD,IAAKC,EAAG,OAAOH,EACf,IAAmBjM,EAAY7H,EAA3BwT,EAAIS,EAAEpjB,KAAKijB,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANX,GAAgBA,KAAM,MAAQ5L,EAAI2L,EAAElF,QAAQC,MAAM6F,EAAGC,KAAKxM,EAAE3X,MACxE,CACA,MAAOue,GAASzO,EAAI,CAAEyO,MAAOA,EAAS,CACtC,QACI,IACQ5G,IAAMA,EAAE0G,OAAS0F,EAAIT,EAAU,SAAIS,EAAEpjB,KAAK2iB,EAClD,CACA,QAAU,GAAIxT,EAAG,MAAMA,EAAEyO,KAAO,CACpC,CACA,OAAO2F,CACX,CAEO,SAASE,IACZ,IAAK,IAAIF,EAAK,GAAIZ,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAC3CY,EAAKA,EAAGze,OAAOwe,EAAOhgB,UAAUqf,KACpC,OAAOY,CACX,CAEO,SAASwX,IACZ,IAAK,IAAIrY,EAAI,EAAGC,EAAI,EAAGqY,EAAK13B,UAAUX,OAAQggB,EAAIqY,EAAIrY,IAAKD,GAAKpf,UAAUqf,GAAGhgB,OACxE,IAAIqU,EAAI/S,MAAMye,GAAIkY,EAAI,EAA3B,IAA8BjY,EAAI,EAAGA,EAAIqY,EAAIrY,IACzC,IAAK,IAAIsY,EAAI33B,UAAUqf,GAAIuY,EAAI,EAAGC,EAAKF,EAAEt4B,OAAQu4B,EAAIC,EAAID,IAAKN,IAC1D5jB,EAAE4jB,GAAKK,EAAEC,GACjB,OAAOlkB,CACX,CAEO,SAASokB,EAAQZ,GACpB,OAAO77B,gBAAgBy8B,GAAWz8B,KAAK67B,EAAIA,EAAG77B,MAAQ,IAAIy8B,EAAQZ,EACtE,CAEO,SAASa,EAAiBjC,EAASC,EAAYE,GAClD,IAAKrW,OAAOoY,cAAe,MAAM,IAAIjY,UAAU,wCAC/C,IAAoDV,EAAhDuX,EAAIX,EAAU/1B,MAAM41B,EAASC,GAAc,IAAQkC,EAAI,GAC3D,OAAO5Y,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW5X,EAAEO,OAAOoY,eAAiB,WAAc,OAAO38B,IAAM,EAAGgkB,EACpH,SAAS4X,EAAK3X,GAASsX,EAAEtX,KAAID,EAAEC,GAAK,SAAU4X,GAAK,OAAO,IAAIhB,SAAQ,SAAUyB,EAAG/Y,GAAKqZ,EAAE/X,KAAK,CAACZ,EAAG4X,EAAGS,EAAG/Y,IAAM,GAAKsZ,EAAO5Y,EAAG4X,EAAI,GAAI,EAAG,CACzI,SAASgB,EAAO5Y,EAAG4X,GAAK,KACVxjB,EADqBkjB,EAAEtX,GAAG4X,IACnBn7B,iBAAiB+7B,EAAU5B,QAAQC,QAAQziB,EAAE3X,MAAMm7B,GAAGT,KAAK0B,EAAS/B,GAAUgC,EAAOH,EAAE,GAAG,GAAIvkB,EADtE,CAAE,MAAO7H,GAAKusB,EAAOH,EAAE,GAAG,GAAIpsB,EAAI,CAC/E,IAAc6H,CADmE,CAEjF,SAASykB,EAAQp8B,GAASm8B,EAAO,OAAQn8B,EAAQ,CACjD,SAASq6B,EAAOr6B,GAASm8B,EAAO,QAASn8B,EAAQ,CACjD,SAASq8B,EAAOzB,EAAGO,GAASP,EAAEO,GAAIe,EAAEI,QAASJ,EAAE54B,QAAQ64B,EAAOD,EAAE,GAAG,GAAIA,EAAE,GAAG,GAAK,CACrF,CAEO,SAASK,EAAiB3Y,GAC7B,IAAIN,EAAGjgB,EACP,OAAOigB,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAS,SAAUprB,GAAK,MAAMA,CAAG,IAAIorB,EAAK,UAAW5X,EAAEO,OAAOC,UAAY,WAAc,OAAOxkB,IAAM,EAAGgkB,EAC1I,SAAS4X,EAAK3X,EAAGqX,GAAKtX,EAAEC,GAAKK,EAAEL,GAAK,SAAU4X,GAAK,OAAQ93B,GAAKA,GAAK,CAAErD,MAAO+7B,EAAQnY,EAAEL,GAAG4X,IAAK9c,KAAY,WAANkF,GAAmBqX,EAAIA,EAAEO,GAAKA,CAAG,EAAIP,CAAG,CAClJ,CAEO,SAAS4B,EAAc5Y,GAC1B,IAAKC,OAAOoY,cAAe,MAAM,IAAIjY,UAAU,wCAC/C,IAAiCV,EAA7BS,EAAIH,EAAEC,OAAOoY,eACjB,OAAOlY,EAAIA,EAAEpjB,KAAKijB,IAAMA,EAAqCD,EAASC,GAA2BN,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW5X,EAAEO,OAAOoY,eAAiB,WAAc,OAAO38B,IAAM,EAAGgkB,GAC9M,SAAS4X,EAAK3X,GAAKD,EAAEC,GAAKK,EAAEL,IAAM,SAAU4X,GAAK,OAAO,IAAIhB,SAAQ,SAAUC,EAASC,IACvF,SAAgBD,EAASC,EAAQziB,EAAGujB,GAAKhB,QAAQC,QAAQe,GAAGT,MAAK,SAASS,GAAKf,EAAQ,CAAEp6B,MAAOm7B,EAAG9c,KAAMzG,GAAM,GAAGyiB,EAAS,CADbgC,CAAOjC,EAASC,GAA7Bc,EAAIvX,EAAEL,GAAG4X,IAA8B9c,KAAM8c,EAAEn7B,MAAQ,GAAI,CAAG,CAEnK,CAEO,SAASqkB,EAAqBC,EAAQC,GAEzC,OADIthB,OAAOuhB,eAAkBvhB,OAAOuhB,eAAeF,EAAQ,MAAO,CAAEtkB,MAAOukB,IAAiBD,EAAOC,IAAMA,EAClGD,CACX,CAEO,SAAS0I,EAAayP,GACzB,GAAIA,GAAOA,EAAIC,WAAY,OAAOD,EAClC,IAAIhC,EAAS,CAAC,EACd,GAAW,MAAPgC,EAAa,IAAK,IAAIlB,KAAKkB,EAASx5B,OAAOuH,eAAe7J,KAAK87B,EAAKlB,KAAId,EAAOc,GAAKkB,EAAIlB,IAE5F,OADAd,EAAOtT,QAAUsV,EACVhC,CACX,CAEO,SAASpU,EAAgBoW,GAC5B,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAEtV,QAASsV,EACtD,CAEO,SAASE,EAAuBC,EAAUC,GAC7C,IAAKA,EAAWC,IAAIF,GAChB,MAAM,IAAI5Y,UAAU,kDAExB,OAAO6Y,EAAWE,IAAIH,EAC1B,CAEO,SAASI,EAAuBJ,EAAUC,EAAY78B,GACzD,IAAK68B,EAAWC,IAAIF,GAChB,MAAM,IAAI5Y,UAAU,kDAGxB,OADA6Y,EAAWI,IAAIL,EAAU58B,GAClBA,CACX,gICrNA,MAAMnB,EAAe,CACnBE,4BAA6B,SAC7BD,kCAAmC,UAG/BE,EAAO,IAAM,GAGnB,MAAMyB,UAAyB,EAAAvB,UAC7BC,YAAYC,GACVC,MAAMD,IAEN,OAAgBE,KAAM,mBAAmB,KAAM,CAC7CP,4BAA6BO,KAAKuB,yBAGpC,OAAgBvB,KAAM,uBAAuB,KAC3C,MAAM,KACJwB,GACExB,KAAKF,OACH,4BACJL,EAA8BC,GAC5BM,KAAKI,QACT,MAAO,IAAIX,IAA+B+B,EAAK,KAGjD,OAAgBxB,KAAM,6BAA6B,KACjD,MAAM,kCACJR,EAAoCE,GAClCM,KAAKI,QACT,OAAOZ,GAAmC,IAG5CQ,KAAKO,aAAe,CAClBd,4BAA6BO,KAAKuB,oBAClC/B,kCAAmCQ,KAAKC,0BAE5C,CAEAO,SACE,MAAM,SACJC,GACET,KAAKF,MACT,OAAoB,gBAAoB,aAAgC,CACtEY,MAAOV,KAAKO,cACXE,EACL,GAIF,OAAgBU,EAAkB,eAAgB5B,IAElD,OAAgB4B,EAAkB,oBAAqB5B,GAEvD,UCxDaq+B,EAAsB,KAC1B,IAAApb,YAAW,KCHpB,IAAIqb,EAIJ,IAAIC,EAGFA,EADE,MAAO,IAAgF,QAAhCD,EAAe,UAA0C,IAAjBA,GAA2BA,EAA4C,8BCDjJ,EACvBr8B,OACAf,eAEA,MAAM+kB,ECRqB9kB,KAC3B,MAAMwB,GAAM,IAAAkjB,QAAO1kB,GAInB,OAHA,IAAA2kB,YAAU,KACRnjB,EAAIuD,QAAU/E,CAAK,GAClB,CAACA,IACGwB,CAAG,EDGMijB,CAAc3jB,GACxBY,EAAmBw7B,IACnBn+B,GAA8B,IAAAmjB,cAAY,IACvC,IAAIxgB,EAAiB3C,8BAA+B+lB,EAAQ/f,UAClE,CAACrD,EAAkBojB,IAChB9kB,GAAQ,IAAAq9B,UAAQ,KAAM,CAC1Bt+B,8BACAD,kCAAmC4C,EAAiB5C,qCAClD,CAAC4C,EAAkB3C,IACvB,OAAoB,gBAAoB,aAAgC,CACtEiB,MAAOA,GACND,EAAS,EDXeu9B,EAG7B,yBGLe,MAAM36B,EACnBxD,YAAYC,IACV,OAAgBE,KAAM,qBAAqB,IAE3C,OAAgBA,KAAM,SAAS,KAG7B,MAAMY,EAAU,IAAKZ,KAAKY,SAE1B,OAAO,IAAIyC,EAAe,CACxBzC,WACA,IAGJZ,KAAKY,QAAUd,EAAMc,OACvB,CAEAuC,OAAOC,GAWL,MAVuB,mBAAZA,IACTpD,KAAKY,QAAUwC,EAAQpD,KAAKY,UAGP,iBAAZwC,IACTpD,KAAKY,QAAU,IAAKZ,KAAKY,WACpBwC,IAIApD,IACT,EC5Ba,MAAMyC,UAAyBY,EAC5CxD,YAAYC,GACVC,MAAMD,IAEN,OAAgBE,KAAM,uBAAuB,IAE7C,OAAgBA,KAAM,SAAS,KAC7B,GAAIA,KAAK0C,SAMP,OAAO,KAGT,MAAMtC,EAAU,IAAIJ,KAAKI,SACnByC,EAAW,IAAI7C,KAAK6C,UAOpBjC,EAAUkC,KAAKC,MAAMD,KAAKE,UAAUhD,KAAKY,UAC/C,OAAO,IAAI6B,EAAiB,CAC1BrC,UACAyC,WACAjC,WACA,KAGJ,OAAgBZ,KAAM,QAAQE,IACxBF,KAAK0C,WAST1C,KAAK6C,SAASI,SAAQC,GAAWA,EAAQlD,KAAME,KAC/CF,KAAK0C,UAAW,EAAI,IAGtB1C,KAAKI,QAAUN,EAAMM,SAAW,GAChCJ,KAAK6C,SAAW/C,EAAM+C,UAAY,GAClC7C,KAAK0C,UAAW,CAClB,CAEAS,OAAOC,GACL,OAAIpD,KAAK0C,SAMA1C,KAGFD,MAAMoD,OAAOC,EACtB,ECnEK,SAASmiB,IACd,MAAMnjB,EAAmBw7B,IAQzB,MAAO,CACL/8B,sBAR2B,SAAeD,GACnC,IAAI6B,EAAiB,CAC1BrC,QAASgC,EAAiB3C,8BAC1BoD,SAAUT,EAAiB5C,oCAC3BoB,aAED,CAACwB,IAIN,CCJO,SAASuU,EAAYuL,GAC1B,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAU/CuiB,GAA4B,IAAAC,eAAcJ,GAEhD,SAASyD,EAASpD,GAIhB,QAHc,IAAAC,YAAWH,IACAF,GACFI,EAEzB,CAkCA,MAAO,CACLrZ,SA/BF,SAAkBpJ,GAChB,MAAM,SACJW,KACG8hB,GACDziB,EAGEmiB,EAAS0D,EAASpD,GAGxB,OAAoB,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GACzE,EAqBE/F,SAXF,SAAkBpc,GAChB,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAYL,GAAcG,EAAQD,EAASF,IAAa,CAACE,EAASC,IAClF,OAAoB,gBAAoBL,EAAanG,SAAU,CAC7Dxb,MAAOiiB,GACN7iB,EAAMW,SACX,EAKEklB,WAEJ,CClEA,MAAM,SACJzJ,EAAQ,SACRhT,EAAQ,SACRyc,GACEhP,GAAY,KAAM,CACpBZ,KAAM,YAKR,GACEmG,WACAhT,iDCdK,MAAM+0B,EAAsBl6B,IAAK,CAAG,GAC9Bm6B,EAAiB,SAAwBC,EAUtDC,EAAYz6B,OAAOigB,OAAOjgB,OAAOhC,YAC/B,IAAKw8B,EACH,MAAM,IAAIvzB,MAAM,wEAGlB,OAAO,SAAsB4R,GAC3B,MACE6hB,MAAOC,EACPC,aAAcN,EACd9rB,UAAWqsB,GACTL,EAAS3hB,GAEb,IAAK4hB,EAAU5hB,GACb,MAAO,CACL6hB,MAAOC,EACPC,aAAcN,EACd9rB,UAAWqsB,GAIf,MACEH,MAAOI,EACPF,aAAcG,EACdvsB,UAAWwsB,GACTP,EAAU5hB,GAMd,MAAO,CACL6hB,MAAOI,EALa/8B,GACb+8B,EAAYH,EAAa58B,GAAQA,GAIH48B,EACrCC,aAAcG,GAAsBT,EACpC9rB,UAAWwsB,GAAmBH,EAElC,CACF,ECDMI,EAAiB,EACrB3c,YACGniB,MAGH,OAAIA,EAAM2V,WA7CyB,CACnCopB,QADqBC,EA8CG7c,EAAO0H,MA7CZ5U,YAAY0I,SAC/BshB,YAAaD,EAAWxqB,aAgDpBxU,EAAMwV,SA7CSwpB,KAAc,CACjCD,OAAQC,EAAW/pB,YAAYqZ,OAC/B2Q,YAAaD,EAAWxqB,cA4Cf0qB,CAAa/c,EAAO0H,MAIzB7pB,EAAMm/B,UA9BUH,KAAc,CAClCD,OAAQC,EAAW/pB,YAAYmqB,QAC/BH,YAAaD,EAAWxqB,cA6Bf6qB,CAAcld,EAAO0H,MAI1B7pB,EAAMs/B,UACJt/B,EAAMu/B,UA1BkBP,KAAc,CAC5CD,OAAQC,EAAW/pB,YAAYuqB,kBAC/BP,YAAaD,EAAWxqB,cAyBbirB,CAAwBtd,EAAO0H,MAhCtBmV,KAAc,CAClCD,OAAQC,EAAW/pB,YAAYyqB,QAC/BT,YAAaD,EAAWxqB,cAiCfmrB,CAAcxd,EAAO0H,MAI1B7pB,EAAM4/B,UACJ5/B,EAAMu/B,UA5DkBP,KAAc,CAC5CD,OAAQC,EAAW/pB,YAAY4qB,kBAC/BZ,YAAaD,EAAWxqB,cA2DbsrB,CAAwB3d,EAAO0H,MAxDtBmV,KAAc,CAClCD,OAAQC,EAAW/pB,YAAY8qB,QAC/Bd,YAAaD,EAAWxqB,cAyDfwrB,CAAc7d,EAAO0H,MAG1B7pB,EAAMu/B,UAzDUP,KAAc,CAClCD,OAAQC,EAAW/pB,YAAYgrB,QAC/BhB,YAAaD,EAAWxqB,cAwDf0rB,CAAc/d,EAAO0H,MAGvB,CACLkV,OAAQ5c,EAAO0H,KAAK5U,YAAY1S,KAChC08B,YAAa9c,EAAO0H,KAAKrV,aAnFNwqB,KAoFpB,EAGGmB,EAAengC,IACnB,MAAM,UACJu/B,EAAS,WACT5pB,EAAU,SACVH,EACA2M,QAAQ,KACN0H,IAEA7pB,EACJ,IAAI+sB,EAAQlD,EAAKuW,UAAUH,QAU3B,OARItqB,GAAc4pB,EAChBxS,EAAQlD,EAAKuW,UAAUC,mBACd7qB,GAAY+pB,IAAc5pB,EACnCoX,EAAQlD,EAAKuW,UAAUE,iBACbf,IACVxS,EAAQlD,EAAKuW,UAAU79B,MAGlBwqB,CAAK,EAGRwT,EAAcvgC,IAClB,MAAM,UACJu/B,EAAS,WACT5pB,EAAU,SACVH,EAAQ,UACRoqB,EACAzd,QAAQ,KACN0H,IAEA7pB,EAEJ,IAAI+sB,EAAQlD,EAAK2W,SAASj+B,KAc1B,OAZIoT,EACFoX,EAAQlD,EAAK2W,SAAS7iB,SACbnI,EACTuX,EAAQlD,EAAK2W,SAASlS,OACbsR,GAAaL,EACtBxS,EAAQlD,EAAK2W,SAASX,kBACbD,EACT7S,EAAQlD,EAAK2W,SAAST,QACbR,IACTxS,EAAQlD,EAAK2W,SAASP,SAGjBlT,CAAK,EAqCd,GACE1a,UAbK,UAAqB,aAC1BosB,EAAY,MACZF,EAAK,SACL59B,KACGX,IAEH,OAAO,IAAAspB,KAAI,QAAQ,OAAS,CAC1BxT,IAAKyoB,EAAMv+B,IACVy+B,EAAaz+B,GAAQ,CACtBW,SAAUA,IAEd,EAGE49B,MApC4Bv+B,IAAS,CACrC8qB,WAAY,EACZD,WAAY,EACZkC,MAAOwT,EAAYvgC,GACnBygC,KAAMN,EAAangC,GACnB0N,WAAY,wBAGZ,uBAAwB,CACtBA,WAAY,8BACToxB,EAAe9+B,IAQpB,SAAU,CACRkX,QAAS,UAkBXunB,aAAcN,GCjLVpb,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAEf,SAASC,EAASjjB,GAC/B,GAAIA,GAASA,EAAM+b,MAAO,CAExB,GAAI,uBAAwB/b,EAAM+b,MAChC,OAAO/b,EAAM+b,MAAMmH,mBAEhB,GAAI,SAAUljB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MACjE,OAAOjW,EAAM+b,KAEjB,CAGA,MAAO,CACL9F,KAAM8M,EAEV,CCIe,SAAS/V,EAAOmW,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAvBoBE,EAuBEF,EAvBWG,EAuBKF,EAtBjCpjB,IACL,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAE7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC9B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAE1B,GAAIrV,EACF,OAAOA,CAGX,CACF,CAEA,MAAO,EAAE,EAjBb,IAAwByiB,EAAaC,EA0BnC,MAAMC,EAAQJ,EACd,OAAOnjB,IAEL,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACvB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAE1B,GAAIrV,EACF,OAAOA,CAEX,CAEA,MAAO,EAAE,CAEb,CC3CO,MAIM4e,EAAO,UAQPE,EAAO,UAQPE,EAAO,UAIP8P,EAAM,UACN5P,EAAM,UACN,EAAO,UACPE,EAAO,UACP2O,EAAO,UACP1O,EAAO,UAmBP7S,EAAK,UACLgmB,EAAM,UACNjE,EAAM,UACNkE,EAAM,UACNnT,EAAM,UAINqT,GAAM,UAGNnT,GAAO,UAMPE,GAAO,UAEPC,GAAO,UAuBPI,GAAQ,UAGRE,GAAQ,UACR4T,GAAQ,UAMR1T,GAAO,UAEPC,GAAO,UAEP8T,GAAO,UCxGP4L,ID8Ha1zB,EAAO,CAC/BC,MAAOG,EACPF,KAAM8T,KAEwBhU,EAAO,CACrCC,MAAOyiB,EACPxiB,KAAM4S,IAEuB9S,EAAO,CACpCC,MAAOomB,EACPnmB,KAtCkB,YAwCaF,EAAO,CACtCC,MAAOG,EACPF,KAAM6T,KAEY/T,EAAO,CACzBC,MAAOsT,GACPrT,KAAMyT,KAEiB3T,EAAO,CAC9BC,MAAOqT,GACPpT,KAAMyT,KAEkB3T,EAAO,CAC/BC,MAAOgT,EACP/S,KAAM+S,IAEkBjT,EAAO,CAC/BC,MAAOmT,GACPlT,KAAM2T,KAEuB7T,EAAO,CACpCC,MArGkB,UAsGlBC,KAAMunB,KAEeznB,EAAO,CAC5BC,MAAOqT,GACPpT,KAAMyT,KAEqB3T,EAAO,CAClCC,MAAOmT,GACPlT,KAAM2T,KAEiB7T,EAAO,CAC9BC,MAAOkiB,EACPjiB,KAAM6T,KAEY/T,EAAO,CACzBC,MAAOgT,EACP/S,KAAM,IAEiBF,EAAO,CAC9BC,MAAO0hB,EACPzhB,KAAM8S,IAEkBhT,EAAO,CAC/BC,MAzJkB,UA0JlBC,KAAM,IAEmBF,EAAO,CAChCC,MAAO,EACPC,KAAM8S,IAEehT,EAAO,CAC5BC,MAAOgT,EACP/S,KAAM,IAEYF,EAAO,CACzBC,MAAOgT,EACP/S,KAAM,IAEYF,EAAO,CACzBC,MA3JkB,UA4JlBC,KA7JkB,YA+JEF,EAAO,CAC3BC,MAvKkB,UAwKlBC,KA1KkB,YA4KDF,EAAO,CACxBC,MAAOuS,EACPtS,KAAMsS,IAEcxS,EAAO,CAC3BC,MAAOyS,EACPxS,KAAMwS,IAEa1S,EAAO,CAC1BC,MAAO2S,EACP1S,KAAM0S,ICxNuB,CAC7BpI,MAAO,CACLrK,UAAW,CACT5K,KAAM,CACJ0K,MAAO,GACPC,KAAM,IAERyQ,SAAU,CACR1Q,MAAO,GACPC,KAAM,KAGVic,QAAS,CACPrjB,IAAK,MACL0D,MAAO,MACPC,OAAQ,MACR1D,KAAM,QAGV8jB,KAAM,CACJrV,YAAa,MACbS,YAAa,CACX1S,KAAM,CACJ0K,MAAO,EACPC,KDyEY,WCvEdyQ,SAAU,CACR1Q,MAAO,GACPC,KAAM,IAER+yB,QAAS,CACPhzB,MAAO,eACPC,KAAM,gBAERohB,OAAQ,CACNrhB,MAAO,eACPC,KAAM,gBAERwyB,QAAS,CACPzyB,MAAO,EACPC,KAAM,GAERsyB,kBAAmB,CACjBvyB,MAAO,EACPC,KAAM,GAERkyB,QAAS,CACPnyB,MAAO,EACPC,KAAM,GAER6yB,QAAS,CACP9yB,MAAO,EACPC,KAAM,IAER2yB,kBAAmB,CACjB5yB,MAAO,eACPC,KAAM,iBAGVszB,SAAU,CACRj+B,KAAM,CACJ0K,MAAO,EACPC,KAAM,IAERyQ,SAAU,CACR1Q,MAAO,EACPC,KAAM,IAERohB,OAAQ,CACNrhB,MAAO,EACPC,KAAM,GAER2yB,kBAAmB,CACjB5yB,MAAO,EACPC,KAAM,GAER6yB,QAAS,CACP9yB,MAAO,EACPC,KAAM,IAER+yB,QAAS,CACPhzB,MAAO,EACPC,KAAM,IAGVkzB,UAAW,CACT79B,KAAM,CACJ0K,MAAO,cACPC,KAAM,eAERmzB,mBAAoB,CAClBpzB,MDpCW,UCqCXC,KDIY,WCFdozB,iBAAkB,CAChBrzB,MAAO,EACPC,KAAM,IAER+yB,QAAS,CACPhzB,MAAO,EACPC,KAAM,KAGVuH,KAAM,UAERksB,kBAAmB,CACjBxzB,UAAW,CACT5K,KDrGc,cCyJpB,GAAesU,GAPQ,EACrBsL,SACAlM,UAhCmB,SAAUyI,EAAKzI,GA2BlC,OA1BiB,SAAS2qB,EAASliB,GACjC,OAAO7a,OAAOC,KAAK4a,GAAKra,QAAO,CAAC4G,EAAK41B,KACnC,MAAMjgC,EAAQ8d,EAAImiB,GAoBlB,MAZqB,iBAAVjgC,GAAsC,aAATA,GAAiB4E,MAAMiD,QAAQ7H,GACrEqK,EAAI41B,GAAQjgC,EACHiD,OAAOC,KAAKlD,GAAO8D,SAASuR,GAGrChL,EAAI41B,GAAQjgC,EAAMqV,GAGlBhL,EAAI41B,GAAQD,EAASliB,EAAImiB,IAIpB51B,CAAG,GACT,CAAC,EACN,CAEO21B,CAASliB,EAClB,CAMSoiB,CAAa3e,EAAQlM,KCpJxBooB,GAAW,CACfpO,YAAa,EACb8Q,kBAAmB,CACjB1uB,UAAW,KAEb2uB,KAAM,CACJ3uB,UAAW,MAGA,MAAM4uB,WAAqB,EAAAnhC,UACxCC,YAAYC,GACVC,MAAMD,GACNE,KAAKk+B,gBAAiB,aAAQA,GAAgB8C,KAAKhhC,KACrD,CAEAQ,SACE,MAAM,UACJ6+B,EAAS,WACT5pB,EAAU,UACV2pB,EAAS,SACT9pB,EAAQ,UACR2pB,EAAS,UACTS,EAAS,gBACTuB,EAAe,UACf7C,EAAS,aACT8C,EAAY,eACZC,EAAc,MACdtlB,GACE7b,KAAKF,MAEHshC,EAAephC,KAAKk+B,eAAeC,GAAUC,IAEjDjsB,UAAW4d,KACRsR,GACDD,EAAa,gBAEfjvB,UAAW0uB,GACTO,EAAa,sBAEfjvB,UAAW2uB,GACTM,EAAa,QACjB,OAAoB,gBAAoB,YAAgB,CACtD1gC,MAAOmb,GACO,gBAAoB,WAAsB,MAAM,EAC9D9F,UACiB,gBAAoB,YAAgB,CACrDA,KAAMA,EACNkM,OAAQue,KACPve,GAAuB,gBAAoB8N,GAAa,OAAS,CAAC,EAAGsR,EAAsB,CAC5Fpf,OAAQA,EACRod,UAAWA,EACX5pB,WAAYA,EACZwpB,UAAWA,EACX3pB,SAAUA,EACVoqB,UAAWA,EACXN,UAAWA,IACT6B,EAA+B,gBAAoBJ,EAAmB,CACxEK,aAAcA,EACdC,eAAgBA,EAChB5sB,KAAM0N,EAAO0H,KAAKpV,KAClB+C,MAAO,KACS,gBAAoBwpB,EAAM,CAC1CI,aAAcA,EACdC,eAAgBA,EAChB5sB,KAAM0N,EAAO0H,KAAKpV,KAClB+C,MAAO,UAEX,GAIF,OAAgBypB,GAAc,eAAgB,CAC5CG,aAAc,UACdC,eAAgB,UAChBF,iBAAiB,EACjBplB,MAAO,CAACpW,EAAS3F,IAAU2F,EAAQ3F,KCnF9B,MAWMuhB,GAAW,IAAM,EC+B9B,IACElP,UA3BK,UAAe,aACpBosB,EAAY,SACZ99B,EAAQ,WACRgV,EAAU,UACVyH,EAAS,YACTrK,EAAW,aACXoK,EAAY,aACZD,EAAY,OACZiF,EAAM,MACNoc,EAAK,OACL9rB,IAEA,OAAO,IAAA6W,KAAI,SAAS,OAAS,CAAC,EAAGmV,EAAa,CAC5C9oB,eACE,CACFyH,UAAWA,EACXrK,YAAaA,EACboK,aAAcA,EACdD,aAAcA,EACdpH,IAAKyoB,EAAM,CACT5oB,aACAwM,WAEF,cAAe1P,IACb9R,EACN,EAGE49B,MAxCsB,EACtB5oB,aACAwM,aACI,CACJ0W,WDM8B,uICL9BxO,WAAY,aACZnT,QAAS,OACT6V,MAAOpX,EAAawM,EAAO3K,MAAMrK,UAAUwQ,SAAWwE,EAAO3K,MAAMrK,UAAU5K,QACzEoT,GAAc,CAChBT,OAAQ,iBAgCVupB,aAAcN,GCtBhB,IACE9rB,UAbK,UAAmB,aACxBosB,EAAY,OACZtc,EAAM,SACNxhB,EAAQ,MACR49B,IAEA,OAAO,IAAAjV,KAAI,QAAQ,OAAS,CAAC,EAAGmV,IAAgB,CAC9C3oB,IAAKyoB,EAAM,CACTpc,aAEAxhB,EACN,EAGE49B,MAtB0B,EAC1Bpc,aACI,CACJqf,WAAYrf,EAAO3K,MAAM2R,QAAQrjB,IACjC27B,aAActf,EAAO3K,MAAM2R,QAAQ3f,MACnCk4B,cAAevf,EAAO3K,MAAM2R,QAAQ1f,OACpCk4B,YAAaxf,EAAO3K,MAAM2R,QAAQpjB,OAiBlC04B,aAAcN,GC1BhB,KACEx9B,eACI,IAAA2oB,KAAI,OAAQ,CAChBxT,IAAK,CACHoB,QAAS,QACT2T,WAAY,EACZhlB,SAAU,aAEXlF,GCLH,IAA4B,IAAA4lB,aAAW,EACrCxlB,uBACA09B,eACAhsB,YACGzS,GACFoC,KAAQ,IAAAknB,KAAI,SAAS,OAAS,CAC/BS,KAAM,YACL0U,EAAa,CACd9gB,SAAU3d,EAAM2d,SAChBsiB,QAASjgC,EAAMigC,QACf2B,SAAU5hC,EAAM4hC,WACd5hC,EAAO,CACToC,IAAKA,EACL0T,IAAK,CACH/P,KAAM,MACNwkB,OAAQ,EACRvkB,QAAS,EACTgnB,QAAS,EACTnnB,SAAU,WACVyP,UAAW,wBACXxP,IAAK,MACLG,cAAe,QAEjB,cAAewM,OCtBjB,KACE0P,YACGniB,MACC,WAAAspB,KAAI,QAAQ,OAAS,CACzBxT,IAAK,CACHiX,MAAO5K,EAAOwe,kBAAkBxzB,UAAU5K,KAC1Co/B,YAAa,GCLQr8B,EDKIic,GAAU,ICJ9BvhB,GDI8B,ICJrBsF,EAAGtF,UDMlBA,ICPI,IAAkBsF,CDOf,6DEHJ,GAAW,CACfu8B,MAAO,GACPC,UAAW,GACXC,eAAgB,CACdtD,aAAc,KAAM,CAAG,KAI3B,MAAMuD,WAAiB,EAAAliC,UACrBC,YAAYC,GACVC,MAAMD,IAEN,OAAgBE,KAAM,QAAS,CAC7BsV,UAAU,EACV2pB,WAAW,EACXS,WAAW,EACXqC,aAAa,EACb1C,eAAoCj5B,IAAzBpG,KAAKF,MAAMu/B,UAA0Br/B,KAAKF,MAAMu/B,UAAYr/B,KAAKF,MAAMkiC,kBAGpF,OAAgBhiC,KAAM,gBAAYoG,IAElC,OAAgBpG,KAAM,aAAc,CAAC,OAErC,OAAgBA,KAAM,YAAYK,GAC5BL,KAAKF,MAAM2V,WACN,MAGTpV,EAAM4hC,eAEuB77B,IAAzB/F,EAAMoQ,OAAOsvB,SACf//B,KAAK4G,SAAS,CACZy4B,UAAWh/B,EAAMoQ,OAAOsvB,UAIxB//B,KAAKF,MAAMoiC,UACbliC,KAAKF,MAAMoiC,SAAS7hC,IAGf,MAGT,OAAgBL,KAAM,QAAQ,KACxBA,KAAKmiC,UAAYniC,KAAKmiC,SAASlnB,MACjCjb,KAAKmiC,SAASlnB,MAChB,KAGF,OAAgBjb,KAAM,SAAS,KACzBA,KAAKmiC,UAAYniC,KAAKmiC,SAASjnB,OACjClb,KAAKmiC,SAASjnB,OAChB,KAGF,OAAgBlb,KAAM,UAAU,IAAMA,KAAK4G,SAAS,CAIlD0O,SAAUtV,KAAK0B,MAAMqgC,aAAe/hC,KAAK0B,MAAM4T,SAC/C2pB,WAAW,OAGb,OAAgBj/B,KAAM,WAAW,IAAMA,KAAK4G,SAAS,CACnDq4B,WAAW,OAGb,OAAgBj/B,KAAM,gBAAgB,IAAMA,KAAK4G,SAAS,CACxD0O,UAAU,EACVoqB,WAAW,OAGb,OAAgB1/B,KAAM,gBAAgB,IAAMA,KAAK4G,SAAS,CACxD84B,WAAW,OAGb,OAAgB1/B,KAAM,aAAa,IAAMA,KAAK4G,SAAS,CACrD0O,UAAU,EACVysB,aAAa,OAGf,OAAgB/hC,KAAM,eAAe,IAAMA,KAAK4G,SAAS,CACvD0O,UAAU,EACVysB,aAAa,OAGf,OAAgB/hC,KAAM,aAAaK,IAC7BA,EAAMmc,OAAOxc,KAAKqe,YACpBre,KAAK4G,SAAS,CACZ0O,UAAU,GAEd,KAGF,OAAgBtV,KAAM,WAAWK,IAC3BA,EAAMmc,OAAOxc,KAAKqe,YACpBre,KAAK4G,SAAS,CACZ0O,UAAU,GAEd,IAGFtV,KAAKk+B,gBAAiB,aAAQA,EAChC,CAEAvxB,oBACE,MAAM,gBACJs0B,GACEjhC,KAAKF,MAGLE,KAAKmiC,WACPniC,KAAKmiC,SAASC,gBAAkBnB,EAE5BjhC,KAAKF,MAAMuiC,UACbriC,KAAKF,MAAMuiC,SAASriC,KAAKmiC,UAG/B,CAEAn6B,mBAAmBC,GACjB,MAAM,gBACJg5B,GACEjhC,KAAKF,MAELmI,EAAUg5B,kBAAoBA,GAAmBjhC,KAAKmiC,WACxDniC,KAAKmiC,SAASC,gBAAkBnB,EAEpC,CAEAzgC,SACE,MAAM,WACJiV,EAAU,UACV2pB,EAAS,gBACT6B,EAAe,MACf3pB,EAAK,KACL9U,EAAI,UACJ47B,EAAS,MACT19B,EAAK,WACL4hC,EAEAjD,UAAWkD,EAAc,MACzB1mB,EAAK,OACLtJ,GACEvS,KAAKF,MACHu/B,OAAqCj5B,IAAzBpG,KAAKF,MAAMu/B,UAA0Br/B,KAAK0B,MAAM29B,UAAYkD,GACxE,UACJtD,EAAS,SACT3pB,EAAQ,UACRoqB,GACE1/B,KAAK0B,MACH0/B,EAAelD,EAAe,GAAUE,IAE5CjsB,UAAWwvB,KACRa,GACDpB,EAAa,UAEfjvB,UAAWyvB,KACRa,GACDrB,EAAa,cAEf7C,aAAcmE,GACZtB,EAAa,kBACjB,OAAoB,gBAAoB,YAAgB,CACtD1gC,MAAOmb,GACO,gBAAoB,WAAsB,MAAM,EAC9D9F,UACiB,gBAAoB,YAAgB,CACrDA,KAAMA,EACNkM,OAAQue,KACPve,GAAuB,gBAAoB0f,GAAO,OAAS,CAAC,EAAGa,EAAgB,CAChF/sB,WAAYA,EACZ5C,YAAa7S,KAAK6S,YAClBmK,aAAchd,KAAKgd,aACnBC,aAAcjd,KAAKid,aACnBC,UAAWld,KAAKkd,UAChB+E,OAAQA,EACR1P,OAAQA,GAAU,GAAGA,sBACN,gBAAoBowB,GAAiB,KAAmB,gBAAoBd,GAAgB,CAC3GpkB,SAAUhI,EACVsqB,QAASV,EACT6C,SAAUliC,KAAKkiC,SACfnvB,OAAQ/S,KAAK+S,OACbD,QAAS9S,KAAK8S,QACdiK,QAAS/c,KAAK+c,QACdD,UAAW9c,KAAK8c,UAChBpc,MAAOA,EACP8B,KAAMA,EACNN,IAAKmW,GAAKrY,KAAKmiC,SAAW9pB,EAC1BqpB,SAAUY,EACV/D,aAAcmE,EACdnwB,OAAQA,GAAU,GAAGA,uBACN,gBAAoBwuB,GAAc,CACjDllB,MAAOA,EACPuiB,UAAW,CACTrO,YAAaqO,GAAaA,EAAUrO,YACpC+Q,KAAM1C,GAAaA,EAAU0C,KAC7BD,kBAAmBzC,GAAaA,EAAUyC,mBAE5CxB,UAAWA,EACX5pB,WAAYA,EACZwpB,UAAWA,EACX3pB,SAAUA,EACVoqB,UAAWA,EACXN,UAAWA,EACX6B,gBAAiBA,EACjBC,aAAc,UACdC,eAAgB,UAChB7pB,MAAO,MACS,gBAAoBsqB,GAAW,OAAS,CAAC,EAAGa,EAAoB,CAChFxgB,OAAQA,IACN3K,EAAOgrB,GAA2B,gBAAoBM,GAAmB,CAC3E3gB,OAAQA,EACR,cAAe,QACd,WACL,GAIF,OAAgB6f,GAAU,eAAgB,CACxCrsB,YAAY,EACZ2pB,WAAW,EACX4C,gBAAgB,EAChBf,iBAAiB,EACjBplB,MAAO,CAACpW,EAAS3F,IAAU2F,EAAQ3F,KAIrC,MAAMoT,IAAkD,WChP7BtS,GAAWC,IACpC,MAAMC,EAAgBD,EAAqBD,GACrCG,EAAcD,EAAcE,QAMlC,OAJID,GACFA,EAAYE,KD2OwC,YCxO/CH,CAAa,GDyOtB,UE7O6BiB,GF6OO,CAClC6M,cAAe,WACfC,YAAW,MACXC,eAAc,OEhP4B9M,IAC1C,MAAMC,GAAoC,IAAAokB,aAAW,EACnDjkB,sBACGC,GACFH,KACD,MAAMI,GAAgB,IAAAy7B,UAAQ,KAAM,IAAMh8B,MACrCK,KACD,CAACA,IACL,OAAoB,gBAAoB,EAAkB,CACxDZ,KAAMc,GACQ,gBAAoBN,GAAkB,OAAS,CAAC,EAAGK,EAAM,CACvEH,IAAKA,KACH,IAKN,OAFAD,EAAqBM,YAAc,wBACnCP,EAAiBO,aAAeP,EAAiBQ,QAC1CP,CAAoB,GChBD,EAAC4B,EAAiB,CAAC,IAAM7B,IACnD,MAAMgD,GAAmC,IAAAqhB,aAAW,CAACvmB,EAAOoC,KAC1D,MAAM,kBACJsB,GCNC,SAAyBK,EAAiB,CAAC,EAAGiB,GACnD,MAAM,qBACJjE,GACE0kB,IACEsd,GAAe,IAAAzd,QAAO,CAAC,GAsC7B,MAAO,CACL5hB,mBAtCmB,IAAAu6B,UAAQ,KAC3B,MAAM+E,EAAQD,EAAap9B,QAG3B,OADA9B,OAAOC,KAAKk/B,GAAOh/B,QAAO0Y,KAASA,KAAO3Y,KAAiBZ,SAAQuZ,UAAcsmB,EAAMtmB,KAChF7Y,OAAOC,KAAKC,GAAgBM,QAAO,CAACJ,EAAGk4B,KAC5C,MAAM33B,EAAeT,EAAeo4B,GAEpC,IAAK,CAAC,SAAU,YAAYz3B,gBAAgBF,GAC1C,OAAOP,EAGT,MAAMg/B,EAAYj+B,EAAsBm3B,GAExC,GAAIA,KAAK6G,GAASA,EAAM7G,GAAG33B,eAAiBA,GAAgBw+B,EAAM7G,GAAG8G,YAAcA,EACjF,MAAO,IAAKh/B,EACV,CAACk4B,GAAI6G,EAAM7G,GAAG+G,iBAIlB,MAAMA,EAAkB,IAAIv+B,KAC1B,MAAMG,EAAyC,mBAAjBN,EAA8BA,EAAazD,EAAsBiE,GAAyBjE,EAAqByD,GAEzIy+B,GAAkC,mBAAdA,GACtBA,KAAat+B,EAAMG,EACrB,EAQF,OALAk+B,EAAM7G,GAAK,CACT33B,eACA0+B,kBACAD,aAEK,IAAKh/B,EACV,CAACk4B,GAAI+G,EACN,GACA,CAAC,EAAE,GACL,CAACn/B,EAAgBiB,EAAuBjE,EAAsBgiC,IAInE,CDtCQI,CAAgBp/B,EAAgB/D,IAC9B,qBACJe,GACE0kB,IACJ,OAAoB,gBAAoBvjB,GAAkB,OAAS,CAAC,EAAGlC,EAAO0D,EAAmB,CAC/F3C,qBAAsBA,EACtBqB,IAAKA,IACJ,IAKL,OAFA8C,EAAoBzC,YAAc,uBAClCP,EAAiBO,aAAeP,EAAiBQ,QAC1CwC,CAAmB,EHgOzB,CAAoB,CACrBk9B,SAAUhvB,GAA6B,CACrCzE,OAAQ,UACRC,cAAe,WACfC,WAAY,CACVC,cAAe,WACfC,YAAW,MACXC,eAAc,UAPjB,CAUAgzB,KE3P0B//B,mHGD7B,MAAM,SACJma,EAAQ,SACRhT,EAAQ,SACRyc,GCIK,SAAqBzD,GAC1B,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAS/CuiB,GAA4B,IAAAC,eAAcJ,GAChD,SAASyD,EAASpD,GAIhB,QAHc,IAAAC,YAAWH,IACAF,GACFI,EAEzB,CAiCA,MAAO,CACLrZ,SA9BF,SAAkBpJ,GAChB,MAAM,SACJW,KACG8hB,GACDziB,EAIEmiB,EAAS0D,EAASpD,GAGxB,OAAoB,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GACzE,EAmBE/F,SAVF,SAAkBpc,GAChB,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAYL,GAAcG,EAAQD,EAASF,IAAa,CAACE,EAASC,IAClF,OAAoB,gBAAoBL,EAAanG,SAAU,CAC7Dxb,MAAOiiB,GACN7iB,EAAMW,SACX,EAIEklB,WAEJ,CDzDIhP,EAAY,KAAM,CACpBZ,KAAM,YERFmtB,EAAmB,CACvBn2B,MAAO,6BACPC,KAAM,8BAOKwe,EAAgB,CAACzV,EAAO,UAAYmtB,EAAiBntB,GCTrDotB,EACJ,OADIA,EAEH,OAFGA,EAGJ,OAHIA,EAIH,OAQGrsB,EAAa,CACxBtD,MAAO,CACLjE,MAAO4zB,EACP3zB,OAAQ2zB,GAEV1vB,OAAQ,CACNlE,MAAO4zB,EACP3zB,OAAQ2zB,GAEVzvB,MAAO,CACLnE,MAAO4zB,EACP3zB,OAAQ2zB,GAEVxvB,OAAQ,CACNpE,MAAO4zB,EACP3zB,OAAQ2zB,ICQCC,IArBO,QAAItsB,EAAWtD,QACd,QAAIsD,EAAWrD,SAChB,QAAIqD,EAAWpD,QACd,QAAIoD,EAAWnD,QAkBT,EACzBpE,QACAC,SACA+E,UAEIhF,GAASC,EACJ,CACLD,QACAC,UAGA+E,EACKuC,EAAWvC,QADpB,GCjCI8uB,GAAa,QAAI,CACrBrsB,QAAS,eACT2T,WAAY,EACZC,WAAY,EAEZ,QAAS,CDfTL,SAAU,SACVxkB,cAAe,OAMfu9B,KAAM,CACJC,UAAW,gBCSXjZ,SAAU,OACVkZ,UAAW,OACX3W,MAAO,4BACP0T,KAAM,8BACNxT,cAAe,YAMb0W,GAAgB,QAAI,CACxB,4CAA6C,CAE3C,QAAS,CACP3/B,OAAQ,eACR,uBAAwB,aAExB,yBAA0B,aAK1B4/B,GAAkC,QAAI,CAC1C,4CAA6C,CAE3C,QAAS,CAIP,uBAAwB,aAKxBC,GAAgC,QAAI,CACxC,4CAA6C,CAE3C,QAAS,CACP,yBAA0B,kBAanB7C,GAAoB,IAAA1a,OAAK,SAActmB,GAClD,MACE8jC,MAAOC,EAAK,oBACZC,EAAmB,aACnB5C,EAAe,eAAc,eAC7BC,EAAc,KACd5sB,EAAI,OACJhC,EAAM,MACN+E,EAAK,MACL/H,EAAK,OACLC,GACE1P,EACEikC,EAAaD,EAAsB,CACvCE,wBAAyB,CACvBC,OAAQH,IAER,CACFrjC,SAAUojC,GAAQ,QAAIA,EAAO,CAC3BtsB,KAAM,iBACH,MAEDT,EAAassB,EAAY,CAC7B7zB,QACAC,SACA+E,UAEI,KACJwB,GACE,IACJ,OAAO,QAAI,QAAQ,OAAS,CAC1B,cAAexD,EACfgF,KAAMD,EAAQ,WAAQlR,EACtB,aAAckR,QAAgBlR,EAC9B,eAAekR,QAAQlR,EACvBqC,MAAO,CACL,uBAAwBy4B,EACxB,yBAA0BC,GAAkB3V,EAAczV,KAE3DguB,EAAY,CACbnuB,IAAK,CAACytB,EAAYI,EAAevC,IAAiBC,GAAkBuC,EAAoD,gBAAnBvC,GAAoCwC,EAIzI7sB,IAEA,QAAI,CACFvH,MAAOuH,EAAWvH,MAClBC,OAAQsH,EAAWtH,OACnB,QAASsH,OAGf,IACA,kCCtHAiT,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,OAIpB,MAAMC,EAA4BtkC,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC7G45B,oBAAqB,6OACpBhkC,IAEHskC,EAA0B7hC,YAAc,4BACxC,IAAI8hC,EAAWD,EACfra,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,OAIpB,MAAMpD,EAAejhC,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAChG45B,oBAAqB,gTACpBhkC,IAEHihC,EAAax+B,YAAc,eAC3B,IAAI8hC,EAAWtD,EACfhX,EAAQ,EAAUsa,8OCfd9kC,EAAe,CACfE,4BAA6B,SAC7BD,kCAAmC,UAsCvC,QApCsC,SAAU0B,GAE5C,SAASC,EAAiBrB,GACtB,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KAuBxC,OAtBAoB,EAAME,gBAAkB,WAAc,MAAO,CACzC7B,4BAA6B2B,EAAMG,oBACnC,EACJH,EAAMG,oBAAsB,WACxB,IAAIC,EAAOJ,EAAMtB,MAAM0B,KACnB/B,EAA8B2B,EAAMhB,QAAQX,4BAC5CgC,EAAuD,mBAAhChC,GACvBA,KACA,GACJ,OAAO,IAAAqlB,UAASrjB,EAAc,CAACD,GACnC,EACAJ,EAAMnB,0BAA4B,WAC9B,IAAIT,EAAoC4B,EAAMhB,QAAQZ,kCAItD,MAHqE,mBAAtCA,GAC3BA,KACA,EAER,EACA4B,EAAMM,MAAQ,CACVjC,4BAA6B2B,EAAMG,oBACnC/B,kCAAmC4B,EAAMnB,2BAEtCmB,CACX,CAOA,OAjCA,IAAAsiB,WAAUviB,EAAkBD,GA2B5BC,EAAiBQ,UAAUnB,OAAS,WAChC,IAAIC,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,aAAgC,CAAEC,MAAOV,KAAK0B,OAAS,EAAAE,SAAA,KAAcnB,GACrG,EACAU,EAAiBU,aAAetC,EAChC4B,EAAiBW,kBAAoBvC,EAC9B4B,CACX,CAnCqC,CAmCnC,EAAAvB,WCzCF,IAAI6C,EAAkC,SAAUvB,GAE5C,SAASuB,EAAiB3C,GACtB,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KA6BxC,OA5BAoB,EAAMJ,MAAQ,WACV,OAAII,EAAMsB,UAENC,QAAQC,KAAK,gDACN,MAUJ,IAAIH,EAAiB,CAAErC,SARhB,IAAA0kB,UAAS1jB,EAAMhB,SAQmByC,UAPjC,IAAAiiB,UAAS1jB,EAAMyB,UAOsCjC,QADtDkC,KAAKC,MAAMD,KAAKE,UAAU5B,EAAMR,WAElD,EACAQ,EAAMH,KAAO,SAAUf,GACfkB,EAAMsB,SAENC,QAAQC,KAAK,gCAGjBxB,EAAMyB,SAASI,SAAQ,SAAUC,GAAW,OAAOA,EAAQ9B,EAAOlB,EAAU,IAC5EkB,EAAMsB,UAAW,EACrB,EACAtB,EAAMhB,QAAUN,EAAMM,SAAW,GACjCgB,EAAMyB,SAAW/C,EAAM+C,UAAY,GACnCzB,EAAMsB,UAAW,EACVtB,CACX,CASA,OAzCA,IAAAsiB,WAAUjhB,EAAkBvB,GAiC5BuB,EAAiBd,UAAUwB,OAAS,SAAUC,GAC1C,OAAIpD,KAAK0C,UAELC,QAAQC,KAAK,iDACN5C,MAEJkB,EAAOS,UAAUwB,OAAO9B,KAAKrB,KAAMoD,EAC9C,EACOX,CACX,CA3CqC,CCDD,WAChC,SAASY,EAAevD,GACpB,IAAIsB,EAAQpB,KACZA,KAAKgB,MAAQ,WAKT,OAAO,IAAIqC,EAAe,CAAEzC,QADdkC,KAAKC,MAAMD,KAAKE,UAAU5B,EAAMR,WAElD,EACAZ,KAAKY,QAAUd,EAAMc,OACzB,CAUA,OATAyC,EAAe1B,UAAUwB,OAAS,SAAUC,GAOxC,MANuB,mBAAZA,IACPpD,KAAKY,QAAUwC,EAAQpD,KAAKY,UAET,iBAAZwC,IACPpD,KAAKY,SAAU,IAAAijB,WAAS,IAAAA,UAAS,CAAC,EAAG7jB,KAAKY,SAAUwC,IAEjDpD,IACX,EACOqD,CACX,CAtBmC,ID6CnC,UEyCA,EA9E8C,SAAUnC,GAEpD,SAASoC,EAAyBxD,GAC9B,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KAyDxC,OApDAoB,EAAMmC,mBAAqB,CAAC,EAC5BnC,EAAMoC,kBAAoB,CAAC,EAE3BpC,EAAMqC,wBAA0B,SAAU3D,GACtC,IAAI4D,EAAuBC,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAgBC,QAAO,SAAUC,GAAK,OAAO3C,EAAMmC,mBAAmBQ,KAAOjE,EAAMiE,EAAI,IAO1I,OANIL,EAAqBM,OAAS,IAC9B5C,EAAMoC,mBAAoB,IAAAqgB,WAAS,IAAAA,UAAS,CAAC,EAAGziB,EAAMoC,mBAAoBpC,EAAM6C,uBAAuBP,EAAsB5D,IAC7H4D,EAAqBT,SAAQ,SAAUc,GACnC3C,EAAMmC,mBAAmBQ,GAAKjE,EAAMiE,EACxC,KAEG3C,EAAMoC,iBACjB,EACApC,EAAM6C,uBAAyB,SAAUC,EAAkBpE,GACvD,OAAOoE,EAAiBC,QAAO,SAAUC,EAAUC,GAC/C,IAAIlC,EACAmC,EAAelD,EAAMtB,MAAM+D,eAAeQ,GAC1CE,EAAmBzE,EAAMuE,GAC7B,MAAK,CAAC,SAAU,YAAYG,gBAAgBF,IAerC,IAAAuf,WAAS,IAAAA,UAAS,CAAC,EAAGzf,KAAYjC,EAAK,CAAC,GAAMkC,GAZ9B,WAEnB,IADA,IAAII,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIE,EAAyC,mBAAjBN,EACtBA,EAAalD,EAAMP,qBAAsBf,GACzCsB,EAAMP,qBAAqByD,GAC7BC,GACAA,EAAiBM,WAAM,GAAQ,IAAAigB,UAASrgB,EAAM,CAACG,IAEvD,EAC2FzC,IAdhFiC,CAef,GAAG,CAAC,EACR,EACAhD,EAAMP,qBAAuB,SAAUD,GACnC,IAAIuB,EAAKf,EAAMhB,QAASZ,EAAoC2C,EAAG3C,kCAAmCC,EAA8B0C,EAAG1C,4BACnI,OAAO,IAAI,EAAiB,CACxBW,QAAiD,mBAAhCX,GACbA,KACA,GACJoD,SAAwD,mBAAtCrD,GACdA,KACA,GACJoB,QAASA,GAEjB,EACA+C,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAgBZ,SAAQ,SAAUc,GACtD3C,EAAMmC,mBAAmBQ,GAAKjE,EAAMgF,sBAAsBf,EAC9D,IACA3C,EAAMoC,kBAAoBpC,EAAM6C,uBAAuBN,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAiB/D,EAAMgF,uBAC/F1D,CACX,CAeA,OA3EA,IAAAsiB,WAAUpgB,EAA0BpC,GA6DpCoC,EAAyB3B,UAAUnB,OAAS,WACxC,IAAIgD,EAAoBxD,KAAKyD,wBAAwBzD,KAAKF,MAAMgF,uBAChE,OAAO9E,KAAKF,MAAMW,SAAS,CACvBI,qBAAsBb,KAAKa,qBAC3B2C,kBAAmBA,GAE3B,EACAF,EAAyBzB,aAAe,CACpCrC,kCAAmC,SACnCC,4BAA6B,UAEjC6D,EAAyByB,aAAe,CACpClB,eAAgB,CAAC,GAEdP,CACX,CA7E6C,CA6E3C,4BCtFF,iBAA0BpD,GAAW,OAAO,SAAUU,GAAW,OAAO,SAAUC,GAC9E,IAAIC,EAAgBD,EAAqBD,GACrCG,EAAcD,EAAcE,QAIhC,OAHID,GACAA,EAAYE,KAAKf,GAEdY,CACX,CAAG,CAAI,iBCHH,EAAe,CACfrB,4BAA6B,SAC7BD,kCAAmC,UAsCvC,QApCsC,SAAU0B,GAE5C,SAASC,EAAiBrB,GACtB,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KAuBxC,OAtBAoB,EAAME,gBAAkB,WAAc,MAAO,CACzC7B,4BAA6B2B,EAAMG,oBACnC,EACJH,EAAMG,oBAAsB,WACxB,IAAIC,EAAOJ,EAAMtB,MAAM0B,KACnB/B,EAA8B2B,EAAMhB,QAAQX,4BAC5CgC,EAAuD,mBAAhChC,GACvBA,KACA,GACJ,OAAO,IAAAqlB,UAASrjB,EAAc,CAACD,GACnC,EACAJ,EAAMnB,0BAA4B,WAC9B,IAAIT,EAAoC4B,EAAMhB,QAAQZ,kCAItD,MAHqE,mBAAtCA,GAC3BA,KACA,EAER,EACA4B,EAAMM,MAAQ,CACVjC,4BAA6B2B,EAAMG,oBACnC/B,kCAAmC4B,EAAMnB,2BAEtCmB,CACX,CAOA,OAjCA,IAAAsiB,WAAUviB,EAAkBD,GA2B5BC,EAAiBQ,UAAUnB,OAAS,WAChC,IAAIC,EAAWT,KAAKF,MAAMW,SAC1B,OAAQ,gBAAoB,aAAgC,CAAEC,MAAOV,KAAK0B,OAAS,EAAAE,SAAA,KAAcnB,GACrG,EACAU,EAAiBU,aAAe,EAChCV,EAAiBW,kBAAoB,EAC9BX,CACX,CAnCqC,CAmCnC,EAAAvB,WC5BF,EAZ2B,SAAUmC,GAAe,OAAO,SAAUC,GACjE,IAAIC,EAAuB,cAAiB,SAAUnC,EAAOoC,GACzD,IAAIC,EAAKrC,EAAMsC,iBAAkBA,OAA0B,IAAPD,EAAgB,CAAC,EAAIA,EAAIE,GAAO,IAAA6hB,QAAOpkB,EAAO,CAAC,qBAC/FwC,GAAgB,IAAAuhB,WAAS,IAAAA,UAAS,CAAC,EAAG9hB,GAAcK,GACxD,OAAQ,gBAAoB,EAAkB,CAAEZ,KAAMc,GAClD,gBAAoBN,GAAkB,IAAA6hB,UAAS,CAAC,EAAGxhB,EAAM,CAAEH,IAAKA,KACxE,IAIA,OAFAD,EAAqBM,YAAc,yBAA2BP,EAAiBO,aAC3EP,EAAiBQ,MAAQ,IACtBP,CACX,CAAG,ECbH,ICCI,EAAkC,SAAUf,GAE5C,SAASuB,EAAiB3C,GACtB,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KA6BxC,OA5BAoB,EAAMJ,MAAQ,WACV,OAAII,EAAMsB,UAENC,QAAQC,KAAK,gDACN,MAUJ,IAAIH,EAAiB,CAAErC,SARhB,IAAA0kB,UAAS1jB,EAAMhB,SAQmByC,UAPjC,IAAAiiB,UAAS1jB,EAAMyB,UAOsCjC,QADtDkC,KAAKC,MAAMD,KAAKE,UAAU5B,EAAMR,WAElD,EACAQ,EAAMH,KAAO,SAAUf,GACfkB,EAAMsB,SAENC,QAAQC,KAAK,gCAGjBxB,EAAMyB,SAASI,SAAQ,SAAUC,GAAW,OAAOA,EAAQ9B,EAAOlB,EAAU,IAC5EkB,EAAMsB,UAAW,EACrB,EACAtB,EAAMhB,QAAUN,EAAMM,SAAW,GACjCgB,EAAMyB,SAAW/C,EAAM+C,UAAY,GACnCzB,EAAMsB,UAAW,EACVtB,CACX,CASA,OAzCA,IAAAsiB,WAAUjhB,EAAkBvB,GAiC5BuB,EAAiBd,UAAUwB,OAAS,SAAUC,GAC1C,OAAIpD,KAAK0C,UAELC,QAAQC,KAAK,iDACN5C,MAEJkB,EAAOS,UAAUwB,OAAO9B,KAAKrB,KAAMoD,EAC9C,EACOX,CACX,CA3CqC,CDDD,WAChC,SAASY,EAAevD,GACpB,IAAIsB,EAAQpB,KACZA,KAAKgB,MAAQ,WAKT,OAAO,IAAIqC,EAAe,CAAEzC,QADdkC,KAAKC,MAAMD,KAAKE,UAAU5B,EAAMR,WAElD,EACAZ,KAAKY,QAAUd,EAAMc,OACzB,CAUA,OATAyC,EAAe1B,UAAUwB,OAAS,SAAUC,GAOxC,MANuB,mBAAZA,IACPpD,KAAKY,QAAUwC,EAAQpD,KAAKY,UAET,iBAAZwC,IACPpD,KAAKY,SAAU,IAAAijB,WAAS,IAAAA,UAAS,CAAC,EAAG7jB,KAAKY,SAAUwC,IAEjDpD,IACX,EACOqD,CACX,CAtBmC,IC6CnC,UCyCA,QA9E8C,SAAUnC,GAEpD,SAASoC,EAAyBxD,GAC9B,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KAyDxC,OApDAoB,EAAMmC,mBAAqB,CAAC,EAC5BnC,EAAMoC,kBAAoB,CAAC,EAE3BpC,EAAMqC,wBAA0B,SAAU3D,GACtC,IAAI4D,EAAuBC,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAgBC,QAAO,SAAUC,GAAK,OAAO3C,EAAMmC,mBAAmBQ,KAAOjE,EAAMiE,EAAI,IAO1I,OANIL,EAAqBM,OAAS,IAC9B5C,EAAMoC,mBAAoB,IAAAqgB,WAAS,IAAAA,UAAS,CAAC,EAAGziB,EAAMoC,mBAAoBpC,EAAM6C,uBAAuBP,EAAsB5D,IAC7H4D,EAAqBT,SAAQ,SAAUc,GACnC3C,EAAMmC,mBAAmBQ,GAAKjE,EAAMiE,EACxC,KAEG3C,EAAMoC,iBACjB,EACApC,EAAM6C,uBAAyB,SAAUC,EAAkBpE,GACvD,OAAOoE,EAAiBC,QAAO,SAAUC,EAAUC,GAC/C,IAAIlC,EACAmC,EAAelD,EAAMtB,MAAM+D,eAAeQ,GAC1CE,EAAmBzE,EAAMuE,GAC7B,MAAK,CAAC,SAAU,YAAYG,gBAAgBF,IAerC,IAAAuf,WAAS,IAAAA,UAAS,CAAC,EAAGzf,KAAYjC,EAAK,CAAC,GAAMkC,GAZ9B,WAEnB,IADA,IAAII,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAIE,EAAyC,mBAAjBN,EACtBA,EAAalD,EAAMP,qBAAsBf,GACzCsB,EAAMP,qBAAqByD,GAC7BC,GACAA,EAAiBM,WAAM,GAAQ,IAAAigB,UAASrgB,EAAM,CAACG,IAEvD,EAC2FzC,IAdhFiC,CAef,GAAG,CAAC,EACR,EACAhD,EAAMP,qBAAuB,SAAUD,GACnC,IAAIuB,EAAKf,EAAMhB,QAASZ,EAAoC2C,EAAG3C,kCAAmCC,EAA8B0C,EAAG1C,4BACnI,OAAO,IAAI,EAAiB,CACxBW,QAAiD,mBAAhCX,GACbA,KACA,GACJoD,SAAwD,mBAAtCrD,GACdA,KACA,GACJoB,QAASA,GAEjB,EACA+C,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAgBZ,SAAQ,SAAUc,GACtD3C,EAAMmC,mBAAmBQ,GAAKjE,EAAMgF,sBAAsBf,EAC9D,IACA3C,EAAMoC,kBAAoBpC,EAAM6C,uBAAuBN,OAAOC,KAAKxC,EAAMtB,MAAM+D,gBAAiB/D,EAAMgF,uBAC/F1D,CACX,CAeA,OA3EA,IAAAsiB,WAAUpgB,EAA0BpC,GA6DpCoC,EAAyB3B,UAAUnB,OAAS,WACxC,IAAIgD,EAAoBxD,KAAKyD,wBAAwBzD,KAAKF,MAAMgF,uBAChE,OAAO9E,KAAKF,MAAMW,SAAS,CACvBI,qBAAsBb,KAAKa,qBAC3B2C,kBAAmBA,GAE3B,EACAF,EAAyBzB,aAAe,CACpCrC,kCAAmC,SACnCC,4BAA6B,UAEjC6D,EAAyByB,aAAe,CACpClB,eAAgB,CAAC,GAEdP,CACX,CA7E6C,CA6E3C,aCzEF,EAV0B,SAAUO,GAAkB,OAAO,SAAU7B,GACnE,IAAIgD,EAAsB,cAAiB,SAAUlF,EAAOoC,GAAO,OAAQ,gBAAoB,EAA0B,CAAE2B,eAAgBA,EAAgBiB,sBAAuBhF,IAAS,SAAUqC,GACjM,IAAItB,EAAuBsB,EAAGtB,qBAAsB2C,EAAoBrB,EAAGqB,kBAC3E,OAAQ,gBAAoBxB,GAAkB,IAAA6hB,UAAS,CAAC,EAAG/jB,EAAO0D,EAAmB,CAAE3C,qBAAsBA,EAAsBqB,IAAKA,IAC5I,GAAK,IAIL,OAFA8C,EAAoBzC,YAAc,wBAA0BP,EAAiBO,aACzEP,EAAiBQ,MAAQ,IACtBwC,CACX,CAAG,2HCPQC,EAA8B,MC2C9BC,GD1CoC,MA4C7C,YCFkB,SAAgBhD,EAAKiD,GAEvC,GAAmB,mBAARjD,EACT,OAvCoB,SAAoBkD,GAC1C,GAAkB,mBAAPA,EAAmB,CAC5B,IAAK,IAAIC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGd,EAAKc,EAAO,GAAKZ,UAAUY,GAG7B,OAAOH,EAAGP,WAAM,EAAQJ,EAC1B,CACF,CA+BWe,CAAWtD,EAAKiD,GAET,MAAPjD,IACLA,EAAIuD,QAAUN,EAEpB,GC/CIO,EAAe,CACjBC,SAAU,WACVC,IAAK,EACLC,KAAM,EACNC,QAAS,EACTC,cAAe,QAEbC,EAAoB,CAAC,EACdC,EAEX,SAAUC,GAGR,SAASD,IAGP,IAFA,IAAI7E,EAEKiE,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAwGzB,OArGAnE,EAAQ8E,EAAiB7E,KAAKwD,MAAMqB,EAAkB,CAAClG,MAAMmG,OAAO1B,KAAUzE,MAE9E,QAAgB,OAAuBoB,GAAQ,QAAS,CACtDI,UAAM4E,EACNC,eAAWD,KAGb,QAAgB,OAAuBhF,GAAQ,sBAAkB,IAEjE,QAAgB,OAAuBA,GAAQ,aAAc,OAE7D,QAAgB,OAAuBA,GAAQ,YAAa,OAE5D,QAAgB,OAAuBA,GAAQ,iBAAiB,SAAUkF,GACnEA,GAAclF,EAAMkF,aAAeA,IACxCpB,EAAO9D,EAAMtB,MAAMyG,SAAUD,GAC7BlF,EAAMkF,WAAaA,EAEnBlF,EAAMoF,uBACR,KAEA,QAAgB,OAAuBpF,GAAQ,gBAAgB,SAAUqF,GACvErF,EAAMqF,UAAYA,CACpB,KAEA,QAAgB,OAAuBrF,GAAQ,sBAAuB,CACpEsF,SAAS,EACTC,MAAO,IACPvB,GAAI,SAAY5D,GACd,IAAI6E,EAAY7E,EAAK6E,UAOrB,OALAjF,EAAMwF,SAAS,CACbpF,KAAMA,EACN6E,UAAWA,IAGN7E,CACT,KAGF,QAAgB,OAAuBJ,GAAQ,cAAc,WAC3D,MAAO,CACLiF,UAAWjF,EAAMtB,MAAMuG,UACvBQ,cAAezF,EAAMtB,MAAM+G,cAC3BC,cAAe1F,EAAMtB,MAAMgH,cAC3BC,WAAW,OAAS,CAAC,EAAG3F,EAAMtB,MAAMiH,UAAW,CAC7CC,OAAO,OAAS,CAAC,EAAG5F,EAAMtB,MAAMiH,WAAa3F,EAAMtB,MAAMiH,UAAUC,MAAO,CACxEN,UAAWtF,EAAMqF,UACjBQ,QAAS7F,EAAMqF,YAEjBS,WAAY,CACVR,SAAS,GAEXS,oBAAqB/F,EAAM+F,sBAGjC,KAEA,QAAgB,OAAuB/F,GAAQ,kBAAkB,WAC/D,OAAQA,EAAMkF,YAAelF,EAAMM,MAAMF,MAAsB,OAAS,CACtEmE,SAAUvE,EAAMM,MAAMF,KAAK4F,QAAQC,OAAO1B,UACzCvE,EAAMM,MAAMF,KAAK8F,QAF4B5B,CAGlD,KAEA,QAAgB,OAAuBtE,GAAQ,sBAAsB,WACnE,OAAQA,EAAMM,MAAMF,KAAmBJ,EAAMM,MAAM2E,eAAxBD,CAC7B,KAEA,QAAgB,OAAuBhF,GAAQ,iBAAiB,WAC9D,OAAQA,EAAMqF,WAAcrF,EAAMM,MAAMF,KAA2BJ,EAAMM,MAAMF,KAAK+F,YAArCvB,CACjD,KAEA,QAAgB,OAAuB5E,GAAQ,2BAA2B,WACxE,OAAOA,EAAMM,MAAMF,KAAOJ,EAAMM,MAAMF,KAAKgG,UAAOpB,CACpD,KAEA,QAAgB,OAAuBhF,GAAQ,yBAAyB,WACjEA,EAAMqG,iBAEXrG,EAAMqG,eAAeC,UAErBtG,EAAMqG,eAAiB,KACzB,KAEA,QAAgB,OAAuBrG,GAAQ,wBAAwB,WACrEA,EAAMuG,wBAEN,IACIrB,GADwB,OAAuBlF,GACZkF,WAEnCsB,EAAmBxG,EAAMtB,MAAM8H,iBAC9BA,GAAqBtB,IAC1BlF,EAAMqG,eAAiB,IAAI,IAASG,EAAkBtB,EAAYlF,EAAMyG,cAC1E,KAEA,QAAgB,OAAuBzG,GAAQ,kBAAkB,WAC3DA,EAAMqG,gBACRrG,EAAMqG,eAAeK,gBAEzB,IAEO1G,CACT,EA/GA,OAAe6E,EAAaC,GAiH5B,IAAI6B,EAAS9B,EAAYtE,UA6CzB,OA3CAoG,EAAOC,mBAAqB,SAA4BC,EAAWC,GAE7DlI,KAAKF,MAAMuG,YAAc4B,EAAU5B,WAAarG,KAAKF,MAAM8H,mBAAqBK,EAAUL,kBAAoB5H,KAAKF,MAAMgH,gBAAkBmB,EAAUnB,eAAiB9G,KAAKF,MAAMiH,YAAckB,EAAUlB,UAQ3M/G,KAAKwG,uBACIxG,KAAKF,MAAM+G,gBAAkBoB,EAAUpB,eAAiB7G,KAAKyH,iBACtEzH,KAAKF,MAAM+G,cAAgB7G,KAAKyH,eAAeU,uBAAyBnI,KAAKyH,eAAeW,yBAO1FF,EAAU7B,YAAcrG,KAAK0B,MAAM2E,WACrCrG,KAAK8H,gBAET,EAEAC,EAAOM,qBAAuB,WAC5BnD,EAAOlF,KAAKF,MAAMyG,SAAU,MAC5BvG,KAAK2H,uBACP,EAEAI,EAAOvH,OAAS,WACd,ODjK0C8H,ECiKvBtI,KAAKF,MAAMW,SDhKzB6E,MAAMiD,QAAQD,GAAOA,EAAI,GAAKA,GCgKK,CACtCpG,IAAKlC,KAAKwI,cACVC,MAAOzI,KAAK0I,iBACZrC,UAAWrG,KAAK2I,qBAChBC,gBAAiB5I,KAAK6I,0BACtBf,eAAgB9H,KAAK8H,eACrBgB,WAAY,CACV5G,IAAKlC,KAAK+I,aACVN,MAAOzI,KAAKgJ,mBDzKK,IAAqBV,CC4K5C,EAEOrC,CACT,CAhKA,CAgKE,aAWa,SAAS,EAAOgD,GAC7B,IAAIrB,EAAmBqB,EAAKrB,iBACxB9H,GAAQ,OAA8BmJ,EAAM,CAAC,qBAEjD,OAAO,gBAAoBhE,EAA4BiE,SAAU,MAAM,SAAUC,GAC/E,OAAO,gBAAoBlD,GAAa,OAAS,CAC/C2B,sBAAuCxB,IAArBwB,EAAiCA,EAAmBuB,GACrErJ,GACL,GACF,EAlBA,OAAgBmG,EAAa,eAAgB,CAC3CI,UAAW,SACXQ,eAAe,EACfe,sBAAkBxB,EAClBU,eAAe,IAGA,eCxLjB,MAAMsC,EAAe,CACjBC,KAAM,GACNzD,IAAK,CAAC,MAAO,SAAU,OACvB0D,MAAO,CAAC,QAAS,OAAQ,SACzBC,OAAQ,CAAC,SAAU,MAAO,UAC1B1D,KAAM,CAAC,OAAQ,QAAS,SAGrB,MAAM2D,UAAe,YACxB3J,cACIE,SAAS4E,WACT3E,KAAKyJ,cAAe,cAAWpD,IAJf,IAACqD,EAMb,MAAM3C,EAAY,CACd4C,KAAM,CACFjD,SAAS,EACTkD,UATKF,EAKwBrD,EAAUwD,MAAM,KAAK,GALpCT,EAAaM,IAU3BI,kBAAmB,YAEvBtC,KAAM,CACFd,SAAS,GAEbqD,OAAQ,CACJrD,SAAS,EACTqD,OAAQ/J,KAAKF,MAAMiK,QAEvBC,gBAAiB,CACbtD,SAAS,EACTuD,qBAAqB,EACrBH,kBAAmB,WAG3B,OAAI9J,KAAKF,MAAMiH,UACJ,IAAKA,KAAc/G,KAAKF,MAAMiH,WAElCA,CAAS,GAExB,CACAvG,SACI,MAAM,UAAE6F,EAAS,SAAE5F,EAAQ,iBAAEmH,GAAqB5H,KAAKF,MACjDiH,EAAY/G,KAAKyJ,aAAazJ,KAAKF,MAAMuG,WAC/C,OAAQ,gBAAoB,EAAa1C,OAAOuG,OAAO,CAAEpD,eAAe,EAAMC,UAAWA,EAAWV,UAAWA,GAAcuB,EAAmB,CAAEA,oBAAqB,CAAC,GAAKnH,EACjL,EAEJ+I,EAAOzE,aAAe,CAClBtE,SAAU,IAAM,KAChBsJ,OAAQ,SACR1D,UAAW,gDCjDR,MASMwQ,GAAe,IAAM,EACrBwK,GAAW,IAAM,EACjBwJ,GAAW,IAAM,GAajB,GAAS,CAClBtJ,KAAM,IAAM,IACZC,OAAQ,IAAM,IACdC,WAAY,IAAM,IAClBnW,MAAO,IAAM,IACboW,QAAS,IAAM,IACfC,MAAO,IAAM,IACbC,KAAM,IAAM,IACZC,UAAW,IAAM,IACjBC,QAAS,IAAM,KC7Bb3X,GAAmBC,IACrB,MAAMC,EAAYC,SAASC,cAAc,OAGzC,OAFAF,EAAUG,aAAa,QAAS,mBAChCH,EAAUG,aAAa,QAAS,YAAYJ,MACrCC,CAAS,EAEdI,GAAU,KCTJ,SAAWC,EAAWC,GAChC,IAAID,EAKF,MAAM,IAAIE,MARD,mBAYZ,CDAG,CAAUN,UAAYA,SAASO,MACxBP,SAASO,MAKdC,GAAenH,OAAOC,KAAK,IAAQO,QAAO,CAAC4G,EAAKvI,KAClD,MAAMwI,EAAYxI,EAGlB,OADAuI,EADc,GAAOC,MACRA,EACND,CAAG,GACX,CAAC,GACEE,GAAgBb,GACXzG,OAAOhC,UAAUuJ,eAAe7J,KAAKyJ,GAAcV,GACpDU,GAAaV,GACb,KAwBJe,GAAkB,CAACC,EAAWhB,KAChC,MAAM/J,EAvBO,EAAC+K,EAAWhB,KACzB,MAAMiB,EAAS,CACXC,MAAOL,GAAaM,OAAOnB,IAC3BA,UAGJ,GAA2B,mBAAhBoB,YACP,OAAO,IAAIA,YAAYJ,EAAW,CAC9BC,WAKR,MAAMhL,EAAQiK,SAASmB,YAAY,eAC7BC,EAAS,CACXC,SAAS,EACTC,aAAa,EACbP,UAGJ,OADAhL,EAAMwL,gBAAgBT,EAAWM,EAAOC,QAASD,EAAOE,YAAaF,EAAOL,QACrEhL,CAAK,EAGEyL,CAASV,EAAWhB,GAClC2B,OAAOC,cAAc3L,EAAM,EAEzB4L,GAAkB,KACpB,MAAMC,EAAgB5B,SAAS6B,cAAc,qCAC7C,IAAKD,EAAe,CAChB,MAAME,EAAS9B,SAASC,cAAc,OAItC,OAHA6B,EAAO5B,aAAa,QAAS,6BAC7B4B,EAAO5B,aAAa,QAAS,kBAC7BC,KAAU4B,YAAYD,GACfA,CACX,CACA,OAAOF,CAAa,EAMxB,MAAMI,WAAe,YACjBzM,cACIE,SAAS4E,WACT3E,KAAK0B,MAAQ,CACT2I,UAAW,GAAAkC,UAAYpC,GAAgBnK,KAAKF,MAAMsK,aAAUhE,EAC5DoG,iBAAiB,EAEzB,CACAxE,mBAAmBC,EAAWC,GAC1B,MAAM,UAAEmC,GAAcrK,KAAK0B,OACrB,OAAE0I,GAAWpK,KAAKF,MACxB,GAAIuK,GAAapC,EAAUmC,SAAWA,EAAQ,CAC1C,MAAMqC,EAAetC,GAAgBC,GACrC6B,KAAkBS,aAAarC,EAAWoC,GAE1CzM,KAAK4G,SAAS,CAAEyD,UAAWoC,GAC/B,MACUvE,EAAUmC,WAAaA,GAE7B4B,KAAkBI,YAAYhC,EAEtC,CACAsC,oBACI,MAAM,UAAEtC,GAAcrK,KAAK0B,OACrB,OAAE0I,GAAWpK,KAAKF,MACxB,GAAIuK,EACA4B,KAAkBI,YAAYhC,OAE7B,CAED,MAAMoC,EAAetC,GAAgBC,GAErCpK,KAAK4G,SAAS,CAAEyD,UAAWoC,GAC/B,CAEAzM,KAAK4G,SAAS,CACV4F,iBAAiB,IAErBrB,GE7G0B,gBF6GUI,OAAOnB,GAC/C,CACA/B,uBACI,MAAM,UAAEgC,GAAcrK,KAAK0B,OACrB,OAAE0I,GAAWpK,KAAKF,MACpBuK,IACA4B,KAAkBW,YAAYvC,GAEZC,SAAS6B,cAAc,yDAErC1B,KAAUmC,YAAYX,OAG9Bd,GEzH4B,kBFyHUI,OAAOnB,GACjD,CACA5J,SACI,MAAM,UAAE6J,EAAS,gBAAEmC,GAAoBxM,KAAK0B,MAC5C,OAAO2I,GAAamC,EACd,eAAsBxM,KAAKF,MAAMW,SAAU4J,GAC3C,IACV,EAEJiC,GAAOvH,aAAe,CAClBqF,OAAQ,GAEZ,wCGlIA,MAAMyC,IAAkB,EAAAC,GAAA,GAAO,CAC3BC,MAAO,GAAAqT,KACPpT,KAAM,GAAA+T,MAEJ9T,IAAY,EAAAH,GAAA,GAAO,CACrBC,MAAO,GAAAG,GACPF,KAAM,GAAAyT,QAEGtT,GAAmB,cAAW;aAC9B;;;EAIAC,IAAU,cAAOD,GAAkB;sBAC1BN;mBACHgK;;WAER5J;;;;;;;;;;;IAWP,EAAGI,cAAeA,GAClB;MASkB,cAAW;;0ECxCjC,MAGMC,GAAgBC,IAAY,CAC9BC,WAAY,aAAaD,EAAQE,mDAA8BF,EAAQE,iBACvE3H,QAAS,IAEP4H,GAAmBhM,IACD,CAChBiM,SAAU,CAAC,EACXC,QAAS,CACL9H,QAAS,GAEb+H,QAAS,CACL/H,QAAS,IAGEpE,IAavB,GAPkB,EAAGjB,WAAUqN,kBAAiBC,kBAAiBC,WAAUC,GAAIC,MAC3E,MAAMX,EAAU,CACZE,MAAOM,EAAkB,EAzBV,IA0BfI,KAAML,EAAkB,EAzBV,IA2BlB,OAAQ,gBAAoBM,GAAA,GAAY,CAAEb,QAASA,EAASU,GAAIC,EAAQF,SAAUA,EAAUK,eAAe,EAAMC,QAAQ,IAAS5M,GAAUjB,EAT/H,EAAC8M,EAAS7L,IAAU,KAAM,IACpC4L,GAAaC,MACbG,GAAgBhM,KAOkI6M,CAAShB,EAAS7L,KAAS,EC7BvK8M,GAAiB,CAC1BC,OAAQ,YACRC,cAAe,UACfC,WAAY,CACRC,cAAe,UACfC,YAAW,MACXC,eAAc,QAGTC,GAAmB,CAC5BN,OAAQ,SACRC,cAAe,UACfC,WAAY,CACRC,cAAe,UACfC,YAAW,MACXC,eAAc,QCJhBE,GAAiB,CAAEC,SAAS,EAAMC,SAAS,GACjD,SAASC,GAAiBC,GACtB,MAAMC,EAAYD,GAAoB,CAAExJ,IAAK,EAAGC,KAAM,GAWtD,MAAO,CACHyJ,sBAX0B,KACnB,CACH1J,IAAKyJ,EAAUzJ,IACfC,KAAMwJ,EAAUxJ,KAChB0D,OAAQ8F,EAAUzJ,IAClB0D,MAAO+F,EAAUxJ,KACjB0J,MAAO,EACPC,OAAQ,IAKZC,YAAa,EACbC,aAAc,EAEtB,CACA,IAAIC,GAaJ,MAAM,WAAgB,YAClB9P,cACIE,SAAS4E,WACT3E,KAAK4P,WAAa,KAClB5P,KAAK6P,UAAY,KACjB7P,KAAK8P,sBAAwB,OAC7B9P,KAAK+P,gBAAkB,QACvB/P,KAAK0B,MAAQ,CACToM,iBAAiB,EACjBC,iBAAiB,EACjBiC,WAAW,EACXC,eAAe,GAEnBjQ,KAAKkQ,mBAAqB,KAClBlQ,KAAK0B,MAAMsO,YACXhQ,KAAK8P,wBACL9P,KAAK4G,SAAS,CAAEoJ,WAAW,EAAOlC,iBAAiB,IACvD,EAEJ9N,KAAKmQ,iBAAmB,KAChBnQ,KAAKF,MAAMsQ,qBACXpQ,KAAK8P,wBACL9P,KAAK4G,SAAS,CAAEoJ,WAAW,EAAOlC,iBAAiB,IACvD,EAEJ9N,KAAKqQ,gBAAkB,KACfrQ,KAAKF,MAAMwQ,yBACXtQ,KAAK8P,wBACL9P,KAAK4G,SAAS,CAAEoJ,WAAW,EAAOlC,iBAAiB,IACvD,EAEJ9N,KAAKuQ,gBAAmBC,IAChBA,EAAEC,SAAWzQ,KAAK4P,aAGtB5P,KAAK+P,gBAAkB,QAGlB/P,KAAK0Q,mBACN1Q,KAAK0Q,iBAAmBvB,GAAiB,CACrCtJ,KAAM2K,EAAEG,QACR/K,IAAK4K,EAAEI,WAGf5Q,KAAK6Q,oBAAmB,EAE5B7Q,KAAK8Q,YAAc,KACf9Q,KAAK+P,gBAAkB,WAGlB/P,KAAK0Q,mBACN1Q,KAAK0Q,iBAAmBvB,GAAiB,CACrCtJ,KAAM,EACND,IAAK,KAGb5F,KAAK6Q,mBAAmB,EAE5B7Q,KAAK6Q,kBAAoB,KACrB7Q,KAAK8P,wBACDiB,QAAQ/Q,KAAKF,MAAMkR,WAAahR,KAAK0B,MAAMsO,YAC3ChQ,KAAK8P,sBAzED,EAAC1K,EAAI6L,KACrB,MAAMC,EAAgBvB,IAAeA,GAAYwB,UAKjD,OAJID,GACAvB,GAAYyB,QAEI,KAAU,IAAMhM,EAAG8L,IAAgBA,EAAgB,EAAID,GACxDI,MAAM,EAmEgBC,EAAYvD,IACrC/N,KAAK4G,SAAS,CACVoJ,WAAW,EACXC,eAAe,EACflC,mBACF,GACH/N,KAAKF,MAAMyR,OAAS,GAC3B,EAEJvR,KAAKwR,kBAAqBhB,IA1Ed,IAACpL,EAAI6L,EA2ETT,EAAEC,SAAWzQ,KAAK4P,aAGtB5P,KAAK8P,wBACD9P,KAAK0B,MAAMsO,YACXhQ,KAAK8P,uBAhFA1K,EAgFoC0I,IACrC9N,KAAK4G,SAAS,CAAEoJ,WAAW,EAAOlC,mBAAkB,EAjF/CmD,EAkFNjR,KAAKF,MAAMyR,OAAS,EAjFnC5B,GAAc,KAAU8B,GAAWrM,EAAGqM,IAAUR,GACzCtB,GAAY0B,SAiFX,EAOJrR,KAAK0R,gBAAmBrR,IACfL,KAAK0B,MAAMuO,gBACZjQ,KAAK0Q,iBAAmBvB,GAAiB,CACrCtJ,KAAMxF,EAAMsQ,QACZ/K,IAAKvF,EAAMuQ,UAEnB,CAER,CACAvI,uBACIrI,KAAK8P,wBACL9P,KAAK2R,sBACT,CACA3J,mBAAmB4J,EAAY1J,IACtBA,EAAU8H,WAAahQ,KAAK0B,MAAMsO,WAC/BhQ,KAAKF,MAAM+R,QACX7R,KAAKF,MAAM+R,SACf9F,OAAO+F,iBAAiB,SAAU9R,KAAKkQ,mBAAoBlB,KAEtD9G,EAAU8H,YAAchQ,KAAK0B,MAAMsO,YACpChQ,KAAKF,MAAMiS,QACX/R,KAAKF,MAAMiS,SACf/R,KAAK2R,uBAEb,CACAA,uBACI5F,OAAOiG,oBAAoB,SAAUhS,KAAKkQ,mBAAoBlB,GAClE,CACAiD,iCACI,MAAM,SAAEtM,GAAa3F,KAAKF,MAC1B,MAAoB,UAAb6F,GAAiD,UAAzB3F,KAAK+P,eACxC,CACAvP,SACI,MAAM,SAAEC,EAAQ,SAAEkF,EAAQ,cAAEuM,EAAa,QAAElB,EAAO,SAAE3D,EAAU8E,UAAWC,EAAkBC,IAAKC,EAAe,OAAEC,GAAYvS,KAAKF,OAC5H,UAAEkQ,EAAS,cAAEC,EAAa,gBAAElC,EAAe,gBAAED,GAAqB9N,KAAK0B,MACvE8Q,EAA+B,UAAb7M,EAAuBuM,EAAgBvM,EAC/D,OAEA,gBAAoB,WAAgB,KAChC2M,GAAoB,gBAAoBA,EAAiB,CAAEG,QAASzS,KAAKmQ,iBAAkBuC,YAAa1S,KAAKuQ,gBAAiBoC,WAAY3S,KAAKwR,kBAAmBoB,YAAa5S,KAAK0R,gBAAiBmB,YAAa7S,KAAKqQ,gBAAiByC,QAAS9S,KAAK8Q,YAAaiC,OAAQ/S,KAAKwR,kBAAmBtP,IAAM0N,IACjS5P,KAAK4P,WAAaA,CAAU,GAEhC,gBAAoB,IAAc,CAAErJ,SAAWrE,IACvClC,KAAK6P,UAAY3N,CAAG,GACnB,gBAAoBzB,KACjCwP,GAAiBjQ,KAAK6P,WAAa7P,KAAK0Q,iBAAoB,gBAAoB,GAAQ,CAAEtG,OAAQ,cAC9F,gBAAoBZ,EAAQ,CAAEnD,UAAWmM,EAAiB5K,iBAGrD5H,KAAKiS,iCACAjS,KAAK0Q,iBACL1Q,KAAK6P,YAAc,EAAG3N,MAAKuG,WAAY2J,GAAqB,gBAAoB,GAAW,CAAErE,gBAAiBA,EAAiBD,gBAAiBA,EAAiBE,SAAU,IAAMhO,KAAK4G,SAAS,CAAEqJ,eAAe,IAAUhC,GAAI+B,IAAagD,GAAuB,gBAAoBZ,EAE9R,CAEE7L,SAAUrE,QAAOkE,EAAW6M,UAAW,UAAWxK,MAAO,IAClDuK,OACAvK,GACJ4E,SAAUA,IAAY,EAAO,iBAAkBmF,EAAiB,cAAeD,GAAUvB,QAAiB,KAG7H,EAEJ,GAAQjM,aAAe,CACnBoN,UAAW,GACXZ,MAAO,IACPW,cAAe,SACfvM,SAAU,SACV0M,IAAK,OAGT,MAAMa,GAA+B,EAAmB,YACxD,GAAe,EAAqB,CAChCtE,cAAe,UACfC,YAAW,MACXC,eAAc,OAHlB,CAIG,EAAoB,CACnBiD,OAAQhD,GACR8C,OAAQqB,GAA6B,IAAK1E,MAF3C,CAGA,KC1MI,SAAS81B,GAASl/B,EAAIm/B,GACzB,OAAQzkC,GAAUsF,EAAGtF,GAASykC,CAClC,CACO,SAASC,GAAOp/B,EAAIq/B,GACvB,OAAQ3kC,GAAUsF,EAAGtF,GAAS2kC,CAClC,CCPA,IAAIC,IAAwB,EAAA53B,GAAA,GAAO,CACjCC,MAAO6M,GAAOgG,IACd5S,KAAM4M,GAAOkH,OAEX6jB,IAAuB,EAAA73B,GAAA,GAAO,CAChCC,MAAO6M,GAAOqV,IACdjiB,KAAM4M,GAAOuU,OAEXyW,IAA0B,EAAA93B,GAAA,GAAO,CACnCC,MAAO6M,GAAO1M,GACdF,KAAM4M,GAAOkH,OAEX+jB,IAAyB,EAAA/3B,GAAA,GAAO,CAClCC,MAAO6M,GAAOwG,KACdpT,KAAM4M,GAAO+G,QAEXmkB,IAA0B,EAAAh4B,GAAA,GAAO,CACnCC,MAAO6M,GAAOwG,KACdpT,KAAM4M,GAAO6G,QAEXskB,IAA2B,EAAAj4B,GAAA,GAAO,CACpCC,MAAO6M,GAAO0V,IACdtiB,KAAM4M,GAAOkU,OAEXkX,IAA0B,EAAAl4B,GAAA,GAAO,CACnCC,MAAO6M,GAAOmG,KACd/S,KAAM4M,GAAOmG,OAEXklB,IAA2B,EAAAn4B,GAAA,GAAO,CACpCC,MAAO6M,GAAOwG,KACdpT,KAAM4M,GAAOwG,OAEX8kB,IAAgB,KAAAtvB,KAAI,CAAC,6BAA8B,uLAAuL,EAAA9I,GAAA,GAAO,CACnPC,MAAO6M,GAAOiG,KACd7S,KAAM4M,GAAOgG,OAEXulB,IAAe,KAAAvvB,KAAI,CAAC,8CAA+C,iBAAkB,YAAagvB,GAAyBK,IAC3HG,IAAgB,KAAAxvB,KAAI,CAAC,cAAe,OAAQovB,IAE5CK,GAAe,SAAsBvlC,GACvC,OAAO,KAAA8V,KAAI,CAAC,iEAAkE,gBAAiB,iBAAkB,yCAA0C,6CAA8C,uEAAwE,iBAAkB,wCAAyC,+CAAgD,iBAAkB,YAAa,4BAA6B,eAAgB,IAAK,IAAK,OAAQ9V,EAAM2V,WAAasvB,GAA2BD,GAAyBhlC,EAAM2V,WAAa,cAAgB,UAAW3V,EAAMwlC,SAAW,OAAS,OAAQza,GAAUyZ,GAASjjB,GAAU,MAAOvhB,EAAM2V,YAAckvB,GAAsB7kC,EAAM2V,WAAasvB,GAA2BD,GAAyBhlC,EAAMylC,WAAaH,IAAgBtlC,EAAM2V,YAAcivB,IAAwB5kC,EAAM2V,YAAcovB,GAAwB/kC,EAAMylC,WAAaH,GAAeF,GAAeplC,EAAMm/B,WAAaiG,GAAeplC,EAAMwV,UAAY6vB,GAAcrlC,EAAMylC,WAAaH,GACzgC,EAEWI,GAAS,wBAAoB,CACtCjjC,YAAa,eACbkjC,YAAa,YAFK,CAGjB,CAAC,OAAQ,QAAQ,SAAU3lC,GAC5B,OAAOulC,GAAavlC,EACtB,IACW4lC,GAAO,2BAAuB,CACvCnjC,YAAa,aACbkjC,YAAa,YAFG,CAGf,CAAC,OAAQ,QAAQ,SAAU3lC,GAC5B,OAAOulC,GAAavlC,EACtB,IAEW6lC,GAAe,2BAAuB,CAC/CpjC,YAAa,qBACbkjC,YAAa,YAFW,CAGvB,CAAC,2CAEOG,GAAS,2BAAuB,CACzCrjC,YAAa,eACbkjC,YAAa,YAFK,CAGjB,CAAC,yBACOI,GAAQ,2BAAuB,CACxCtjC,YAAa,cACbkjC,YAAa,YAFI,CAGhB,CAAC,iDAEOK,GAAiB,2BAAuB,CACjDvjC,YAAa,uBACbkjC,YAAa,YAFa,CAGzB,CAAC,8DAA+D,mBAAoB,0EAA2EpkB,GAAUA,IACjK2O,GAAU,2BAAuB,CAC1CztB,YAAa,gBACbkjC,YAAa,YAFM,CAGlB,CAAC,mGAAoG,QAAQ,SAAU3lC,GACxH,OAAOA,EAAMimC,iBAAkB,KAAAnwB,KAAI,CAAC,sCACtC,IAEWowB,GAAc,2BAAuB,CAC9CzjC,YAAa,oBACbkjC,YAAa,YAFU,CAGtB,CAAC,cAAe,oFAAqF,SAAU7rB,GAAOqc,WAAYuO,GAAOnjB,GAAU,ICxF/I,SAAS4kB,GAAmBh9B,GACjC,IAAIo2B,EAAYp2B,EAAKo2B,UACjB5pB,EAAaxM,EAAKwM,WAClBiqB,EAAYz2B,EAAKy2B,UACjBwG,EAAYj9B,EAAKi9B,UACjBjlB,EAAarH,GAAOoG,IAMxB,OALI0f,IAAWze,EAAarH,GAAOqG,KAC/BimB,IAAWjlB,EAAarH,GAAOkG,MAC/Buf,IAAWpe,EAAarH,GAAOmG,MAC/BtK,IAAYwL,EAAarH,GAAOqV,KAChCoQ,GAAa5pB,IAAYwL,EAAarH,GAAO4Z,MAC1CvS,CACT,CACO,SAASklB,GAAaC,GAC3B,OAAOA,EAAgB/G,UAAYzlB,GAAO1M,GAAK,aACjD,CD2E2B,2BAAuB,CAChD3K,YAAa,sBACbkjC,YAAa,YAFY,CAGxB,CAAC,cAAe,OAAQ7rB,GAAOqc,6EEjF3B,IAAIoQ,GAAoB,WAC7B,MAAO,WAAW/Y,KAAKiD,UAAUC,UACnC,EAcI8V,GAEJ,SAAUC,GAGR,SAASD,IACP,IAAIE,EAEAplC,GAEJ,OAAgBpB,KAAMsmC,GAEtB,IAAK,IAAIjhC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAWzB,OARAnE,GAAQ,OAA2BpB,MAAOwmC,GAAmB,OAAgBF,IAAUjlC,KAAKwD,MAAM2hC,EAAkB,CAACxmC,MAAMmG,OAAO1B,MAElI,QAAgB,OAAuBrD,GAAQ,mBAAmB,SAAUoP,GAC1EA,EAAEyX,iBAEF7mB,EAAMtB,MAAMuQ,iBACd,IAEOjP,CACT,CA+DA,OArFA,OAAUklC,EAASC,IAwBnB,OAAaD,EAAS,CAAC,CACrB9pB,IAAK,SACL9b,MAAO,WACL,IAAIZ,EAAQE,KAAKF,MACbwV,EAAWxV,EAAMwV,SACjB+pB,EAAYv/B,EAAMu/B,UAClB5pB,EAAa3V,EAAM2V,WACnBwpB,EAAYn/B,EAAMm/B,UAClBqG,EAAWxlC,EAAMwlC,SACjB5vB,EAAa5V,EAAM4V,WACnB6vB,EAAYzlC,EAAMylC,UAClB1b,EAAO7pB,KAAKF,MAAM+pB,MAAQ,GAC1Buc,EAAkB,CACpB9wB,SAAUA,EACV+pB,UAAWA,EACX5pB,WAAYA,EACZwpB,UAAWA,EACXqG,SAAUA,EACV5vB,WAAYA,EACZ6vB,UAAWA,GAETkB,EAAY,CACd,iBAAkBpH,EAClB,kBAAmB5pB,EACnB,gBAAiB6vB,EACjB,kBAAmB5vB,GAEjBgxB,EAlED,CACLvE,SAAUkE,KAAsB,WAAa,mBAC7CrX,KAAM,WACN2X,OAAQ,SACRC,MAAOP,KAAsB,QAAU,iBA+DjCQ,EAAc,CAChB,YAAa,eACbp0B,QAAS3S,EAAMgnC,YACfC,WAAYjnC,EAAMknC,eAClBn0B,YAAa7S,KAAKqQ,gBAClBsC,WAAY7S,EAAMmnC,eAClBv0B,YAAa5S,EAAMyQ,gBACnB2M,UAAWpd,EAAMonC,cACjB3vB,KAAMmvB,EAAU7c,GAChB9R,MAAOjY,EAAMiY,MACboF,SAAyB,WAAfrd,EAAM+pB,KAAoB,KAAO,GAUzCsd,GAAoB,OAAc,CAAC,EAAGf,EAAiBK,EAAWI,EAFlE,CAAC,GAIL,OAAI/mC,EAAM+U,OAASY,EACV,gBAAoB+vB,IAAQ,OAAS,CAC1C3wB,KAAM/U,EAAM+U,KACZpE,OAAQ3Q,EAAM2Q,QACb02B,GAAoBrnC,EAAMW,UAGxB,gBAAoBilC,GAAMyB,EAAmBrnC,EAAMW,SAC5D,KAGK6lC,CACT,CAvFA,CAuFE,EAAAjtB,eClGE+tB,GAAa,CACfjF,SAAU,IACVyE,MAAO,KAGLS,GAEJ,SAAUd,GAGR,SAASc,IACP,IAAIb,EAEAplC,GAEJ,OAAgBpB,KAAMqnC,GAEtB,IAAK,IAAIhiC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GA6DzB,OA1DAnE,GAAQ,OAA2BpB,MAAOwmC,GAAmB,OAAgBa,IAAOhmC,KAAKwD,MAAM2hC,EAAkB,CAACxmC,MAAMmG,OAAO1B,MAE/H,QAAgB,OAAuBrD,GAAQ,QAAS,CACtDs+B,WAAW,EACXwG,WAAW,KAGb,QAAgB,OAAuB9kC,GAAQ,qBAAqB,WAClE,OAAOkJ,SAASwH,iBAAiB,UAAW1Q,EAAM8lC,cACpD,KAEA,QAAgB,OAAuB9lC,GAAQ,wBAAwB,WACrE,OAAOkJ,SAAS0H,oBAAoB,UAAW5Q,EAAM8lC,cACvD,KAEA,QAAgB,OAAuB9lC,GAAQ,mBAAmB,SAAUf,GAC1E,IAAIinC,EAAclmC,EAAMtB,MACpB2V,EAAa6xB,EAAY7xB,WACzB8xB,EAAaD,EAAYC,YACxB9xB,GAAc8xB,GAAYA,EAAW,CACxCnsB,MAAM,OAAuBha,GAC7Bf,MAAOA,GAEX,KAEA,QAAgB,OAAuBe,GAAQ,eAAe,SAAUf,GACtE,OAAOe,EAAMomC,gBAAgBnnC,EAC/B,KAEA,QAAgB,OAAuBe,GAAQ,kBAAkB,SAAUf,GACxD,CAAC,QAAS,KAAKmb,QAAQnb,EAAMmc,MAAQ,GACtCpb,EAAMomC,gBAAgBnnC,EACxC,KAEA,QAAgB,OAAuBe,GAAQ,mBAAmB,WAChE,OAAOA,EAAMwF,SAAS,CACpBs/B,WAAW,GAEf,KAEA,QAAgB,OAAuB9kC,GAAQ,iBAAiB,WAC9D,OAAOA,EAAMwF,SAAS,CACpBs/B,WAAW,GAEf,KAEA,QAAgB,OAAuB9kC,GAAQ,kBAAkB,WAC/D,OAAOA,EAAMwF,SAAS,CACpB84B,WAAW,GAEf,KAEA,QAAgB,OAAuBt+B,GAAQ,mBAAmB,WAChE,OAAOA,EAAMwF,SAAS,CACpB84B,WAAW,GAEf,IAEOt+B,CACT,CAmDA,OA3HA,OAAUimC,EAAMd,IA0EhB,OAAac,EAAM,CAAC,CAClB7qB,IAAK,SACL9b,MAAO,WACL,IAAIZ,EAAQE,KAAKF,MACb2nC,EAAcznC,KAAK0B,MACnBg+B,EAAY+H,EAAY/H,UACxBwG,EAAYuB,EAAYvB,UACxBrc,EAAO/pB,EAAM+pB,MAAQ,GACrB6d,EAAW,CAAC,WAAY,SAASlsB,QAAQqO,IAAS,EAClD8d,EAAQP,GAAWvd,GACnBuc,EAAkB,CACpB9wB,SAAyB,SAAfxV,EAAM+pB,MAAmB/pB,EAAMwV,UAA2B,WAAfxV,EAAM+pB,MAAqB/pB,EAAM4V,WACtF2pB,UAAW,CAAC,WAAY,SAAS7jB,QAAQqO,IAAS,GAAK/pB,EAAMu/B,UAC7D5pB,WAAY3V,EAAM2V,WAClBwpB,UAAWn/B,EAAMm/B,UACjBqG,SAAUxlC,EAAMwlC,SAChB5F,UAAWA,EACXwG,UAAWA,EACXxwB,WAAqB,WAATmU,GAAqB/pB,EAAM4V,WACvC6vB,UAAgC,YAArBzlC,EAAM0U,YAEfvN,EAAU,gBAAoBq/B,IAAS,OAAS,CAAC,EAAGF,EAAiB,CACvEU,YAAa9mC,KAAK8mC,YAClBE,eAAgBhnC,KAAKgnC,eACrBC,eAAgBjnC,KAAKinC,eACrB12B,gBAAiBvQ,KAAKuQ,gBACtB22B,cAAelnC,KAAKknC,cACpB72B,gBAAiBrQ,KAAKqQ,gBACtBwE,KAAM/U,EAAM+U,KACZpE,OAAQ3Q,EAAM2Q,OACdsH,MAAOjY,EAAMiY,MACb8R,KAAM/pB,EAAM+pB,OACV6d,GAAY,gBAAoB/B,GAAcS,EAAiB,gBAAoBuB,EAAO,CAC5FrwB,MAAO,GACP4pB,aAAc+E,GAAmBG,GACjCjF,eAAgBgF,GAAaC,GAC7B7xB,KAAM,cACDzU,EAAM8nC,YAAc,gBAAoBhC,GAAQ,KAAM9lC,EAAM8nC,YAAa,gBAAoB9B,GAAgB,KAAM,gBAAoB9V,GAAS,CACrJ+V,eAAgB/lC,KAAKI,QAAQynC,2BAC5B/nC,EAAMW,YAAaX,EAAMgoC,aAAe,gBAAoB9B,GAAa,KAAMlmC,EAAMgoC,gBAAiBhoC,EAAMioC,WAAa,gBAAoBlC,GAAO,KAAM/lC,EAAMioC,YACnK,OAAO,gBAAoB,OAAQ,CACjCxwB,KAAM,gBACLzX,EAAMkoC,mBAAqB,gBAAoB,GAAS,CACzDh3B,QAASlR,EAAMkoC,mBACfriC,SAAU7F,EAAM0S,iBACfvL,GAAWA,EAChB,KAGKogC,CACT,CA7HA,CA6HE,EAAAhuB,gBAEF,OAAgBguB,GAAM,eAAgB,CACpC7yB,WAAY,UACZ/T,SAAU,KACVqnC,YAAa,GACbC,UAAW,KACXH,WAAY,KACZ/yB,KAAM,KACNS,UAAU,EACV+pB,WAAW,EACX5pB,YAAY,EACZwpB,WAAW,EACXqG,UAAU,EACV5vB,YAAY,EACZuyB,YAAa,OACbV,WAAY,WAAuB,EACnC92B,OAAQ,KACRsH,MAAO,KACPiwB,mBAAoB,KACpBx1B,gBAAiB,QACjBqX,KAAM,UAGR,OAAgBwd,GAAM,eAAgB,CACpCQ,0BAA2B,WAI7B,IAAI,GAA+B,EAAmB,YACtD,SAAe,EAAqB,CAClCj5B,cAAe,eACfC,YAAa,MACbC,eAAgB,OAHlB,CAIG,EAAoB,CACrBy4B,WAAY,GAA6B,CACvC94B,OAAQ,WACRC,cAAe,eACfC,WAAY,CACVC,cAAe,eACfC,YAAa,MACbC,eAAgB,UAPnB,CAUAu4B,KC/LH,GAAe,0BAAsB,CACnC9kC,YAAa,QACbkjC,YAAa,gBAFf,CAGG,CAAC,iEAAkE,uDAAwDpkB,IACvH,IAAI6mB,GAAU,0BAAsB,CACzC3lC,YAAa,iBACbkjC,YAAa,gBAFM,CAGlB,CAAC,wCAAyC,mIAAoI,MAAO,UAAU,EAAA34B,GAAA,GAAO,CACvMC,MAAO,GAAAwmB,KACPvmB,KAAM,GAAA2T,QACJU,GAAUijB,GAASjjB,GAAU,MACtB8mB,GAAe,0BAAsB,CAC9C5lC,YAAa,sBACbkjC,YAAa,gBAFW,CAGvB,CAAC,0BACO2C,GAAc,0BAAsB,CAC7C7lC,YAAa,qBACbkjC,YAAa,gBAFU,CAGtB,CAAC,4ECXA4C,GAEJ,SAAU9B,GAGR,SAAS8B,IACP,IAAI7B,EAEAplC,GAEJ,OAAgBpB,KAAMqoC,GAEtB,IAAK,IAAIhjC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAkCzB,OA/BAnE,GAAQ,OAA2BpB,MAAOwmC,GAAmB,OAAgB6B,IAAgBhnC,KAAKwD,MAAM2hC,EAAkB,CAACxmC,MAAMmG,OAAO1B,MAExI,QAAgB,OAAuBrD,GAAQ,QAAS,CACtDknC,UAAWlnC,EAAMtB,MAAMq2B,WAGzB,QAAgB,OAAuB/0B,GAAQ,qBAAqB,YAC9DA,EAAMtB,MAAMq2B,SAAW/0B,EAAMtB,MAAMioC,YACrC3mC,EAAMwF,SAAS,CACb0hC,UAAWlnC,EAAMmnC,gBAGvB,KAEA,QAAgB,OAAuBnnC,GAAQ,sBAAsB,YAC/DA,EAAMtB,MAAMq2B,SAAW/0B,EAAMtB,MAAMioC,YAErC3mC,EAAMwF,SAAS,CACb0hC,UAAWlnC,EAAMmnC,gBAGvB,KAEA,QAAgB,OAAuBnnC,GAAQ,gBAAgB,WAC7D,IAAIkmC,EAAclmC,EAAMtB,MACpBioC,EAAYT,EAAYS,UACxB5R,EAAUmR,EAAYnR,QACtBqS,EAAYT,GAAkC,iBAAdA,EAAyBA,EAAY3mC,EAAMqnC,gBAAkBrnC,EAAMqnC,eAAeC,YACtH,MAAO,GAAGviC,OAAOgwB,GAAW,GAAI,KAAKhwB,OAAOqiC,GAAa,GAC3D,IAEOpnC,CACT,CA0BA,OAvEA,OAAUinC,EAAe9B,IA+CzB,OAAa8B,EAAe,CAAC,CAC3B7rB,IAAK,SACL9b,MAAO,WACL,IAAIioC,EAAS3oC,KAET4oC,EAAe5oC,KAAKF,MACpBW,EAAWmoC,EAAanoC,SACxBsnC,EAAYa,EAAab,UACzB5R,EAAUyS,EAAazS,QACvBmS,EAAYtoC,KAAK0B,MAAM4mC,UAC3B,OAAO,gBAAoBO,GAAO,CAChC,aAAcP,EACd/wB,KAAM,SACL4e,EAAU,gBAAoB+R,GAAS,CACxC,cAAe,OACf,YAAa,wBACZ,gBAAoBE,GAAa,KAAMjS,GAAU4R,EAAY,gBAAoBI,GAAc,CAChG5hC,SAAU,SAAkB8R,GAC1BswB,EAAOF,eAAiBpwB,CAC1B,GACC0vB,GAAa,MAAQ,KAAMtnC,EAChC,KAGK4nC,CACT,CAzEA,CAyEE,EAAAhvB,eAEFgvB,GAAc9lC,YAAc,QAC5B,mDCvFI4jB,GAAU,0BAAsB,CAClC5jB,YAAa,uBACbkjC,YAAa,gBAFD,CAGX,CAAC,yGACW,SAASqD,KACtB,OAAO,gBAAoB3iB,GAAS,KAAM,gBAAoB,MAAY,MAC5E,CCTA,IAAI4iB,GAAc,CAChB,WAAY,CACVpjC,SAAU,YACVqjC,UAAW,OAEb,aAAc,CACZrjC,SAAU,MACVqjC,UAAW,OAEb,YAAa,CACXrjC,SAAU,UACVqjC,UAAW,OAEb,YAAa,CACXrjC,SAAU,cACVqjC,UAAW,SAEb,eAAgB,CACdrjC,SAAU,QACVqjC,UAAW,SAEb,eAAgB,CACdrjC,SAAU,YACVqjC,UAAW,SAEb,cAAe,CACbrjC,SAAU,eACVqjC,UAAW,UAEb,gBAAiB,CACfrjC,SAAU,SACVqjC,UAAW,UAEb,eAAgB,CACdrjC,SAAU,aACVqjC,UAAW,UAEb,WAAY,CACVrjC,SAAU,aACVqjC,UAAW,QAEb,cAAe,CACbrjC,SAAU,OACVqjC,UAAW,QAEb,cAAe,CACbrjC,SAAU,WACVqjC,UAAW,SC9Cf,SAAe,0BAAsB,CACnCzmC,YAAa,yBACbkjC,YAAa,YAFf,CAGG,CAAC,4CAA6C,aAAa,SAAUx8B,GACtE,IAAIu6B,EAAYv6B,EAAKu6B,UACrB,OAAOA,EAAY,eAAer9B,OAAOq9B,EAAW,MAAQ,EAC9D,ICeA,IAAIyF,GAAc,0BAAsB,CACtC1mC,YAAa,qBACbkjC,YAAa,YAFG,CAGf,CAAC,OAAQ,QAAQ,SAAUx8B,GAC5B,IAAIigC,EAAcjgC,EAAKigC,YACnBr5B,EAAY5G,EAAK4G,UAErB,GAAIq5B,GAAer5B,EAAW,CAC5B,IACIs5B,EADet5B,EAAUu5B,WACL95B,wBACxB,MAAO,4CAA4CnJ,OAAO+iC,EAAYtjC,IAAK,uBAAuBO,OAAO+iC,EAAYrjC,KAAM,yBAAyBM,OAAOgjC,EAAK35B,OAAQ,wBAAwBrJ,OAAOgjC,EAAK55B,MAAO,oCACrN,CAEA,MAAO,gBACT,IAOI85B,GAEJ,SAAUC,GAIR,SAASD,EAAMvpC,GACb,IAAIsB,EAgEJ,OA9DA,OAAgBpB,KAAMqpC,GAEtBjoC,GAAQ,OAA2BpB,MAAM,OAAgBqpC,GAAOhoC,KAAKrB,KAAMF,KAE3E,QAAgB,OAAuBsB,GAAQ,cAAU,IAEzD,QAAgB,OAAuBA,GAAQ,iBAAa,IAE5D,QAAgB,OAAuBA,GAAQ,kBAAc,IAE7D,QAAgB,OAAuBA,GAAQ,gBAAY,IAE3D,QAAgB,OAAuBA,GAAQ,iBAAiB,SAAUM,GACxE,GAAIA,EAAO,CACT,IAAI6nC,EAAe7nC,EAAM0F,QAAQC,OAAOmI,OACpC3J,EAAO2jC,KAAKC,MAAM/nC,EAAM0F,QAAQC,OAAOxB,MAEvC6jC,EAAyD,YAA3C,QAAQhoC,EAAM0F,QAAQC,OAAO1B,UAAyBjE,EAAM0F,QAAQC,OAAO1B,SAASA,SAAWjE,EAAM0F,QAAQC,OAAO1B,SAElIC,EAAMxE,EAAMuoC,wBAAwBjoC,EAAM0F,QAAQC,OAAOzB,IAAK8jC,GAE9DE,EAAiBxoC,EAAMM,MAAMkoC,gBAAkBL,EAE/C/F,EAAYpiC,EAAMyoC,mBAAmBD,EAAgBL,EAAc3jC,EAAK8jC,GAE5EtoC,EAAMwF,SAAS,CAEb8iC,YAAaA,EACbI,oBAAoB,EACpB10B,UAAW,eAAejP,OAAON,EAAM,QAAQM,OAAOP,EAAK,YAE3DmkC,UAAWroC,EAAMqoC,QACjBC,eAAgBtoC,EAAMiE,SACtBskC,iBAAkBvoC,EAAMuoC,iBACxBL,eAAgBA,EAChBpG,UAAWA,GAEf,CACF,IAEApiC,EAAMM,MAAQ,CACZooC,oBAAoB,EACpBnkC,SAAU,KACVyP,UAAW,KACX20B,SAAS,EACTC,eAAgB,KAGhB5iC,QAAS,CACPC,OAAQ,CACNxB,MAAO,KACPD,KAAM,OAGVqkC,iBAAkB,KAElBP,YAAa,WACbE,eAAgB,KAChBpG,UAAW,KACX0F,YAAa,MAEf9nC,EAAM8oC,eAAgB,QAAY9oC,EAAM8oC,cAAclJ,MAAK,OAAuB5/B,KAC3EA,CACT,CAuNA,OA5RA,OAAUioC,EAAOC,IAuEjB,OAAaD,EAAO,CAAC,CACnB7sB,IAAK,oBACL9b,MAAO,WACLV,KAAKmqC,YAAYnqC,KAAKF,OACtBE,KAAKoqC,qBAAqBpqC,KAAKF,MACjC,GACC,CACD0c,IAAK,mCACL9b,MAAO,SAA0C2pC,GAC/CrqC,KAAKmqC,YAAYE,GACjBrqC,KAAKoqC,qBAAqBC,EAC5B,GACC,CACD7tB,IAAK,qBACL9b,MAAO,SAA4BuH,EAAWC,GAC5C,IAAIo/B,EAActnC,KAAKF,MACnBwqC,EAAkBhD,EAAYgD,gBAC9BC,EAAejD,EAAYiD,aAC3B9C,EAAcznC,KAAK0B,MACnBqoC,EAAUtC,EAAYsC,QACtBC,EAAiBvC,EAAYuC,eAC7BC,EAAmBxC,EAAYwC,iBAC/BH,EAAqBrC,EAAYqC,mBAEjC5hC,EAAU6hC,UAAYA,GAAWO,GACnCA,EAAgB,CACdP,QAASA,EACTC,eAAgBA,EAChBC,iBAAkBA,KAKjB/hC,EAAU4hC,oBAAsBA,GAAsBS,GACzDA,GAEJ,GACC,CACD/tB,IAAK,uBACL9b,MAAO,WACLV,KAAKkqC,cAAc74B,SAEfrR,KAAKqH,QACPrH,KAAKqH,OAAOK,SAEhB,GAMC,CACD8U,IAAK,qBACL9b,MAAO,SAA4BkpC,EAAgBY,EAAeC,EAAaf,GAC7E,IAAIgB,EAA8B,EAMlC,GAJIpgC,SAASqgC,kBACXD,EAA8BpgC,SAASqgC,gBAAgBj7B,cAGrC,UAAhBg6B,GAA4D,aAAjC1pC,KAAKF,MAAMgK,kBACxC,OAAO,KAGT,IAAI8gC,EAAiBpB,KAAKqB,IAAIH,EAA6B3+B,OAAO++B,aAAe,GACjF,OAAOF,EAAiBhB,GAAkBY,EAAgBC,GAAeG,EAAiB,GAC1FA,EAAiB,GAAK,IACxB,GAMC,CACDpuB,IAAK,uBACL9b,MAAO,SAA8BZ,GACnC,IAAIirC,EAAgBjrC,EAAMirC,cAE1B,GAAIA,GAAiB/qC,KAAK6P,UAAW,CACnC,IAAIm7B,EAAehrC,KAAK6P,UAAUu5B,WAClCppC,KAAK4G,SAAS,CACZsiC,YAAa,CACXtjC,IAAKolC,EAAa17B,wBAAwB1J,IAC1CC,KAAMmlC,EAAa17B,wBAAwBzJ,OAGjD,MAAYklC,GAA4C,OAA3B/qC,KAAK0B,MAAMwnC,aACtClpC,KAAK4G,SAAS,CACZsiC,YAAa,MAGnB,GAUC,CACD1sB,IAAK,0BACL9b,MAAO,SAAiCuqC,EAAWvB,GACjD,OAAOuB,GAAa,GAAqB,UAAhBvB,EAA0BF,KAAKC,MAAMwB,GAAa,CAC7E,GACC,CACDzuB,IAAK,cACL9b,MAAO,SAAqBZ,GAC1B,GAAKE,KAAKkrC,UAAalrC,KAAK6P,WAAc7P,KAAKmrC,aAI3CnrC,KAAKqH,QACPrH,KAAKqH,OAAOK,UAMT5H,EAAMkR,SAAX,CAMA,IAAIg6B,EAAelrC,EAAMirC,cAAgB/qC,KAAKkrC,SAAWlrC,KAAK6P,UAAUu5B,WACpEgC,EAAa,CACf/kC,WFnLqCV,EEmLG7F,EAAM6F,SF9LtD,SAA0BA,GACxB,OAAOA,GAAYojC,GAAYpjC,GAAYojC,GAAYpjC,GAAUA,SAAW,IAC9E,CAUS0lC,CAAiB1lC,IAAaojC,GAf5B,gBAeyEpjC,UEmL5E2lC,SAAUtrC,KAAKkqC,cACfqB,SAAUvrC,KAAKkqC,cACfnjC,UAAW,CACTG,WAAY,CACVR,SAAS,GAEXc,KAAM,CACJd,SAAS,GAEXqD,OAAQ,CACNrD,SAAS,EACTqD,OAAQ/J,KAAKF,MAAMiK,QAErBJ,KAAM,CACJjD,UAAW1G,KAAKF,MAAM0rC,SACtBC,gBAAgB,EAChB3hC,kBAAmB9J,KAAKF,MAAMgK,kBAC9BgjB,QAAS,GAGX9iB,gBAAiB,CACftD,UAAW1G,KAAKF,MAAM0rC,SACtBvhC,sBAAwD,iBAAjCjK,KAAKF,MAAMgK,qBAGtChD,cAAehH,EAAMirC,eAEnBW,EFlNH,SAAyB5rC,GAC9B,OAAOA,EAAM6F,UAAYL,MAAMiD,QAAQzI,EAAM0rC,UAAY,CAAC1rC,EAAM6F,SAASkE,MAAM,KAAK,IAAI1D,OAAOrG,EAAM0rC,UAAY,IACnH,CEgNyB,CAAgB1rC,GAE/B4rC,IACFN,EAAWrkC,UAAU4C,KAAKC,SAAW8hC,GAGvC1rC,KAAKqH,OAAS,IAAI,IAAO2jC,EAAchrC,KAAKmrC,WAAYC,EAxCxD,CF7KC,IAAsCzlC,CEsNzC,GACC,CACD6W,IAAK,SACL9b,MAAO,WACL,IAAIioC,EAAS3oC,KAET4oC,EAAe5oC,KAAKF,MACpBsK,EAASw+B,EAAax+B,OACtBuhC,EAAa/C,EAAa+C,WAC1BC,EAAe5rC,KAAK0B,MACpBgoC,EAAckC,EAAalC,YAC3Bt0B,EAAYw2B,EAAax2B,UACzB00B,EAAqB8B,EAAa9B,mBAClCtG,EAAYoI,EAAapI,UACzB0F,EAAc0C,EAAa1C,YAC3BpjC,EAAUgkC,EAAqB,CAAC,EAAI,CACtChkC,QAAS,GAEX,OAAO,gBAAoB,MAAO,KAAM,gBAAoB,MAAO,CACjE5D,IAAK,SAAa2pC,GAChBlD,EAAO94B,UAAYg8B,CACrB,GACC7rC,KAAKF,MAAMW,UAAW,gBAAoBwoC,GAAa,CACxDp5B,UAAW7P,KAAK6P,UAChBq5B,YAAaA,GACZ,gBAAoB,MAAO,CAC5BzgC,MAAO,CACL+G,OAAQ,OACRD,MAAO,QAETrN,IAAK,SAAa4pC,GAChBnD,EAAOuC,SAAWY,CACpB,KACGH,GAAc,gBAAoB7C,GAAa,MAAO,gBAAoB,GAAkB,CAC/FtF,UAAWA,GACV,gBAAoB,MAAO,CAC5BthC,IAAK,SAAa6pC,GAChBpD,EAAOwC,WAAaY,CACtB,EACAtjC,OAAO,OAAc,CACnB7C,IAAK,EACLC,KAAM,EACNF,SAAU+jC,EACVt0B,UAAWA,EACXhL,OAAQA,GACPtE,IACF9F,KAAKF,MAAMkR,UAChB,KAGKq4B,CACT,CA9RA,CA8RE,EAAAzpC,YAEF,OAAgBypC,GAAO,eAAgB,CACrCmC,UAAU,EACV1hC,kBAAmB,WACnBrJ,SAAU,KACVuQ,QAAS,KACTjH,OAAQ,OACRugC,gBAAiB,WAA4B,EAC7C3kC,SAAU,eACVyE,OAAQ,IACRuhC,YAAY,EACZZ,eAAe,EACfR,aAAc,WAAyB,oBCtVzC,SCOO,SAAqBroB,GACxB,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAM/CuiB,GAAe,IAAAC,gBDdE,KAAM,CAC7BvM,KAAM,YCwCN,MAAO,CAAE7M,SAxBT,SAAkBpJ,GACd,MAAM,SAAEW,KAAa8hB,GAAeziB,EAK9BmiB,IAJQ,IAAAO,YAAWH,IACAF,GAGFI,GAGvB,OAAO,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GAC9D,EAcmB/F,SANnB,SAAkBpc,GACd,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAaL,GAAeG,EAAQD,EAASF,IAAa,CAACE,EAASC,IACpF,OAAQ,gBAAoBL,EAAanG,SAAU,CAAExb,MAAOiiB,GAAW7iB,EAAMW,SACjF,EAEJ,CD1CA,GEFaywB,GAAc,CACvB3d,OAAQ,EACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,ICCNwd,GAAS,GAAAC,SAAU;;EAOnBC,GAAS,GAAAD,SAAU;;;;;;;;;;;EAmBzB,GAAe,OAAW,cAAiB,UAAiB,OAAE7e,EAAM,WAAEiC,EAAa,UAAS,MAAEjD,EAAQ,EAAGgD,KAAM+c,EAAe,UAAapvB,GACvI,MAAMqS,EAA+B,iBAAjB+c,EACdA,EACAJ,GAAYI,GAClB,OAAQ,KAAAlI,KAAI,YAAsB,MAAOnH,IACrC,MAAMsP,EAZd,UAAwB,KAAExb,EAAI,WAAEvB,IAC5B,MAAa,UAATuB,EACsB,YAAfvB,EAA2B,GAAA2L,KAAO,GAAAjT,GAGvB,YAAfsH,EAA2B,GAAAgd,MAAQ,GAAA9Q,KAC9C,CAM4B+Q,CAAe,CAC/B1b,KAAMkM,EAAOlM,KACbvB,eAIJ,OAAQ,KAAA4U,KAAI,MAAO,CAAEsI,UAAW,QAASliB,OAAQ+E,EAAMhF,MAAOgF,EAAMyD,QAAS,YAAaE,MAAO,6BAA8B,cAAe3F,EAAQrQ,IAAKA,EAAK0T,IAAK,GAAAA,GAAI;;;;;;6BAMpJyb;;;mCAGM9f;kBAEvB,KAAA6X,KAAI,SAAU,CAAEjR,GAAI,IAAKC,GAAI,IAAKC,EAAG,IAAKzC,IAAK,GAAAA,GAAI;;4BAEnC2b;;;;;;+BAMGJ;qCACM5f;;oBAEf,GAEtB,KC/CA,GAAe,0BAAsB,CACnChP,YAAa,WACbkjC,YAAa,gBAFf,CAGG,CAAC,kCAAmC,QAAQ,SAAU3lC,GACvD,OAAOA,EAAM2pB,KAAO,gDACtB,IACA,IAAI,GAAkB,GAAAoM,kBAClBjJ,IAAY,KAAAhX,KAAI,CAAC,qBAAsB,MAAO,OAAQ,aAAc,kBAAmB,OAAQ4uB,GAAOnjB,GAAU,GAAIA,GAAUmjB,GAAOnjB,GAAU,GAAI,GAAAsS,KAAM,GAAAC,MAClJ,GAAU,0BAAsB,CACzCrxB,YAAa,oBACbkjC,YAAa,gBAFM,CAGlB,CAAC,mBAAoB,uBAAwB,UAAW,+DAAgE,wBAAyB,OAAQ,GAAiB5uB,GAAc+V,GAAW4X,GAAOnjB,GAAU,IAtBpM,SAAsBpY,GACvC,IAAI+iC,EAAS/iC,EAAK+iC,OACdxI,EAAYv6B,EAAKu6B,UACrB,OAAIA,EAAkB,GAAGr9B,OAAOq9B,EAAW,MAKpCwI,EAAS,OAAS,GAAG7lC,OADL,MAC8B,KACvD,IAcW8lC,GAAmB,0BAAsB,CAClD1pC,YAAa,6BACbkjC,YAAa,gBAFe,CAG3B,CAAC,gEAAiE,mBAAoB,SAAUnB,GAASjjB,GAAU,IAAKijB,GAASjjB,GAAU,MACnI6qB,GAAU,0BAAsB,CACzC3pC,YAAa,oBACbkjC,YAAa,gBAFM,CAGlB,CAAC,sIAAuI,QAAQ,SAAU3lC,GAC3J,OAAOA,EAAM2pB,KAAO,wDACtB,gBCnCI0iB,GAAkB,CACpB5iC,OAAQ8X,GACRxb,KAAMy+B,GAASjjB,GAAU,KACzB/X,MAAOg7B,GAASjjB,GAAU,KAC1Bzb,IAAKyb,IAEH+qB,GAAoB,CACtBtf,QAAS,CACPjF,QAASskB,GACTE,QAASF,IAEXt1B,aAAc,WACZ,OAAO,CACT,EACAgR,QAAS,CACP5G,YAAY,EAAAnU,GAAA,GAAO,CACjBC,MAAO6M,GAAO1M,GACdF,KAAM4M,GAAOiH,OAEfiV,MAAM,EAAAhpB,GAAA,GAAO,CACXC,MAAO6M,GAAOwG,KACdpT,KAAM4M,GAAO6G,QAEf3C,eAAe,EAAAhR,GAAA,GAAO,CACpBC,MAAO6M,GAAOsG,KACdlT,KAAM4M,GAAO+G,SAGjBsN,MAAO,CACLhN,YAAY,EAAAnU,GAAA,GAAO,CACjBC,MAAO6M,GAAOqV,IACdjiB,KAAM4M,GAAOkU,OAEfgI,MAAM,EAAAhpB,GAAA,GAAO,CACXC,MAAO6M,GAAOwG,KACdpT,KAAM4M,GAAO6G,QAEf3C,eAAe,EAAAhR,GAAA,GAAO,CACpBC,MAAO6M,GAAOsG,KACdlT,KAAM4M,GAAO+G,SAGjByN,OAAQ,CACNnN,YAAY,EAAAnU,GAAA,GAAO,CACjBC,MAAO6M,GAAOgG,IACd5S,KAAM4M,GAAOgG,MAEfkW,MAAM,EAAAhpB,GAAA,GAAO,CACXC,MAAO6M,GAAOwG,KACdpT,KAAM4M,GAAOmG,OAEfjC,eAAe,EAAAhR,GAAA,GAAO,CACpBC,MAAO6M,GAAOsG,KACdlT,KAAM4M,GAAO+G,SAGjB0N,SAAU,CACRpN,WAAY,cACZ6U,MAAM,EAAAhpB,GAAA,GAAO,CACXC,MAAO6M,GAAOwG,KACdpT,KAAM4M,GAAO6G,QAEf3C,eAAe,EAAAhR,GAAA,GAAO,CACpBC,MAAO6M,GAAOsG,KACdlT,KAAM4M,GAAO+G,SAGjBlD,SAAU,CACRwD,WAAY,cACZ6U,MAAM,EAAAhpB,GAAA,GAAO,CACXC,MAAO6M,GAAO0V,IACdtiB,KAAM4M,GAAO6a,OAEf3W,eAAe,EAAAhR,GAAA,GAAO,CACpBC,MAAO6M,GAAOqG,IACdjT,KAAM4M,GAAOkU,QAGjB5S,MAAO,CACLjG,SAAS,EAAAnI,GAAA,GAAO,CACdC,MAAO6M,GAAOiG,KACd7S,KAAM4M,GAAOgG,QAInB,UAAe,OAAgB,CAAC,EAAG,MAAoBwsB,ICxEvD,IACIE,GAAa,MAAMnmC,OzBRO,EyBQY,MAOtComC,GAEJ,SAAUjD,GAGR,SAASiD,IACP,IAAI/F,EAEAplC,GAEJ,OAAgBpB,KAAMusC,GAEtB,IAAK,IAAIlnC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAqFzB,OAlFAnE,GAAQ,OAA2BpB,MAAOwmC,GAAmB,OAAgB+F,IAAWlrC,KAAKwD,MAAM2hC,EAAkB,CAACxmC,MAAMmG,OAAO1B,MAEnI,QAAgB,OAAuBrD,GAAQ,qBAAqB,WAClEA,EAAMorC,kBAKNliC,SAASwH,iBAAiB,QAAS1Q,EAAMqrC,oBAAoB,GAC7DniC,SAASwH,iBAAiB,UAAW1Q,EAAMsrC,UAC7C,KAEA,QAAgB,OAAuBtrC,GAAQ,sBAAsB,WAC/DA,EAAMtB,MAAM6sC,QACdvrC,EAAMorC,iBAEV,KAEA,QAAgB,OAAuBprC,GAAQ,wBAAwB,WACrEkJ,SAAS0H,oBAAoB,QAAS5Q,EAAMqrC,oBAAoB,GAChEniC,SAAS0H,oBAAoB,UAAW5Q,EAAMsrC,UAChD,KAEA,QAAgB,OAAuBtrC,GAAQ,mBAAmB,WAChE,IAAIwrC,GAAwB,OAAuBxrC,GAC/CyrC,EAAiBD,EAAsBC,eACvCC,EAAaF,EAAsBE,WAEd1rC,EAAMtB,MAAMipB,oBAGX8jB,GAAkBC,IAC1CD,EAAepkC,MAAM8G,MAAQ,GAAGpJ,OAAO2mC,EAAWC,YAAcC,EAAmB,MAEvF,KAEA,QAAgB,OAAuB5rC,GAAQ,aAAa,SAAUf,GACjD,WAAdA,EAAMmc,KAAkC,QAAdnc,EAAMmc,MAAkBpb,EAAMtB,MAAM6sC,QACjEvrC,EAAM6rC,MAAM5sC,EAEhB,KAEA,QAAgB,OAAuBe,GAAQ,sBAAsB,SAAUf,GAC7E,GAAIe,EAAMtB,MAAM6sC,QACVtsC,EAAMoQ,kBAAkBy8B,KAAM,CAIhC,IAAIC,EAAgB/rC,EAAM0rC,YAAc1rC,EAAM0rC,WAAWM,SAAS/sC,EAAMoQ,QAEpE48B,EAAgBjsC,EAAMyrC,gBAAkBzrC,EAAMyrC,eAAeO,SAAS/sC,EAAMoQ,QAE3E08B,GAAkBE,GACrBjsC,EAAM6rC,MAAM5sC,EAEhB,CAEJ,KAEA,QAAgB,OAAuBe,GAAQ,SAAS,SAAUf,GAC5De,EAAMtB,MAAMwtC,cACdlsC,EAAMtB,MAAMwtC,aAAa,CACvBX,QAAQ,EACRtsC,MAAOA,GAGb,KAEA,QAAgB,OAAuBe,GAAQ,oBAAoB,SAAUc,GAC3Ed,EAAMyrC,eAAiB3qC,EAInBA,GACFA,EAAIgZ,OAER,KAEA,QAAgB,OAAuB9Z,GAAQ,oBAAoB,SAAUc,GAC3Ed,EAAM0rC,WAAa5qC,CACrB,IAEOd,CACT,CA0DA,OA1JA,OAAUmrC,EAAUjD,IAkGpB,OAAaiD,EAAU,CAAC,CACtB/vB,IAAK,kBACL9b,MAAO,WACL,MAAO,CACLmnC,0BAA2B7nC,KAAKF,MAAM+nC,0BAE1C,GACC,CACDrrB,IAAK,SACL9b,MAAO,WACL,IAAI4mC,EAActnC,KAAKF,MACnB0U,EAAa8yB,EAAY9yB,WACzB1K,EAAoBw9B,EAAYx9B,kBAChCrJ,EAAW6mC,EAAY7mC,SACvBuV,EAAYsxB,EAAYtxB,UACxB22B,EAASrF,EAAYqF,OACrBnJ,EAAY8D,EAAY9D,UACxB/wB,EAAU60B,EAAY70B,QACtBqK,EAAYwqB,EAAYxqB,UACxBnX,EAAW2hC,EAAY3hC,SACvB4nC,EAAcjG,EAAYiG,YAC1BxkB,EAAqBue,EAAYve,mBACjCykB,EAAalG,EAAYkG,WACzBC,EAAUnG,EAAYmG,QACtBlD,EAAejD,EAAYiD,aAC3Bh4B,EAAS+0B,EAAY/0B,OACrBm7B,EAAef,EAAS,gBAAoB,GAAS,CACvD,YAAa,kBACb,cAAep6B,GAAU,GAAGpM,OAAOoM,EAAQ,aAC3Cy5B,OAAuB,SAAfx3B,EACRjO,SAAUvG,KAAK2tC,iBACfnK,UAAWA,GACVxtB,EAAY,gBAAoBi2B,GAAkB,KAAM,gBAAoB,GAAS,CACtF13B,KAAM,WACF,gBAAoB,GAAAojB,cAAe,CACvC9b,MAAO,IACN,gBAAoB,MAAO,KAAMpb,KAAc,KAClD,OAAO,gBAAoB,GAAS,CAClCgpB,IAAKV,EACLtW,QAASA,EACTqK,UAAWA,GACV,gBAAoBusB,GAAO,CAC5BmC,SAAUgC,EACV1jC,kBAAmBA,EACnBkH,QAAS08B,EACT3jC,OAAQuiC,GACR3mC,SAAUA,EACVolC,cAAe4B,GAAUY,EACzBhD,aAAcA,GACb,gBAAoB2B,GAAS,CAC9BziB,IAAKV,EACLxiB,SAAUvG,KAAK4tC,kBACdH,IACL,KAGKlB,CACT,CA5JA,CA4JE,EAAA3sC,YAEF,OAAgB2sC,GAAU,eAAgB,CACxC/3B,WAAY,UACZ1K,kBAAmB,WACnBrJ,SAAU,KACVuV,WAAW,EACX22B,QAAQ,EACRl6B,QAAS,WAAoB,EAC7BqK,UAAW,WAAsB,EACjCwwB,aAAc,WAAyB,EACvC3nC,SAAU,cACV4nC,aAAa,EACb1F,2BAA2B,EAC3B9e,oBAAoB,EACpBykB,YAAY,EACZC,QAAS,KACTlD,aAAc,WAAyB,KAGzC,OAAgBgC,GAAU,oBAAqB,CAC7C1E,0BAA2B,WAI7B,IAAI,GAA+B,EAAmB,YACtD,SAAe,EAAqB,CAClCj5B,cAAe,WACfC,YAAa,MACbC,eAAgB,OAHlB,CAIG,EAAoB,CACrBw+B,aAAc,GAA6B,CACzC7+B,OAAQ,UACRC,cAAe,WACfC,WAAY,CACVC,cAAe,WACfC,YAAa,MACbC,eAAgB,UAPnB,CAUAy9B,0FCjOH,IAAI,GAAS,SAAgB/vB,GAC3B,MAAO,8CAA8CrW,OAAOqW,EAC9D,EAEWqxB,GAAsB,GAAO,iBAC7BC,GAAwB,GAAO,mBAE/BC,IAD0B,GAAO,qBACX,GAAO,kBCP7BC,GAAS,UACTC,GAAW,YAEXC,GAAY,QCSnBC,GAEJ,SAAU7E,GAGR,SAAS6E,IACP,IAAI3H,EAEAplC,GAEJ,OAAgBpB,KAAMmuC,GAEtB,IAAK,IAAI9oC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAyGzB,OAtGAnE,GAAQ,OAA2BpB,MAAOwmC,GAAmB,OAAgB2H,IAA2B9sC,KAAKwD,MAAM2hC,EAAkB,CAACxmC,MAAMmG,OAAO1B,MAEnJ,QAAgB,OAAuBrD,GAAQ,kBAAmB,KAElE,QAAgB,OAAuBA,GAAQ,qBAAiB,IAEhE,QAAgB,OAAuBA,GAAQ,wBAAwB,SAAUgtC,EAAQC,GACvFjtC,EAAMktC,gBAAgBzpB,KAAK,CACzBupB,OAAQA,EACRC,SAAUA,IAGRjtC,EAAMtB,MAAMuoB,WAA8C,IAAjCjnB,EAAMktC,gBAAgBtqC,SACjD5C,EAAMmtC,cAAgBH,EACtBC,EAASnzB,QAEb,KAEA,QAAgB,OAAuB9Z,GAAQ,0BAA0B,SAAUgtC,GACjFhtC,EAAMktC,gBAAkBltC,EAAMktC,gBAAgBxqC,QAAO,SAAUsX,GAC7D,OAAOA,EAAKgzB,SAAWA,CACzB,GACF,KAEA,QAAgB,OAAuBhtC,GAAQ,qBAAqB,SAAUgtC,GAC5EhtC,EAAMmtC,cAAgBH,CACxB,KAEA,QAAgB,OAAuBhtC,GAAQ,qBAAqB,SAAUgtC,EAAQC,GAGpF,IAFA,IAAIG,GAAiB,EAEZxqB,EAAI,EAAGA,EAAI5iB,EAAMktC,gBAAgBtqC,OAAQggB,IAChD,GAAI5iB,EAAMktC,gBAAgBtqB,GAAGoqB,SAAWA,EAAQ,CAC9CI,EAAgBxqB,EAChB,KACF,EAGqB,IAAnBwqB,GAMJptC,EAAMktC,gBAAgBE,GAAeH,SAAWA,EAE5CjtC,EAAMqtC,qBAAuBD,GAC/BH,EAASnzB,SART9Z,EAAMstC,qBAAqBN,EAAQC,EAUvC,KAEA,QAAgB,OAAuBjtC,GAAQ,oBAAoB,WAKjE,IAJA,IAAIwrC,GAAwB,OAAuBxrC,GAC/CmtC,EAAgB3B,EAAsB2B,cACtCD,EAAkB1B,EAAsB0B,gBAEnCtqB,EAAI,EAAGA,EAAIsqB,EAAgBtqC,OAAQggB,IAC1C,GAAIsqB,EAAgBtqB,GAAGoqB,SAAWG,EAChC,OAAOvqB,EAIX,OAAQ,CACV,KAEA,QAAgB,OAAuB5iB,GAAQ,kBAAkB,SAAUf,GACzE,IAAImc,EAAMnc,EAAMmc,IACZmyB,EAAWtuC,EAAMsuC,SAEjBF,EAAmBrtC,EAAMqtC,mBAE7B,GAAIjyB,IAAQwxB,IAAUxxB,IAAQyxB,GAAU,CAKtC,GAFA5tC,EAAM4nB,iBAEFwmB,EAAmB,EACrB,OAGF,IAAIG,EAAgBpyB,IAAQwxB,GAASxE,KAAKqB,IAAI,EAAG4D,EAAmB,GAAKjF,KAAKqF,IAAIztC,EAAMktC,gBAAgBtqC,OAAS,EAAGyqC,EAAmB,GAEvIrtC,EAAMktC,gBAAgBM,GAAeP,SAASnzB,OAChD,CD3Ge,QC6GXsB,IACGmyB,GAAYF,IAAqBrtC,EAAMktC,gBAAgBtqC,OAAS,GAC/D5C,EAAMtB,MAAMmtC,OAAO7rC,EAAMtB,MAAMmtC,MAAM,CACvC5sC,MAAOA,EACPyuC,OAAQ,YAIRH,GAAiC,IAArBF,GACVrtC,EAAMtB,MAAMmtC,OAAO7rC,EAAMtB,MAAMmtC,MAAM,CACvC5sC,MAAOA,EACPyuC,OAAQ,YAIhB,IAEO1tC,CACT,CAsBA,OA1IA,OAAU+sC,EAA0B7E,IAsHpC,OAAa6E,EAA0B,CAAC,CACtC3xB,IAAK,kBACL9b,MAAO,WACL,OAAO,OAAgB,CAAC,EAAGmtC,GAAqB,CAC9CkB,YAAa/uC,KAAKgvC,kBAClBC,aAAcjvC,KAAK0uC,qBACnBQ,eAAgBlvC,KAAKmvC,uBACrBC,WAAYpvC,KAAKqvC,mBAErB,GACC,CACD7yB,IAAK,SACL9b,MAAO,WAEL,OAAO,gBAAoB,MAAO,CAChCoc,UAAW9c,KAAKsvC,gBACftvC,KAAKF,MAAMW,SAChB,KAGK0tC,CACT,CA5IA,CA4IE,EAAAvuC,YAEF,OAAgBuuC,GAA0B,qBAAqB,OAAgB,CAAC,EAAGN,GAAqB,aCjJxG,IAAI0B,GAEJ,SAAUjG,GAGR,SAASiG,IACP,IAAI/I,EAEAplC,GAEJ,OAAgBpB,KAAMuvC,GAEtB,IAAK,IAAIlqC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GASzB,OANAnE,GAAQ,OAA2BpB,MAAOwmC,GAAmB,OAAgB+I,IAA2BluC,KAAKwD,MAAM2hC,EAAkB,CAACxmC,MAAMmG,OAAO1B,MAEnJ,QAAgB,OAAuBrD,GAAQ,qBAAqB,SAAUf,GAC5Ee,EAAMtB,MAAM0vC,cAAcnvC,EAC5B,IAEOe,CACT,CAgBA,OApCA,OAAUmuC,EAA0BjG,IAsBpC,OAAaiG,EAA0B,CAAC,CACtC/yB,IAAK,kBACL9b,MAAO,WACL,OAAO,OAAgB,CAAC,EAAGqtC,GAAqB,CAC9C0B,YAAazvC,KAAK0vC,mBAEtB,GACC,CACDlzB,IAAK,SACL9b,MAAO,WACL,OAAOV,KAAKF,MAAMW,QACpB,KAGK8uC,CACT,CAtCA,CAsCE,EAAA3vC,YAEF,OAAgB2vC,GAA0B,qBAAqB,OAAgB,CAAC,EAAGxB,GAAqB,wCCxCpG4B,GAAe,SAAsBC,EAAUxB,EAAQyB,GACzD,OAAO9+B,QAAQ,KAAK6+B,GAAU,SAAUx0B,GACtC,OAAOA,EAAKmC,KAAO6wB,GAAUhzB,EAAKy0B,UAAYA,CAChD,IACF,EAEIC,GAEJ,SAAUxG,GAGR,SAASwG,IACP,IAAItJ,EAEAplC,GAEJ,OAAgBpB,KAAM8vC,GAEtB,IAAK,IAAIzqC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GA2BzB,OAxBAnE,GAAQ,OAA2BpB,MAAOwmC,GAAmB,OAAgBsJ,IAA6BzuC,KAAKwD,MAAM2hC,EAAkB,CAACxmC,MAAMmG,OAAO1B,MAErJ,QAAgB,OAAuBrD,GAAQ,QAAS,CACtD2uC,gBAAiB,KAGnB,QAAgB,OAAuB3uC,GAAQ,gBAAiB,KAEhE,QAAgB,OAAuBA,GAAQ,wBAAyB,KAExE,QAAgB,OAAuBA,GAAQ,+BAA+B,SAAUyuC,EAASG,GAC/F,IAAIC,EAAmB,GAAG9pC,QAAO,OAAmB/E,EAAM8uC,cAAcpsC,QAAO,SAAUsX,GACvF,OAAOA,EAAKy0B,UAAYA,CAC1B,MAAK,OAAmBG,IACxB5uC,EAAM8uC,cAAgBD,EAKtB7uC,EAAMwF,SAAS,CACbmpC,gBAAiBI,KAAKC,OAE1B,IAEOhvC,CACT,CAwCA,OA9EA,OAAU0uC,EAA4BxG,IAwCtC,OAAawG,EAA4B,CAAC,CACxCtzB,IAAK,kBAEL9b,MAAO,WACL,IAAIioC,EAAS3oC,KAEb,OAAO,OAAgB,CAAC,EAAG8tC,GAAuB,CAKhDuC,eAAgB,SAAwBR,EAASzB,GAC/C,OAAOuB,GAAahH,EAAOuH,cAAe9B,EAAQyB,EACpD,EACAS,aAAc,SAAsBT,GAClC,OAAOlH,EAAOuH,cAAcpsC,QAAO,SAAUsX,GAC3C,OAAOA,EAAKy0B,UAAYA,CAC1B,GACF,EACAU,sBAAuBvwC,KAAKwwC,4BAC5BC,wCAAyC,SAAiDZ,EAASzB,GACjG,OAAOuB,GAAahH,EAAO+H,sBAAuBtC,EAAQyB,EAC5D,EACAc,yBAA0B,SAAkCd,EAASzB,GACnEzF,EAAO+H,sBAAsB7rB,KAAK,CAChCtH,GAAI6wB,EACJyB,QAASA,GAEb,GAEJ,GACC,CACDrzB,IAAK,SACL9b,MAAO,WACL,OAAO,gBAAoB,MAAO,KAAMV,KAAKF,MAAMW,SACrD,KAGKqvC,CACT,CAhFA,CAgFE,EAAAlwC,YAEF,OAAgBkwC,GAA4B,qBAAqB,OAAgB,CAAC,EAAGhC,GAAuB,UAAgB,CAC1HuC,eAAgB,SAChBC,aAAc,SACdC,sBAAuB,aCzGzB,SAAe,0BAAsB,CACnChuC,YAAa,mBACbkjC,YAAa,gBAFf,CAGG,CAAC,OAAQ,QAAQ,SAAUx8B,GAE5B,OADyBA,EAAK8f,mBACF,GAAK,mBACnC,ICkBA,IAAI6nB,GAEJ,SAAUtH,GAGR,SAASsH,IACP,IAAIpK,EAEAplC,GAEJ,OAAgBpB,KAAM4wC,GAEtB,IAAK,IAAIvrC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAmZzB,OAhZAnE,GAAQ,OAA2BpB,MAAOwmC,GAAmB,OAAgBoK,IAAwBvvC,KAAKwD,MAAM2hC,EAAkB,CAACxmC,MAAMmG,OAAO1B,MAEhJ,QAAgB,OAAuBrD,GAAQ,oBAAgB,IAE/D,QAAgB,OAAuBA,GAAQ,mBAAe,IAE9D,QAAgB,OAAuBA,GAAQ,wBAAoB,IAEnE,QAAgB,OAAuBA,GAAQ,sBAAkB,IAEjE,QAAgB,OAAuBA,GAAQ,0BAA0B,IAEzE,QAAgB,OAAuBA,GAAQ,QAAS,CACtDmc,IAAI,EAAAszB,EAAA,GAAI,CACNtzB,GAAInc,EAAMvB,YAAY2C,OAExBsuC,wBAAwB,KAG1B,QAAgB,OAAuB1vC,GAAQ,qBAAqB,WAC9DA,EAAM2vC,wBAMJ3vC,EAAM4vC,cACR5vC,EAAM6vC,gBAGZ,KAEA,QAAgB,OAAuB7vC,GAAQ,sBAAsB,SAAU8vC,GACzE9vC,EAAM2vC,wBAA0B3vC,EAAMtB,MAAM6sC,SAAWuE,EAASvE,QAClEvrC,EAAM6vC,gBAEV,KAEA,QAAgB,OAAuB7vC,GAAQ,oBAAoB,SAAU+vC,EAAWC,GACtF,IAAKhwC,EAAM4vC,aACT,OAAO,KAGT,IAAIK,EAAmC,iBAAdF,GAA0B,EAAIA,EACnDG,EAAuC,iBAAdF,EAAyBC,EAAcD,EAEpE,OAAIC,EAAcjwC,EAAM4vC,aAAahtC,OAAS,GAC5CqtC,IAEoE,SAAhEjwC,EAAM4vC,aAAaK,GAAaE,aAAa,eACxCF,EAGFjwC,EAAMowC,iBAAiBH,EAAaC,IAGtCA,CACT,KAEA,QAAgB,OAAuBlwC,GAAQ,oBAAoB,SAAU+vC,EAAWC,GACtF,IAAKhwC,EAAM4vC,aACT,OAAO,KAGT,IAAIK,EAAmC,iBAAdF,GAA0B,EAAIA,EACnDG,EAAuC,iBAAdF,EAAyBC,EAAcD,EAEpE,OAAIC,GAAeA,EAAc,GAC/BA,IAEoE,SAAhEjwC,EAAM4vC,aAAaK,GAAaE,aAAa,eACxCF,EAGFjwC,EAAMqwC,iBAAiBJ,EAAaC,IAGtCA,GAAmBD,CAC5B,KAEA,QAAgB,OAAuBjwC,GAAQ,kBAAkB,WAClC,YAAzBA,EAAMswC,gBACRtwC,EAAMuwC,UAAUvwC,EAAMowC,mBAE1B,KAEA,QAAgB,OAAuBpwC,GAAQ,iBAAiB,WAC9DA,EAAMuwC,UAAUvwC,EAAMowC,iBAAiBpwC,EAAMwwC,aAC/C,KAEA,QAAgB,OAAuBxwC,GAAQ,qBAAqB,WAClEA,EAAMuwC,UAAUvwC,EAAMqwC,iBAAiBrwC,EAAMwwC,aAC/C,KAEA,QAAgB,OAAuBxwC,GAAQ,aAAa,SAAUywC,GAC/DzwC,EAAM4vC,cAAiBa,IAI5BzwC,EAAMwwC,YAAcC,EAEpBzwC,EAAM4vC,aAAa5vC,EAAMwwC,aAAa12B,QACxC,KAEA,QAAgB,OAAuB9Z,GAAQ,qBAAqB,SAAUqP,GAC5E,IAAKA,EAAQ,OAAO,EACpB,IAAIqhC,EAAsD,iBAArCrhC,EAAO8gC,aAAa,aAErCQ,GAAU,IAAAC,cAAY,OAAuB5wC,IACjD,SAAO0wC,IAAkBC,IAAUA,EAAQ3E,SAAS38B,EACtD,KAEA,QAAgB,OAAuBrP,GAAQ,sCAAsC,SAAUf,GAC7F,IAAIe,EAAMtB,MAAM6sC,OAIhB,OAAQtsC,EAAMmc,KACZ,KAAKyxB,GACL,IL9Je,IK+Jf,KAAKC,GACH7tC,EAAM4nB,iBAEN7mB,EAAM6wC,KAAK,CACT5xC,MAAOA,EACPyuC,OAAQ,YAQhB,KAEA,QAAgB,OAAuB1tC,GAAQ,wCAAwC,SAAUf,GAM/F,IAAIoQ,EAASpQ,EAAMoQ,OAEnB,GAAIrP,EAAMtB,MAAM6sC,OACd,GAAIvrC,EAAM8wC,kBAAkBzhC,GAC1B,OAAQpQ,EAAMmc,KACZ,IAAK,UACHnc,EAAM4nB,iBAEN7mB,EAAM+wC,oBAEN,MAEF,IAAK,YACH9xC,EAAM4nB,iBAEN7mB,EAAMgxC,gBAEN,MAEF,IAAK,MACH/xC,EAAM4nB,iBAEN7mB,EAAM6rC,MAAM,CACV5sC,MAAOA,QAQU,cAAdA,EAAMmc,KACfpb,EAAMswC,eAAiB,UAEvBtwC,EAAM6vC,kBACiB,QAAd5wC,EAAMmc,KACfpb,EAAM6rC,MAAM,CACV5sC,MAAOA,SAIX,OAAQA,EAAMmc,KACZ,KAAKyxB,GACL,IL/Na,IKgOb,KAAKC,GACH7tC,EAAM4nB,iBAEN7mB,EAAM6wC,KAAK,CACT5xC,MAAOA,EACPyuC,OAAQ,YASlB,KAEA,QAAgB,OAAuB1tC,GAAQ,wBAAoB,IAEnE,QAAgB,OAAuBA,GAAQ,yBAAyB,SAAUf,GAChF,IAAIgyC,EAAgBjxC,EAAMkxC,iBAEtB7hC,EAASpQ,EAAMoQ,SAEd4hC,GAAiBA,IAAkBA,EAAcjF,SAAS38B,KAC7DrP,EAAMmxC,OAAO,CACXzD,OAAQ,QACRzuC,MAAOA,GAGb,KAEA,QAAgB,OAAuBe,GAAQ,wBAAwB,WACrE,OAAO2P,QAAQ3P,EAAMtB,MAAM0yC,MAAMxuC,OACnC,KAEA,QAAgB,OAAuB5C,GAAQ,eAAe,SAAUf,GAMtE,GAJAe,EAAMwF,SAAS,CACbkqC,wBAAwB,IAGtB1vC,EAAM2vC,uBACR3vC,EAAMqxC,sBAAsBpyC,OAD9B,CAMA,IACIqyC,GADwB,OAAuBtxC,GACNsxC,iBAGzCjiC,EAASpQ,EAAMoQ,OAEnB,GAAIiiC,GAAoBA,EAAiBtF,SAAS38B,KAC9B,IAApBA,EAAOgN,SAAmB,CACxB,IAAIkvB,EAASvrC,EAAMtB,MAAM6sC,OACzBvrC,EAAMswC,eAAiB,QAEvBtwC,EAAMtB,MAAMwtC,aAAa,CACvBX,QAASA,EACTtsC,MAAOA,GAEX,CAjBA,CAkBF,KAEA,QAAgB,OAAuBe,GAAQ,kBAAkB,WAC/D,IAAIkmC,EAAclmC,EAAMtB,MACpBW,EAAW6mC,EAAY7mC,SACvBgtC,EAAUnG,EAAYmG,QACtBd,EAASrF,EAAYqF,OACrBgG,EAAqBrL,EAAYqL,mBACjCC,EAActL,EAAYsL,YAC1BrgC,EAAS+0B,EAAY/0B,OACrBsgC,EAAuBzxC,EAAM2vC,uBAAyBtwC,EAAWgtC,EAErE,GAAoB,WAAhBmF,EACF,OAAOC,EAGT,IAAIC,GAAe,OAAc,CAAC,EAAGH,GAEjCI,EAAqB,CACvB,gBAAiB3xC,EAAMM,MAAM6b,GAC7B,gBAAiBovB,EACjB,iBAAiB,EACjBj3B,WAAYi3B,GAUd,OAPKmG,EAAarqB,WAAcqqB,EAAapqB,aAC3CoqB,EAAarqB,UAAY,gBAAoB,KAAY,CACvDlU,KAAM,SACN+C,MAAO,MAIJ,gBAAoBqQ,EAAA,GAAQ,OAAS,CAAC,EAAGorB,EAAoBD,EAAc,CAChFvgC,OAAQA,GAAU,GAAGpM,OAAOoM,EAAQ,eAClCsgC,EACN,KAEA,QAAgB,OAAuBzxC,GAAQ,QAAQ,SAAU4xC,GAC/D5xC,EAAMswC,eAAiBsB,EAAMlE,OAE7B1tC,EAAMtB,MAAMwtC,aAAa,CACvBX,QAAQ,EACRtsC,MAAO2yC,EAAM3yC,QAIfe,EAAMwF,SAAS,CACbkqC,uBAAiD,YAAzB1vC,EAAMswC,gBAElC,KAEA,QAAgB,OAAuBtwC,GAAQ,SAAS,SAAU4xC,GAChE5xC,EAAMswC,eAAiB,KAEvBtwC,EAAMtB,MAAMwtC,aAAa,CACvBX,QAAQ,EACRtsC,MAAO2yC,EAAM3yC,OAEjB,KAEA,QAAgB,OAAuBe,GAAQ,UAAU,SAAU4xC,GAC5C,YAAjBA,EAAMlE,SAEN1tC,EAAMtB,MAAM6sC,OACdvrC,EAAM6rC,MAAM+F,GAEZ5xC,EAAM6wC,KAAKe,GAEf,KAEA,QAAgB,OAAuB5xC,GAAQ,qBAAqB,SAAUf,GAC5Ee,EAAMtB,MAAMwtC,aAAa,CACvBX,QAAQ,EACRtsC,MAAOA,GAEX,KAEA,QAAgB,OAAuBe,GAAQ,iBAAiB,WAC9D,IAAI6xC,EAAiB7xC,EAAM6xC,iBAE3B,OAAO7xC,EAAM2vC,uBAAyBkC,EAAiB,gBAAoB,MAAO,CAChF/wC,IAAK,SAAa+G,GAChB7H,EAAMsxC,iBAAmBzpC,CAC3B,GACCgqC,EACL,KAEA,QAAgB,OAAuB7xC,GAAQ,eAAe,SAAUoxC,GACtE,OAAOA,EAAMU,KAAI,SAAU93B,EAAM+3B,GAC/B,OAAO,gBAAoB,IAAM,OAAS,CAAC,EAAG/3B,EAAM,CAClDoB,IAAK22B,EACL5L,WAAY,SAAoBsE,GAC9B,IAAIxrC,EAAQwrC,EAAMxrC,MAElBe,EAAMtB,MAAMszC,gBAAgB,CAC1Bh4B,KAAMA,EACN/a,MAAOA,GAEX,IACE+a,EAAKpK,QACX,GACF,KAEA,QAAgB,OAAuB5P,GAAQ,gBAAgB,SAAUiyC,GACvE,OAAOA,EAAOH,KAAI,SAAUI,EAAOC,GACjC,OAAO,gBAAoB,GAAO,CAChCpd,QAASmd,EAAMnd,QACf4R,UAAWuL,EAAMvL,UACjBvrB,IAAK+2B,GACJnyC,EAAMoyC,YAAYF,EAAMd,OAC7B,GACF,KAEA,QAAgB,OAAuBpxC,GAAQ,oBAAoB,WACjE,IAAIwnC,EAAexnC,EAAMtB,MACrB0yC,EAAQ5J,EAAa4J,MACrBzpB,EAAqB6f,EAAa7f,mBAClCxL,EAAKnc,EAAMM,MAAM6b,GACrB,OAAO,gBAAoB,MAAO,CAChCA,GAAIA,EACJrb,IAAK,SAAa4pC,GAChB1qC,EAAMkxC,iBAAmBxG,EACzB1qC,EAAM4vC,aAAelF,EAAQA,EAAM2H,iBAAiB,8BAAgC,IACtF,EACAl8B,KAAM,OACN9O,MAAOsgB,EAAqB,KAAO,CACjCuB,SAAU,MAEXlpB,EAAMsyC,aAAalB,GACxB,KAEA,QAAgB,OAAuBpxC,GAAQ,wBAAwB,WACrEA,EAAMuyC,wBAAyB,EAE/BvyC,EAAMwF,SAAS,CACbkqC,uBAAiD,YAAzB1vC,EAAMswC,iBAG5BtwC,EAAMtB,MAAMyqC,cAAcnpC,EAAMtB,MAAMyqC,cAC5C,KAEA,QAAgB,OAAuBnpC,GAAQ,uBAAuB,WACpE,MAA6B,YAAzBA,EAAMswC,gBAAgCtwC,EAAMuyC,uBACvC,gBAAoBxF,GAA0B,CACnD9lB,UAAWjnB,EAAMM,MAAMovC,uBACvB7D,MAAO7rC,EAAM6rC,OACZ7rC,EAAMtB,MAAMW,UAGV,gBAAoB,EAAAmzC,SAAU,KAAMxyC,EAAMtB,MAAMW,SACzD,IAEOW,CACT,CAuDA,OArdA,OAAUwvC,EAAuBtH,IAgajC,OAAasH,EAAuB,CAAC,CACnCp0B,IAAK,SACL9b,MAAO,WACL,IAAImzC,EAAe7zC,KAAKF,MACpB0U,EAAaq/B,EAAar/B,WAC1B1K,EAAoB+pC,EAAa/pC,kBACjCkM,EAAY69B,EAAa79B,UACzB22B,EAASkH,EAAalH,OACtBW,EAAeuG,EAAavG,aAC5B3nC,EAAWkuC,EAAaluC,SACxB4nC,EAAcsG,EAAatG,YAC3B1F,EAA4BgM,EAAahM,0BACzC9e,EAAqB8qB,EAAa9qB,mBAClCykB,EAAaqG,EAAarG,WAC1Bj7B,EAASshC,EAAathC,OACtBgL,EAAKvd,KAAK0B,MAAM6b,GAChBu2B,EAAe9zC,KAAK+wC,uBACpBgD,EAAkBD,EAAe,CACnCh3B,UAAW9c,KAAKg0C,qCAChBnM,0BAA2BA,GACzB,CACF/qB,UAAW9c,KAAKi0C,oCAElB,OAAO,gBAAoBnE,GAA4B,KAAM,gBAAoB,IAAU,OAAS,CAClGt7B,WAAYA,EACZ1K,kBAAmBA,EACnBkM,UAAWA,EACX22B,OAAQA,EACRl6B,QAASzS,KAAK8mC,YACdwG,aAAcA,EACd3nC,SAAUA,EACV4nC,YAAaA,EACbxkB,mBAAoBA,EACpBykB,WAAYA,EACZC,QAASztC,KAAKk0C,gBACd3J,aAAcvqC,KAAKm0C,sBAClBJ,EAAiB,CAClB3xC,iBAAkB,CAChBwM,cAAe,eACfC,YAAa,MACbC,eAAgB,OAElByD,OAAQA,IACNuhC,EAAe9zC,KAAKo0C,mBAAqB,gBAAoBC,GAAkB,CACjF92B,GAAIA,EACJhG,KAAM,OACNwR,mBAAoBA,GACnB,gBAAoBwmB,GAA0B,CAC/CC,cAAexvC,KAAK0vC,mBACnB1vC,KAAKs0C,yBACV,KAGK1D,CACT,CAvdA,CAudE,EAAAhxC,YAEF,OAAgBgxC,GAAuB,eAAgB,CACrDp8B,WAAY,UACZ1K,kBAAmB,WACnBkM,WAAW,EACX22B,QAAQ,EACR6F,MAAO,GACPY,gBAAiB,WAA4B,EAC7C9F,aAAc,WAAyB,EACvC3nC,SAAU,cACV4nC,aAAa,EACb1F,2BAA2B,EAC3B9e,oBAAoB,EACpBykB,YAAY,EACZoF,YAAa,UACbrI,aAAc,WAAyB,IAIzC,IAAI,IAAkD,WCtgBV,SAAU3pC,GAAW,OAAO,SAAUC,GAC9E,IAAIC,EAAgBD,EAAqBD,GACrCG,EAAcD,EAAcE,QAIhC,OAHID,GACAA,EAAYE,KDkgBkC,YChgB3CH,CACX,CAAG,GDggBH,UEpgBqCiB,GFogBD,CAClC6M,cAAe,eACfC,YAAa,MACbC,eAAgB,OEvgByC,SAAU9M,GACjE,IAAIC,EAAuB,cAAiB,SAAUnC,EAAOoC,GACzD,IAAIC,EAAKrC,EAAMsC,iBAAkBA,OAA0B,IAAPD,EAAgB,CAAC,EAAIA,EAAIE,GAAO,IAAA6hB,QAAOpkB,EAAO,CAAC,qBAC/FwC,GAAgB,IAAAuhB,WAAS,IAAAA,UAAS,CAAC,EAAG9hB,IAAcK,GACxD,OAAQ,gBAAoB,EAAkB,CAAEZ,KAAMc,GAClD,gBAAoBN,GAAkB,IAAA6hB,UAAS,CAAC,EAAGxhB,EAAM,CAAEH,IAAKA,KACxE,IAIA,OAFAD,EAAqBM,YAAc,yBAA2BP,EAAiBO,aAC3EP,EAAiBQ,MAAQ,IACtBP,CACX,ICXoC4B,GHwgBb,CACrBypC,aAAc,GAA6B,CACzC7+B,OAAQ,UACRC,cAAe,eACfC,WAAY,CACVC,cAAe,eACfC,YAAa,MACbC,eAAgB,UG/gBuC,SAAU9M,GACnE,IAAIgD,EAAsB,cAAiB,SAAUlF,EAAOoC,GAAO,OAAQ,gBAAoB,EAA0B,CAAE2B,eAAgBA,GAAgBiB,sBAAuBhF,IAAS,SAAUqC,GACjM,IAAItB,EAAuBsB,EAAGtB,qBAAsB2C,EAAoBrB,EAAGqB,kBAC3E,OAAQ,gBAAoBxB,GAAkB,IAAA6hB,UAAS,CAAC,EAAG/jB,EAAO0D,EAAmB,CAAE3C,qBAAsBA,EAAsBqB,IAAKA,IAC5I,GAAK,IAIL,OAFA8C,EAAoBzC,YAAc,wBAA0BP,EAAiBO,aACzEP,EAAiBQ,MAAQ,IACtBwC,CACX,GHygBG4rC,KGlhBuB,IAAU/sC,GDAC9B,GEQjCwyC,GAEJ,SAAUjL,GAGR,SAASiL,IACP,IAAI/N,EAEAplC,GAEJ,OAAgBpB,KAAMu0C,GAEtB,IAAK,IAAIlvC,EAAOV,UAAUX,OAAQwwC,EAAQ,IAAIlvC,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAChFivC,EAAMjvC,GAAQZ,UAAUY,GAsG1B,OAnGAnE,GAAQ,OAA2BpB,MAAOwmC,GAAmB,OAAgB+N,IAAelzC,KAAKwD,MAAM2hC,EAAkB,CAACxmC,MAAMmG,OAAOquC,MAEvI,QAAgB,OAAuBpzC,GAAQ,QAAS,CACtDurC,OAAQvrC,EAAMtB,MAAM20C,YACpBjC,OAAO,OAAmBpxC,EAAMtB,MAAM0yC,UAGxC,QAAgB,OAAuBpxC,GAAQ,sBAAsB,SAAUga,GAC7E,OAAOha,EAAMM,MAAM8wC,MAAM1uC,QAAO,SAAUwvC,GACxC,OAAOA,EAAMd,MAAMh3B,QAAQJ,IAAS,CACtC,IAAG,EACL,KAEA,QAAgB,OAAuBha,GAAQ,wBAAwB,SAAU4xC,GAC/E,IAAI0B,EAAgB1B,EAAM53B,KAEtBu5B,EAAiBvzC,EAAMwzC,mBAAmBF,GAE1ClC,GAAQ,OAAmBpxC,EAAMM,MAAM8wC,OAE3C,OAAQkC,EAAc7qB,MACpB,IAAK,WACH6qB,EAAcrV,WAAaqV,EAAcrV,UAEzCj+B,EAAMtB,MAAMszC,gBAAgB,CAC1Bh4B,KAAMs5B,IAGRtzC,EAAMwF,SAAS,CACb4rC,MAAOA,IAGT,MAEF,IAAK,QACHmC,EAAenC,MAAMvvC,SAAQ,SAAU+gB,GAEnCA,EAAEqb,UADArb,IAAM0wB,CAKZ,IAEAtzC,EAAMtB,MAAMszC,gBAAgB,CAC1Bh4B,KAAMs5B,IAGRtzC,EAAMwF,SAAS,CACb4rC,MAAOA,IAGT,MAGF,QACEpxC,EAAMtB,MAAMszC,gBAAgB,CAC1Bh4B,KAAMs5B,IAGRtzC,EAAM6rC,QAIZ,KAEA,QAAgB,OAAuB7rC,GAAQ,oBAAoB,SAAU4xC,GAC3E,IAAI1L,EAEJ,GAAIlmC,EAAMM,MAAMirC,SAAWqG,EAAMrG,OAAjC,CAEAvrC,EAAMwF,SAAS,CACb+lC,OAAQqG,EAAMrG,SAGhB,IAAK,IAAIkI,EAAQlwC,UAAUX,OAAQS,EAAO,IAAIa,MAAMuvC,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGrwC,EAAKqwC,EAAQ,GAAKnwC,UAAUmwC,IAG7BxN,EAAclmC,EAAMtB,OAAOwtC,aAAazoC,MAAMyiC,EAAa,CAAC0L,GAAO7sC,OAAO1B,GAV5B,CAWjD,KAEA,QAAgB,OAAuBrD,GAAQ,SAAS,WACtD,IAAIwnC,EAEJ,IAA2B,IAAvBxnC,EAAMM,MAAMirC,OAAhB,CAEAvrC,EAAMwF,SAAS,CACb+lC,QAAQ,IAGV,IAAK,IAAIoI,EAAQpwC,UAAUX,OAAQS,EAAO,IAAIa,MAAMyvC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFvwC,EAAKuwC,GAASrwC,UAAUqwC,IAGzBpM,EAAexnC,EAAMtB,OAAOwtC,aAAazoC,MAAM+jC,EAAc,CAAC,CAC7D+D,QAAQ,IACPxmC,OAAO1B,GAZ8B,CAa1C,IAEOrD,CACT,CA2DA,OA5KA,OAAUmzC,EAAcjL,IAmHxB,OAAaiL,EAAc,CAAC,CAC1B/3B,IAAK,mCACL9b,MAAO,SAA0C2pC,GAC3CA,EAAUmI,QAAUxyC,KAAK0B,MAAM8wC,OACjCxyC,KAAK4G,SAAS,CACZ4rC,OAAO,OAAmBnI,EAAUmI,SAIpCnI,EAAUsC,SAAW3sC,KAAKF,MAAM6sC,QAClC3sC,KAAK4G,SAAS,CACZ+lC,OAAQtC,EAAUsC,QAGxB,GACC,CACDnwB,IAAK,SACL9b,MAAO,WACL,IAAIisC,EAAS3sC,KAAK0B,MAAMirC,OACpBkH,EAAe7zC,KAAKF,MACpB0U,EAAaq/B,EAAar/B,WAC1B1K,EAAoB+pC,EAAa/pC,kBACjCrJ,EAAWozC,EAAapzC,SACxBuV,EAAY69B,EAAa79B,UACzBw8B,EAAQqB,EAAarB,MACrB7sC,EAAWkuC,EAAaluC,SACxB4nC,EAAcsG,EAAatG,YAC3B1F,EAA4BgM,EAAahM,0BACzC9e,EAAqB8qB,EAAa9qB,mBAClCykB,EAAaqG,EAAarG,WAC1Bj7B,EAASshC,EAAathC,OACtBk7B,EAAUoG,EAAapG,QACvBkF,EAAqBkB,EAAalB,mBAClCC,EAAciB,EAAajB,YAC3BrI,EAAesJ,EAAatJ,aAChC,OAAO,gBAAoB,GAAe,CACxC/1B,WAAYA,EACZ1K,kBAAmBA,EACnB6iC,OAAQA,EACR32B,UAAWA,EACXw8B,MAAOA,EACPY,gBAAiBpzC,KAAKi1C,qBACtB3H,aAActtC,KAAKk1C,iBACnBvvC,SAAUA,EACV4nC,YAAaA,EACb1F,0BAA2BA,EAC3B9e,mBAAoBA,EACpBykB,WAAYA,EACZC,QAASA,EACTkF,mBAAoBA,EACpBC,YAAaA,EACbrI,aAAcA,EACdh4B,OAAQA,GACP9R,EACL,KAGK8zC,CACT,CA9KA,CA8KE,EAAA30C,YAEF,OAAgB20C,GAAc,eAAgB,CAC5C//B,WAAY,UACZ1K,kBAAmB,WACnB2qC,aAAa,EACbz+B,WAAW,EACX22B,QAAQ,EACR6F,MAAO,GACPY,gBAAiB,WAA4B,EAC7C9F,aAAc,WAAyB,EACvC3nC,SAAU,cACV4nC,aAAa,EACb1F,2BAA2B,EAC3B9e,oBAAoB,EACpBykB,YAAY,EACZoF,YAAa,UACbrI,aAAc,WAAyB,kCC3MzC5mC,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IAuCI0S,EAvCAyT,EAAU,EAAQ,OAClBC,EAAUD,EAAQE,gBAAgB,EAAQ,QAC1CouB,EAAsBtuB,EAAQE,gBAAgB,EAAQ,QACtDquB,EAASvuB,EAAQE,gBAAgB,EAAQ,QACzCsuB,EAAW,EAAQ,OACnBnrB,EAAc,EAAQ,OACtBorB,EAAU,SAAUnzC,GACpB,IAAIoS,EAAOpS,EAAGoS,KACd,OAAOA,EAAO,WAAa2V,EAAYiZ,MAAM5uB,GAAQ,YAAc2V,EAAYiZ,MAAM5uB,GAAQ,IAAM,IACvG,EACAwV,EAAQgG,YAAcolB,EAAoBttB,QAAQ0tB,KAAKniC,IAAqBA,EAAmByT,EAAQ9B,qBAAqB,CAAC,OAAQ,eAAgB,wCAAyC,6DAA8D,6dAA8d,CAAC,OAAQ,eAAgB,wCAAyC,6DAA8D,+dAAgeuwB,GAAS,SAAUvxC,GAAK,OAAOA,EAAEm9B,cAAgB,cAAgB,IAAG,SAAUn9B,GAAK,OAAOA,EAAEo9B,gBAAkBkU,EAASp0B,UAAY,GAAGq0B,GA4Bh8CvrB,EAAA,QAXW,SAAUjqB,GACjB,IAR6B01C,EACzBj4B,EAOAsmB,EAAQ/jC,EAAM8jC,MAAOE,EAAsBhkC,EAAMgkC,oBAAqB5C,EAAephC,EAAMohC,aAAcC,EAAiBrhC,EAAMqhC,eAAgB5sB,EAAOzU,EAAMyU,KAAMhC,EAASzS,EAAMyS,OAAQ+E,EAAQxX,EAAMwX,MACxMysB,EAAaD,EACX,CACEE,wBAAyB,CACrBC,QAZiBuR,EAYe1R,EAXxCvmB,EAAK63B,EAAOvtB,UACK2tB,EAChBC,QAAQ,8BAA+B,SAAWl4B,GAClDk4B,QAAQ,wCAAyC,iBAAoBl4B,EAAK,SAWzE,CAAE9c,SAAUojC,EAAQ/c,EAAQe,QAAQtd,cAAcs5B,EAAO,CAAEtsB,KAAM,iBAAoB,MAC3F,OAAQuP,EAAQe,QAAQtd,cAAcwf,EAAQgG,YAAalJ,EAAQhD,SAAS,CAAEqd,aAAcA,EAAcC,eAAgBA,EAAgB5sB,KAAMA,EAAM,cAAehC,EAAQgF,KAAMD,EAAQ,MAAQ,eAAgB,aAAcA,QAAgBlR,GAAa29B,GAClQ,8BCtCApgC,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtDqpB,EAAQoZ,MAAQ,CACZ3vB,MAAO,OACPC,OAAQ,OACRC,MAAO,OACPC,OAAQ,QAEZoW,EAAQ2rB,QAAU,CACdliC,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPC,OAAQ,wCCPZoW,EAAQ,OAAU,EAElB,IAAIma,EAASyR,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAE5T,IAAImxC,EAAkB,SAAyBh2C,GAC7C,OAAOokC,EAAOrc,QAAQtd,cAAcqrC,EAAM/tB,QAASguB,EAAS,CAC1D/R,oBAAqB,yVACpBhkC,GACL,EAEAg2C,EAAgBvzC,YAAc,kBAC9B,IAAI8hC,EAAWyR,EACf/rB,EAAQ,EAAUsa,+vDCpBlB,MAAMxhB,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAEf,SAASC,EAASjjB,GAC7B,GAAIA,GAASA,EAAM+b,MAAO,CAEtB,GAAI,uBAAwB/b,EAAM+b,MAC9B,OAAO/b,EAAM+b,MAAMmH,mBAGlB,GAAI,SAAUljB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MAC/D,OAAOjW,EAAM+b,KAErB,CAEA,MAAO,CAAE9F,KAAM8M,EACnB,CCFe,SAAS/V,EAAOmW,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflCpjB,IACJ,MAAM+b,EAAQkH,EAASjjB,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC5B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACJ,CACA,MAAO,EAAE,EAXjB,IAAwByiB,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQnjB,IAEJ,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACrB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACA,MAAO,EAAE,CAEjB,CC/BO,MAAMixB,EAAM,UACNC,EAAM,UACNvC,EAAO,UACPhQ,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwP,EAAO,UAEP8C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPnD,EAAO,UACPpP,EAAO,UACPqP,EAAO,UACPO,EAAO,UAEP4C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPzS,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwS,EAAO,UAEP3C,EAAM,UACN5P,EAAM,UACNC,EAAO,UACPC,EAAO,UACP2O,EAAO,UACP1O,EAAO,UACP2O,EAAO,UAEP0D,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPC,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEP/lB,EAAK,UACLgmB,EAAM,UACNjE,EAAM,UACNkE,EAAM,UACNnT,EAAM,UACNC,GAAM,UACNmT,GAAM,UACN9D,GAAM,UACN+D,GAAM,UACN9D,GAAM,UACN+D,GAAO,UACPpT,GAAO,UACPqT,GAAO,UACPxF,GAAO,UACP5N,GAAO,UACPqT,GAAO,UACPlF,GAAO,UACPlO,GAAO,UAEPC,GAAO,UAEPoT,GAAO,wBACP5F,GAAO,wBACPK,GAAO,wBACPwF,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPtT,GAAO,wBACPuT,GAAO,wBACPC,GAAO,wBACPC,GAAQ,wBACRxT,GAAQ,wBACRyT,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBAER7C,GAAQ,UACRhR,GAAQ,UACR8T,GAAQ,UACR7T,GAAQ,UACRC,GAAQ,UACRsN,GAAQ,UACRrN,GAAQ,UACR4T,GAAQ,UACR3T,GAAQ,UACR4T,GAAO,UACPC,GAAO,UACP3G,GAAO,UACPK,GAAO,UACPtN,GAAO,UACP6T,GAAO,UACP5T,GAAO,UACP6T,GAAO,UACPC,GAAO,UAEP7T,GAAM,UAEN8T,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAQ,yBACRrU,GAAQ,yBACRsU,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBAER3U,GAAanU,EAAO,CAAEC,MAAOG,EAAIF,KAAM8T,KACvCI,GAAmBpU,EAAO,CAAEC,MAAOyiB,EAAKxiB,KAAM4S,IAC9CuB,GAAkBrU,EAAO,CAAEC,MAAOomB,EAAKnmB,KAAM8gB,KAC7C+H,GAAoB/oB,EAAO,CAAEC,MAAOG,EAAIF,KAAM6T,KAC9C,GAAO/T,EAAO,CAAEC,MAAOsT,GAAMrT,KAAMyT,KACnCsV,GAAYjpB,EAAO,CAAEC,MAAOqT,GAAMpT,KAAMyT,KACxCuV,GAAalpB,EAAO,CAAEC,MAAOgT,EAAM/S,KAAM+S,IACzCkW,GAAanpB,EAAO,CAAEC,MAAOmT,GAAMlT,KAAM2T,KACzCuV,GAAkBppB,EAAO,CAAEC,MAAOumB,GAAMtmB,KAAMunB,KAC9C4B,GAAUrpB,EAAO,CAAEC,MAAOqT,GAAMpT,KAAMyT,KACtC2V,GAAgBtpB,EAAO,CAAEC,MAAOmT,GAAMlT,KAAM2T,KAC5C0V,GAAYvpB,EAAO,CAAEC,MAAOkiB,EAAKjiB,KAAM6T,KACvC,GAAO/T,EAAO,CAAEC,MAAOgT,EAAM/S,KAAM6S,IACnCyW,GAAYxpB,EAAO,CAAEC,MAAO0hB,EAAMzhB,KAAM8S,IACxCyW,GAAazpB,EAAO,CAAEC,MAAO2hB,EAAM1hB,KAAM6S,IACzC2W,GAAc1pB,EAAO,CAAEC,MAAO8S,EAAM7S,KAAM8S,IAC1C0O,GAAU1hB,EAAO,CAAEC,MAAOgT,EAAM/S,KAAM6S,IACtC4W,GAAO3pB,EAAO,CAAEC,MAAOgT,EAAM/S,KAAM6S,IACnC6W,GAAO5pB,EAAO,CAAEC,MAAOgmB,EAAM/lB,KAAM8lB,IACnC1R,GAAStU,EAAO,CAAEC,MAAOylB,EAAMxlB,KAAMslB,IACrCqE,GAAM7pB,EAAO,CAAEC,MAAOuS,EAAMtS,KAAMsS,IAClCsX,GAAS9pB,EAAO,CAAEC,MAAOyS,EAAMxS,KAAMwS,IACrCqX,GAAQ/pB,EAAO,CAAEC,MAAO2S,EAAM1S,KAAM0S,IACpCoX,GAAW,IAAMjJ,seCvI9B,IAAIvK,EAAgB,SAAShL,EAAGiL,GAI5B,OAHAD,EAAgB3f,OAAO6f,gBAClB,CAAEC,UAAW,cAAgBne,OAAS,SAAUgT,EAAGiL,GAAKjL,EAAEmL,UAAYF,CAAG,GAC1E,SAAUjL,EAAGiL,GAAK,IAAK,IAAIxf,KAAKwf,EAAOA,EAAErY,eAAenH,KAAIuU,EAAEvU,GAAKwf,EAAExf,GAAI,EACtEuf,EAAchL,EAAGiL,EAC5B,EAEO,SAASG,EAAUpL,EAAGiL,GAEzB,SAASI,IAAO3jB,KAAKH,YAAcyY,CAAG,CADtCgL,EAAchL,EAAGiL,GAEjBjL,EAAE3W,UAAkB,OAAN4hB,EAAa5f,OAAOigB,OAAOL,IAAMI,EAAGhiB,UAAY4hB,EAAE5hB,UAAW,IAAIgiB,EACnF,CAEO,IAAIE,EAAW,WAQlB,OAPAA,EAAWlgB,OAAOuG,QAAU,SAAkB4Z,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAItf,UAAUX,OAAQggB,EAAIC,EAAGD,IAE5C,IAAK,IAAIjgB,KADTggB,EAAIpf,UAAUqf,GACOrgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,KAAI+f,EAAE/f,GAAKggB,EAAEhgB,IAE9E,OAAO+f,CACX,EACOD,EAAShf,MAAM7E,KAAM2E,UAChC,EAEO,SAASuf,EAAOH,EAAGvT,GACtB,IAAIsT,EAAI,CAAC,EACT,IAAK,IAAI/f,KAAKggB,EAAOpgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,IAAMyM,EAAEgL,QAAQzX,GAAK,IAC9E+f,EAAE/f,GAAKggB,EAAEhgB,IACb,GAAS,MAALggB,GAAqD,mBAAjCpgB,OAAOwgB,sBACtB,KAAIH,EAAI,EAAb,IAAgBjgB,EAAIJ,OAAOwgB,sBAAsBJ,GAAIC,EAAIjgB,EAAEC,OAAQggB,IAC3DxT,EAAEgL,QAAQzX,EAAEigB,IAAM,GAAKrgB,OAAOhC,UAAUyiB,qBAAqB/iB,KAAK0iB,EAAGhgB,EAAEigB,MACvEF,EAAE/f,EAAEigB,IAAMD,EAAEhgB,EAAEigB,IAF4B,CAItD,OAAOF,CACX,CAEO,SAAS4V,EAAWC,EAAYlpB,EAAQ+L,EAAKod,GAChD,IAA2HthB,EAAvHuhB,EAAIl1B,UAAUX,OAAQqU,EAAIwhB,EAAI,EAAIppB,EAAkB,OAATmpB,EAAgBA,EAAOj2B,OAAOm2B,yBAAyBrpB,EAAQ+L,GAAOod,EACrH,GAAuB,iBAAZG,SAAoD,mBAArBA,QAAQC,SAAyB3hB,EAAI0hB,QAAQC,SAASL,EAAYlpB,EAAQ+L,EAAKod,QACpH,IAAK,IAAI5V,EAAI2V,EAAW31B,OAAS,EAAGggB,GAAK,EAAGA,KAAS1L,EAAIqhB,EAAW3V,MAAI3L,GAAKwhB,EAAI,EAAIvhB,EAAED,GAAKwhB,EAAI,EAAIvhB,EAAE7H,EAAQ+L,EAAKnE,GAAKC,EAAE7H,EAAQ+L,KAASnE,GAChJ,OAAOwhB,EAAI,GAAKxhB,GAAK1U,OAAOuhB,eAAezU,EAAQ+L,EAAKnE,GAAIA,CAChE,CAEO,SAAS4hB,EAAQC,EAAYC,GAChC,OAAO,SAAU1pB,EAAQ+L,GAAO2d,EAAU1pB,EAAQ+L,EAAK0d,EAAa,CACxE,CAEO,SAASE,EAAWC,EAAaC,GACpC,GAAuB,iBAAZP,SAAoD,mBAArBA,QAAQQ,SAAyB,OAAOR,QAAQQ,SAASF,EAAaC,EACpH,CAEO,SAASE,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUt6B,GAAS,IAAMu6B,EAAKL,EAAU9b,KAAKpe,GAAS,CAAE,MAAO8P,GAAKuqB,EAAOvqB,EAAI,CAAE,CAC1F,SAAS0qB,EAASx6B,GAAS,IAAMu6B,EAAKL,EAAiB,MAAEl6B,GAAS,CAAE,MAAO8P,GAAKuqB,EAAOvqB,EAAI,CAAE,CAC7F,SAASyqB,EAAKE,GAJlB,IAAez6B,EAIay6B,EAAOpc,KAAO+b,EAAQK,EAAOz6B,QAJ1CA,EAIyDy6B,EAAOz6B,MAJhDA,aAAiBi6B,EAAIj6B,EAAQ,IAAIi6B,GAAE,SAAUG,GAAWA,EAAQp6B,EAAQ,KAIjB06B,KAAKJ,EAAWE,EAAW,CAC7GD,GAAML,EAAYA,EAAU/1B,MAAM41B,EAASC,GAAc,KAAK5b,OAClE,GACJ,CAEO,SAASuc,EAAYZ,EAAS5vB,GACjC,IAAsGywB,EAAG9iB,EAAGsL,EAAGyX,EAA3GC,EAAI,CAAElkB,MAAO,EAAGmkB,KAAM,WAAa,GAAW,EAAP3X,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAG4X,KAAM,GAAIC,IAAK,IAChG,OAAOJ,EAAI,CAAEzc,KAAM8c,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,mBAAXrX,SAA0BgX,EAAEhX,OAAOC,UAAY,WAAa,OAAOxkB,IAAM,GAAIu7B,EACvJ,SAASK,EAAK3X,GAAK,OAAO,SAAU4X,GAAK,OACzC,SAAcC,GACV,GAAIR,EAAG,MAAM,IAAI5W,UAAU,mCAC3B,KAAO8W,OACH,GAAIF,EAAI,EAAG9iB,IAAMsL,EAAY,EAARgY,EAAG,GAAStjB,EAAU,OAAIsjB,EAAG,GAAKtjB,EAAS,SAAOsL,EAAItL,EAAU,SAAMsL,EAAEziB,KAAKmX,GAAI,GAAKA,EAAEsG,SAAWgF,EAAIA,EAAEziB,KAAKmX,EAAGsjB,EAAG,KAAK/c,KAAM,OAAO+E,EAE3J,OADItL,EAAI,EAAGsL,IAAGgY,EAAK,CAAS,EAARA,EAAG,GAAQhY,EAAEpjB,QACzBo7B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGhY,EAAIgY,EAAI,MACxB,KAAK,EAAc,OAAXN,EAAElkB,QAAgB,CAAE5W,MAAOo7B,EAAG,GAAI/c,MAAM,GAChD,KAAK,EAAGyc,EAAElkB,QAASkB,EAAIsjB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKN,EAAEG,IAAII,MAAOP,EAAEE,KAAKK,MAAO,SACxC,QACI,MAAkBjY,GAAZA,EAAI0X,EAAEE,MAAY13B,OAAS,GAAK8f,EAAEA,EAAE9f,OAAS,KAAkB,IAAV83B,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEN,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVM,EAAG,MAAchY,GAAMgY,EAAG,GAAKhY,EAAE,IAAMgY,EAAG,GAAKhY,EAAE,IAAM,CAAE0X,EAAElkB,MAAQwkB,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYN,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAIA,EAAIgY,EAAI,KAAO,CACpE,GAAIhY,GAAK0X,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAI0X,EAAEG,IAAI9W,KAAKiX,GAAK,KAAO,CAC9DhY,EAAE,IAAI0X,EAAEG,IAAII,MAChBP,EAAEE,KAAKK,MAAO,SAEtBD,EAAKjxB,EAAKxJ,KAAKo5B,EAASe,EAC5B,CAAE,MAAOhrB,GAAKsrB,EAAK,CAAC,EAAGtrB,GAAIgI,EAAI,CAAG,CAAE,QAAU8iB,EAAIxX,EAAI,CAAG,CACzD,GAAY,EAARgY,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEp7B,MAAOo7B,EAAG,GAAKA,EAAG,QAAK,EAAQ/c,MAAM,EAC9E,CAtBgDkc,CAAK,CAAChX,EAAG4X,GAAK,CAAG,CAuBrE,CAEO,SAASG,EAAgB1X,EAAGG,EAAGwX,EAAGC,QAC1B91B,IAAP81B,IAAkBA,EAAKD,GAC3B3X,EAAE4X,GAAMzX,EAAEwX,EACd,CAEO,SAASE,EAAa1X,EAAGsF,GAC5B,IAAK,IAAIhmB,KAAK0gB,EAAa,YAAN1gB,GAAoBgmB,EAAQ7e,eAAenH,KAAIgmB,EAAQhmB,GAAK0gB,EAAE1gB,GACvF,CAEO,SAASsgB,EAASC,GACrB,IAAIP,EAAsB,mBAAXQ,QAAyBA,OAAOC,SAAUC,EAAIV,GAAKO,EAAEP,GAAIC,EAAI,EAC5E,GAAIS,EAAG,OAAOA,EAAEpjB,KAAKijB,GACrB,GAAIA,GAAyB,iBAAbA,EAAEtgB,OAAqB,MAAO,CAC1C8a,KAAM,WAEF,OADIwF,GAAKN,GAAKM,EAAEtgB,SAAQsgB,OAAI,GACrB,CAAE5jB,MAAO4jB,GAAKA,EAAEN,KAAMjF,MAAOuF,EACxC,GAEJ,MAAM,IAAII,UAAUX,EAAI,0BAA4B,kCACxD,CAEO,SAASY,EAAOL,EAAGL,GACtB,IAAIQ,EAAsB,mBAAXF,QAAyBD,EAAEC,OAAOC,UACjD,IAAKC,EAAG,OAAOH,EACf,IAAmBjM,EAAY7H,EAA3BwT,EAAIS,EAAEpjB,KAAKijB,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANX,GAAgBA,KAAM,MAAQ5L,EAAI2L,EAAElF,QAAQC,MAAM6F,EAAGC,KAAKxM,EAAE3X,MACxE,CACA,MAAOue,GAASzO,EAAI,CAAEyO,MAAOA,EAAS,CACtC,QACI,IACQ5G,IAAMA,EAAE0G,OAAS0F,EAAIT,EAAU,SAAIS,EAAEpjB,KAAK2iB,EAClD,CACA,QAAU,GAAIxT,EAAG,MAAMA,EAAEyO,KAAO,CACpC,CACA,OAAO2F,CACX,CAEO,SAASE,IACZ,IAAK,IAAIF,EAAK,GAAIZ,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAC3CY,EAAKA,EAAGze,OAAOwe,EAAOhgB,UAAUqf,KACpC,OAAOY,CACX,CAEO,SAASwX,IACZ,IAAK,IAAIrY,EAAI,EAAGC,EAAI,EAAGqY,EAAK13B,UAAUX,OAAQggB,EAAIqY,EAAIrY,IAAKD,GAAKpf,UAAUqf,GAAGhgB,OACxE,IAAIqU,EAAI/S,MAAMye,GAAIkY,EAAI,EAA3B,IAA8BjY,EAAI,EAAGA,EAAIqY,EAAIrY,IACzC,IAAK,IAAIsY,EAAI33B,UAAUqf,GAAIuY,EAAI,EAAGC,EAAKF,EAAEt4B,OAAQu4B,EAAIC,EAAID,IAAKN,IAC1D5jB,EAAE4jB,GAAKK,EAAEC,GACjB,OAAOlkB,CACX,CAEO,SAASokB,EAAQZ,GACpB,OAAO77B,gBAAgBy8B,GAAWz8B,KAAK67B,EAAIA,EAAG77B,MAAQ,IAAIy8B,EAAQZ,EACtE,CAEO,SAASa,EAAiBjC,EAASC,EAAYE,GAClD,IAAKrW,OAAOoY,cAAe,MAAM,IAAIjY,UAAU,wCAC/C,IAAoDV,EAAhDuX,EAAIX,EAAU/1B,MAAM41B,EAASC,GAAc,IAAQkC,EAAI,GAC3D,OAAO5Y,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW5X,EAAEO,OAAOoY,eAAiB,WAAc,OAAO38B,IAAM,EAAGgkB,EACpH,SAAS4X,EAAK3X,GAASsX,EAAEtX,KAAID,EAAEC,GAAK,SAAU4X,GAAK,OAAO,IAAIhB,SAAQ,SAAUyB,EAAG/Y,GAAKqZ,EAAE/X,KAAK,CAACZ,EAAG4X,EAAGS,EAAG/Y,IAAM,GAAKsZ,EAAO5Y,EAAG4X,EAAI,GAAI,EAAG,CACzI,SAASgB,EAAO5Y,EAAG4X,GAAK,KACVxjB,EADqBkjB,EAAEtX,GAAG4X,IACnBn7B,iBAAiB+7B,EAAU5B,QAAQC,QAAQziB,EAAE3X,MAAMm7B,GAAGT,KAAK0B,EAAS/B,GAAUgC,EAAOH,EAAE,GAAG,GAAIvkB,EADtE,CAAE,MAAO7H,GAAKusB,EAAOH,EAAE,GAAG,GAAIpsB,EAAI,CAC/E,IAAc6H,CADmE,CAEjF,SAASykB,EAAQp8B,GAASm8B,EAAO,OAAQn8B,EAAQ,CACjD,SAASq6B,EAAOr6B,GAASm8B,EAAO,QAASn8B,EAAQ,CACjD,SAASq8B,EAAOzB,EAAGO,GAASP,EAAEO,GAAIe,EAAEI,QAASJ,EAAE54B,QAAQ64B,EAAOD,EAAE,GAAG,GAAIA,EAAE,GAAG,GAAK,CACrF,CAEO,SAASK,EAAiB3Y,GAC7B,IAAIN,EAAGjgB,EACP,OAAOigB,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAS,SAAUprB,GAAK,MAAMA,CAAG,IAAIorB,EAAK,UAAW5X,EAAEO,OAAOC,UAAY,WAAc,OAAOxkB,IAAM,EAAGgkB,EAC1I,SAAS4X,EAAK3X,EAAGqX,GAAKtX,EAAEC,GAAKK,EAAEL,GAAK,SAAU4X,GAAK,OAAQ93B,GAAKA,GAAK,CAAErD,MAAO+7B,EAAQnY,EAAEL,GAAG4X,IAAK9c,KAAY,WAANkF,GAAmBqX,EAAIA,EAAEO,GAAKA,CAAG,EAAIP,CAAG,CAClJ,CAEO,SAAS4B,EAAc5Y,GAC1B,IAAKC,OAAOoY,cAAe,MAAM,IAAIjY,UAAU,wCAC/C,IAAiCV,EAA7BS,EAAIH,EAAEC,OAAOoY,eACjB,OAAOlY,EAAIA,EAAEpjB,KAAKijB,IAAMA,EAAqCD,EAASC,GAA2BN,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW5X,EAAEO,OAAOoY,eAAiB,WAAc,OAAO38B,IAAM,EAAGgkB,GAC9M,SAAS4X,EAAK3X,GAAKD,EAAEC,GAAKK,EAAEL,IAAM,SAAU4X,GAAK,OAAO,IAAIhB,SAAQ,SAAUC,EAASC,IACvF,SAAgBD,EAASC,EAAQziB,EAAGujB,GAAKhB,QAAQC,QAAQe,GAAGT,MAAK,SAASS,GAAKf,EAAQ,CAAEp6B,MAAOm7B,EAAG9c,KAAMzG,GAAM,GAAGyiB,EAAS,CADbgC,CAAOjC,EAASC,GAA7Bc,EAAIvX,EAAEL,GAAG4X,IAA8B9c,KAAM8c,EAAEn7B,MAAQ,GAAI,CAAG,CAEnK,CAEO,SAASqkB,EAAqBC,EAAQC,GAEzC,OADIthB,OAAOuhB,eAAkBvhB,OAAOuhB,eAAeF,EAAQ,MAAO,CAAEtkB,MAAOukB,IAAiBD,EAAOC,IAAMA,EAClGD,CACX,CAEO,SAAS0I,EAAayP,GACzB,GAAIA,GAAOA,EAAIC,WAAY,OAAOD,EAClC,IAAIhC,EAAS,CAAC,EACd,GAAW,MAAPgC,EAAa,IAAK,IAAIlB,KAAKkB,EAASx5B,OAAOuH,eAAe7J,KAAK87B,EAAKlB,KAAId,EAAOc,GAAKkB,EAAIlB,IAE5F,OADAd,EAAOtT,QAAUsV,EACVhC,CACX,CAEO,SAASpU,EAAgBoW,GAC5B,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAEtV,QAASsV,EACtD,CAEO,SAASE,EAAuBC,EAAUC,GAC7C,IAAKA,EAAWC,IAAIF,GAChB,MAAM,IAAI5Y,UAAU,kDAExB,OAAO6Y,EAAWE,IAAIH,EAC1B,CAEO,SAASI,EAAuBJ,EAAUC,EAAY78B,GACzD,IAAK68B,EAAWC,IAAIF,GAChB,MAAM,IAAI5Y,UAAU,kDAGxB,OADA6Y,EAAWI,IAAIL,EAAU58B,GAClBA,CACX,gCCxNAiD,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IAuCI0S,EAvCAyT,EAAU,EAAQ,OAClBC,EAAUD,EAAQE,gBAAgB,EAAQ,QAC1CouB,EAAsBtuB,EAAQE,gBAAgB,EAAQ,QACtDquB,EAASvuB,EAAQE,gBAAgB,EAAQ,QACzCsuB,EAAW,EAAQ,OACnBnrB,EAAc,EAAQ,OACtBorB,EAAU,SAAUnzC,GACpB,IAAIoS,EAAOpS,EAAGoS,KACd,OAAOA,EAAO,WAAa2V,EAAYiZ,MAAM5uB,GAAQ,YAAc2V,EAAYiZ,MAAM5uB,GAAQ,IAAM,IACvG,EACAwV,EAAQgG,YAAcolB,EAAoBttB,QAAQ0tB,KAAKniC,IAAqBA,EAAmByT,EAAQ9B,qBAAqB,CAAC,OAAQ,eAAgB,wCAAyC,6DAA8D,6dAA8d,CAAC,OAAQ,eAAgB,wCAAyC,6DAA8D,+dAAgeuwB,GAAS,SAAUvxC,GAAK,OAAOA,EAAEm9B,cAAgB,cAAgB,IAAG,SAAUn9B,GAAK,OAAOA,EAAEo9B,gBAAkBkU,EAASp0B,UAAY,GAAGq0B,GA4Bh8CvrB,EAAA,QAXW,SAAUjqB,GACjB,IAR6B01C,EACzBj4B,EAOAsmB,EAAQ/jC,EAAM8jC,MAAOE,EAAsBhkC,EAAMgkC,oBAAqB5C,EAAephC,EAAMohC,aAAcC,EAAiBrhC,EAAMqhC,eAAgB5sB,EAAOzU,EAAMyU,KAAMhC,EAASzS,EAAMyS,OAAQ+E,EAAQxX,EAAMwX,MACxMysB,EAAaD,EACX,CACEE,wBAAyB,CACrBC,QAZiBuR,EAYe1R,EAXxCvmB,EAAK63B,EAAOvtB,UACK2tB,EAChBC,QAAQ,8BAA+B,SAAWl4B,GAClDk4B,QAAQ,wCAAyC,iBAAoBl4B,EAAK,SAWzE,CAAE9c,SAAUojC,EAAQ/c,EAAQe,QAAQtd,cAAcs5B,EAAO,CAAEtsB,KAAM,iBAAoB,MAC3F,OAAQuP,EAAQe,QAAQtd,cAAcwf,EAAQgG,YAAalJ,EAAQhD,SAAS,CAAEqd,aAAcA,EAAcC,eAAgBA,EAAgB5sB,KAAMA,EAAM,cAAehC,EAAQgF,KAAMD,EAAQ,MAAQ,eAAgB,aAAcA,QAAgBlR,GAAa29B,GAClQ,8BCtCApgC,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtDqpB,EAAQoZ,MAAQ,CACZ3vB,MAAO,OACPC,OAAQ,OACRC,MAAO,OACPC,OAAQ,QAEZoW,EAAQ2rB,QAAU,CACdliC,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPC,OAAQ,wCCPZoW,EAAQ,OAAU,EAElB,IAAIma,EAASyR,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAE5T,IAAIo8B,EAAe,SAAsBjhC,GACvC,OAAOokC,EAAOrc,QAAQtd,cAAcqrC,EAAM/tB,QAASguB,EAAS,CAC1D/R,oBAAqB,sUACpBhkC,GACL,EAEAihC,EAAax+B,YAAc,eAC3B,IAAI8hC,EAAWtD,EACfhX,EAAQ,EAAUsa,gCClBlBta,EAAQ,OAAU,EAElB,IAAIma,EAASyR,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAE5T,IAAIoxC,EAAY,SAAmBj2C,GACjC,OAAOokC,EAAOrc,QAAQtd,cAAcqrC,EAAM/tB,QAASguB,EAAS,CAC1D/R,oBAAqB,4NACpBhkC,GACL,EAEAi2C,EAAUxzC,YAAc,YACxB,IAAI8hC,EAAW0R,EACfhsB,EAAQ,EAAUsa,2wDCrBX,MAAM1S,EAAM,UACNC,EAAM,UACNvC,EAAO,UACPhQ,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwP,EAAO,UAEP8C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPnD,EAAO,UACPpP,EAAO,UACPqP,EAAO,UACPO,EAAO,UAEP4C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPzS,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwS,EAAO,UAEP3C,EAAM,UACN5P,EAAM,UACNC,EAAO,UACPC,EAAO,UACP2O,EAAO,UACP1O,EAAO,UACP2O,EAAO,UAEP0D,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPC,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEP/lB,EAAK,UACLgmB,EAAM,UACNjE,EAAM,UACNkE,EAAM,UACNnT,EAAM,UACNC,EAAM,UACNmT,EAAM,UACN9D,EAAM,UACN+D,GAAM,UACN9D,GAAM,UACN+D,GAAO,UACPpT,GAAO,UACPqT,GAAO,UACPxF,GAAO,UACP5N,GAAO,UACPqT,GAAO,UACPlF,GAAO,UACPlO,GAAO,UAEPC,GAAO,UAEPoT,GAAO,wBACP5F,GAAO,wBACPK,GAAO,wBACPwF,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPtT,GAAO,wBACPuT,GAAO,wBACPC,GAAO,wBACPC,GAAQ,wBACRxT,GAAQ,wBACRyT,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBAER7C,GAAQ,UACRhR,GAAQ,UACR8T,GAAQ,UACR7T,GAAQ,UACRC,GAAQ,UACRsN,GAAQ,UACRrN,GAAQ,UACR4T,GAAQ,UACR3T,GAAQ,UACR4T,GAAO,UACPC,GAAO,UACP3G,GAAO,UACPK,GAAO,UACPtN,GAAO,UACP6T,GAAO,UACP5T,GAAO,UACP6T,GAAO,UACPC,GAAO,UAEP7T,GAAM,UAEN8T,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAQ,yBACRrU,GAAQ,yBACRsU,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBAER3U,IAAa,OAAO,CAAElU,MAAOG,EAAIF,KAAM8T,KACvCI,IAAmB,OAAO,CAAEnU,MAAOyiB,EAAKxiB,KAAM4S,IAC9CuB,IAAkB,OAAO,CAAEpU,MAAOomB,EAAKnmB,KAAM8gB,KAC7C+H,IAAoB,OAAO,CAAE9oB,MAAOG,EAAIF,KAAM6T,KAC9CiV,IAAO,OAAO,CAAE/oB,MAAOsT,GAAMrT,KAAMyT,KACnCsV,IAAY,OAAO,CAAEhpB,MAAOqT,GAAMpT,KAAMyT,KACxCuV,IAAa,OAAO,CAAEjpB,MAAOgT,EAAM/S,KAAM+S,IACzCkW,IAAa,OAAO,CAAElpB,MAAOmT,GAAMlT,KAAM2T,KACzCuV,IAAkB,OAAO,CAAEnpB,MAAOumB,GAAMtmB,KAAMunB,KAC9C4B,IAAU,OAAO,CAAEppB,MAAOqT,GAAMpT,KAAMyT,KACtC2V,IAAgB,OAAO,CAAErpB,MAAOmT,GAAMlT,KAAM2T,KAC5C0V,IAAY,OAAO,CAAEtpB,MAAOkiB,EAAKjiB,KAAM6T,KACvCmO,IAAO,OAAO,CAAEjiB,MAAOgT,EAAM/S,KAAM6S,IACnCyW,IAAY,OAAO,CAAEvpB,MAAO0hB,EAAMzhB,KAAM8S,IACxCyW,IAAa,OAAO,CAAExpB,MAAO2hB,EAAM1hB,KAAM6S,IACzC2W,IAAc,OAAO,CAAEzpB,MAAO8S,EAAM7S,KAAM8S,IAC1C0O,IAAU,OAAO,CAAEzhB,MAAOgT,EAAM/S,KAAM6S,IACtC4W,IAAO,OAAO,CAAE1pB,MAAOgT,EAAM/S,KAAM6S,IACnC6W,IAAO,OAAO,CAAE3pB,MAAOgmB,EAAM/lB,KAAM8lB,IACnC1R,IAAS,OAAO,CAAErU,MAAOylB,EAAMxlB,KAAMslB,IACrCqE,IAAM,OAAO,CAAE5pB,MAAOuS,EAAMtS,KAAMsS,IAClCsX,IAAS,OAAO,CAAE7pB,MAAOyS,EAAMxS,KAAMwS,IACrCqX,IAAQ,OAAO,CAAE9pB,MAAO2S,EAAM1S,KAAM0S,IACpCoX,GAAW,IAAMjJ,kDCpJ9B,MAAMhL,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAEf,SAASC,EAASjjB,GAC7B,GAAIA,GAASA,EAAM+b,MAAO,CAEtB,GAAI,uBAAwB/b,EAAM+b,MAC9B,OAAO/b,EAAM+b,MAAMmH,mBAGlB,GAAI,SAAUljB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MAC/D,OAAOjW,EAAM+b,KAErB,CAEA,MAAO,CAAE9F,KAAM8M,EACnB,CCFe,SAAS/V,EAAOmW,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflCpjB,IACJ,MAAM+b,EAAQkH,EAASjjB,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC5B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACJ,CACA,MAAO,EAAE,EAXjB,IAAwByiB,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQnjB,IAEJ,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACrB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACA,MAAO,EAAE,CAEjB,qeCjBA,IAAI4iB,EAAgB,SAAShL,EAAGiL,GAI5B,OAHAD,EAAgB3f,OAAO6f,gBAClB,CAAEC,UAAW,cAAgBne,OAAS,SAAUgT,EAAGiL,GAAKjL,EAAEmL,UAAYF,CAAG,GAC1E,SAAUjL,EAAGiL,GAAK,IAAK,IAAIxf,KAAKwf,EAAOA,EAAErY,eAAenH,KAAIuU,EAAEvU,GAAKwf,EAAExf,GAAI,EACtEuf,EAAchL,EAAGiL,EAC5B,EAEO,SAASG,EAAUpL,EAAGiL,GAEzB,SAASI,IAAO3jB,KAAKH,YAAcyY,CAAG,CADtCgL,EAAchL,EAAGiL,GAEjBjL,EAAE3W,UAAkB,OAAN4hB,EAAa5f,OAAOigB,OAAOL,IAAMI,EAAGhiB,UAAY4hB,EAAE5hB,UAAW,IAAIgiB,EACnF,CAEO,IAAIE,EAAW,WAQlB,OAPAA,EAAWlgB,OAAOuG,QAAU,SAAkB4Z,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAItf,UAAUX,OAAQggB,EAAIC,EAAGD,IAE5C,IAAK,IAAIjgB,KADTggB,EAAIpf,UAAUqf,GACOrgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,KAAI+f,EAAE/f,GAAKggB,EAAEhgB,IAE9E,OAAO+f,CACX,EACOD,EAAShf,MAAM7E,KAAM2E,UAChC,EAEO,SAASuf,EAAOH,EAAGvT,GACtB,IAAIsT,EAAI,CAAC,EACT,IAAK,IAAI/f,KAAKggB,EAAOpgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,IAAMyM,EAAEgL,QAAQzX,GAAK,IAC9E+f,EAAE/f,GAAKggB,EAAEhgB,IACb,GAAS,MAALggB,GAAqD,mBAAjCpgB,OAAOwgB,sBACtB,KAAIH,EAAI,EAAb,IAAgBjgB,EAAIJ,OAAOwgB,sBAAsBJ,GAAIC,EAAIjgB,EAAEC,OAAQggB,IAC3DxT,EAAEgL,QAAQzX,EAAEigB,IAAM,GAAKrgB,OAAOhC,UAAUyiB,qBAAqB/iB,KAAK0iB,EAAGhgB,EAAEigB,MACvEF,EAAE/f,EAAEigB,IAAMD,EAAEhgB,EAAEigB,IAF4B,CAItD,OAAOF,CACX,CAEO,SAAS4V,EAAWC,EAAYlpB,EAAQ+L,EAAKod,GAChD,IAA2HthB,EAAvHuhB,EAAIl1B,UAAUX,OAAQqU,EAAIwhB,EAAI,EAAIppB,EAAkB,OAATmpB,EAAgBA,EAAOj2B,OAAOm2B,yBAAyBrpB,EAAQ+L,GAAOod,EACrH,GAAuB,iBAAZG,SAAoD,mBAArBA,QAAQC,SAAyB3hB,EAAI0hB,QAAQC,SAASL,EAAYlpB,EAAQ+L,EAAKod,QACpH,IAAK,IAAI5V,EAAI2V,EAAW31B,OAAS,EAAGggB,GAAK,EAAGA,KAAS1L,EAAIqhB,EAAW3V,MAAI3L,GAAKwhB,EAAI,EAAIvhB,EAAED,GAAKwhB,EAAI,EAAIvhB,EAAE7H,EAAQ+L,EAAKnE,GAAKC,EAAE7H,EAAQ+L,KAASnE,GAChJ,OAAOwhB,EAAI,GAAKxhB,GAAK1U,OAAOuhB,eAAezU,EAAQ+L,EAAKnE,GAAIA,CAChE,CAEO,SAAS4hB,EAAQC,EAAYC,GAChC,OAAO,SAAU1pB,EAAQ+L,GAAO2d,EAAU1pB,EAAQ+L,EAAK0d,EAAa,CACxE,CAEO,SAASE,EAAWC,EAAaC,GACpC,GAAuB,iBAAZP,SAAoD,mBAArBA,QAAQQ,SAAyB,OAAOR,QAAQQ,SAASF,EAAaC,EACpH,CAEO,SAASE,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUt6B,GAAS,IAAMu6B,EAAKL,EAAU9b,KAAKpe,GAAS,CAAE,MAAO8P,GAAKuqB,EAAOvqB,EAAI,CAAE,CAC1F,SAAS0qB,EAASx6B,GAAS,IAAMu6B,EAAKL,EAAiB,MAAEl6B,GAAS,CAAE,MAAO8P,GAAKuqB,EAAOvqB,EAAI,CAAE,CAC7F,SAASyqB,EAAKE,GAJlB,IAAez6B,EAIay6B,EAAOpc,KAAO+b,EAAQK,EAAOz6B,QAJ1CA,EAIyDy6B,EAAOz6B,MAJhDA,aAAiBi6B,EAAIj6B,EAAQ,IAAIi6B,GAAE,SAAUG,GAAWA,EAAQp6B,EAAQ,KAIjB06B,KAAKJ,EAAWE,EAAW,CAC7GD,GAAML,EAAYA,EAAU/1B,MAAM41B,EAASC,GAAc,KAAK5b,OAClE,GACJ,CAEO,SAASuc,EAAYZ,EAAS5vB,GACjC,IAAsGywB,EAAG9iB,EAAGsL,EAAGyX,EAA3GC,EAAI,CAAElkB,MAAO,EAAGmkB,KAAM,WAAa,GAAW,EAAP3X,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAG4X,KAAM,GAAIC,IAAK,IAChG,OAAOJ,EAAI,CAAEzc,KAAM8c,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,mBAAXrX,SAA0BgX,EAAEhX,OAAOC,UAAY,WAAa,OAAOxkB,IAAM,GAAIu7B,EACvJ,SAASK,EAAK3X,GAAK,OAAO,SAAU4X,GAAK,OACzC,SAAcC,GACV,GAAIR,EAAG,MAAM,IAAI5W,UAAU,mCAC3B,KAAO8W,OACH,GAAIF,EAAI,EAAG9iB,IAAMsL,EAAY,EAARgY,EAAG,GAAStjB,EAAU,OAAIsjB,EAAG,GAAKtjB,EAAS,SAAOsL,EAAItL,EAAU,SAAMsL,EAAEziB,KAAKmX,GAAI,GAAKA,EAAEsG,SAAWgF,EAAIA,EAAEziB,KAAKmX,EAAGsjB,EAAG,KAAK/c,KAAM,OAAO+E,EAE3J,OADItL,EAAI,EAAGsL,IAAGgY,EAAK,CAAS,EAARA,EAAG,GAAQhY,EAAEpjB,QACzBo7B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGhY,EAAIgY,EAAI,MACxB,KAAK,EAAc,OAAXN,EAAElkB,QAAgB,CAAE5W,MAAOo7B,EAAG,GAAI/c,MAAM,GAChD,KAAK,EAAGyc,EAAElkB,QAASkB,EAAIsjB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKN,EAAEG,IAAII,MAAOP,EAAEE,KAAKK,MAAO,SACxC,QACI,MAAkBjY,GAAZA,EAAI0X,EAAEE,MAAY13B,OAAS,GAAK8f,EAAEA,EAAE9f,OAAS,KAAkB,IAAV83B,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEN,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVM,EAAG,MAAchY,GAAMgY,EAAG,GAAKhY,EAAE,IAAMgY,EAAG,GAAKhY,EAAE,IAAM,CAAE0X,EAAElkB,MAAQwkB,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYN,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAIA,EAAIgY,EAAI,KAAO,CACpE,GAAIhY,GAAK0X,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAI0X,EAAEG,IAAI9W,KAAKiX,GAAK,KAAO,CAC9DhY,EAAE,IAAI0X,EAAEG,IAAII,MAChBP,EAAEE,KAAKK,MAAO,SAEtBD,EAAKjxB,EAAKxJ,KAAKo5B,EAASe,EAC5B,CAAE,MAAOhrB,GAAKsrB,EAAK,CAAC,EAAGtrB,GAAIgI,EAAI,CAAG,CAAE,QAAU8iB,EAAIxX,EAAI,CAAG,CACzD,GAAY,EAARgY,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEp7B,MAAOo7B,EAAG,GAAKA,EAAG,QAAK,EAAQ/c,MAAM,EAC9E,CAtBgDkc,CAAK,CAAChX,EAAG4X,GAAK,CAAG,CAuBrE,CAEO,SAASG,EAAgB1X,EAAGG,EAAGwX,EAAGC,QAC1B91B,IAAP81B,IAAkBA,EAAKD,GAC3B3X,EAAE4X,GAAMzX,EAAEwX,EACd,CAEO,SAASE,EAAa1X,EAAGsF,GAC5B,IAAK,IAAIhmB,KAAK0gB,EAAa,YAAN1gB,GAAoBgmB,EAAQ7e,eAAenH,KAAIgmB,EAAQhmB,GAAK0gB,EAAE1gB,GACvF,CAEO,SAASsgB,EAASC,GACrB,IAAIP,EAAsB,mBAAXQ,QAAyBA,OAAOC,SAAUC,EAAIV,GAAKO,EAAEP,GAAIC,EAAI,EAC5E,GAAIS,EAAG,OAAOA,EAAEpjB,KAAKijB,GACrB,GAAIA,GAAyB,iBAAbA,EAAEtgB,OAAqB,MAAO,CAC1C8a,KAAM,WAEF,OADIwF,GAAKN,GAAKM,EAAEtgB,SAAQsgB,OAAI,GACrB,CAAE5jB,MAAO4jB,GAAKA,EAAEN,KAAMjF,MAAOuF,EACxC,GAEJ,MAAM,IAAII,UAAUX,EAAI,0BAA4B,kCACxD,CAEO,SAASY,EAAOL,EAAGL,GACtB,IAAIQ,EAAsB,mBAAXF,QAAyBD,EAAEC,OAAOC,UACjD,IAAKC,EAAG,OAAOH,EACf,IAAmBjM,EAAY7H,EAA3BwT,EAAIS,EAAEpjB,KAAKijB,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANX,GAAgBA,KAAM,MAAQ5L,EAAI2L,EAAElF,QAAQC,MAAM6F,EAAGC,KAAKxM,EAAE3X,MACxE,CACA,MAAOue,GAASzO,EAAI,CAAEyO,MAAOA,EAAS,CACtC,QACI,IACQ5G,IAAMA,EAAE0G,OAAS0F,EAAIT,EAAU,SAAIS,EAAEpjB,KAAK2iB,EAClD,CACA,QAAU,GAAIxT,EAAG,MAAMA,EAAEyO,KAAO,CACpC,CACA,OAAO2F,CACX,CAEO,SAASE,IACZ,IAAK,IAAIF,EAAK,GAAIZ,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAC3CY,EAAKA,EAAGze,OAAOwe,EAAOhgB,UAAUqf,KACpC,OAAOY,CACX,CAEO,SAASwX,IACZ,IAAK,IAAIrY,EAAI,EAAGC,EAAI,EAAGqY,EAAK13B,UAAUX,OAAQggB,EAAIqY,EAAIrY,IAAKD,GAAKpf,UAAUqf,GAAGhgB,OACxE,IAAIqU,EAAI/S,MAAMye,GAAIkY,EAAI,EAA3B,IAA8BjY,EAAI,EAAGA,EAAIqY,EAAIrY,IACzC,IAAK,IAAIsY,EAAI33B,UAAUqf,GAAIuY,EAAI,EAAGC,EAAKF,EAAEt4B,OAAQu4B,EAAIC,EAAID,IAAKN,IAC1D5jB,EAAE4jB,GAAKK,EAAEC,GACjB,OAAOlkB,CACX,CAEO,SAASokB,EAAQZ,GACpB,OAAO77B,gBAAgBy8B,GAAWz8B,KAAK67B,EAAIA,EAAG77B,MAAQ,IAAIy8B,EAAQZ,EACtE,CAEO,SAASa,EAAiBjC,EAASC,EAAYE,GAClD,IAAKrW,OAAOoY,cAAe,MAAM,IAAIjY,UAAU,wCAC/C,IAAoDV,EAAhDuX,EAAIX,EAAU/1B,MAAM41B,EAASC,GAAc,IAAQkC,EAAI,GAC3D,OAAO5Y,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW5X,EAAEO,OAAOoY,eAAiB,WAAc,OAAO38B,IAAM,EAAGgkB,EACpH,SAAS4X,EAAK3X,GAASsX,EAAEtX,KAAID,EAAEC,GAAK,SAAU4X,GAAK,OAAO,IAAIhB,SAAQ,SAAUyB,EAAG/Y,GAAKqZ,EAAE/X,KAAK,CAACZ,EAAG4X,EAAGS,EAAG/Y,IAAM,GAAKsZ,EAAO5Y,EAAG4X,EAAI,GAAI,EAAG,CACzI,SAASgB,EAAO5Y,EAAG4X,GAAK,KACVxjB,EADqBkjB,EAAEtX,GAAG4X,IACnBn7B,iBAAiB+7B,EAAU5B,QAAQC,QAAQziB,EAAE3X,MAAMm7B,GAAGT,KAAK0B,EAAS/B,GAAUgC,EAAOH,EAAE,GAAG,GAAIvkB,EADtE,CAAE,MAAO7H,GAAKusB,EAAOH,EAAE,GAAG,GAAIpsB,EAAI,CAC/E,IAAc6H,CADmE,CAEjF,SAASykB,EAAQp8B,GAASm8B,EAAO,OAAQn8B,EAAQ,CACjD,SAASq6B,EAAOr6B,GAASm8B,EAAO,QAASn8B,EAAQ,CACjD,SAASq8B,EAAOzB,EAAGO,GAASP,EAAEO,GAAIe,EAAEI,QAASJ,EAAE54B,QAAQ64B,EAAOD,EAAE,GAAG,GAAIA,EAAE,GAAG,GAAK,CACrF,CAEO,SAASK,EAAiB3Y,GAC7B,IAAIN,EAAGjgB,EACP,OAAOigB,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAS,SAAUprB,GAAK,MAAMA,CAAG,IAAIorB,EAAK,UAAW5X,EAAEO,OAAOC,UAAY,WAAc,OAAOxkB,IAAM,EAAGgkB,EAC1I,SAAS4X,EAAK3X,EAAGqX,GAAKtX,EAAEC,GAAKK,EAAEL,GAAK,SAAU4X,GAAK,OAAQ93B,GAAKA,GAAK,CAAErD,MAAO+7B,EAAQnY,EAAEL,GAAG4X,IAAK9c,KAAY,WAANkF,GAAmBqX,EAAIA,EAAEO,GAAKA,CAAG,EAAIP,CAAG,CAClJ,CAEO,SAAS4B,EAAc5Y,GAC1B,IAAKC,OAAOoY,cAAe,MAAM,IAAIjY,UAAU,wCAC/C,IAAiCV,EAA7BS,EAAIH,EAAEC,OAAOoY,eACjB,OAAOlY,EAAIA,EAAEpjB,KAAKijB,IAAMA,EAAqCD,EAASC,GAA2BN,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW5X,EAAEO,OAAOoY,eAAiB,WAAc,OAAO38B,IAAM,EAAGgkB,GAC9M,SAAS4X,EAAK3X,GAAKD,EAAEC,GAAKK,EAAEL,IAAM,SAAU4X,GAAK,OAAO,IAAIhB,SAAQ,SAAUC,EAASC,IACvF,SAAgBD,EAASC,EAAQziB,EAAGujB,GAAKhB,QAAQC,QAAQe,GAAGT,MAAK,SAASS,GAAKf,EAAQ,CAAEp6B,MAAOm7B,EAAG9c,KAAMzG,GAAM,GAAGyiB,EAAS,CADbgC,CAAOjC,EAASC,GAA7Bc,EAAIvX,EAAEL,GAAG4X,IAA8B9c,KAAM8c,EAAEn7B,MAAQ,GAAI,CAAG,CAEnK,CAEO,SAASqkB,EAAqBC,EAAQC,GAEzC,OADIthB,OAAOuhB,eAAkBvhB,OAAOuhB,eAAeF,EAAQ,MAAO,CAAEtkB,MAAOukB,IAAiBD,EAAOC,IAAMA,EAClGD,CACX,CAEO,SAAS0I,EAAayP,GACzB,GAAIA,GAAOA,EAAIC,WAAY,OAAOD,EAClC,IAAIhC,EAAS,CAAC,EACd,GAAW,MAAPgC,EAAa,IAAK,IAAIlB,KAAKkB,EAASx5B,OAAOuH,eAAe7J,KAAK87B,EAAKlB,KAAId,EAAOc,GAAKkB,EAAIlB,IAE5F,OADAd,EAAOtT,QAAUsV,EACVhC,CACX,CAEO,SAASpU,EAAgBoW,GAC5B,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAEtV,QAASsV,EACtD,CAEO,SAASE,EAAuBC,EAAUC,GAC7C,IAAKA,EAAWC,IAAIF,GAChB,MAAM,IAAI5Y,UAAU,kDAExB,OAAO6Y,EAAWE,IAAIH,EAC1B,CAEO,SAASI,EAAuBJ,EAAUC,EAAY78B,GACzD,IAAK68B,EAAWC,IAAIF,GAChB,MAAM,IAAI5Y,UAAU,kDAGxB,OADA6Y,EAAWI,IAAIL,EAAU58B,GAClBA,CACX,qFC1Me,SAASs1C,GAAsB,QAC5CC,EAAO,WACPxgC,IAEA,MAAMygC,GAAgB,IAAA9wB,SAAO,GACvBtI,GAAY,IAAA8F,cAAYpS,IACxBiF,GAAcygC,EAAczwC,SAAW+K,EAAEgM,MAAQ,OAKrD05B,EAAczwC,SAAU,EACxBwwC,EAAQzlC,GAAE,GACT,CAACylC,EAASxgC,IACPsH,GAAU,IAAA6F,cAAY,KAC1BszB,EAAczwC,SAAU,CAAK,GAC5B,KACH,IAAA4f,YAAU,KACD,QAAQ/a,SAAU,CAAC,CACxBuf,KAAM,UACNssB,SAAUr5B,GACT,CACD+M,KAAM,QACNssB,SAAUp5B,IACR,CACF9N,SAAS,KAEV,CAAC6N,EAAWC,GACjB,sFCxCO,MAAMixB,EAAS,UACTC,EAAW,YACXmI,EAAW,OACXC,EAAU,MACVC,EAAS,uHCLXC,EAAiB,8BAEjBC,EAAuB,GACvBC,EAAoB,IACpBp1B,GAAW,UACXq1B,EAAe,CACxBC,iBAAkB,CAChBtK,SAAS,UACTxkB,SAAS,WAEX+uB,kBAAmB,CACjBvK,SAAS,UACTxkB,SAAS,WAEXhR,cAAc,UACdqE,MAAO,CACLjG,QAAS,MAEXzF,OAAQ,CACN68B,QAAS,EACTxkB,QAAS,GAEXtY,MAAO,CACL88B,QAAS,OACTxkB,QAAS,QAEXiF,QAAS,CACPjF,QAAS,CACPte,QAAQ,UAAe,EACvB1D,MAAM,UAAe,EACrByD,OAAO,UAAe,EACtB1D,KAAK,UAAe,GAEtBymC,QAAS,CACP9iC,QAAQ,UACR1D,MAAM,UACNyD,OAAO,UACP1D,KAAK,YAGTiiB,QAAS,CACP5G,WAAY,KACZ6U,KAAM,KACNhY,cAAe,MAEjBuQ,SAAU,CACRpN,WAAY,KACZ6U,KAAM,KACNhY,cAAe,MAEjBsQ,OAAQ,CACNnN,WAAY,KACZ6U,KAAM,KACNhY,cAAe,MAEjBmQ,MAAO,CACLhN,WAAY,KACZ6U,KAAM,KACNhY,cAAe,MAEjBL,SAAU,CACRwD,WAAY,KACZ6U,KAAM,KACNhY,cAAe,MAGjB+4B,SAAU,CACR51B,WAAY,KACZ6U,KAAM,KACNhY,cAAe,OAIfg5B,EAAkB,SAAyBp2C,GAC7C,OAAOA,SAAmD,KAAVA,CAClD,EAaWq2C,EAAgB,SAAuBC,EAAYx6B,EAAKy6B,GACjE,IAAIp7B,EAVqB,SAAuBm7B,EAAYx6B,EAAKy6B,GACjE,OAAIA,EACKD,GAAcA,EAAWC,IAAcH,EAAgBE,EAAWC,GAAWz6B,IAAQw6B,EAAaN,EAGpGM,GAAcF,EAAgBE,EAAWx6B,IAAQw6B,EAAaN,CACvE,CAIcQ,CAAcF,EAAYx6B,EAAKy6B,GAC3C,OAAOA,EAAYp7B,EAAMo7B,GAAWz6B,GAAOX,EAAMW,EACnD,8JC1FA,MAAMqG,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAEf,SAASC,EAASjjB,GAC7B,GAAIA,GAASA,EAAM+b,MAAO,CAEtB,GAAI,uBAAwB/b,EAAM+b,MAC9B,OAAO/b,EAAM+b,MAAMmH,mBAGlB,GAAI,SAAUljB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MAC/D,OAAOjW,EAAM+b,KAErB,CAEA,MAAO,CAAE9F,KAAM8M,EACnB,CCFe,SAAS/V,EAAOmW,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflCpjB,IACJ,MAAM+b,EAAQkH,EAASjjB,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC5B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACJ,CACA,MAAO,EAAE,EAXjB,IAAwByiB,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQnjB,IAEJ,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACrB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACA,MAAO,EAAE,CAEjB,CC/BO,MAIM4e,EAAO,UAQPE,EAAO,UAQPE,EAAO,UAMPG,EAAO,UACPC,EAAO,UAEPC,EAAO,UAmBP7S,EAAK,UAEL+hB,EAAM,UASN/O,EAAO,UAGPC,EAAO,UAGPC,EAAO,UASPwT,EAAO,wBAgBPnT,EAAQ,UAGRE,EAAQ,UAORE,EAAO,UA0BPI,EAAanU,EAAO,CAAEC,MAAOG,EAAIF,KAxB1B,YAyBPkU,EAAmBpU,EAAO,CAAEC,MAvGtB,UAuGkCC,KAtGlC,YAuGNmU,EAAkBrU,EAAO,CAAEC,MA7ErB,UA6EiCC,KA9BhC,YAgCP,GADoBF,EAAO,CAAEC,MAAOG,EAAIF,KAAM6T,IACvC/T,EAAO,CAAEC,MA/DT,UA+DsBC,KAAMyT,KACnCsV,EAAYjpB,EAAO,CAAEC,MAAOqT,EAAMpT,KAAMyT,IACxCuV,EAAalpB,EAAO,CAAEC,MAAOgT,EAAM/S,KAAM+S,IAC5BjT,EAAO,CAAEC,MAAOmT,EAAMlT,KAAM2T,IACvB7T,EAAO,CAAEC,MA5EpB,UA4EiCC,KAxChC,YAyCEF,EAAO,CAAEC,MAAOqT,EAAMpT,KAAMyT,IACtB3T,EAAO,CAAEC,MAAOmT,EAAMlT,KAAM2T,IAChC7T,EAAO,CAAEC,MAAOkiB,EAAKjiB,KAAM6T,IAChC/T,EAAO,CAAEC,MAAOgT,EAAM/S,KAAM6S,IACvB/S,EAAO,CAAEC,MA/Gd,UA+G2BC,KAAM8S,IAC3BhT,EAAO,CAAEC,MA9Gf,UA8G4BC,KAAM6S,IAC3B/S,EAAO,CAAEC,MAAO8S,EAAM7S,KAAM8S,IAChChT,EAAO,CAAEC,MAAOgT,EAAM/S,KAAM6S,IAC/B/S,EAAO,CAAEC,MAAOgT,EAAM/S,KAAM6S,IAC5B/S,EAAO,CAAEC,MApGT,UAoGsBC,KArGtB,YAsGEF,EAAO,CAAEC,MA7GX,UA6GwBC,KA/GxB,YAgHDF,EAAO,CAAEC,MAAOuS,EAAMtS,KAAMsS,IACzBxS,EAAO,CAAEC,MAAOyS,EAAMxS,KAAMwS,IAC7B1S,EAAO,CAAEC,MAAO2S,EAAM1S,KAAM0S,wFCpJ1C,MASM7I,EAAe,IAAM,EACrBwK,EAAW,IAAM,EACjBwJ,EAAW,IAAM,GACjB6N,EAAgB,IAAM,4ECXnC,MAMA,EANwB54B,GACF,gBAAoB,IAAoB,CAC1DwO,QAAQ,GACPxO,EAAMW,oFCHI,SAASf,IAAQ,2BCFhC,MAAMy3C,EAAwB,CAAC,ECchB,SAASC,EAAgBC,GAEtC,ODLa,SAAoBC,GACjC,MAAMp1C,GAAM,IAAAkjB,QAAO+xB,GAMnB,OAJIj1C,EAAIuD,UAAY0xC,IAClBj1C,EAAIuD,QCAuB4xC,GDGtBn1C,CACT,CCJcq1C,GACD9xC,OACb,CCPe,SAAS+xC,EAAYC,GAClC,MAAO/2C,EAAOg3C,IAAY,IAAAC,UAASF,GAC7BG,GAAW,IAAAxyB,QAAO1kB,GAExB,OADAk3C,EAASnyC,QAAU/E,EACZ,CAACk3C,EAAUF,EACpB,gBCCA,MAAMG,EAAqB,kDCjBhBC,EAAc,kBACdC,EAAiB,qCCDjBC,EAAU,SAAiB1b,GAEpC,IADA,IAAI2b,EAAM3yC,MAAMg3B,EAAEt4B,QACTggB,EAAI,EAAGA,EAAIsY,EAAEt4B,SAAUggB,EAC9Bi0B,EAAIj0B,GAAKsY,EAAEtY,GAEb,OAAOi0B,CACT,EAQWC,EAAU,SAAiB5b,GACpC,OAAOh3B,MAAMiD,QAAQ+zB,GAAKA,EAAI,CAACA,EACjC,EChBA,IAAI6b,EAA4B,mBAAX5zB,QAAoD,iBAApBA,OAAOC,SAAwB,SAAUhG,GAAO,cAAcA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,mBAAX+F,QAAyB/F,EAAI3e,cAAgB0kB,QAAU/F,IAAQ+F,OAAO5iB,UAAY,gBAAkB6c,CAAK,EAKvQ45B,EAAe,SAASA,EAAaC,GAEvC,IADA,IAAIC,EAAID,EAAMr0C,OACLggB,EAAI,EAAGA,EAAIs0B,EAAGt0B,GAAK,EAa1B,IAZA,IAAIu0B,EAAQ,SAAehc,GACzB,GAAIvY,IAAMuY,GACJ8b,EAAMr0B,GAAGopB,SAASiL,EAAM9b,IAC1B,MAAO,CACLV,EAAGuc,EAAaC,EAAMv0C,QAAO,SAAUyU,GACrC,OAAOA,IAAM8/B,EAAM9b,EACrB,KAIR,EAESA,EAAI,EAAGA,EAAI+b,EAAG/b,GAAK,EAAG,CAC7B,IAAIic,EAAOD,EAAMhc,GAEjB,GAAoE,iBAA/C,IAATic,EAAuB,YAAcL,EAAQK,IAAqB,OAAOA,EAAK3c,CAC5F,CAEF,OAAOwc,CACT,EAEII,EAAe,SAASA,EAAatzC,GACvC,OAAOA,EAAKuzC,WAAaD,EAAatzC,EAAKuzC,YAAcvzC,CAC3D,EAWA,QAT0B,SAA6BA,GAErD,OADY+yC,EAAQ/yC,GACPrB,OAAOiN,SAAS5M,QAAO,SAAU4G,EAAK4tC,GACjD,IAAIrF,EAAQqF,EAAYpH,aAAauG,GAErC,OADA/sC,EAAI8Z,KAAKhgB,MAAMkG,EAAKuoC,EAAQ8E,EAAaJ,EAAQS,EAAaE,GAAalF,iBAAiB,IAAMqE,EAAc,KAAOxE,EAAQ,WAAayE,EAAiB,mBAAqB,CAACY,IAC5K5tC,CACT,GAAG,GACL,ECrCA,IAAI6tC,EAAe,SAAsBC,GACvC,OAAOA,IAAUvuC,SAASwuC,aAC5B,ECHO,IAAIC,EAAU,SAAiBzc,EAAG/Y,GACvC,IAAIy1B,EAAU1c,EAAEnf,SAAWoG,EAAEpG,SACzB87B,EAAY3c,EAAEuV,MAAQtuB,EAAEsuB,MAE5B,GAAImH,EAAS,CACX,IAAK1c,EAAEnf,SAAU,OAAO,EACxB,IAAKoG,EAAEpG,SAAU,OAAQ,CAC3B,CAEA,OAAO67B,GAAWC,CACpB,EAEWC,EAAkB,SAAyBb,EAAOc,EAAgBC,GAC3E,OAAOpB,EAAQK,GAAOnF,KAAI,SAAU/tC,EAAM0sC,GACxC,MAAO,CACL1sC,KAAMA,EACN0sC,MAAOA,EACP10B,SAAUi8B,IAAiC,IAAnBj0C,EAAKgY,UAAmBhY,EAAKk0C,SAAW,CAAC,GAAGC,WAAa,GAAK,EAAIn0C,EAAKgY,SAEnG,IAAGrZ,QAAO,SAAUtC,GAClB,OAAQ23C,GAAkB33C,EAAK2b,UAAY,CAC7C,IAAGo8B,KAAKR,EACV,ECxBA,SAAgB,iCAAkC,iCAAkC,mCAAoC,gCAAiC,UAAW,aAAc,SAAU,SAAU,QAAS,aAAc,oBAAqB,eCIlP,IAAIS,EAAiBC,EAAUhsB,KAAK,KAChCisB,EAAsBF,EAAiB,uBAEhCG,EAAgB,SAAuBC,EAASC,GACzD,OAAOD,EAAQz1C,QAAO,SAAU4G,EAAKqB,GACnC,OAAOrB,EAAI5E,OAEX6xC,EAAQ5rC,EAAOqnC,iBAAiBoG,EAAaH,EAAsBF,IAEnEptC,EAAOssC,WAAaV,EAAQ5rC,EAAOssC,WAAWjF,iBAAiBgG,EAAUhsB,KAAK,OAAO3pB,QAAO,SAAUqB,GACpG,OAAOA,IAASiH,CAClB,IAAK,GACP,GAAG,GACL,ECNW4D,EAAY,SAASA,EAAU7K,GACxC,OAAQA,GAAQA,IAASmF,UAAYnF,EAAK20C,WAAa5M,KAAK6M,kBARfC,EAQiDjuC,OAAOkuC,iBAAiB90C,EAAM,QAPrG60C,EAAcE,mBAGgB,SAA9CF,EAAcE,iBAAiB,YAA0E,WAAjDF,EAAcE,iBAAiB,iBAIwClqC,EAAU7K,EAAKuzC,YARjI,IAAyBsB,CAS/C,EAMIG,EAAa,SAASA,EAAWh1C,GACnC,IAAIy0C,EAAUj1C,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,GAAmBA,UAAU,GAAK,GAMlF,OAJAi1C,EAAQ/0B,KAAK1f,GACTA,EAAKuzC,YACPyB,EAAWh1C,EAAKuzC,WAAYkB,GAEvBA,CACT,EAEWQ,EAAkB,SAAyBC,EAAOC,GAI3D,IAHA,IAAIC,EAAWJ,EAAWE,GACtBG,EAAWL,EAAWG,GAEjBt2B,EAAI,EAAGA,EAAIu2B,EAASv2C,OAAQggB,GAAK,EAAG,CAC3C,IAAIy2B,EAAgBF,EAASv2B,GAC7B,GAAIw2B,EAASh/B,QAAQi/B,IAAkB,EACrC,OAAOA,CAEX,CACA,OAAO,CACT,EAEWC,EAAkB,SAAyBrC,GACpD,OAAOL,EAAQK,GAAOv0C,QAAO,SAAUqB,GACrC,OAAO6K,EAAU7K,EACnB,IAAGrB,QAAO,SAAUqB,GAClB,OA/BwB,SAAwBA,GAClD,SAA2B,UAAjBA,EAAKw1C,SAAwC,WAAjBx1C,EAAKw1C,WAAwC,WAAdx1C,EAAK0kB,MAAqB1kB,EAAKsY,UACtG,CA6BWm9B,CAAez1C,EACxB,GACF,EAEW01C,EAAmB,SAA0BC,EAAUjB,GAChE,OAAOX,EAAgBwB,EAAgBf,EAAcmB,EAAUjB,KAAc,EAAMA,EACrF,ECpDIkB,EAAU,SAAiB51C,GAC7B,MAAwB,UAAjBA,EAAKw1C,SAAqC,UAAdx1C,EAAK0kB,IAC1C,EAEImxB,EAAoB,SAA2B71C,EAAMkzC,GACvD,OAAOA,EAAMv0C,OAAOi3C,GAASj3C,QAAO,SAAUm3C,GAC5C,OAAOA,EAAGz4C,OAAS2C,EAAK3C,IAC1B,IAAGsB,QAAO,SAAUm3C,GAClB,OAAOA,EAAGlb,OACZ,IAAG,IAAM56B,CACX,EAWW+1C,EAAgB,SAAuB7C,EAAOxG,GACvD,OAAIwG,EAAMr0C,OAAS,GACb+2C,EAAQ1C,EAAMxG,KAAWwG,EAAMxG,GAAOrvC,KACjC61C,EAAM78B,QAAQw/B,EAAkB3C,EAAMxG,GAAQwG,IAGlDxG,CACT,EAEA,QAlBqB,SAAwBwG,GAC3C,OAAIA,EAAM,IAAMA,EAAMr0C,OAAS,GACzB+2C,EAAQ1C,EAAM,KAAOA,EAAM,GAAG71C,KACzBw4C,EAAkB3C,EAAM,GAAIA,GAGhCA,EAAM,EACf,ECdA,IAMI8C,EAAU,SAAiBh2C,GAC7B,OAAOA,GAAQA,EAAKk0C,SAAWl0C,EAAKk0C,QAAQC,UAC9C,EACI8B,EAAY,SAAmBj2C,GACjC,OAAQg2C,EAAQh2C,EAClB,EA8DIk2C,EAAqB,SAA4BC,EAAmBC,EAAWC,GACjF,IAAIC,EAAiBvD,EAAQoD,GACzBI,EAAcxD,EAAQqD,GACtBzC,EAAgB2C,EAAe,GAC/BE,EAAY,KAchB,OAbAD,EAAY53C,OAAOiN,SAAS9N,SAAQ,SAAU24C,GAC5CD,EAAYvB,EAAgBuB,GAAaC,EAAOA,IAAUD,EAC1DH,EAAa13C,OAAOiN,SAAS9N,SAAQ,SAAU44C,GAC7C,IAAIC,EAAS1B,EAAgBtB,EAAe+C,GACxCC,IAEAH,GADGA,GAAaG,EAAO1O,SAASuO,GACpBG,EAEA1B,EAAgB0B,EAAQH,GAG1C,GACF,IACOA,CACT,EAmFA,QAvCoB,SAAuBI,EAASC,GAClD,IAAIlD,EAAgBxuC,UAAYA,SAASwuC,cACrCmD,EAAU,EAAoBF,GAASj4C,OAAOs3C,GAE9Cc,EAAeb,EAAmBvC,GAAiBiD,EAASA,EAASE,GAErEE,EAAgBtB,EAAiBoB,GAASn4C,QAAO,SAAUioC,GAC7D,IAAI5mC,EAAO4mC,EAAM5mC,KACjB,OAAOi2C,EAAUj2C,EACnB,IAEA,GAAKg3C,EAAc,KACjBA,GFnG0DrB,EEmGtBmB,EFlG/B/C,EAAgBwB,EAAgBf,EAAcmB,KAAY,IEkGlBh3C,QAAO,SAAUs4C,GAC5D,IAAIj3C,EAAOi3C,EAAMj3C,KACjB,OAAOi2C,EAAUj2C,EACnB,KACmB,GALrB,CFlG+B,IAA6B21C,EEmDrBuB,EAAUC,EAC7CC,EArGyCC,EA6JzCC,EAAa5B,EAAiB,CAACqB,IAAehJ,KAAI,SAAUwJ,GAE9D,OADWA,EAAMv3C,IAEnB,IACIw3C,GA7DmCN,EA6DCI,EA7DSH,EA6DGH,EA5DhDI,EAAQ,IAAIK,IAEhBN,EAASr5C,SAAQ,SAAU45C,GACzB,OAAON,EAAM5e,IAAIkf,EAAO13C,KAAM03C,EAChC,IAEOR,EAASnJ,KAAI,SAAU/tC,GAC5B,OAAOo3C,EAAM9e,IAAIt4B,EACnB,IAAGrB,OAAOiN,UAqDN+rC,EAAaH,EAAqBzJ,KAAI,SAAU6J,GAElD,OADWA,EAAM53C,IAEnB,IAEI63C,EA1JgB,SAAkBF,EAAYL,EAAY3D,EAAekD,EAAUiB,GACvF,IAAIC,EAAMJ,EAAW94C,OACjBm5C,EAAaL,EAAW,GACxBM,EAAYN,EAAWI,EAAM,GAC7BG,EAAYlC,EAAQrC,GAGxB,KAAIgE,EAAWthC,QAAQs9B,IAAkB,GAAzC,CAIA,IAAIwE,EAAcb,EAAWjhC,QAAQs9B,GACjCyE,EAAYd,EAAWjhC,QAAQwgC,GAAYsB,GAC3CE,EAAiBV,EAAWthC,QAAQwgC,GACpC/C,EAAYqE,EAAcC,EAC1BE,EAAiBhB,EAAWjhC,QAAQ2hC,GACpCO,EAAgBjB,EAAWjhC,QAAQ4hC,GAEnCO,EAAkBzC,EAAc4B,EAAY,GAC5Cc,EAAiB1C,EAAc4B,EAAYI,EAAM,GAGrD,OAAqB,IAAjBI,IAA0C,IAApBE,EACjBV,EAAWthC,QAAQyhC,GAAeA,EAAYj5C,OAAS,EAAei5C,GAAe,EAAeH,KAGxG7D,GAAauE,GAAkB,EAC3BA,EAGLF,GAAeG,GAAkBJ,GAAa7T,KAAKqU,IAAI5E,GAAa,EAC/D2E,EAGLN,GAAeG,GAAkBJ,GAAa7T,KAAKqU,IAAI5E,GAAa,EAC/D0E,EAGL1E,GAAazP,KAAKqU,IAAI5E,GAAa,EAC9BuE,EAGLF,GAAeG,EACVG,EAGLN,EAAcI,EACTC,EAGL1E,EACEzP,KAAKqU,IAAI5E,GAAa,EACjBuE,GAEDN,EAAMM,EAAiBvE,GAAaiE,OAJ9C,CAzCA,CAiDF,CAgGcY,CAAShB,EAAYL,EAAY3D,EAAekD,EAAUc,EAAWh5C,QAvKpC04C,EA8FjB,SAAiCP,GAC7D,OAAOA,EAAQ93C,QAAO,SAAU4G,EAAK5F,GACnC,OAAO4F,EAAI5E,OF3CmB,SAA8B41C,GAC9D,OAAOrB,GDvCHqD,ECuC2ChC,EDvCtBtI,iBAAiB,2BACnCuE,EAAQ+F,GAAa7K,KAAI,SAAU/tC,GACxC,OAAOw0C,EAAc,CAACx0C,GACxB,IAAGhB,QAAO,SAAU4G,EAAKstC,GACvB,OAAOttC,EAAI5E,OAAOkyC,EACpB,GAAG,MANgC,IAC/B0F,CCwCN,CEyCsBC,CAAqB74C,GACzC,GAAG,GACL,CAqE0G84C,CAAwBhC,GAtKzH,SAAU92C,GACf,QAASA,EAAK+4C,WAAa/4C,EAAKk0C,WAAal0C,EAAKk0C,QAAQ6E,WAAa1B,EAAehhC,QAAQrW,IAAS,CACzG,KAsKA,YAAciB,IAAV42C,EACKA,EAEFL,EAAqBK,EAjB5B,CAkBF,EChLO,IAOHmB,EAAa,EACbC,GAAe,ECVZ,SAASC,EAAY5vC,GAE1B,IAAI6vC,EAAevyC,OAAOuyC,kBAEE,IAAjBA,EACTA,EAAa7vC,GAEb8vC,WAAW9vC,EAAQ,EAEvB,CACO,ICAH+vC,EAAc,WAChB,OAJOl0C,UAAYA,SAASwuC,gBAAkBxuC,SAASO,MCHhDP,UAAY0tC,EAAQ1tC,SAASmpC,iBAAiB,yBAA0BgL,MAAK,SAAUt5C,GAC5F,OAAOA,EAAKioC,SAAS9iC,SAASwuC,cAChC,GDMF,EAEI4F,EAAiB,KACjBC,EAAkB,KAClBC,EAAsB,KACtBC,GAAwB,EAExBC,GAAmB,WACrB,OAAO,CACT,EAiBA,SAASC,GAAUC,EAAYC,EAAKhkB,EAAMikB,GACxC,IAAIC,EAAY,KACZn7B,EAAIg7B,EAER,EAAG,CACD,IAAI5jC,EAAO8jC,EAASl7B,GAEpB,GAAI5I,EAAKgkC,MACHhkC,EAAKjW,KAAKk0C,QAAQgG,iBACpBF,EAAY/jC,OAET,KAAIA,EAAKkkC,SAQd,MAPA,GAAIt7B,IAAMg7B,EAER,OAGFG,EAAY,IAGd,CACF,QAAUn7B,GAAKiX,KAAUgkB,GAErBE,IACFA,EAAUh6C,KAAKgY,SAAW,EAE9B,CAEA,IAAIoiC,GAAa,SAAoBr9C,GACnC,OAAOA,GAAO,YAAaA,EAAMA,EAAIuD,QAAUvD,CACjD,EAEIs9C,GAAe,WACjB,IH8CoDzD,EAChDE,EACAC,EACAO,EACAN,EGvFiDl1C,EAqCjDk0B,GAAS,EAEb,GAAIujB,EAAgB,CAClB,IAAIe,EAAkBf,EAClBgB,EAAWD,EAAgBC,SAC3BC,EAAkBF,EAAgBE,gBAClCt3B,EAAYo3B,EAAgBp3B,UAC5Bu3B,EAASH,EAAgBG,OACzBC,EAAcH,GAAYd,GAAuBA,EAAoBkB,gBACrEhH,EAAgBxuC,UAAYA,SAASwuC,cAEzC,GAAI+G,EAAa,CACf,IAAIE,EAAc,CAACF,GAAa15C,OAAOy5C,EAAO1M,IAAIqM,IAAYz7C,OAAOiN,UAmBrE,GAjBK+nC,IA9DY,SAA0BA,GAC/C,OAAQ4F,EAAesB,WAAalB,IAAkBhG,EACxD,CA4D4BmH,CAAiBnH,KACjC6G,GAAmBd,IAA0BL,MAAkBG,GAAmBt2B,MAChFw3B,GT5EI,SAAqB9D,GACrC,IAAIjD,EAAgBxuC,UAAYA,SAASwuC,cAEzC,SAAKA,GAAiBA,EAAcO,SAAWP,EAAcO,QAAQC,aAG9D,EAAoByC,GAAS53C,QAAO,SAAUg3B,EAAQh2B,GAC3D,OAAOg2B,GAAUh2B,EAAKioC,SAAS0L,IAXX,SAA2BiD,GACjD,OFAwCmE,EEArBlI,EAAQ+D,EAAQtI,iBAAiB,WFAL0M,EEAiBvH,IFCzDsH,EAAMp8C,QAAO,SAAUw4B,GAC5B,OAAOA,IAAM6jB,CACf,IAAG,GAHkB,IAAmBD,EAAOC,CECjD,CASqDC,CAAkBj7C,EACrE,IAAG,EACL,CSmE+B,CAAY46C,KArDY94C,EAqDwB6xC,EApDtE8F,GAAuBA,EAAoBkB,kBAAoB74C,KAqDxDqD,WAAaq0C,GAAmB7F,IAAkBzwB,GACpDywB,EAAc79B,OACd3Q,SAASO,KAAKqQ,UAEdigB,EFhFd,SAA0B4gB,EAASC,GACjC,IAXoCvrC,EAWhCihB,EAAY,EAAcqqB,EAASC,GAEvC,IAAIoC,GAIA1sB,EAAW,CACb,GAAIysB,EAAa,EAOf,OALAx7C,QAAQsc,MAAM,qJACdm/B,GAAe,OACfG,YAAW,WACTH,GAAe,CACjB,GAAG,GAGLD,KA3BkC1tC,EA4B1BihB,EAAUvsB,MA3Bb+V,QACHzK,EAAO4vC,eACT5vC,EAAO4vC,cAAcnlC,QA0BrBijC,GACF,CACD,CE2DsB,CAAgB4B,EAAapB,GACtCC,EAAsB,CAAC,IAI3BC,GAAwB,EACxBF,EAAkBr0C,UAAYA,SAASwuC,eAIvCxuC,SAAU,CACZ,IAAIg2C,EAAmBh2C,UAAYA,SAASwuC,cACxCoG,GHcNjD,EAAU,EADsCF,EGbfgE,GHcMj8C,OAAOs3C,GAC9Cc,EAAeb,EAAmBU,EAASA,EAASE,GACpDQ,EAAa5B,EAAiB,CAACqB,IAAe,GAC9CC,EAAgBtB,EAAiBoB,GAASn4C,QAAO,SAAUmF,GAC7D,IAAI9D,EAAO8D,EAAK9D,KAChB,OAAOi2C,EAAUj2C,EACnB,IAAG+tC,KAAI,SAAUrH,GAEf,OADWA,EAAM1mC,IAEnB,IAEOs3C,EAAWvJ,KAAI,SAAUpH,GAC9B,IAAI3mC,EAAO2mC,EAAM3mC,KAEjB,MAAO,CACLA,KAAMA,EACN0sC,MAHU/F,EAAM+F,MAIhByN,SAAUnD,EAAc3gC,QAAQrW,IAAS,EACzCi6C,MAAOjE,EAAQh2C,GAEnB,KGjCUysC,EAAcsN,EAASqB,MAAK,SAAUt3C,GAExC,OADWA,EAAK9D,OACAm7C,CAClB,IAEA,GAAI1O,EAAa,CAEfsN,EAASp7C,QAAO,SAAU+nC,GACxB,IAAIuT,EAAQvT,EAAMuT,MACdj6C,EAAO0mC,EAAM1mC,KACjB,OAAOi6C,GAASj6C,EAAKk0C,QAAQgG,cAC/B,IAAGp8C,SAAQ,SAAU6oC,GAEnB,OADWA,EAAM3mC,KACLq7C,gBAAgB,WAC9B,IACA,IAAIC,EAAevB,EAAS1jC,QAAQo2B,GACpCmN,GAAU0B,EAAcvB,EAASl7C,OAAQ,EAAIk7C,GAC7CH,GAAU0B,GAAe,GAAI,EAAGvB,EAClC,CACF,CACF,CACF,CAEA,OAAO/jB,CACT,EAEIulB,GAAS,SAAgBrgD,GACvBm/C,MAAkBn/C,IAEpBA,EAAM+nB,kBACN/nB,EAAM4nB,iBAEV,EAEWlV,GAAS,WAClB,OAAOsrC,EAAYmB,GACrB,EA2BImB,GAAe,WACjB9B,GAAwB,CAC1B,EAiDA,UAAe,QAnCf,SAA4B+B,GAC1B,OAAOA,EAAU98C,QAAO,SAAUs4C,GAEhC,OADeA,EAAM3+B,QAEvB,IAAGojC,OAAO,GAAG,EACf,IAEA,SAAmCC,GAC7BA,IAASpC,IAnBbp0C,SAASwH,iBAAiB,UAAW4uC,IAAQ,GAC7Cp2C,SAASwH,iBAAiB,WAAYiB,IACtChH,OAAO+F,iBAAiB,OAAQ6uC,KAqBhC,IAAII,EAAWrC,EACXsC,EAAWD,GAAYD,GAAQA,EAAKG,eAAiBF,EAASE,aAClEvC,EAAiBoC,EAEbC,IAAaC,GACfD,EAASG,iBAGPJ,GACFnC,EAAkB,KAEbqC,GAAYD,EAASrB,WAAaoB,EAAKpB,UAC1CoB,EAAKG,eAGPzB,KACAnB,EAAYmB,MAjCdl1C,SAAS0H,oBAAoB,UAAW0uC,IAAQ,GAChDp2C,SAAS0H,oBAAoB,WAAYe,IACzChH,OAAOiG,oBAAoB,OAAQ2uC,IAkCjChC,EAAkB,KAEtB,GAEA,EAnEmB,WACjB,OAAO,IACT,IExJO,IAAIwC,GAAc,CACvB5xC,MAAO,MACPC,OAAQ,MACRsd,QAAS,EACTvC,SAAU,SACV5kB,SAAU,QACVC,IAAK,MACLC,KAAM,OAGJu7C,GAAe,SAAsBn4C,GACvC,IAAIxI,EAAWwI,EAAKxI,SACpB,OAAO,gBAAoB,WAAgB,KAAM,gBAAoB,MAAO,CAC1E+b,IAAK,cACL,oBAAoB,EACpB,yBAAyB,EACzB/T,MAAO04C,KACL1gD,EAAUA,GAAY,gBAAoB,MAAO,CACnD+b,IAAK,aACL,oBAAoB,EACpB,yBAAyB,EACzB/T,MAAO04C,KAEX,EAEAC,GAAaC,UAET,CAAC,EACLD,GAAar8C,aAAe,CAC1BtE,SAAU,MCrBZ,IAAI6gD,GAAiB,SAAwBr4C,GAC3C,IAAIxI,EAAWwI,EAAKxI,SACpB,OAAO,gBAAoB,MAAO,KAAMA,EAC1C,EAEA6gD,GAAeD,UAEX,CAAC,EACL,IAAIzN,GAAW,WAAiB,WAAiB0N,GAC7CC,GAAa,GAEbC,GAEJ,SAAUlY,GAGR,SAASkY,IAGP,IAFA,IAAIpgD,EAEKiE,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAqDzB,OAlDAnE,EAAQkoC,EAAWjoC,KAAKwD,MAAMykC,EAAY,CAACtpC,MAAMmG,OAAO1B,KAAUzE,MAElE,QAAgB,QAAuB,OAAuBoB,IAAS,QAAS,CAC9Es+C,cAAUt5C,KAGZ,QAAgB,QAAuB,OAAuBhF,IAAS,gBAAgB,WACrFA,EAAMqgD,uBAAyBrgD,EAAMqgD,wBAA0Bn3C,UAAYA,SAASwuC,cAEhF13C,EAAMM,MAAMg+C,UAAYt+C,EAAMtB,MAAMmhD,cACtC7/C,EAAMtB,MAAMmhD,aAAa7/C,EAAMM,MAAMg+C,UAGvCt+C,EAAMkU,UAAW,CACnB,KAEA,QAAgB,QAAuB,OAAuBlU,IAAS,kBAAkB,WACvFA,EAAMkU,UAAW,EAEblU,EAAMtB,MAAM4hD,aAAetgD,EAAMqgD,wBAA0BrgD,EAAMqgD,uBAAuBvmC,QAC1F9Z,EAAMqgD,uBAAuBvmC,QAE7B9Z,EAAMqgD,uBAAyB,MAG7BrgD,EAAMtB,MAAMohD,gBACd9/C,EAAMtB,MAAMohD,eAAe9/C,EAAMM,MAAMg+C,SAE3C,KAEA,QAAgB,QAAuB,OAAuBt+C,IAAS,WAAW,SAAUf,GACtFe,EAAMkU,UH8EK,SAAiBjV,GAEpC,IAAIyuC,EAASzuC,EAAMoQ,OACfkoC,EAAct4C,EAAMumB,cAEnB+xB,EAAYvL,SAAS0B,KAvH1B8P,EAAsB,CACpB+C,aAuHahJ,EAtHbmH,gBAsH0BhR,GAE9B,CGrFQh8B,CAAQzS,EAEZ,KAEA,QAAgB,QAAuB,OAAuBe,IAAS,SAAU2R,KAEjF,QAAgB,QAAuB,OAAuB3R,IAAS,kBAAkB,SAAUs+C,GAC7Ft+C,EAAMM,MAAMg+C,WAAaA,GAC3Bt+C,EAAMwF,SAAS,CACb84C,SAAUA,GAGhB,KAEA,QAAgB,QAAuB,OAAuBt+C,IAAS,YAAY,IAEnF,QAAgB,QAAuB,OAAuBA,IAAS,yBAA0B,MAE1FA,CACT,CAqEA,OAjIA,OAAeogD,EAAWlY,GA8DbkY,EAAU7/C,UAEhBnB,OAAS,WACd,IAAIohD,EAEAta,EAActnC,KAAKF,MACnBW,EAAW6mC,EAAY7mC,SACvBgd,EAAW6pB,EAAY7pB,SACvBokC,EAAgBva,EAAYua,cAC5BlC,EAAkBrY,EAAYqY,gBAC9Bt3B,EAAYif,EAAYjf,UAExBirB,GADqBhM,EAAYwa,mBACzBxa,EAAYgM,OACpBrgC,EAAYq0B,EAAYr0B,UACxB+sC,EAAY1Y,EAAY0Y,UACxB+B,EAAqBza,EAAYsY,OACjCA,OAAgC,IAAvBmC,EAAgCR,GAAaQ,EACtDC,EAAiB1a,EAAY2a,GAC7BC,OAA+B,IAAnBF,EAA4B,MAAQA,EAChDG,EAAwB7a,EAAY8a,UACpCC,OAA2C,IAA1BF,EAAmC,CAAC,EAAIA,EACzDzC,EAAW1/C,KAAK0B,MAAMg+C,SAStB0C,GAAY,SAAUR,EAAY,CAAC,GAAa,GAA4BnkC,GAAY,WAAYmkC,EAAU,GAAyBtO,EAAOsO,GAAYS,GAE1JC,GAAqC,IAAlBT,EACnBU,EAAmBD,GAAsC,SAAlBT,EAC3C,OAAO,gBAAoBjO,GAAU,KAAM0O,GAAoB,CAAC,gBAAoB,MAAO,CACzF9lC,IAAK,cACL,oBAAoB,EACpBW,SAAUM,GAAY,EAAI,EAC1BhV,MAAO04C,KAET,gBAAoB,MAAO,CACzB3kC,IAAK,gBACL,oBAAoB,EACpBW,SAAUM,GAAY,EAAI,EAC1BhV,MAAO04C,MACJ,gBAAoBe,GAAW,OAAS,CAC3ChgD,IAAKlC,KAAKwiD,gBACTJ,EAAW,CACZnvC,UAAWA,EACXF,OAAQ/S,KAAK+S,OACbD,QAAS9S,KAAK8S,UACZ,gBAAoB,GAAW,CACjC4sC,SAAUA,EACVjiC,SAAUA,EACVkiC,gBAAiBA,EACjBt3B,UAAWA,EACX23B,UAAWA,EACXJ,OAAQA,EACRqB,aAAcjhD,KAAKihD,aACnBC,eAAgBlhD,KAAKkhD,iBACnBzgD,GAAW8hD,GAAoB,gBAAoB,MAAO,CAC5D,oBAAoB,EACpBplC,SAAUM,GAAY,EAAI,EAC1BhV,MAAO04C,KAEX,EAEOK,CACT,CAnIA,CAmIE,EAAA5hD,WAEF4hD,GAAUH,UAgBN,CAAC,EACLG,GAAUz8C,aAAe,CACvB0Y,UAAU,EACVikC,aAAa,EACbG,eAAe,EACfx5B,WAAW,EACXs3B,iBAAiB,EACjBmC,wBAAoB17C,EACpBktC,WAAOltC,EACP6M,eAAW7M,EACX45C,eAAW55C,EACXw5C,YAAQx5C,EACR67C,GAAI,MACJG,UAAW,CAAC,EACZnB,kBAAc76C,EACd86C,oBAAgB96C,GAElB,MCvLA,GDuLA,+BEtLe,MAAM/C,GACnBxD,YAAYC,IACV,OAAgBE,KAAM,qBAAqB,IAE3C,OAAgBA,KAAM,SAAS,KAG7B,MAAMY,EAAU,IAAKZ,KAAKY,SAE1B,OAAO,IAAIyC,GAAe,CACxBzC,WACA,IAGJZ,KAAKY,QAAUd,EAAMc,OACvB,CAEAuC,OAAOC,GAWL,MAVuB,mBAAZA,IACTpD,KAAKY,QAAUwC,EAAQpD,KAAKY,UAGP,iBAAZwC,IACTpD,KAAKY,QAAU,IAAKZ,KAAKY,WACpBwC,IAIApD,IACT,EC5Ba,MAAMyC,WAAyBY,GAC5CxD,YAAYC,GACVC,MAAMD,IAEN,OAAgBE,KAAM,uBAAuB,IAE7C,OAAgBA,KAAM,SAAS,KAC7B,GAAIA,KAAK0C,SAMP,OAAO,KAGT,MAAMtC,EAAU,IAAIJ,KAAKI,SACnByC,EAAW,IAAI7C,KAAK6C,UAOpBjC,EAAUkC,KAAKC,MAAMD,KAAKE,UAAUhD,KAAKY,UAC/C,OAAO,IAAI6B,GAAiB,CAC1BrC,UACAyC,WACAjC,WACA,KAGJ,OAAgBZ,KAAM,QAAQE,IACxBF,KAAK0C,WAST1C,KAAK6C,SAASI,SAAQC,GAAWA,EAAQlD,KAAME,KAC/CF,KAAK0C,UAAW,EAAI,IAGtB1C,KAAKI,QAAUN,EAAMM,SAAW,GAChCJ,KAAK6C,SAAW/C,EAAM+C,UAAY,GAClC7C,KAAK0C,UAAW,CAClB,CAEAS,OAAOC,GACL,OAAIpD,KAAK0C,SAMA1C,KAGFD,MAAMoD,OAAOC,EACtB,kBCpEK,MCDM+hB,GAAgBzkB,IAC3B,MAAMwB,GAAM,IAAAkjB,QAAO1kB,GAInB,OAHA,IAAA2kB,YAAU,KACRnjB,EAAIuD,QAAU/E,CAAK,GAClB,CAACA,IACGwB,CAAG,ECGL,SAASojB,IAA4B,GAC1ClgB,EAAE,OACFqJ,EAAM,cACNG,EAAa,cACbF,EAAa,YACbG,EAAW,eACXC,EAAc,cACdxM,IAEA,MAAM,qBACJzB,GChBG,WACL,MAAMuB,GHDC,IAAAogB,YAAW,MGSlB,MAAO,CACL3hB,sBAR2B,UAAeD,GACnC,IAAI6B,GAAiB,CAC1BrC,QAASgC,EAAiB3C,8BAC1BoD,SAAUT,EAAiB5C,oCAC3BoB,aAED,CAACwB,IAIN,CDKMmjB,GAKEC,EAAUL,GAAc7iB,GACxBmjB,EAAQN,GAAc/f,GAiC5B,OAhCgB,IAAAwd,cAAYliB,IAC1B,MAAMkE,EAAiB/D,EAAqB,CAC1C4N,SACAC,cAAeA,GAAiBE,EAChCD,WAAY,CACVC,gBACAC,cACAC,oBAME1O,EAAU,CACdwO,gBACAC,cACAC,oBACG0W,EAAQ/f,SAEbb,EAAexE,QAAQykB,KAAKzkB,GAE5B,MAAMY,EAAQ4D,EAAe5D,QAEzBA,GACFA,EAAMC,KAAK,YAGbwkB,EAAMhgB,QAAQ/E,EAAOkE,EAAe,GACnC,CACH6J,EAAQG,EAAeF,EAAeG,EAAaC,EACnDjO,EACA2kB,EAASC,GAEX,gBEvDe,SAASg9B,GAAUv1B,GAChC,OAAOxsB,IACLwsB,EAAKjqB,SAAQf,IACQ,mBAARA,EACTA,EAAIxB,GACa,OAARwB,IACTA,EAAIuD,QAAU/E,EAChB,GACA,CAEN,CCCe,SAASgiD,GAAiBt3C,EAAWisC,EAAUsL,IAC5D,IAAAt9B,YAAU,KACR/a,SAASwH,iBAAiB1G,EAAWisC,EAAUsL,GACxC,KACLr4C,SAAS0H,oBAAoB5G,EAAWisC,EAAUsL,EAAQ,IAE3D,CAACv3C,EAAWisC,EAAUsL,GAC3B,iBCVA,SAASC,KACP,IAAIC,EAAuBC,EAE3B,OAAO/2C,OAAOg3C,cAAuE,QAAtDF,EAAwBv4C,SAASqgC,uBAAuD,IAA1BkY,OAAmC,EAASA,EAAsBG,aAAoD,QAApCF,EAAiBx4C,SAASO,YAAqC,IAAnBi4C,OAA4B,EAASA,EAAeE,YAAc,CAC/R,iECVA,MAAMC,GAAqB,gBAAyB,EAAT,WACrCC,GAAsB,gBAAyB,EAAT,MAAa,OAqCnDC,GAAuBxtC,GAAc,EAAAC,GAAG;;eAE/BD,EAAa,EAAI,cAAcA,GAAc,MAAiB,QAAU;;yBAE9D;gCACO;KAC5B;EAGEytC,GAAuB,EAAAxtC,GAAG;SACvB;;;;;;eAMMqtC;gBACCC;;;;EAKVG,GAAiC,EAAAztC,GAAG;;;;;;;;;aAS7B;8BClEN,SAASe,GAAYuL,GAC1B,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAS/CuiB,GAA4B,IAAAC,eAAcJ,GAChD,SAASyD,EAASpD,GAIhB,QAHc,IAAAC,YAAWH,IACAF,GACFI,EAEzB,CAiCA,MAAO,CACLrZ,SA9BF,SAAkBpJ,GAChB,MAAM,SACJW,KACG8hB,GACDziB,EAIEmiB,EAAS0D,EAASpD,GAGxB,OAAoB,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GACzE,EAmBE/F,SAVF,SAAkBpc,GAChB,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAYL,GAAcG,EAAQD,EAASF,IAAa,CAACE,EAASC,IAClF,OAAoB,gBAAoBL,EAAanG,SAAU,CAC7Dxb,MAAOiiB,GACN7iB,EAAMW,SACX,EAIEklB,WAEJ,CC7DA,MAAM,SACJzJ,GAAQ,SACRhT,GAAQ,SACRyc,IACEhP,IAAY,KAAM,CACpBZ,KAAM,YAGR,IACEmG,YACAhT,6BCNa,MAAM,GACnBrJ,YAAYC,IACV,OAAgBE,KAAM,qBAAqB,IAC3C,OAAgBA,KAAM,SAAS,KAG7B,MAAMY,EAAU,IACXZ,KAAKY,SAEV,OAAO,IAAI,GAAe,CACxBA,WACA,IAEJZ,KAAKY,QAAUd,EAAMc,OACvB,CACAuC,OAAOC,GAUL,MATuB,mBAAZA,IACTpD,KAAKY,QAAUwC,EAAQpD,KAAKY,UAEP,iBAAZwC,IACTpD,KAAKY,QAAU,IACVZ,KAAKY,WACLwC,IAGApD,IACT,ECzBa,MAAM,WAAyB,GAC5CH,YAAYC,GACVC,MAAMD,IACN,OAAgBE,KAAM,uBAAuB,IAC7C,OAAgBA,KAAM,SAAS,KAC7B,GAAIA,KAAK0C,SAKP,OAAO,KAET,MAAMtC,EAAU,IAAIJ,KAAKI,SACnByC,EAAW,IAAI7C,KAAK6C,UAOpBjC,EAAUkC,KAAKC,MAAMD,KAAKE,UAAUhD,KAAKY,UAC/C,OAAO,IAAI,GAAiB,CAC1BR,UACAyC,WACAjC,WACA,KAEJ,OAAgBZ,KAAM,QAAQE,IACxBF,KAAK0C,WAOT1C,KAAK6C,SAASI,SAAQC,GAAWA,EAAQlD,KAAME,KAC/CF,KAAK0C,UAAW,EAAI,IAEtB1C,KAAKI,QAAUN,EAAMM,SAAW,GAChCJ,KAAK6C,SAAW/C,EAAM+C,UAAY,GAClC7C,KAAK0C,UAAW,CAClB,CACAS,OAAOC,GACL,OAAIpD,KAAK0C,SAKA1C,KAEFD,MAAMoD,OAAOC,EACtB,ECzDK,MCDM,GAAgB1C,IAC3B,MAAMwB,GAAM,IAAAkjB,QAAO1kB,GAInB,OAHA,IAAA2kB,YAAU,KACRnjB,EAAIuD,QAAU/E,CAAK,GAClB,CAACA,IACGwB,CAAG,ECGL,SAAS,IAA4B,GAC1CkD,EAAE,OACFqJ,EAAM,cACNG,EAAa,cACbF,EAAa,YACbG,EAAW,eACXC,EAAc,cACdxM,IAEA,MAAM,qBACJzB,GChBG,WACL,MAAMuB,GHDC,IAAAogB,YAAW,MGSlB,MAAO,CACL3hB,sBAR2B,UAAeD,GACnC,IAAI,GAAiB,CAC1BR,QAASgC,EAAiB3C,8BAC1BoD,SAAUT,EAAiB5C,oCAC3BoB,aAED,CAACwB,IAIN,CDKM,GAMEojB,EAAU,GAAcljB,GACxBmjB,EAAQ,GAAcrgB,GAoC5B,OAnCgB,IAAAwd,cAAYliB,IAC1B,MAAMkE,EAAiB/D,EAAqB,CAC1C4N,SACAC,cAAeA,GAAiBE,EAChCD,WAAY,CACVC,gBACAC,cACAC,oBAOE1O,EAAU,CACdwO,gBACAC,cACAC,oBACG0W,EAAQ/f,SAEbb,EAAexE,QAAQykB,KAAKzkB,GAG5B,MAAMY,EAAQ4D,EAAe5D,QACzBA,GACFA,EAAMC,KAAK,YAEbwkB,EAAMhgB,QAAQ/E,EAAOkE,EAAe,GACnC,CAEH6J,EAAQG,EAAeF,EAAeG,EAAaC,EAEnDjO,EAEA2kB,EAASC,GAEX,CE5De,SAAS,KAAQ,6BCFzB,MAAMC,GAAU,qBACV7C,GAAqB,QACrBC,GAAc,CAAC,QAAS,QCFtB,SAASC,GAASjjB,GAC/B,GAAIA,GAASA,EAAM+b,MAAO,CAExB,GAAI6J,MAAW5lB,EAAM+b,MACnB,OAAO/b,EAAM+b,MAAM6J,IAGhB,GAAI,SAAU5lB,EAAM+b,OAASiH,GAAYte,SAAS1E,EAAM+b,MAAM9F,MACjE,OAAOjW,EAAM+b,KAEjB,CAEA,MAAO,CACL9F,KAAM8M,GAEV,CCGe,SAAS/V,GAAOmW,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAlBoBE,EAkBEF,EAlBWG,EAkBKF,EAjBjCpjB,IACL,MAAM+b,EAAQkH,GAASjjB,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC9B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACF,OAAOA,CAEX,CACF,CAEA,MAAO,EAAE,EAbb,IAAwByiB,EAAaC,EAoBnC,MAAMC,EAAQJ,EACd,OAAOnjB,IAEL,MAAM+b,EAAQkH,GAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACvB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACF,OAAOA,CAEX,CACA,MAAO,EAAE,CAEb,CChCO,MAIM4e,GAAO,UACPC,GAAO,UACPwP,GAAO,UAMPH,GAAO,UACPpP,GAAO,UACPqP,GAAO,UAQPnP,GAAO,UAKP8P,GAAM,UACN5P,GAAM,UACN,GAAO,UACPE,GAAO,UACP2O,GAAO,UACP1O,GAAO,UACP2O,GAAO,UAqBPxhB,GAAK,UAEL+hB,GAAM,UAKNK,GAAM,UAINpP,GAAO,UAGPC,GAAO,UAEPmO,GAAO,UACPlO,GAAO,UAOPyN,GAAO,wBACP,GAAO,wBAoBPpN,GAAQ,UAERuN,GAAQ,UACRrN,GAAQ,UAERC,GAAQ,UAGRkN,GAAO,UACPK,GAAO,UACPtN,GAAO,UAEPC,GAAO,UAKPC,GAAM,UCzHnB,SAASuiC,GAAMjjD,GACbA,EAAM4nB,iBACN5nB,EAAM+nB,iBACR,CAEA,SAASm7B,GAAMljD,GADI,IAGbA,EAAMmjD,SAGVF,GAAMjjD,EACR,CDuI0ByM,GAAO,CAC/BC,MAAO,qBAAqBG,MAC5BF,KAAM,qBAAqB8T,QAMGhU,GAAO,CACrCC,MAAO,iCAAiCyiB,MACxCxiB,KAAM,iCAAiC4S,QAMV9S,GAAO,CACpCC,MAAO,gDACPC,KAAM,wCAAwC8gB,QAMfhhB,GAAO,CACtCC,MAAO,6BAA6BG,MACpCF,KAAM,6BAA6B6T,QAMjB/T,GAAO,CACzBC,MAAO,0BACPC,KAAM,kBAAkByT,QAMD3T,GAAO,CAC9BC,MAAO,kBAAkBqT,MACzBpT,KAAM,kBAAkByT,QAMA3T,GAAO,CAC/BC,MAAO,2BAA2BgT,MAClC/S,KAAM,2BAA2B+S,QAMTjT,GAAO,CAC/BC,MAAO,2BAA2BmT,MAClClT,KAAM,2BAA2B2T,QAMJ7T,GAAO,CACpCC,MAAO,2BAA2BmT,MAClClT,KAAM,qCAMeF,GAAO,CAC5BC,MAAO,kBAAkBqT,MACzBpT,KAAM,kBAAkByT,QAMG3T,GAAO,CAClCC,MAAO,2BAA2BmT,MAClClT,KAAM,2BAA2B2T,QAEV7T,GAAO,CAC9BC,MAAOkiB,GACPjiB,KAAM6T,KAMY/T,GAAO,CACzBC,MAAO,kBAAkBgT,MACzB/S,KAAM,kBAAkB,QAMDF,GAAO,CAC9BC,MAAO,0BAA0B0hB,MACjCzhB,KAAM,0BAA0B8S,QAMRhT,GAAO,CAC/BC,MAAO,0BAA0B2hB,MACjC1hB,KAAM,0BAA0B,QAMPF,GAAO,CAChCC,MAAO,4BAA4B,MACnCC,KAAM,4BAA4B8S,QAMbhT,GAAO,CAC5BC,MAAO,mCAAmCgT,MAC1C/S,KAAM,mCAAmC,QAEvBF,GAAO,CACzBC,MAAOgT,GACP/S,KAAM,KAEYF,GAAO,CACzBC,MAjOkB,UAkOlBC,KAnOkB,YAqOEF,GAAO,CAC3BC,MA9OkB,UA+OlBC,KAjPkB,YAmPDF,GAAO,CACxBC,MAAOuS,GACPtS,KAAMsS,KAEcxS,GAAO,CAC3BC,MAAOyS,GACPxS,KAAMwS,KAEa1S,GAAO,CAC1BC,MAAO2S,GACP1S,KAAM0S,KC5RR,MAAM+jC,GAAQ,CACZC,mBAAoBJ,GACpBK,iBAAkBL,GAGlBM,iBAAkBL,GAClBM,eAAgBN,GAChBO,oBAAqBR,GACrBS,kBAAmBT,GACnBU,qBAAsBV,GACtBW,mBAAoBX,GACpBY,eAAgBZ,GAEhB7wC,QAAS6wC,IAELa,GAAa,CAAC,ECxBdC,GAAW,2BA4TjB,GA3Te,CAEbnjC,WAAY,CACV4G,QAAS,CACPA,QAAS,CACP9a,MAAO,gCAAgC,MACvCC,KAAM,gCAAgC,OAExCihB,MAAO,CACLlhB,MAAO,wCAAwC,MAC/CC,KAAM,wCAAwC,OAEhDohB,OAAQ,CACNrhB,MAAO,wCAAwCq3C,MAC/Cp3C,KAAM,wCAAwC,OAEhDyQ,SAAU,CACR1Q,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCqhB,SAAU,CACRthB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCuhB,cAAe,CACbxhB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,QAG3CwhB,QAAS,CACP3G,QAAS,CACP9a,MAAO,mCAAmC,MAC1CC,KAAM,mCAAmC,OAE3CihB,MAAO,CACLlhB,MAAO,2CAA2C,MAClDC,KAAM,2CAA2C,OAEnDohB,OAAQ,CACNrhB,MAAO,2CAA2C,MAClDC,KAAM,2CAA2C,OAEnDyQ,SAAU,CACR1Q,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCqhB,SAAU,CACRthB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCuhB,cAAe,CACbxhB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,QAG3C2hB,QAAS,CACP9G,QAAS,CACP9a,MAAO,qCAAqC,MAC5CC,KAAM,qCAAqC,OAE7CihB,MAAO,CACLlhB,MAAO,6CAA6C,MACpDC,KAAM,6CAA6C,OAErDohB,OAAQ,CACNrhB,MAAO,6CAA6C,MACpDC,KAAM,6CAA6C,OAErDyQ,SAAU,CACR1Q,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCqhB,SAAU,CACRthB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCuhB,cAAe,CACbxhB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,QAG3C8hB,OAAQ,CACNjH,QAAS,CACP9a,MAAO,oCAAoC,MAC3CC,KAAM,oCAAoC,OAE5CihB,MAAO,CACLlhB,MAAO,4CAA4C,MACnDC,KAAM,4CAA4C,OAEpDohB,OAAQ,CACNrhB,MAAO,4CAA4C,MACnDC,KAAM,4CAA4C,OAEpDyQ,SAAU,CACR1Q,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCqhB,SAAU,CACRthB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCuhB,cAAe,CACbxhB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,QAG3CgiB,KAAM,CACJnH,QAAS,CACP9a,MAAO,4CACPC,KAAM,6CAERqhB,SAAU,CACRthB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCuhB,cAAe,CACbxhB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,QAG3CkiB,OAAQ,CACNrH,QAAS,CACP9a,MAAO,4CACPC,KAAM,6CAERihB,MAAO,CACLlhB,MAAO,+CAA+C,MACtDC,KAAM,+CAA+C,OAEvDohB,OAAQ,CACNrhB,MAAO,+CAA+Cq3C,MACtDp3C,KAAM,+CAA+C,OAEvDyQ,SAAU,CACR1Q,MAAO,4CACPC,KAAM,6CAERqhB,SAAU,CACRthB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCuhB,cAAe,CACbxhB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,QAG3C,cAAe,CACb6a,QAAS,CACP9a,MAAO,4CACPC,KAAM,6CAERqhB,SAAU,CACRthB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,OAEzCuhB,cAAe,CACbxhB,MAAO,iCAAiC,MACxCC,KAAM,iCAAiC,SAI7C6f,MAAO,CACLhF,QAAS,CACPA,QAAS,CACP9a,MAAO,kBAAkB,MACzBC,KAAM,kBAAkB,OAE1BohB,OAAQ,CACNrhB,MAAO,kBAAkB,MACzBC,KAAM,kBAAkB,OAE1ByQ,SAAU,CACR1Q,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCqhB,SAAU,CACRthB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCuhB,cAAe,CACbxhB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,QAGrCwhB,QAAS,CACP3G,QAAS,CACP9a,MAAO,0BAA0B,MACjCC,KAAM,0BAA0B,OAElCyQ,SAAU,CACR1Q,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCqhB,SAAU,CACRthB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCuhB,cAAe,CACbxhB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,QAGrC2hB,QAAS,CACP9G,QAAS,CACP9a,MAAO,kCAAkC,MACzCC,KAAM,kCAAkC,OAE1CyQ,SAAU,CACR1Q,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCqhB,SAAU,CACRthB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCuhB,cAAe,CACbxhB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,QAGrC8hB,OAAQ,CACNjH,QAAS,CACP9a,MAAO,0BAA0B,MACjCC,KAAM,0BAA0B,OAElCyQ,SAAU,CACR1Q,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCqhB,SAAU,CACRthB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCuhB,cAAe,CACbxhB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,QAGrCgiB,KAAM,CACJnH,QAAS,CACP9a,MAAO,kBAAkB,MACzBC,KAAM,kBAAkB,OAE1BihB,MAAO,CACLlhB,MAAO,kBAAkB,MACzBC,KAAM,kBAAkB,OAE1BohB,OAAQ,CACNrhB,MAAO,0BAA0B,MACjCC,KAAM,0BAA0B,OAElCyQ,SAAU,CACR1Q,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCqhB,SAAU,CACRthB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCuhB,cAAe,CACbxhB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,QAGrCkiB,OAAQ,CACNrH,QAAS,CACP9a,MAAO,kBAAkB,MACzBC,KAAM,kBAAkB,OAE1BohB,OAAQ,CACNrhB,MAAO,kBAAkB,MACzBC,KAAM,kBAAkB,OAE1ByQ,SAAU,CACR1Q,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCqhB,SAAU,CACRthB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCuhB,cAAe,CACbxhB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,QAGrC,cAAe,CACb6a,QAAS,CACP9a,MAAO,yBAAyB,MAChCC,KAAM,yBAAyB,OAEjCihB,MAAO,CACLlhB,MAAO,iCACPC,KAAM,yBAAyB,OAEjCohB,OAAQ,CACNrhB,MAAO,0BACPC,KAAM,kBAAkB,OAE1ByQ,SAAU,CACR1Q,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCqhB,SAAU,CACRthB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,OAEnCuhB,cAAe,CACbxhB,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,UCrSnCq3C,GAAU,CACdx8B,QAAY,GNAgB,GMAnB,KAETwkB,QAAY,GNFgB,GMEnB,KACTiY,KAAM,QAEFC,GAAc,CAClB18B,QAASw8B,GAAQx8B,QACjBwkB,QAASgY,GAAQhY,QACjBiY,KAAM,WAEFx3B,GAAU,CAEdjF,QAAS,SACTwkB,QAAS,SACTiY,KAAM,KAEFE,GAAoB,CAExBnY,QAAS,QACTxkB,QAAS,QACTy8B,KAAM,KAEFv3B,GAAgB,CACpBlF,QAAS,SACTwkB,QAAS,SACTiY,KAAM,YAEFG,GACK,QADLA,GAEE,QAER,SAAS74B,IAAS,MAChB0nB,EAAK,IACL92B,EAAG,KACHzG,IAGA,OADau9B,EAAM92B,IAAQ82B,EAAMzrB,SACrB9R,EACd,CACA,SAAS2uC,IAAU,WACjBlwC,EAAU,IACVgI,EAAG,KACHzG,IAEA,MAAO,CACLkL,WAAY2K,GAAS,CACnB0nB,MAAO,cAAkB9+B,GACzBgI,MACAzG,SAGF8W,MAAO,GAAGjB,GAAS,CACjB0nB,MAAO,GAAAzmB,MAAarY,GACpBgI,MACAzG,sBAGN,CAoHO,SAAS4uC,IAAa,QAC3B17B,IAEA,OAAO,SAAI,CACTjS,QAAS,OAGTqT,OAAoB,SAAZpB,EAAqB,EAAIw7B,GACjCG,SAAU,EACVj6B,WAAY,EACZP,UAAW,SACXS,SAAU,EACVD,WAAY,EACZE,WAAY,QAEhB,CAGO,SAAS+5B,IAAgB,QAC9B57B,IAEA,OAAO,SAAI,CAEToB,OAAoB,SAAZpB,EAAqB,EAAIw7B,GAEjCG,SAAU,EACVj6B,WAAY,EAEZJ,SAAU,SACVC,aAAc,WACdC,WAAY,UAEhB,CASO,MAAMq6B,GAAa,CAIxBn/C,SAAU,WACVE,KAAM,EACND,IAAK,EACL0D,MAAO,EACPC,OAAQ,EAERyN,QAAS,OACTgU,eAAgB,SAChBb,WAAY,UCtOR46B,GAA+B,CACnC,MAAO,CACLh/C,cAAe,SAGnB,GAA4B,cAAiB,SAAoBjG,EAAOoC,GACtE,MAAM,WACJsS,EAAa,UAAS,UACtBwwC,EAAS,QACT/7B,EAAU,UAAS,UACnBZ,GAAY,EAAK,WACjB5S,GAAa,EAAK,mBAClBsT,GAAqB,EAAK,WAC1BrT,GAAa,EAAK,WAClBgT,EAAU,UACVD,EAAS,SACThoB,EAAQ,UACRwS,EAAS,KACT4B,EAAI,QACJowC,EAAO,SACP9nC,EAAW,EAAC,KACZ0M,GAAQhV,OAAkBzO,EAAX,UACfyM,YAAaqyC,EAAsB,GACnCzyC,QAAS0yC,EAAkB,GAG3BhzC,UAAWvS,GAAYiV,EAAO,IAAM,UAAQ,OAC5CtC,EAAM,gBACN6yC,EAAe,iBAEfhjD,KACGC,GACDvC,EACEulD,GAAS,IAAAjgC,UACTlgB,GAAS,IAAA0d,cAAYzd,IACzBkgD,EAAO5/C,QAAUN,EACN,MAAPjD,IAGe,mBAARA,EAMXA,EAAIuD,QAAUN,EALZjD,EAAIiD,GAKY,GACjB,CAACkgD,EAAQnjD,KC5CC,SAAsBA,EAAKmmB,GACxC,MAAMi9B,GAAe,IAAAlgC,SAAO,IAC5B,IAAAC,YAAU,KACJnjB,GAAOojD,EAAa7/C,SAAW4iB,GAAanmB,EAAIuD,SAClDvD,EAAIuD,QAAQyV,QAEdoqC,EAAa7/C,SAAU,CAAK,GAC3B,CAAC4iB,EAAWnmB,GACjB,CDuCE,CAAamjD,EAAQh9B,GACrB,MAAMk9B,GAAqB,IAAA/iC,YAAW,MAKhC/P,EAAU,GAA4B,CAC1CrN,IALkB,IAAAwd,cAAY,CAACpS,EAAG5L,KAClC2gD,GAAsBA,EAAmBC,WAAWJ,EAAiB50C,EAAEi1C,WACvEN,EAAgB30C,EAAG5L,EAAe,GACjC,CAACugD,EAAiBI,EAAoBH,IAGvC32C,OAAQ,UACRG,cAAe,SACfC,YAAa,mBACbC,eAAgB,SAChBxM,cAAeF,IAIXyQ,GAAc,IAAA+P,cAAYviB,IAC9BA,EAAM4nB,iBACNi9B,EAAoB7kD,EAAM,GACzB,CAAC6kD,KAGJ,IAAA7/B,YAAU,KACR,MAAM41B,EAAKoK,EAAO5/C,QACdgQ,GAAcwlC,GAAMA,IAAO3wC,SAASwuC,eACtCmC,EAAGhgC,MACL,GACC,CAACxF,IAGJ,MAAMiwC,EAAa30C,QAAQk0C,GACrBU,GAAU,SDkIX,UAAsB,WAC3BD,IAEA,OAAO,SAAI,CACT5/C,QAAS4/C,EAAa,EAAI,EAC1Bl4C,WAAY,gBAEhB,CCzIsBo4C,CAAa,CAC/BF,gBAEI9wC,GAAiBa,IAAeiwC,EAOtC,IAAIG,EAAiB,CAAC,EAQtB,OAPInwC,GAAcD,GAA6B,YAAfjB,KAC9BqxC,EAAiB,CACf,wBAAyB,CACvBhnB,QAAWnpB,GAAcD,EAAa,yBAAyB0K,MAAU,kCAAkCA,OAAnG,kBAIP,SAAI,KAAW,MAAM,SAAIvgB,GAAW,OAAS,CAAC,EAAGyC,EAAM,CAC5DuT,IAAK,CAACovC,EAAWpwC,EAAgB,KAAOmwC,IACxC9xC,UAAWA,EACX/Q,IAAKgD,EACLuN,QAASA,EACTI,YAAaA,EACb4K,SAAUhI,EACVZ,KAAMD,EAAgBC,OAAOzO,EAG7B,qBAAoBs/C,QAAoBt/C,EACxC,cAAemM,EACfsX,KAAMA,EAKN1M,SAAU1H,GAAc,EAAI0H,GHzGjB,UAAqB,cAClCvI,IAEA,OAAOA,EAAgBuvC,GAAaV,EACtC,CGsGKqC,CAAY,CACblxC,mBACG8T,GAAa,SAAI,OAAQ,CAC5B9S,IAAK,CAAC+vC,EAAShB,GAAa,CAC1B17B,cAEDP,GAAc,KAAMjoB,GAAW,SAAI,OAAQ,CAC5CmV,IAAK,CAAC+vC,EAASd,GAAgB,CAC7B57B,cAEDxoB,GAAY,KAAMgoB,GAAY,SAAI,OAAQ,CAC3C7S,IAAK,CAAC+vC,EAAShB,GAAa,CAC1B17B,cAEDR,GAAa,KAAMw8B,GAAU,SAAI,OAAQ,CAC1CrvC,IAAK,CAACkvC,GAAYe,IACjBZ,GAAW,MAChB,IEvJe,SAASc,IAAoB,SAC1CtlD,EAAQ,WACRioB,EAAU,UACVD,IAEA,QAAIhoB,KAGAioB,GAAeD,KAGdC,IAAcD,GAIrB,CCbO,MAAM,GAAU,qBACV,GAAqB,QACrB,GAAc,CAAC,QAAS,QCFtB,SAAS,GAAS3oB,GAC/B,GAAIA,GAASA,EAAM+b,MAAO,CAExB,GAAI,MAAW/b,EAAM+b,MACnB,OAAO/b,EAAM+b,MAAM,IAGhB,GAAI,SAAU/b,EAAM+b,OAAS,YAAqB/b,EAAM+b,MAAM9F,MACjE,OAAOjW,EAAM+b,KAEjB,CAEA,MAAO,CACL9F,KAAM,GAEV,CCGe,SAAS,GAAOkN,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAlBoBE,EAkBEF,EAlBWG,EAkBKF,EAjBjCpjB,IACL,MAAM+b,EAAQ,GAAS/b,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC9B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACF,OAAOA,CAEX,CACF,CAEA,MAAO,EAAE,EAbb,IAAwByiB,EAAaC,EAoBnC,MAAMC,EAAQJ,EACd,OAAOnjB,IAEL,MAAM+b,EAAQ,GAAS/b,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACvB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACF,OAAOA,CAEX,CACA,MAAO,EAAE,CAEb,CChCO,MAIM,GAAO,UASP,GAAO,UASP,GAAO,UAOP,GAAO,UACP,GAAO,UAEP,GAAO,UAsBP,GAAK,UAWL,GAAO,UAMP,GAAO,UA4BP,GAAQ,UAGR,GAAQ,UAOR,GAAO,UAgCM,GAAO,CAC/BqM,MAAO,qBAAqB,MAC5BC,KAAM,+BAMwB,GAAO,CACrCD,MAAO,yCACPC,KAAM,2CAMuB,GAAO,CACpCD,MAAO,gDACPC,KAAM,kDAMyB,GAAO,CACtCD,MAAO,6BAA6B,MACpCC,KAAM,6BAA6B,QAMjB,GAAO,CACzBD,MAAO,0BACPC,KAAM,kBAAkB,QAMD,GAAO,CAC9BD,MAAO,kBAAkB,MACzBC,KAAM,kBAAkB,QAMA,GAAO,CAC/BD,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,QAMT,GAAO,CAC/BD,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,QAMJ,GAAO,CACpCD,MAAO,2BAA2B,MAClCC,KAAM,qCAMe,GAAO,CAC5BD,MAAO,kBAAkB,MACzBC,KAAM,kBAAkB,QAMG,GAAO,CAClCD,MAAO,2BAA2B,MAClCC,KAAM,2BAA2B,QAEV,GAAO,CAC9BD,MA1KiB,UA2KjBC,KAAM,KAMY,GAAO,CACzBD,MAAO,kBAAkB,MACzBC,KAAM,kBAAkB,QAMD,GAAO,CAC9BD,MAAO,kCACPC,KAAM,0BAA0B,QAMR,GAAO,CAC/BD,MAAO,kCACPC,KAAM,0BAA0B,QAMP,GAAO,CAChCD,MAAO,4BAA4B,MACnCC,KAAM,4BAA4B,QAMb,GAAO,CAC5BD,MAAO,mCAAmC,MAC1CC,KAAM,mCAAmC,QAEvB,GAAO,CACzBD,MAAO,GACPC,KAAM,KAEY,GAAO,CACzBD,MAjOkB,UAkOlBC,KAnOkB,YAqOE,GAAO,CAC3BD,MA9OkB,UA+OlBC,KAjPkB,YAmPD,GAAO,CACxBD,MAAO,GACPC,KAAM,KAEc,GAAO,CAC3BD,MAAO,GACPC,KAAM,KAEa,GAAO,CAC1BD,MAAO,GACPC,KAAM,KCrSR,MACEkP,SAAQ,GACRhT,SAAQ,GACRyc,SAAQ,ICIH,SAAqBzD,GAC1B,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAS/CuiB,GAA4B,IAAAC,eAAcJ,GAChD,SAASyD,EAASpD,GAIhB,QAHc,IAAAC,YAAWH,IACAF,GACFI,EAEzB,CAiCA,MAAO,CACLrZ,SA9BF,SAAkBpJ,GAChB,MAAM,SACJW,KACG8hB,GACDziB,EAIEmiB,EAAS0D,EAASpD,GAGxB,OAAoB,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GACzE,EAmBE/F,SAVF,SAAkBpc,GAChB,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAYL,GAAcG,EAAQD,EAASF,IAAa,CAACE,EAASC,IAClF,OAAoB,gBAAoBL,EAAanG,SAAU,CAC7Dxb,MAAOiiB,GACN7iB,EAAMW,SACX,EAIEklB,WAEJ,CDzDI,EAAY,KAAM,CACpB5P,KAAM,YERKmb,GAAc,CACzB3d,OAAQ,EACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,ICcJwd,IAAS,SAAU,CACvBsI,GAAI,CACFrkB,UAAW,oBAGT4wC,IAAe,SAAI,CACvBhd,UAAW,GAAG7X,oBACdmI,wBAAyB,qCACzB2sB,gBAAiB,WASb50B,IAAS,SAAU,CACvBmI,KAAM,CACJpkB,UAAW,gBACXtP,QAAS,EACTogD,iBAAkB,IAEpBzsB,GAAI,CACFrkB,UAAW,iBACXtP,QAAS,EACTogD,iBAAkB,MAGhBC,IAAe,SAAI,CACvBnd,UAAW,GAAG3X,oBAId+0B,kBAAmB,WAInBtgD,QAAS,IAELugD,IAAgB,SAAI,CACxBrvC,QAAS,cAIT+V,cAAe,WAEXu5B,IAAe,SAAI,CACvB/lB,KAAM,OACNgmB,gBAAiB,GACjBL,iBAAkB,UAClBM,cAAe,QACfznB,YAAa,IACb,4CAA6C,CAC3Cj7B,OAAQ,kBACR+6B,OAAQ,gBAWN4nB,GAAoC,oBAAX16C,OAAyB,EAAAsZ,UAAY,kBACpE,GAA4B,OAAyB,cAAiB,UAAiB,OACrF9S,EAAM,WACNiC,EAAa,UAAS,MACtBjD,EAAQ,EACRgD,KAAM+c,EAAe,SAAQ,gBAC7B8zB,GACCljD,GACD,MAAMqS,EAA+B,iBAAjB+c,EAA4BA,EAAeJ,GAAYI,GACrEo1B,EAAiB,GAAGn1C,OACpB,KACJwE,GACE,KACE8oB,EAxFR,UAAwB,KACtB9oB,EAAI,WACJvB,IAEA,MAAa,UAATuB,EACoB,YAAfvB,EAA2B,iCAAmC,0BAA0B,MAE3E,YAAfA,EAA2B,iCAAoC,iCACxE,CAgFiBid,CAAe,CAC5B1b,OACAvB,eAEIpU,GAAU,IAAAoiB,YAAW,MAW3B,OAVAikC,IAAgB,KACd,GAAe,MAAXrmD,EACF,OAAOA,EAAQumD,KAAKvB,EACtB,GACC,CAAChlD,EAASglD,KAMN,SAAI,OAAQ,CASjBxvC,IAAK,CAACywC,GAAeL,IACrB,cAAezzC,GAAU,GAAGA,YAC5B9J,MAAO,CACLi+C,iBACAn3C,MAAOgF,EACP/E,OAAQ+E,KAET,SAAI,MAAO,CACZ/E,OAAQ+E,EACRhF,MAAOgF,EACPyD,QAAS,YACTE,MAAO,6BACP,cAAe3F,EACfrQ,IAAKA,EACL0T,IAAKuwC,GACL19C,MAAO,CACLi+C,oBAED,SAAI,SAAU,CACfvuC,GAAI,IACJC,GAAI,IACJC,EAAG,IACHzC,IAAK0wC,GACL79C,MAAO,CACLo2B,aAGN,KCnJA,SAAS+nB,IAAqB,WAC5BpyC,EAAU,WACViB,EAAU,WACVC,IAEA,OAAID,EACK,UAELC,GAGe,YAAflB,GAA2C,WAAfA,EAFvB,SAKF,SACT,CACe,SAAS2W,IAAe,QACrClC,EAAU,aACP5mB,IAEH,MAAMkS,EAAmB,YAAZ0U,EAAwB,SAAW,QAChD,OAAoB,gBAAoB,GAAS,CAC/C1U,KAAMA,EACNC,WAAYoyC,GAAqBvkD,IAErC,CCzBA,MAAMwkD,GAAqB,CACzB3rC,MAAO,UACPqT,cAAe,UACfN,MAAO,UACPG,OAAQ,WACR3Q,SAAU,eAML,SAASqpC,IAAa,WAC3BtyC,EAAa,UAAS,QACtByU,EAAU,UAAS,KACnBlT,EAAO,QAAO,WACdL,GAAa,EAAK,mBAClBqT,GAAqB,EAAK,gBAC1BI,GAAkB,EAAK,UACvBnT,GAAY,EAAK,MACjBtU,IAEA,IAAIy5B,EbyDC,UAAgB,WACrB3mB,EAAU,QACVyU,EAAO,KACPlT,EAAI,WACJL,EAAU,mBACVqT,EAAkB,iBAClBg+B,IAEA,MAAMC,EAAatC,GAAU,CAC3BlwC,aACAgI,IAAK9G,EAAa,WAAa,UAC/BK,SAEF,MAAO,CAELoU,WAAY,WACZ7V,YAAa,EACbuC,aNlF8B,EMmF9ByV,UAAW,aACXtV,QAAS,cACT6T,SAAU,UACV0B,UAAW,SAEXoM,WAAY,UACZnM,WAAY,IAEZlC,SAAU,OAEV3kB,SAAU,WACV8mB,UAAW,SACXC,eAAgB,OAChBlf,WAAY,kFACZid,WAAY,YAETu8B,EACHhyC,OAAQ,UACRxF,OAAQ60C,GAAQp7B,GAChB2B,WAAY25B,GAAYt7B,GACxB6D,QAASi6B,EAAmBvC,GAAkBv7B,GAAW6D,GAAQ7D,GACjE8D,cAAeA,GAAc9D,GAC7B1Z,MAAOwZ,EAAqB,OAAS,OAErCiC,eAAgB,SAKhB,YAAa,IACRg8B,GAEL,UAAW,IACNtC,GAAU,CACXlwC,aACAgI,IAAK9G,EAAa,WAAa,QAC/BK,SAEF2W,eAAiBhX,GAA8B,SAAflB,GAAwC,gBAAfA,EAA8C,UAAd,YAEzFa,mBAAoB,aAGtB,WAAY,IACPqvC,GAAU,CACXlwC,aACAgI,IAAK9G,EAAa,WAAa,SAC/BK,SAGFV,mBAAoB,UAGtB,mCAAoC,IAC/BqvC,GAAU,CACXlwC,aACAgI,IAAK9G,EAAa,WAAa,SAC/BK,SAGFV,mBAAoB,UAMtB,cAAe,IAEVqvC,GAAU,CACXlwC,aACAgI,IAAK,WACLzG,SAEFf,OAAQ,cACR0X,eAAgB,QAElB,6BAA8B,CAC5B1X,OAAQ,UACR0X,eAAgB,QAGlB,sGAAuG,IAClGg4B,GAAU,CACXlwC,aACAgI,IAAK9G,EAAa,WAAa,UAC/BK,UAGJ,sBAAuB,CACrBiX,OAAQ,EACR3C,OAAQ,EACRyC,QAAS,GAGf,CazKem6B,CAAO,CAClBzyC,aACAyU,UACAlT,OACAL,aACAqT,qBACAg+B,iBAAkB59B,IAKpBgS,EAAOlmB,QAAU,OAGjB,MAAMiyC,EAAWL,GAAmBnlD,GA2BpC,OA1BIwlD,IACF/rB,EAAS,IACJA,KACAA,EAAO+rB,KAGVlxC,IACFmlB,EAAS,IACJA,KAEAA,EAAO,gCAKdx3B,OAAOC,KAAKu3B,GAAQl4B,SAAQuZ,IAEd,wBAARA,GAKqB,IAArBA,EAAIhB,QAAQ,aACP2f,EAAO3e,EAChB,IAEK2e,CACT,CASO,SAASgsB,GAAe1hD,EAAS2hD,GACtC,OAAO3hD,EAAQ2hD,EACjB,CACA,MASA,GATczwC,IAAY4L,IAAc,CACtC+G,aAAcw9B,GAAavkC,GAI3BgH,cAAe,CAAC,MC3ElB,SAAS89B,IAAoB,WAC3B5xC,GAAa,EAAK,SAClBH,GAAW,EAAK,QAChBE,GAAU,EAAK,QACfD,GAAU,EAAK,WACfG,GAAa,EAAK,UAClBM,GAAY,IAEZ,OAAIP,EACK,WAELC,GAAcF,EACT,gBAELE,EACK,YAGJM,GAAaV,EACT,UAEJU,GAAaT,EACT,QAELC,EACK,QAEF,SACT,CACA,MAAM8xC,GAAU,CACd/xC,SAAS,EACTD,UAAU,EACVE,SAAS,GAUL+xC,GAAiC,OAAyB,cAAiB,UAA2B,WAE1G/yC,EAAa,UAAS,UACtB6T,GAAY,EAAK,WACjB5S,GAAa,EAAK,WAClBC,GAAa,EAAK,mBAClBqT,GAAqB,EAAK,QAC1BE,EAAU,UAAS,UACnBjT,GAAY,EACZgH,aAAcwqC,EACdvqC,aAAcwqC,EACd50C,YAAaqyC,EACbhoC,UAAWwqC,EACX50C,QAAS60C,EACT50C,OAAQ60C,EAAc,MACtB/rC,EAAQsrC,MACL9kD,GACFH,GAGD,MAAM2lD,EAAY,CAChBrzC,aACA6T,YACA5S,aACAC,aACAqT,qBACAE,aACG5mB,IAEEX,EAAOkF,IAAY,IAAA+wC,UAAS2P,IAC7BtqC,GAAe,IAAA4F,cAAYviB,IAC/BuG,GAASnB,IAAW,IACfA,EACH8P,SAAS,MAEPiyC,GACFA,EAAqBnnD,EACvB,GACC,CAACmnD,IACEvqC,GAAe,IAAA2F,cAAYviB,IAC/BuG,GAASnB,IAAW,IACfA,EACH8P,SAAS,EACTD,UAAU,MAERmyC,GACFA,EAAqBpnD,EACvB,GACC,CAAConD,IACE50C,GAAc,IAAA+P,cAAYviB,IAC9BuG,GAASnB,IAAW,IACfA,EACH6P,UAAU,MAER4vC,GACFA,EAAoB7kD,EACtB,GACC,CAAC6kD,IACEhoC,GAAY,IAAA0F,cAAYviB,IAC5BuG,GAASnB,IAAW,IACfA,EACH6P,UAAU,MAERoyC,GACFA,EAAkBrnD,EACpB,GACC,CAACqnD,IACE50C,GAAU,IAAA8P,cAAYviB,IAC1BuG,GAASnB,IAAW,IACfA,EACH+P,SAAS,MAEPmyC,GACFA,EAAgBtnD,EAClB,GACC,CAACsnD,IACE50C,GAAS,IAAA6P,cAAYviB,IACzBuG,GAASnB,IAAW,IACfA,EACH+P,SAAS,MAEPoyC,GACFA,EAAevnD,EACjB,GACC,CAACunD,IACJ,OAAoB,gBAAoB,YAAgB,CACtDlnD,MAAOmb,GACO,gBAAoB,YAAsB,MAAM,EAC9D9F,UACiB,gBAAoB,aAAgB,OAAS,CAC9DA,KAAMA,EACNrU,MAAO2lD,GAAoB,IACtB3lD,EACHsU,YACAN,WAAYmyC,EAAUnyC,WACtBD,WAAYoyC,EAAUpyC,aAExB0T,gBAAiB48B,GAAoB8B,GACrC7xC,UAAWA,GACV6xC,IAAY,EACbv+B,mBACiB,uBAAoB,IAAY,OAAS,CAAC,EAAGu+B,EAAW,CACzE3lD,IAAKA,EACL+iD,QAASjvC,EAAyB,gBAAoBmV,GAAgB08B,GAAa,KACnF7qC,aAAcA,EACdC,aAAcA,EACdpK,YAAaA,EACbqK,UAAWA,EACXpK,QAASA,EACTC,OAAQA,EACRiyC,WD1F0B19C,EC0FDgiB,EDzFpB,CACL,qFAAsFhiB,OAFnF,IAAuBA,CC2FzB,MACL,KAGAigD,GAAkBhlD,YAAc,oBAChC,YC9Je,SAASulD,GAAYhoD,GAClC,MAAM,QACJioD,EAAO,WACPvzC,EAAU,UACVrC,EAAS,QACT8jC,EAAO,OACP1jC,GACEzS,EAGJ,OAAKqS,GAAc41C,EAIf51C,GAAa41C,GACfplD,QAAQC,KAPM,uDASP,MAGLuP,EACkB,gBAAoBA,EAAW,CACjDqC,aACAyhC,aAIG,IAAA7sB,KAAI,MAAO,CAChBxT,IAAK,MACL,cAAerD,GAAU,GAAGA,aAC3Bw1C,GAAWA,EAAQ7U,KAAI,EACxBpd,UACGzzB,GACFwvC,KAAU,IAAAzoB,KAAI,IAAQ,OAAS,CAChC5M,IAAKq1B,EACLr9B,WAAsB,IAAVq9B,EAAc,SAAWr9B,GAAc,UACnD,iCAAiC,EACjCjC,OAAQA,GAAU,GAAGA,aAAkBs/B,KACtCxvC,GAAOyzB,MA3BD,IA4BX,6BCvCA,MAAMkyB,GAAY,EAChBxzC,aACAyzC,yBAEA,MAAMC,GAAkB,IAAAnqB,UAAQ,KACvB,SAAmB,CACxBvpB,aACAyzC,wBAED,CAACzzC,EAAYyzC,IACVnnB,EAAsB,WAAftsB,EAA0B,KAAY,KACnD,OAAO,IAAA4U,KAAI,OAAQ,CACjBxT,IAAKsyC,IACJ,IAAA9+B,KAAI0X,EAAM,CACXxpB,MAAO,GAAG9C,WACT,EAGU,SAAS2zC,GAAYroD,GAClC,MAAM,GACJyd,EAAE,WACF/I,EAAU,UACVrC,EAAS,QACTgkB,EAAO,QACP8f,EAAO,OACP1jC,EAAM,mBACN01C,GAAqB,GACnBnoD,EAEEsoD,GAAkB,IAAArqB,UAAQ,KACvB,SAAmBkqB,IACzB,CAACA,IAEJ,OAAK91C,GAAcgkB,EAIfhkB,GAAagkB,GACfxzB,QAAQC,KAVM,uDAYP,MAGLuP,EACkB,gBAAoBA,EAAW,CACjDoL,KACAhL,SACAiC,aACAyhC,UACAgS,wBAIG,IAAA7+B,KAAI,MAAO,CAChBxT,IAAK,MACL,cAAerD,GAAU,GAAGA,cAC3B,IAAA6W,KAAI,KAAM,CACXxT,IAAK,OACJpB,IAAc,IAAA4U,KAAI4+B,GAAW,CAC9BxzC,WAAYA,EACZyzC,mBAAoBA,KAClB,IAAA7+B,KAAI,OAAQ,CACd7L,GAAIA,EACJ3H,IAAKwyC,EACL,cAAe71C,GAAU,GAAGA,aAC3B4jB,KA/BM,IAgCX,gBCvEA,MAAMlhB,GAAU,EAAAW,GAAG;;;mBAGA;;EAIbyyC,GAAUC,GAAeA,EAAc,GAAG,iBAAyB,QAAiB,QAE7EC,GAAmB,EAC9BC,iBACAC,oBACAC,kBACI,EAAA9yC,GAAG;;gBAEO8yC,EAAe,SAAW;;gBAE1BL,GAAQG;mBACLH,GAAQI;;;;;;;;;;;;;;;;;;;;;;aAsBdC,EAAe,EAAI;;;MAG1BzzC;;;;;;;;;QASEA;;;;;kBAKUyzC,EAAe,OAAS;;;EC7CpCC,IAA+B,IAAAtiC,aAAW,CAACvmB,EAAOoC,KACtD,MAAO0mD,EAAaC,GAAerR,EAAY,CAC7CsR,UAAU,EACVhqC,MAAM,KAEDiqC,EAAkBC,IAAmB,IAAArR,WAAS,IAC9C6Q,EAAgBS,IAAiB,IAAAtR,WAAS,IAC1C8Q,EAAmBS,IAAoB,IAAAvR,WAAS,GACjDwR,GAAgB,IAAA/jC,QAAO,MACvBgkC,EAAkBhS,EAAgByR,GAClCQ,EAAsBjS,GAAgB,SAAY,KACtD,MAAM3mC,EAAS04C,EAAc1jD,QAC7BgL,GAAUu4C,EAAgBv4C,EAAO64C,aAAe74C,EAAOf,aAAa,KAEhE65C,EAAkBnS,GAAgB,SAAY,KAClD,MAAM3mC,EAAS04C,EAAc1jD,QAE7B,GAAIgL,EAAQ,CACV,MAAM+4C,EAAqB/4C,EAAO64C,aAAe74C,EAAOf,aAEpDk5C,EAAYnjD,QAAQqjD,UACtBG,EAAcx4C,EAAOuyC,UAAY,OAG/B4F,EAAYnjD,QAAQqZ,MACtBoqC,EAAiBz4C,EAAOuyC,WAAawG,EAAqB,MAE9D,MAiBF,OAfA,IAAAnkC,YAAU,KACR,MAAM5U,EAAS04C,EAAc1jD,QAS7B,OARAsG,OAAO+F,iBAAiB,SAAUy3C,GAAiB,GACnD94C,SAAgDA,EAAOqB,iBAAiB,SAAUy3C,GAAiB,GACnGF,IACAE,IACAH,EAAgB,CACdN,SAAU/3C,QAAQN,aAAuC,EAASA,EAAOg5C,wBACzE3qC,KAAM/N,QAAQN,aAAuC,EAASA,EAAOi5C,sBAEhE,KACL39C,OAAOiG,oBAAoB,SAAUu3C,GAAiB,GACtD94C,SAAgDA,EAAOuB,oBAAoB,SAAUu3C,GAAiB,EAAM,CAC7G,GACA,CAACF,EAAqBE,EAAiBH,KACnC,IAAAhgC,KAAI,MAAO,CAEhBjM,SAAU4rC,EAAmB,OAAI3iD,EACjC,cAAetG,EAAMyS,QAAU,GAAGzS,EAAMyS,qBACxCrQ,IAAKugD,GAAU,CAACvgD,EAAKinD,IACrBvzC,IAAK2yC,GAAiB,CACpBC,iBACAC,oBACAC,aAAc5oD,EAAM4oD,gBAErB5oD,EAAMW,SAAS,IAEpBkoD,GAAgBpmD,YAAc,kBAC9B,YC9DMonD,GAAc,CAAC,EACN,SAAS35B,GAAQlwB,GAC9B,MAAM,QACJioD,EAAO,WACPvzC,EACA3J,KAAM++C,EAAc,SACpBnpD,EAAQ,WACRopD,EAAaF,GAAW,OACxBG,EAAM,OACNC,EAAM,QACN5zB,EAAO,aACP6zB,EAAY,mBACZ/B,EAAkB,QAClBhS,EAAO,aACPyS,EAAY,OACZn2C,EAAM,UACN03C,EAAS,WACTt0C,GACE7V,GACE,UACJoiD,EAAY,MACZgI,KAAMC,GACJN,EACEK,EAAOC,GAAcP,GAAkB,MAgB7C,OAAO,IAAAxgC,KAAI84B,EAAW,CACpBtsC,IAAK,MACL,mBAAoBD,EACpB,cAAepD,GACdy3C,EAAevpD,GAAW,IAAA2oB,KAAI,WAAgB,MAAM,IAAAA,KAAI,GAAQ,CACjE7L,GAAI0sC,EACJz1C,WAAYA,EACZrC,UAAW03C,EAAWO,OAASP,EAAWO,OAASL,EACnD5zB,QAASA,EACT8f,QAASA,EACTgS,mBAAoBA,EACpB11C,OAAQA,KACN,IAAA6W,KAAI,MAAY,MAAM,IAAAA,KAAI,GAAiB,CAC7Cs/B,aAAcA,EACdn2C,OAAQA,IACP,IAAA6W,KAAI8gC,EAAM,CACXt0C,IAAK,MACL,cAAerD,GAAU,GAAGA,WAC3B9R,MAAa,IAAA2oB,KAAI,GAAQ,CAC1B2+B,QAASA,EACTvzC,WAAYA,EACZrC,UAAW03C,EAAWQ,OAASR,EAAWQ,OAASP,EACnD7T,QAASA,EACT1jC,OAAQA,KAEZ,CCpEA,MAAM+3C,GAAa,UAAoB,eACrCC,EAAc,WACd50C,EAAU,SACVlV,EAAQ,OACR8R,IAEA,MAAMi4C,GAAmB,IAAAzsB,UAAQ,KAC/B,OAAQwsB,GACN,IAAK,UACH,MpCgEiC50C,IAAc,EAAAC,GAAG;IACtDytC;IACAF,GAAqBxtC;;;;;;cAMX;;;EoCxEC80C,CAA0B90C,GAEnC,IAAK,cACH,MpCkF8BA,IAAc,EAAAC,GAAG;IACnDytC;IACAF,GAAqBxtC;;;MAGnBytC;;;EoCvFSsH,CAAuB/0C,GAEhC,QACE,MpCsEiCA,IAAc,EAAAC,GAAG;IACtDytC;IACAF,GAAqBxtC;;;MAGnBytC;;;EoC3ESuH,CAA0Bh1C,GACrC,GACC,CAAC40C,EAAgB50C,IACpB,OAAO,IAAAyT,KAAI,MAAO,CAChBxT,IAAK40C,EACL,cAAej4C,GAAU,GAAGA,iBAC3B9R,EACL,EAEA6pD,GAAW/nD,YAAc,aACzB,YC8FA,GAzGA,SAA0BzC,GACxB,MAAM,QACJioD,EAAO,WACPvzC,EAAU,UACV6T,EAAS,KACTxd,EAAI,SACJpK,EAAQ,WACRopD,EAAU,OACVC,EAAM,OACNC,EAAM,OACNv6C,EAAM,gBACNo7C,EAAe,aACfZ,EAAY,mBACZ/B,EAAkB,QAClBhS,EAAO,gBACP4U,EAAe,eACfC,EAAc,yBACdC,EAAwB,0BACxBC,EAAyB,WACzBr1C,EAAU,QACVwgB,EAAO,MACP5mB,EAAK,eACLg7C,EAAc,OACdh4C,GACEzS,EACEyd,GAAK,UACL0tC,EtCnBO,WACb,MAAOC,EAAiBC,IAAsB,IAAAxT,UAAS,IACvD,IAAA8O,kBAAgB,KACd0E,EAAmBvI,KAAoB,GACtC,IACH,MAAMwI,GAAiB,IAAAxoC,cAAY,KAC7BggC,OAAwBsI,GAC1Bn/C,OAAOs/C,SAASt/C,OAAOu/C,YAAaJ,EACtC,GACC,CAACA,IuCnBS,IAAwB9/C,EAAWisC,EAAUsL,EvCqB1D,OuCrBqCv3C,EvCoBtB,SuCpBiCisC,EvCoBvB+T,GuCnBzB,IAAA/lC,YAAU,KACRtZ,OAAO+F,iBAAiB1G,EAAWisC,EAAUsL,GACtC,KACL52C,OAAOiG,oBAAoB5G,EAAWisC,EAAUsL,EAAQ,IAEzD,CAACv3C,EAAWisC,EAAUsL,IvCelBuI,CACT,CsCOyBK,GACjBC,EAA8B,IAAf71C,EACf81C,EAAiBnmC,GAA4B,CACjDlgB,GAAI6wC,EACJxnC,OAAQ,SACRG,cAAe,cACfC,YAAa,yBACbC,eAAgB,YEpCL,UAA+B,QAC5CmnC,EAAO,WACPxgC,IAEA,MAAMygC,GAAgB,IAAA9wB,SAAO,GACvBtI,GAAY,IAAA8F,cAAYpS,IACxBiF,GAAcygC,EAAczwC,SCfd,WDeyB+K,EAAEgM,MAM7C05B,EAAczwC,SAAU,EACxBwwC,EAAQzlC,GAAE,GACT,CAACylC,EAASxgC,IACPsH,GAAU,IAAA6F,cAAY,KAC1BszB,EAAczwC,SAAU,CAAK,GAC5B,IACHi9C,GAAiB,UAAW5lC,GAAW,GACvC4lC,GAAiB,QAAS3lC,GAAS,EACrC,CFkBEi5B,CAAsB,CACpBC,QAASwV,EACTh2C,YAAas1C,IAA6BS,IAE5C,MAAOE,EAAWC,GIzDL,UAA2B,eACxCb,EAAc,gBACdD,IAEA,MAAMa,GAAY,IAAAtmC,QAAO,MACnBumC,GAAiB,IAAA/oC,cAAYlhB,IACnB,aAAVA,GAAwBopD,GAC1BA,EAAeY,EAAUjmD,SAAS,GAGtB,YAAV/D,GAAuBmpD,GACzBA,EAAgBa,EAAUjmD,QAC5B,GACC,CAACqlD,EAAgBD,IACpB,MAAO,CAACa,EAAWC,EACrB,CJ0CsCC,CAAkB,CACpDd,iBACAD,oBAEIrkC,GAAmB,IAAA5D,cAAYpS,IAC/Bw6C,GACFS,EAAej7C,EACjB,GACC,CAACw6C,EAA2BS,KK9ClB,SAAsBvpD,EAAKmmB,GACxC,MAAMi9B,GAAe,IAAAlgC,SAAO,IAC5B,IAAAC,YAAU,KACJnjB,GAAOojD,EAAa7/C,SAAW4iB,GAAanmB,EAAIuD,SAClDvD,EAAIuD,QAAQyV,QAGdoqC,EAAa7/C,SAAU,CAAK,GAC3B,CAAC4iB,EAAWnmB,GACjB,CLsCE2pD,CAAkC,iBAAdxjC,EAAyBA,OAAYjiB,EACpC,iBAAdiiB,GACP,MAAMyjC,GAAmB,IAAA/tB,UAAQ,IrCvCAktB,IAAkB,EAAAr1C,GAAG;;;;;;;SAO/Cq1C;;;aAGI;;;EqC8BFc,CAAoBd,IAC1B,CAACA,IACEe,GAAe,IAAAjuB,UAAQ,IrCoCA,GAC7BisB,eACAx6C,SACAD,WACI,EAAAqG,GAAG;YACE;;;;;;;;;;;KAWU,IAAjBo0C,GAAyB,EAAAp0C,GAAG;wBACR,GAAA1I;;;;cAtGIsC,IACrBA,EAIoB,iBAAXA,EAAsB,GAAGA,MAAaA,EAH3C,OAwGGy8C,CAAaz8C;aAxHAD,KACzB,IAAKA,EACH,MAAO,OAGT,MACM28C,GAD+D,IAAjD,qBAA0B38C,EAAM48C,aACnB58C,EAEjC,OAAI28C,EACK,GAAG,aAAkBA,OAGN,iBAAV38C,EAAqB,GAAGA,MAAYA,CAAK,EA6G5C68C,CAAY78C;;;;;;;OAOF,IAAjBy6C,GAAyB,EAAAp0C,GAAG;wBACX;8BACO,oBAAmB,wBAAuB;;;EqClE7Dy2C,CAAgB,CACrBrC,eACAx6C,SACAD,WAED,CAACy6C,EAAcx6C,EAAQD,IAC1B,OAAO,IAAA6Z,KAAI,MAAQ,MAAMkjC,IAAe,IAAAljC,KAAI,OAAO,OAAS,CAAC,EAAGkjC,EAAa,CAC3E12C,IAAKk2C,EACL,eAAgBN,KACd,IAAApiC,KAAI,GAAW,CACjBf,UACqB,kBAAdA,GAA0BA,EACjC5K,UAAW+tC,EACX9J,aAAa,IACZ,IAAAt4B,KAAI,KAAS,CACd7C,UAAWqkC,EACXpkC,iBAAkBA,EAClBjU,OAAQA,GAAU,GAAGA,gBACnB,IAAA6W,KAAI,GAAY,CAClBmhC,eAAgBA,EAChB50C,WAAYA,EACZpD,OAAQA,IACP,IAAA6W,KAAI,MAAQ,CACbmjC,kBAAmB,SACnBC,SAAUb,IACTc,IAAqB,IAAArjC,KAAI,WAAW,OAAS,CAAC,EAAGqjC,EAAmB,CACrEvqD,IAAKugD,GAAU,CAACgK,EAAkBvqD,IAAKwpD,IACvC91C,IAAKo2C,EACLz0C,KAAM,SACN,kBAAmB,kBAAkBgG,IACrC,cAAehL,EACf4K,UAAW,EACX,cAAc,KACZ,IAAAiM,KAAI4G,GAAS,CACf+3B,QAASA,EACTvzC,WAAYA,EACZq1C,WAAYA,EACZE,OAAQA,EACRl/C,KAAMA,EACNi/C,OAAQA,EACR3zB,QAASA,EACT8zB,UAAW,kBAAkB1sC,IAC7BhL,OAAQA,GAAU,GAAGA,mBACrBy3C,aAAcA,EACd/B,mBAAoBA,EACpBhS,QAASwV,EACT91C,WAAYA,EACZ+yC,aAAiC,WAAnB6B,GAAkD,gBAAnBA,GAC5C9pD,UACL,EMnHe,SAASisD,IAAa,UACnCrkC,GAAY,EAAI,eAChBkiC,EAAiB,SAAQ,yBACzBQ,GAA2B,EAAI,0BAC/BC,GAA4B,EAAI,aAChChB,GAAe,EAAK,MACpBz6C,EAAQ,SAAQ,mBAChB04C,GAAqB,EAAI,QACzBhS,EAAUv2C,EACViW,WAAYg3C,EAAkB,cAC9BC,EAAgBltD,EAAI,SACpBe,KACGX,IAEH,MAAM6V,EtEGO,UAAuB,cACpCi3C,IAEA,MAAM,UACJC,IACE,UACGC,EAAeC,GAAiBvV,EAAY,GAC7CwV,EAAoBF,EAAcrnD,QAClCwnD,EuEjBO,SAA0BvsD,GACvC,MAAMwB,GAAM,IAAAkjB,UAIZ,OAHA,IAAAC,YAAU,KACRnjB,EAAIuD,QAAU/E,CAAK,GAClB,CAACA,IACGwB,EAAIuD,OACb,CvEW6BynD,CAAiBJ,EAAcrnD,SAGpD0nD,EAAc/V,GAAgB,KAClC,MAAMgW,EAAgBvV,EAAmBr8B,QAAQ2xC,GAG7CL,EAAcrnD,UAAY2nD,IAC5BL,EAAcK,GACdN,EAAcrnD,QAAU2nD,EAC1B,IAyCF,OAvCA,IAAA/nC,YAAU,KACR,MAAM2nC,EAAoBnV,EAAmBr8B,QAAQ2xC,GAEhDN,IAAoC,IAAvBG,GAGhBnV,EAAmBwV,QAAQF,GAGzBN,IAAoC,IAAvBG,GAKfnV,EAAmByV,OAAON,EAAmB,GAI/CnV,EAAmB50C,SAAQsqD,GAAMA,KAAK,GACrC,CAACJ,EAAaN,KACjB,IAAAxnC,YAAU,IAAM,KAEd,MAAM2nC,EAAoBnV,EAAmBr8B,QAAQ2xC,IAE1B,IAAvBH,IACFnV,EAAmByV,OAAON,EAAmB,GAC7CnV,EAAmB50C,SAAQsqD,GAAMA,MACnC,GACC,CAACJ,KACJ,IAAA9nC,YAAU,UACmBjf,IAAvB6mD,GAKAA,IAAuBD,GACzBJ,EAAcI,EAChB,GACC,CAACJ,EAAeK,EAAoBD,IAChCA,CACT,CsE/DqBQ,CAAc,CAC/BZ,kBAEF,OAAoB,gBAAoB,IAAQ,CAC9CxiD,OAAQ,cACM,gBAAoB,IAAO,OAAS,CAAC,EAAGtK,EAAO,CAC7DuoB,UAAWA,EACXkiC,eAAgBA,EAChBQ,yBAA0BA,EAC1BC,0BAA2BA,EAC3BhB,aAAcA,EACdz6C,MAAOA,EACP04C,mBAAoBA,EACpBhS,QAASA,EACTtgC,WAAYg3C,GAAsBh3C,IAChClV,GACN,sKEnCO,MAAMgtD,EAAa,CACxBrG,OAAQ,CAAC,QAAS,SAAU,QAAS,WACrCsG,OAAQ,CACNl6C,MAAO,IACPC,OAAQ,IACRC,MAAO,IACP,UAAW,KAEbi6C,aAAc,UAEHC,EAAS,GACTC,EAA8B,GAAb,UACjBC,EAA4B,GAAb,UACfC,GAAe,UACfC,GAAc,UACdC,EAAgB,EAChBC,EAAe,KACfC,EAAoB,KACpBC,EAAc,KACdC,EAAe,4IChBxBC,WAAY,SAHL,CAAC,IAAK,OAAQ,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,OAAQ,MAAO,MAAO,MAAO,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,OAAQ,OAAQ,MAAO,WAAY,OAAQ,WAAY,KAAM,MAAO,UAAW,MAAO,SAAU,MAAO,KAAM,KAAM,KAAM,QAAS,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,SAAU,MAAO,QAAS,MAAO,MAAO,SAAU,QAAS,SAAU,KAAM,OAAQ,OAAQ,MAAO,OAAQ,UAAW,OAAQ,WAAY,OAAQ,QAAS,MAAO,WAAY,SAAU,KAAM,WAAY,SAAU,SAAU,IAAK,QAAS,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,SAAU,UAAW,SAAU,QAAS,SAAU,OAAQ,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,QAAS,KAAM,QAAS,OAAQ,QAAS,KAAM,QAAS,IAAK,KAAM,MAAO,QAAS,MAC77B,SAAU,WAAY,OAAQ,UAAW,gBAAiB,IAAK,QAAS,OAAQ,iBAAkB,OAAQ,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,MAAO,OAAQ,SAGhMrrD,SAAQ,SAAU03C,GACrB2T,EAAU3T,GAAW2T,EAAU3T,EACjC,IAEA,yBCLO,MAAM0L,EAAgB,EAAAzwC,GAAG;;;;;;;;;;EAanB24C,EAAe,EAAA34C,GAAG;;;;;;aAMlB;oBACO,KAAe;EAGtBw0C,EAAS,KAAU;IAC5BmE;EAESC,EAAc,EAAA54C,GAAG;;;;;;;;;;;;EAcjB64C,EAAQ,IAAS;IAC1BD;EASSE,EAAqBzG,GAAsB,EAAAryC,GAAG;;;;;;;;;;KAUhC,IAAvBqyC,GAA+B,EAAAryC,GAAG;;mBAEpB+4C;sBACGA;;;;;;EAOfC,EAAY,CAChB9/B,OAAQ,KACRH,QAAS,MAEEkgC,EAAqB,EAChCr6C,aACAyzC,wBACI,EAAAryC,GAAG;;WAEEg5C,EAAUp6C;kBACH;;KAES,IAAvByzC,GAA+B,EAAAryC,GAAG;;sBAEjB+4C;;EAURG,EAAa,EAAAl5C,GAAG;;aAEhB,UAAmB;EAQ1Bm5C,GALc,KAAU;IAC1BD;EAIqB,EAAAl5C,GAAG;;;;;aAKf;iBACI,KAAe;;;mBAGb;;GAMbo5C,EAAuB,EAAAp5C,GAAG;IAC5Bm5C;;;;;;;;;EAaSE,EAAuB,EAAAr5C,GAAG;IACnCm5C;;;;;;;EASkB,KAAU;IAC5BC;8GClJJ,MAAM,SACJ9yC,EAAQ,SACRhT,EAAQ,SACRyc,GCIK,SAAqBzD,GAC1B,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAS/CuiB,GAA4B,IAAAC,eAAcJ,GAChD,SAASyD,EAASpD,GAIhB,QAHc,IAAAC,YAAWH,IACAF,GACFI,EAEzB,CAiCA,MAAO,CACLrZ,SA9BF,SAAkBpJ,GAChB,MAAM,SACJW,KACG8hB,GACDziB,EAIEmiB,EAAS0D,EAASpD,GAGxB,OAAoB,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GACzE,EAmBE/F,SAVF,SAAkBpc,GAChB,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAYL,GAAcG,EAAQD,EAASF,IAAa,CAACE,EAASC,IAClF,OAAoB,gBAAoBL,EAAanG,SAAU,CAC7Dxb,MAAOiiB,GACN7iB,EAAMW,SACX,EAIEklB,WAEJ,CDzDIhP,EAAY,KAAM,CACpBZ,KAAM,YERFmtB,EAAmB,CACvBn2B,MAAO,6BACPC,KAAM,8BAOKwe,EAAgB,CAACzV,EAAO,UAAYmtB,EAAiBntB,GCTrDotB,EACJ,OADIA,EAEH,OAFGA,EAGJ,OAHIA,EAIH,OAQGrsB,EAAa,CACxBtD,MAAO,CACLjE,MAAO4zB,EACP3zB,OAAQ2zB,GAEV1vB,OAAQ,CACNlE,MAAO4zB,EACP3zB,OAAQ2zB,GAEVzvB,MAAO,CACLnE,MAAO4zB,EACP3zB,OAAQ2zB,GAEVxvB,OAAQ,CACNpE,MAAO4zB,EACP3zB,OAAQ2zB,ICQCC,IArBO,QAAItsB,EAAWtD,QACd,QAAIsD,EAAWrD,SAChB,QAAIqD,EAAWpD,QACd,QAAIoD,EAAWnD,QAkBT,EACzBpE,QACAC,SACA+E,UAEIhF,GAASC,EACJ,CACLD,QACAC,UAGA+E,EACKuC,EAAWvC,QADpB,GCjCI8uB,GAAa,QAAI,CACrBrsB,QAAS,eACT2T,WAAY,EACZC,WAAY,EAEZ,QAAS,CDfTL,SAAU,SACVxkB,cAAe,OAMfu9B,KAAM,CACJC,UAAW,gBCSXjZ,SAAU,OACVkZ,UAAW,OACX3W,MAAO,4BACP0T,KAAM,8BACNxT,cAAe,YAMb0W,GAAgB,QAAI,CACxB,4CAA6C,CAE3C,QAAS,CACP3/B,OAAQ,eACR,uBAAwB,aAExB,yBAA0B,aAK1B4/B,GAAkC,QAAI,CAC1C,4CAA6C,CAE3C,QAAS,CAIP,uBAAwB,aAKxBC,GAAgC,QAAI,CACxC,4CAA6C,CAE3C,QAAS,CACP,yBAA0B,kBAanB7C,GAAoB,IAAA1a,OAAK,SAActmB,GAClD,MACE8jC,MAAOC,EAAK,oBACZC,EAAmB,aACnB5C,EAAe,eAAc,eAC7BC,EAAc,KACd5sB,EAAI,OACJhC,EAAM,MACN+E,EAAK,MACL/H,EAAK,OACLC,GACE1P,EACEikC,EAAaD,EAAsB,CACvCE,wBAAyB,CACvBC,OAAQH,IAER,CACFrjC,SAAUojC,GAAQ,QAAIA,EAAO,CAC3BtsB,KAAM,iBACH,MAEDT,EAAassB,EAAY,CAC7B7zB,QACAC,SACA+E,UAEI,KACJwB,GACE,IACJ,OAAO,QAAI,QAAQ,OAAS,CAC1B,cAAexD,EACfgF,KAAMD,EAAQ,WAAQlR,EACtB,aAAckR,QAAgBlR,EAC9B,eAAekR,QAAQlR,EACvBqC,MAAO,CACL,uBAAwBy4B,EACxB,yBAA0BC,GAAkB3V,EAAczV,KAE3DguB,EAAY,CACbnuB,IAAK,CAACytB,EAAYI,EAAevC,IAAiBC,GAAkBuC,EAAoD,gBAAnBvC,GAAoCwC,EAIzI7sB,IAEA,QAAI,CACFvH,MAAOuH,EAAWvH,MAClBC,OAAQsH,EAAWtH,OACnB,QAASsH,OAGf,IACA,kCCtHAiT,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,OAIpB,MAAM+qB,EAAYpvD,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC7F45B,oBAAqB,iZACpBhkC,IAEHovD,EAAU3sD,YAAc,YACxB,IAAI8hC,EAAW6qB,EACfnlC,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,OAIpB,MAAMgrB,EAAcrvD,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC/F45B,oBAAqB,2XACpBhkC,IAEHqvD,EAAY5sD,YAAc,cAC1B,IAAI8hC,EAAW8qB,EACfplC,EAAQ,EAAUsa,iHChBlB,MAAMxhB,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAEf,SAASC,EAASjjB,GAC/B,GAAIA,GAASA,EAAM+b,MAAO,CAExB,GAAI,uBAAwB/b,EAAM+b,MAChC,OAAO/b,EAAM+b,MAAMmH,mBAEhB,GAAI,SAAUljB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MACjE,OAAOjW,EAAM+b,KAEjB,CAGA,MAAO,CACL9F,KAAM8M,EAEV,CCIe,SAAS/V,EAAOmW,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAvBoBE,EAuBEF,EAvBWG,EAuBKF,EAtBjCpjB,IACL,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAE7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC9B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAE1B,GAAIrV,EACF,OAAOA,CAGX,CACF,CAEA,MAAO,EAAE,EAjBb,IAAwByiB,EAAaC,EA0BnC,MAAMC,EAAQJ,EACd,OAAOnjB,IAEL,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACvB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAE1B,GAAIrV,EACF,OAAOA,CAEX,CAEA,MAAO,EAAE,CAEb,CC3CO,MAIM4e,EAAO,UACPC,EAAO,UAOPC,EAAO,UACPqP,EAAO,UAOPnP,EAAO,UAMPG,EAAO,UACPC,EAAO,UAEPC,EAAO,UAmBP7S,EAAK,UAGLimB,EAAM,UAQNjT,EAAO,UAMPE,EAAO,UAMP8N,EAAO,wBAGP0F,EAAO,wBAgBPnT,EAAQ,UAGRE,EAAQ,UAORE,EAAO,UA0CP,GAhBa/T,EAAO,CAC/BC,MAAOG,EACPF,KA1BkB,YA4BYF,EAAO,CACrCC,MA3GiB,UA4GjBC,KA3GiB,YA6GYF,EAAO,CACpCC,MAAOomB,EACPnmB,KAtCkB,YAwCaF,EAAO,CACtCC,MAAOG,EACPF,KAAM6T,IAEY/T,EAAO,CACzBC,MA5EkB,UA6ElBC,KAAMyT,KAEiB3T,EAAO,CAC9BC,MAAOqT,EACPpT,KAAMyT,IAEkB3T,EAAO,CAC/BC,MAAOgT,EACP/S,KAAM+S,IAEkBjT,EAAO,CAC/BC,MAAOmT,EACPlT,KAAM2T,IAEuB7T,EAAO,CACpCC,MArGkB,UAsGlBC,KAlEmB,YAoEEF,EAAO,CAC5BC,MAAOqT,EACPpT,KAAMyT,IAEqB3T,EAAO,CAClCC,MAAOmT,EACPlT,KAAM2T,IAEiB7T,EAAO,CAC9BC,MAzHiB,UA0HjBC,KAAM6T,IAEY/T,EAAO,CACzBC,MAAOgT,EACP/S,KAAM6S,IAEiB/S,EAAO,CAC9BC,MAvJkB,UAwJlBC,KAAM8S,IAEkBhT,EAAO,CAC/BC,MAzJkB,UA0JlBC,KAAM6S,IAEmB/S,EAAO,CAChCC,MAAO8S,EACP7S,KAAM8S,IAEehT,EAAO,CAC5BC,MAAOgT,EACP/S,KAAM6S,IAEY/S,EAAO,CACzBC,MAAOgT,EACP/S,KAAM6S,IAEY/S,EAAO,CACzBC,MA3JkB,UA4JlBC,KA7JkB,YA+JEF,EAAO,CAC3BC,MAvKkB,UAwKlBC,KA1KkB,YA4KDF,EAAO,CACxBC,MAAOuS,EACPtS,KAAMsS,IAEcxS,EAAO,CAC3BC,MAAOyS,EACPxS,KAAMwS,IAEa1S,EAAO,CAC1BC,MAAO2S,EACP1S,KAAM0S,sECxND,MAUM7I,EAAe,IAAM,EACrBwK,EAAW,IAAM,EAcjBC,EAAS,CACpBC,KAAM,IAAM,IACZE,WAAY,IAAM,IAClBD,OAAQ,IAAM,IACdlW,MAAO,IAAM,IACboW,QAAS,IAAM,IACfC,MAAO,IAAM,IACbC,KAAM,IAAM,IACZC,UAAW,IAAM,IACjBC,QAAS,IAAM,sFCnCV,MCYDstC,EAAe,CAEnB9gD,QAAQ,EACRu+C,WAAW,GAEPwC,GAA8B,IAAA/sC,eAAc8sC,GAiB5CE,EAA+B,CAACC,EAAO7uD,EAAQ0uD,IAC/B,gBAAoBC,EAAenzC,SAAU,CAC/DM,IAAK,GAAG+yC,EAAM/yC,eACd9b,MAAOA,GACN6uD,GAECC,EAAgB/uD,GACbA,EAAS0D,QAAO,CAAC4G,EAAKwkD,KAC3BxkD,EAAIwkD,EAAM/yC,KAAO+yC,EACVxkD,IACN,CAAC,GAyDA0kD,GAAkC,IAAArpC,OAAK,EAC3C9X,OAAQohD,GAAiB,EACzBjvD,SAAUkvD,EACVC,oBAEA,MAAMnvD,EA3CgBA,KACtB,MAAMovD,EAAkB,GAYxB,OARA,EAAAjuD,SAAA,QAAiBnB,GAAUwC,SAAQssD,IAGZ,kBAAVA,GAAuBx+C,QAAQw+C,IAExCM,EAAgBhrC,KAAK0qC,EACvB,IAEKM,CAAe,EA8BLC,CAAgBH,GAC3BI,EAAcP,EAAc/uD,GAC5BuvD,GAAmB,IAAA5qC,QAAO,IAC1B6qC,GAAoB,IAAA7qC,QAAO,IAC3B8qC,ED9GsB,MAC5B,MAAO,CAAEC,IAAe,IAAAxY,UAAS,CAAC,GAElC,OADoB,IAAA/0B,cAAY,IAAMutC,EAAY,CAAC,IAAI,GACrC,EC2GEC,GACdC,GAAkB,IAAAjrC,QAAO,CAAC,GAC1B9W,GAAS,IAAA8W,QAAOsqC,GAChBY,GAAsB,IAAAvyB,UAAQ,KAAM,CACxCzvB,OAAQA,EAAO7I,QACfonD,WAAW,KAMb,CAACv+C,EAAO7I,UACR,OAAI,UACKhF,GAEJ6N,EAAO7I,UAEV6I,EAAO7I,SAAU,GAKfuqD,EAAiBvqD,QAAQzB,QAlHa,EAACusD,EAAYzH,KACvD,IAAK,IAAI9kC,EAAI,EAAGA,EAAI8kC,EAAS9kD,OAAQggB,IAGnC,IAAKusC,EAFWzH,EAAS9kC,GACLxH,KAElB,OAAO,EAGX,OAAO,CAAK,EA0G2Bg0C,CAAoCT,EAAaC,EAAiBvqD,WAC9D,IAArCwqD,EAAkBxqD,QAAQzB,QAlDK,EAACqsD,EAAiB5vD,KACvD,IAAIgwD,GAA2B,EAO/B,OANAhwD,EAASwC,SAAQssD,IACXc,EAAgB5qD,QAAQ8pD,EAAM/yC,OAChCi0C,GAA2B,SACpBJ,EAAgB5qD,QAAQ8pD,EAAM/yC,KACvC,IAEKi0C,CAAwB,EA0CiBC,CAA+BL,EAAiB5vD,MAC5FwvD,EAAkBxqD,QAAUuqD,EAAiBvqD,SAK/CuqD,EAAiBvqD,QAAUhF,GACnBmvD,EAAgBK,EAAkBxqD,QA9FR,EAACA,EAASqjD,KAC9C,MAAM6H,EAAkB7H,EAAS3iD,OAAO,IAClCyqD,EAAcpB,EAAc1G,GAClC,IAAK,IAAI9kC,EAAI,EAAGA,EAAIve,EAAQzB,OAAQggB,IAAK,CACvC,MAAMurC,EAAQ9pD,EAAQue,IACF4sC,EAAYrB,EAAM/yC,MAGpCm0C,EAAgBrD,OAAOtpC,EAAI,EAAG,EAAGurC,EAErC,CACA,OAAOoB,CAAe,EAmFgCE,CAA8BpwD,EAAUwvD,EAAkBxqD,UAAUytC,KAAIqc,IAE1H,MAAMuB,EAAef,EAAYR,EAAM/yC,KACvC,OAAKs0C,EA2BExB,EAA6BwB,EAAcR,IAzBhDD,EAAgB5qD,QAAQ8pD,EAAM/yC,MAAO,EAC9B8yC,EAA6BC,EAAO,CACzC1C,WAAW,EACXv+C,QAAQ,EACRk+C,SAAU,YACD6D,EAAgB5qD,QAAQ8pD,EAAM/yC,KAKe,IAAhD7Y,OAAOC,KAAKysD,EAAgB5qD,SAASzB,SAGvCgsD,EAAiBvqD,QAAU,GAC3BwqD,EAAkBxqD,QAAU,GAG5ByqD,IACF,IAOgE,MAGxEF,EAAiBvqD,QAAUhF,EAEtBA,EAASyyC,KAAIqc,GAASD,EAA6BC,EAAOe,MAAqB,IAE3ES,EAAwB,KAC5B,IAAAvuC,YAAW6sC,GAEpBI,EAAmBltD,YAAc,qBACjC,qHCrLA,MAuCayuD,EAAgB,CAACC,EAAO,CACnCC,QAAS,cAET,MAAMC,GAAW,IAAA/rC,QAAO,IAWxB,OAVA,IAAAC,YAAU,IACD,KACD8rC,EAAS1rD,QAAQzB,SACnBmtD,EAAS1rD,QAAQxC,SAAQsa,GAAM6zC,aAAa7zC,KAC5C4zC,EAAS1rD,QAAU,GACrB,GAhDcwrD,KAClB,GACO,gBADCA,EAAKC,QAKT,MAAO,EACX,EA6CGG,CAAYJ,KACR,IAAAruC,cAAY,CAAC1f,EAASqK,KAAY9I,KACvC,MAAM8Y,EAAKghC,YAAW,KACpB4S,EAAS1rD,QAAU0rD,EAAS1rD,QAAQ3B,QAAOwtD,GAAaA,IAAc/zC,IACtEra,GAAS,GACRqK,KAAY9I,GACf0sD,EAAS1rD,QAAQof,KAAKtH,EAAG,GACxB,GAAG,2BCxDR,MAAMg0C,GAAwC,IAAAjvC,gBAAc,KAAM,CAChEkvC,SAAS,EACTjgD,MAAO,EACPrP,IAAKxC,EAAA,MCmFP,EAnEuB,EACrBe,WACA64B,0BACAm4B,oBACAC,mBACAC,WACAnF,SAAUoF,EACVC,WAAW,SAEX,MAAMC,EDvB4B,MAClC,MAAMC,EEFD,WACL,MAAMC,GAAa,IAAA5sC,QAAO,IAI1B,OAHK4sC,EAAWvsD,UACdusD,EAAWvsD,QAAU,KAAO8F,OAAOkQ,OAAO+tB,KAAKyoB,UAAUpR,MAAM,IAAM1Q,KAAKC,MAAQ5G,KAAKC,MAAMyoB,YAAY9hB,QAAQ+b,SAAS,KAErH6F,EAAWvsD,OACpB,CFJsB0sD,GAEpB,OADgB,IAAA3vC,YAAW+uC,EACpBnxD,CAAQ2xD,EAAY,ECoBTK,IACZ,UACJvF,EACAL,SAAU6F,EAAc,OACxB/jD,IACE,SACEiwC,EAAayS,IACbsB,EAASX,IAAaG,EAAUN,QAChCjgD,EAAQs7C,EAAY,EAAIiF,EAAUvgD,MAClC7P,EAAQmrD,EAAY,UAAY,YAC/B0F,EAAoBC,IAAyB,IAAA7a,UAASrpC,GAiC7D,OAhCA,IAAA+W,YAAU,KAER,IAAIotC,GAAc,EAClB,IAAIH,EAAJ,CAKA,GAAKhkD,EAgBL,OAVAkkD,GAAsB,GACtBjU,GAAW,KACK,YAAV78C,GACF2wD,GAAkBA,IAEfI,GACHD,GAAsB,GAExBZ,GAAkBA,EAAelwD,EAAM,GACtCmrD,EAlD2B,GAkDfgF,EAAuCA,EAAWtgD,GAC1D,KACLkhD,GAAc,CAAI,EAhBlBb,GAAkBA,EAAelwD,EAJnC,CAqBC,GAKA,CAAC2wD,EAAgB3wD,EAAOmrD,EAAWgF,EAAUtgD,EAAO+gD,EAAQ/T,IAC3C,gBAAoB,KAAY,MAAM,EACxD3oC,SACInV,EAAS,CACbyB,IAAK4vD,EAAU5vD,IACf+Q,UAAWs/C,EAAqB38C,EAAI,KAC/B,UACH8wC,eAAgB,GAAGn1C,MACnB6nB,kBAAmB,GAAGyzB,EAlEM,GAkEMgF,EAAuCA,MACzEzL,kBAAmByG,EAAY,WAAa,YAC5C6F,cAAe,IAAG,QAAU7F,GAAY6E,GAAwCD,KAChFkB,mBAAoBL,EAAS,SAAW,UACxCh5B,wBAAyBA,EAAwB53B,KAC9C,IACJA,IAAO,EEpFNkxD,EAAmB,CACvBC,aAAc,CACZtpD,OAAQ,oCACR1D,KAAM,qCACNyD,MAAO,oCACP1D,IAAK,sCAEPktD,SAAU,CACRvpD,OAAQ,yBACR1D,KAAM,0BACNyD,MAAO,yBACP1D,IAAK,4BAGHmtD,EAAoB,CACxBntD,IAAK,SACL2D,OAAQ,MACR1D,KAAM,QACNyD,MAAO,QAEI0pD,EAAkB,CAACC,EAAWC,EAAW,kBAC7C,CACL15B,KAAM,CACJ1zB,QAAS,UACSM,IAAd6sD,GAA2B,CAC7B79C,UAAWw9C,EAAiBM,GAAUD,KAG1C,MAAO,CACLntD,QAAS,GAEX2zB,GAAI,CACFrkB,eAAyBhP,IAAd6sD,EAA0B,YAAS7sD,KAIvC+sD,EAAmB,CAACF,EAAWC,EAAW,kBAAmB,CACxE15B,KAAM,CACJ1zB,QAAS,EACTsP,eAAyBhP,IAAd6sD,EAA0B,4BAAyB7sD,GAEhEqzB,GAAI,CACF3zB,QAAS,UACSM,IAAd6sD,GAA2B,CAC7B79C,UAAWw9C,EAAiBM,GAAUD,OAmC5C,EAnBe,EACbxyD,WACAoxD,WAAW,KACXtF,oBACA6G,gBACAF,WAAW,eACX1G,WACAmF,eAEA,MAAM0B,EAA4B9G,GAAqBwG,EAAkBxG,GACzE,OAAoB,gBAAoB,EAAiB,CACvDsF,SAAUA,EACVJ,kBAAmBuB,EAAgBzG,EAAmB2G,GACtDxB,iBAAkByB,EAAiBC,GAAiBC,EAA2BH,GAC/E55B,wBAAyB,IAAM,KAC/BkzB,SAAUA,EACVmF,SAAUA,GACTlxD,EAAS,oEC/Ed,MAOa6yD,EAAkB,KAC7B,GARoD,oBAAXvnD,UAA0B,eAAgBA,QASjF,OAAO,EAET,MAAM,QACJwnD,GACExnD,OAAOynD,WAAW,oCACtB,OAAOD,CAAO,EA6BHE,EAAuB,KAAM,CACxC,0CAA2C,CACzCzqB,UAAW,OACXx7B,WAAY,0DChDT,MAAMkmD,EAAY,sFCGlB,MAEMC,EAAmBC,IACnBC,EAAkBD,iICD3BE,EAAkB,GACXC,EAAY,SAAmBnsD,EAAkBosD,EAAerR,QACzD,IAAZA,IACFA,EAAU,CAAC,GAGb,IAAIsR,EAAc,SAAa,MAC3BC,EAAsB,CACxBC,cAAexR,EAAQwR,cACvB9tD,UAAWs8C,EAAQt8C,WAAa,SAChC+tD,SAAUzR,EAAQyR,UAAY,WAC9BrtD,UAAW47C,EAAQ57C,WAAa+sD,GAG9BO,EAAkB,WAAe,CACnC/sD,OAAQ,CACND,OAAQ,CACN1B,SAAUuuD,EAAoBE,SAC9BvuD,KAAM,IACND,IAAK,KAEPoB,MAAO,CACLrB,SAAU,aAGdgJ,WAAY,CAAC,IAEXjN,EAAQ2yD,EAAgB,GACxBztD,EAAWytD,EAAgB,GAE3BltD,EAAsB,WAAc,WACtC,MAAO,CACL3E,KAAM,cACNkE,SAAS,EACT4tD,MAAO,QACPlvD,GAAI,SAAY6D,GACd,IAAIvH,EAAQuH,EAAKvH,MACb6yD,EAAW5wD,OAAOC,KAAKlC,EAAM6yD,UACjC,aAAmB,WACjB3tD,EAAS,CACPU,QAAQ,QAAYitD,EAASrhB,KAAI,SAAUjsC,GACzC,MAAO,CAACA,EAASvF,EAAM4F,OAAOL,IAAY,CAAC,EAC7C,KACA0H,YAAY,QAAY4lD,EAASrhB,KAAI,SAAUjsC,GAC7C,MAAO,CAACA,EAASvF,EAAMiN,WAAW1H,GACpC,MAEJ,GACF,EACAutD,SAAU,CAAC,iBAEf,GAAG,IACCC,EAAgB,WAAc,WAChC,IAAIC,EAAa,CACfP,cAAeD,EAAoBC,cACnC9tD,UAAW6tD,EAAoB7tD,UAC/B+tD,SAAUF,EAAoBE,SAC9BrtD,UAAW,GAAGZ,OAAO+tD,EAAoBntD,UAAW,CAACI,EAAqB,CACxE3E,KAAM,cACNkE,SAAS,MAIb,OAAI,IAAQutD,EAAYxuD,QAASivD,GACxBT,EAAYxuD,SAAWivD,GAE9BT,EAAYxuD,QAAUivD,EACfA,EAEX,GAAG,CAACR,EAAoBC,cAAeD,EAAoB7tD,UAAW6tD,EAAoBE,SAAUF,EAAoBntD,UAAWI,IAC/HwtD,EAAoB,WAmBxB,OAlBA,SAA0B,WACpBA,EAAkBlvD,SACpBkvD,EAAkBlvD,QAAQmvD,WAAWH,EAEzC,GAAG,CAACA,KACJ,SAA0B,WACxB,GAAwB,MAApB7sD,GAA6C,MAAjBosD,EAAhC,CAIA,IACIvsD,GADek7C,EAAQkS,cAAgB,MACTjtD,EAAkBosD,EAAeS,GAEnE,OADAE,EAAkBlvD,QAAUgC,EACrB,WACLA,EAAeC,UACfitD,EAAkBlvD,QAAU,IAC9B,CARA,CASF,GAAG,CAACmC,EAAkBosD,EAAerR,EAAQkS,eACtC,CACLnzD,MAAOizD,EAAkBlvD,QAAUkvD,EAAkBlvD,QAAQ/D,MAAQ,KACrE4F,OAAQ5F,EAAM4F,OACdqH,WAAYjN,EAAMiN,WAClBxL,OAAQwxD,EAAkBlvD,QAAUkvD,EAAkBlvD,QAAQtC,OAAS,KACvE2xD,YAAaH,EAAkBlvD,QAAUkvD,EAAkBlvD,QAAQqvD,YAAc,KAErF,EChGIC,EAAO,WAEX,EAEIC,EAAe,WACjB,OAAOn6B,QAAQC,QAAQ,KACzB,EAEI,EAAkB,GACf,SAAStxB,EAAOP,GACrB,IAAIgsD,EAAiBhsD,EAAK5C,UACtBA,OAA+B,IAAnB4uD,EAA4B,SAAWA,EACnDC,EAAgBjsD,EAAKmrD,SACrBA,OAA6B,IAAlBc,EAA2B,WAAaA,EACnDC,EAAiBlsD,EAAKlC,UACtBA,OAA+B,IAAnBouD,EAA4B,EAAkBA,EAC1DvtD,EAAmBqB,EAAKrB,iBACxBusD,EAAgBlrD,EAAKkrD,cACrB5tD,EAAW0C,EAAK1C,SAChB9F,EAAWwI,EAAKxI,SAChB0I,EAAgB,aAAiBisD,EAAA,IAEjCf,EAAkB,WAAe,MACjCL,EAAgBK,EAAgB,GAChCgB,EAAmBhB,EAAgB,GAEnCiB,EAAmB,WAAe,MAClCC,EAAeD,EAAiB,GAChCE,EAAkBF,EAAiB,GAEvC,aAAgB,YACd,QAAO/uD,EAAUytD,EACnB,GAAG,CAACztD,EAAUytD,IACd,IAAIrR,EAAU,WAAc,WAC1B,MAAO,CACLt8C,UAAWA,EACX+tD,SAAUA,EACVD,cAAeA,EACfptD,UAAW,GAAGZ,OAAOY,EAAW,CAAC,CAC/BvE,KAAM,QACNkE,QAAyB,MAAhB6uD,EACT5S,QAAS,CACP17C,QAASsuD,MAIjB,GAAG,CAAClvD,EAAW+tD,EAAUD,EAAeptD,EAAWwuD,IAE/CE,EAAa1B,EAAUnsD,GAAoBuB,EAAe6qD,EAAerR,GACzEjhD,EAAQ+zD,EAAW/zD,MACnB4F,EAASmuD,EAAWnuD,OACpBwtD,EAAcW,EAAWX,YACzB3xD,EAASsyD,EAAWtyD,OAEpBuyD,EAAgB,WAAc,WAChC,MAAO,CACLxzD,IAAKmzD,EACL5sD,MAAOnB,EAAOD,OACdhB,UAAW3E,EAAQA,EAAM2E,UAAYA,EACrCsvD,iBAAkBj0D,GAASA,EAAMk0D,cAAcpuD,KAAO9F,EAAMk0D,cAAcpuD,KAAKmuD,iBAAmB,KAClGE,kBAAmBn0D,GAASA,EAAMk0D,cAAcpuD,KAAO9F,EAAMk0D,cAAcpuD,KAAKquD,kBAAoB,KACpG/sD,WAAY,CACVL,MAAOnB,EAAON,MACd9E,IAAKszD,GAEPV,YAAaA,GAAeC,EAC5B5xD,OAAQA,GAAU6xD,EAEtB,GAAG,CAACK,EAAkBG,EAAiBnvD,EAAW3E,EAAO4F,EAAQnE,EAAQ2xD,IACzE,OAAO,QAAYr0D,EAAZ,CAAsBi1D,EAC/B,CCtEA,MAAMI,EAAoB,CAAC,CACzBtzD,KAAM,OACNmgD,QAAS,CACPlX,gBAAgB,EAChB3e,QAAS,EACTipC,SAAU,kBACVC,aAAc,aAEf,CACDxzD,KAAM,kBACNmgD,QAAS,CACP71B,QAAS,EACTkpC,aAAc,cAGlB,SAASC,IACP,OAAO,IACT,CACA,MAAMC,EAAgB,CAAC,EAAG,GACnB,SAAS,GAAO,SACrBz1D,EAAWw1D,EAAiB,OAC5BlsD,EAASmsD,EAAa,UACtB7vD,EAAY,eAAc,iBAC1BuB,EAA4B,UAC5Bb,EAAS,SACTqtD,EAAW,UAEX,MAAO+B,EAASC,GAAWrsD,EAErBssD,GAAoB,IAAAt4B,UAAQ,IAOzB,IAAI+3B,EANY,CACrBtzD,KAAM,SACNmgD,QAAS,CACP54C,OAAQ,CAACosD,EAASC,OAIrB,CAACD,EAASC,IAGPE,GAAkB,IAAAv4B,UAAQ,IACb,MAAbh3B,EACKsvD,EAEF,IAAIA,KAAsBtvD,IAChC,CAACsvD,EAAmBtvD,IACvB,OAAoB,gBAAoB,EAAa,CACnDA,UAAWuvD,EACXjwD,UAAWA,EACX+tD,SAAUA,EACVxsD,iBAAkBA,GACjBnH,EACL,2ECzDO,MCQM0J,EAAkBC,IAC7B,MAAMC,EAAYC,SAASC,cAAc,OAGzC,OAFAF,EAAU4I,UDRmB,kBCS7B5I,EAAU5B,MAAM2B,OAAS,GAAGA,IACrBC,CAAS,EAeZ4B,EAAkB,KACtB,MAAMC,EAAgB5B,SAAS6B,cD3BG,qCC4BlC,IAAKD,EAAe,CAClB,MAAME,EAAS9B,SAASC,cAAc,OAMtC,OALA6B,EAAO6G,UD/B0B,4BCkCjC7G,EAAO3D,MAAMuO,QAAU,OAdlB1M,SAASO,KAeJwB,YAAYD,GACfA,CACT,CACA,OAAOF,CAAa,EAOTqqD,EAAwBlsD,IACnC4B,IAAkBW,YAAYvC,EAAU,EAO7BmsD,EAAqCnsD,IAC3CA,EAAU6B,eACbD,IAAkBI,YAAYhC,EAChC,ECrDa,SAASosD,EAAe32D,GACrC,MAAM,OACJsK,EAAM,SACN3J,GACEX,EACEuK,GAAY,IAAA0zB,UAAQ,IAAM5zB,EAAgBC,IAAS,CAACA,IAY1D,OANAosD,EAAmCnsD,IACnC,IAAAgb,YAAU,IACD,KACLkxC,EAAsBlsD,EAAU,GAEjC,CAACA,KACgB,IAAAqsD,cAAaj2D,EAAU4J,EAC7C,CCpBA,MAOA,EAP8B,KAC5B,MAAOssD,EAAoBC,IAAyB,IAAAjf,WAAS,GAI7D,OAHA,IAAAtyB,YAAU,KACRuxC,GAAsB,EAAK,GAC1B,IACID,CAAkB,ECNrB7rD,EAAe,CACnB,IAAK,OACL,IAAK,aACL,IAAK,SACL,IAAK,QACL,IAAK,UACL,IAAK,QACL,IAAK,OACL,IAAK,YACL,IAAK,WAQDG,EAAeb,GACZU,EAAaI,eAAed,GAAUU,EAAaV,GAAU,KAwBvD,SAASe,EAAgBC,EAAWhB,GACjD,MAAM/J,EAhBS,EAAC+K,EAAWhB,KAC3B,MAAMiB,EAAS,CACbC,MAAOL,EAAaM,OAAOnB,IAC3BA,UAEF,OAAO,IAAIoB,YAAYJ,EAAW,CAChCC,UACA,EASYS,CAASV,EAAWhB,GAClC2B,OAAOC,cAAc3L,EACvB,CC1CA,MASA,EAT2B+J,IACzB,MAAMysD,EAAetrD,OAAOnB,IAC5B,IAAAib,YAAU,KACRla,ECN8B,gBDMM0rD,GAC7B,KACL1rD,ECP8B,kBDOQ0rD,EAAa,IAEpD,CAACA,GAAc,EENL,SAASvqD,EAAOxM,GAC7B,MAAM,OACJsK,EAAS,EAAC,SACV3J,GACEX,EACE62D,EAAqB,IAE3B,OADA,EAAmBvsD,GACZusD,EAAkC,gBAAoBF,EAAgB,CAC3ErsD,OAAQA,GACP3J,GAAY,IACjB,gcCNO,SAASq2D,EAAgBr2D,EAAUs2D,GACxC,IAII57B,EAASx3B,OAAOigB,OAAO,MAO3B,OANInjB,GAAU,EAAAmB,SAAA,IAAanB,GAAU,SAAUo5B,GAC7C,OAAOA,CACT,IAAG52B,SAAQ,SAAUssD,GAEnBp0B,EAAOo0B,EAAM/yC,KATF,SAAgB+yC,GAC3B,OAAOwH,IAAS,IAAAC,gBAAezH,GAASwH,EAAMxH,GAASA,CACzD,CAOsB0H,CAAO1H,EAC7B,IACOp0B,CACT,CAiEA,SAAS+7B,EAAQ3H,EAAO4H,EAAMr3D,GAC5B,OAAsB,MAAfA,EAAMq3D,GAAgBr3D,EAAMq3D,GAAQ5H,EAAMzvD,MAAMq3D,EACzD,CAaO,SAASC,EAAoB/sB,EAAWgtB,EAAkBrpD,GAC/D,IAAIspD,EAAmBR,EAAgBzsB,EAAU5pC,UAC7CA,EA/DC,SAA4B82D,EAAMz4C,GAIvC,SAAS04C,EAAeh7C,GACtB,OAAOA,KAAOsC,EAAOA,EAAKtC,GAAO+6C,EAAK/6C,EACxC,CALA+6C,EAAOA,GAAQ,CAAC,EAChBz4C,EAAOA,GAAQ,CAAC,EAQhB,IAcIkF,EAdAyzC,EAAkB9zD,OAAOigB,OAAO,MAChC8zC,EAAc,GAElB,IAAK,IAAIC,KAAWJ,EACdI,KAAW74C,EACT44C,EAAY1zD,SACdyzD,EAAgBE,GAAWD,EAC3BA,EAAc,IAGhBA,EAAY7yC,KAAK8yC,GAKrB,IAAIC,EAAe,CAAC,EAEpB,IAAK,IAAIC,KAAW/4C,EAAM,CACxB,GAAI24C,EAAgBI,GAClB,IAAK7zC,EAAI,EAAGA,EAAIyzC,EAAgBI,GAAS7zD,OAAQggB,IAAK,CACpD,IAAI8zC,EAAiBL,EAAgBI,GAAS7zC,GAC9C4zC,EAAaH,EAAgBI,GAAS7zC,IAAMwzC,EAAeM,EAC7D,CAGFF,EAAaC,GAAWL,EAAeK,EACzC,CAGA,IAAK7zC,EAAI,EAAGA,EAAI0zC,EAAY1zD,OAAQggB,IAClC4zC,EAAaF,EAAY1zC,IAAMwzC,EAAeE,EAAY1zC,IAG5D,OAAO4zC,CACT,CAmBiBG,CAAmBV,EAAkBC,GAmCpD,OAlCA3zD,OAAOC,KAAKnD,GAAUwC,SAAQ,SAAUuZ,GACtC,IAAI+yC,EAAQ9uD,EAAS+b,GACrB,IAAK,IAAAw6C,gBAAezH,GAApB,CACA,IAAIyI,EAAWx7C,KAAO66C,EAClBY,EAAWz7C,KAAO86C,EAClBY,EAAYb,EAAiB76C,GAC7B27C,GAAY,IAAAnB,gBAAekB,KAAeA,EAAUp4D,MAAMmO,IAE1DgqD,GAAaD,IAAWG,EAQhBF,IAAWD,GAAYG,EAMxBF,GAAWD,IAAW,IAAAhB,gBAAekB,KAI9Cz3D,EAAS+b,IAAO,IAAA47C,cAAa7I,EAAO,CAClCvhD,SAAUA,EAASgzB,KAAK,KAAMuuB,GAC9BthD,GAAIiqD,EAAUp4D,MAAMmO,GACpBE,KAAM+oD,EAAQ3H,EAAO,OAAQllB,GAC7B58B,MAAOypD,EAAQ3H,EAAO,QAASllB,MAXjC5pC,EAAS+b,IAAO,IAAA47C,cAAa7I,EAAO,CAClCthD,IAAI,IAVNxN,EAAS+b,IAAO,IAAA47C,cAAa7I,EAAO,CAClCvhD,SAAUA,EAASgzB,KAAK,KAAMuuB,GAC9BthD,IAAI,EACJE,KAAM+oD,EAAQ3H,EAAO,OAAQllB,GAC7B58B,MAAOypD,EAAQ3H,EAAO,QAASllB,IAZD,CA+BpC,IACO5pC,CACT,CClIA,IAAI2mD,EAASzjD,OAAOyjD,QAAU,SAAU5oC,GACtC,OAAO7a,OAAOC,KAAK4a,GAAK00B,KAAI,SAAUjX,GACpC,OAAOzd,EAAIyd,EACb,GACF,EAuBIo8B,EAA+B,SAAUnyD,GAG3C,SAASmyD,EAAgBv4D,EAAOM,GAC9B,IAAIgB,EAIAk3D,GAFJl3D,EAAQ8E,EAAiB7E,KAAKrB,KAAMF,EAAOM,IAAYJ,MAE9Bs4D,aAAat3B,MAAK,OAAuB5/B,IAUlE,OAPAA,EAAMM,MAAQ,CACZnB,aAAc,CACZg4D,YAAY,GAEdD,aAAcA,EACdE,aAAa,GAERp3D,CACT,EAlBA,OAAei3D,EAAiBnyD,GAoBhC,IAAI6B,EAASswD,EAAgB12D,UAqE7B,OAnEAoG,EAAO4E,kBAAoB,WACzB3M,KAAKy4D,SAAU,EACfz4D,KAAK4G,SAAS,CACZrG,aAAc,CACZg4D,YAAY,IAGlB,EAEAxwD,EAAOM,qBAAuB,WAC5BrI,KAAKy4D,SAAU,CACjB,EAEAJ,EAAgBK,yBAA2B,SAAkCruB,EAAWphC,GACtF,IDiBmCnJ,EAAOkO,ECjBtCqpD,EAAmBpuD,EAAKxI,SACxB63D,EAAervD,EAAKqvD,aAExB,MAAO,CACL73D,SAFgBwI,EAAKuvD,aDeY14D,ECbcuqC,EDaPr8B,ECbkBsqD,EDcvDxB,EAAgBh3D,EAAMW,UAAU,SAAU8uD,GAC/C,OAAO,IAAA6I,cAAa7I,EAAO,CACzBvhD,SAAUA,EAASgzB,KAAK,KAAMuuB,GAC9BthD,IAAI,EACJK,OAAQ4oD,EAAQ3H,EAAO,SAAUzvD,GACjC2N,MAAOypD,EAAQ3H,EAAO,QAASzvD,GAC/BqO,KAAM+oD,EAAQ3H,EAAO,OAAQzvD,IAEjC,KCtB8Es3D,EAAoB/sB,EAAWgtB,EAAkBiB,GAC3HE,aAAa,EAEjB,EAGAzwD,EAAOuwD,aAAe,SAAsB/I,EAAOpqD,GACjD,IAAIwzD,EAAsB7B,EAAgB92D,KAAKF,MAAMW,UACjD8uD,EAAM/yC,OAAOm8C,IAEbpJ,EAAMzvD,MAAMkO,UACduhD,EAAMzvD,MAAMkO,SAAS7I,GAGnBnF,KAAKy4D,SACPz4D,KAAK4G,UAAS,SAAUlF,GACtB,IAAIjB,GAAW,OAAS,CAAC,EAAGiB,EAAMjB,UAGlC,cADOA,EAAS8uD,EAAM/yC,KACf,CACL/b,SAAUA,EAEd,IAEJ,EAEAsH,EAAOvH,OAAS,WACd,IAAI8mC,EAActnC,KAAKF,MACnBF,EAAY0nC,EAAYn1B,UACxBymD,EAAetxB,EAAYsxB,aAC3B94D,GAAQ,OAA8BwnC,EAAa,CAAC,YAAa,iBAEjE/mC,EAAeP,KAAK0B,MAAMnB,aAC1BE,EAAW2mD,EAAOpnD,KAAK0B,MAAMjB,UAAUyyC,IAAI0lB,GAK/C,cAJO94D,EAAMwO,cACNxO,EAAM2N,aACN3N,EAAMqO,KAEK,OAAdvO,EACkB,gBAAoBi5D,EAAA,WAAiC,CACvEn4D,MAAOH,GACNE,GAGe,gBAAoBo4D,EAAA,WAAiC,CACvEn4D,MAAOH,GACO,gBAAoBX,EAAWE,EAAOW,GACxD,EAEO43D,CACT,CA3FmC,CA2FjC,aAEFA,EAAgBhX,UAyDZ,CAAC,EACLgX,EAAgBtzD,aA5KG,CACjBoN,UAAW,MACXymD,aAAc,SAAsBrJ,GAClC,OAAOA,CACT,GAyKF,UCtJA,SAASuJ,EAAQC,EAAQC,GAAkB,IAAIp1D,EAAOD,OAAOC,KAAKm1D,GAAS,GAAIp1D,OAAOwgB,sBAAuB,CAAE,IAAI80C,EAAUt1D,OAAOwgB,sBAAsB40C,GAAaC,IAAgBC,EAAUA,EAAQn1D,QAAO,SAAUo1D,GAAO,OAAOv1D,OAAOm2B,yBAAyBi/B,EAAQG,GAAKC,UAAY,KAAIv1D,EAAKihB,KAAKhgB,MAAMjB,EAAMq1D,EAAU,CAAE,OAAOr1D,CAAM,CAEpV,SAASw1D,EAAc3oD,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAAyB,MAAhBnqC,UAAUqf,GAAarf,UAAUqf,GAAK,CAAC,EAAOA,EAAI,EAAK80C,EAAQn1D,OAAOmrC,IAAS,GAAM7rC,SAAQ,SAAUuZ,IAAO,OAAgB/L,EAAQ+L,EAAKsyB,EAAOtyB,GAAO,IAAe7Y,OAAO01D,0BAA6B11D,OAAO21D,iBAAiB7oD,EAAQ9M,OAAO01D,0BAA0BvqB,IAAmBgqB,EAAQn1D,OAAOmrC,IAAS7rC,SAAQ,SAAUuZ,GAAO7Y,OAAOuhB,eAAezU,EAAQ+L,EAAK7Y,OAAOm2B,yBAAyBgV,EAAQtyB,GAAO,GAAM,CAAE,OAAO/L,CAAQ,CACrhB,IAAI8oD,EAAO,SAActwD,GACvB,IAAIuwD,EAAMvwD,EAAKkJ,UACXsnD,EAAgBxwD,EAAK4oD,SACrBA,OAA6B,IAAlB4H,EAA2B,EAAIA,EAC1CvrD,EAASjF,EAAKgF,GAEdnO,GADWmJ,EAAK+E,UACR,OAAyB/E,EAAM,CAAC,YAAa,WAAY,KAAM,cAEvEuE,EAAa,CACfG,SAAU,CACR7H,QAAS,GAEX8H,QAAS,CACP9H,QAAS,EACT0H,WAAY,WAAWrH,OAAO0rD,EAAU,OAE1ChkD,QAAS,CACP/H,QAAS,GAEX4zD,OAAQ,CACN5zD,QAAS,IAGb,OAAoB,gBAAoBsI,EAAA,GAAY,CAClDurD,cAAc,EACdtrD,eAAe,EACfJ,GAAIC,EACJX,QAASskD,IACR,SAAUnwD,GACX,IAAIk4D,EAAa,CACfnxD,MAAO2wD,EAAc,CAAC,EAAG5rD,EAAW9L,KAEtC,OAAoB,gBAAoB83D,GAAK,OAAS,CACpDI,WAAYA,GACX95D,GACL,GACF,EAOI+5D,EAAwB,SAAUvwB,IACpC,OAAUuwB,EAAUvwB,GAEpB,IArDoBwwB,EAAeC,EAqD/B74D,GArDgB44D,EAqDMD,EArDSE,EAErC,WAAuC,GAAuB,oBAAZhgC,UAA4BA,QAAQigC,UAAW,OAAO,EAAO,GAAIjgC,QAAQigC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAVC,MAAsB,OAAO,EAAM,IAAiF,OAA3E/pB,KAAKxuC,UAAUwqD,SAAS9qD,KAAK04B,QAAQigC,UAAU7pB,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAO3/B,GAAK,OAAO,CAAO,CAAE,CAFlQ2pD,GAAoC,WAAkC,IAAsCh/B,EAAlCi/B,GAAQ,OAAgBN,GAAkB,GAAIC,EAA2B,CAAE,IAAIM,GAAY,OAAgBr6D,MAAMH,YAAas7B,EAASpB,QAAQigC,UAAUI,EAAOz1D,UAAW01D,EAAY,MAASl/B,EAASi/B,EAAMv1D,MAAM7E,KAAM2E,WAAc,OAAO,OAA2B3E,KAAMm7B,EAAS,GAuDna,SAAS0+B,IACP,IAAIz4D,GAEJ,OAAgBpB,KAAM65D,GAEtB,IAAK,IAAIx0D,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAoDzB,OAjDAnE,EAAQF,EAAOG,KAAKwD,MAAM3D,EAAQ,CAAClB,MAAMmG,OAAO1B,KAC1CotD,SAlBa,IAmBnBzwD,EAAMk5D,WAAQ,EACdl5D,EAAMM,MAAQ,CACZ6N,MAAO,QAETnO,EAAMoM,WAAa,CACjBK,QAAS,CACP0B,MAAO,EACP/B,WAAY,SAASrH,OAAO/E,EAAMywD,SAAU,gBAE9C6H,OAAQ,CACNnqD,MAAO,IAIXnO,EAAMgrB,SAAW,SAAUlqB,GACrBA,GAAOq4D,MAAMn5D,EAAMM,MAAM6N,SAS3BnO,EAAMk5D,MAAQvuD,OAAOyuD,uBAAsB,WACzC,IACIjrD,EADwBrN,EAAIoN,wBACEC,MAElCnO,EAAMwF,SAAS,CACb2I,MAAOA,GAEX,IAEJ,EAEAnO,EAAMmN,SAAW,SAAUgB,GACzB,MAAO,CACLgb,SAAU,SACVE,WAAY,SACZlb,MAAOA,EAEX,EAEAnO,EAAM6qB,cAAgB,SAAUvqB,GAC9B,OAAON,EAAMoM,WAAW9L,EAC1B,EAEON,CACT,CAoCA,OAlCA,OAAay4D,EAAU,CAAC,CACtBr9C,IAAK,uBACL9b,MAAO,WACDV,KAAKs6D,OACPvuD,OAAO0uD,qBAAqBz6D,KAAKs6D,MAErC,GAEC,CACD99C,IAAK,SACL9b,MAAO,WACL,IAAIioC,EAAS3oC,KAETsnC,EAActnC,KAAKF,MACnBW,EAAW6mC,EAAY7mC,SACvByN,EAASo5B,EAAYr5B,GACrBsB,EAAQvP,KAAK0B,MAAM6N,MACvB,OAAoB,gBAAoBnB,EAAA,GAAY,CAClDX,OAAO,EACPksD,cAAc,EACdtrD,eAAe,EACfJ,GAAIC,EACJX,QAASvN,KAAK6xD,WACb,SAAUnwD,GACX,IAAI+G,EAAQ2wD,EAAcA,EAAc,CAAC,EAAGzwB,EAAOp6B,SAASgB,IAASo5B,EAAO1c,cAAcvqB,IAE1F,OAAoB,gBAAoB,MAAO,CAC7CQ,IAAKymC,EAAOvc,SACZ3jB,MAAOA,GACNhI,EACL,GACF,KAGKo5D,CACT,CArG4B,CAqG1B,EAAAj6D,WAEE86D,EAAqB,SAA4B14D,GACnD,OAAO,SAAUiH,GACf,IAAIiF,EAASjF,EAAKgF,GACdD,EAAW/E,EAAK+E,SAChBlO,GAAQ,OAAyBmJ,EAAM,CAAC,KAAM,aAElD,OAAoB,gBAAoB4wD,EAAU,CAChD5rD,GAAIC,EACJF,SAAUA,GACI,gBAAoBhM,GAAkB,OAAS,CAC7D24D,iBAAkBzsD,GACjBpO,IACL,CACF,EAEI86D,EAAsB,SAA6B54D,GACrD,OAAO,SAAUlC,GACf,OAAoB,gBAAoBy5D,GAAM,OAAS,CACrDpnD,UAAWnQ,EACX6vD,SAAU/xD,EAAM+6D,QA7HC,IA6H4B,GAC5C/6D,GACL,CACF,EAEIg7D,EAAsB,SAA6B94D,GACrD,OAAO,SAAUlC,GACf,OAAoB,gBAAoBy5D,GAAM,OAAS,CACrDpnD,UAAWnQ,GACVlC,GACL,CACF,EAGIi7D,EAAyB,SAAgC/4D,GAC3D,OAAO,SAAUlC,GACf,OAAoB,gBAAoB,GAAiB,OAAS,CAChEqS,UAAWnQ,GACVlC,GACL,CACF,EAEA,SAASk7D,EAAUjC,EAAQC,GAAkB,IAAIp1D,EAAOD,OAAOC,KAAKm1D,GAAS,GAAIp1D,OAAOwgB,sBAAuB,CAAE,IAAI80C,EAAUt1D,OAAOwgB,sBAAsB40C,GAAaC,IAAgBC,EAAUA,EAAQn1D,QAAO,SAAUo1D,GAAO,OAAOv1D,OAAOm2B,yBAAyBi/B,EAAQG,GAAKC,UAAY,KAAIv1D,EAAKihB,KAAKhgB,MAAMjB,EAAMq1D,EAAU,CAAE,OAAOr1D,CAAM,CAItV,IAAIq3D,EAAe,WACjB,IApNyCj5D,EAoNrCk5D,EAAqBv2D,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC1FklD,GAAa,OAAkB,CACjCA,WAAYqR,IAGVvzB,EAAQkiB,EAAWliB,MACnBwzB,EAAatR,EAAWsR,WACxBC,EAAcvR,EAAWuR,YACzBC,EAAcxR,EAAWwR,YACzBC,EAAiBzR,EAAWyR,eAC5Bj5D,GAAO,OAAyBwnD,EAAY,CAAC,QAAS,aAAc,cAAe,cAAe,mBAEtG,OAfF,SAAyBp5C,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAAyB,MAAhBnqC,UAAUqf,GAAarf,UAAUqf,GAAK,CAAC,EAAOA,EAAI,EAAKg3C,EAAUr3D,OAAOmrC,IAAS,GAAM7rC,SAAQ,SAAUuZ,IAAO,OAAgB/L,EAAQ+L,EAAKsyB,EAAOtyB,GAAO,IAAe7Y,OAAO01D,0BAA6B11D,OAAO21D,iBAAiB7oD,EAAQ9M,OAAO01D,0BAA0BvqB,IAAmBksB,EAAUr3D,OAAOmrC,IAAS7rC,SAAQ,SAAUuZ,GAAO7Y,OAAOuhB,eAAezU,EAAQ+L,EAAK7Y,OAAOm2B,yBAAyBgV,EAAQtyB,GAAO,GAAM,CAAE,OAAO/L,CAAQ,CAelhB8qD,CAAgB,CACrB5zB,OAjOuC3lC,EAiOlB2lC,EAhOhB,SAAU1+B,GACFA,EAAKgF,GACHhF,EAAK+E,SACP/E,EAAKqF,OACNrF,EAAKwE,MACNxE,EAAKkF,KAJhB,IAKIrO,GAAQ,OAAyBmJ,EAAM,CAAC,KAAM,WAAY,SAAU,QAAS,SAEjF,OAAoB,gBAAoBjH,EAAkBlC,EAC5D,GAwNEq7D,WAAYT,EAAmBS,GAC/BC,YAAaR,EAAoBQ,GACjCC,YAAaP,EAAoBO,GACjCC,eAAgBP,EAAuBO,IACtCj5D,EACL,EAEIm5D,EAAqBP,IACbO,EAAmB7zB,MACd6zB,EAAmBL,WAClBK,EAAmBJ,YACnBI,EAAmBH,YAChBG,EAAmBF,eAGxC,SAFY,aAAWL,EAAc,wCClQ9B,MAUM55C,EAAW,IAAM,kDCZnBo6C,EAAY,CACnBloD,OAAQ,EACRC,MAAO,GACPC,OAAQ,GACRC,MAAO,GACPC,OAAQ,IAED+nD,EAAeD,EAAUjoD,MCAhCmoD,EAAgB,CAChBj8D,MAAM,IAAA0xB,WAAUhe,KAAqBA,IAAmB,IAAA2R,sBAAqB,CAAC,0DAA2D,CAAC,6DAC1I62C,aAAa,IAAAxqC,WAAU9X,KAAqBA,IAAmB,IAAAyL,sBAAqB,CAAC,uFAAwF,CAAC,0FAC9K82C,aAAa,IAAAzqC,WAAU7X,KAAqBA,IAAmB,IAAAwL,sBAAqB,CAAC,wFAAyF,CAAC,2FAC/K+2C,cAAc,IAAA1qC,WAAU5X,KAAqBA,IAAmB,IAAAuL,sBAAqB,CAAC,0DAA2D,CAAC,8DAiBlJuwB,EAAU,SAAUnzC,GAEpB,OADWA,EAAGoS,KACA,IAClB,EACI2tC,GAAY,eAAY6Z,KAAqBA,IAAmB,IAAAh3C,sBAAqB,CAAC,OAAQ,iCAAkC,eAAgB,iQAAkQ,CAAC,OAAQ,iCAAkC,eAAgB,oQAnB9a,SAAU5iB,GACzC,IAAIoP,EAAQpP,EAAGoP,MAAO+iD,EAAQnyD,EAAGmyD,MACjC,MAAc,UAAVA,GAGO,IAAA1+C,KAAI6D,KAAqBA,IAAmB,IAAAsL,sBAAqB,CAAC,sBAAuB,KAAM,WAAY,CAAC,sBAAuB,KAAM,aAAcxT,EAAOoqD,EAAcj8D,MAEzK,UAAV40D,GAA+B,SAAVA,GACd,IAAA1+C,KAAI8D,KAAqBA,IAAmB,IAAAqL,sBAAqB,CAAC,8CAA+C,WAAY,CAAC,8CAA+C,aAAc42C,EAAcC,aAEtM,UAAVtH,GACO,IAAA1+C,KAAIomD,KAAqBA,IAAmB,IAAAj3C,sBAAqB,CAAC,iDAAkD,qCAAsC,WAAY,CAAC,iDAAkD,qCAAsC,aAAc42C,EAAcE,YAAaF,EAAcG,cAE1T,EACX,GAK4uBxmB,EAASA,GACrvB4M,GAAU3/C,YAAc,mBACxB,YACA,IAAI6Q,GAAkBkG,GAAkBC,GAAkBC,GAAkBC,GAAkBC,GAAkBsiD,GAAkBD,eC9B9HE,GAAiB,SAAU1nD,GAAQ,OAAOi1B,KAAKC,MAAMl1B,EAAO,GAAK,EACjE2nD,GAAyB,SAAU3nD,GACnC,IACI4nD,EAAe5nD,EAAO,EADR0nD,GAAe1nD,GACW,EAC5C,OAAOi1B,KAAK4yB,GAAKD,EAAe,CACpC,EAMI,GAAgB,CAChBz8D,MAAM,IAAA0xB,WAAU,KAAqB,IAAmB,IAAArM,sBAAqB,CAAC,0DAA2D,CAAC,6DAC1IoM,QAAQ,IAAAC,WAAU,KAAqB,IAAmB,IAAArM,sBAAqB,CAAC,+CAAgD,CAAC,kDACjIs3C,cAAc,IAAAjrC,WAAU,KAAqB,IAAmB,IAAArM,sBAAqB,CAAC,0DAA2D,CAAC,6DAClJu3C,kBAAkB,IAAAlrC,WAAU,KAAqB,IAAmB,IAAArM,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACpN,eAAgBm3C,GAAuBT,EAAUjoD,OACjD,GADyD0oD,GAAuBT,EAAUjoD,QAE9F+oD,mBAAmB,IAAAnrC,WAAU,KAAqB,IAAmB,IAAArM,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACrN,eAAgBm3C,GAAuBT,EAAUhoD,QACjD,GAD0DyoD,GAAuBT,EAAUhoD,SAE/F+oD,kBAAkB,IAAAprC,WAAU,KAAqB,IAAmB,IAAArM,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACpN,eAAgBm3C,GAAuBT,EAAU/nD,OACjD,GADyDwoD,GAAuBT,EAAU/nD,QAE9F+oD,mBAAmB,IAAArrC,WAAU,KAAqB,IAAmB,IAAArM,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCACrN,eAAgBm3C,GAAuBT,EAAU9nD,QACjD,GAD0DuoD,GAAuBT,EAAU9nD,UAc/F+oD,IAAe,EAAA5vD,GAAA,GAAO,CAAEC,MAAO,EAAAoT,KAAMnT,KAAM,EAAAE,KAC3CyvD,IAAuB,EAAA7vD,GAAA,GAAO,CAAEC,MAAO,EAAAG,GAAIF,KAAM,EAAAE,KAC1CukB,GAAiB,SAAUtvB,GAClC,IAAIy6D,EAAcz6D,EAAGy6D,YAAa98D,GAAQ,IAAAokB,QAAO/hB,EAAI,CAAC,gBACtD,OAAOy6D,EAAcD,GAAqB78D,GAAS48D,GAAa58D,EACpE,EACW+8D,IAAY,IAAAjnD,KAAIknD,KAAsBA,IAAoB,IAAA/3C,sBAAqB,CAAC,OAAQ,OAAQ,CAAC,OACxG,UAAU,SAAUjlB,GACpB,IAAIi9D,EAAgBb,GAAuBp8D,EAAMyU,MAQjD,OAAO,IAAAqB,KAAIonD,KAAsBA,IAAoB,IAAAj4C,sBAAqB,CAAC,WAAY,sCAAuC,8BAA+B,iCAAkC,0DAA2D,8CAA+C,CAAC,WAAY,sCAAuC,8BAA+B,iCAAkC,0DAA2D,iDAPzc,SAAUk4C,GACtB,IAAIC,EAAgB,oDACpB,MAAwB,UAApBD,EAAU3I,OACH,IAAA1+C,KAAIunD,KAAqBA,IAAmB,IAAAp4C,sBAAqB,CAAC,0BAA2B,IAAK,mCAAoC,mCAAoC,eAAgB,CAAC,0BAA2B,IAAK,mCAAoC,mCAAoC,iBAAkBm4C,EAAe,GAAc/rC,OApBxU,SAAU5c,GACnC,IAAI6oD,EAAmBz5D,OAAOC,KAAK63D,GAAWlb,MAAK,SAAU8c,GAAY,OAAO9oD,IAASknD,EAAU4B,EAAW,IAC9G,GAAID,EACA,OAAO,GAAcA,EAAmB,eAE5C,IAAIL,EAAgBb,GAAuB3nD,GAC3C,OAAO,IAAA6c,WAAU,KAAqB,IAAmB,IAAArM,sBAAqB,CAAC,mCAAoC,sCAAuC,aAAc,CAAC,mCAAoC,sCAAuC,eAAgBg4C,EAA+B,GAAhBA,EACvR,CAa6WO,CAAuBL,EAAU1oD,MAAO,GAAc8nD,eAEpZ,IAAAzmD,KAAI2nD,KAAsBA,IAAoB,IAAAx4C,sBAAqB,CAAC,wBAAyB,IAAK,aAAc,CAAC,wBAAyB,IAAK,eAAgBm4C,EAAe,GAAc/rC,OACvM,GACqhBM,GAAgBsrC,EAA+B,GAAhBA,EAAqBd,GAAen8D,EAAMyU,MAClmB,IACIqD,GAAM,cAAW4lD,KAAsBA,IAAoB,IAAAz4C,sBAAqB,CAAC,OAAQ,OAAQ,CAAC,OAAQ,SAAU83C,IACxHjlD,GAAIrV,YAAc,aAClB,YACA,IAAI,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB,GAAkB46D,GAAkBI,GAAmBP,GAAmBF,GAAmBU,GC1D3NtjD,GAAQ,eAAY,KAAqB,IAAmB,IAAA6K,sBAAqB,CAAC,2DAA4D,CAAC,8DACnJ7K,GAAM3X,YAAc,QA8EpB,SA7E6B,SAAUrB,GAEnC,SAASu8D,EAAQ39D,GACb,IAAIsB,EAAQF,EAAOG,KAAKrB,KAAMF,IAAUE,KAgDxC,OA/CAoB,EAAMs8D,eAAiB,KACvBt8D,EAAMqM,MAAQ,WACErM,EAAMtB,MAAMyR,MAEpBnQ,EAAMwF,SAAS,CAAE0tD,MAAO,UAGxBlzD,EAAMwF,SAAS,CAAE0tD,MAAO,SAEhC,EACAlzD,EAAMu8D,KAAO,WACTv8D,EAAMwF,SAAS,CAAE0tD,MAAO,QAC5B,EACAlzD,EAAM+M,KAAO,WACT/M,EAAMwF,SAAS,CAAE0tD,MAAO,SAC5B,EACAlzD,EAAMw8D,YAAc,SAAUz4D,EAAM4Z,GAChC,IAAI8+C,EAAkB,SAAUx9D,GAE5B,GAA6B,QAAzBA,EAAMoQ,OAAOkqC,QAUjB,MAP0B,UAAtBv5C,EAAMM,MAAM4yD,OACZlzD,EAAMwF,SAAS,CAAE0tD,MAAO,UACxBlzD,EAAMw8D,YAAYz4D,EAAM4Z,IAGxBA,IAEG5Z,GAAQA,EAAK6M,oBAAoB,eAAgB6rD,EAC5D,EAIA,OAAI14D,GAAQA,EAAK2M,iBACN3M,EAAK2M,iBAAiB,eAAgB+rD,GAE1C9+C,GACX,EACA3d,EAAM08D,aAAe,WACjB,IAAIvpD,EAAOnT,EAAMtB,MAAMyU,KACnB8W,EAAcowC,EAAUlnD,IAASA,EACrC,MAA8B,iBAAhB8W,EAA2BA,EAAcqwC,CAC3D,EACAt6D,EAAMM,MAAQ,CACV4yD,MAAO,IAEJlzD,CACX,CAuBA,OA1EA,IAAAsiB,WAAU+5C,EAASv8D,GAoDnBu8D,EAAQ97D,UAAUnB,OAAS,WACvB,IAAIY,EAAQpB,KACRs0D,EAAQt0D,KAAK0B,MAAM4yD,MACnBnyD,EAAKnC,KAAKF,MAAOyR,EAAQpP,EAAGoP,MAAOqrD,EAAcz6D,EAAGy6D,YAAamB,EAAe57D,EAAG47D,aAAcxrD,EAASpQ,EAAGoQ,OAC7GgC,EAAOvU,KAAK89D,eAEZ3B,EAAe5nD,EAAO,EADRi1B,KAAKC,MAAMl1B,EAAO,IACQ,EAC5C,OAAQ,gBAAoB2F,GAAO,KAC/B,gBAAoB,EAAA9L,WAAY,CAAE4vD,eAAgBh+D,KAAK49D,YAAatvD,QAAQ,EAAML,IAAK8vD,EAAcpE,cAAc,EAAMtrD,eAAe,EAAM4vD,QAASj+D,KAAKyN,MAAOywD,UAAWl+D,KAAK29D,KAAMQ,OAAQn+D,KAAKmO,KAAMH,SAAU,WAAc,OAAO5M,EAAMtB,MAAMs+D,YAAc,EAAG7wD,QAAS,EAAGrL,IAAK,SAAUiD,GAC3R/D,EAAMs8D,eAAiBv4D,CAC3B,GACA,gBAAoB,GAAW,CAAEoM,MAAOA,EAAQ,IAAM+iD,MAAOA,EAAO//C,KAAMA,EAAM,cAAehC,GAC3F,gBAAoB,GAAK,CAAEmf,UAAW,QAASliB,OAAQ+E,EAAMqoD,YAAaA,EAAatI,MAAOA,EAAO//C,KAAMA,EAAMyD,QAAS,OAASzD,EAAO,IAAMA,EAAMhF,MAAOgF,EAAM2D,MAAO,8BACtK,gBAAoB,SAAU,CAAEC,GAAI5D,EAAO,EAAG6D,GAAI7D,EAAO,EAAG8D,EAAG8jD,OACnF,EACAsB,EAAQ14D,aAAe,CACnBwM,MAAO,IACPwsD,cAAc,EACdnB,aAAa,EACbwB,WAAY,WAAc,EAC1B7pD,KAAM,UAEHkpD,CACX,CA5E4B,CA4E1B,EAAA79D,WAEF,IAAI,eC7EOy+D,GAAiB,SAAwBv+D,GAClD,OAAO,IAAAspB,KAAI,mBAA2BtpB,GAAO,IAAAspB,KAAI,IAAiB,CAChE7U,KAAM,QACN2sB,aAAc,YAElB,EACWo9B,GAAoB,SAA2Bx+D,GACxD,OAAO,IAAAspB,KAAI,sBAA8BtpB,GAAO,IAAAspB,KAAI,KAAU,MAChE,EACWm1C,GAAmB,SAA0Bz+D,GACtD,OAAO,IAAAspB,KAAI,OAAO,OAAS,CACzBxT,IAAK9V,EAAM0+D,UAAU,mBAAoB1+D,IACxCA,EAAM85D,aAAa,IAAAxwC,KAAI,GAAS,CACjC7U,KAAM,UAEV,ECpBWkqD,GAAmB,SAA0B3+D,GACtD,OAAO,SAAc,qBAA6BA,GAAO,SAAc,IAAiB,CACtFyU,KAAM,QACN2sB,aAAc,cACdC,eAAgB,YAEpB,EACWu9B,GAAqB,KCUhC,SAAS74C,GAAW84C,EAAiBC,GACnC,IAEIC,EAAyBx9C,IAFV,EAGnB,MAAO,CACLy9C,QAAS,SAAiBlpD,EAAK3M,GAC7B,IAAIg2B,EAAYh2B,EAAKg2B,UACjBxpB,EAAaxM,EAAKwM,WAClBV,EAAckqB,EAAYrlB,EAAOiG,KAAOjG,EAAOqV,IAC/CpiB,EAAkBoyB,EAAYrlB,EAAO1M,GAAK0M,EAAOqV,IAEjDxZ,IACF5I,EAAkB+M,EAAOqV,KAGH,UAApB0vC,IAA6B5pD,EAAc6E,EAAO2F,MAC9B,YAApBo/C,IAA+B5pD,EAAc6E,EAAO+F,MACxD,IAAIo/C,EAAmB9/B,EAAYrlB,EAAOiG,KAAOjG,EAAOuZ,IAChC,UAApBwrC,IAA6BI,EAAmBnlD,EAAO2F,MACnC,YAApBo/C,IAA+BI,EAAmBnlD,EAAO+F,MAC7D,IAAItK,EAAqB,QACzB,OAAO,OAAc,CAAC,EAAGO,EAAK,CAC5B/I,gBAAiBA,EACjBkI,YAAaA,EACbiqD,YAAa,QACbnoD,aAAc,MACdvC,YAAa,MACbsY,UAAW,OACXqyC,UAAWL,EAAyB,EAAbv9C,IAA8B,EAAbA,IACxCyL,QAAS,EACTtf,WAAY,oBAAoBrH,OAAOkP,EAAoB,wCAAwClP,OAAOkP,EAAoB,gBAC9H6pD,gBAAiB,2BACjB,sBAAuB,CACrB1vD,OAAQ6R,IACR9R,MAAO8R,KAET,6BAA8B,CAC5BrK,QAAS,QAEX,SAAU,CACR,4BAA6B,CAC3BnK,gBAAiB,mBAEnBmI,OAAQ,UACRnI,gBAAiBoyB,EAAYrlB,EAAO1M,GAAK0M,EAAOuZ,IAChDpe,YAAagqD,GAEf,kCAAmC,CACjClyD,gBAAiB,oBAGvB,EACAsyD,eAAgB,SAAwBvpD,GACtC,OAAO,OAAc,CAAC,EAAGA,EAAK,CAC5B6rB,YAAao9B,EACbt9B,aAAcs9B,EACdr9B,cAAeo9B,EAAY,EAAI,EAC/Bt9B,WAAYs9B,EAAY,EAAI,GAEhC,EACAQ,eAAgB,SAAwBxpD,GACtC,OAAO,OAAc,CAAC,EAAGA,EAAK,CAC5BiX,MAAOjT,EAAO0V,IACdmS,YA7Da,EA8DbF,aA9Da,EA+DbC,cAAeo9B,EAAY,EAAI,EAC/Bt9B,WAAYs9B,EAAY,EAAI,EAC5B,SAAU,CACR/xC,MAAOjT,EAAOuG,OAGpB,EACAk/C,iBAAkB,SAA0BzpD,GAC1C,OAAO,OAAc,CAAC,EAAGA,EAAK,CAC5B4rB,cAAeo9B,EAAY,EAAI,EAC/Bt9B,WAAYs9B,EAAY,EAAI,GAEhC,EACAU,kBAAmB,SAA2B1pD,EAAKi2B,GACjD,IAAIp2B,EAAao2B,EAAMp2B,WACnBoX,EAAQjT,EAAOuG,KAMnB,OAJI1K,IACFoX,EAAQjT,EAAO0V,MAGV,OAAc,CAAC,EAAG1Z,EAAK,CAC5BiX,MAAOA,EACP4U,YAtFa,EAuFbF,aAvFa,EAwFbC,cAAeo9B,EAAY,EAAI,EAC/Bt9B,WAAYs9B,EAAY,EAAI,EAC5B,SAAU,CACR/xC,MAAOjT,EAAOsG,OAGpB,EACAq/C,oBAAqB,SAA6B3pD,GAChD,OAAO,OAAc,CAAC,EAAGA,EAAK,CAC5B2rB,aAAcs9B,EAjGD,GAmGjB,EACAl4B,OAAQ,SAAgB/wB,EAAKk2B,GAC3B,IAGIj/B,EAHAoyB,EAAY6M,EAAM7M,UAClBvpB,EAAao2B,EAAMp2B,WACnBmX,EAAQnX,EAAakE,EAAO1M,GAAK,KAGrC,OADIwI,EAAY7I,EAAkB+M,EAAOuG,KAAc8e,IAAWpyB,EAAkB+M,EAAOuZ,MACpF,OAAc,CAAC,EAAGvd,EAAK,CAC5B0rB,WAAY,MACZE,cAAe,MACf30B,gBAAiBA,EACjBggB,MAAOA,GAEX,EACA2yC,YAAa,SAAqB5pD,GAChC,OAAO,OAAc,CAAC,EAAGA,EAAK,CAC5BiX,MAAOjT,EAAO0Z,MAElB,EACAmsC,YAAa,SAAqB7pD,EAAKm2B,GACrC,IAAIt2B,EAAas2B,EAAMt2B,WACvB,OAAO,OAAc,CAAC,EAAGG,EAAK,CAC5BiX,MAAOpX,EAAamE,EAAO0V,IAAM1V,EAAOwG,KACxCwK,WAAY,GAAGzkB,OAAoB,EAAbkb,IAAgB,OAG1C,EACAq+C,SAAU,SAAkB9pD,GAC1B,OAAO,OAAc,CAAC,EAAGA,EAAK,CAC5B0rB,WAAYjgB,IACZmgB,cAAengB,KAEnB,EACAs+C,WAAY,SAAoB/pD,GAC9B,OAAO,OAAc,CAAC,EAAGA,EAAK,CAC5BiB,aAAc,MACdhK,gBAAiB+M,EAAOoG,IACxB6M,MAAOjT,EAAOuG,KACdmK,SAAU,QAEd,EACAs1C,gBAAiB,SAAyBhqD,GACxC,OAAO,OAAc,CAAC,EAAGA,EAAK,CAC5BkX,QAAS,MACTyU,aAAc,OAElB,EACAs+B,iBAAkB,SAA0BjqD,EAAKwmC,GAC/C,IAAInd,EAAYmd,EAAMnd,UACtB,OAAO,OAAc,CAAC,EAAGrpB,EAAK,CAC5B/I,gBAAiBoyB,GAAarlB,EAAOgY,IACrC/E,MAAOoS,GAAarlB,EAAO2F,KAC3BkiB,YAAa,MACbF,aAAc,MACd1qB,aAAc,kBACd,SAAU,CACRgW,MAAOjT,EAAO2F,KACd1S,gBAAiB+M,EAAOgY,MAG9B,EAEJ,CAEe,SAASkuC,GAAa99D,GACnC,IAAI+9D,EAAQC,EAEZ,OAAOA,EAAQD,EAEf,SAAUz2B,GAGR,SAAS22B,EAAengE,GACtB,IAAIsB,EAmCJ,OAjCA,OAAgBpB,KAAMigE,GAEtB7+D,GAAQ,OAA2BpB,MAAM,OAAgBigE,GAAgB5+D,KAAKrB,KAAMF,KAEpF,QAAgB,OAAuBsB,GAAQ,kBAAc,IAE7D,QAAgB,OAAuBA,GAAQ,cAAU,IAEzD,QAAgB,OAAuBA,GAAQ,mBAAmB,SAAUyoD,EAAYqW,GAEpF9+D,EAAMyoD,WADJqW,EACiB,GAAa,OAAc,CAAC,EAAG,EAAmBrW,KAElD,OAAc,CAAC,EAAG,EAAmBA,EAE5D,KAEA,QAAgB,OAAuBzoD,GAAQ,eAAe,SAAUc,GACtEd,EAAM++D,OAASj+D,EACf,IAAIqE,EAAWnF,EAAMtB,MAAMyG,SAED,YAAtB,OAAQA,KACVA,EAASd,QAAUvD,GAGG,mBAAbqE,GACTA,EAASrE,EAEb,IAEAd,EAAMg/D,iBAAkB,aAAWh/D,EAAMg/D,gBAAiB,KAASp/B,MAAK,OAAuB5/B,IAE/FA,EAAMg/D,gBAAgBtgE,EAAM+pD,WAAY/pD,EAAMogE,iBAEvC9+D,CACT,CAwCA,OA/EA,OAAU6+D,EAAgB32B,IAyC1B,OAAa22B,EAAgB,CAAC,CAC5BzjD,IAAK,mCACL9b,MAAO,SAA0C2pC,GAC/CrqC,KAAKogE,gBAAgB/1B,EAAUwf,WAAYxf,EAAU61B,gBACvD,GACC,CACD1jD,IAAK,QACL9b,MAAO,WACLV,KAAKmgE,OAAOjlD,OACd,GACC,CACDsB,IAAK,OACL9b,MAAO,WACLV,KAAKmgE,OAAOllD,MACd,GACC,CACDuB,IAAK,SACL9b,MAAO,WACL,IAAI4mC,EAActnC,KAAKF,MACnBwH,EAASggC,EAAYhgC,OACrBq3D,EAAkBr3B,EAAYq3B,gBAC9B11C,EAAUqe,EAAYre,QACtB4xC,EAAUvzB,EAAYuzB,QACtB/6D,GAAQ,OAAyBwnC,EAAa,CAAC,SAAU,kBAAmB,UAAW,YAGvFs3B,EAAwB,YAAZ31C,EAEhB,OAAO,SAAcjnB,GAAkB,OAAS,CAC9CE,IAAKlC,KAAKqgE,YACVxF,QAASA,GACR/6D,EAAO,CACR+pD,WAAY7pD,KAAK6pD,WACjBviD,QAAQ,IAAAmd,GAAYoB,GAAW84C,EAAiBC,GAAYt3D,KAEhE,KAGK24D,CACT,CAjFA,CAiFE,EAAArgE,YAAY,OAAgBmgE,EAAQ,eAAgB,CACpDG,iBAAiB,EACjBvB,gBAAiB,UACjB11C,QAAS,UACTq3C,uBAAuB,EACvBC,iBAAiB,IACfP,CACN,gCCvRAr8D,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtD,IAAImmB,EAAU,EAAQ,OAClBC,EAAUD,EAAQ6G,aAAa,EAAQ,QACvCynB,EAAsBtuB,EAAQE,gBAAgB,EAAQ,QACtDquB,EAASvuB,EAAQE,gBAAgB,EAAQ,QACzCsuB,EAAW,EAAQ,OACnBnrB,EAAc,EAAQ,OACtBorB,EAAU,SAAUnzC,GACpB,IAAIoS,EAAOpS,EAAGoS,KACd,OAAOA,EAAO,WAAa2V,EAAYiZ,MAAM5uB,GAAQ,YAAc2V,EAAYiZ,MAAM5uB,GAAQ,IAAM,IACvG,EACAwV,EAAQgG,YAAcolB,EAAoBttB,QAAQ0tB,KAAKniC,IAAqBA,EAAmByT,EAAQ9B,qBAAqB,CAAC,OAAQ,WAAY,wCAAyC,6DAA8D,8cAA+c,CAAC,OAAQ,WAAY,wCAAyC,6DAA8D,gdAAiduwB,GAAS,SAAUvxC,GAAK,OAAOA,EAAEm9B,cAAgB,cAAgB,IAAG,SAAUn9B,GAAK,OAAOA,EAAEo9B,gBAAkBkU,EAASp0B,UAAY,GAAGq0B,GAC15C,IAkCIliC,EAlCA0tB,EAAsB,SAAU5/B,GAEhC,SAAS4/B,IACL,OAAkB,OAAX5/B,GAAmBA,EAAO2D,MAAM7E,KAAM2E,YAAc3E,IAC/D,CA2BA,OA9BA6mB,EAAQnD,UAAUod,EAAM5/B,GAYxB4/B,EAAK0/B,wBAA0B,SAAUhrB,GACrC,IAAIj4B,EAAK63B,EAAOvtB,UAIhB,OAHqB2tB,EAChBC,QAAQ,8BAA+B,SAAWl4B,GAClDk4B,QAAQ,wCAAyC,iBAAoBl4B,EAAK,KAEnF,EACAujB,EAAKn/B,UAAUnB,OAAS,WACpB,IAAI2B,EAAKnC,KAAKF,MAAO+jC,EAAQ1hC,EAAGyhC,MAAOE,EAAsB3hC,EAAG2hC,oBAAqB5C,EAAe/+B,EAAG++B,aAAcC,EAAiBh/B,EAAGg/B,eAAgB5sB,EAAOpS,EAAGoS,KAEnK,OAAIuvB,EACQhd,EAAQe,QAAQtd,cAAcwf,EAAQgG,YAAa,CAAEmR,aAAcA,EAAcC,eAAgBA,EAAgB5sB,KAAMA,EAAM,aAAcvU,KAAKF,MAAMwX,MAAO0sB,wBAAyB,CACtLC,OAAQnD,EAAK0/B,wBAAwB18B,MAIzChd,EAAQe,QAAQtd,cAAcwf,EAAQgG,YAAa,CAAEmR,aAAcA,EAAcC,eAAgBA,EAAgB5sB,KAAMA,EAAM,aAAcvU,KAAKF,MAAMwX,OAASusB,EAAQ/c,EAAQe,QAAQtd,cAAcs5B,EAAO,CAAEtsB,KAAM,iBAAoB,KACpP,EACOupB,CACX,CAhCyB,CAgCvBha,EAAQlnB,WACVmqB,EAAA,QAAkB+W,8BC7ClBn9B,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtDqpB,EAAQoZ,MAAQ,CACZ3vB,MAAO,OACPC,OAAQ,OACRC,MAAO,OACPC,OAAQ,QAEZoW,EAAQ2rB,QAAU,CACdliC,MAAO,QACPC,OAAQ,SACRC,MAAO,QACPC,OAAQ,wCCPZoW,EAAQ,OAAU,EAElB,IAAIma,EAASyR,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAE5T,IAAI87D,EAAyB,SAAgC3gE,GAC3D,OAAOokC,EAAOrc,QAAQtd,cAAcqrC,EAAM/tB,QAASguB,EAAS,CAC1D/R,oBAAqB,+RACpBhkC,GACL,EAEA2gE,EAAuBl+D,YAAc,yBACrC,IAAI8hC,EAAWo8B,EACf12C,EAAQ,EAAUsa,gCClBlBta,EAAQ,OAAU,EAElB,IAAIma,EAASyR,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAE5T,IAAI+7D,EAAkB,SAAyB5gE,GAC7C,OAAOokC,EAAOrc,QAAQtd,cAAcqrC,EAAM/tB,QAASguB,EAAS,CAC1D/R,oBAAqB,+bACpBhkC,GACL,EAEA4gE,EAAgBn+D,YAAc,kBAC9B,IAAI8hC,EAAWq8B,EACf32C,EAAQ,EAAUsa,2wDCrBX,MAAM1S,EAAM,UACNC,EAAM,UACNvC,EAAO,UACPhQ,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwP,EAAO,UAEP8C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPnD,EAAO,UACPpP,EAAO,UACPqP,EAAO,UACPO,EAAO,UAEP4C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPzS,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwS,EAAO,UAEP3C,EAAM,UACN5P,EAAM,UACNC,EAAO,UACPC,EAAO,UACP2O,EAAO,UACP1O,EAAO,UACP2O,EAAO,UAEP0D,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPC,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEP/lB,EAAK,UACLgmB,EAAM,UACNjE,EAAM,UACNkE,EAAM,UACNnT,EAAM,UACNC,EAAM,UACNmT,EAAM,UACN9D,EAAM,UACN+D,GAAM,UACN9D,GAAM,UACN+D,GAAO,UACPpT,GAAO,UACPqT,GAAO,UACPxF,GAAO,UACP5N,GAAO,UACPqT,GAAO,UACPlF,GAAO,UACPlO,GAAO,UAEPC,GAAO,UAEPoT,GAAO,wBACP5F,GAAO,wBACPK,GAAO,wBACPwF,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPtT,GAAO,wBACPuT,GAAO,wBACPC,GAAO,wBACPC,GAAQ,wBACRxT,GAAQ,wBACRyT,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBAER7C,GAAQ,UACRhR,GAAQ,UACR8T,GAAQ,UACR7T,GAAQ,UACRC,GAAQ,UACRsN,GAAQ,UACRrN,GAAQ,UACR4T,GAAQ,UACR3T,GAAQ,UACR4T,GAAO,UACPC,GAAO,UACP3G,GAAO,UACPK,GAAO,UACPtN,GAAO,UACP6T,GAAO,UACP5T,GAAO,UACP6T,GAAO,UACPC,GAAO,UAEP7T,GAAM,UAEN8T,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAQ,yBACRrU,GAAQ,yBACRsU,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBAER3U,IAAa,OAAO,CAAElU,MAAOG,EAAIF,KAAM8T,KACvCI,IAAmB,OAAO,CAAEnU,MAAOyiB,EAAKxiB,KAAM4S,IAC9CuB,IAAkB,OAAO,CAAEpU,MAAOomB,EAAKnmB,KAAM8gB,KAC7C+H,IAAoB,OAAO,CAAE9oB,MAAOG,EAAIF,KAAM6T,KAC9CiV,IAAO,OAAO,CAAE/oB,MAAOsT,GAAMrT,KAAMyT,KACnCsV,IAAY,OAAO,CAAEhpB,MAAOqT,GAAMpT,KAAMyT,KACxCuV,IAAa,OAAO,CAAEjpB,MAAOgT,EAAM/S,KAAM+S,IACzCkW,IAAa,OAAO,CAAElpB,MAAOmT,GAAMlT,KAAM2T,KACzCuV,IAAkB,OAAO,CAAEnpB,MAAOumB,GAAMtmB,KAAMunB,KAC9C4B,IAAU,OAAO,CAAEppB,MAAOqT,GAAMpT,KAAMyT,KACtC2V,IAAgB,OAAO,CAAErpB,MAAOmT,GAAMlT,KAAM2T,KAC5C0V,IAAY,OAAO,CAAEtpB,MAAOkiB,EAAKjiB,KAAM6T,KACvCmO,IAAO,OAAO,CAAEjiB,MAAOgT,EAAM/S,KAAM6S,IACnCyW,IAAY,OAAO,CAAEvpB,MAAO0hB,EAAMzhB,KAAM8S,IACxCyW,IAAa,OAAO,CAAExpB,MAAO2hB,EAAM1hB,KAAM6S,IACzC2W,IAAc,OAAO,CAAEzpB,MAAO8S,EAAM7S,KAAM8S,IAC1C0O,IAAU,OAAO,CAAEzhB,MAAOgT,EAAM/S,KAAM6S,IACtC4W,IAAO,OAAO,CAAE1pB,MAAOgT,EAAM/S,KAAM6S,IACnC6W,IAAO,OAAO,CAAE3pB,MAAOgmB,EAAM/lB,KAAM8lB,IACnC1R,IAAS,OAAO,CAAErU,MAAOylB,EAAMxlB,KAAMslB,IACrCqE,IAAM,OAAO,CAAE5pB,MAAOuS,EAAMtS,KAAMsS,IAClCsX,IAAS,OAAO,CAAE7pB,MAAOyS,EAAMxS,KAAMwS,IACrCqX,IAAQ,OAAO,CAAE9pB,MAAO2S,EAAM1S,KAAM0S,IACpCoX,GAAW,IAAMjJ,kDCpJ9B,MAAMhL,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAEf,SAASC,EAASjjB,GAC7B,GAAIA,GAASA,EAAM+b,MAAO,CAEtB,GAAI,uBAAwB/b,EAAM+b,MAC9B,OAAO/b,EAAM+b,MAAMmH,mBAGlB,GAAI,SAAUljB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MAC/D,OAAOjW,EAAM+b,KAErB,CAEA,MAAO,CAAE9F,KAAM8M,EACnB,CCFe,SAAS/V,EAAOmW,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflCpjB,IACJ,MAAM+b,EAAQkH,EAASjjB,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC5B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACJ,CACA,MAAO,EAAE,EAXjB,IAAwByiB,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQnjB,IAEJ,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACrB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACA,MAAO,EAAE,CAEjB,gCC/BA,IAAIi1C,EAAyB,EAAQ,OAErC5rB,EAAQqT,YAAa,EACrBrT,EAAA,QAIA,SAAkB9iB,EAASgM,GACrBhM,EAAQ05D,UAAW15D,EAAQ05D,UAAUC,IAAI3tD,IAAqB,EAAI4tD,EAAUh5C,SAAS5gB,EAASgM,KAA6C,iBAAtBhM,EAAQgM,UAAwBhM,EAAQgM,UAAYhM,EAAQgM,UAAY,IAAMA,EAAehM,EAAQuD,aAAa,SAAUvD,EAAQgM,WAAahM,EAAQgM,UAAU6tD,SAAW,IAAM,IAAM7tD,GACrT,EAJA,IAAI4tD,EAAYlrB,EAAuB,EAAQ,QAM/CorB,EAAOh3C,QAAUA,EAAiB,oCCXlCA,EAAQqT,YAAa,EACrBrT,EAAA,QAEA,SAAkB9iB,EAASgM,GACzB,OAAIhM,EAAQ05D,YAAoB1tD,GAAahM,EAAQ05D,UAAUvzB,SAASn6B,IAA0H,KAAlG,KAAOhM,EAAQgM,UAAU6tD,SAAW75D,EAAQgM,WAAa,KAAKuI,QAAQ,IAAMvI,EAAY,IAC1L,EAEA8tD,EAAOh3C,QAAUA,EAAiB,+BCPlC,SAASi3C,EAAiBC,EAAWC,GACnC,OAAOD,EAAUxrB,QAAQ,IAAI0rB,OAAO,UAAYD,EAAgB,YAAa,KAAM,MAAMzrB,QAAQ,OAAQ,KAAKA,QAAQ,aAAc,GACtI,CAEAsrB,EAAOh3C,QAAU,SAAqB9iB,EAASgM,GACzChM,EAAQ05D,UAAW15D,EAAQ05D,UAAUS,OAAOnuD,GAAiD,iBAAtBhM,EAAQgM,UAAwBhM,EAAQgM,UAAY+tD,EAAiB/5D,EAAQgM,UAAWA,GAAgBhM,EAAQuD,aAAa,QAASw2D,EAAiB/5D,EAAQgM,WAAahM,EAAQgM,UAAU6tD,SAAW,GAAI7tD,GAC1R,gCCNA8W,EAAQqT,YAAa,EACrBrT,EAAA,aAAkB,EAgBlB,SAAiCvL,GAAO,GAAIA,GAAOA,EAAI4e,WAAc,OAAO5e,EAAc,IAAIG,EAAS,CAAC,EAAG,GAAW,MAAPH,EAAe,IAAK,IAAIhC,KAAOgC,EAAO,GAAI7a,OAAOhC,UAAUuJ,eAAe7J,KAAKmd,EAAKhC,GAAM,CAAE,IAAIod,EAAOj2B,OAAOuhB,gBAAkBvhB,OAAOm2B,yBAA2Bn2B,OAAOm2B,yBAAyBtb,EAAKhC,GAAO,CAAC,EAAOod,EAAK6D,KAAO7D,EAAK+D,IAAOh6B,OAAOuhB,eAAevG,EAAQnC,EAAKod,GAAgBjb,EAAOnC,GAAOgC,EAAIhC,EAAQ,CAAMmC,EAAOkJ,QAAUrJ,CAAsB,CAdvc6iD,CAAwB,EAAQ,QAAhD,IAEIC,EAAY3rB,EAAuB,EAAQ,QAE3C4rB,EAAe5rB,EAAuB,EAAQ,OAE9CzR,EAASyR,EAAuB,EAAQ,QAExC6rB,EAAc7rB,EAAuB,EAAQ,QAIjD,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAI9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAN3S,EAAQ,OAUzB,IAAI88D,EAAW,SAAkBt8D,EAAMu8D,GACrC,OAAOv8D,GAAQu8D,GAAWA,EAAQ73D,MAAM,KAAK5G,SAAQ,SAAU42B,GAC7D,OAAO,EAAIynC,EAAUz5C,SAAS1iB,EAAM00B,EACtC,GACF,EAEI8nC,EAAc,SAAqBx8D,EAAMu8D,GAC3C,OAAOv8D,GAAQu8D,GAAWA,EAAQ73D,MAAM,KAAK5G,SAAQ,SAAU42B,GAC7D,OAAO,EAAI0nC,EAAa15C,SAAS1iB,EAAM00B,EACzC,GACF,EA+DI+nC,EAEJ,SAAU17D,GA7EV,IAAwB27D,EAAUC,EAgFhC,SAASF,IAGP,IAFA,IAAIxgE,EAEKiE,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAkGzB,OA/FAnE,EAAQ8E,EAAiB7E,KAAKwD,MAAMqB,EAAkB,CAAClG,MAAMmG,OAAO1B,KAAUzE,MAExEi+D,QAAU,SAAU94D,EAAM48D,GAC9B,IACI9uD,EADsB7R,EAAM4gE,cAAcD,EAAY,SAAW,SACjC9uD,UAEpC7R,EAAM6gE,cAAc98D,EAAM,QAE1Bs8D,EAASt8D,EAAM8N,GAEX7R,EAAMtB,MAAMm+D,SACd78D,EAAMtB,MAAMm+D,QAAQ94D,EAAM48D,EAE9B,EAEA3gE,EAAM8gE,WAAa,SAAU/8D,EAAM48D,GACjC,IACII,EADuB/gE,EAAM4gE,cAAcD,EAAY,SAAW,SAC3BI,gBAE3C/gE,EAAMghE,kBAAkBj9D,EAAMg9D,GAE1B/gE,EAAMtB,MAAMoiE,YACd9gE,EAAMtB,MAAMoiE,WAAW/8D,EAAM48D,EAEjC,EAEA3gE,EAAM88D,UAAY,SAAU/4D,EAAM48D,GAChC,IAAIM,EAAkBjhE,EAAM4gE,cAAc,UAAUM,cAEhDC,EAAiBnhE,EAAM4gE,cAAc,SAASM,cAE9CA,EAAgBP,EAAYM,EAAkB,IAAME,EAAiBA,EAEzEnhE,EAAM6gE,cAAc98D,EAAM48D,EAAY,SAAW,SAEjDN,EAASt8D,EAAMm9D,GAEXlhE,EAAMtB,MAAMo+D,WACd98D,EAAMtB,MAAMo+D,UAAU/4D,EAAM48D,EAEhC,EAEA3gE,EAAM+8D,OAAS,SAAUh5D,GACvB,IACI8N,EADuB7R,EAAM4gE,cAAc,QACV/uD,UAErC7R,EAAM6gE,cAAc98D,EAAM,UAE1B/D,EAAM6gE,cAAc98D,EAAM,SAE1Bs8D,EAASt8D,EAAM8N,GAEX7R,EAAMtB,MAAMq+D,QACd/8D,EAAMtB,MAAMq+D,OAAOh5D,EAEvB,EAEA/D,EAAMohE,UAAY,SAAUr9D,GAC1B,IACIg9D,EADuB/gE,EAAM4gE,cAAc,QACJG,gBAE3C/gE,EAAMghE,kBAAkBj9D,EAAMg9D,GAE1B/gE,EAAMtB,MAAM0iE,WACdphE,EAAMtB,MAAM0iE,UAAUr9D,EAE1B,EAEA/D,EAAM4M,SAAW,SAAU7I,GACzB,IACIm9D,EADuBlhE,EAAM4gE,cAAc,QACNM,cAEzClhE,EAAM6gE,cAAc98D,EAAM,QAE1Bs8D,EAASt8D,EAAMm9D,GAEXlhE,EAAMtB,MAAMkO,UACd5M,EAAMtB,MAAMkO,SAAS7I,EAEzB,EAEA/D,EAAM4gE,cAAgB,SAAUn4C,GAC9B,IAAI44C,EAAarhE,EAAMtB,MAAM2iE,WACzBC,EAA2C,iBAAfD,EAE5BxvD,EAAYyvD,GADHA,GAAsBD,EAAaA,EAAa,IAAM,IACrB54C,EAAO44C,EAAW54C,GAGhE,MAAO,CACL5W,UAAWA,EACXkvD,gBAJoBO,EAAqBzvD,EAAY,UAAYwvD,EAAW54C,EAAO,UAKnFy4C,cAJkBI,EAAqBzvD,EAAY,QAAUwvD,EAAW54C,EAAO,QAMnF,EAEOzoB,CACT,CAvLgC0gE,EA8EF57D,GA9ER27D,EA8EPD,GA9EwCjgE,UAAYgC,OAAOigB,OAAOk+C,EAAWngE,WAAYkgE,EAASlgE,UAAU9B,YAAcgiE,EAAUA,EAASp+C,UAAYq+C,EAyLxK,IAAI/5D,EAAS65D,EAAcjgE,UAuC3B,OArCAoG,EAAOk6D,cAAgB,SAAuB98D,EAAM0kB,GAClD,IAAI84C,EAAuB3iE,KAAKgiE,cAAcn4C,GAC1C5W,EAAY0vD,EAAqB1vD,UACjCkvD,EAAkBQ,EAAqBR,gBACvCG,EAAgBK,EAAqBL,cAEzCrvD,GAAa0uD,EAAYx8D,EAAM8N,GAC/BkvD,GAAmBR,EAAYx8D,EAAMg9D,GACrCG,GAAiBX,EAAYx8D,EAAMm9D,EACrC,EAEAv6D,EAAOq6D,kBAAoB,SAA2Bj9D,EAAM8N,GAGtDA,IAEF9N,GAAQA,EAAK69C,UAGbye,EAASt8D,EAAM8N,GAEnB,EAEAlL,EAAOvH,OAAS,WACd,IAAIV,EAAQ+1C,EAAS,CAAC,EAAG71C,KAAKF,OAG9B,cADOA,EAAM2iE,WACNv+B,EAAOrc,QAAQtd,cAAci3D,EAAY35C,QAASguB,EAAS,CAAC,EAAG/1C,EAAO,CAC3Em+D,QAASj+D,KAAKi+D,QACdC,UAAWl+D,KAAKk+D,UAChBgE,WAAYliE,KAAKkiE,WACjB/D,OAAQn+D,KAAKm+D,OACbqE,UAAWxiE,KAAKwiE,UAChBx0D,SAAUhO,KAAKgO,WAEnB,EAEO4zD,CACT,CApJA,CAoJE19B,EAAOrc,QAAQjoB,WAEjBgiE,EAAc78D,aAAe,CAC3B09D,WAAY,IAEdb,EAAcvgB,UA2GT,CAAC,EACN,IAAIhd,EAAWu9B,EACf73C,EAAA,QAAkBsa,EAClB08B,EAAOh3C,QAAUA,EAAiB,sCCzWlCA,EAAQqT,YAAa,EACrBrT,EAAA,aAAkB,EAED4rB,EAAuB,EAAQ,QAAhD,IAEIzR,EAASyR,EAAuB,EAAQ,QAExCitB,EAAY,EAAQ,OAEpBC,EAAmBltB,EAAuB,EAAQ,QAEtD,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAiB9F,IAAIskD,EAEJ,SAAU58D,GAfV,IAAwB27D,EAAUC,EAkBhC,SAASgB,IAGP,IAFA,IAAI1hE,EAEKiE,EAAOV,UAAUX,OAAQwwC,EAAQ,IAAIlvC,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAChFivC,EAAMjvC,GAAQZ,UAAUY,GAqD1B,OAlDAnE,EAAQ8E,EAAiB7E,KAAKwD,MAAMqB,EAAkB,CAAClG,MAAMmG,OAAOquC,KAAWx0C,MAEzE+iE,YAAc,WAClB,IAAK,IAAIluB,EAAQlwC,UAAUX,OAAQS,EAAO,IAAIa,MAAMuvC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFrwC,EAAKqwC,GAASnwC,UAAUmwC,GAG1B,OAAO1zC,EAAM4hE,gBAAgB,UAAW,EAAGv+D,EAC7C,EAEArD,EAAM6hE,eAAiB,WACrB,IAAK,IAAIluB,EAAQpwC,UAAUX,OAAQS,EAAO,IAAIa,MAAMyvC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFvwC,EAAKuwC,GAASrwC,UAAUqwC,GAG1B,OAAO5zC,EAAM4hE,gBAAgB,aAAc,EAAGv+D,EAChD,EAEArD,EAAM8hE,cAAgB,WACpB,IAAK,IAAIC,EAAQx+D,UAAUX,OAAQS,EAAO,IAAIa,MAAM69D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF3+D,EAAK2+D,GAASz+D,UAAUy+D,GAG1B,OAAOhiE,EAAM4hE,gBAAgB,YAAa,EAAGv+D,EAC/C,EAEArD,EAAMiiE,WAAa,WACjB,IAAK,IAAIC,EAAQ3+D,UAAUX,OAAQS,EAAO,IAAIa,MAAMg+D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF9+D,EAAK8+D,GAAS5+D,UAAU4+D,GAG1B,OAAOniE,EAAM4hE,gBAAgB,SAAU,EAAGv+D,EAC5C,EAEArD,EAAMoiE,cAAgB,WACpB,IAAK,IAAIC,EAAQ9+D,UAAUX,OAAQS,EAAO,IAAIa,MAAMm+D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFj/D,EAAKi/D,GAAS/+D,UAAU++D,GAG1B,OAAOtiE,EAAM4hE,gBAAgB,YAAa,EAAGv+D,EAC/C,EAEArD,EAAMk3D,aAAe,WACnB,IAAK,IAAIqL,EAAQh/D,UAAUX,OAAQS,EAAO,IAAIa,MAAMq+D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFn/D,EAAKm/D,GAASj/D,UAAUi/D,GAG1B,OAAOxiE,EAAM4hE,gBAAgB,WAAY,EAAGv+D,EAC9C,EAEOrD,CACT,CA5EgC0gE,EAgBE57D,GAhBZ27D,EAgBPiB,GAhBwCnhE,UAAYgC,OAAOigB,OAAOk+C,EAAWngE,WAAYkgE,EAASlgE,UAAU9B,YAAcgiE,EAAUA,EAASp+C,UAAYq+C,EA8ExK,IAAI/5D,EAAS+6D,EAAkBnhE,UA0C/B,OAxCAoG,EAAOi7D,gBAAkB,SAAyB9/D,EAAS2gE,EAAKC,GAC9D,IAAIC,EAEAtjE,EAAWT,KAAKF,MAAMW,SAEtB8uD,EAAQrrB,EAAOrc,QAAQjmB,SAASo2C,QAAQv3C,GAAUojE,GAElDtU,EAAMzvD,MAAMoD,KAAW6gE,EAAexU,EAAMzvD,OAAOoD,GAAS2B,MAAMk/D,EAAcD,GAChF9jE,KAAKF,MAAMoD,IAAUlD,KAAKF,MAAMoD,IAAS,EAAI0/D,EAAU5wB,aAAahyC,MAC1E,EAEA+H,EAAOvH,OAAS,WACd,IAAI8mC,EAActnC,KAAKF,MACnBW,EAAW6mC,EAAY7mC,SACvByN,EAASo5B,EAAYr5B,GACrBnO,EAjGR,SAAuCgvC,EAAQk1B,GAAY,GAAc,MAAVl1B,EAAgB,MAAO,CAAC,EAAG,IAA2DtyB,EAAKwH,EAA5DvT,EAAS,CAAC,EAAOwzD,EAAatgE,OAAOC,KAAKkrC,GAAqB,IAAK9qB,EAAI,EAAGA,EAAIigD,EAAWjgE,OAAQggB,IAAOxH,EAAMynD,EAAWjgD,GAAQggD,EAASxoD,QAAQgB,IAAQ,IAAa/L,EAAO+L,GAAOsyB,EAAOtyB,IAAQ,OAAO/L,CAAQ,CAiGlSyzD,CAA8B58B,EAAa,CAAC,WAAY,OAEhE68B,EAAwBjgC,EAAOrc,QAAQjmB,SAASo2C,QAAQv3C,GACxD2jE,EAAQD,EAAsB,GAC9BE,EAASF,EAAsB,GAQnC,cANOrkE,EAAMm+D,eACNn+D,EAAMoiE,kBACNpiE,EAAMo+D,iBACNp+D,EAAMq+D,cACNr+D,EAAM0iE,iBACN1iE,EAAMkO,SACNk2B,EAAOrc,QAAQtd,cAAcs4D,EAAiBh7C,QAAS/nB,EAAOoO,EAASg2B,EAAOrc,QAAQuwC,aAAagM,EAAO,CAC/G5nD,IAAK,QACLyhD,QAASj+D,KAAK+iE,YACdb,WAAYliE,KAAKijE,eACjB/E,UAAWl+D,KAAKkjE,gBACbh/B,EAAOrc,QAAQuwC,aAAaiM,EAAQ,CACvC7nD,IAAK,SACLyhD,QAASj+D,KAAKqjE,WACdnB,WAAYliE,KAAKwjE,cACjBtF,UAAWl+D,KAAKs4D,eAEpB,EAEOwK,CACT,CA1GA,CA0GE5+B,EAAOrc,QAAQjoB,WAEjBkjE,EAAkBzhB,UAMd,CAAC,EACL,IAAIhd,EAAWy+B,EACf/4C,EAAA,QAAkBsa,EAClB08B,EAAOh3C,QAAUA,EAAiB,sCCnJlCA,EAAQqT,YAAa,EACrBrT,EAAA,QAAkBA,EAAQu6C,QAAUv6C,EAAQw6C,QAAUx6C,EAAQy6C,SAAWz6C,EAAQ06C,OAAS16C,EAAQ26C,eAAY,EAE9G,IAAIC,EAYJ,SAAiCnmD,GAAO,GAAIA,GAAOA,EAAI4e,WAAc,OAAO5e,EAAc,IAAIG,EAAS,CAAC,EAAG,GAAW,MAAPH,EAAe,IAAK,IAAIhC,KAAOgC,EAAO,GAAI7a,OAAOhC,UAAUuJ,eAAe7J,KAAKmd,EAAKhC,GAAM,CAAE,IAAIod,EAAOj2B,OAAOuhB,gBAAkBvhB,OAAOm2B,yBAA2Bn2B,OAAOm2B,yBAAyBtb,EAAKhC,GAAO,CAAC,EAAOod,EAAK6D,KAAO7D,EAAK+D,IAAOh6B,OAAOuhB,eAAevG,EAAQnC,EAAKod,GAAgBjb,EAAOnC,GAAOgC,EAAIhC,EAAQ,CAA4B,OAAtBmC,EAAOkJ,QAAUrJ,EAAYG,CAAU,CAZvc0iD,CAAwB,EAAQ,QAE5Cn9B,EAASyR,EAAuB,EAAQ,QAExCitB,EAAYjtB,EAAuB,EAAQ,QAE3CivB,EAAyB,EAAQ,OAIrC,SAASjvB,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAF7E,EAAQ,OAUzB,IAAIkmD,EAAY,YAChB36C,EAAQ26C,UAAYA,EACpB,IAAID,EAAS,SACb16C,EAAQ06C,OAASA,EACjB,IAAID,EAAW,WACfz6C,EAAQy6C,SAAWA,EACnB,IAAID,EAAU,UACdx6C,EAAQw6C,QAAUA,EAClB,IAAID,EAAU,UA2Fdv6C,EAAQu6C,QAAUA,EAElB,IAAIl2D,EAEJ,SAAUlI,GAzGV,IAAwB27D,EAAUC,EA4GhC,SAAS1zD,EAAWtO,EAAOM,GACzB,IAAIgB,EAEJA,EAAQ8E,EAAiB7E,KAAKrB,KAAMF,EAAOM,IAAYJ,KACvD,IAGI6kE,EAHAC,EAAc1kE,EAAQ2kE,gBAEtBz2D,EAASw2D,IAAgBA,EAAYvM,WAAaz4D,EAAM2N,MAAQ3N,EAAMwO,OAuB1E,OArBAlN,EAAM4jE,aAAe,KAEjBllE,EAAMmO,GACJK,GACFu2D,EAAgBJ,EAChBrjE,EAAM4jE,aAAeR,GAErBK,EAAgBN,EAIhBM,EADE/kE,EAAMuO,eAAiBvO,EAAM65D,aACf+K,EAEAD,EAIpBrjE,EAAMM,MAAQ,CACZqV,OAAQ8tD,GAEVzjE,EAAM6jE,aAAe,KACd7jE,CACT,CA1IgC0gE,EA0GL57D,GA1GL27D,EA0GPzzD,GA1GwCzM,UAAYgC,OAAOigB,OAAOk+C,EAAWngE,WAAYkgE,EAASlgE,UAAU9B,YAAcgiE,EAAUA,EAASp+C,UAAYq+C,EA4IxK,IAAI/5D,EAASqG,EAAWzM,UAqQxB,OAnQAoG,EAAOzG,gBAAkB,WACvB,MAAO,CACLyjE,gBAAiB,KAGrB,EAEA32D,EAAWsqD,yBAA2B,SAAkCzvD,EAAMf,GAG5E,OAFae,EAAKgF,IAEJ/F,EAAU6O,SAAW2tD,EAC1B,CACL3tD,OAAQ0tD,GAIL,IACT,EAkBA18D,EAAO4E,kBAAoB,WACzB3M,KAAKklE,cAAa,EAAMllE,KAAKglE,aAC/B,EAEAj9D,EAAOC,mBAAqB,SAA4BC,GACtD,IAAIk9D,EAAa,KAEjB,GAAIl9D,IAAcjI,KAAKF,MAAO,CAC5B,IAAIiX,EAAS/W,KAAK0B,MAAMqV,OAEpB/W,KAAKF,MAAMmO,GACT8I,IAAWytD,GAAYztD,IAAWwtD,IACpCY,EAAaX,GAGXztD,IAAWytD,GAAYztD,IAAWwtD,IACpCY,EAAab,EAGnB,CAEAtkE,KAAKklE,cAAa,EAAOC,EAC3B,EAEAp9D,EAAOM,qBAAuB,WAC5BrI,KAAKolE,oBACP,EAEAr9D,EAAOs9D,YAAc,WACnB,IACIl3D,EAAMV,EAAOa,EADbf,EAAUvN,KAAKF,MAAMyN,QAWzB,OATAY,EAAOV,EAAQa,EAASf,EAET,MAAXA,GAAsC,iBAAZA,IAC5BY,EAAOZ,EAAQY,KACfV,EAAQF,EAAQE,MAEhBa,OAA4BlI,IAAnBmH,EAAQe,OAAuBf,EAAQe,OAASb,GAGpD,CACLU,KAAMA,EACNV,MAAOA,EACPa,OAAQA,EAEZ,EAEAvG,EAAOm9D,aAAe,SAAsBI,EAAUH,GAKpD,QAJiB,IAAbG,IACFA,GAAW,GAGM,OAAfH,EAAqB,CAEvBnlE,KAAKolE,qBAEL,IAAIjgE,EAAOy9D,EAAU/6C,QAAQmqB,YAAYhyC,MAErCmlE,IAAeX,EACjBxkE,KAAKulE,aAAapgE,EAAMmgE,GAExBtlE,KAAKwlE,YAAYrgE,EAErB,MAAWnF,KAAKF,MAAMuO,eAAiBrO,KAAK0B,MAAMqV,SAAW0tD,GAC3DzkE,KAAK4G,SAAS,CACZmQ,OAAQ2tD,GAGd,EAEA38D,EAAOw9D,aAAe,SAAsBpgE,EAAMmgE,GAChD,IAAI38B,EAAS3oC,KAETyN,EAAQzN,KAAKF,MAAM2N,MACnBs0D,EAAY/hE,KAAKI,QAAQ2kE,gBAAkB/kE,KAAKI,QAAQ2kE,gBAAgBxM,WAAa+M,EACrFnU,EAAWnxD,KAAKqlE,cAChBI,EAAe1D,EAAY5Q,EAAS7iD,OAAS6iD,EAAS1jD,MAGrD63D,GAAa73D,GASlBzN,KAAKF,MAAMm+D,QAAQ94D,EAAM48D,GACzB/hE,KAAK0lE,aAAa,CAChB3uD,OAAQytD,IACP,WACD77B,EAAO7oC,MAAMoiE,WAAW/8D,EAAM48D,GAE9Bp5B,EAAOg9B,gBAAgBxgE,EAAMsgE,GAAc,WACzC98B,EAAO+8B,aAAa,CAClB3uD,OAAQwtD,IACP,WACD57B,EAAO7oC,MAAMo+D,UAAU/4D,EAAM48D,EAC/B,GACF,GACF,KArBE/hE,KAAK0lE,aAAa,CAChB3uD,OAAQwtD,IACP,WACD57B,EAAO7oC,MAAMo+D,UAAU/4D,EACzB,GAkBJ,EAEA4C,EAAOy9D,YAAc,SAAqBrgE,GACxC,IAAIygE,EAAS5lE,KAETmO,EAAOnO,KAAKF,MAAMqO,KAClBgjD,EAAWnxD,KAAKqlE,cAEfl3D,GASLnO,KAAKF,MAAMq+D,OAAOh5D,GAClBnF,KAAK0lE,aAAa,CAChB3uD,OAAQutD,IACP,WACDsB,EAAO9lE,MAAM0iE,UAAUr9D,GAEvBygE,EAAOD,gBAAgBxgE,EAAMgsD,EAAShjD,MAAM,WAC1Cy3D,EAAOF,aAAa,CAClB3uD,OAAQ0tD,IACP,WACDmB,EAAO9lE,MAAMkO,SAAS7I,EACxB,GACF,GACF,KArBEnF,KAAK0lE,aAAa,CAChB3uD,OAAQ0tD,IACP,WACDmB,EAAO9lE,MAAMkO,SAAS7I,EACxB,GAkBJ,EAEA4C,EAAOq9D,mBAAqB,WACA,OAAtBplE,KAAKilE,eACPjlE,KAAKilE,aAAa5zD,SAClBrR,KAAKilE,aAAe,KAExB,EAEAl9D,EAAO29D,aAAe,SAAsBG,EAAWxuB,GAIrDA,EAAWr3C,KAAK8lE,gBAAgBzuB,GAChCr3C,KAAK4G,SAASi/D,EAAWxuB,EAC3B,EAEAtvC,EAAO+9D,gBAAkB,SAAyBzuB,GAChD,IAAI0uB,EAAS/lE,KAETouB,GAAS,EAcb,OAZApuB,KAAKilE,aAAe,SAAU5kE,GACxB+tB,IACFA,GAAS,EACT23C,EAAOd,aAAe,KACtB5tB,EAASh3C,GAEb,EAEAL,KAAKilE,aAAa5zD,OAAS,WACzB+c,GAAS,CACX,EAEOpuB,KAAKilE,YACd,EAEAl9D,EAAO49D,gBAAkB,SAAyBxgE,EAAMoI,EAASrK,GAC/DlD,KAAK8lE,gBAAgB5iE,GACrB,IAAI8iE,EAA0C,MAAXz4D,IAAoBvN,KAAKF,MAAMk+D,eAE7D74D,IAAQ6gE,GAKThmE,KAAKF,MAAMk+D,gBACbh+D,KAAKF,MAAMk+D,eAAe74D,EAAMnF,KAAKilE,cAGxB,MAAX13D,GACFgxC,WAAWv+C,KAAKilE,aAAc13D,IAT9BgxC,WAAWv+C,KAAKilE,aAAc,EAWlC,EAEAl9D,EAAOvH,OAAS,WACd,IAAIuW,EAAS/W,KAAK0B,MAAMqV,OAExB,GAAIA,IAAW2tD,EACb,OAAO,KAGT,IAAIp9B,EAActnC,KAAKF,MACnBW,EAAW6mC,EAAY7mC,SACvBwlE,EAxXR,SAAuCn3B,EAAQk1B,GAAY,GAAc,MAAVl1B,EAAgB,MAAO,CAAC,EAAG,IAA2DtyB,EAAKwH,EAA5DvT,EAAS,CAAC,EAAOwzD,EAAatgE,OAAOC,KAAKkrC,GAAqB,IAAK9qB,EAAI,EAAGA,EAAIigD,EAAWjgE,OAAQggB,IAAOxH,EAAMynD,EAAWjgD,GAAQggD,EAASxoD,QAAQgB,IAAQ,IAAa/L,EAAO+L,GAAOsyB,EAAOtyB,IAAQ,OAAO/L,CAAQ,CAwX7RyzD,CAA8B58B,EAAa,CAAC,aAkB7D,UAfO2+B,EAAWh4D,UACXg4D,EAAWtM,oBACXsM,EAAW53D,qBACX43D,EAAW33D,cACX23D,EAAWx4D,aACXw4D,EAAW93D,YACX83D,EAAW14D,eACX04D,EAAWjI,sBACXiI,EAAWhI,eACXgI,EAAW/D,kBACX+D,EAAW/H,iBACX+H,EAAW9H,cACX8H,EAAWzD,iBACXyD,EAAWj4D,SAEM,mBAAbvN,EACT,OAAOA,EAASsW,EAAQkvD,GAG1B,IAAI1W,EAAQrrB,EAAOrc,QAAQjmB,SAASskE,KAAKzlE,GAEzC,OAAOyjC,EAAOrc,QAAQuwC,aAAa7I,EAAO0W,EAC5C,EAEO73D,CACT,CAzSA,CAySE81B,EAAOrc,QAAQjoB,WAiKjB,SAASF,IAAQ,CA/JjB0O,EAAWvM,aAAe,CACxBkjE,gBAAiBJ,EAAU5L,QAE7B3qD,EAAWtM,kBAAoB,CAC7BijE,gBAAiB,WAA4B,GAE/C32D,EAAWizC,UAuJP,CAAC,EAILjzC,EAAWrJ,aAAe,CACxBkJ,IAAI,EACJ0rD,cAAc,EACdtrD,eAAe,EACfC,QAAQ,EACRb,OAAO,EACPU,MAAM,EACN8vD,QAASv+D,EACTwiE,WAAYxiE,EACZw+D,UAAWx+D,EACXy+D,OAAQz+D,EACR8iE,UAAW9iE,EACXsO,SAAUtO,GAEZ0O,EAAWs2D,UAAY,EACvBt2D,EAAWq2D,OAAS,EACpBr2D,EAAWo2D,SAAW,EACtBp2D,EAAWm2D,QAAU,EACrBn2D,EAAWk2D,QAAU,EAErB,IAAIjgC,GAAW,EAAIugC,EAAuBuB,UAAU/3D,GAEpD2b,EAAA,QAAkBsa,gCC9lBlBta,EAAQqT,YAAa,EACrBrT,EAAA,aAAkB,EAElB,IAAIq8C,EAAazwB,EAAuB,EAAQ,QAE5CzR,EAASyR,EAAuB,EAAQ,QAExCivB,EAAyB,EAAQ,OAEjCyB,EAAgB,EAAQ,OAE5B,SAAS1wB,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAI9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAI5T,SAAS2hE,EAAuBC,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIC,eAAe,6DAAgE,OAAOD,CAAM,CAErK,IAAInf,EAASzjD,OAAOyjD,QAAU,SAAU5oC,GACtC,OAAO7a,OAAOC,KAAK4a,GAAK00B,KAAI,SAAUjX,GACpC,OAAOzd,EAAIyd,EACb,GACF,EAwBIo8B,EAEJ,SAAUnyD,GAlCV,IAAwB27D,EAAUC,EAqChC,SAASzJ,EAAgBv4D,EAAOM,GAC9B,IAAIgB,EAIAk3D,GAFJl3D,EAAQ8E,EAAiB7E,KAAKrB,KAAMF,EAAOM,IAAYJ,MAE9Bs4D,aAAat3B,KAAKslC,EAAuBA,EAAuBllE,KAOzF,OAJAA,EAAMM,MAAQ,CACZ42D,aAAcA,EACdE,aAAa,GAERp3D,CACT,CAlDgC0gE,EAmCA57D,GAnCV27D,EAmCPxJ,GAnCwC12D,UAAYgC,OAAOigB,OAAOk+C,EAAWngE,WAAYkgE,EAASlgE,UAAU9B,YAAcgiE,EAAUA,EAASp+C,UAAYq+C,EAoDxK,IAAI/5D,EAASswD,EAAgB12D,UAmE7B,OAjEAoG,EAAOzG,gBAAkB,WACvB,MAAO,CACLyjE,gBAAiB,CACfxM,YAAav4D,KAAKymE,UAGxB,EAEA1+D,EAAO4E,kBAAoB,WACzB3M,KAAKymE,UAAW,EAChBzmE,KAAKy4D,SAAU,CACjB,EAEA1wD,EAAOM,qBAAuB,WAC5BrI,KAAKy4D,SAAU,CACjB,EAEAJ,EAAgBK,yBAA2B,SAAkCruB,EAAWphC,GACtF,IAAIouD,EAAmBpuD,EAAKxI,SACxB63D,EAAervD,EAAKqvD,aAExB,MAAO,CACL73D,SAFgBwI,EAAKuvD,aAEG,EAAI6N,EAAcK,wBAAwBr8B,EAAWiuB,IAAgB,EAAI+N,EAAcjP,qBAAqB/sB,EAAWgtB,EAAkBiB,GACjKE,aAAa,EAEjB,EAEAzwD,EAAOuwD,aAAe,SAAsB/I,EAAOpqD,GACjD,IAAIwzD,GAAsB,EAAI0N,EAAcvP,iBAAiB92D,KAAKF,MAAMW,UACpE8uD,EAAM/yC,OAAOm8C,IAEbpJ,EAAMzvD,MAAMkO,UACduhD,EAAMzvD,MAAMkO,SAAS7I,GAGnBnF,KAAKy4D,SACPz4D,KAAK4G,UAAS,SAAUlF,GACtB,IAAIjB,EAAWo1C,EAAS,CAAC,EAAGn0C,EAAMjB,UAGlC,cADOA,EAAS8uD,EAAM/yC,KACf,CACL/b,SAAUA,EAEd,IAEJ,EAEAsH,EAAOvH,OAAS,WACd,IAAI8mC,EAActnC,KAAKF,MACnBF,EAAY0nC,EAAYn1B,UACxBymD,EAAetxB,EAAYsxB,aAC3B94D,EA7GR,SAAuCgvC,EAAQk1B,GAAY,GAAc,MAAVl1B,EAAgB,MAAO,CAAC,EAAG,IAA2DtyB,EAAKwH,EAA5DvT,EAAS,CAAC,EAAOwzD,EAAatgE,OAAOC,KAAKkrC,GAAqB,IAAK9qB,EAAI,EAAGA,EAAIigD,EAAWjgE,OAAQggB,IAAOxH,EAAMynD,EAAWjgD,GAAQggD,EAASxoD,QAAQgB,IAAQ,IAAa/L,EAAO+L,GAAOsyB,EAAOtyB,IAAQ,OAAO/L,CAAQ,CA6GlSyzD,CAA8B58B,EAAa,CAAC,YAAa,iBAEjE7mC,EAAW2mD,EAAOpnD,KAAK0B,MAAMjB,UAAUyyC,IAAI0lB,GAK/C,cAJO94D,EAAMwO,cACNxO,EAAM2N,aACN3N,EAAMqO,KAEK,OAAdvO,EACKa,EAGFyjC,EAAOrc,QAAQtd,cAAc3K,EAAWE,EAAOW,EACxD,EAEO43D,CACT,CAtFA,CAsFEn0B,EAAOrc,QAAQjoB,WAEjBy4D,EAAgBv2D,kBAAoB,CAClCijE,gBAAiBqB,EAAWv+C,QAAQkxC,OAAOz2B,YAE7C+1B,EAAgBhX,UAyDZ,CAAC,EACLgX,EAAgBtzD,aA7KG,CACjBoN,UAAW,MACXymD,aAAc,SAAsBrJ,GAClC,OAAOA,CACT,GA2KF,IAAIlrB,GAAW,EAAIugC,EAAuBuB,UAAU9N,GAEpDtuC,EAAA,QAAkBsa,EAClB08B,EAAOh3C,QAAUA,EAAiB,sCC7MlC,IAAI48C,EAAiBhxB,EAAuB,EAAQ,QAEhDixB,EAAqBjxB,EAAuB,EAAQ,QAEpDktB,EAAmBltB,EAAuB,EAAQ,QAElD6rB,EAAc7rB,EAAuB,EAAQ,QAEjD,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9FuiD,EAAOh3C,QAAU,CACf3b,WAAYozD,EAAY35C,QACxBwwC,gBAAiBwK,EAAiBh7C,QAClCi7C,kBAAmB8D,EAAmB/+C,QACtC+5C,cAAe+E,EAAe9+C,uCCdhCkC,EAAQqT,YAAa,EACrBrT,EAAQ+sC,gBAAkBA,EAC1B/sC,EAAQguC,mBAAqBA,EAC7BhuC,EAAQ28C,uBA8FR,SAAgC5mE,EAAOkO,GACrC,OAAO8oD,EAAgBh3D,EAAMW,UAAU,SAAU8uD,GAC/C,OAAO,EAAIrrB,EAAOk0B,cAAc7I,EAAO,CACrCvhD,SAAUA,EAASgzB,KAAK,KAAMuuB,GAC9BthD,IAAI,EACJK,OAAQ4oD,EAAQ3H,EAAO,SAAUzvD,GACjC2N,MAAOypD,EAAQ3H,EAAO,QAASzvD,GAC/BqO,KAAM+oD,EAAQ3H,EAAO,OAAQzvD,IAEjC,GACF,EAvGAiqB,EAAQqtC,oBAyGR,SAA6B/sB,EAAWgtB,EAAkBrpD,GACxD,IAAIspD,EAAmBR,EAAgBzsB,EAAU5pC,UAC7CA,EAAWs3D,EAAmBV,EAAkBC,GAmCpD,OAlCA3zD,OAAOC,KAAKnD,GAAUwC,SAAQ,SAAUuZ,GACtC,IAAI+yC,EAAQ9uD,EAAS+b,GACrB,IAAK,EAAI0nB,EAAO8yB,gBAAgBzH,GAAhC,CACA,IAAIyI,EAAUx7C,KAAO66C,EACjBY,EAAUz7C,KAAO86C,EACjBY,EAAYb,EAAiB76C,GAC7B27C,GAAY,EAAIj0B,EAAO8yB,gBAAgBkB,KAAeA,EAAUp4D,MAAMmO,IAEtEgqD,GAAaD,IAAWG,EAQhBF,IAAWD,GAAYG,EAMxBF,GAAWD,IAAW,EAAI9zB,EAAO8yB,gBAAgBkB,KAI1Dz3D,EAAS+b,IAAO,EAAI0nB,EAAOk0B,cAAc7I,EAAO,CAC9CvhD,SAAUA,EAASgzB,KAAK,KAAMuuB,GAC9BthD,GAAIiqD,EAAUp4D,MAAMmO,GACpBE,KAAM+oD,EAAQ3H,EAAO,OAAQllB,GAC7B58B,MAAOypD,EAAQ3H,EAAO,QAASllB,MAXjC5pC,EAAS+b,IAAO,EAAI0nB,EAAOk0B,cAAc7I,EAAO,CAC9CthD,IAAI,IAVNxN,EAAS+b,IAAO,EAAI0nB,EAAOk0B,cAAc7I,EAAO,CAC9CvhD,SAAUA,EAASgzB,KAAK,KAAMuuB,GAC9BthD,IAAI,EACJE,KAAM+oD,EAAQ3H,EAAO,OAAQllB,GAC7B58B,MAAOypD,EAAQ3H,EAAO,QAASllB,IAZW,CA+BhD,IACO5pC,CACT,EA7IA,IAAIyjC,EAAS,EAAQ,OAQrB,SAAS4yB,EAAgBr2D,EAAUs2D,GACjC,IAII57B,EAASx3B,OAAOigB,OAAO,MAO3B,OANInjB,GAAUyjC,EAAOtiC,SAASsxC,IAAIzyC,GAAU,SAAUo5B,GACpD,OAAOA,CACT,IAAG52B,SAAQ,SAAUssD,GAEnBp0B,EAAOo0B,EAAM/yC,KATF,SAAgB+yC,GAC3B,OAAOwH,IAAS,EAAI7yB,EAAO8yB,gBAAgBzH,GAASwH,EAAMxH,GAASA,CACrE,CAOsB0H,CAAO1H,EAC7B,IACOp0B,CACT,CAoBA,SAAS48B,EAAmBR,EAAMz4C,GAIhC,SAAS04C,EAAeh7C,GACtB,OAAOA,KAAOsC,EAAOA,EAAKtC,GAAO+6C,EAAK/6C,EACxC,CALA+6C,EAAOA,GAAQ,CAAC,EAChBz4C,EAAOA,GAAQ,CAAC,EAQhB,IAcIkF,EAdAyzC,EAAkB9zD,OAAOigB,OAAO,MAChC8zC,EAAc,GAElB,IAAK,IAAIC,KAAWJ,EACdI,KAAW74C,EACT44C,EAAY1zD,SACdyzD,EAAgBE,GAAWD,EAC3BA,EAAc,IAGhBA,EAAY7yC,KAAK8yC,GAKrB,IAAIC,EAAe,CAAC,EAEpB,IAAK,IAAIC,KAAW/4C,EAAM,CACxB,GAAI24C,EAAgBI,GAClB,IAAK7zC,EAAI,EAAGA,EAAIyzC,EAAgBI,GAAS7zD,OAAQggB,IAAK,CACpD,IAAI8zC,EAAiBL,EAAgBI,GAAS7zC,GAC9C4zC,EAAaH,EAAgBI,GAAS7zC,IAAMwzC,EAAeM,EAC7D,CAGFF,EAAaC,GAAWL,EAAeK,EACzC,CAGA,IAAK7zC,EAAI,EAAGA,EAAI0zC,EAAY1zD,OAAQggB,IAClC4zC,EAAaF,EAAY1zC,IAAMwzC,EAAeE,EAAY1zC,IAG5D,OAAO4zC,CACT,CAEA,SAASV,EAAQ3H,EAAO4H,EAAMr3D,GAC5B,OAAsB,MAAfA,EAAMq3D,GAAgBr3D,EAAMq3D,GAAQ5H,EAAMzvD,MAAMq3D,EACzD,gCC5FA,IAEgC34C,EALhCuL,EAAQqT,YAAa,EACrBrT,EAAQ88C,gBAAkB98C,EAAQ+8C,mBAAgB,GAIlBtoD,EAFQ,EAAQ,SAEKA,EAAI4e,WAOzDrT,EAAQ+8C,cADU,KAclB/8C,EAAQ88C,gBADD,weCVP,IAAIvjD,EAAgB,SAAShL,EAAGiL,GAI5B,OAHAD,EAAgB3f,OAAO6f,gBAClB,CAAEC,UAAW,cAAgBne,OAAS,SAAUgT,EAAGiL,GAAKjL,EAAEmL,UAAYF,CAAG,GAC1E,SAAUjL,EAAGiL,GAAK,IAAK,IAAIxf,KAAKwf,EAAOA,EAAErY,eAAenH,KAAIuU,EAAEvU,GAAKwf,EAAExf,GAAI,EACtEuf,EAAchL,EAAGiL,EAC5B,EAEO,SAASG,EAAUpL,EAAGiL,GAEzB,SAASI,IAAO3jB,KAAKH,YAAcyY,CAAG,CADtCgL,EAAchL,EAAGiL,GAEjBjL,EAAE3W,UAAkB,OAAN4hB,EAAa5f,OAAOigB,OAAOL,IAAMI,EAAGhiB,UAAY4hB,EAAE5hB,UAAW,IAAIgiB,EACnF,CAEO,IAAIE,EAAW,WAQlB,OAPAA,EAAWlgB,OAAOuG,QAAU,SAAkB4Z,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAItf,UAAUX,OAAQggB,EAAIC,EAAGD,IAE5C,IAAK,IAAIjgB,KADTggB,EAAIpf,UAAUqf,GACOrgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,KAAI+f,EAAE/f,GAAKggB,EAAEhgB,IAE9E,OAAO+f,CACX,EACOD,EAAShf,MAAM7E,KAAM2E,UAChC,EAEO,SAASuf,EAAOH,EAAGvT,GACtB,IAAIsT,EAAI,CAAC,EACT,IAAK,IAAI/f,KAAKggB,EAAOpgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,IAAMyM,EAAEgL,QAAQzX,GAAK,IAC9E+f,EAAE/f,GAAKggB,EAAEhgB,IACb,GAAS,MAALggB,GAAqD,mBAAjCpgB,OAAOwgB,sBACtB,KAAIH,EAAI,EAAb,IAAgBjgB,EAAIJ,OAAOwgB,sBAAsBJ,GAAIC,EAAIjgB,EAAEC,OAAQggB,IAC3DxT,EAAEgL,QAAQzX,EAAEigB,IAAM,GAAKrgB,OAAOhC,UAAUyiB,qBAAqB/iB,KAAK0iB,EAAGhgB,EAAEigB,MACvEF,EAAE/f,EAAEigB,IAAMD,EAAEhgB,EAAEigB,IAF4B,CAItD,OAAOF,CACX,CAEO,SAAS4V,EAAWC,EAAYlpB,EAAQ+L,EAAKod,GAChD,IAA2HthB,EAAvHuhB,EAAIl1B,UAAUX,OAAQqU,EAAIwhB,EAAI,EAAIppB,EAAkB,OAATmpB,EAAgBA,EAAOj2B,OAAOm2B,yBAAyBrpB,EAAQ+L,GAAOod,EACrH,GAAuB,iBAAZG,SAAoD,mBAArBA,QAAQC,SAAyB3hB,EAAI0hB,QAAQC,SAASL,EAAYlpB,EAAQ+L,EAAKod,QACpH,IAAK,IAAI5V,EAAI2V,EAAW31B,OAAS,EAAGggB,GAAK,EAAGA,KAAS1L,EAAIqhB,EAAW3V,MAAI3L,GAAKwhB,EAAI,EAAIvhB,EAAED,GAAKwhB,EAAI,EAAIvhB,EAAE7H,EAAQ+L,EAAKnE,GAAKC,EAAE7H,EAAQ+L,KAASnE,GAChJ,OAAOwhB,EAAI,GAAKxhB,GAAK1U,OAAOuhB,eAAezU,EAAQ+L,EAAKnE,GAAIA,CAChE,CAEO,SAAS4hB,EAAQC,EAAYC,GAChC,OAAO,SAAU1pB,EAAQ+L,GAAO2d,EAAU1pB,EAAQ+L,EAAK0d,EAAa,CACxE,CAEO,SAASE,EAAWC,EAAaC,GACpC,GAAuB,iBAAZP,SAAoD,mBAArBA,QAAQQ,SAAyB,OAAOR,QAAQQ,SAASF,EAAaC,EACpH,CAEO,SAASE,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUt6B,GAAS,IAAMu6B,EAAKL,EAAU9b,KAAKpe,GAAS,CAAE,MAAO8P,GAAKuqB,EAAOvqB,EAAI,CAAE,CAC1F,SAAS0qB,EAASx6B,GAAS,IAAMu6B,EAAKL,EAAiB,MAAEl6B,GAAS,CAAE,MAAO8P,GAAKuqB,EAAOvqB,EAAI,CAAE,CAC7F,SAASyqB,EAAKE,GAJlB,IAAez6B,EAIay6B,EAAOpc,KAAO+b,EAAQK,EAAOz6B,QAJ1CA,EAIyDy6B,EAAOz6B,MAJhDA,aAAiBi6B,EAAIj6B,EAAQ,IAAIi6B,GAAE,SAAUG,GAAWA,EAAQp6B,EAAQ,KAIjB06B,KAAKJ,EAAWE,EAAW,CAC7GD,GAAML,EAAYA,EAAU/1B,MAAM41B,EAASC,GAAc,KAAK5b,OAClE,GACJ,CAEO,SAASuc,EAAYZ,EAAS5vB,GACjC,IAAsGywB,EAAG9iB,EAAGsL,EAAGyX,EAA3GC,EAAI,CAAElkB,MAAO,EAAGmkB,KAAM,WAAa,GAAW,EAAP3X,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAG4X,KAAM,GAAIC,IAAK,IAChG,OAAOJ,EAAI,CAAEzc,KAAM8c,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,mBAAXrX,SAA0BgX,EAAEhX,OAAOC,UAAY,WAAa,OAAOxkB,IAAM,GAAIu7B,EACvJ,SAASK,EAAK3X,GAAK,OAAO,SAAU4X,GAAK,OACzC,SAAcC,GACV,GAAIR,EAAG,MAAM,IAAI5W,UAAU,mCAC3B,KAAO8W,OACH,GAAIF,EAAI,EAAG9iB,IAAMsL,EAAY,EAARgY,EAAG,GAAStjB,EAAU,OAAIsjB,EAAG,GAAKtjB,EAAS,SAAOsL,EAAItL,EAAU,SAAMsL,EAAEziB,KAAKmX,GAAI,GAAKA,EAAEsG,SAAWgF,EAAIA,EAAEziB,KAAKmX,EAAGsjB,EAAG,KAAK/c,KAAM,OAAO+E,EAE3J,OADItL,EAAI,EAAGsL,IAAGgY,EAAK,CAAS,EAARA,EAAG,GAAQhY,EAAEpjB,QACzBo7B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGhY,EAAIgY,EAAI,MACxB,KAAK,EAAc,OAAXN,EAAElkB,QAAgB,CAAE5W,MAAOo7B,EAAG,GAAI/c,MAAM,GAChD,KAAK,EAAGyc,EAAElkB,QAASkB,EAAIsjB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKN,EAAEG,IAAII,MAAOP,EAAEE,KAAKK,MAAO,SACxC,QACI,MAAkBjY,GAAZA,EAAI0X,EAAEE,MAAY13B,OAAS,GAAK8f,EAAEA,EAAE9f,OAAS,KAAkB,IAAV83B,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEN,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVM,EAAG,MAAchY,GAAMgY,EAAG,GAAKhY,EAAE,IAAMgY,EAAG,GAAKhY,EAAE,IAAM,CAAE0X,EAAElkB,MAAQwkB,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYN,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAIA,EAAIgY,EAAI,KAAO,CACpE,GAAIhY,GAAK0X,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAI0X,EAAEG,IAAI9W,KAAKiX,GAAK,KAAO,CAC9DhY,EAAE,IAAI0X,EAAEG,IAAII,MAChBP,EAAEE,KAAKK,MAAO,SAEtBD,EAAKjxB,EAAKxJ,KAAKo5B,EAASe,EAC5B,CAAE,MAAOhrB,GAAKsrB,EAAK,CAAC,EAAGtrB,GAAIgI,EAAI,CAAG,CAAE,QAAU8iB,EAAIxX,EAAI,CAAG,CACzD,GAAY,EAARgY,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEp7B,MAAOo7B,EAAG,GAAKA,EAAG,QAAK,EAAQ/c,MAAM,EAC9E,CAtBgDkc,CAAK,CAAChX,EAAG4X,GAAK,CAAG,CAuBrE,CAEO,SAASG,EAAgB1X,EAAGG,EAAGwX,EAAGC,QAC1B91B,IAAP81B,IAAkBA,EAAKD,GAC3B3X,EAAE4X,GAAMzX,EAAEwX,EACd,CAEO,SAASE,EAAa1X,EAAGsF,GAC5B,IAAK,IAAIhmB,KAAK0gB,EAAa,YAAN1gB,GAAoBgmB,EAAQ7e,eAAenH,KAAIgmB,EAAQhmB,GAAK0gB,EAAE1gB,GACvF,CAEO,SAASsgB,EAASC,GACrB,IAAIP,EAAsB,mBAAXQ,QAAyBA,OAAOC,SAAUC,EAAIV,GAAKO,EAAEP,GAAIC,EAAI,EAC5E,GAAIS,EAAG,OAAOA,EAAEpjB,KAAKijB,GACrB,GAAIA,GAAyB,iBAAbA,EAAEtgB,OAAqB,MAAO,CAC1C8a,KAAM,WAEF,OADIwF,GAAKN,GAAKM,EAAEtgB,SAAQsgB,OAAI,GACrB,CAAE5jB,MAAO4jB,GAAKA,EAAEN,KAAMjF,MAAOuF,EACxC,GAEJ,MAAM,IAAII,UAAUX,EAAI,0BAA4B,kCACxD,CAEO,SAASY,EAAOL,EAAGL,GACtB,IAAIQ,EAAsB,mBAAXF,QAAyBD,EAAEC,OAAOC,UACjD,IAAKC,EAAG,OAAOH,EACf,IAAmBjM,EAAY7H,EAA3BwT,EAAIS,EAAEpjB,KAAKijB,GAAOM,EAAK,GAC3B,IACI,WAAc,IAANX,GAAgBA,KAAM,MAAQ5L,EAAI2L,EAAElF,QAAQC,MAAM6F,EAAGC,KAAKxM,EAAE3X,MACxE,CACA,MAAOue,GAASzO,EAAI,CAAEyO,MAAOA,EAAS,CACtC,QACI,IACQ5G,IAAMA,EAAE0G,OAAS0F,EAAIT,EAAU,SAAIS,EAAEpjB,KAAK2iB,EAClD,CACA,QAAU,GAAIxT,EAAG,MAAMA,EAAEyO,KAAO,CACpC,CACA,OAAO2F,CACX,CAEO,SAASE,IACZ,IAAK,IAAIF,EAAK,GAAIZ,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAC3CY,EAAKA,EAAGze,OAAOwe,EAAOhgB,UAAUqf,KACpC,OAAOY,CACX,CAEO,SAASwX,IACZ,IAAK,IAAIrY,EAAI,EAAGC,EAAI,EAAGqY,EAAK13B,UAAUX,OAAQggB,EAAIqY,EAAIrY,IAAKD,GAAKpf,UAAUqf,GAAGhgB,OACxE,IAAIqU,EAAI/S,MAAMye,GAAIkY,EAAI,EAA3B,IAA8BjY,EAAI,EAAGA,EAAIqY,EAAIrY,IACzC,IAAK,IAAIsY,EAAI33B,UAAUqf,GAAIuY,EAAI,EAAGC,EAAKF,EAAEt4B,OAAQu4B,EAAIC,EAAID,IAAKN,IAC1D5jB,EAAE4jB,GAAKK,EAAEC,GACjB,OAAOlkB,CACX,CAEO,SAASokB,EAAQZ,GACpB,OAAO77B,gBAAgBy8B,GAAWz8B,KAAK67B,EAAIA,EAAG77B,MAAQ,IAAIy8B,EAAQZ,EACtE,CAEO,SAASa,EAAiBjC,EAASC,EAAYE,GAClD,IAAKrW,OAAOoY,cAAe,MAAM,IAAIjY,UAAU,wCAC/C,IAAoDV,EAAhDuX,EAAIX,EAAU/1B,MAAM41B,EAASC,GAAc,IAAQkC,EAAI,GAC3D,OAAO5Y,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW5X,EAAEO,OAAOoY,eAAiB,WAAc,OAAO38B,IAAM,EAAGgkB,EACpH,SAAS4X,EAAK3X,GAASsX,EAAEtX,KAAID,EAAEC,GAAK,SAAU4X,GAAK,OAAO,IAAIhB,SAAQ,SAAUyB,EAAG/Y,GAAKqZ,EAAE/X,KAAK,CAACZ,EAAG4X,EAAGS,EAAG/Y,IAAM,GAAKsZ,EAAO5Y,EAAG4X,EAAI,GAAI,EAAG,CACzI,SAASgB,EAAO5Y,EAAG4X,GAAK,KACVxjB,EADqBkjB,EAAEtX,GAAG4X,IACnBn7B,iBAAiB+7B,EAAU5B,QAAQC,QAAQziB,EAAE3X,MAAMm7B,GAAGT,KAAK0B,EAAS/B,GAAUgC,EAAOH,EAAE,GAAG,GAAIvkB,EADtE,CAAE,MAAO7H,GAAKusB,EAAOH,EAAE,GAAG,GAAIpsB,EAAI,CAC/E,IAAc6H,CADmE,CAEjF,SAASykB,EAAQp8B,GAASm8B,EAAO,OAAQn8B,EAAQ,CACjD,SAASq6B,EAAOr6B,GAASm8B,EAAO,QAASn8B,EAAQ,CACjD,SAASq8B,EAAOzB,EAAGO,GAASP,EAAEO,GAAIe,EAAEI,QAASJ,EAAE54B,QAAQ64B,EAAOD,EAAE,GAAG,GAAIA,EAAE,GAAG,GAAK,CACrF,CAEO,SAASK,EAAiB3Y,GAC7B,IAAIN,EAAGjgB,EACP,OAAOigB,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAS,SAAUprB,GAAK,MAAMA,CAAG,IAAIorB,EAAK,UAAW5X,EAAEO,OAAOC,UAAY,WAAc,OAAOxkB,IAAM,EAAGgkB,EAC1I,SAAS4X,EAAK3X,EAAGqX,GAAKtX,EAAEC,GAAKK,EAAEL,GAAK,SAAU4X,GAAK,OAAQ93B,GAAKA,GAAK,CAAErD,MAAO+7B,EAAQnY,EAAEL,GAAG4X,IAAK9c,KAAY,WAANkF,GAAmBqX,EAAIA,EAAEO,GAAKA,CAAG,EAAIP,CAAG,CAClJ,CAEO,SAAS4B,EAAc5Y,GAC1B,IAAKC,OAAOoY,cAAe,MAAM,IAAIjY,UAAU,wCAC/C,IAAiCV,EAA7BS,EAAIH,EAAEC,OAAOoY,eACjB,OAAOlY,EAAIA,EAAEpjB,KAAKijB,IAAMA,EAAqCD,EAASC,GAA2BN,EAAI,CAAC,EAAG4X,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW5X,EAAEO,OAAOoY,eAAiB,WAAc,OAAO38B,IAAM,EAAGgkB,GAC9M,SAAS4X,EAAK3X,GAAKD,EAAEC,GAAKK,EAAEL,IAAM,SAAU4X,GAAK,OAAO,IAAIhB,SAAQ,SAAUC,EAASC,IACvF,SAAgBD,EAASC,EAAQziB,EAAGujB,GAAKhB,QAAQC,QAAQe,GAAGT,MAAK,SAASS,GAAKf,EAAQ,CAAEp6B,MAAOm7B,EAAG9c,KAAMzG,GAAM,GAAGyiB,EAAS,CADbgC,CAAOjC,EAASC,GAA7Bc,EAAIvX,EAAEL,GAAG4X,IAA8B9c,KAAM8c,EAAEn7B,MAAQ,GAAI,CAAG,CAEnK,CAEO,SAASqkB,EAAqBC,EAAQC,GAEzC,OADIthB,OAAOuhB,eAAkBvhB,OAAOuhB,eAAeF,EAAQ,MAAO,CAAEtkB,MAAOukB,IAAiBD,EAAOC,IAAMA,EAClGD,CACX,CAEO,SAAS0I,EAAayP,GACzB,GAAIA,GAAOA,EAAIC,WAAY,OAAOD,EAClC,IAAIhC,EAAS,CAAC,EACd,GAAW,MAAPgC,EAAa,IAAK,IAAIlB,KAAKkB,EAASx5B,OAAOuH,eAAe7J,KAAK87B,EAAKlB,KAAId,EAAOc,GAAKkB,EAAIlB,IAE5F,OADAd,EAAOtT,QAAUsV,EACVhC,CACX,CAEO,SAASpU,EAAgBoW,GAC5B,OAAQA,GAAOA,EAAIC,WAAcD,EAAM,CAAEtV,QAASsV,EACtD,CAEO,SAASE,EAAuBC,EAAUC,GAC7C,IAAKA,EAAWC,IAAIF,GAChB,MAAM,IAAI5Y,UAAU,kDAExB,OAAO6Y,EAAWE,IAAIH,EAC1B,CAEO,SAASI,EAAuBJ,EAAUC,EAAY78B,GACzD,IAAK68B,EAAWC,IAAIF,GAChB,MAAM,IAAI5Y,UAAU,kDAGxB,OADA6Y,EAAWI,IAAIL,EAAU58B,GAClBA,CACX,sHClNe,MAAM2C,EACnBxD,YAAYC,IACV,OAAgBE,KAAM,qBAAqB,IAC3C,OAAgBA,KAAM,SAAS,KAG7B,MAAMY,EAAU,IACXZ,KAAKY,SAEV,OAAO,IAAIyC,EAAe,CACxBzC,WACA,IAEJZ,KAAKY,QAAUd,EAAMc,OACvB,CACAuC,OAAOC,GAUL,MATuB,mBAAZA,IACTpD,KAAKY,QAAUwC,EAAQpD,KAAKY,UAEP,iBAAZwC,IACTpD,KAAKY,QAAU,IACVZ,KAAKY,WACLwC,IAGApD,IACT,ECzBa,MAAMyC,UAAyBY,EAC5CxD,YAAYC,GACVC,MAAMD,IACN,OAAgBE,KAAM,uBAAuB,IAC7C,OAAgBA,KAAM,SAAS,KAC7B,GAAIA,KAAK0C,SAKP,OAAO,KAET,MAAMtC,EAAU,IAAIJ,KAAKI,SACnByC,EAAW,IAAI7C,KAAK6C,UAOpBjC,EAAUkC,KAAKC,MAAMD,KAAKE,UAAUhD,KAAKY,UAC/C,OAAO,IAAI6B,EAAiB,CAC1BrC,UACAyC,WACAjC,WACA,KAEJ,OAAgBZ,KAAM,QAAQE,IACxBF,KAAK0C,WAOT1C,KAAK6C,SAASI,SAAQC,GAAWA,EAAQlD,KAAME,KAC/CF,KAAK0C,UAAW,EAAI,IAEtB1C,KAAKI,QAAUN,EAAMM,SAAW,GAChCJ,KAAK6C,SAAW/C,EAAM+C,UAAY,GAClC7C,KAAK0C,UAAW,CAClB,CACAS,OAAOC,GACL,OAAIpD,KAAK0C,SAKA1C,KAEFD,MAAMoD,OAAOC,EACtB,iBCzDK,MAAMw6B,EAAsB,KAC1B,IAAApb,YAAW,KCFP2C,EAAgBzkB,IAC3B,MAAMwB,GAAM,IAAAkjB,QAAO1kB,GAInB,OAHA,IAAA2kB,YAAU,KACRnjB,EAAIuD,QAAU/E,CAAK,GAClB,CAACA,IACGwB,CAAG,ECGL,SAAS6kE,GAAqC,GACnD3hE,EAAE,OACFqJ,EAAM,cACNG,EAAa,YACbC,EAAW,eACXC,EAAc,cACdxM,IAEA,MAAM,qBACJzB,GCfG,WACL,MAAMuB,EAAmBw7B,IAQzB,MAAO,CACL/8B,sBAR2B,SAAeD,GACnC,IAAI6B,EAAiB,CAC1BrC,QAASgC,EAAiB3C,8BAC1BoD,SAAUT,EAAiB5C,oCAC3BoB,aAED,CAACwB,IAIN,CDIMmjB,GAMEC,EAAUL,EAAc7iB,GACxBmjB,EAAQN,EAAc/f,GAoC5B,OAnCgB,IAAAwd,cAAY,KAC1B,MAAMhe,EAAiB/D,EAAqB,CAC1C4N,SACAC,cAAeE,EACfD,WAAY,CACVC,gBACAC,cACAC,oBAOE1O,EAAU,CACdwO,gBACAC,cACAC,oBACG0W,EAAQ/f,SAEbb,EAAexE,QAAQykB,KAAKzkB,GAG5B,MAAMY,EAAQ4D,EAAe5D,QACzBA,GACFA,EAAMC,KAAK,YAEbwkB,EAAMhgB,QAAQb,EAAe,GAC5B,CAEH6J,EAAQG,EAAeC,EAAaC,EAEpCjO,EAEA2kB,EAASC,GAEX,4FE/DA,IAAIuhD,EAAU,KACP,SAASC,IACC,MAAXD,IACFj7D,OAAOqlD,aAAa4V,GACpBA,EAAU,KAEd,CACO,SAASE,EAAgB9hE,EAAImM,GAClC01D,IACAD,EAAUj7D,OAAOwyC,YAAW,KAC1ByoB,EAAU,KACV5hE,GAAI,GACHmM,EACL,CCTA,IAAI6c,EAAS,oBCFE,SAASrL,EAASjjB,GAC/B,GAAIA,GAASA,EAAM+b,MAAO,CAExB,GAAI,QAAW/b,EAAM+b,MACnB,OAAO/b,EAAM+b,MAAM,MAGhB,GAAI,SAAU/b,EAAM+b,OAAS,cAAqB/b,EAAM+b,MAAM9F,MACjE,OAAOjW,EAAM+b,KAEjB,CAEA,MAAO,CACL9F,KAAM,KAEV,CCGe,SAASjJ,EAAOmW,EAAgBC,GAC7C,GAA8B,iBAAnBD,EACT,OAlBoBE,EAkBEF,EAlBWG,EAkBKF,EAjBjCpjB,IACL,MAAM+b,EAAQkH,EAASjjB,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CAC3C,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC9B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACF,OAAOA,CAEX,CACF,CAEA,MAAO,EAAE,EAbb,IAAwByiB,EAAaC,EAoBnC,MAAMC,EAAQJ,EACd,OAAOnjB,IAEL,MAAM+b,EAAQkH,EAASjjB,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACvB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACF,OAAOA,CAEX,CACA,MAAO,EAAE,CAEb,CChCO,MAIM4e,EAAO,UASPE,EAAO,UASPE,EAAO,UAOPG,EAAO,UACPC,EAAO,UAEPC,EAAO,UAsBP7S,EAAK,UAWLgT,EAAO,UAMPE,EAAO,UA4BPK,EAAQ,UAGRE,EAAQ,UAORE,EAAO,UAgCM/T,EAAO,CAC/BC,MAAO,qBAAqBG,KAC5BF,KAAM,+BAMwBF,EAAO,CACrCC,MAAO,yCACPC,KAAM,2CAMuBF,EAAO,CACpCC,MAAO,gDACPC,KAAM,kDAMyBF,EAAO,CACtCC,MAAO,6BAA6BG,KACpCF,KAAM,6BAA6B6T,OAMjB/T,EAAO,CACzBC,MAAO,0BACPC,KAAM,kBAAkByT,OAMD3T,EAAO,CAC9BC,MAAO,kBAAkBqT,KACzBpT,KAAM,kBAAkByT,OAMA3T,EAAO,CAC/BC,MAAO,2BAA2BgT,KAClC/S,KAAM,2BAA2B+S,OAMTjT,EAAO,CAC/BC,MAAO,2BAA2BmT,KAClClT,KAAM,2BAA2B2T,OAMJ7T,EAAO,CACpCC,MAAO,2BAA2BmT,KAClClT,KAAM,qCAMeF,EAAO,CAC5BC,MAAO,kBAAkBqT,KACzBpT,KAAM,kBAAkByT,OAMG3T,EAAO,CAClCC,MAAO,2BAA2BmT,KAClClT,KAAM,2BAA2B2T,OAEV7T,EAAO,CAC9BC,MA1KiB,UA2KjBC,KAAM6T,IAMY/T,EAAO,CACzBC,MAAO,kBAAkBgT,KACzB/S,KAAM,kBAAkB6S,OAMD/S,EAAO,CAC9BC,MAAO,kCACPC,KAAM,0BAA0B8S,OAMRhT,EAAO,CAC/BC,MAAO,kCACPC,KAAM,0BAA0B6S,OAMP/S,EAAO,CAChCC,MAAO,4BAA4B8S,KACnC7S,KAAM,4BAA4B8S,OAMbhT,EAAO,CAC5BC,MAAO,mCAAmCgT,KAC1C/S,KAAM,mCAAmC6S,OAEvB/S,EAAO,CACzBC,MAAOgT,EACP/S,KAAM6S,IAEY/S,EAAO,CACzBC,MAjOkB,UAkOlBC,KAnOkB,YAqOEF,EAAO,CAC3BC,MA9OkB,UA+OlBC,KAjPkB,YAmPDF,EAAO,CACxBC,MAAOuS,EACPtS,KAAMsS,IAEcxS,EAAO,CAC3BC,MAAOyS,EACPxS,KAAMwS,IAEa1S,EAAO,CAC1BC,MAAO2S,EACP1S,KAAM0S,ICrSR,MAAM,SACJxD,EAAQ,SACRhT,EAAQ,SACRyc,GCIK,SAAqBzD,GAC1B,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAS/CuiB,GAA4B,IAAAC,eAAcJ,GAChD,SAASyD,EAASpD,GAIhB,QAHc,IAAAC,YAAWH,IACAF,GACFI,EAEzB,CAiCA,MAAO,CACLrZ,SA9BF,SAAkBpJ,GAChB,MAAM,SACJW,KACG8hB,GACDziB,EAIEmiB,EAAS0D,EAASpD,GAGxB,OAAoB,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GACzE,EAmBE/F,SAVF,SAAkBpc,GAChB,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAYL,GAAcG,EAAQD,EAASF,IAAa,CAACE,EAASC,IAClF,OAAoB,gBAAoBL,EAAanG,SAAU,CAC7Dxb,MAAOiiB,GACN7iB,EAAMW,SACX,EAIEklB,WAEJ,CDzDIhP,EAAY,KAAM,CACpBZ,KAAM,YAGR,GACEmG,WACAhT,2BEPF,MAAM2c,GAAa,QAAI,CACrByG,UAAW,aACXhC,SAAU,QACVwC,QAAS,oDACTlnB,IAAK,yBACLC,KAAM,yBACNgR,aAAc,4BACdgU,SAAU,gCACVD,WAAY,IACZu8C,aAAc,aACdC,SAAU,eAENC,GAAiB,QAAI,CACzB/8C,SAAU,QACVC,SAAU,SACVC,aAAc,WACdC,WAAY,WAER68C,GAAc,QAAI,CACtBz6D,gBAAiB,qCAAqCuT,KACtDyM,MAAO,0BAA0B3f,OAE7Bq6D,GAAa,QAAI,CACrB16D,gBAAiB,6CACjBggB,MAAO,0BAA0BpM,OAE7BrO,GAAgC,IAAAiU,aAAW,UAA0B,MACzE5d,EAAK,UACLwK,EAAS,SACTxS,EAAQ,SACR4M,EAAQ,UACRhH,EAAS,OACTkM,EAAM,WACNI,EAAU,YACVD,EAAW,GACX6K,GACCrb,GACD,OAAO,QAAI,WAAsB,MAAM,EACrC6T,WAGF,QAAI5I,EAAA,EAAkB,CACpBjL,IAAKA,EACLuG,MAAOA,EACPwK,UAAWA,EACX5M,UAAWA,EACXkM,OAAQA,EACRgL,GAAIA,EACJ5K,WAAYA,EACZD,YAAaA,EACbkD,IAAK,CAACiQ,EAAYxY,EAAWg6D,EAAiB,KAAe,UAATtxD,EAAmBuxD,EAAcC,IACpF9mE,IACL,IACA2R,EAAiB7P,YAAc,mBAC/B,UC5DO,SAAS4M,EAAiBC,GAC/B,MAAMC,EAAYD,GAAoB,CACpCxJ,IAAK,EACLC,KAAM,GAUR,MAAO,CACLyJ,sBAT4B,KAAM,CAClC1J,IAAKyJ,EAAUzJ,IACfC,KAAMwJ,EAAUxJ,KAChB0D,OAAQ8F,EAAUzJ,IAClB0D,MAAO+F,EAAUxJ,KACjB0J,MAAO,EACPC,OAAQ,IAIRC,YAAa,EACbC,aAAc,EAElB,CCAA,MAAM83D,GAAgB,eAChB5hD,GAAsB,CAC1BhX,cAAe,UACfC,YAAa,oBACbC,eAAgB,UAIZikD,GAAoB,CACxBntD,IAAK,SACL2D,OAAQ,MACR1D,KAAM,QACNyD,MAAO,QAUT,SAAS8D,IAAQ,SACf3M,EAAQ,SACRkF,EAAW,SAAQ,cACnBuM,EAAgB,SAAQ,QACxBlB,EAAO,SACP3D,GAAW,EACX8E,UAAW+vC,EAAY,EACvB7vC,IAAKC,EAAkB,MAAK,OAC5BC,EAAM,MACNhB,EAAQ,IAAG,OACXM,EAASnS,EAAA,EAAI,OACbqS,EAASrS,EAAA,EAAI,mBACb0Q,GAAqB,EAAK,uBAC1BE,GAAyB,EAAK,iBAC9BlO,EAAgB,SAChBgyD,EAAW,UAEX,MAAM5hD,EAA+B,UAAb7M,EAAuBuM,EAAgBvM,EACzD8hE,EAAgBV,EAAqC,CACzD3hE,GAAIyM,EACJpD,OAAQ,YACRnM,cAAeF,KACZwjB,KAEC8hD,EAAgBX,EAAqC,CACzD3hE,GAAI2M,EACJtD,OAAQ,SACRnM,cAAeF,KACZwjB,KAEC+hD,GAAS,IAAAviD,QAAO,OACf1jB,EAAOkF,IAAY,IAAA+wC,UAAS,QAC7B9nC,GAAY,IAAAuV,QAAO,MACnBwiD,GAAe,IAAAxiD,QAAO,MACtBlgB,GAAS,IAAA0d,cAAYzd,IACpBA,IAGmB,mBAAb1E,EAEToP,EAAUpK,QAAUN,GAGpByiE,EAAaniE,QAAUN,EAEvB0K,EAAUpK,QAAUN,EAAKikC,YAC3B,GACC,CAAC3oC,IAGEonE,GAAY,IAAAziD,QAAO1jB,GACnBomE,GAAY,IAAA1iD,QAAO7T,GACnBw2D,GAAe,IAAA3iD,QAAO,CAC1BqiD,gBACAC,kBAEIM,GAAuB,IAAA5iD,SAAO,IACpC,IAAAC,YAAU,KACRwiD,EAAUpiE,QAAU/D,EACpBomE,EAAUriE,QAAU8L,EACpBw2D,EAAatiE,QAAU,CACrBgiE,gBACAC,gBACD,GACA,CAACn2D,EAAOm2D,EAAeD,EAAe/lE,IACzC,MAAMumE,GAAQ,IAAArlD,cAAYslD,IAExBP,EAAOliE,QAAUyiE,EACjBF,EAAqBviE,SAAU,CAAK,GACnC,IACGsZ,GAAO,IAAA6D,cAAY,KAClB+kD,EAAOliE,UAIRuiE,EAAqBviE,SACvBsiE,EAAatiE,QAAQiiE,gBAGvBC,EAAOliE,QAAU,KAEjBuiE,EAAqBviE,SAAU,EAE/BmB,EAAS,QAAO,GACf,IACG08C,GAAQ,IAAA1gC,cAAY,KACnB+kD,EAAOliE,UAGZkiE,EAAOliE,QAAQ69C,QAEX0kB,EAAqBviE,SACvBsiE,EAAatiE,QAAQiiE,gBAGvBC,EAAOliE,QAAU,KAAI,GACpB,KACH,IAAA4f,YAAU,WACR,OAAO,WACDsiD,EAAOliE,SACT69C,GAEJ,CACF,GAAG,CAACA,IACJ,MAAMhyC,GAAc,IAAAsR,cAAYksB,IAM9B,GALI64B,EAAOliE,UAAYkiE,EAAOliE,QAAQ6P,YACpCguC,IAIEqkB,EAAOliE,SAAWkiE,EAAOliE,QAAQ6P,WAEnC,YADAqyD,EAAOliE,QAAQ0iE,OAGjB,MAwBMD,ER7KH,SAActsB,GACnB,IAAI0Y,EAAQ,kBACZ,SAASh/C,IACP,OAAOvE,QAAQqd,GAAUA,EAAOwtB,QAAUA,EAC5C,CACA,SAASsV,IACH57C,MACF2xD,IACA74C,EAAS,KAEb,CACA,SAASrP,IACHzJ,KACFsmC,EAAM78B,OAERu1C,EAAQ,OACRpD,GACF,CACA,SAASkX,IACH9yD,KACFsmC,EAAMp0C,KAAK,CACT6gE,aAAa,IAGjBtpD,GACF,CAyDA,SAAS/O,IACP,MAAiB,UAAVskD,GAA+B,oBAAVA,GAAyC,mBAAVA,CAC7D,CAgDA,OAzCA,WACE,MAAMgU,EAAkBv3D,QAAQqd,GAAUA,EAAOpe,aAiBjD,SAASu4D,IACPjU,EAAQ,QACR1Y,EAAM2sB,KAAK,CACTF,YAAaC,GAEjB,CAnBIl6C,IACF64C,IACA74C,EAAOwtB,MAAMp0C,KAAK,CAChB6gE,aAAa,IAEfj6C,EAAOwtB,MAAM78B,OACbqP,EAAS,MAIXA,EAAS,CACPwtB,QACA5rC,aAQEs4D,EACFC,KAGFjU,EAAQ,kBACR4S,EAAgBqB,EAAM3sB,EAAMrqC,OAC9B,CAEA02D,GACe,CACbE,KAnGF,WACE,GAAK7yD,IAKL,MAAc,oBAAVg/C,GACFA,EAAQ,aACR2S,KAKY,mBAAV3S,GACFA,EAAQ,QACR2S,SACArrB,EAAM2sB,KAAK,CACTF,aAAa,UAJjB,CAQF,EA+EE/kB,MAAO4N,EACP57C,WACAkzD,YAhFF,UAAqB,YACnBH,IAEK/yD,MAKS,oBAAVg/C,EAMU,oBAAVA,IAGA+T,EACFD,KAGF9T,EAAQ,kBACR4S,GAAgB,KACd5S,EAAQ,iBACR1Y,EAAMp0C,KAAK,CACT6gE,aAAa,GACb,GACDzsB,EAAMrqC,SAlBP62D,IAmBJ,EAqDEK,oBApDF,WACMnzD,KAAwB,mBAAVg/C,GAChBv1C,GAEJ,EAiDE7M,cA5C0B,UAAtB0pC,EAAM9M,OAAOjlB,KACR+xB,EAAM9M,OAAO45B,MAEf,KA4CX,CQwCgBH,CAxBE,CACZz5B,SACAv9B,MAAOu2D,EAAUriE,QACjB8iE,KAAM,EACJF,kBAGKL,EAAqBviE,UACxBuiE,EAAqBviE,SAAU,EAC/BsiE,EAAatiE,QAAQgiE,iBAEvB7gE,EAASyhE,EAAc,iBAAmB,UAAU,EAEtD7gE,KAAM,EACJ6gE,kBAGEzhE,EADEyhE,EACO,OAEA,kBACX,EAEFtpD,KAAMA,IAGRkpD,EAAMC,EAAI,GACT,CAAC5kB,EAAOvkC,EAAMkpD,IACXU,GAAmB,IAAA/lD,cAAY,KACnC,IAAIgmD,EACmC,QAAtCA,EAAkBjB,EAAOliE,eAAyC,IAApBmjE,GAAsCA,EAAgBJ,YAAY,CAC/GH,aAAa,GACb,GACD,CAACV,KACJ,OAAsB,CACpB1xB,QAAS0yB,EACTlzD,WAAsB,SAAV/T,GAA8B,aAAVA,KAElC,IAAA2jB,YAAU,IACM,SAAV3jB,EACKhC,EAAA,GAEK,oBAAVgC,GACFkF,EAAS,aAEI,QAAKmF,OAAQ,CAC1B8d,KAAM,SACNssB,SAAU,KACJwxB,EAAOliE,SACTkiE,EAAOliE,QAAQ+iE,YAAY,CACzBH,aAAa,GAEjB,EAEF1lB,QAAS,CACP1zC,SAAS,EACTC,SAAS,EACT25D,MAAM,OAIT,CAACnnE,IACJ,MAAMmR,GAAc,IAAA+P,cAAY,KAC1BtS,GAA0Bq3D,EAAOliE,SACnCkiE,EAAOliE,QAAQ+iE,YAAY,CACzBH,aAAa,GAEjB,GACC,CAAC/3D,IACEmC,GAAU,IAAAmQ,cAAY,KACtBxS,GAAsBu3D,EAAOliE,SAC/BkiE,EAAOliE,QAAQ+iE,YAAY,CACzBH,aAAa,GAEjB,GACC,CAACj4D,IAOEsC,GAAc,IAAAkQ,cAAYviB,IAE9B,GAAIunE,EAAaniE,SAAWpF,EAAMoQ,SAAWm3D,EAAaniE,QACxD,OAIF,GAAIpF,EAAMyoE,iBACR,OAEFzoE,EAAM4nB,iBACN,MAAM6mB,EAAsB,UAAbnpC,EAAuB,CACpCkkB,KAAM,QAEN6+C,MAAOv5D,EAAiB,CACtBtJ,KAAMxF,EAAMsQ,QACZ/K,IAAKvF,EAAMuQ,WAEX,CACFiZ,KAAM,YAERvY,EAAYw9B,EAAO,GAClB,CAACnpC,EAAU2L,IAORqB,IAAa,IAAAiQ,cAAYviB,IAEzBunE,EAAaniE,SAAWpF,EAAMoQ,SAAWm3D,EAAaniE,SAKtDpF,EAAMyoE,mBAGVzoE,EAAM4nB,iBACF0/C,EAAOliE,SACTkiE,EAAOliE,QAAQ+iE,YAAY,CACzBH,aAAa,IAEjB,GACC,IACGz1D,GAA2B,UAAbjN,EAAuBtF,IACzC,IAAI0oE,EACwC,QAAvCA,EAAmBpB,EAAOliE,eAA0C,IAArBsjE,GAA+BA,EAAiBzzD,aAClGqyD,EAAOliE,QAAQyM,cAAgB/C,EAAiB,CAC9CtJ,KAAMxF,EAAMsQ,QACZ/K,IAAKvF,EAAMuQ,UAEf,OACExK,EACE4iE,IAAqB,IAAApmD,cAAY,KACjC+kD,EAAOliE,SAAWkiE,EAAOliE,QAAQ6P,YACnCqyD,EAAOliE,QAAQ0iE,MAEjB,GACC,IACGr1D,IAAU,IAAA8P,cAAY,KAC1BtR,EAAY,CACVuY,KAAM,YACN,GACD,CAACvY,IACEyB,IAAS,IAAA6P,cAAY,KACrB+kD,EAAOliE,SACTkiE,EAAOliE,QAAQ+iE,YAAY,CACzBH,aAAa,GAEjB,GACC,IACGY,IAAsB,IAAArmD,cAAYpV,IAEnB,YAAfA,GAAkD,aAAtBq6D,EAAUpiE,SAA0BkiE,EAAOliE,SAEzEkiE,EAAOliE,QAAQgjE,qBACjB,GACC,IAGGS,GAAsB52D,EACtB62D,GAAyC,SAAVznE,GAAoBqP,QAAQC,GAC3Do4D,GAAwC,SAAV1nE,GAA8B,aAAVA,EASlD2nE,GCvUO,SAAqBjqD,EAAQkqD,GAC1C,MAAMC,GAAO,SACb,OAAOD,EAAiB,GAAGC,EDqUG,kBCrUcnjE,CAC9C,CDoUoB+rD,CAAY,EAAWgX,IACnCK,GAAsB,CAC1B92D,cACAC,cACAC,eACAC,cACAJ,UACAK,WACAC,UACA7Q,IAAKgD,GA4BP,OAxBIqN,IAEFi3D,GAAoB,eAAiB,GAAGj3D,iBAK1C,IAAA8S,YAAU,KAKR,IAAKuiD,EAAaniE,UAAYoK,EAAUpK,UAAY4jE,GAClD,OAIF,MAAM54D,EAASZ,EAAUpK,QACrB0jE,GACF14D,EAAOjG,aAAa,mBAAoB6+D,IAExC54D,EAAO+vC,gBAAgB,mBACzB,GACC,CAAC2oB,GAA8BE,MAC3B,QAAI,WAAgB,KAA0B,mBAAb5oE,EAIxCA,EAAS,IACJ+oE,GACH,mBAAoBH,MACjB,QAAIH,IAAqB,OAAS,CAAC,EAAGM,GAAqB,CAC9DjyD,KAAM,iBACJ9W,GAAW0oE,IAA+B,QAAI,IAAQ,CACxD/+D,OAAQo9D,KACP,QAAI,IAAQ,CACbnhE,UAAWmM,EACX5K,iBAxDiB,UAAbjC,GAAgE,QAAvC8jE,GAAmB9B,EAAOliE,eAA0C,IAArBgkE,IAA+BA,GAAiBv3D,cAE3E,QAAvCw3D,GAAmB/B,EAAOliE,eAA0C,IAArBikE,QAA8B,EAASA,GAAiBx3D,cAE1GrC,EAAUpK,cAAWW,EAqD5BguD,SAAUA,IACT,EACDlyD,MACAuG,QACAtF,SACAkD,gBAKA,MAAM4sD,EAAyB,UAAbttD,OAAuBS,EAAY2sD,GA9VvB1sD,IAAaA,EAAUwD,MAAM,KAAK,GA8VO8/D,CAA0BtjE,IACjG,OAAO,QAAI,IAAoB,CAC7BiI,QAAQ,GACP86D,KAA+B,QAAI,KAAQ,CAC5ClW,SAAU,WACV3G,kBAAmB0G,EACnBG,cAAeH,EACfzG,SAAUyc,GACVpX,SAAoB,mBAAVnwD,EAA6B,EAAI,OAC1C,EACDuR,gBAGF,QAAIivC,EAAW,CACbhgD,IAAKA,EAKL+Q,UAAW,WAAWA,IACtBxK,MAAOA,EACP4E,SAAUA,EACVhH,UAAWmM,EACXD,OAAQA,EACRI,WAAYA,GACZD,YAAas2D,GACbzrD,GAAI8rD,IACgB,mBAAZr4D,EAAyBA,EAAQ,CACzC7N,WACG6N,KAAU,KACX,MAnGsB,IACtBy4D,GAEEC,EAiGV,CACAt8D,GAAQ7K,YAAc,UACtB,gGElaA,MAAMqnE,EAAuB,yBACvBC,GAAkB,QAAI,CAC1BC,OAAQ,OAAOF,KACf50D,OAAQ,YAEJ7H,GAAgC,IAAAkZ,aAAW,UAA0B,MACzE5d,EAAK,UACLwK,EAAS,SACTxS,EAAQ,UACR4F,EAAS,OACTkM,EAAM,WACNI,EAAU,YACVD,EAAW,GACX6K,GACCrb,GACD,MAAM6nE,EAAkB,IACnBthE,EACH,CAACmhE,GAAuB,gBAE1B,OAAO,QAAI,MAAO,CAChB1nE,IAAKA,EACLuG,MAAOshE,EACP,cAAex3D,EAAS,GAAGA,kBAAoBnM,IAC9C,QAAI,MAAO,CACZmR,KAAM,UACNtE,UAAWA,EACXN,WAAYA,EACZD,YAAaA,EACbkD,IAAKi0D,EACL,iBAAkBxjE,EAClB,cAAekM,EACfgL,GAAIA,GACH9c,GACL,IACA0M,EAAiB5K,YAAc,mBAC/B,qFCrCO,MAAMmjB,EAAU,qBACV7C,EAAqB,QACrBC,EAAc,CAAC,QAAS,QA4CxBxB,EAAS,CACpBC,KAAM,IAAM,IACZE,WAAY,IAAM,IAClBD,OAAQ,IAAM,IACdlW,MAAO,IAAM,IACboW,QAAS,IAAM,IACfC,MAAO,IAAM,IACbC,KAAM,IAAM,IACZC,UAAW,IAAM,IACjBC,QAAS,IAAM,mCCvDjB,IAAIu/C,EAA0B,EAAQ,OAElC1rB,EAAyB,EAAQ,OAErChyC,OAAOuhB,eAAe6E,EAAS,aAAc,CAC3CrpB,OAAO,IAETqpB,EAAQxV,KAAOwV,EAAA,QAAkBA,EAAQgG,iBAAc,EAEvD,IAAIi6C,EAAmBr0B,EAAuB,EAAQ,QAElDs0B,EAAmBt0B,EAAuB,EAAQ,QAElDu0B,EAAgBv0B,EAAuB,EAAQ,QAE/Cw0B,EAA8Bx0B,EAAuB,EAAQ,QAE7DnP,EAAmBmP,EAAuB,EAAQ,QAElDy0B,EAAaz0B,EAAuB,EAAQ,QAE5CzR,EAASm9B,EAAwB,EAAQ,QAEzCgJ,EAAoB10B,EAAuB,EAAQ,QAEnD20B,EAAQ30B,EAAuB,EAAQ,QAEvC40B,EAAS,EAAQ,OAEjBC,EAAa,EAAQ,OAErBl1B,EAAU,SAAiBx1C,GAC7B,OAAIA,EAAMyU,KACD,WAAWpO,OAAOqkE,EAAWrnC,MAAMrjC,EAAMyU,MAAO,aAAapO,OAAOqkE,EAAWrnC,MAAMrjC,EAAMyU,MAAO,KAGpG,IACT,EAEIwb,EAAcs6C,EAAkBxiD,QAAQ0tB,KAAKk1B,WAAW,CAC1DloE,YAAa,oBACbkjC,YAAa,YAFG4kC,CAGf,CAAC,OAAQ,WAAY,wCAAyC,6DAA8D,8cAA+c/0B,GAAS,SAAUvxC,GAC/lB,OAAOA,EAAEm9B,cAAgB,cAC3B,IAAG,SAAUn9B,GACX,OAAOA,EAAEo9B,gBAAkBopC,EAAO3wD,OAAOqH,UAC3C,GAAGq0B,GAEHvrB,EAAQgG,YAAcA,EAEtB,IAAI+Q,EAEJ,SAAUwI,GAGR,SAASxI,IAEP,OADA,EAAImpC,EAAiBpiD,SAAS7nB,KAAM8gC,IAC7B,EAAIqpC,EAA4BtiD,SAAS7nB,MAAM,EAAIwmC,EAAiB3e,SAASiZ,GAAMj8B,MAAM7E,KAAM2E,WACxG,CAmDA,OAxDA,EAAIylE,EAAWviD,SAASiZ,EAAMwI,IAO9B,EAAI4gC,EAAcriD,SAASiZ,EAAM,CAAC,CAChCtkB,IAAK,SACL9b,MAAO,WACL,IAAI4mC,EAActnC,KAAKF,MACnB+jC,EAAQyD,EAAY1D,MACpBE,EAAsBwD,EAAYxD,oBAClC5C,EAAeoG,EAAYpG,aAC3BC,EAAiBmG,EAAYnG,eAC7B5sB,EAAO+yB,EAAY/yB,KAEvB,OAAIuvB,EACKI,EAAOrc,QAAQtd,cAAcwlB,EAAa,CAC/CmR,aAAcA,EACdC,eAAgBA,EAChB5sB,KAAMA,EACN,aAAcvU,KAAKF,MAAMwX,MACzB0sB,wBAAyB,CACvBC,OAAQnD,EAAK0/B,wBAAwB18B,MAMpCI,EAAOrc,QAAQtd,cAAcwlB,EAAa,CAC/CmR,aAAcA,EACdC,eAAgBA,EAChB5sB,KAAMA,EACN,aAAcvU,KAAKF,MAAMwX,OACxBusB,EAAQK,EAAOrc,QAAQtd,cAAcs5B,EAAO,CAC7CtsB,KAAM,iBACH,KACP,IACE,CAAC,CACHiF,IAAK,0BAUL9b,MAAO,SAAiC80C,GACtC,IAAIj4B,GAAK,EAAI+sD,EAAMziD,WAEnB,OADqB2tB,EAAOC,QAAQ,8BAA+B,SAAStvC,OAAOoX,IAAKk4B,QAAQ,wCAAyC,iBAAkBtvC,OAAOoX,EAAI,MAExK,KAEKujB,CACT,CA1DA,CA0DEoD,EAAOtkC,WAETmqB,EAAA,QAAkB+W,EAClB,IAAIvsB,EAAO5Q,OAAOC,KAAK4mE,EAAWrnC,OAAOh/B,QAAO,SAAUJ,EAAG81B,GAC3D,OAAOl2B,OAAOuG,OAAOnG,GAAG,EAAIimE,EAAiBniD,SAAS,CAAC,EAAGgS,EAAGA,GAC/D,GAAG,CAAC,GACJ9P,EAAQxV,KAAOA,8BCpHf5Q,OAAOuhB,eAAe6E,EAAS,aAAc,CAC3CrpB,OAAO,IAETqpB,EAAQoZ,WAAQ,EAOhBpZ,EAAQoZ,MANI,CACV3vB,MAAO,OACPC,OAAQ,OACRC,MAAO,OACPC,OAAQ,sCCLVoW,EAAQ,OAAU,EAElB,IAAIma,EAASyR,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAE5T,IAAImxC,EAAkB,SAAyBh2C,GAC7C,OAAOokC,EAAOrc,QAAQtd,cAAcqrC,EAAM/tB,QAASguB,EAAS,CAC1D/R,oBAAqB,yVACpBhkC,GACL,EAEAg2C,EAAgBvzC,YAAc,kBAC9B,IAAI8hC,EAAWyR,EACf/rB,EAAQ,EAAUsa,gCClBlBta,EAAQ,OAAU,EAElB,IAAIma,EAASyR,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAE5T,IAAI+lE,EAAuB,SAA8B5qE,GACvD,OAAOokC,EAAOrc,QAAQtd,cAAcqrC,EAAM/tB,QAASguB,EAAS,CAC1D/R,oBAAqB,uQACpBhkC,GACL,EAEA4qE,EAAqBnoE,YAAc,uBACnC,IAAI8hC,EAAWqmC,EACf3gD,EAAQ,EAAUsa,gCClBlBta,EAAQ,OAAU,EAElB,IAAIma,EAASyR,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAE5T,IAAIgmE,EAAgB,SAAuB7qE,GACzC,OAAOokC,EAAOrc,QAAQtd,cAAcqrC,EAAM/tB,QAASguB,EAAS,CAC1D/R,oBAAqB,sWACpBhkC,GACL,EAEA6qE,EAAcpoE,YAAc,gBAC5B,IAAI8hC,EAAWsmC,EACf5gD,EAAQ,EAAUsa,+BClBlBta,EAAQ,OAAU,EAElB,IAAIma,EAASyR,EAAuB,EAAQ,QAExCC,EAAQD,EAAuB,EAAQ,QAE3C,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAE5T,IAAIimE,EAAY,SAAmB9qE,GACjC,OAAOokC,EAAOrc,QAAQtd,cAAcqrC,EAAM/tB,QAASguB,EAAS,CAC1D/R,oBAAqB,4TACpBhkC,GACL,EAEA8qE,EAAUroE,YAAc,YACxB,IAAI8hC,EAAWumC,EACf7gD,EAAQ,EAAUsa,2wDCrBX,MAAM1S,EAAM,UACNC,EAAM,UACNvC,EAAO,UACPhQ,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwP,EAAO,UAEP8C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPnD,EAAO,UACPpP,EAAO,UACPqP,EAAO,UACPO,EAAO,UAEP4C,EAAM,UACNC,EAAM,UACNC,EAAO,UACPzS,EAAO,UACPC,EAAO,UACPC,EAAO,UACPwS,EAAO,UAEP3C,EAAM,UACN5P,EAAM,UACNC,EAAO,UACPC,EAAO,UACP2O,EAAO,UACP1O,EAAO,UACP2O,EAAO,UAEP0D,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEPC,EAAM,UACNC,EAAM,UACNC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UACPC,EAAO,UAEP/lB,EAAK,UACLgmB,EAAM,UACNjE,EAAM,UACNkE,EAAM,UACNnT,EAAM,UACNC,EAAM,UACNmT,EAAM,UACN9D,EAAM,UACN+D,GAAM,UACN9D,GAAM,UACN+D,GAAO,UACPpT,GAAO,UACPqT,GAAO,UACPxF,GAAO,UACP5N,GAAO,UACPqT,GAAO,UACPlF,GAAO,UACPlO,GAAO,UAEPC,GAAO,UAEPoT,GAAO,wBACP5F,GAAO,wBACPK,GAAO,wBACPwF,GAAO,wBACPC,GAAO,wBACPC,GAAO,wBACPtT,GAAO,wBACPuT,GAAO,wBACPC,GAAO,wBACPC,GAAQ,wBACRxT,GAAQ,wBACRyT,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBACRC,GAAQ,wBAER7C,GAAQ,UACRhR,GAAQ,UACR8T,GAAQ,UACR7T,GAAQ,UACRC,GAAQ,UACRsN,GAAQ,UACRrN,GAAQ,UACR4T,GAAQ,UACR3T,GAAQ,UACR4T,GAAO,UACPC,GAAO,UACP3G,GAAO,UACPK,GAAO,UACPtN,GAAO,UACP6T,GAAO,UACP5T,GAAO,UACP6T,GAAO,UACPC,GAAO,UAEP7T,GAAM,UAEN8T,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAS,yBACTC,GAAQ,yBACRrU,GAAQ,yBACRsU,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBACRC,GAAQ,yBAER3U,IAAa,OAAO,CAAElU,MAAOG,EAAIF,KAAM8T,KACvCI,IAAmB,OAAO,CAAEnU,MAAOyiB,EAAKxiB,KAAM4S,IAC9CuB,IAAkB,OAAO,CAAEpU,MAAOomB,EAAKnmB,KAAM8gB,KAC7C+H,IAAoB,OAAO,CAAE9oB,MAAOG,EAAIF,KAAM6T,KAC9CiV,IAAO,OAAO,CAAE/oB,MAAOsT,GAAMrT,KAAMyT,KACnCsV,IAAY,OAAO,CAAEhpB,MAAOqT,GAAMpT,KAAMyT,KACxCuV,IAAa,OAAO,CAAEjpB,MAAOgT,EAAM/S,KAAM+S,IACzCkW,IAAa,OAAO,CAAElpB,MAAOmT,GAAMlT,KAAM2T,KACzCuV,IAAkB,OAAO,CAAEnpB,MAAOumB,GAAMtmB,KAAMunB,KAC9C4B,IAAU,OAAO,CAAEppB,MAAOqT,GAAMpT,KAAMyT,KACtC2V,IAAgB,OAAO,CAAErpB,MAAOmT,GAAMlT,KAAM2T,KAC5C0V,IAAY,OAAO,CAAEtpB,MAAOkiB,EAAKjiB,KAAM6T,KACvCmO,IAAO,OAAO,CAAEjiB,MAAOgT,EAAM/S,KAAM6S,IACnCyW,IAAY,OAAO,CAAEvpB,MAAO0hB,EAAMzhB,KAAM8S,IACxCyW,IAAa,OAAO,CAAExpB,MAAO2hB,EAAM1hB,KAAM6S,IACzC2W,IAAc,OAAO,CAAEzpB,MAAO8S,EAAM7S,KAAM8S,IAC1C0O,IAAU,OAAO,CAAEzhB,MAAOgT,EAAM/S,KAAM6S,IACtC4W,IAAO,OAAO,CAAE1pB,MAAOgT,EAAM/S,KAAM6S,IACnC6W,IAAO,OAAO,CAAE3pB,MAAOgmB,EAAM/lB,KAAM8lB,IACnC1R,IAAS,OAAO,CAAErU,MAAOylB,EAAMxlB,KAAMslB,IACrCqE,IAAM,OAAO,CAAE5pB,MAAOuS,EAAMtS,KAAMsS,IAClCsX,IAAS,OAAO,CAAE7pB,MAAOyS,EAAMxS,KAAMwS,IACrCqX,IAAQ,OAAO,CAAE9pB,MAAO2S,EAAM1S,KAAM0S,IACpCoX,GAAW,IAAMjJ,mNCrJvB,MAAM4K,EAAY,gBACZ/S,EAAU,qBACV7C,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAMxBjM,EAAe,IAAM,EACrBwK,EAAW,IAAM,EACjBwJ,EAAW,IAAM,GACjB6N,EAAgB,IAAM,GACtBC,EAAa,IAAM,uIACnBC,EAAiB,IAAM,iHACvBC,EAAY,CAAChM,EAAQ,EAAAhN,KAAMiZ,EAAezX,IAAa,IAAM,kEAG5CyX,OAAkBjM,YAGnCkM,EAAc,IAAM,0BAGpBzX,EAAS,CAClBC,KAAM,IAAM,IACZC,OAAQ,IAAM,IACdC,WAAY,IAAM,IAClBnW,MAAO,IAAM,IACboW,QAAS,IAAM,IACfC,MAAO,IAAM,IACbC,KAAM,IAAM,IACZC,UAAW,IAAM,IACjBC,QAAS,IAAM,KAENkX,EAAiB,KAAM,CAChChM,OAAQ,eACRiM,KAAM,sCACNzpB,OAAQ,iBACR+a,SAAU,oBACVuC,QAAS,eACTnnB,SAAU,sBACV4J,MAAO,iBACPkb,WAAY,sBAOHyO,EAAY,IAAM,EAAAtjB,GAAI;;;;;;;;;EAUtBujB,EAAkB,KAAM,CACjCvjB,IAAK,CACD/I,iBAAiB,IAAAiqB,YACjBsC,kBAAmB,OACnBC,wBAAyB,WACzBC,wBAAyB,SACzBC,mBAAoB,aAExBnI,UAAW,CACPoI,KAAM,CACF3sB,iBAAiB,IAAAiqB,aAErB2C,GAAI,CACA5sB,gBAAiB,EAAAqhB,8iCCzEtB,MAAM28C,EAAgB,CACzB,CAAE5pD,WAAYrH,EAAOwG,KAAM0V,KAAMlc,EAAO1M,IACxC,CAAE+T,WAAYrH,EAAO2F,KAAMuW,KAAMlc,EAAO1M,IACxC,CAAE+T,WAAYrH,EAAO6Y,KAAMqD,KAAMlc,EAAOwY,KACxC,CAAEnR,WAAYrH,EAAOmG,KAAM+V,KAAMlc,EAAOgG,KACxC,CAAEqB,WAAYrH,EAAOmZ,KAAM+C,KAAMlc,EAAOwG,MACxC,CAAEa,WAAYrH,EAAO+F,KAAMmW,KAAMlc,EAAO1M,IACxC,CAAE+T,WAAYrH,EAAOiV,KAAMiH,KAAMlc,EAAOwG,MACxC,CAAEa,WAAYrH,EAAO0V,IAAKwG,KAAMlc,EAAOwG,OAE9B0qD,EAAiB,IACvBD,EACH,CAAE5pD,WAAYrH,EAAOuG,KAAM2V,KAAMlc,EAAO1M,IACxC,CAAE+T,WAAYrH,EAAOyV,KAAMyG,KAAMlc,EAAOwG,MACxC,CAAEa,WAAYrH,EAAOyY,IAAKyD,KAAMlc,EAAOwG,MACvC,CAAEa,WAAYrH,EAAOiG,KAAMiW,KAAMlc,EAAOwG,MACxC,CAAEa,WAAYrH,EAAOiZ,KAAMiD,KAAMlc,EAAOwG,MACxC,CAAEa,WAAYrH,EAAOsY,KAAM4D,KAAMlc,EAAOuY,MACxC,CAAElR,WAAYrH,EAAOgV,KAAMkH,KAAMlc,EAAOwG,MACxC,CAAEa,WAAYrH,EAAO1M,GAAI4oB,KAAMlc,EAAOwG,OAE7B2qD,EAAiB,IACvBD,EACH,CAAE7pD,WAAYrH,EAAO0Z,KAAMwC,KAAMlc,EAAO1M,IACxC,CAAE+T,WAAYrH,EAAOoG,IAAK8V,KAAMlc,EAAOwG,MACvC,CAAEa,WAAYrH,EAAOqG,IAAK6V,KAAMlc,EAAOmV,MACvC,CAAE9N,WAAYrH,EAAOwY,IAAK0D,KAAMlc,EAAO8Y,MACvC,CAAEzR,WAAYrH,EAAO4V,IAAKsG,KAAMlc,EAAO8U,MACvC,CAAEzN,WAAYrH,EAAOgZ,IAAKkD,KAAMlc,EAAOwG,MACvC,CAAEa,WAAYrH,EAAOoY,IAAK8D,KAAMlc,EAAOuY,MACvC,CAAElR,WAAYrH,EAAOkY,IAAKgE,KAAMlc,EAAOwG,OAE9B4qD,EAAe,CAACC,EAAU,OACnC,OAAQA,GACJ,IAAK,IACD,OAAOJ,EACX,IAAK,KACD,OAAOC,EACX,IAAK,KACD,OAAOC,EACX,QACI,MAAM,IAAIngE,MAAM,iDACxB,iBCzCG,MAAMsgE,GAAO,EAAAp+D,EAAA,GAAO,CACvBC,MAAO,yBAAyB6M,EAAO+Z,mBAAmB/Z,EAAOga,QACjE5mB,KAAM,yBAAyB4M,EAAO4b,kBAAkB5b,EAAO2b,WAGtD41C,GAAO,EAAAr+D,EAAA,GAAO,CACvBC,MAAO,8BAA8B6M,EAAO+Z,iBAAiB/Z,EAAOga,QACpE5mB,KAAM,8BAA8B4M,EAAO4b,kBAAkB5b,EAAO2b,WAG3D61C,GAAO,EAAAt+D,EAAA,GAAO,CACvBC,MAAO,+BAA+B6M,EAAO+Z,iBAAiB/Z,EAAOga,QACrE5mB,KAAM,+BAA+B4M,EAAO4b,kBAAkB5b,EAAO2b,WAG5D81C,GAAO,EAAAv+D,EAAA,GAAO,CACvBC,MAAO,gCAAgC6M,EAAO+Z,iBAAiB/Z,EAAOga,QACtE5mB,KAAM,gCAAgC4M,EAAO4b,kBAAkB5b,EAAO2b,WAG7D+1C,GAAO,EAAAx+D,EAAA,GAAO,CACvBC,MAAO,gCAAgC6M,EAAO+Z,iBAAiB/Z,EAAOga,QACtE5mB,KAAM,gCAAgC4M,EAAO4b,kBAAkB5b,EAAO2b,oCCtB1E,MAAMg2C,EAAc,CAACh3D,EAAMqW,IAAe,kBAC3BrW,GAAO,wDAELqW,EAAarW,OAEjBi3D,EAAe,CACxBC,KAAM,CACFl3D,KAAM,GACNqW,WAAY,IAEhB8gD,KAAM,CACFn3D,KAAM,GACNqW,WAAY,IAEhB+gD,KAAM,CACFp3D,KAAM,GACNqW,WAAY,IAEhBghD,KAAM,CACFr3D,KAAM,GACNqW,WAAY,IAEhBihD,KAAM,CACFt3D,KAAM,GACNqW,WAAY,IAEhBkhD,KAAM,CACFv3D,KAAM,GACNqW,WAAY,IAEhBmhD,KAAM,CACFx3D,KAAM,GACNqW,WAAY,IAEhBohD,KAAM,CACFz3D,KAAM,GACNqW,WAAY,IAEhBqhD,KAAM,CACF13D,KAAM,GACNqW,WAAY,KAGP6gD,EAAO,IAAM,EAAA71D,GAAI;IAC1B21D,EAAYC,EAAaC,KAAKl3D,KAAMi3D,EAAaC,KAAK7gD;WAC/ChR,EAAOuc;;;gBAGW,KAAb;EAEHu1C,EAAO,IAAM,EAAA91D,GAAI;IAC1B21D,EAAYC,EAAaE,KAAKn3D,KAAMi3D,EAAaE,KAAK9gD;WAC/ChR,EAAOuc;;;gBAGW,GAAb;EAEHw1C,EAAO,IAAM,EAAA/1D,GAAI;IAC1B21D,EAAYC,EAAaG,KAAKp3D,KAAMi3D,EAAaG,KAAK/gD;WAC/ChR,EAAOuc;;;gBAGW,GAAb;EAEHy1C,EAAO,IAAM,EAAAh2D,GAAI;IAC1B21D,EAAYC,EAAaI,KAAKr3D,KAAMi3D,EAAaI,KAAKhhD;WAC/ChR,EAAOuc;;;gBAGW,KAAb;EAEH01C,EAAO,IAAM,EAAAj2D,GAAI;IAC1B21D,EAAYC,EAAaK,KAAKt3D,KAAMi3D,EAAaK,KAAKjhD;WAC/ChR,EAAOuc;;;gBAGW,GAAb;EAEH21C,EAAO,IAAM,EAAAl2D,GAAI;IAC1B21D,EAAYC,EAAaM,KAAKv3D,KAAMi3D,EAAaM,KAAKlhD;WAC/ChR,EAAOuc;;;gBAGW,GAAb;EAEH41C,EAAO,IAAM,EAAAn2D,GAAI;IAC1B21D,EAAYC,EAAaO,KAAKx3D,KAAMi3D,EAAaO,KAAKnhD;WAC/ChR,EAAOuc;;gBAEW,KAAb;;EAGH61C,EAAO,IAAM,EAAAp2D,GAAI;IAC1B21D,EAAYC,EAAaQ,KAAKz3D,KAAMi3D,EAAaQ,KAAKphD;WAC/ChR,EAAOwc;;gBAEW,GAAb;EAEH61C,EAAO,IAAM,EAAAr2D,GAAI;IAC1B21D,EAAYC,EAAaS,KAAK13D,KAAMi3D,EAAaS,KAAKrhD;WAC/ChR,EAAOwc;;gBAEW,GAAb;ECxGT,SAASwqC,EAAIx7D,EAAI8mE,GACpB,OAAQpsE,GAAUsF,EAAGtF,GAASosE,CAClC,CACO,SAASC,EAAS/mE,EAAIgnE,GACzB,OAAQtsE,GAAUsF,EAAGtF,GAASssE,CAClC,CACO,SAAS9nC,EAASl/B,EAAIm/B,GACzB,OAAQzkC,GAAUsF,EAAGtF,GAASykC,CAClC,CACO,SAASC,EAAOp/B,EAAIq/B,GACvB,OAAQ3kC,GAAUsF,EAAGtF,GAAS2kC,CAClC,mECHO,SAAS9tB,EAAYuL,GACxB,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAM/CuiB,GAAe,IAAAC,eAAcJ,GA2BnC,MAAO,CAAEhZ,SAxBT,SAAkBpJ,GACd,MAAM,SAAEW,KAAa8hB,GAAeziB,EAK9BmiB,IAJQ,IAAAO,YAAWH,IACAF,GAGFI,GAGvB,OAAO,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GAC9D,EAcmB/F,SANnB,SAAkBpc,GACd,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAaL,GAAeG,EAAQD,EAASF,IAAa,CAACE,EAASC,IACpF,OAAQ,gBAAoBL,EAAanG,SAAU,CAAExb,MAAOiiB,GAAW7iB,EAAMW,SACjF,EAEJ,CC1CA,QAAekW,GAAY,KAAM,CAC7BZ,KAAM,YCKV,SAASghB,EAAsBr1B,GAE3B,MAAO,4BADiBkY,EAAOqH,WAAWvf,WAI9C,CACA,SAASs1B,EAAgBjhB,GACrB,MAAO,CAAE8F,MAAO,CAAE,CAAC,MAAU,CAAE9F,SACnC,CACA,MAAMkhB,EAAc,aAAW;sBACTrd,EAAOqH;WAClBrH,EAAOkc;;;aAGLlc,EAAOoV;;;aAGPpV,EAAO0c;;;aAGP1c,EAAO2c;;;qBAGC3c,EAAO4c;;;aAGf5c,EAAOuc;;;aAGPvc,EAAOuc;;;aAGPvc,EAAOuc;;;aAGPvc,EAAOuc;;;aAGPvc,EAAOuc;;;aAGPvc,EAAOwc;;;aAGPxc,EAAOqc;;EAGL,MAAMiB,UAA8B,EAAAt3B,UAC/CC,YAAYC,GACRC,MAAMD,GAONE,KAAKm3B,aAAe,KAAM,CAAGphB,KAAM/V,KAAK0B,MAAMma,MAAM,MAAS9F,OAC7D/V,KAAK0B,MAAQs1B,EAAgBl3B,EAAMiW,KACvC,CACAzU,kBACI,MAAO,CAAE81B,0BAA0B,EACvC,CACA9Y,4BACI,IAAKte,KAAKI,QAAQg3B,0BAA4B,cAAiB,CAC3D,MAAMxhB,EAAMmhB,EAAsB/2B,KAAK0B,OACvC1B,KAAKq3B,WAAa/sB,SAASC,cAAc,SACzCvK,KAAKq3B,WAAWxN,KAAO,WACvB7pB,KAAKq3B,WAAWC,UAAY1hB,EACxBtL,UAAYA,SAASitB,MACrBjtB,SAASitB,KAAKlrB,YAAYrM,KAAKq3B,WAEvC,CACJ,CACAG,iCAAiCC,GAC7B,GAAIA,EAAS1hB,OAAS/V,KAAKF,MAAMiW,KAAM,CACnC,MAAM2hB,EAAgBV,EAAgBS,EAAS1hB,MAC/C,GAAI/V,KAAKq3B,WAAY,CACjB,MAAMzhB,EAAMmhB,EAAsBW,GAClC13B,KAAKq3B,WAAWC,UAAY1hB,CAChC,CACA5V,KAAK4G,SAAS8wB,EAClB,CACJ,CACArvB,uBACQrI,KAAKq3B,YAAc/sB,UAAYA,SAASitB,OACxCjtB,SAASitB,KAAK3qB,YAAY5M,KAAKq3B,mBACxBr3B,KAAKq3B,WAEpB,CACA72B,SACI,MAAM,SAAEC,GAAaT,KAAKF,OACpB,MAAE+b,GAAU7b,KAAK0B,MACvB,OAMA,gBAAoBgV,EAAMwF,SAAU,CAAExb,MAAOV,KAAKm3B,cAC9C,gBAAoB,EAAAQ,cAAe,CAAE9b,MAAOA,GACxC,gBAAoBob,EAAa,KAAMx2B,IACnD,EAEJy2B,EAAsBnyB,aAAe,CACjCgR,KAAM,MAEVmhB,EAAsBp1B,kBAAoB,CACtCs1B,yBAA0B,UAE9BF,EAAsBr1B,aAAe,CACjCu1B,yBAA0B,UCtH9B,UAAkB32B,WAAUX,QAAO+b,YAC/B,MAAMrH,EAA8B,iBAAV1U,EAAqB,UAAYA,EACrD83B,EAA0B,iBAAV93B,EAAqB,IAAKA,GAAU,CAAC,EAM3D,OALA6D,OAAOC,KAAKiY,GAAO5Y,SAAQuZ,IACjBA,KAAOob,IACTA,EAAOpb,GAAOX,EAAMW,GAAK,CAAEhI,eAC/B,IAEG/T,EAASm3B,EACnB,ECLKC,EAAeC,GAAe/zB,GAAMA,EAAE+zB,IAAc/zB,EAAEkJ,UACtD8qB,EAAM,aAAW;IAClBh0B,GAAM,EAAA6R,GAAI;wBACS7R,EAAE8I;aACb9I,EAAEkJ;;;eAGA4qB,EAAY;;;eAGZA,EAAY;;;eAGZA,EAAY;;;uBAGJA,EAAY;;;;;;;eAOpBA,EAAY;;;eAGZA,EAAY;;;eAGZA,EAAY;;;EAIdG,EAAarhB,GAAY,KAAM,CACxC9J,gBAAiB+M,EAAO1M,GACxB+qB,UAAWre,EAAOmG,KAClBmY,eAAgBte,EAAO6U,KACvB0J,gBAAiBve,EAAO8U,KACxB0J,iBAAkBxe,EAAOiG,KACzBwY,aAAcze,EAAOwG,KACrBkY,mBAAoB1e,EAAOsG,KAC3BqY,gBAAiB3e,EAAOsG,KACxBjT,UAAW2M,EAAOyG,SAEf,SAASmY,EAAM14B,GAClB,OAAQ,gBAAoBk4B,EAAW9b,SAAU,CAAExb,MAAOZ,EAAM+b,OAC5D,gBAAoBmc,EAAW9uB,SAAU,MAAO+Y,GACpC,gBAAoB8V,EAAKp0B,OAAOuG,OAAO,CAAC,EAAG,IAAK+X,EAAQlM,UAAM3P,GAAatG,GAAQA,EAAMW,YAE7G,CChDO,SAASshB,EAAUC,GACtB,OAAO,SAA4BliB,GAC/B,OAAQ,gBAAoB4W,EAAMxN,SAAU,MAAO+Y,GAAY,gBAAoBD,EAAgBre,OAAOuG,OAAO,CAAC,EAAGpK,EAAO,CAAE+b,MAAOoG,MACzI,CACJ,CCEO,MAAMoqD,EAAwBn1C,iDCRrC,MAAMrU,EAAqB,QACrBC,EAAc,CAAC,QAAS,QAEf,SAASC,EAASjjB,GAC7B,GAAIA,GAASA,EAAM+b,MAAO,CAEtB,GAAI,uBAAwB/b,EAAM+b,MAC9B,OAAO/b,EAAM+b,MAAMmH,mBAGlB,GAAI,SAAUljB,EAAM+b,OAASiH,EAAYte,SAAS1E,EAAM+b,MAAM9F,MAC/D,OAAOjW,EAAM+b,KAErB,CAEA,MAAO,CAAE9F,KAAM8M,EACnB,gECFe,SAAS/V,EAAOmW,EAAgBC,GAC3C,GAA8B,iBAAnBD,EACP,OAhBgBE,EAgBMF,EAhBOG,EAgBSF,EAflCpjB,IACJ,MAAM+b,GAAQ,OAAS/b,GACvB,GAAIA,GAASA,EAAMqjB,IAAgBC,EAAU,CACzC,MAAMC,EAAQD,EAAStjB,EAAMqjB,IAC7B,GAAIE,GAASA,EAAMxH,EAAM9F,MAAO,CAC5B,MAAMrV,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACJ,CACA,MAAO,EAAE,EAXjB,IAAwByiB,EAAaC,EAkBjC,MAAMC,EAAQJ,EACd,OAAQnjB,IAEJ,MAAM+b,GAAQ,OAAS/b,GAEvB,GAAI+b,EAAM9F,QAAQsN,EAAO,CACrB,MAAM3iB,EAAQ2iB,EAAMxH,EAAM9F,MAC1B,GAAIrV,EACA,OAAOA,CACf,CACA,MAAO,EAAE,CAEjB,yBC/BA,MAAM4rE,EAAY,YACZC,EAAY,YACZC,EAAkB,0BAClBC,EAAa,yBACbC,EAAa,WAEbC,EAAqB,IAAIxL,OAAO,IAAMuL,EAAW59B,QACjD89B,EAA4B,IAAIzL,OAAOuL,EAAW59B,OAAS29B,EAAW39B,OAAQ,MAC9E+9B,EAAyB,IAAI1L,OAAO,OAASsL,EAAW39B,OAAQ,MA6ChEg+B,EAAY,CAACC,EAAOpqB,KACzB,GAAuB,iBAAVoqB,IAAsBznE,MAAMiD,QAAQwkE,GAChD,MAAM,IAAIroD,UAAU,gDAiBrB,GAdAi+B,EAAU,CACTqqB,YAAY,EACZC,8BAA8B,KAC3BtqB,GAWiB,KAPpBoqB,EADGznE,MAAMiD,QAAQwkE,GACTA,EAAM75B,KAAI36B,GAAKA,EAAE20D,SACvBppE,QAAOyU,GAAKA,EAAEvU,SACdypB,KAAK,KAECs/C,EAAMG,QAGLlpE,OACT,MAAO,GAGR,MAAMmpE,GAAiC,IAAnBxqB,EAAQyqB,OAC3BC,GAAUA,EAAOF,cACjBE,GAAUA,EAAOC,kBAAkB3qB,EAAQyqB,QACtCG,GAAiC,IAAnB5qB,EAAQyqB,OAC3BC,GAAUA,EAAOE,cACjBF,GAAUA,EAAOG,kBAAkB7qB,EAAQyqB,QAE5C,OAAqB,IAAjBL,EAAM/oE,OACF2+C,EAAQqqB,WAAaO,EAAYR,GAASI,EAAYJ,IAGzCA,IAAUI,EAAYJ,KAG1CA,EAhFwB,EAACM,EAAQF,EAAaI,KAC/C,IAAIE,GAAkB,EAClBC,GAAkB,EAClBC,GAAsB,EAE1B,IAAK,IAAI3pD,EAAI,EAAGA,EAAIqpD,EAAOrpE,OAAQggB,IAAK,CACvC,MAAM4pD,EAAYP,EAAOrpD,GAErBypD,GAAmBnB,EAAUh/C,KAAKsgD,IACrCP,EAASA,EAAOxsB,MAAM,EAAG78B,GAAK,IAAMqpD,EAAOxsB,MAAM78B,GACjDypD,GAAkB,EAClBE,EAAsBD,EACtBA,GAAkB,EAClB1pD,KACU0pD,GAAmBC,GAAuBpB,EAAUj/C,KAAKsgD,IACnEP,EAASA,EAAOxsB,MAAM,EAAG78B,EAAI,GAAK,IAAMqpD,EAAOxsB,MAAM78B,EAAI,GACzD2pD,EAAsBD,EACtBA,GAAkB,EAClBD,GAAkB,IAElBA,EAAkBN,EAAYS,KAAeA,GAAaL,EAAYK,KAAeA,EACrFD,EAAsBD,EACtBA,EAAkBH,EAAYK,KAAeA,GAAaT,EAAYS,KAAeA,EAEvF,CAEA,OAAOP,CAAM,EAsDJQ,CAAkBd,EAAOI,EAAaI,IAG/CR,EAAQA,EAAMt3B,QAAQk3B,EAAoB,IAGzCI,EADGpqB,EAAQsqB,6BAxDwB,EAACF,EAAOI,KAC5CX,EAAgBjvB,UAAY,EAErBwvB,EAAMt3B,QAAQ+2B,GAAiBsB,GAAMX,EAAYW,MAsD/Cb,CAA6BF,EAAOI,GAEpCA,EAAYJ,GAGjBpqB,EAAQqqB,aACXD,EAAQQ,EAAYR,EAAMgB,OAAO,IAAMhB,EAAMlsB,MAAM,IAzDjC,EAACksB,EAAOQ,KAC3BX,EAA0BrvB,UAAY,EACtCsvB,EAAuBtvB,UAAY,EAE5BwvB,EAAMt3B,QAAQm3B,GAA2B,CAACpxC,EAAGw2B,IAAeub,EAAYvb,KAC7Evc,QAAQo3B,GAAwBpoD,GAAK8oD,EAAY9oD,MAuD5CupD,CAAYjB,EAAOQ,GAAY,EAGvCxM,EAAOh3C,QAAU+iD,EAEjB/L,EAAOh3C,QAAP,QAAyB+iD,6GC7GzB,MAAM,SACJ5wD,EAAQ,SACRhT,EAAQ,SACRyc,GCIK,SAAqBzD,GAC1B,MAAMC,EAAe,CAACC,EAAWtiB,IAAUsiB,EAAUtiB,GAS/CuiB,GAA4B,IAAAC,eAAcJ,GAChD,SAASyD,EAASpD,GAIhB,QAHc,IAAAC,YAAWH,IACAF,GACFI,EAEzB,CAiCA,MAAO,CACLrZ,SA9BF,SAAkBpJ,GAChB,MAAM,SACJW,KACG8hB,GACDziB,EAIEmiB,EAAS0D,EAASpD,GAGxB,OAAoB,gBAAoB,WAAgB,KAAM9hB,EAASwhB,GACzE,EAmBE/F,SAVF,SAAkBpc,GAChB,MAAM2iB,GAAU,IAAAD,YAAWH,GACrBK,EAAU5iB,EAAMY,OAASyhB,EACzBQ,GAAU,IAAAC,cAAYL,GAAcG,EAAQD,EAASF,IAAa,CAACE,EAASC,IAClF,OAAoB,gBAAoBL,EAAanG,SAAU,CAC7Dxb,MAAOiiB,GACN7iB,EAAMW,SACX,EAIEklB,WAEJ,CDzDIhP,EAAY,KAAM,CACpBZ,KAAM,YERFmtB,EAAmB,CACvBn2B,MAAO,6BACPC,KAAM,8BAOKwe,EAAgB,CAACzV,EAAO,UAAYmtB,EAAiBntB,GCTrDotB,EACJ,OADIA,EAEH,OAFGA,EAGJ,OAHIA,EAIH,OAQGrsB,EAAa,CACxBtD,MAAO,CACLjE,MAAO4zB,EACP3zB,OAAQ2zB,GAEV1vB,OAAQ,CACNlE,MAAO4zB,EACP3zB,OAAQ2zB,GAEVzvB,MAAO,CACLnE,MAAO4zB,EACP3zB,OAAQ2zB,GAEVxvB,OAAQ,CACNpE,MAAO4zB,EACP3zB,OAAQ2zB,ICQCC,IArBO,QAAItsB,EAAWtD,QACd,QAAIsD,EAAWrD,SAChB,QAAIqD,EAAWpD,QACd,QAAIoD,EAAWnD,QAkBT,EACzBpE,QACAC,SACA+E,UAEIhF,GAASC,EACJ,CACLD,QACAC,UAGA+E,EACKuC,EAAWvC,QADpB,GCjCI8uB,GAAa,QAAI,CACrBrsB,QAAS,eACT2T,WAAY,EACZC,WAAY,EAEZ,QAAS,CDfTL,SAAU,SACVxkB,cAAe,OAMfu9B,KAAM,CACJC,UAAW,gBCSXjZ,SAAU,OACVkZ,UAAW,OACX3W,MAAO,4BACP0T,KAAM,8BACNxT,cAAe,YAMb0W,GAAgB,QAAI,CACxB,4CAA6C,CAE3C,QAAS,CACP3/B,OAAQ,eACR,uBAAwB,aAExB,yBAA0B,aAK1B4/B,GAAkC,QAAI,CAC1C,4CAA6C,CAE3C,QAAS,CAIP,uBAAwB,aAKxBC,GAAgC,QAAI,CACxC,4CAA6C,CAE3C,QAAS,CACP,yBAA0B,kBAanB7C,GAAoB,IAAA1a,OAAK,SAActmB,GAClD,MACE8jC,MAAOC,EAAK,oBACZC,EAAmB,aACnB5C,EAAe,eAAc,eAC7BC,EAAc,KACd5sB,EAAI,OACJhC,EAAM,MACN+E,EAAK,MACL/H,EAAK,OACLC,GACE1P,EACEikC,EAAaD,EAAsB,CACvCE,wBAAyB,CACvBC,OAAQH,IAER,CACFrjC,SAAUojC,GAAQ,QAAIA,EAAO,CAC3BtsB,KAAM,iBACH,MAEDT,EAAassB,EAAY,CAC7B7zB,QACAC,SACA+E,UAEI,KACJwB,GACE,IACJ,OAAO,QAAI,QAAQ,OAAS,CAC1B,cAAexD,EACfgF,KAAMD,EAAQ,WAAQlR,EACtB,aAAckR,QAAgBlR,EAC9B,eAAekR,QAAQlR,EACvBqC,MAAO,CACL,uBAAwBy4B,EACxB,yBAA0BC,GAAkB3V,EAAczV,KAE3DguB,EAAY,CACbnuB,IAAK,CAACytB,EAAYI,EAAevC,IAAiBC,GAAkBuC,EAAoD,gBAAnBvC,GAAoCwC,EAIzI7sB,IAEA,QAAI,CACFvH,MAAOuH,EAAWvH,MAClBC,OAAQsH,EAAWtH,OACnB,QAASsH,OAGf,IACA,kCCtHAiT,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAM8pC,EAAUnuE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC3F45B,oBAAqB,6UACpBhkC,IAEHmuE,EAAQ1rE,YAAc,UACtB,IAAI8hC,EAAW4pC,EACflkD,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAM+pC,EAAkBpuE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CACnG45B,oBAAqB,4xCACpBhkC,IAEHouE,EAAgB3rE,YAAc,kBAC9B,IAAI8hC,EAAW6pC,EACfnkD,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAMgqC,EAAyBruE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC1G45B,oBAAqB,wXACpBhkC,IAEHquE,EAAuB5rE,YAAc,yBACrC,IAAI8hC,EAAW8pC,EACfpkD,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAMiqC,EAAkBtuE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CACnG45B,oBAAqB,+RACpBhkC,IAEHsuE,EAAgB7rE,YAAc,kBAC9B,IAAI8hC,EAAW+pC,EACfrkD,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAMkqC,EAAkBvuE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CACnG45B,oBAAqB,4WACpBhkC,IAEHuuE,EAAgB9rE,YAAc,kBAC9B,IAAI8hC,EAAWgqC,EACftkD,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAMymC,EAAY9qE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC7F45B,oBAAqB,oSACpBhkC,IAEH8qE,EAAUroE,YAAc,YACxB,IAAI8hC,EAAWumC,EACf7gD,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAMmqC,EAAkBxuE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CACnG45B,oBAAqB,wRACpBhkC,IAEHwuE,EAAgB/rE,YAAc,kBAC9B,IAAI8hC,EAAWiqC,EACfvkD,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAMoqC,EAAYzuE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC7F45B,oBAAqB,8aACpBhkC,IAEHyuE,EAAUhsE,YAAc,YACxB,IAAI8hC,EAAWkqC,EACfxkD,EAAQ,EAAUsa,+BCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAMqqC,EAAW1uE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC5F45B,oBAAqB,6TACpBhkC,IAEH0uE,EAASjsE,YAAc,WACvB,IAAI8hC,EAAWmqC,EACfzkD,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAMsqC,EAAc3uE,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC/F45B,oBAAqB,o3BACpBhkC,IAEH2uE,EAAYlsE,YAAc,cAC1B,IAAI8hC,EAAWoqC,EACf1kD,EAAQ,EAAUsa,gCCdlBta,EAAQ,OAAU,EAElB,IAIgCvL,EAJ5B0lB,GAI4B1lB,EAJI,EAAQ,SAISA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnF2lB,EAAQ,EAAQ,MAIpB,MAAMgrB,EAAcrvD,GAAsBokC,EAAOrc,QAAQtd,cAAc45B,EAAMrD,KAAMn9B,OAAOuG,OAAO,CAC/F45B,oBAAqB,2XACpBhkC,IAEHqvD,EAAY5sD,YAAc,cAC1B,IAAI8hC,EAAW8qB,EACfplC,EAAQ,EAAUsa,gCCjBlB,IAAIsR,EAAyB,EAAQ,OAErC5rB,EAAQqT,YAAa,EACrBrT,EAAA,QAIA,SAAkB9iB,EAASgM,GACrBhM,EAAQ05D,UAAW15D,EAAQ05D,UAAUC,IAAI3tD,IAAqB,EAAI4tD,EAAUh5C,SAAS5gB,EAASgM,KAA6C,iBAAtBhM,EAAQgM,UAAwBhM,EAAQgM,UAAYhM,EAAQgM,UAAY,IAAMA,EAAehM,EAAQuD,aAAa,SAAUvD,EAAQgM,WAAahM,EAAQgM,UAAU6tD,SAAW,IAAM,IAAM7tD,GACrT,EAJA,IAAI4tD,EAAYlrB,EAAuB,EAAQ,QAM/CorB,EAAOh3C,QAAUA,EAAiB,oCCXlCA,EAAQqT,YAAa,EACrBrT,EAAA,QAEA,SAAkB9iB,EAASgM,GACzB,OAAIhM,EAAQ05D,YAAoB1tD,GAAahM,EAAQ05D,UAAUvzB,SAASn6B,IAA0H,KAAlG,KAAOhM,EAAQgM,UAAU6tD,SAAW75D,EAAQgM,WAAa,KAAKuI,QAAQ,IAAMvI,EAAY,IAC1L,EAEA8tD,EAAOh3C,QAAUA,EAAiB,gCCPlC,SAASi3C,EAAiBC,EAAWC,GACnC,OAAOD,EAAUxrB,QAAQ,IAAI0rB,OAAO,UAAYD,EAAgB,YAAa,KAAM,MAAMzrB,QAAQ,OAAQ,KAAKA,QAAQ,aAAc,GACtI,CAEAsrB,EAAOh3C,QAAU,SAAqB9iB,EAASgM,GACzChM,EAAQ05D,UAAW15D,EAAQ05D,UAAUS,OAAOnuD,GAAiD,iBAAtBhM,EAAQgM,UAAwBhM,EAAQgM,UAAY+tD,EAAiB/5D,EAAQgM,UAAWA,GAAgBhM,EAAQuD,aAAa,QAASw2D,EAAiB/5D,EAAQgM,WAAahM,EAAQgM,UAAU6tD,SAAW,GAAI7tD,GAC1R,8BCCA,GAAG,mBAAoBsR,QAAQA,OAAOmqD,IAAI,CAAC,IAAIn2D,EAAEgM,OAAOmqD,IAAMn2D,EAAE,iBAAmBA,EAAE,gBAAkBA,EAAE,kBAAoBA,EAAE,qBAAuBA,EAAE,kBAAoBA,EAAE,kBAAoBA,EAAE,iBAAmBA,EAAE,qBAAuBA,EAAE,kBAAoBA,EAAE,uBAAyBA,EAAE,cAAgBA,EAAE,cAAgBA,EAAE,eAAiBA,EAAE,sBAAwBA,EAAE,qBAAuBA,EAAE,0BAA4BA,EAAE,sBAAsB,gCCN/b,uCCDFwR,EAAQqT,YAAa,EACrBrT,EAAA,aAAkB,EAgBlB,SAAiCvL,GAAO,GAAIA,GAAOA,EAAI4e,WAAc,OAAO5e,EAAc,IAAIG,EAAS,CAAC,EAAG,GAAW,MAAPH,EAAe,IAAK,IAAIhC,KAAOgC,EAAO,GAAI7a,OAAOhC,UAAUuJ,eAAe7J,KAAKmd,EAAKhC,GAAM,CAAE,IAAIod,EAAOj2B,OAAOuhB,gBAAkBvhB,OAAOm2B,yBAA2Bn2B,OAAOm2B,yBAAyBtb,EAAKhC,GAAO,CAAC,EAAOod,EAAK6D,KAAO7D,EAAK+D,IAAOh6B,OAAOuhB,eAAevG,EAAQnC,EAAKod,GAAgBjb,EAAOnC,GAAOgC,EAAIhC,EAAQ,CAAMmC,EAAOkJ,QAAUrJ,CAAsB,CAdvc6iD,CAAwB,EAAQ,QAAhD,IAEIC,EAAY3rB,EAAuB,EAAQ,QAE3C4rB,EAAe5rB,EAAuB,EAAQ,QAE9CzR,EAASyR,EAAuB,EAAQ,QAExC6rB,EAAc7rB,EAAuB,EAAQ,QAIjD,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAI9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAN3S,EAAQ,OAUzB,IAAI88D,EAAW,SAAkBt8D,EAAMu8D,GACrC,OAAOv8D,GAAQu8D,GAAWA,EAAQ73D,MAAM,KAAK5G,SAAQ,SAAU42B,GAC7D,OAAO,EAAIynC,EAAUz5C,SAAS1iB,EAAM00B,EACtC,GACF,EAEI8nC,EAAc,SAAqBx8D,EAAMu8D,GAC3C,OAAOv8D,GAAQu8D,GAAWA,EAAQ73D,MAAM,KAAK5G,SAAQ,SAAU42B,GAC7D,OAAO,EAAI0nC,EAAa15C,SAAS1iB,EAAM00B,EACzC,GACF,EA+DI+nC,EAEJ,SAAU17D,GA7EV,IAAwB27D,EAAUC,EAgFhC,SAASF,IAGP,IAFA,IAAIxgE,EAEKiE,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAkGzB,OA/FAnE,EAAQ8E,EAAiB7E,KAAKwD,MAAMqB,EAAkB,CAAClG,MAAMmG,OAAO1B,KAAUzE,MAExEi+D,QAAU,SAAU94D,EAAM48D,GAC9B,IACI9uD,EADsB7R,EAAM4gE,cAAcD,EAAY,SAAW,SACjC9uD,UAEpC7R,EAAM6gE,cAAc98D,EAAM,QAE1Bs8D,EAASt8D,EAAM8N,GAEX7R,EAAMtB,MAAMm+D,SACd78D,EAAMtB,MAAMm+D,QAAQ94D,EAAM48D,EAE9B,EAEA3gE,EAAM8gE,WAAa,SAAU/8D,EAAM48D,GACjC,IACII,EADuB/gE,EAAM4gE,cAAcD,EAAY,SAAW,SAC3BI,gBAE3C/gE,EAAMghE,kBAAkBj9D,EAAMg9D,GAE1B/gE,EAAMtB,MAAMoiE,YACd9gE,EAAMtB,MAAMoiE,WAAW/8D,EAAM48D,EAEjC,EAEA3gE,EAAM88D,UAAY,SAAU/4D,EAAM48D,GAChC,IAAIM,EAAkBjhE,EAAM4gE,cAAc,UAAUM,cAEhDC,EAAiBnhE,EAAM4gE,cAAc,SAASM,cAE9CA,EAAgBP,EAAYM,EAAkB,IAAME,EAAiBA,EAEzEnhE,EAAM6gE,cAAc98D,EAAM48D,EAAY,SAAW,SAEjDN,EAASt8D,EAAMm9D,GAEXlhE,EAAMtB,MAAMo+D,WACd98D,EAAMtB,MAAMo+D,UAAU/4D,EAAM48D,EAEhC,EAEA3gE,EAAM+8D,OAAS,SAAUh5D,GACvB,IACI8N,EADuB7R,EAAM4gE,cAAc,QACV/uD,UAErC7R,EAAM6gE,cAAc98D,EAAM,UAE1B/D,EAAM6gE,cAAc98D,EAAM,SAE1Bs8D,EAASt8D,EAAM8N,GAEX7R,EAAMtB,MAAMq+D,QACd/8D,EAAMtB,MAAMq+D,OAAOh5D,EAEvB,EAEA/D,EAAMohE,UAAY,SAAUr9D,GAC1B,IACIg9D,EADuB/gE,EAAM4gE,cAAc,QACJG,gBAE3C/gE,EAAMghE,kBAAkBj9D,EAAMg9D,GAE1B/gE,EAAMtB,MAAM0iE,WACdphE,EAAMtB,MAAM0iE,UAAUr9D,EAE1B,EAEA/D,EAAM4M,SAAW,SAAU7I,GACzB,IACIm9D,EADuBlhE,EAAM4gE,cAAc,QACNM,cAEzClhE,EAAM6gE,cAAc98D,EAAM,QAE1Bs8D,EAASt8D,EAAMm9D,GAEXlhE,EAAMtB,MAAMkO,UACd5M,EAAMtB,MAAMkO,SAAS7I,EAEzB,EAEA/D,EAAM4gE,cAAgB,SAAUn4C,GAC9B,IAAI44C,EAAarhE,EAAMtB,MAAM2iE,WACzBC,EAA2C,iBAAfD,EAE5BxvD,EAAYyvD,GADHA,GAAsBD,EAAaA,EAAa,IAAM,IACrB54C,EAAO44C,EAAW54C,GAGhE,MAAO,CACL5W,UAAWA,EACXkvD,gBAJoBO,EAAqBzvD,EAAY,UAAYwvD,EAAW54C,EAAO,UAKnFy4C,cAJkBI,EAAqBzvD,EAAY,QAAUwvD,EAAW54C,EAAO,QAMnF,EAEOzoB,CACT,CAvLgC0gE,EA8EF57D,GA9ER27D,EA8EPD,GA9EwCjgE,UAAYgC,OAAOigB,OAAOk+C,EAAWngE,WAAYkgE,EAASlgE,UAAU9B,YAAcgiE,EAAUA,EAASp+C,UAAYq+C,EAyLxK,IAAI/5D,EAAS65D,EAAcjgE,UAuC3B,OArCAoG,EAAOk6D,cAAgB,SAAuB98D,EAAM0kB,GAClD,IAAI84C,EAAuB3iE,KAAKgiE,cAAcn4C,GAC1C5W,EAAY0vD,EAAqB1vD,UACjCkvD,EAAkBQ,EAAqBR,gBACvCG,EAAgBK,EAAqBL,cAEzCrvD,GAAa0uD,EAAYx8D,EAAM8N,GAC/BkvD,GAAmBR,EAAYx8D,EAAMg9D,GACrCG,GAAiBX,EAAYx8D,EAAMm9D,EACrC,EAEAv6D,EAAOq6D,kBAAoB,SAA2Bj9D,EAAM8N,GAGtDA,IAEF9N,GAAQA,EAAK69C,UAGbye,EAASt8D,EAAM8N,GAEnB,EAEAlL,EAAOvH,OAAS,WACd,IAAIV,EAAQ+1C,EAAS,CAAC,EAAG71C,KAAKF,OAG9B,cADOA,EAAM2iE,WACNv+B,EAAOrc,QAAQtd,cAAci3D,EAAY35C,QAASguB,EAAS,CAAC,EAAG/1C,EAAO,CAC3Em+D,QAASj+D,KAAKi+D,QACdC,UAAWl+D,KAAKk+D,UAChBgE,WAAYliE,KAAKkiE,WACjB/D,OAAQn+D,KAAKm+D,OACbqE,UAAWxiE,KAAKwiE,UAChBx0D,SAAUhO,KAAKgO,WAEnB,EAEO4zD,CACT,CApJA,CAoJE19B,EAAOrc,QAAQjoB,WAEjBgiE,EAAc78D,aAAe,CAC3B09D,WAAY,IAEdb,EAAcvgB,UA2GT,CAAC,EACN,IAAIhd,EAAWu9B,EACf73C,EAAA,QAAkBsa,EAClB08B,EAAOh3C,QAAUA,EAAiB,qCCzWlCA,EAAQqT,YAAa,EACrBrT,EAAA,aAAkB,EAED4rB,EAAuB,EAAQ,QAAhD,IAEIzR,EAASyR,EAAuB,EAAQ,QAExCitB,EAAY,EAAQ,OAEpBC,EAAmBltB,EAAuB,EAAQ,QAEtD,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAiB9F,IAAIskD,EAEJ,SAAU58D,GAfV,IAAwB27D,EAAUC,EAkBhC,SAASgB,IAGP,IAFA,IAAI1hE,EAEKiE,EAAOV,UAAUX,OAAQwwC,EAAQ,IAAIlvC,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAChFivC,EAAMjvC,GAAQZ,UAAUY,GAqD1B,OAlDAnE,EAAQ8E,EAAiB7E,KAAKwD,MAAMqB,EAAkB,CAAClG,MAAMmG,OAAOquC,KAAWx0C,MAEzE+iE,YAAc,WAClB,IAAK,IAAIluB,EAAQlwC,UAAUX,OAAQS,EAAO,IAAIa,MAAMuvC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFrwC,EAAKqwC,GAASnwC,UAAUmwC,GAG1B,OAAO1zC,EAAM4hE,gBAAgB,UAAW,EAAGv+D,EAC7C,EAEArD,EAAM6hE,eAAiB,WACrB,IAAK,IAAIluB,EAAQpwC,UAAUX,OAAQS,EAAO,IAAIa,MAAMyvC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFvwC,EAAKuwC,GAASrwC,UAAUqwC,GAG1B,OAAO5zC,EAAM4hE,gBAAgB,aAAc,EAAGv+D,EAChD,EAEArD,EAAM8hE,cAAgB,WACpB,IAAK,IAAIC,EAAQx+D,UAAUX,OAAQS,EAAO,IAAIa,MAAM69D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF3+D,EAAK2+D,GAASz+D,UAAUy+D,GAG1B,OAAOhiE,EAAM4hE,gBAAgB,YAAa,EAAGv+D,EAC/C,EAEArD,EAAMiiE,WAAa,WACjB,IAAK,IAAIC,EAAQ3+D,UAAUX,OAAQS,EAAO,IAAIa,MAAMg+D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpF9+D,EAAK8+D,GAAS5+D,UAAU4+D,GAG1B,OAAOniE,EAAM4hE,gBAAgB,SAAU,EAAGv+D,EAC5C,EAEArD,EAAMoiE,cAAgB,WACpB,IAAK,IAAIC,EAAQ9+D,UAAUX,OAAQS,EAAO,IAAIa,MAAMm+D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFj/D,EAAKi/D,GAAS/+D,UAAU++D,GAG1B,OAAOtiE,EAAM4hE,gBAAgB,YAAa,EAAGv+D,EAC/C,EAEArD,EAAMk3D,aAAe,WACnB,IAAK,IAAIqL,EAAQh/D,UAAUX,OAAQS,EAAO,IAAIa,MAAMq+D,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IACpFn/D,EAAKm/D,GAASj/D,UAAUi/D,GAG1B,OAAOxiE,EAAM4hE,gBAAgB,WAAY,EAAGv+D,EAC9C,EAEOrD,CACT,CA5EgC0gE,EAgBE57D,GAhBZ27D,EAgBPiB,GAhBwCnhE,UAAYgC,OAAOigB,OAAOk+C,EAAWngE,WAAYkgE,EAASlgE,UAAU9B,YAAcgiE,EAAUA,EAASp+C,UAAYq+C,EA8ExK,IAAI/5D,EAAS+6D,EAAkBnhE,UA0C/B,OAxCAoG,EAAOi7D,gBAAkB,SAAyB9/D,EAAS2gE,EAAKC,GAC9D,IAAIC,EAEAtjE,EAAWT,KAAKF,MAAMW,SAEtB8uD,EAAQrrB,EAAOrc,QAAQjmB,SAASo2C,QAAQv3C,GAAUojE,GAElDtU,EAAMzvD,MAAMoD,KAAW6gE,EAAexU,EAAMzvD,OAAOoD,GAAS2B,MAAMk/D,EAAcD,GAChF9jE,KAAKF,MAAMoD,IAAUlD,KAAKF,MAAMoD,IAAS,EAAI0/D,EAAU5wB,aAAahyC,MAC1E,EAEA+H,EAAOvH,OAAS,WACd,IAAI8mC,EAActnC,KAAKF,MACnBW,EAAW6mC,EAAY7mC,SACvByN,EAASo5B,EAAYr5B,GACrBnO,EAjGR,SAAuCgvC,EAAQk1B,GAAY,GAAc,MAAVl1B,EAAgB,MAAO,CAAC,EAAG,IAA2DtyB,EAAKwH,EAA5DvT,EAAS,CAAC,EAAOwzD,EAAatgE,OAAOC,KAAKkrC,GAAqB,IAAK9qB,EAAI,EAAGA,EAAIigD,EAAWjgE,OAAQggB,IAAOxH,EAAMynD,EAAWjgD,GAAQggD,EAASxoD,QAAQgB,IAAQ,IAAa/L,EAAO+L,GAAOsyB,EAAOtyB,IAAQ,OAAO/L,CAAQ,CAiGlSyzD,CAA8B58B,EAAa,CAAC,WAAY,OAEhE68B,EAAwBjgC,EAAOrc,QAAQjmB,SAASo2C,QAAQv3C,GACxD2jE,EAAQD,EAAsB,GAC9BE,EAASF,EAAsB,GAQnC,cANOrkE,EAAMm+D,eACNn+D,EAAMoiE,kBACNpiE,EAAMo+D,iBACNp+D,EAAMq+D,cACNr+D,EAAM0iE,iBACN1iE,EAAMkO,SACNk2B,EAAOrc,QAAQtd,cAAcs4D,EAAiBh7C,QAAS/nB,EAAOoO,EAASg2B,EAAOrc,QAAQuwC,aAAagM,EAAO,CAC/G5nD,IAAK,QACLyhD,QAASj+D,KAAK+iE,YACdb,WAAYliE,KAAKijE,eACjB/E,UAAWl+D,KAAKkjE,gBACbh/B,EAAOrc,QAAQuwC,aAAaiM,EAAQ,CACvC7nD,IAAK,SACLyhD,QAASj+D,KAAKqjE,WACdnB,WAAYliE,KAAKwjE,cACjBtF,UAAWl+D,KAAKs4D,eAEpB,EAEOwK,CACT,CA1GA,CA0GE5+B,EAAOrc,QAAQjoB,WAEjBkjE,EAAkBzhB,UAMd,CAAC,EACL,IAAIhd,EAAWy+B,EACf/4C,EAAA,QAAkBsa,EAClB08B,EAAOh3C,QAAUA,EAAiB,sCCnJlCA,EAAQqT,YAAa,EACrBrT,EAAA,QAAkBA,EAAQu6C,QAAUv6C,EAAQw6C,QAAUx6C,EAAQy6C,SAAWz6C,EAAQ06C,OAAS16C,EAAQ26C,eAAY,EAE9G,IAAIC,EAYJ,SAAiCnmD,GAAO,GAAIA,GAAOA,EAAI4e,WAAc,OAAO5e,EAAc,IAAIG,EAAS,CAAC,EAAG,GAAW,MAAPH,EAAe,IAAK,IAAIhC,KAAOgC,EAAO,GAAI7a,OAAOhC,UAAUuJ,eAAe7J,KAAKmd,EAAKhC,GAAM,CAAE,IAAIod,EAAOj2B,OAAOuhB,gBAAkBvhB,OAAOm2B,yBAA2Bn2B,OAAOm2B,yBAAyBtb,EAAKhC,GAAO,CAAC,EAAOod,EAAK6D,KAAO7D,EAAK+D,IAAOh6B,OAAOuhB,eAAevG,EAAQnC,EAAKod,GAAgBjb,EAAOnC,GAAOgC,EAAIhC,EAAQ,CAA4B,OAAtBmC,EAAOkJ,QAAUrJ,EAAYG,CAAU,CAZvc0iD,CAAwB,EAAQ,QAE5Cn9B,EAASyR,EAAuB,EAAQ,QAExCitB,EAAYjtB,EAAuB,EAAQ,QAE3CivB,EAAyB,EAAQ,OAIrC,SAASjvB,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAF7E,EAAQ,OAUzB,IAAIkmD,EAAY,YAChB36C,EAAQ26C,UAAYA,EACpB,IAAID,EAAS,SACb16C,EAAQ06C,OAASA,EACjB,IAAID,EAAW,WACfz6C,EAAQy6C,SAAWA,EACnB,IAAID,EAAU,UACdx6C,EAAQw6C,QAAUA,EAClB,IAAID,EAAU,UA2Fdv6C,EAAQu6C,QAAUA,EAElB,IAAIl2D,EAEJ,SAAUlI,GAzGV,IAAwB27D,EAAUC,EA4GhC,SAAS1zD,EAAWtO,EAAOM,GACzB,IAAIgB,EAEJA,EAAQ8E,EAAiB7E,KAAKrB,KAAMF,EAAOM,IAAYJ,KACvD,IAGI6kE,EAHAC,EAAc1kE,EAAQ2kE,gBAEtBz2D,EAASw2D,IAAgBA,EAAYvM,WAAaz4D,EAAM2N,MAAQ3N,EAAMwO,OAuB1E,OArBAlN,EAAM4jE,aAAe,KAEjBllE,EAAMmO,GACJK,GACFu2D,EAAgBJ,EAChBrjE,EAAM4jE,aAAeR,GAErBK,EAAgBN,EAIhBM,EADE/kE,EAAMuO,eAAiBvO,EAAM65D,aACf+K,EAEAD,EAIpBrjE,EAAMM,MAAQ,CACZqV,OAAQ8tD,GAEVzjE,EAAM6jE,aAAe,KACd7jE,CACT,CA1IgC0gE,EA0GL57D,GA1GL27D,EA0GPzzD,GA1GwCzM,UAAYgC,OAAOigB,OAAOk+C,EAAWngE,WAAYkgE,EAASlgE,UAAU9B,YAAcgiE,EAAUA,EAASp+C,UAAYq+C,EA4IxK,IAAI/5D,EAASqG,EAAWzM,UAqQxB,OAnQAoG,EAAOzG,gBAAkB,WACvB,MAAO,CACLyjE,gBAAiB,KAGrB,EAEA32D,EAAWsqD,yBAA2B,SAAkCzvD,EAAMf,GAG5E,OAFae,EAAKgF,IAEJ/F,EAAU6O,SAAW2tD,EAC1B,CACL3tD,OAAQ0tD,GAIL,IACT,EAkBA18D,EAAO4E,kBAAoB,WACzB3M,KAAKklE,cAAa,EAAMllE,KAAKglE,aAC/B,EAEAj9D,EAAOC,mBAAqB,SAA4BC,GACtD,IAAIk9D,EAAa,KAEjB,GAAIl9D,IAAcjI,KAAKF,MAAO,CAC5B,IAAIiX,EAAS/W,KAAK0B,MAAMqV,OAEpB/W,KAAKF,MAAMmO,GACT8I,IAAWytD,GAAYztD,IAAWwtD,IACpCY,EAAaX,GAGXztD,IAAWytD,GAAYztD,IAAWwtD,IACpCY,EAAab,EAGnB,CAEAtkE,KAAKklE,cAAa,EAAOC,EAC3B,EAEAp9D,EAAOM,qBAAuB,WAC5BrI,KAAKolE,oBACP,EAEAr9D,EAAOs9D,YAAc,WACnB,IACIl3D,EAAMV,EAAOa,EADbf,EAAUvN,KAAKF,MAAMyN,QAWzB,OATAY,EAAOV,EAAQa,EAASf,EAET,MAAXA,GAAsC,iBAAZA,IAC5BY,EAAOZ,EAAQY,KACfV,EAAQF,EAAQE,MAEhBa,OAA4BlI,IAAnBmH,EAAQe,OAAuBf,EAAQe,OAASb,GAGpD,CACLU,KAAMA,EACNV,MAAOA,EACPa,OAAQA,EAEZ,EAEAvG,EAAOm9D,aAAe,SAAsBI,EAAUH,GAKpD,QAJiB,IAAbG,IACFA,GAAW,GAGM,OAAfH,EAAqB,CAEvBnlE,KAAKolE,qBAEL,IAAIjgE,EAAOy9D,EAAU/6C,QAAQmqB,YAAYhyC,MAErCmlE,IAAeX,EACjBxkE,KAAKulE,aAAapgE,EAAMmgE,GAExBtlE,KAAKwlE,YAAYrgE,EAErB,MAAWnF,KAAKF,MAAMuO,eAAiBrO,KAAK0B,MAAMqV,SAAW0tD,GAC3DzkE,KAAK4G,SAAS,CACZmQ,OAAQ2tD,GAGd,EAEA38D,EAAOw9D,aAAe,SAAsBpgE,EAAMmgE,GAChD,IAAI38B,EAAS3oC,KAETyN,EAAQzN,KAAKF,MAAM2N,MACnBs0D,EAAY/hE,KAAKI,QAAQ2kE,gBAAkB/kE,KAAKI,QAAQ2kE,gBAAgBxM,WAAa+M,EACrFnU,EAAWnxD,KAAKqlE,cAChBI,EAAe1D,EAAY5Q,EAAS7iD,OAAS6iD,EAAS1jD,MAGrD63D,GAAa73D,GASlBzN,KAAKF,MAAMm+D,QAAQ94D,EAAM48D,GACzB/hE,KAAK0lE,aAAa,CAChB3uD,OAAQytD,IACP,WACD77B,EAAO7oC,MAAMoiE,WAAW/8D,EAAM48D,GAE9Bp5B,EAAOg9B,gBAAgBxgE,EAAMsgE,GAAc,WACzC98B,EAAO+8B,aAAa,CAClB3uD,OAAQwtD,IACP,WACD57B,EAAO7oC,MAAMo+D,UAAU/4D,EAAM48D,EAC/B,GACF,GACF,KArBE/hE,KAAK0lE,aAAa,CAChB3uD,OAAQwtD,IACP,WACD57B,EAAO7oC,MAAMo+D,UAAU/4D,EACzB,GAkBJ,EAEA4C,EAAOy9D,YAAc,SAAqBrgE,GACxC,IAAIygE,EAAS5lE,KAETmO,EAAOnO,KAAKF,MAAMqO,KAClBgjD,EAAWnxD,KAAKqlE,cAEfl3D,GASLnO,KAAKF,MAAMq+D,OAAOh5D,GAClBnF,KAAK0lE,aAAa,CAChB3uD,OAAQutD,IACP,WACDsB,EAAO9lE,MAAM0iE,UAAUr9D,GAEvBygE,EAAOD,gBAAgBxgE,EAAMgsD,EAAShjD,MAAM,WAC1Cy3D,EAAOF,aAAa,CAClB3uD,OAAQ0tD,IACP,WACDmB,EAAO9lE,MAAMkO,SAAS7I,EACxB,GACF,GACF,KArBEnF,KAAK0lE,aAAa,CAChB3uD,OAAQ0tD,IACP,WACDmB,EAAO9lE,MAAMkO,SAAS7I,EACxB,GAkBJ,EAEA4C,EAAOq9D,mBAAqB,WACA,OAAtBplE,KAAKilE,eACPjlE,KAAKilE,aAAa5zD,SAClBrR,KAAKilE,aAAe,KAExB,EAEAl9D,EAAO29D,aAAe,SAAsBG,EAAWxuB,GAIrDA,EAAWr3C,KAAK8lE,gBAAgBzuB,GAChCr3C,KAAK4G,SAASi/D,EAAWxuB,EAC3B,EAEAtvC,EAAO+9D,gBAAkB,SAAyBzuB,GAChD,IAAI0uB,EAAS/lE,KAETouB,GAAS,EAcb,OAZApuB,KAAKilE,aAAe,SAAU5kE,GACxB+tB,IACFA,GAAS,EACT23C,EAAOd,aAAe,KACtB5tB,EAASh3C,GAEb,EAEAL,KAAKilE,aAAa5zD,OAAS,WACzB+c,GAAS,CACX,EAEOpuB,KAAKilE,YACd,EAEAl9D,EAAO49D,gBAAkB,SAAyBxgE,EAAMoI,EAASrK,GAC/DlD,KAAK8lE,gBAAgB5iE,GACrB,IAAI8iE,EAA0C,MAAXz4D,IAAoBvN,KAAKF,MAAMk+D,eAE7D74D,IAAQ6gE,GAKThmE,KAAKF,MAAMk+D,gBACbh+D,KAAKF,MAAMk+D,eAAe74D,EAAMnF,KAAKilE,cAGxB,MAAX13D,GACFgxC,WAAWv+C,KAAKilE,aAAc13D,IAT9BgxC,WAAWv+C,KAAKilE,aAAc,EAWlC,EAEAl9D,EAAOvH,OAAS,WACd,IAAIuW,EAAS/W,KAAK0B,MAAMqV,OAExB,GAAIA,IAAW2tD,EACb,OAAO,KAGT,IAAIp9B,EAActnC,KAAKF,MACnBW,EAAW6mC,EAAY7mC,SACvBwlE,EAxXR,SAAuCn3B,EAAQk1B,GAAY,GAAc,MAAVl1B,EAAgB,MAAO,CAAC,EAAG,IAA2DtyB,EAAKwH,EAA5DvT,EAAS,CAAC,EAAOwzD,EAAatgE,OAAOC,KAAKkrC,GAAqB,IAAK9qB,EAAI,EAAGA,EAAIigD,EAAWjgE,OAAQggB,IAAOxH,EAAMynD,EAAWjgD,GAAQggD,EAASxoD,QAAQgB,IAAQ,IAAa/L,EAAO+L,GAAOsyB,EAAOtyB,IAAQ,OAAO/L,CAAQ,CAwX7RyzD,CAA8B58B,EAAa,CAAC,aAkB7D,UAfO2+B,EAAWh4D,UACXg4D,EAAWtM,oBACXsM,EAAW53D,qBACX43D,EAAW33D,cACX23D,EAAWx4D,aACXw4D,EAAW93D,YACX83D,EAAW14D,eACX04D,EAAWjI,sBACXiI,EAAWhI,eACXgI,EAAW/D,kBACX+D,EAAW/H,iBACX+H,EAAW9H,cACX8H,EAAWzD,iBACXyD,EAAWj4D,SAEM,mBAAbvN,EACT,OAAOA,EAASsW,EAAQkvD,GAG1B,IAAI1W,EAAQrrB,EAAOrc,QAAQjmB,SAASskE,KAAKzlE,GAEzC,OAAOyjC,EAAOrc,QAAQuwC,aAAa7I,EAAO0W,EAC5C,EAEO73D,CACT,CAzSA,CAySE81B,EAAOrc,QAAQjoB,WAiKjB,SAASF,IAAQ,CA/JjB0O,EAAWvM,aAAe,CACxBkjE,gBAAiBJ,EAAU5L,QAE7B3qD,EAAWtM,kBAAoB,CAC7BijE,gBAAiB,WAA4B,GAE/C32D,EAAWizC,UAuJP,CAAC,EAILjzC,EAAWrJ,aAAe,CACxBkJ,IAAI,EACJ0rD,cAAc,EACdtrD,eAAe,EACfC,QAAQ,EACRb,OAAO,EACPU,MAAM,EACN8vD,QAASv+D,EACTwiE,WAAYxiE,EACZw+D,UAAWx+D,EACXy+D,OAAQz+D,EACR8iE,UAAW9iE,EACXsO,SAAUtO,GAEZ0O,EAAWs2D,UAAY,EACvBt2D,EAAWq2D,OAAS,EACpBr2D,EAAWo2D,SAAW,EACtBp2D,EAAWm2D,QAAU,EACrBn2D,EAAWk2D,QAAU,EAErB,IAAIjgC,GAAW,EAAIugC,EAAuBuB,UAAU/3D,GAEpD2b,EAAA,QAAkBsa,gCC9lBlBta,EAAQqT,YAAa,EACrBrT,EAAA,aAAkB,EAElB,IAAIq8C,EAAazwB,EAAuB,EAAQ,QAE5CzR,EAASyR,EAAuB,EAAQ,QAExCivB,EAAyB,EAAQ,OAEjCyB,EAAgB,EAAQ,OAE5B,SAAS1wB,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAI9F,SAASq3B,IAA2Q,OAA9PA,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAAUolC,EAAShxC,MAAM7E,KAAM2E,UAAY,CAI5T,SAAS2hE,EAAuBC,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAIC,eAAe,6DAAgE,OAAOD,CAAM,CAErK,IAAInf,EAASzjD,OAAOyjD,QAAU,SAAU5oC,GACtC,OAAO7a,OAAOC,KAAK4a,GAAK00B,KAAI,SAAUjX,GACpC,OAAOzd,EAAIyd,EACb,GACF,EAwBIo8B,EAEJ,SAAUnyD,GAlCV,IAAwB27D,EAAUC,EAqChC,SAASzJ,EAAgBv4D,EAAOM,GAC9B,IAAIgB,EAIAk3D,GAFJl3D,EAAQ8E,EAAiB7E,KAAKrB,KAAMF,EAAOM,IAAYJ,MAE9Bs4D,aAAat3B,KAAKslC,EAAuBA,EAAuBllE,KAOzF,OAJAA,EAAMM,MAAQ,CACZ42D,aAAcA,EACdE,aAAa,GAERp3D,CACT,CAlDgC0gE,EAmCA57D,GAnCV27D,EAmCPxJ,GAnCwC12D,UAAYgC,OAAOigB,OAAOk+C,EAAWngE,WAAYkgE,EAASlgE,UAAU9B,YAAcgiE,EAAUA,EAASp+C,UAAYq+C,EAoDxK,IAAI/5D,EAASswD,EAAgB12D,UAmE7B,OAjEAoG,EAAOzG,gBAAkB,WACvB,MAAO,CACLyjE,gBAAiB,CACfxM,YAAav4D,KAAKymE,UAGxB,EAEA1+D,EAAO4E,kBAAoB,WACzB3M,KAAKymE,UAAW,EAChBzmE,KAAKy4D,SAAU,CACjB,EAEA1wD,EAAOM,qBAAuB,WAC5BrI,KAAKy4D,SAAU,CACjB,EAEAJ,EAAgBK,yBAA2B,SAAkCruB,EAAWphC,GACtF,IAAIouD,EAAmBpuD,EAAKxI,SACxB63D,EAAervD,EAAKqvD,aAExB,MAAO,CACL73D,SAFgBwI,EAAKuvD,aAEG,EAAI6N,EAAcK,wBAAwBr8B,EAAWiuB,IAAgB,EAAI+N,EAAcjP,qBAAqB/sB,EAAWgtB,EAAkBiB,GACjKE,aAAa,EAEjB,EAEAzwD,EAAOuwD,aAAe,SAAsB/I,EAAOpqD,GACjD,IAAIwzD,GAAsB,EAAI0N,EAAcvP,iBAAiB92D,KAAKF,MAAMW,UACpE8uD,EAAM/yC,OAAOm8C,IAEbpJ,EAAMzvD,MAAMkO,UACduhD,EAAMzvD,MAAMkO,SAAS7I,GAGnBnF,KAAKy4D,SACPz4D,KAAK4G,UAAS,SAAUlF,GACtB,IAAIjB,EAAWo1C,EAAS,CAAC,EAAGn0C,EAAMjB,UAGlC,cADOA,EAAS8uD,EAAM/yC,KACf,CACL/b,SAAUA,EAEd,IAEJ,EAEAsH,EAAOvH,OAAS,WACd,IAAI8mC,EAActnC,KAAKF,MACnBF,EAAY0nC,EAAYn1B,UACxBymD,EAAetxB,EAAYsxB,aAC3B94D,EA7GR,SAAuCgvC,EAAQk1B,GAAY,GAAc,MAAVl1B,EAAgB,MAAO,CAAC,EAAG,IAA2DtyB,EAAKwH,EAA5DvT,EAAS,CAAC,EAAOwzD,EAAatgE,OAAOC,KAAKkrC,GAAqB,IAAK9qB,EAAI,EAAGA,EAAIigD,EAAWjgE,OAAQggB,IAAOxH,EAAMynD,EAAWjgD,GAAQggD,EAASxoD,QAAQgB,IAAQ,IAAa/L,EAAO+L,GAAOsyB,EAAOtyB,IAAQ,OAAO/L,CAAQ,CA6GlSyzD,CAA8B58B,EAAa,CAAC,YAAa,iBAEjE7mC,EAAW2mD,EAAOpnD,KAAK0B,MAAMjB,UAAUyyC,IAAI0lB,GAK/C,cAJO94D,EAAMwO,cACNxO,EAAM2N,aACN3N,EAAMqO,KAEK,OAAdvO,EACKa,EAGFyjC,EAAOrc,QAAQtd,cAAc3K,EAAWE,EAAOW,EACxD,EAEO43D,CACT,CAtFA,CAsFEn0B,EAAOrc,QAAQjoB,WAEjBy4D,EAAgBv2D,kBAAoB,CAClCijE,gBAAiBqB,EAAWv+C,QAAQkxC,OAAOz2B,YAE7C+1B,EAAgBhX,UAyDZ,CAAC,EACLgX,EAAgBtzD,aA7KG,CACjBoN,UAAW,MACXymD,aAAc,SAAsBrJ,GAClC,OAAOA,CACT,GA2KF,IAAIlrB,GAAW,EAAIugC,EAAuBuB,UAAU9N,GAEpDtuC,EAAA,QAAkBsa,EAClB08B,EAAOh3C,QAAUA,EAAiB,qCC7MlC,IAAI48C,EAAiBhxB,EAAuB,EAAQ,QAEhDixB,EAAqBjxB,EAAuB,EAAQ,OAEpDktB,EAAmBltB,EAAuB,EAAQ,QAElD6rB,EAAc7rB,EAAuB,EAAQ,QAEjD,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9FuiD,EAAOh3C,QAAU,CACf3b,WAAYozD,EAAY35C,QACxBwwC,gBAAiBwK,EAAiBh7C,QAClCi7C,kBAAmB8D,EAAmB/+C,QACtC+5C,cAAe+E,EAAe9+C,uCCdhCkC,EAAQqT,YAAa,EACrBrT,EAAQ+sC,gBAAkBA,EAC1B/sC,EAAQguC,mBAAqBA,EAC7BhuC,EAAQ28C,uBA8FR,SAAgC5mE,EAAOkO,GACrC,OAAO8oD,EAAgBh3D,EAAMW,UAAU,SAAU8uD,GAC/C,OAAO,EAAIrrB,EAAOk0B,cAAc7I,EAAO,CACrCvhD,SAAUA,EAASgzB,KAAK,KAAMuuB,GAC9BthD,IAAI,EACJK,OAAQ4oD,EAAQ3H,EAAO,SAAUzvD,GACjC2N,MAAOypD,EAAQ3H,EAAO,QAASzvD,GAC/BqO,KAAM+oD,EAAQ3H,EAAO,OAAQzvD,IAEjC,GACF,EAvGAiqB,EAAQqtC,oBAyGR,SAA6B/sB,EAAWgtB,EAAkBrpD,GACxD,IAAIspD,EAAmBR,EAAgBzsB,EAAU5pC,UAC7CA,EAAWs3D,EAAmBV,EAAkBC,GAmCpD,OAlCA3zD,OAAOC,KAAKnD,GAAUwC,SAAQ,SAAUuZ,GACtC,IAAI+yC,EAAQ9uD,EAAS+b,GACrB,IAAK,EAAI0nB,EAAO8yB,gBAAgBzH,GAAhC,CACA,IAAIyI,EAAUx7C,KAAO66C,EACjBY,EAAUz7C,KAAO86C,EACjBY,EAAYb,EAAiB76C,GAC7B27C,GAAY,EAAIj0B,EAAO8yB,gBAAgBkB,KAAeA,EAAUp4D,MAAMmO,IAEtEgqD,GAAaD,IAAWG,EAQhBF,IAAWD,GAAYG,EAMxBF,GAAWD,IAAW,EAAI9zB,EAAO8yB,gBAAgBkB,KAI1Dz3D,EAAS+b,IAAO,EAAI0nB,EAAOk0B,cAAc7I,EAAO,CAC9CvhD,SAAUA,EAASgzB,KAAK,KAAMuuB,GAC9BthD,GAAIiqD,EAAUp4D,MAAMmO,GACpBE,KAAM+oD,EAAQ3H,EAAO,OAAQllB,GAC7B58B,MAAOypD,EAAQ3H,EAAO,QAASllB,MAXjC5pC,EAAS+b,IAAO,EAAI0nB,EAAOk0B,cAAc7I,EAAO,CAC9CthD,IAAI,IAVNxN,EAAS+b,IAAO,EAAI0nB,EAAOk0B,cAAc7I,EAAO,CAC9CvhD,SAAUA,EAASgzB,KAAK,KAAMuuB,GAC9BthD,IAAI,EACJE,KAAM+oD,EAAQ3H,EAAO,OAAQllB,GAC7B58B,MAAOypD,EAAQ3H,EAAO,QAASllB,IAZW,CA+BhD,IACO5pC,CACT,EA7IA,IAAIyjC,EAAS,EAAQ,OAQrB,SAAS4yB,EAAgBr2D,EAAUs2D,GACjC,IAII57B,EAASx3B,OAAOigB,OAAO,MAO3B,OANInjB,GAAUyjC,EAAOtiC,SAASsxC,IAAIzyC,GAAU,SAAUo5B,GACpD,OAAOA,CACT,IAAG52B,SAAQ,SAAUssD,GAEnBp0B,EAAOo0B,EAAM/yC,KATF,SAAgB+yC,GAC3B,OAAOwH,IAAS,EAAI7yB,EAAO8yB,gBAAgBzH,GAASwH,EAAMxH,GAASA,CACrE,CAOsB0H,CAAO1H,EAC7B,IACOp0B,CACT,CAoBA,SAAS48B,EAAmBR,EAAMz4C,GAIhC,SAAS04C,EAAeh7C,GACtB,OAAOA,KAAOsC,EAAOA,EAAKtC,GAAO+6C,EAAK/6C,EACxC,CALA+6C,EAAOA,GAAQ,CAAC,EAChBz4C,EAAOA,GAAQ,CAAC,EAQhB,IAcIkF,EAdAyzC,EAAkB9zD,OAAOigB,OAAO,MAChC8zC,EAAc,GAElB,IAAK,IAAIC,KAAWJ,EACdI,KAAW74C,EACT44C,EAAY1zD,SACdyzD,EAAgBE,GAAWD,EAC3BA,EAAc,IAGhBA,EAAY7yC,KAAK8yC,GAKrB,IAAIC,EAAe,CAAC,EAEpB,IAAK,IAAIC,KAAW/4C,EAAM,CACxB,GAAI24C,EAAgBI,GAClB,IAAK7zC,EAAI,EAAGA,EAAIyzC,EAAgBI,GAAS7zD,OAAQggB,IAAK,CACpD,IAAI8zC,EAAiBL,EAAgBI,GAAS7zC,GAC9C4zC,EAAaH,EAAgBI,GAAS7zC,IAAMwzC,EAAeM,EAC7D,CAGFF,EAAaC,GAAWL,EAAeK,EACzC,CAGA,IAAK7zC,EAAI,EAAGA,EAAI0zC,EAAY1zD,OAAQggB,IAClC4zC,EAAaF,EAAY1zC,IAAMwzC,EAAeE,EAAY1zC,IAG5D,OAAO4zC,CACT,CAEA,SAASV,EAAQ3H,EAAO4H,EAAMr3D,GAC5B,OAAsB,MAAfA,EAAMq3D,GAAgBr3D,EAAMq3D,GAAQ5H,EAAMzvD,MAAMq3D,EACzD,gCC5FA,IAEgC34C,EALhCuL,EAAQqT,YAAa,EACrBrT,EAAQ88C,gBAAkB98C,EAAQ+8C,mBAAgB,GAIlBtoD,EAFQ,EAAQ,SAEKA,EAAI4e,WAOzDrT,EAAQ+8C,cADU,KAclB/8C,EAAQ88C,gBADD,6EClBP,QARA,SAAiBzhE,GACf,IAAI09B,EAAQ,CAAC,EACb,OAAO,SAAUx6B,GAEf,YADmBlC,IAAf08B,EAAMx6B,KAAoBw6B,EAAMx6B,GAAOlD,EAAGkD,IACvCw6B,EAAMx6B,EACf,CACF,ECJA,IAAIqmE,EAAkB,45HAYtB,QAVY,GAAQ,SAAUxX,GAC5B,OAAOwX,EAAgBrhD,KAAK6pC,IAAgC,MAAvBA,EAAKyX,WAAW,IAE3B,MAAvBzX,EAAKyX,WAAW,IAEhBzX,EAAKyX,WAAW,GAAK,EAC1B,8BC4CA,QAnDA,SAAiBC,GAYf,IANA,IAEI5yC,EAFA6yC,EAAI,EAGJ9qD,EAAI,EACJ+qD,EAAMF,EAAI7qE,OAEP+qE,GAAO,IAAK/qD,EAAG+qD,GAAO,EAE3B9yC,EAEe,YAAV,OAHLA,EAAwB,IAApB4yC,EAAID,WAAW5qD,IAAmC,IAAtB6qD,EAAID,aAAa5qD,KAAc,GAA2B,IAAtB6qD,EAAID,aAAa5qD,KAAc,IAA4B,IAAtB6qD,EAAID,aAAa5qD,KAAc,MAG9F,OAAZiY,IAAM,KAAgB,IAIpD6yC,EAEe,YAAV,OALL7yC,GAEAA,IAAM,MAGoC,OAAZA,IAAM,KAAgB,IAErC,YAAV,MAAJ6yC,IAAyC,OAAZA,IAAM,KAAgB,IAItD,OAAQC,GACN,KAAK,EACHD,IAA8B,IAAxBD,EAAID,WAAW5qD,EAAI,KAAc,GAEzC,KAAK,EACH8qD,IAA8B,IAAxBD,EAAID,WAAW5qD,EAAI,KAAc,EAEzC,KAAK,EAEH8qD,EAEe,YAAV,OAHLA,GAAyB,IAApBD,EAAID,WAAW5qD,MAGsB,OAAZ8qD,IAAM,KAAgB,IASxD,SAHAA,EAEe,YAAV,OAHLA,GAAKA,IAAM,MAG+B,OAAZA,IAAM,KAAgB,KACvCA,IAAM,MAAQ,GAAG3iB,SAAS,GACzC,ECHA,EAjDmB,CACjB9yB,wBAAyB,EACzB21C,kBAAmB,EACnBC,iBAAkB,EAClBC,iBAAkB,EAClBC,QAAS,EACTC,aAAc,EACdC,gBAAiB,EACjBC,YAAa,EACbC,QAAS,EACT53D,KAAM,EACNitC,SAAU,EACV4qB,aAAc,EACd7kD,WAAY,EACZ8kD,aAAc,EACdC,UAAW,EACXC,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,aAAc,EACdC,WAAY,EACZC,cAAe,EACfC,eAAgB,EAChBC,gBAAiB,EACjBC,UAAW,EACXC,cAAe,EACfC,aAAc,EACdC,iBAAkB,EAClB9jD,WAAY,EACZ5B,WAAY,EACZ9kB,QAAS,EACTa,MAAO,EACP4pE,QAAS,EACTC,QAAS,EACTC,OAAQ,EACRrmE,OAAQ,EACRsmE,KAAM,EACNC,gBAAiB,EAEjBC,YAAa,EACbC,aAAc,EACdC,YAAa,EACbvqB,gBAAiB,EACjBL,iBAAkB,EAClB6qB,iBAAkB,EAClBC,cAAe,EACfjyC,YAAa,GC1Cf,IAEIkyC,EAAiB,aACjBC,EAAiB,8BAEjBC,EAAmB,SAA0B1hD,GAC/C,OAAkC,KAA3BA,EAASm/C,WAAW,EAC7B,EAEIwC,EAAqB,SAA4B1wE,GACnD,OAAgB,MAATA,GAAkC,kBAAVA,CACjC,EAEI2wE,EAAmB,GAAQ,SAAUC,GACvC,OAAOH,EAAiBG,GAAaA,EAAYA,EAAU77B,QAAQw7B,EAAgB,OAAO9D,aAC5F,IAEIoE,EAAoB,SAA2B/0D,EAAK9b,GACtD,OAAQ8b,GACN,IAAK,YACL,IAAK,gBAED,GAAqB,iBAAV9b,EACT,OAAOA,EAAM+0C,QAAQy7B,GAAgB,SAAUM,EAAOC,EAAIC,GAMxD,OALA18D,EAAS,CACPxS,KAAMivE,EACNnqE,OAAQoqE,EACR5yD,KAAM9J,GAEDy8D,CACT,IAKR,OAAsB,IAAlB,EAASj1D,IAAe20D,EAAiB30D,IAAyB,iBAAV9b,GAAgC,IAAVA,EAI3EA,EAHEA,EAAQ,IAInB,EAgCA,SAASixE,EAAoBC,EAAaC,EAAYC,EAAeC,GACnE,GAAqB,MAAjBD,EACF,MAAO,GAGT,QAAuC1rE,IAAnC0rE,EAAcE,iBAKhB,OAAOF,EAGT,cAAeA,GACb,IAAK,UAED,MAAO,GAGX,IAAK,SAED,GAA2B,IAAvBA,EAAcG,KAMhB,OALAj9D,EAAS,CACPxS,KAAMsvE,EAActvE,KACpB8E,OAAQwqE,EAAcxqE,OACtBwX,KAAM9J,GAED88D,EAActvE,KAGvB,QAA6B4D,IAAzB0rE,EAAcxqE,OAAsB,CACtC,IAAIwX,EAAOgzD,EAAchzD,KAEzB,QAAa1Y,IAAT0Y,EAGF,UAAgB1Y,IAAT0Y,GACL9J,EAAS,CACPxS,KAAMsc,EAAKtc,KACX8E,OAAQwX,EAAKxX,OACbwX,KAAM9J,GAER8J,EAAOA,EAAKA,KAUhB,OANagzD,EAAcxqE,OAAS,GAOtC,CAEA,OAiDR,SAAgCsqE,EAAaC,EAAYrzD,GACvD,IAAI6uD,EAAS,GAEb,GAAI/nE,MAAMiD,QAAQiW,GAChB,IAAK,IAAIwF,EAAI,EAAGA,EAAIxF,EAAIxa,OAAQggB,IAC9BqpD,GAAUsE,EAAoBC,EAAaC,EAAYrzD,EAAIwF,IAAI,QAGjE,IAAK,IAAIze,KAAQiZ,EAAK,CACpB,IAAI9d,EAAQ8d,EAAIjZ,GAEhB,GAAqB,iBAAV7E,EACS,MAAdmxE,QAA4CzrE,IAAtByrE,EAAWnxE,GACnC2sE,GAAU9nE,EAAO,IAAMssE,EAAWnxE,GAAS,IAClC0wE,EAAmB1wE,KAC5B2sE,GAAUgE,EAAiB9rE,GAAQ,IAAMgsE,EAAkBhsE,EAAM7E,GAAS,UAO5E,IAAI4E,MAAMiD,QAAQ7H,IAA8B,iBAAbA,EAAM,IAAkC,MAAdmxE,QAA+CzrE,IAAzByrE,EAAWnxE,EAAM,IAM7F,CACL,IAAIwxE,EAAeP,EAAoBC,EAAaC,EAAYnxE,GAAO,GAEvE,OAAQ6E,GACN,IAAK,YACL,IAAK,gBAED8nE,GAAUgE,EAAiB9rE,GAAQ,IAAM2sE,EAAe,IACxD,MAGJ,QAMI7E,GAAU9nE,EAAO,IAAM2sE,EAAe,IAG9C,MAzBE,IAAK,IAAIxtE,EAAK,EAAGA,EAAKhE,EAAMsD,OAAQU,IAC9B0sE,EAAmB1wE,EAAMgE,MAC3B2oE,GAAUgE,EAAiB9rE,GAAQ,IAAMgsE,EAAkBhsE,EAAM7E,EAAMgE,IAAO,IAyBxF,CAGF,OAAO2oE,CACT,CAvGe8E,CAAuBP,EAAaC,EAAYC,GAG3D,IAAK,WAED,QAAoB1rE,IAAhBwrE,EAA2B,CAC7B,IAAIQ,EAAiBp9D,EACjBmmB,EAAS22C,EAAcF,GAE3B,OADA58D,EAASo9D,EACFT,EAAoBC,EAAaC,EAAY12C,EAAQ42C,EAC9D,EAyBN,GAAkB,MAAdF,EACF,OAAOC,EAGT,IAAIO,EAASR,EAAWC,GAOxB,YAAkB1rE,IAAXisE,GAAyBN,EAAwCD,EAATO,CACjE,CA0DA,IASIr9D,EATAs9D,EAAe,6BCrOfC,EAA2B,EAE3BC,EAA2B,SAAkCh2D,GAC/D,MAAe,UAARA,GAA2B,aAARA,CAC5B,EAEIi2D,EAA8B,SAAqCpgE,GACrE,MAAsB,iBAARA,GAGdA,EAAIu8D,WAAW,GAAK,GAAK2D,EAA2BC,CACtD,EAEA,SAAS1Z,EAAQC,EAAQC,GAAkB,IAAIp1D,EAAOD,OAAOC,KAAKm1D,GAAS,GAAIp1D,OAAOwgB,sBAAuB,CAAE,IAAI80C,EAAUt1D,OAAOwgB,sBAAsB40C,GAAaC,IAAgBC,EAAUA,EAAQn1D,QAAO,SAAUo1D,GAAO,OAAOv1D,OAAOm2B,yBAAyBi/B,EAAQG,GAAKC,UAAY,KAAIv1D,EAAKihB,KAAKhgB,MAAMjB,EAAMq1D,EAAU,CAAE,OAAOr1D,CAAM,CAGpV,IAEI8uE,EAAO,WACT,OAAO,IACT,EA8IA,QA5ImB,SAASC,EAAatgE,EAAKswC,GAO5C,IAAIiwB,EACAC,EACAC,OAEY1sE,IAAZu8C,IACFiwB,EAAiBjwB,EAAQrrC,MACzBw7D,EAAkBnwB,EAAQlyC,OAC1BoiE,EAAoBxgE,EAAI0gE,uBAAyBpwB,EAAQkwB,kBAAoB,SAAUG,GACrF,OAAO3gE,EAAI0gE,sBAAsBC,IACjCrwB,EAAQkwB,kBAAkBG,EAC5B,EAAIrwB,EAAQkwB,mBAGd,IAAII,EAAS5gE,EAAI6gE,iBAAmB7gE,EAChC8gE,EAAUF,GAAU5gE,EAAI+gE,gBAAkB/gE,EAEb,mBAAtBwgE,GAAoCI,IAC7CJ,EAAoBxgE,EAAI0gE,uBAG1B,IAAIM,EAA2BR,GAAqBJ,EAA4BU,GAC5EG,GAAeD,EAAyB,MAC5C,OAAO,WACL,IAAI5uE,EAAOE,UACP2C,EAAS2rE,QAAmC7sE,IAAzBiM,EAAI2/D,iBAAiC3/D,EAAI2/D,iBAAiBnxB,MAAM,GAAK,GAM5F,QAJuBz6C,IAAnBwsE,GACFtrE,EAAOud,KAAK,SAAW+tD,EAAiB,KAG3B,MAAXnuE,EAAK,SAA8B2B,IAAhB3B,EAAK,GAAGwgB,IAC7B3d,EAAOud,KAAKhgB,MAAMyC,EAAQ7C,OACrB,CAKL6C,EAAOud,KAAKpgB,EAAK,GAAG,IAIpB,IAHA,IAAIsqE,EAAMtqE,EAAKT,OACXggB,EAAI,EAEDA,EAAI+qD,EAAK/qD,IAKd1c,EAAOud,KAAKpgB,EAAKuf,GAAIvf,EAAK,GAAGuf,GAEjC,CAGA,IAAIuvD,GAAS,IAAAC,mBAAiB,SAAU1zE,EAAOM,EAAS8B,GACtD,OAAoB,IAAAqI,eAAc,EAAA8X,aAAA,SAAuB,MAAM,SAAUxG,GACvE,IAAI43D,EAAWH,GAAexzE,EAAMmiD,IAAMkxB,EACtClgE,EAAY,GACZygE,EAAsB,GACtB9B,EAAc9xE,EAElB,GAAmB,MAAfA,EAAM+b,MAAe,CAGvB,IAAK,IAAIW,KAFTo1D,EAAc,CAAC,EAEC9xE,EACd8xE,EAAYp1D,GAAO1c,EAAM0c,GAG3Bo1D,EAAY/1D,MAAQA,CACtB,CAE+B,iBAApB/b,EAAMmT,UACfA,GAAY,OAAoB7S,EAAQyxE,WAAY6B,EAAqB5zE,EAAMmT,WACnD,MAAnBnT,EAAMmT,YACfA,EAAYnT,EAAMmT,UAAY,KAGhC,IAAI0gE,EDwIU,SAAyBlvE,EAAMotE,EAAYD,GAC/D,GAAoB,IAAhBntE,EAAKT,QAAmC,iBAAZS,EAAK,IAA+B,OAAZA,EAAK,SAAkC2B,IAAnB3B,EAAK,GAAG6C,OAClF,OAAO7C,EAAK,GAGd,IAAImvE,GAAa,EACbtsE,EAAS,GACb0N,OAAS5O,EACT,IAAIytE,EAAUpvE,EAAK,GAEJ,MAAXovE,QAAmCztE,IAAhBytE,EAAQ5uD,KAC7B2uD,GAAa,EACbtsE,GAAUqqE,EAAoBC,EAAaC,EAAYgC,GAAS,IAMhEvsE,GAAUusE,EAAQ,GAIpB,IAAK,IAAI7vD,EAAI,EAAGA,EAAIvf,EAAKT,OAAQggB,IAC/B1c,GAAUqqE,EAAoBC,EAAaC,EAAYptE,EAAKuf,GAA6C,KAAzC1c,EAAOsnE,WAAWtnE,EAAOtD,OAAS,IAE9F4vE,IAKFtsE,GAAUusE,EAAQ7vD,IActBsuD,EAAa/0B,UAAY,EAIzB,IAHA,IACIi0B,EADAoB,EAAiB,GAG0B,QAAvCpB,EAAQc,EAAawB,KAAKxsE,KAChCsrE,GAAkB,IAClBpB,EAAM,GAkBR,MAAO,CACLhvE,KAhBS,EAAW8E,GAAUsrE,EAiB9BtrE,OAAQA,EACRwX,KAAM9J,EAEV,CCjNyB++D,CAAgBzsE,EAAOnB,OAAOutE,GAAsBtzE,EAAQyxE,WAAYD,IAC7E,OAAaxxE,EAASuzE,EAAgC,iBAAbF,GACrDxgE,GAAa7S,EAAQoc,IAAM,IAAMm3D,EAAWnxE,UAEpB4D,IAApB0sE,IACF7/D,GAAa,IAAM6/D,GAGrB,IAAIkB,EAAyBV,QAAqCltE,IAAtBysE,EAAkCJ,EAA4BgB,GAAYJ,EAClH57C,EAAW,CAAC,EAEhB,IAAK,IAAIlyB,KAAQzF,EACXwzE,GAAwB,OAAT/tE,GAGnByuE,EAAuBzuE,KACrBkyB,EAASlyB,GAAQzF,EAAMyF,IAI3BkyB,EAASxkB,UAAYA,EACrBwkB,EAASv1B,IAAMA,GAAOpC,EAAMyG,SAM5B,IAAI0tE,GAAmB,IAAA1pE,eAAckpE,EAAUh8C,GAC3Cy8C,GAAoC,IAAA3pE,eAAcmoE,EAAM,MAG5D,OAAoB,IAAAnoE,eAAc,EAAAqpC,SAAU,KAAMsgC,EAAsBD,EAC1E,GACF,IAsBA,OArBAV,EAAOhxE,iBAAiC6D,IAAnBwsE,EAA+BA,EAAiB,WAAgC,iBAAZO,EAAuBA,EAAUA,EAAQ5wE,aAAe4wE,EAAQ3wE,MAAQ,aAAe,IAChL+wE,EAAOxuE,aAAesN,EAAItN,aAC1BwuE,EAAOL,eAAiBK,EACxBA,EAAOH,eAAiBD,EACxBI,EAAOvB,iBAAmB1qE,EAC1BisE,EAAOR,sBAAwBF,EAC/BlvE,OAAOuhB,eAAequD,EAAQ,WAAY,CACxC7yE,MAAO,WAML,MAAO,IAAMoyE,CACf,IAGFS,EAAOY,cAAgB,SAAUC,EAASC,GACxC,OAAO1B,EAAayB,OAAyBhuE,IAAhBiuE,EA5InC,SAAuB5jE,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAAyB,MAAhBnqC,UAAUqf,GAAarf,UAAUqf,GAAK,CAAC,EAAOA,EAAI,EAAK80C,EAAQn1D,OAAOmrC,IAAS,GAAM7rC,SAAQ,SAAUuZ,IAAO,OAAgB/L,EAAQ+L,EAAKsyB,EAAOtyB,GAAO,IAAe7Y,OAAO01D,0BAA6B11D,OAAO21D,iBAAiB7oD,EAAQ9M,OAAO01D,0BAA0BvqB,IAAmBgqB,EAAQn1D,OAAOmrC,IAAS7rC,SAAQ,SAAUuZ,GAAO7Y,OAAOuhB,eAAezU,EAAQ+L,EAAK7Y,OAAOm2B,yBAAyBgV,EAAQtyB,GAAO,GAAM,CAAE,OAAO/L,CAAQ,CA4Itd2oD,CAAc,CAAC,EAAGzW,GAAW,CAAC,EAAG,CAAC,EAAG0xB,GAAe1xB,GAAS99C,WAAM,EAAQyC,EACtI,EAEOisE,CACT,CACF,2ECvKA,SAASe,EAAQlvE,GACf,IAAI09B,EAAQn/B,OAAOigB,OAAO,MAC1B,OAAO,SAAUtb,GAEf,YADmBlC,IAAf08B,EAAMx6B,KAAoBw6B,EAAMx6B,GAAOlD,EAAGkD,IACvCw6B,EAAMx6B,EACf,CACF,CCJA,IAAIqmE,EAAkB,o9HAElB4F,EAA6BD,GAAQ,SAAUnd,GACjD,OAAOwX,EAAgBrhD,KAAK6pC,IAAgC,MAAvBA,EAAKyX,WAAW,IAE3B,MAAvBzX,EAAKyX,WAAW,IAEhBzX,EAAKyX,WAAW,GAAK,EAC1B,eCEI4F,EAAiB,SAAwB1xC,EAAO6wC,EAAYc,GAC9D,IAAIxhE,EAAY6vB,EAAMtmB,IAAM,IAAMm3D,EAAWnxE,MAO5B,IAAhBiyE,QAIwDruE,IAAhC08B,EAAM+uC,WAAW5+D,KACxC6vB,EAAM+uC,WAAW5+D,GAAa0gE,EAAWrsE,OAE7C,wBCnBIirE,EAA2BgC,EAE3B/B,EAA2B,SAAkCh2D,GAC/D,MAAe,UAARA,CACT,EAEIi2D,EAA8B,SAAqCpgE,GACrE,MAAsB,iBAARA,GAGdA,EAAIu8D,WAAW,GAAK,GAAK2D,EAA2BC,CACtD,EACIkC,EAA4B,SAAmCriE,EAAKswC,EAASswB,GAC/E,IAAIJ,EAEJ,GAAIlwB,EAAS,CACX,IAAIgyB,EAA2BhyB,EAAQkwB,kBACvCA,EAAoBxgE,EAAI0gE,uBAAyB4B,EAA2B,SAAU3B,GACpF,OAAO3gE,EAAI0gE,sBAAsBC,IAAa2B,EAAyB3B,EACzE,EAAI2B,CACN,CAMA,MAJiC,mBAAtB9B,GAAoCI,IAC7CJ,EAAoBxgE,EAAI0gE,uBAGnBF,CACT,EAII+B,EAAY,SAAmB3rE,GACjC,IAAI65B,EAAQ75B,EAAK65B,MACb6wC,EAAa1qE,EAAK0qE,WAClBc,EAAcxrE,EAAKwrE,YAMvB,OALAD,EAAe1xC,EAAO6wC,EAAYc,IAClC,QAAyC,WACvC,ODjBe,SAAsB3xC,EAAO6wC,EAAYc,GAC1DD,EAAe1xC,EAAO6wC,EAAYc,GAClC,IAAIxhE,EAAY6vB,EAAMtmB,IAAM,IAAMm3D,EAAWnxE,KAE7C,QAAwC4D,IAApC08B,EAAM+xC,SAASlB,EAAWnxE,MAAqB,CACjD,IAAIiD,EAAUkuE,EAEd,GACE7wC,EAAMgyC,OAAOnB,IAAeluE,EAAU,IAAMwN,EAAY,GAAIxN,EAASq9B,EAAMiyC,OAAO,GAElFtvE,EAAUA,EAAQqZ,gBACC1Y,IAAZX,EACX,CACF,CCIWuvE,CAAalyC,EAAO6wC,EAAYc,EACzC,IAEO,IACT,ECrCInmB,EDuCe,SAASqkB,EAAatgE,EAAKswC,GAO5C,IAEIiwB,EACAE,EAHAG,EAAS5gE,EAAI6gE,iBAAmB7gE,EAChC8gE,EAAUF,GAAU5gE,EAAI+gE,gBAAkB/gE,OAI9BjM,IAAZu8C,IACFiwB,EAAiBjwB,EAAQrrC,MACzBw7D,EAAkBnwB,EAAQlyC,QAG5B,IAAIoiE,EAAoB6B,EAA0BriE,EAAKswC,EAASswB,GAC5DI,EAA2BR,GAAqBJ,EAA4BU,GAC5EG,GAAeD,EAAyB,MAC5C,OAAO,WACL,IAAI5uE,EAAOE,UACP2C,EAAS2rE,QAAmC7sE,IAAzBiM,EAAI2/D,iBAAiC3/D,EAAI2/D,iBAAiBnxB,MAAM,GAAK,GAM5F,QAJuBz6C,IAAnBwsE,GACFtrE,EAAOud,KAAK,SAAW+tD,EAAiB,KAG3B,MAAXnuE,EAAK,SAA8B2B,IAAhB3B,EAAK,GAAGwgB,IAC7B3d,EAAOud,KAAKhgB,MAAMyC,EAAQ7C,OACrB,CAKL6C,EAAOud,KAAKpgB,EAAK,GAAG,IAIpB,IAHA,IAAIsqE,EAAMtqE,EAAKT,OACXggB,EAAI,EAEDA,EAAI+qD,EAAK/qD,IAKd1c,EAAOud,KAAKpgB,EAAKuf,GAAIvf,EAAK,GAAGuf,GAEjC,CAGA,IAAIuvD,GAAS,IAAA0B,IAAiB,SAAUn1E,EAAOgjC,EAAO5gC,GACpD,IDpGuB2vE,EAAYqD,EAAkBzS,EACrD0S,ECmGIC,EAAW9B,GAAexzE,EAAMmiD,IAAMkxB,EACtClgE,EAAY,GACZygE,EAAsB,GACtB9B,EAAc9xE,EAElB,GAAmB,MAAfA,EAAM+b,MAAe,CAGvB,IAAK,IAAIW,KAFTo1D,EAAc,CAAC,EAEC9xE,EACd8xE,EAAYp1D,GAAO1c,EAAM0c,GAG3Bo1D,EAAY/1D,MAAQ,aAAiB,EAAAw5D,EACvC,CAE+B,iBAApBv1E,EAAMmT,WDnHM4+D,ECoHW/uC,EAAM+uC,WDpHLqD,ECoHiBxB,EDpHCjR,ECoHoB3iE,EAAMmT,UDnH/EkiE,EAAe,GACnB1S,EAAW54D,MAAM,KAAK5G,SAAQ,SAAUgQ,QACR7M,IAA1ByrE,EAAW5+D,GACbiiE,EAAiBrwD,KAAKgtD,EAAW5+D,GAAa,KAE9CkiE,GAAgBliE,EAAY,GAEhC,IC4GMA,ED3GCkiE,GC4G2B,MAAnBr1E,EAAMmT,YACfA,EAAYnT,EAAMmT,UAAY,KAGhC,IAAI0gE,GAAa,OAAgBrsE,EAAOnB,OAAOutE,GAAsB5wC,EAAM+uC,WAAYD,GACvF3+D,GAAa6vB,EAAMtmB,IAAM,IAAMm3D,EAAWnxE,UAElB4D,IAApB0sE,IACF7/D,GAAa,IAAM6/D,GAGrB,IAAIkB,EAAyBV,QAAqCltE,IAAtBysE,EAAkCJ,EAA4B2C,GAAY/B,EAClH57C,EAAW,CAAC,EAEhB,IAAK,IAAIlyB,KAAQzF,EACXwzE,GAAwB,OAAT/tE,GAGnByuE,EAAuBzuE,KACrBkyB,EAASlyB,GAAQzF,EAAMyF,IAM3B,OAFAkyB,EAASxkB,UAAYA,EACrBwkB,EAASv1B,IAAMA,EACK,gBAAoB,WAAgB,KAAmB,gBAAoB0yE,EAAW,CACxG9xC,MAAOA,EACP6wC,WAAYA,EACZc,YAAiC,iBAAbW,IACL,gBAAoBA,EAAU39C,GACjD,IAwBA,OAvBA87C,EAAOhxE,iBAAiC6D,IAAnBwsE,EAA+BA,EAAiB,WAAgC,iBAAZO,EAAuBA,EAAUA,EAAQ5wE,aAAe4wE,EAAQ3wE,MAAQ,aAAe,IAChL+wE,EAAOxuE,aAAesN,EAAItN,aAC1BwuE,EAAOL,eAAiBK,EACxBA,EAAOH,eAAiBD,EACxBI,EAAOvB,iBAAmB1qE,EAC1BisE,EAAOR,sBAAwBF,EAC/BlvE,OAAOuhB,eAAequD,EAAQ,WAAY,CACxC7yE,MAAO,WAML,MAAO,IAAMoyE,CACf,IAGFS,EAAOY,cAAgB,SAAUC,EAASC,GACxC,OAAO1B,EAAayB,GAAS,OAAS,CAAC,EAAGzxB,EAAS0xB,EAAa,CAC9DxB,kBAAmB6B,EAA0BnB,EAAQc,GAAa,MAChExvE,WAAM,EAAQyC,EACpB,EAEOisE,CACT,CACF,EClK6BvyC,OAHlB,CAAC,IAAK,OAAQ,UAAW,OAAQ,UAAW,QAAS,QAAS,IAAK,OAAQ,MAAO,MAAO,MAAO,aAAc,OAAQ,KAAM,SAAU,SAAU,UAAW,OAAQ,OAAQ,MAAO,WAAY,OAAQ,WAAY,KAAM,MAAO,UAAW,MAAO,SAAU,MAAO,KAAM,KAAM,KAAM,QAAS,WAAY,aAAc,SAAU,SAAU,OAAQ,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,OAAQ,SAAU,SAAU,KAAM,OAAQ,IAAK,SAAU,MAAO,QAAS,MAAO,MAAO,SAAU,QAAS,SAAU,KAAM,OAAQ,OAAQ,MAAO,OAAQ,UAAW,OAAQ,WAAY,OAAQ,QAAS,MAAO,WAAY,SAAU,KAAM,WAAY,SAAU,SAAU,IAAK,QAAS,UAAW,MAAO,WAAY,IAAK,KAAM,KAAM,OAAQ,IAAK,OAAQ,SAAU,UAAW,SAAU,QAAS,SAAU,OAAQ,SAAU,QAAS,MAAO,UAAW,MAAO,QAAS,QAAS,KAAM,WAAY,QAAS,KAAM,QAAS,OAAQ,QAAS,KAAM,QAAS,IAAK,KAAM,MAAO,QAAS,MAC77B,SAAU,WAAY,OAAQ,UAAW,gBAAiB,IAAK,QAAS,OAAQ,iBAAkB,OAAQ,OAAQ,UAAW,UAAW,WAAY,iBAAkB,OAAQ,OAAQ,MAAO,OAAQ,SAGhM/9B,SAAQ,SAAU03C,GAErB2T,EAAU3T,GAAW2T,EAAU3T,EACjC,kCChBA,SAAS12B,EAAEA,GAAG,IAAI,IAAI5L,EAAE1T,UAAUX,OAAO8f,EAAExe,MAAM+S,EAAE,EAAEA,EAAE,EAAE,GAAG7H,EAAE,EAAEA,EAAE6H,EAAE7H,IAAIsT,EAAEtT,EAAE,GAAG7L,UAAU6L,GAAkJ,MAAM5F,MAAM,8BAA8BqZ,GAAGH,EAAE9f,OAAO,IAAI8f,EAAEovB,KAAI,SAAUjvB,GAAG,MAAM,IAAIA,EAAE,GAAI,IAAGwJ,KAAK,KAAK,IAAI,mDAAmD,CAAC,SAASpV,EAAE4L,GAAG,QAAQA,KAAKA,EAAEqxD,EAAE,CAAC,SAASxxD,EAAEG,GAAG,IAAI5L,EAAE,QAAQ4L,IAAI,SAASA,GAAG,IAAIA,GAAG,iBAAiBA,EAAE,OAAM,EAAG,IAAI5L,EAAE1U,OAAO4xE,eAAetxD,GAAG,GAAG,OAAO5L,EAAE,OAAM,EAAG,IAAIyL,EAAEngB,OAAOuH,eAAe7J,KAAKgX,EAAE,gBAAgBA,EAAExY,YAAY,OAAOikB,IAAIngB,QAAQ,mBAAmBmgB,GAAG0xD,SAASrpB,SAAS9qD,KAAKyiB,KAAK2xD,CAAC,CAA1O,CAA4OxxD,IAAI3e,MAAMiD,QAAQ0b,MAAMA,EAAEyxD,OAAO,QAAQr9D,EAAE4L,EAAEpkB,mBAAc,IAASwY,OAAE,EAAOA,EAAEq9D,KAAK3xD,EAAEE,IAAI4X,EAAE5X,GAAG,CAA2C,SAASD,EAAEC,EAAE5L,EAAEyL,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIQ,EAAEL,IAAIH,EAAEngB,OAAOC,KAAK+xE,GAAI1xD,GAAGhhB,SAAQ,SAAUuN,GAAGsT,GAAG,iBAAiBtT,GAAG6H,EAAE7H,EAAEyT,EAAEzT,GAAGyT,EAAG,IAAGA,EAAEhhB,SAAQ,SAAU6gB,EAAEtT,GAAG,OAAO6H,EAAE7H,EAAEsT,EAAEG,EAAG,GAAE,CAAC,SAASK,EAAEL,GAAG,IAAI5L,EAAE4L,EAAEqxD,GAAG,OAAOj9D,EAAEA,EAAE2L,EAAE,EAAE3L,EAAE2L,EAAE,EAAE3L,EAAE2L,EAAE1e,MAAMiD,QAAQ0b,GAAG,EAAEF,EAAEE,GAAG,EAAE4X,EAAE5X,GAAG,EAAE,CAAC,CAAC,SAAS2xD,EAAE3xD,EAAE5L,GAAG,OAAO,IAAIiM,EAAEL,GAAGA,EAAEuZ,IAAInlB,GAAG1U,OAAOhC,UAAUuJ,eAAe7J,KAAK4iB,EAAE5L,EAAE,CAA+C,SAASijB,EAAErX,EAAE5L,EAAEyL,GAAG,IAAItT,EAAE8T,EAAEL,GAAG,IAAIzT,EAAEyT,EAAE0Z,IAAItlB,EAAEyL,GAAG,IAAItT,EAAEyT,EAAE28C,IAAI98C,GAAGG,EAAE5L,GAAGyL,CAAC,CAAC,SAAS+V,EAAE5V,EAAE5L,GAAG,OAAO4L,IAAI5L,EAAE,IAAI4L,GAAG,EAAEA,GAAG,EAAE5L,EAAE4L,GAAGA,GAAG5L,GAAGA,CAAC,CAAC,SAAS0L,EAAEE,GAAG,OAAO4xD,GAAG5xD,aAAa24B,GAAG,CAAC,SAAS/gB,EAAE5X,GAAG,OAAO2Y,GAAG3Y,aAAa6xD,GAAG,CAAC,SAAS/xE,EAAEkgB,GAAG,OAAOA,EAAEK,GAAGL,EAAEH,CAAC,CAAC,SAASw0B,EAAEr0B,GAAG,GAAG3e,MAAMiD,QAAQ0b,GAAG,OAAO3e,MAAM3D,UAAUk/C,MAAMx/C,KAAK4iB,GAAG,IAAI5L,EAAE09D,EAAG9xD,UAAU5L,EAAEi9D,GAAG,IAAI,IAAIxxD,EAAE6xD,EAAGt9D,GAAG7H,EAAE,EAAEA,EAAEsT,EAAE9f,OAAOwM,IAAI,CAAC,IAAIwT,EAAEF,EAAEtT,GAAG8T,EAAEjM,EAAE2L,IAAG,IAAKM,EAAE0xD,WAAW1xD,EAAE0xD,UAAS,EAAG1xD,EAAE2xD,cAAa,IAAK3xD,EAAEmZ,KAAKnZ,EAAEqZ,OAAOtlB,EAAE2L,GAAG,CAACiyD,cAAa,EAAGD,UAAS,EAAG7c,WAAW70C,EAAE60C,WAAWz4D,MAAMujB,EAAED,IAAI,CAAC,OAAOrgB,OAAOigB,OAAOjgB,OAAO4xE,eAAetxD,GAAG5L,EAAE,CAAC,SAASC,EAAE2L,EAAEzT,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAIgI,EAAEyL,IAAI5L,EAAE4L,KAAKH,EAAEG,KAAKK,EAAEL,GAAG,IAAIA,EAAE0Z,IAAI1Z,EAAE28C,IAAI38C,EAAEiyD,MAAMjyD,EAAEkyD,OAAOrH,GAAGnrE,OAAOyyE,OAAOnyD,GAAGzT,GAAGwT,EAAEC,GAAE,SAAUA,EAAE5L,GAAG,OAAOC,EAAED,GAAE,EAAI,IAAE,IAAK4L,CAAC,CAAC,SAAS6qD,IAAI7qD,EAAE,EAAE,CAAC,SAASzL,EAAEyL,GAAG,OAAO,MAAMA,GAAG,iBAAiBA,GAAGtgB,OAAO0yE,SAASpyD,EAAE,CAAC,SAASV,EAAElL,GAAG,IAAIyL,EAAEwyD,EAAGj+D,GAAG,OAAOyL,GAAGG,EAAE,GAAG5L,GAAGyL,CAAC,CAAkC,SAAS0X,IAAI,OAAmD+6C,CAAC,CAAC,SAASh6C,EAAEtY,EAAE5L,GAAGA,IAAIkL,EAAE,WAAWU,EAAE2xD,EAAE,GAAG3xD,EAAEF,EAAE,GAAGE,EAAE4X,EAAExjB,EAAE,CAAC,SAASkjB,EAAEtX,GAAGuyD,EAAEvyD,GAAGA,EAAElgB,EAAEd,QAAQwzE,GAAGxyD,EAAElgB,EAAE,IAAI,CAAC,SAASyyE,EAAEvyD,GAAGA,IAAIsyD,IAAIA,EAAEtyD,EAAEq0B,EAAE,CAAC,SAAS28B,EAAEhxD,GAAG,OAAOsyD,EAAE,CAACxyE,EAAE,GAAGu0C,EAAEi+B,EAAEzH,EAAE7qD,EAAEQ,GAAE,EAAG+W,EAAE,EAAE,CAAC,SAASi7C,EAAExyD,GAAG,IAAI5L,EAAE4L,EAAEqxD,GAAG,IAAIj9D,EAAE2L,GAAG,IAAI3L,EAAE2L,EAAE3L,EAAEkkB,IAAIlkB,EAAEkjB,GAAE,CAAE,CAAC,SAASZ,EAAEtiB,EAAE7H,GAAGA,EAAEgrB,EAAEhrB,EAAEzM,EAAEC,OAAO,IAAIggB,EAAExT,EAAEzM,EAAE,GAAGugB,OAAE,IAASjM,GAAGA,IAAI2L,EAAE,OAAOxT,EAAEs+D,EAAE0H,GAAGjzD,EAAE,OAAOkzD,EAAEjmE,EAAE6H,EAAEiM,GAAGA,GAAGN,EAAEsxD,GAAG36C,IAAIY,EAAE/qB,GAAGyT,EAAE,IAAIH,EAAEzL,KAAKA,EAAEq+D,EAAElmE,EAAE6H,GAAG7H,EAAE8nC,GAAG//B,EAAE/H,EAAE6H,IAAI7H,EAAEolE,GAAGryD,EAAE,WAAWmzD,EAAE1yD,EAAEsxD,GAAGxxD,EAAEzL,EAAE7H,EAAEolE,EAAEplE,EAAEuT,IAAI1L,EAAEq+D,EAAElmE,EAAEwT,EAAE,IAAIuX,EAAE/qB,GAAGA,EAAEolE,GAAGplE,EAAEqrB,EAAErrB,EAAEolE,EAAEplE,EAAEuT,GAAG1L,IAAIs+D,EAAEt+D,OAAE,CAAM,CAAC,SAASq+D,EAAEzyD,EAAE5L,EAAEyL,GAAG,GAAGtL,EAAEH,GAAG,OAAOA,EAAE,IAAI7H,EAAE6H,EAAEi9D,GAAG,IAAI9kE,EAAE,OAAOwT,EAAE3L,GAAE,SAAU2L,EAAEM,GAAG,OAAOsyD,EAAE3yD,EAAEzT,EAAE6H,EAAE2L,EAAEM,EAAER,EAAG,IAAE,GAAIzL,EAAE,GAAG7H,EAAEomE,IAAI3yD,EAAE,OAAO5L,EAAE,IAAI7H,EAAEmqB,EAAE,OAAOpiB,EAAE0L,EAAEzT,EAAEsT,GAAE,GAAItT,EAAEsT,EAAE,IAAItT,EAAEqmE,EAAE,CAACrmE,EAAEqmE,GAAE,EAAGrmE,EAAEomE,EAAEp7C,IAAI,IAAIlX,EAAE,IAAI9T,EAAEwT,GAAG,IAAIxT,EAAEwT,EAAExT,EAAE8T,EAAEg0B,EAAE9nC,EAAEyrB,GAAGzrB,EAAE8T,EAAEsxD,EAAEtxD,EAAEgY,GAAE,EAAG,IAAI9rB,EAAEwT,IAAI4xD,EAAE,IAAIE,IAAIxxD,GAAGA,EAAE4xD,QAAQ55C,GAAE,GAAItY,EAAE4xD,GAAE,SAAUv9D,EAAE2L,GAAG,OAAO4yD,EAAE3yD,EAAEzT,EAAE8T,EAAEjM,EAAE2L,EAAEF,EAAEwY,EAAG,IAAG/jB,EAAE0L,EAAEK,GAAE,GAAIR,GAAGG,EAAE2xD,GAAGryD,EAAE,WAAWuzD,EAAEtmE,EAAEsT,EAAEG,EAAE2xD,EAAE3xD,EAAEF,EAAE,CAAC,OAAOvT,EAAE8T,CAAC,CAAC,SAASsyD,EAAEpmE,EAAEwT,EAAEM,EAAEgY,EAAEzC,EAAE9V,EAAE8X,GAAG,GAAoDxjB,EAAEwhB,GAAG,CAAC,IAAI91B,EAAE2yE,EAAElmE,EAAEqpB,EAAE9V,GAAGC,GAAG,IAAIA,EAAEA,IAAI4xD,EAAE5xD,EAAE+yD,EAAEz6C,GAAGvY,EAAE5d,OAAOm2B,QAAG,GAAQ,GAAGhB,EAAEhX,EAAEgY,EAAEv4B,IAAIsU,EAAEtU,GAAG,OAAOyM,EAAEiU,GAAE,CAAE,MAAMoX,GAAGvX,EAAEs8C,IAAI/mC,GAAG,GAAG/V,EAAE+V,KAAKrhB,EAAEqhB,GAAG,CAAC,IAAIrpB,EAAEs+D,EAAEkI,GAAGxmE,EAAEgrB,EAAE,EAAE,OAAOk7C,EAAElmE,EAAEqpB,GAAG7V,GAAGA,EAAE4yD,EAAEt+B,GAAG//B,EAAE/H,EAAEqpB,EAAE,CAAC,CAAC,SAASthB,EAAE0L,EAAE5L,EAAEyL,QAAG,IAASA,IAAIA,GAAE,IAAKG,EAAEq0B,GAAGr0B,EAAE6qD,EAAEkI,GAAG/yD,EAAEQ,GAAGnM,EAAED,EAAEyL,EAAE,CAAC,SAASmzD,EAAEhzD,EAAE5L,GAAG,IAAIyL,EAAEG,EAAEqxD,GAAG,OAAOxxD,EAAE/f,EAAE+f,GAAGG,GAAG5L,EAAE,CAAC,SAASw+D,EAAE5yD,EAAE5L,GAAG,GAAGA,KAAK4L,EAAE,IAAI,IAAIH,EAAEngB,OAAO4xE,eAAetxD,GAAGH,GAAG,CAAC,IAAItT,EAAE7M,OAAOm2B,yBAAyBhW,EAAEzL,GAAG,GAAG7H,EAAE,OAAOA,EAAEsT,EAAEngB,OAAO4xE,eAAezxD,EAAE,CAAC,CAAC,SAASmY,EAAEhY,GAAGA,EAAE0W,IAAI1W,EAAE0W,GAAE,EAAG1W,EAAEq0B,GAAGrc,EAAEhY,EAAEq0B,GAAG,CAAC,SAAS4+B,EAAEjzD,GAAGA,EAAEK,IAAIL,EAAEK,EAAEg0B,EAAEr0B,EAAEH,GAAG,CAAC,SAASgzD,EAAE7yD,EAAE5L,EAAEyL,GAAG,IAAItT,EAAEuT,EAAE1L,GAAGkL,EAAE,UAAU4zD,EAAE9+D,EAAEyL,GAAG+X,EAAExjB,GAAGkL,EAAE,UAAU8xD,EAAEh9D,EAAEyL,GAAGG,EAAEuyD,EAAE,SAASvyD,EAAE5L,GAAG,IAAIyL,EAAExe,MAAMiD,QAAQ0b,GAAGzT,EAAE,CAACwT,EAAEF,EAAE,EAAE,EAAE8yD,EAAEv+D,EAAEA,EAAEu+D,EAAEp7C,IAAIb,GAAE,EAAGk8C,GAAE,EAAGE,EAAE,CAAC,EAAEz+B,EAAEjgC,EAAEyL,EAAEG,EAAEgY,EAAE,KAAK3X,EAAE,KAAKiY,EAAE,KAAK66C,GAAE,GAAIpzD,EAAExT,EAAE8T,EAAE+yD,EAAGvzD,IAAIE,EAAE,CAACxT,GAAG8T,EAAEgzD,GAAI,IAAI1B,EAAE1b,MAAMqd,UAAUvzD,EAAEM,GAAGgY,EAAEs5C,EAAE4B,OAAOl8C,EAAEs6C,EAAE6B,MAAM,OAAOjnE,EAAEyrB,EAAEX,EAAE9qB,EAAE+rB,EAAED,EAAEhB,CAAC,CAA3M,CAA6MjjB,EAAEyL,GAAGP,EAAE,OAAOm0D,EAAEr/D,EAAEyL,GAAG,OAAOA,EAAEA,EAAE8yD,EAAEp7C,KAAKz3B,EAAE8gB,KAAKrU,GAAGA,CAAC,CAAC,SAASumE,EAAEvmE,GAAG,OAAO6H,EAAE7H,IAAIyT,EAAE,GAAGzT,GAAG,SAASyT,EAAE5L,GAAG,IAAIyL,EAAEzL,GAAG,OAAOA,EAAE,IAAI7H,EAAEolE,EAAEv9D,EAAEi9D,GAAGz7C,EAAEvV,EAAEjM,GAAG,GAAGu9D,EAAE,CAAC,IAAIA,EAAEj7C,IAAIi7C,EAAE5xD,EAAE,IAAIT,EAAE,OAAOo0D,EAAE/B,IAAI,OAAOA,EAAE9xD,EAAE8xD,EAAEiB,GAAE,EAAGrmE,EAAEwmE,EAAE3+D,EAAEwhB,GAAG+7C,EAAEiB,GAAE,CAAE,MAAMrmE,EAAEwmE,EAAE3+D,EAAEwhB,GAAG,OAAO7V,EAAExT,GAAE,SAAU6H,EAAEyL,GAAG8xD,GAA55F,SAAW3xD,EAAE5L,GAAG,OAAO,IAAIiM,EAAEL,GAAGA,EAAEwZ,IAAIplB,GAAG4L,EAAE5L,EAAE,CAAk3FikB,CAAEs5C,EAAE9xD,EAAEzL,KAAKyL,GAAGwX,EAAE9qB,EAAE6H,EAAE4L,EAAEH,GAAI,IAAG,IAAI+V,EAAE,IAAIi8C,IAAItlE,GAAGA,CAAC,CAAvN,CAAyNA,EAAE,CAAC,SAASwmE,EAAE/yD,EAAE5L,GAAG,OAAOA,GAAG,KAAK,EAAE,OAAO,IAAIukC,IAAI34B,GAAG,KAAK,EAAE,OAAO3e,MAAMk0B,KAAKvV,GAAG,OAAOq0B,EAAEr0B,EAAE,kDAA4tO,IAAI2zD,EAAErB,EAAEsB,EAAE,oBAAoBtzD,QAAQ,iBAAiBA,OAAO,KAAKsxD,EAAE,oBAAoBj5B,IAAIhgB,EAAE,oBAAoBk5C,IAAIgC,EAAE,oBAAoB5d,YAAO,IAASA,MAAMqd,WAAW,oBAAoBx9C,QAAQ48C,EAAEkB,EAAEtzD,OAAOmqD,IAAI,mBAAmBkJ,EAAE,CAAC,GAAG,kBAAiB,EAAGA,GAAGlC,EAAEmC,EAAEtzD,OAAOmqD,IAAI,mBAAmB,qBAAqB4G,EAAEuC,EAAEtzD,OAAOmqD,IAAI,eAAe,iBAAy2D+G,GAAt1D,oBAAoBlxD,QAAQA,OAAOC,SAAqzD,GAAG7gB,OAAOhC,UAAU9B,aAAY81E,EAAG,oBAAoB57C,SAASA,QAAQ++B,QAAQ/+B,QAAQ++B,aAAQ,IAASn1D,OAAOwgB,sBAAsB,SAASF,GAAG,OAAOtgB,OAAOo0E,oBAAoB9zD,GAAG9d,OAAOxC,OAAOwgB,sBAAsBF,GAAG,EAAEtgB,OAAOo0E,oBAAoBhC,EAAGpyE,OAAO01D,2BAA2B,SAASp1C,GAAG,IAAI5L,EAAE,CAAC,EAAE,OAAOs9D,EAAG1xD,GAAGhhB,SAAQ,SAAU6gB,GAAGzL,EAAEyL,GAAGngB,OAAOm2B,yBAAyB7V,EAAEH,EAAG,IAAGzL,CAAC,EAAEi+D,EAAG,CAAC,EAAEe,EAAG,CAAC55C,IAAI,SAASxZ,EAAE5L,GAAG,GAAGA,IAAIi9D,EAAE,OAAOrxD,EAAE,IAAIzT,EAAEzM,EAAEkgB,GAAG,IAAI2xD,EAAEplE,EAAE6H,GAAG,OAAO,SAAS4L,EAAE5L,EAAEyL,GAAG,IAAItT,EAAEwT,EAAE6yD,EAAEx+D,EAAEyL,GAAG,OAAOE,EAAE,UAAUA,EAAEA,EAAEtjB,MAAM,QAAQ8P,EAAEwT,EAAEyZ,WAAM,IAASjtB,OAAE,EAAOA,EAAEnP,KAAK4iB,EAAEgY,QAAG,CAAM,CAAlH,CAAoHhY,EAAEzT,EAAE6H,GAAG,IAAI2L,EAAExT,EAAE6H,GAAG,OAAO4L,EAAE4yD,IAAI/yD,EAAEE,GAAGA,EAAEA,IAAIizD,EAAEhzD,EAAEH,EAAEzL,IAAI6+D,EAAEjzD,GAAGA,EAAEK,EAAEjM,GAAGy+D,EAAE7yD,EAAE2yD,EAAE9H,EAAE9qD,EAAEC,IAAID,CAAC,EAAEwZ,IAAI,SAASvZ,EAAE5L,GAAG,OAAOA,KAAKtU,EAAEkgB,EAAE,EAAE60C,QAAQ,SAAS70C,GAAG,OAAO8V,QAAQ++B,QAAQ/0D,EAAEkgB,GAAG,EAAE0Z,IAAI,SAAS1Z,EAAE5L,EAAEyL,GAAG,IAAItT,EAAEqmE,EAAE9yE,EAAEkgB,GAAG5L,GAAG,GAAG,MAAM7H,OAAE,EAAOA,EAAEmtB,IAAI,OAAOntB,EAAEmtB,IAAIt8B,KAAK4iB,EAAEgY,EAAEnY,IAAG,EAAG,IAAIG,EAAE0W,EAAE,CAAC,IAAI3W,EAAEizD,EAAElzE,EAAEkgB,GAAG5L,GAAGiM,EAAE,MAAMN,OAAE,EAAOA,EAAEsxD,GAAG,GAAGhxD,GAAGA,EAAER,IAAIA,EAAE,OAAOG,EAAEK,EAAEjM,GAAGyL,EAAEG,EAAE8yD,EAAE1+D,IAAG,GAAG,EAAG,GAAGwhB,EAAE/V,EAAEE,UAAK,IAASF,GAAG8xD,EAAE3xD,EAAEH,EAAEzL,IAAI,OAAM,EAAG6+D,EAAEjzD,GAAGgY,EAAEhY,EAAE,CAAC,OAAOA,EAAEK,EAAEjM,KAAKyL,SAAI,IAASA,GAAGzL,KAAK4L,EAAEK,IAAI/Y,OAAOgvD,MAAMz2C,IAAIvY,OAAOgvD,MAAMt2C,EAAEK,EAAEjM,MAAM4L,EAAEK,EAAEjM,GAAGyL,EAAEG,EAAE8yD,EAAE1+D,IAAG,IAAI,CAAE,EAAE2/D,eAAe,SAAS/zD,EAAE5L,GAAG,YAAO,IAAS4+D,EAAEhzD,EAAEH,EAAEzL,IAAIA,KAAK4L,EAAEH,GAAGG,EAAE8yD,EAAE1+D,IAAG,EAAG6+D,EAAEjzD,GAAGgY,EAAEhY,WAAWA,EAAE8yD,EAAE1+D,GAAG4L,EAAEK,UAAUL,EAAEK,EAAEjM,IAAG,CAAE,EAAEyhB,yBAAyB,SAAS7V,EAAE5L,GAAG,IAAIyL,EAAE/f,EAAEkgB,GAAGzT,EAAEupB,QAAQD,yBAAyBhW,EAAEzL,GAAG,OAAO7H,EAAE,CAACwlE,UAAS,EAAGC,aAAa,IAAIhyD,EAAED,GAAG,WAAW3L,EAAE8gD,WAAW3oD,EAAE2oD,WAAWz4D,MAAMojB,EAAEzL,IAAI7H,CAAC,EAAE0U,eAAe,WAAWjB,EAAE,GAAG,EAAEsxD,eAAe,SAAStxD,GAAG,OAAOtgB,OAAO4xE,eAAetxD,EAAEH,EAAE,EAAEN,eAAe,WAAWS,EAAE,GAAG,GAAGqzD,EAAG,CAAC,EAAEtzD,EAAEqzD,GAAG,SAAUpzD,EAAE5L,GAAGi/D,EAAGrzD,GAAG,WAAW,OAAOtf,UAAU,GAAGA,UAAU,GAAG,GAAG0T,EAAExT,MAAM7E,KAAK2E,UAAU,CAAE,IAAG2yE,EAAGU,eAAe,SAAS3/D,EAAEyL,GAAG,OAAqEwzD,EAAG35C,IAAIt8B,KAAKrB,KAAKqY,EAAEyL,OAAE,EAAO,EAAEwzD,EAAG35C,IAAI,SAAStlB,EAAEyL,EAAEtT,GAAG,OAAmF6mE,EAAG15C,IAAIt8B,KAAKrB,KAAKqY,EAAE,GAAGyL,EAAEtT,EAAE6H,EAAE,GAAG,EAAE,IAAI4/D,EAAG,WAAW,SAASznE,EAAE6H,GAAG,IAAI7H,EAAExQ,KAAKA,KAAKw2E,EAAEsB,EAAE93E,KAAKg3E,GAAE,EAAGh3E,KAAKk4E,QAAQ,SAAS7/D,EAAE2L,EAAEM,GAAG,GAAG,mBAAmBjM,GAAG,mBAAmB2L,EAAE,CAAC,IAAI4xD,EAAE5xD,EAAEA,EAAE3L,EAAE,IAAIikB,EAAE9rB,EAAE,OAAO,SAASyT,GAAG,IAAI5L,EAAErY,UAAK,IAASikB,IAAIA,EAAE2xD,GAAG,IAAI,IAAI9xD,EAAEnf,UAAUX,OAAOwM,EAAElL,MAAMwe,EAAE,EAAEA,EAAE,EAAE,GAAGQ,EAAE,EAAEA,EAAER,EAAEQ,IAAI9T,EAAE8T,EAAE,GAAG3f,UAAU2f,GAAG,OAAOgY,EAAE47C,QAAQj0D,GAAE,SAAUA,GAAG,IAAIH,EAAE,OAAOA,EAAEE,GAAG3iB,KAAKwD,MAAMif,EAAE,CAACzL,EAAE4L,GAAG9d,OAAOqK,GAAI,GAAE,CAAC,CAAC,IAAI8qB,EAAE,GAAG,mBAAmBtX,GAAGC,EAAE,QAAG,IAASK,GAAG,mBAAmBA,GAAGL,EAAE,GAAGH,EAAEzL,GAAG,CAAC,IAAIwhB,EAAEo7C,EAAEzkE,GAAGuT,EAAE+yD,EAAEtmE,EAAE6H,OAAE,GAAQwjB,GAAE,EAAG,IAAIP,EAAEtX,EAAED,GAAG8X,GAAE,CAAE,CAAC,QAAQA,EAAEN,EAAE1B,GAAG28C,EAAE38C,EAAE,CAAC,MAAM,oBAAoBgB,SAASS,aAAaT,QAAQS,EAAEF,MAAK,SAAUnX,GAAG,OAAOsY,EAAE1C,EAAEvV,GAAGqW,EAAE1W,EAAE4V,EAAG,IAAE,SAAU5V,GAAG,MAAMsX,EAAE1B,GAAG5V,CAAE,KAAIsY,EAAE1C,EAAEvV,GAAGqW,EAAEW,EAAEzB,GAAG,CAAC,IAAIxhB,GAAG,iBAAiBA,EAAE,CAAC,QAAG,KAAUijB,EAAEtX,EAAE3L,MAAMijB,EAAEjjB,GAAGijB,IAAIq7C,IAAIr7C,OAAE,GAAQ9qB,EAAEwmE,GAAG1+D,EAAEgjB,GAAE,GAAIhX,EAAE,CAAC,IAAIvgB,EAAE,GAAGu0C,EAAE,GAAG/0B,EAAE,WAAWmzD,EAAEr+D,EAAEijB,EAAEv3B,EAAEu0C,GAAGh0B,EAAEvgB,EAAEu0C,EAAE,CAAC,OAAOhd,CAAC,CAACrX,EAAE,GAAG5L,EAAE,EAAErY,KAAKm4E,mBAAmB,SAASl0D,EAAE5L,GAAG,GAAG,mBAAmB4L,EAAE,OAAO,SAAS5L,GAAG,IAAI,IAAIyL,EAAEnf,UAAUX,OAAOggB,EAAE1e,MAAMwe,EAAE,EAAEA,EAAE,EAAE,GAAGQ,EAAE,EAAEA,EAAER,EAAEQ,IAAIN,EAAEM,EAAE,GAAG3f,UAAU2f,GAAG,OAAO9T,EAAE2nE,mBAAmB9/D,GAAE,SAAUA,GAAG,OAAO4L,EAAEpf,WAAM,EAAO,CAACwT,GAAGlS,OAAO6d,GAAI,GAAE,EAAE,IAAIF,EAAEE,EAAEM,EAAE9T,EAAE0nE,QAAQj0D,EAAE5L,GAAE,SAAU4L,EAAE5L,GAAGyL,EAAEG,EAAED,EAAE3L,CAAE,IAAG,MAAM,oBAAoBwiB,SAASvW,aAAauW,QAAQvW,EAAE8W,MAAK,SAAUnX,GAAG,MAAM,CAACA,EAAEH,EAAEE,EAAG,IAAG,CAACM,EAAER,EAAEE,EAAE,EAAE,kBAAkB,MAAM3L,OAAE,EAAOA,EAAE+/D,aAAap4E,KAAKq4E,cAAchgE,EAAE+/D,YAAY,kBAAkB,MAAM//D,OAAE,EAAOA,EAAEigE,aAAat4E,KAAKu4E,cAAclgE,EAAEigE,WAAW,CAAC,IAAIt0D,EAAExT,EAAE7O,UAAU,OAAOqiB,EAAEw0D,YAAY,SAAShoE,GAAGsT,EAAEtT,IAAIyT,EAAE,GAAG5L,EAAE7H,KAAKA,EAAEumE,EAAEvmE,IAAI,IAAIwT,EAAEixD,EAAEj1E,MAAMskB,EAAEwyD,EAAE92E,KAAKwQ,OAAE,GAAQ,OAAO8T,EAAEgxD,GAAG8B,GAAE,EAAGZ,EAAExyD,GAAGM,CAAC,EAAEN,EAAEy0D,YAAY,SAASpgE,EAAEyL,GAAG,IAAiFE,GAA3E3L,GAAGA,EAAEi9D,IAA0EsB,EAAE,OAAOr6C,EAAEvY,EAAEF,GAAG6W,OAAE,EAAO3W,EAAE,EAAEA,EAAEu0D,cAAc,SAASt0D,GAAGjkB,KAAKg3E,EAAE/yD,CAAC,EAAED,EAAEq0D,cAAc,SAAShgE,GAAGA,IAAIy/D,GAAG7zD,EAAE,IAAIjkB,KAAKw2E,EAAEn+D,CAAC,EAAE2L,EAAE00D,aAAa,SAASz0D,EAAEH,GAAG,IAAItT,EAAE,IAAIA,EAAEsT,EAAE9f,OAAO,EAAEwM,GAAG,EAAEA,IAAI,CAAC,IAAIwT,EAAEF,EAAEtT,GAAG,GAAG,IAAIwT,EAAE20D,KAAK30E,QAAQ,YAAYggB,EAAE8X,GAAG,CAAC7X,EAAED,EAAEtjB,MAAM,KAAK,CAAC,CAAC8P,GAAG,IAAIsT,EAAEA,EAAE+8B,MAAMrwC,EAAE,IAAI,IAAI8T,EAAEf,EAAE,WAAWq1D,EAAE,OAAOvgE,EAAE4L,GAAGK,EAAEL,EAAEH,GAAG9jB,KAAKk4E,QAAQj0D,GAAE,SAAUA,GAAG,OAAOK,EAAEL,EAAEH,EAAG,GAAE,EAAEtT,CAAC,CAAj7D,GAAq7DqoE,EAAG,IAAIZ,EAAG7yE,EAAGyzE,EAAGX,QAAWW,EAAGV,mBAAmBn3C,KAAK63C,GAAOA,EAAGN,cAAcv3C,KAAK63C,GAAOA,EAAGR,cAAcr3C,KAAK63C,GAAOA,EAAGH,aAAa13C,KAAK63C,GAAOA,EAAGL,YAAYx3C,KAAK63C,GAAOA,EAAGJ,YAAYz3C,KAAK63C,GAAI,0BCSxljB,SAASC,GAAuBC,GAC9B,MAAO,yBAA2BA,EAAO,4CAA8CA,EAAhF,iFACT,CAGA,IAAIC,GACuB,mBAAXz0D,QAAyBA,OAAO00D,YAAc,eAS1DC,GAAe,WACjB,OAAO1vC,KAAKyoB,SAAS9F,SAAS,IAAI3+B,UAAU,GAAG3jB,MAAM,IAAI4jB,KAAK,IAChE,EAEI0rD,GAAc,CAChBC,KAAM,eAAiBF,KACvBG,QAAS,kBAAoBH,KAC7BI,qBAAsB,WACpB,MAAO,+BAAiCJ,IAC1C,GAuGF,SAASK,GAAYC,EAASC,EAAgBC,GAC5C,IAAI7tC,EAEJ,GAA8B,mBAAnB4tC,GAAqD,mBAAbC,GAA+C,mBAAbA,GAAmD,mBAAjB/0E,UAAU,GAC/H,MAAM,IAAIiG,MAA8CkuE,GAAuB,IAQjF,GAL8B,mBAAnBW,QAAqD,IAAbC,IACjDA,EAAWD,EACXA,OAAiBrzE,QAGK,IAAbszE,EAA0B,CACnC,GAAwB,mBAAbA,EACT,MAAM,IAAI9uE,MAA8CkuE,GAAuB,IAGjF,OAAOY,EAASH,GAATG,CAAsBF,EAASC,EACxC,CAEA,GAAuB,mBAAZD,EACT,MAAM,IAAI5uE,MAA8CkuE,GAAuB,IAGjF,IAAIa,EAAiBH,EACjBI,EAAeH,EACfI,EAAmB,GACnBC,EAAgBD,EAChBE,GAAgB,EASpB,SAASC,IACHF,IAAkBD,IACpBC,EAAgBD,EAAiBh5B,QAErC,CAQA,SAASo5B,IACP,GAAIF,EACF,MAAM,IAAInvE,MAA8CkuE,GAAuB,IAGjF,OAAOc,CACT,CA0BA,SAASM,EAAU/jC,GACjB,GAAwB,mBAAbA,EACT,MAAM,IAAIvrC,MAA8CkuE,GAAuB,IAGjF,GAAIiB,EACF,MAAM,IAAInvE,MAA8CkuE,GAAuB,IAGjF,IAAIqB,GAAe,EAGnB,OAFAH,IACAF,EAAcj1D,KAAKsxB,GACZ,WACL,GAAKgkC,EAAL,CAIA,GAAIJ,EACF,MAAM,IAAInvE,MAA8CkuE,GAAuB,IAGjFqB,GAAe,EACfH,IACA,IAAInoC,EAAQioC,EAAct+D,QAAQ26B,GAClC2jC,EAAcxsB,OAAOzb,EAAO,GAC5BgoC,EAAmB,IAVnB,CAWF,CACF,CA4BA,SAASO,EAAS3rE,GAChB,IAzOJ,SAAuB+P,GACrB,GAAmB,iBAARA,GAA4B,OAARA,EAAc,OAAO,EAGpD,IAFA,IAAI67D,EAAQ77D,EAE4B,OAAjC7a,OAAO4xE,eAAe8E,IAC3BA,EAAQ12E,OAAO4xE,eAAe8E,GAGhC,OAAO12E,OAAO4xE,eAAe/2D,KAAS67D,CACxC,CAgOSC,CAAc7rE,GACjB,MAAM,IAAI7D,MAA8CkuE,GAAuB,IAGjF,QAA2B,IAAhBrqE,EAAOob,KAChB,MAAM,IAAIjf,MAA8CkuE,GAAuB,IAGjF,GAAIiB,EACF,MAAM,IAAInvE,MAA8CkuE,GAAuB,IAGjF,IACEiB,GAAgB,EAChBH,EAAeD,EAAeC,EAAcnrE,EAC9C,CAAE,QACAsrE,GAAgB,CAClB,CAIA,IAFA,IAAIQ,EAAYV,EAAmBC,EAE1B91D,EAAI,EAAGA,EAAIu2D,EAAUv2E,OAAQggB,KAEpCmyB,EADeokC,EAAUv2D,MAI3B,OAAOvV,CACT,CA4EA,OAHA2rE,EAAS,CACPvwD,KAAMsvD,GAAYC,QAEbvtC,EAAQ,CACbuuC,SAAUA,EACVF,UAAWA,EACXD,SAAUA,EACVO,eAnEF,SAAwBC,GACtB,GAA2B,mBAAhBA,EACT,MAAM,IAAI7vE,MAA8CkuE,GAAuB,KAGjFa,EAAiBc,EAKjBL,EAAS,CACPvwD,KAAMsvD,GAAYE,SAEtB,IAuDSL,IA9CT,WACE,IAAI/vE,EAEAyxE,EAAiBR,EACrB,OAAOjxE,EAAO,CASZixE,UAAW,SAAmBS,GAC5B,GAAwB,iBAAbA,GAAsC,OAAbA,EAClC,MAAM,IAAI/vE,MAA8CkuE,GAAuB,KAGjF,SAAS8B,IACHD,EAAS77D,MACX67D,EAAS77D,KAAKm7D,IAElB,CAIA,OAFAW,IAEO,CACLC,YAFgBH,EAAeE,GAInC,IACM5B,IAAgB,WACtB,OAAOh5E,IACT,EAAGiJ,CACL,EAaqC4iC,CACvC,CA6PA,SAASivC,KACP,IAAK,IAAIz1E,EAAOV,UAAUX,OAAQ+2E,EAAQ,IAAIz1E,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAChFw1E,EAAMx1E,GAAQZ,UAAUY,GAG1B,OAAqB,IAAjBw1E,EAAM/2E,OACD,SAAUsE,GACf,OAAOA,CACT,EAGmB,IAAjByyE,EAAM/2E,OACD+2E,EAAM,GAGRA,EAAM52E,QAAO,SAAUm4B,EAAG/Y,GAC/B,OAAO,WACL,OAAO+Y,EAAE/Y,EAAE1e,WAAM,EAAQF,WAC3B,CACF,GACF,CAmBA,SAASq2E,KACP,IAAK,IAAI31E,EAAOV,UAAUX,OAAQi3E,EAAc,IAAI31E,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IACtF01E,EAAY11E,GAAQZ,UAAUY,GAGhC,OAAO,SAAUg0E,GACf,OAAO,WACL,IAAI2B,EAAQ3B,EAAY10E,WAAM,EAAQF,WAElCw2E,EAAY,WACd,MAAM,IAAIvwE,MAA8CkuE,GAAuB,IACjF,EAEIsC,EAAgB,CAClBnB,SAAUiB,EAAMjB,SAChBG,SAAU,WACR,OAAOe,EAAUt2E,WAAM,EAAQF,UACjC,GAEE02E,EAAQJ,EAAY/nC,KAAI,SAAUooC,GACpC,OAAOA,EAAWF,EACpB,IAEA,OADAD,EAAYL,GAAQj2E,WAAM,EAAQw2E,EAAtBP,CAA6BI,EAAMd,WACxC,SAAc,QAAc,CAAC,EAAGc,GAAQ,CAAC,EAAG,CACjDd,SAAUe,GAEd,CACF,CACF,CC3rBA,SAASI,GAAsBC,GAqB7B,OAlBiB,SAAoBvyE,GACnC,IAAImxE,EAAWnxE,EAAKmxE,SAChBH,EAAWhxE,EAAKgxE,SACpB,OAAO,SAAUn7D,GACf,OAAO,SAAUrQ,GAGf,MAAsB,mBAAXA,EAEFA,EAAO2rE,EAAUH,EAAUuB,GAI7B18D,EAAKrQ,EACd,CACF,CACF,CAGF,CAEA,IAAIgtE,GAAQF,KAGZE,GAAMC,kBAAoBH,GAC1B,YC/BA,IACQj4D,GADJI,IACIJ,GAAgB,SAAUhL,EAAGiL,GAI7B,OAHAD,GAAgB3f,OAAO6f,gBAClB,CAAEC,UAAW,cAAgBne,OAAS,SAAUgT,EAAGiL,GAAKjL,EAAEmL,UAAYF,CAAG,GAC1E,SAAUjL,EAAGiL,GAAK,IAAK,IAAIxf,KAAKwf,EAAO5f,OAAOhC,UAAUuJ,eAAe7J,KAAKkiB,EAAGxf,KAAIuU,EAAEvU,GAAKwf,EAAExf,GAAI,EAC7Fuf,GAAchL,EAAGiL,EAC5B,EACO,SAAUjL,EAAGiL,GAChB,GAAiB,mBAANA,GAA0B,OAANA,EAC3B,MAAM,IAAImB,UAAU,uBAAyBjJ,OAAO8H,GAAK,iCAE7D,SAASI,IAAO3jB,KAAKH,YAAcyY,CAAG,CADtCgL,GAAchL,EAAGiL,GAEjBjL,EAAE3W,UAAkB,OAAN4hB,EAAa5f,OAAOigB,OAAOL,IAAMI,EAAGhiB,UAAY4hB,EAAE5hB,UAAW,IAAIgiB,EACnF,GA6BAg4D,GAAgD,SAAUliD,EAAID,GAC9D,IAAK,IAAIxV,EAAI,EAAGqY,EAAK7C,EAAKx1B,OAAQu4B,EAAI9C,EAAGz1B,OAAQggB,EAAIqY,EAAIrY,IAAKuY,IAC1D9C,EAAG8C,GAAK/C,EAAKxV,GACjB,OAAOyV,CACX,EACImiD,GAAYj4E,OAAOuhB,eACnB22D,GAAal4E,OAAO21D,iBACpBwiB,GAAoBn4E,OAAO01D,0BAC3B0iB,GAAsBp4E,OAAOwgB,sBAC7B63D,GAAer4E,OAAOhC,UAAUuJ,eAChC+wE,GAAet4E,OAAOhC,UAAUyiB,qBAChC83D,GAAkB,SAAU19D,EAAKhC,EAAK9b,GAAS,OAAO8b,KAAOgC,EAAMo9D,GAAUp9D,EAAKhC,EAAK,CAAE28C,YAAY,EAAM8c,cAAc,EAAMD,UAAU,EAAMt1E,MAAOA,IAAW8d,EAAIhC,GAAO9b,CAAO,EACnLy7E,GAAiB,SAAU7/C,EAAG/Y,GAC9B,IAAK,IAAI4zC,KAAQ5zC,IAAMA,EAAI,CAAC,GACpBy4D,GAAa36E,KAAKkiB,EAAG4zC,IACrB+kB,GAAgB5/C,EAAG66B,EAAM5zC,EAAE4zC,IACnC,GAAI4kB,GACA,IAAK,IAAIr3E,EAAK,EAAGikB,EAAKozD,GAAoBx4D,GAAI7e,EAAKikB,EAAG3kB,OAAQU,IACtDyyD,EAAOxuC,EAAGjkB,GACVu3E,GAAa56E,KAAKkiB,EAAG4zC,IACrB+kB,GAAgB5/C,EAAG66B,EAAM5zC,EAAE4zC,IAEvC,OAAO76B,CACX,EACI8/C,GAAgB,SAAU9/C,EAAG/Y,GAAK,OAAOs4D,GAAWv/C,EAAGw/C,GAAkBv4D,GAAK,EAkD9E84D,GAAwC,oBAAXtwE,QAA0BA,OAAOuwE,qCAAuCvwE,OAAOuwE,qCAAuC,WACnJ,GAAyB,IAArB33E,UAAUX,OAEd,MAA4B,iBAAjBW,UAAU,GACVm2E,GACJA,GAAQj2E,MAAM,KAAMF,UAC/B,EACyC,oBAAXoH,QAA0BA,OAAOwwE,8BAA+BxwE,OAAOwwE,6BA0CrG,IAAIC,GAAiC,SAAUt7E,GAE3C,SAASs7E,IAEL,IADA,IAAI/3E,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAItD,EAAQF,EAAO2D,MAAM7E,KAAMyE,IAASzE,KAExC,OADA2D,OAAO6f,eAAepiB,EAAOo7E,EAAgB76E,WACtCP,CACX,CAyBA,OAlCAsiB,GAAU84D,EAAiBt7E,GAU3ByC,OAAOuhB,eAAes3D,EAAiBj4D,OAAOk4D,QAAS,CACnDh/C,IAAK,WACD,OAAO++C,CACX,EACArjB,YAAY,EACZ8c,cAAc,IAElBuG,EAAgB76E,UAAUwE,OAAS,WAE/B,IADA,IAAIu2E,EAAM,GACDh4E,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCg4E,EAAIh4E,GAAMC,UAAUD,GAExB,OAAOxD,EAAOS,UAAUwE,OAAOtB,MAAM7E,KAAM08E,EAC/C,EACAF,EAAgB76E,UAAUg7E,QAAU,WAEhC,IADA,IAAID,EAAM,GACDh4E,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCg4E,EAAIh4E,GAAMC,UAAUD,GAExB,OAAmB,IAAfg4E,EAAI14E,QAAgBsB,MAAMiD,QAAQm0E,EAAI,IAC/B,IAAKF,EAAgBx7C,KAAKn8B,MAAM23E,EAAiBb,GAAc,MAAC,GAASe,EAAI,GAAGv2E,OAAOnG,SAE3F,IAAKw8E,EAAgBx7C,KAAKn8B,MAAM23E,EAAiBb,GAAc,MAAC,GAASe,EAAIv2E,OAAOnG,QAC/F,EACOw8E,CACX,CApCoC,CAoClCl3E,OACEs3E,GAA+B,SAAU17E,GAEzC,SAAS07E,IAEL,IADA,IAAIn4E,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,IAAItD,EAAQF,EAAO2D,MAAM7E,KAAMyE,IAASzE,KAExC,OADA2D,OAAO6f,eAAepiB,EAAOw7E,EAAcj7E,WACpCP,CACX,CAyBA,OAlCAsiB,GAAUk5D,EAAe17E,GAUzByC,OAAOuhB,eAAe03D,EAAer4D,OAAOk4D,QAAS,CACjDh/C,IAAK,WACD,OAAOm/C,CACX,EACAzjB,YAAY,EACZ8c,cAAc,IAElB2G,EAAcj7E,UAAUwE,OAAS,WAE7B,IADA,IAAIu2E,EAAM,GACDh4E,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCg4E,EAAIh4E,GAAMC,UAAUD,GAExB,OAAOxD,EAAOS,UAAUwE,OAAOtB,MAAM7E,KAAM08E,EAC/C,EACAE,EAAcj7E,UAAUg7E,QAAU,WAE9B,IADA,IAAID,EAAM,GACDh4E,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCg4E,EAAIh4E,GAAMC,UAAUD,GAExB,OAAmB,IAAfg4E,EAAI14E,QAAgBsB,MAAMiD,QAAQm0E,EAAI,IAC/B,IAAKE,EAAc57C,KAAKn8B,MAAM+3E,EAAejB,GAAc,MAAC,GAASe,EAAI,GAAGv2E,OAAOnG,SAEvF,IAAK48E,EAAc57C,KAAKn8B,MAAM+3E,EAAejB,GAAc,MAAC,GAASe,EAAIv2E,OAAOnG,QAC3F,EACO48E,CACX,CApCkC,CAoChCt3E,OACF,SAASu3E,GAAgBC,GACrB,OAAO,EAAYA,GAAO,GAAgBA,GAAK,WAC/C,IAAKA,CACT,CA8RA,IAAIC,IAAgB,EACpB,SAASC,GAAer6B,GACpB,IAEIs6B,EAFAC,EArCG,SAAqCv6B,GACxC,OAGR,SAA8BA,QACV,IAAZA,IAAsBA,EAAU,CAAC,GACrC,IAAIh6B,EAAKg6B,EAAQ84B,MAAOA,OAAe,IAAP9yD,GAAuBA,EACnDw0D,GAD4Dx6B,EAAQy6B,eAAiEz6B,EAAQ06B,kBAC3H,IAAIb,IAyB1B,OAxBIf,IAZR,SAAmBljE,GACf,MAAoB,kBAANA,CAClB,CAWY+kE,CAAU7B,GACV0B,EAAgBt4D,KAAK,IAGrBs4D,EAAgBt4D,KAAK,qBAAkC42D,EAAMD,iBAmB9D2B,CACX,CAhCeI,CAAqB56B,EAChC,EAoCIh6B,EAAKg6B,GAAW,CAAC,EAAG/5B,EAAKD,EAAG6wD,QAASA,OAAiB,IAAP5wD,OAAgB,EAASA,EAAIC,EAAKF,EAAG2yD,WAAYA,OAAoB,IAAPzyD,EAAgBq0D,IAAgCr0D,EAAIC,EAAKH,EAAG60D,SAAUA,OAAkB,IAAP10D,GAAuBA,EAAIE,EAAKL,EAAG8wD,eAAgBA,OAAwB,IAAPzwD,OAAgB,EAASA,EAAIE,EAAKP,EAAG80D,UAAWA,OAAmB,IAAPv0D,OAAgB,EAASA,EAE3V,GAAuB,mBAAZswD,EACPyD,EAAczD,MAEb,KAvZT,SAAuB94E,GACnB,GAAqB,iBAAVA,GAAgC,OAAVA,EAC7B,OAAO,EACX,IAAI25E,EAAQ12E,OAAO4xE,eAAe70E,GAClC,GAAc,OAAV25E,EACA,OAAO,EAEX,IADA,IAAIqD,EAAYrD,EAC4B,OAArC12E,OAAO4xE,eAAemI,IACzBA,EAAY/5E,OAAO4xE,eAAemI,GAEtC,OAAOrD,IAAUqD,CACrB,CA4Ya,CAAclE,GAInB,MAAM,IAAI5uE,MAAM,4HAHhBqyE,EFrCR,SAAyBU,GAIvB,IAHA,IAAIC,EAAcj6E,OAAOC,KAAK+5E,GAC1BE,EAAgB,CAAC,EAEZ75D,EAAI,EAAGA,EAAI45D,EAAY55E,OAAQggB,IAAK,CAC3C,IAAIxH,EAAMohE,EAAY55D,GAQO,mBAAlB25D,EAASnhE,KAClBqhE,EAAcrhE,GAAOmhE,EAASnhE,GAElC,CAEA,IASIshE,EATAC,EAAmBp6E,OAAOC,KAAKi6E,GAWnC,KAjEF,SAA4BF,GAC1Bh6E,OAAOC,KAAK+5E,GAAU16E,SAAQ,SAAUuZ,GACtC,IAAIg9D,EAAUmE,EAASnhE,GAKvB,QAA4B,IAJTg9D,OAAQpzE,EAAW,CACpCyjB,KAAMsvD,GAAYC,OAIlB,MAAM,IAAIxuE,MAA8CkuE,GAAuB,KAGjF,QAEO,IAFIU,OAAQpzE,EAAW,CAC5ByjB,KAAMsvD,GAAYG,yBAElB,MAAM,IAAI1uE,MAA8CkuE,GAAuB,IAEnF,GACF,CAiDIkF,CAAmBH,EACrB,CAAE,MAAOrtE,GACPstE,EAAsBttE,CACxB,CAEA,OAAO,SAAqB9O,EAAO+M,GAKjC,QAJc,IAAV/M,IACFA,EAAQ,CAAC,GAGPo8E,EACF,MAAMA,EAcR,IAX2C,IAQvCG,GAAa,EACbpY,EAAY,CAAC,EAERnhE,EAAK,EAAGA,EAAKq5E,EAAiB/5E,OAAQU,IAAM,CACnD,IAAIa,EAAOw4E,EAAiBr5E,GACxB80E,EAAUqE,EAAct4E,GACxB24E,EAAsBx8E,EAAM6D,GAC5B44E,EAAkB3E,EAAQ0E,EAAqBzvE,GAEnD,QAA+B,IAApB0vE,EAET,MADiB1vE,GAAUA,EAAOob,KAC5B,IAAIjf,MAA8CkuE,GAAuB,KAGjFjT,EAAUtgE,GAAQ44E,EAClBF,EAAaA,GAAcE,IAAoBD,CACjD,CAGA,OADAD,EAAaA,GAAcF,EAAiB/5E,SAAWL,OAAOC,KAAKlC,GAAOsC,QACtD6hE,EAAYnkE,CAClC,CACF,CEpCsB08E,CAAgB5E,EAIlC,CACA,IAAI6E,EAAkB/C,EACtB,GAA+B,mBAApB+C,IACPA,EAAkBA,EAAgBnB,IAC7BH,KAAkBz3E,MAAMiD,QAAQ81E,IACjC,MAAM,IAAIzzE,MAAM,qFAGxB,IAAKmyE,IAAiBsB,EAAgB5/B,MAAK,SAAUrjC,GAAQ,MAAuB,mBAATA,CAAqB,IAC5F,MAAM,IAAIxQ,MAAM,iEAEpB,IAAI0zE,EAAqBtD,GAAgBn2E,WAAM,EAAQw5E,GACnDE,EAAezD,GACf0C,IACAe,EAAelC,GAAoBF,GAAe,CAC9CqC,OAAQzB,IACW,iBAAbS,GAAyBA,KAEvC,IAAIiB,EAAmB,IAAI7B,GAAc0B,GACrCI,EAAiBD,EAQrB,OAPIn5E,MAAMiD,QAAQk1E,GACdiB,EAAiB/C,GAAc,CAAC2C,GAAqBb,GAE3B,mBAAdA,IACZiB,EAAiBjB,EAAUgB,IAGxBlF,GAAY0D,EAAaxD,EADT8E,EAAa15E,WAAM,EAAQ65E,GAEtD,CAEA,SAASC,GAAa90D,EAAM+0D,GACxB,SAASC,IAEL,IADA,IAAIp6E,EAAO,GACFC,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCD,EAAKC,GAAMC,UAAUD,GAEzB,GAAIk6E,EAAe,CACf,IAAIE,EAAWF,EAAc/5E,WAAM,EAAQJ,GAC3C,IAAKq6E,EACD,MAAM,IAAIl0E,MAAM,0CAEpB,OAAOuxE,GAAeA,GAAe,CACjCtyD,KAAMA,EACNjpB,QAASk+E,EAASl+E,SACnB,SAAUk+E,GAAY,CAAEC,KAAMD,EAASC,OAAS,UAAWD,GAAY,CAAE7/D,MAAO6/D,EAAS7/D,OAChG,CACA,MAAO,CAAE4K,KAAMA,EAAMjpB,QAAS6D,EAAK,GACvC,CAIA,OAHAo6E,EAAc1yB,SAAW,WAAc,MAAO,GAAKtiC,CAAM,EACzDg1D,EAAch1D,KAAOA,EACrBg1D,EAAcrN,MAAQ,SAAU/iE,GAAU,OAAOA,EAAOob,OAASA,CAAM,EAChEg1D,CACX,CAgBA,SAASG,GAA8BC,GACnC,IAEIC,EAFAC,EAAa,CAAC,EACdC,EAAiB,GAEjBC,EAAU,CACVC,QAAS,SAAUC,EAAqB/F,GASpC,IAAI3vD,EAAsC,iBAAxB01D,EAAmCA,EAAsBA,EAAoB11D,KAC/F,GAAIA,KAAQs1D,EACR,MAAM,IAAIv0E,MAAM,uEAGpB,OADAu0E,EAAWt1D,GAAQ2vD,EACZ6F,CACX,EACAG,WAAY,SAAUC,EAASjG,GAO3B,OADA4F,EAAev6D,KAAK,CAAE46D,QAASA,EAASjG,QAASA,IAC1C6F,CACX,EACAK,eAAgB,SAAUlG,GAOtB,OADA0F,EAAqB1F,EACd6F,CACX,GAGJ,OADAJ,EAAgBI,GACT,CAACF,EAAYC,EAAgBF,EACxC,CAMA,SAASS,GAAcloC,EAAcmoC,EAAsBR,EAAgBF,QAChD,IAAnBE,IAA6BA,EAAiB,IASlD,IACIS,EADAl3D,EAAqC,mBAAzBi3D,EAAsCZ,GAA8BY,GAAwB,CAACA,EAAsBR,EAAgBF,GAAqBC,EAAax2D,EAAG,GAAIm3D,EAAsBn3D,EAAG,GAAIo3D,EAA0Bp3D,EAAG,GAEtP,GAhBJ,SAAyBpQ,GACrB,MAAoB,mBAANA,CAClB,CAcQynE,CAAgBvoC,GAChBooC,EAAkB,WAAc,OAAOhD,GAAgBplC,IAAiB,MAEvE,CACD,IAAIwoC,EAAuBpD,GAAgBplC,GAC3CooC,EAAkB,WAAc,OAAOI,CAAsB,CACjE,CACA,SAASzG,EAAQ93E,EAAO+M,QACN,IAAV/M,IAAoBA,EAAQm+E,KAChC,IAAIK,EAAevE,GAAc,CAC7BwD,EAAW1wE,EAAOob,OACnBi2D,EAAoBh8E,QAAO,SAAU6kB,GAEpC,OAAO82D,EADO92D,EAAG82D,SACFhxE,EACnB,IAAGykC,KAAI,SAAUvqB,GAEb,OADeA,EAAG6wD,OAEtB,KAIA,OAHmE,IAA/D0G,EAAap8E,QAAO,SAAUq8E,GAAM,QAASA,CAAI,IAAGn8E,SACpDk8E,EAAe,CAACH,IAEbG,EAAa/7E,QAAO,SAAUi8E,EAAeC,GAChD,GAAIA,EAAa,CAET,IAQIllD,EATR,GAAI,EAASilD,GAGT,YAAe,KADXjlD,EAASklD,EADDD,EACoB3xE,IAErB2xE,EAEJjlD,EAEN,GAAK,EAAailD,GAWnB,OAAO,GAAiBA,GAAe,SAAUE,GAC7C,OAAOD,EAAYC,EAAO7xE,EAC9B,IAXA,QAAe,KADX0sB,EAASklD,EAAYD,EAAe3xE,IACjB,CACnB,GAAsB,OAAlB2xE,EACA,OAAOA,EAEX,MAAMx1E,MAAM,oEAChB,CACA,OAAOuwB,CAOf,CACA,OAAOilD,CACX,GAAG1+E,EACP,CAEA,OADA83E,EAAQqG,gBAAkBA,EACnBrG,CACX,CAMA,SAAS+G,GAAY59B,GACjB,IAAIngD,EAAOmgD,EAAQngD,KACnB,IAAKA,EACD,MAAM,IAAIoI,MAAM,+CAOpB,IA8CI41E,EA9CA/oC,EAA8C,mBAAxBkL,EAAQlL,aAA6BkL,EAAQlL,aAAeolC,GAAgBl6B,EAAQlL,cAC1GkmC,EAAWh7B,EAAQg7B,UAAY,CAAC,EAChC8C,EAAe98E,OAAOC,KAAK+5E,GAC3B+C,EAA0B,CAAC,EAC3BC,EAA0B,CAAC,EAC3BC,EAAiB,CAAC,EAiBtB,SAASC,IASL,IAAIl4D,EAAsC,mBAA1Bg6B,EAAQm+B,cAA+B9B,GAA8Br8B,EAAQm+B,eAAiB,CAACn+B,EAAQm+B,eAAgBl4D,EAAKD,EAAG,GAAIm4D,OAAuB,IAAPl4D,EAAgB,CAAC,EAAIA,EAAIC,EAAKF,EAAG,GAAIy2D,OAAwB,IAAPv2D,EAAgB,GAAKA,EAAIC,EAAKH,EAAG,GAAIu2D,OAA4B,IAAPp2D,OAAgB,EAASA,EACxSi4D,EAAoB5E,GAAeA,GAAe,CAAC,EAAG2E,GAAgBH,GAC1E,OAAOhB,GAAcloC,GAAc,SAAU4nC,GACzC,IAAK,IAAI7iE,KAAOukE,EACZ1B,EAAQC,QAAQ9iE,EAAKukE,EAAkBvkE,IAE3C,IAAK,IAAI9X,EAAK,EAAGs8E,EAAmB5B,EAAgB16E,EAAKs8E,EAAiBh9E,OAAQU,IAAM,CACpF,IAAI+f,EAAIu8D,EAAiBt8E,GACzB26E,EAAQG,WAAW/6D,EAAEg7D,QAASh7D,EAAE+0D,QACpC,CACI0F,GACAG,EAAQK,eAAeR,EAE/B,GACJ,CAEA,OAzCAuB,EAAax9E,SAAQ,SAAUg+E,GAC3B,IAEIZ,EACAa,EAHAC,EAA0BxD,EAASsD,GACnCp3D,EAAgBrnB,EApBT,IAoBey+E,EAGtB,YAAaE,GACbd,EAAcc,EAAwB3H,QACtC0H,EAAkBC,EAAwBC,SAG1Cf,EAAcc,EAElBT,EAAwBO,GAAeZ,EACvCM,EAAwB92D,GAAQw2D,EAChCO,EAAeK,GAAeC,EAAkBvC,GAAa90D,EAAMq3D,GAAmBvC,GAAa90D,EACvG,IA0BO,CACHrnB,KAAMA,EACNg3E,QAAS,SAAU93E,EAAO+M,GAGtB,OAFK+xE,IACDA,EAAWK,KACRL,EAAS9+E,EAAO+M,EAC3B,EACAs5C,QAAS64B,EACTV,aAAcQ,EACdb,gBAAiB,WAGb,OAFKW,IACDA,EAAWK,KACRL,EAASX,iBACpB,EAER,CAiVA,IAWIwB,GAAmB,CACnB,OACA,UACA,QACA,QAEAC,GACA,SAAyB1gF,EAASm+E,GAC9B/+E,KAAKY,QAAUA,EACfZ,KAAK++E,KAAOA,CAChB,EAGAwC,GACA,SAAyB3gF,EAASm+E,GAC9B/+E,KAAKY,QAAUA,EACfZ,KAAK++E,KAAOA,CAChB,EAGAyC,GAAqB,SAAU9gF,GAC/B,GAAqB,iBAAVA,GAAgC,OAAVA,EAAgB,CAE7C,IADA,IAAI+gF,EAAc,CAAC,EACV/8E,EAAK,EAAGg9E,EAAqBL,GAAkB38E,EAAKg9E,EAAmB19E,OAAQU,IAAM,CAC1F,IAAI+qB,EAAWiyD,EAAmBh9E,GACH,iBAApBhE,EAAM+uB,KACbgyD,EAAYhyD,GAAY/uB,EAAM+uB,GAEtC,CACA,OAAOgyD,CACX,CACA,MAAO,CAAE92E,QAAS8Q,OAAO/a,GAC7B,EA8JA,SAASihF,GAAalzE,GAClB,GAAIA,EAAOswE,MAAQtwE,EAAOswE,KAAK6C,kBAC3B,MAAMnzE,EAAO7N,QAEjB,GAAI6N,EAAOwQ,MACP,MAAMxQ,EAAOwQ,MAEjB,OAAOxQ,EAAO7N,OAClB,EArKuB,WACnB,SAASihF,EAAkBC,EAAYC,EAAgBp/B,GACnD,IAAI3nB,EAAY2jD,GAAamD,EAAa,cAAc,SAAUlhF,EAASohF,EAAW15E,EAAKy2E,GAAQ,MAAO,CACtGn+E,QAASA,EACTm+E,KAAM3C,GAAcD,GAAe,CAAC,EAAG4C,GAAQ,CAAC,GAAI,CAChDz2E,IAAKA,EACL05E,UAAWA,EACXC,cAAe,cAEnB,IACA9wE,EAAUwtE,GAAamD,EAAa,YAAY,SAAUE,EAAW15E,EAAKy2E,GAAQ,MAAO,CACzFn+E,aAAS,EACTm+E,KAAM3C,GAAcD,GAAe,CAAC,EAAG4C,GAAQ,CAAC,GAAI,CAChDz2E,IAAKA,EACL05E,UAAWA,EACXC,cAAe,YAEnB,IACA/mD,EAAWyjD,GAAamD,EAAa,aAAa,SAAU7iE,EAAO+iE,EAAW15E,EAAK1H,EAASm+E,GAAQ,MAAO,CAC3Gn+E,QAASA,EACTqe,OAAQ0jC,GAAWA,EAAQu/B,gBAAkBV,IAAoBviE,GAAS,YAC1E8/D,KAAM3C,GAAcD,GAAe,CAAC,EAAG4C,GAAQ,CAAC,GAAI,CAChDz2E,IAAKA,EACL05E,UAAWA,EACXJ,oBAAqBhhF,EACrBqhF,cAAe,WACfE,QAAmD,gBAAhC,MAATljE,OAAgB,EAASA,EAAMzc,MACzCkI,UAAqD,oBAAhC,MAATuU,OAAgB,EAASA,EAAMzc,QAE/C,IAEA4/E,EAAgC,oBAApBC,gBAAkCA,gBAAiC,WAC/E,SAASC,IACLtiF,KAAKuiF,OAAS,CACVJ,SAAS,EACTrwE,iBAAkB,WAClB,EACA9F,cAAe,WACX,OAAO,CACX,EACAw2E,QAAS,WACT,EACAxwE,oBAAqB,WACrB,EACAywE,YAAQ,EACRC,eAAgB,WAChB,EAER,CASA,OARAJ,EAAQ3gF,UAAU2hD,MAAQ,WAO1B,EACOg/B,CACX,CA3BkF,GAoHlF,OAAO3+E,OAAOuG,QAxFd,SAAuB5B,GACnB,OAAO,SAAU8xE,EAAUH,EAAU0I,GACjC,IAEIC,EAFAZ,GAAwB,MAAXr/B,OAAkB,EAASA,EAAQkgC,aAAelgC,EAAQkgC,YAAYv6E,GAxG1F,SAAUiM,QACN,IAATA,IAAmBA,EAAO,IAG9B,IAFA,IAAIgJ,EAAK,GACLyG,EAAIzP,EACDyP,KACHzG,GANU,mEAMwB,GAAhBisB,KAAKyoB,SAAgB,GAE3C,OAAO10C,CACX,CAgG8GulE,GAC1FC,EAAkB,IAAIX,EAG1B,SAAS9+B,EAAMm/B,GACXG,EAAcH,EACdM,EAAgBz/B,OACpB,CACA,IAAI0/B,EAAW,WACX,OA/pCIC,EA+pCWjjF,KA/pCHkjF,EA+pCS,KA/pCItoD,EA+pCE,WACvB,IAAIz4B,EAAIgX,EAAIgqE,EAAaC,EAAiBC,EAAgBC,EAC1D,OArtCwB,SAAU7oD,EAAS5vB,GAC/D,IAAsGywB,EAAG9iB,EAAGsL,EAAGyX,EAA3GC,EAAI,CAAElkB,MAAO,EAAGmkB,KAAM,WAAa,GAAW,EAAP3X,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,EAAI,EAAG4X,KAAM,GAAIC,IAAK,IAChG,OAAOJ,EAAI,CAAEzc,KAAM8c,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,mBAAXrX,SAA0BgX,EAAEhX,OAAOC,UAAY,WAAa,OAAOxkB,IAAM,GAAIu7B,EACvJ,SAASK,EAAK3X,GAAK,OAAO,SAAU4X,GAAK,OACzC,SAAcC,GACV,GAAIR,EAAG,MAAM,IAAI5W,UAAU,mCAC3B,KAAO8W,OACH,GAAIF,EAAI,EAAG9iB,IAAMsL,EAAY,EAARgY,EAAG,GAAStjB,EAAU,OAAIsjB,EAAG,GAAKtjB,EAAS,SAAOsL,EAAItL,EAAU,SAAMsL,EAAEziB,KAAKmX,GAAI,GAAKA,EAAEsG,SAAWgF,EAAIA,EAAEziB,KAAKmX,EAAGsjB,EAAG,KAAK/c,KAAM,OAAO+E,EAE3J,OADItL,EAAI,EAAGsL,IAAGgY,EAAK,CAAS,EAARA,EAAG,GAAQhY,EAAEpjB,QACzBo7B,EAAG,IACP,KAAK,EAAG,KAAK,EAAGhY,EAAIgY,EAAI,MACxB,KAAK,EAAc,OAAXN,EAAElkB,QAAgB,CAAE5W,MAAOo7B,EAAG,GAAI/c,MAAM,GAChD,KAAK,EAAGyc,EAAElkB,QAASkB,EAAIsjB,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKN,EAAEG,IAAII,MAAOP,EAAEE,KAAKK,MAAO,SACxC,QACI,MAAkBjY,GAAZA,EAAI0X,EAAEE,MAAY13B,OAAS,GAAK8f,EAAEA,EAAE9f,OAAS,KAAkB,IAAV83B,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEN,EAAI,EAAG,QAAU,CAC3G,GAAc,IAAVM,EAAG,MAAchY,GAAMgY,EAAG,GAAKhY,EAAE,IAAMgY,EAAG,GAAKhY,EAAE,IAAM,CAAE0X,EAAElkB,MAAQwkB,EAAG,GAAI,KAAO,CACrF,GAAc,IAAVA,EAAG,IAAYN,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAIA,EAAIgY,EAAI,KAAO,CACpE,GAAIhY,GAAK0X,EAAElkB,MAAQwM,EAAE,GAAI,CAAE0X,EAAElkB,MAAQwM,EAAE,GAAI0X,EAAEG,IAAI9W,KAAKiX,GAAK,KAAO,CAC9DhY,EAAE,IAAI0X,EAAEG,IAAII,MAChBP,EAAEE,KAAKK,MAAO,SAEtBD,EAAKjxB,EAAKxJ,KAAKo5B,EAASe,EAC5B,CAAE,MAAOhrB,GAAKsrB,EAAK,CAAC,EAAGtrB,GAAIgI,EAAI,CAAG,CAAE,QAAU8iB,EAAIxX,EAAI,CAAG,CACzD,GAAY,EAARgY,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAEp7B,MAAOo7B,EAAG,GAAKA,EAAG,QAAK,EAAQ/c,MAAM,EAC9E,CAtBgDkc,CAAK,CAAChX,EAAG4X,GAAK,CAAG,CAuBrE,CA2rC+BR,CAAYr7B,MAAM,SAAU2oB,GAC/B,OAAQA,EAAGrR,OACP,KAAK,EAGD,OAFAqR,EAAG+S,KAAK7W,KAAK,CAAC,EAAG,EAAG,CAAE,IA4FrC,QADDnkB,EA1FgB0iF,EAAyE,OAAtDjhF,EAAgB,MAAXwgD,OAAkB,EAASA,EAAQj4C,gBAAqB,EAASvI,EAAGd,KAAKshD,EAASr6C,EAAK,CAAE2xE,SAAUA,EAAU0I,MAAOA,MA2FlI,iBAAVjiF,GAA4C,mBAAfA,EAAM06B,KA1FM,CAAC,EAAa,GAChD,CAAC,EAAagoD,GACzB,KAAK,EACDA,EAAkBz6D,EAAG8S,OACrB9S,EAAGrR,MAAQ,EACf,KAAK,EACD,IAAwB,IAApB8rE,GAA6BL,EAAgBR,OAAOJ,QACpD,KAAM,CACF3/E,KAAM,iBACNmI,QAAS,sDASjB,OALA04E,EAAiB,IAAIxoD,SAAQ,SAAUW,EAAGT,GAAU,OAAOgoD,EAAgBR,OAAOzwE,iBAAiB,SAAS,WAAc,OAAOipB,EAAO,CACpIv4B,KAAM,aACNmI,QAASi4E,GAAe,WACxB,GAAI,IACRxI,EAASjpE,EAAQ6wE,EAAW15E,EAAiE,OAA3D6Q,EAAgB,MAAXwpC,OAAkB,EAASA,EAAQ4gC,qBAA0B,EAASpqE,EAAG9X,KAAKshD,EAAS,CAAEq/B,UAAWA,EAAW15E,IAAKA,GAAO,CAAE2xE,SAAUA,EAAU0I,MAAOA,MACxL,CAAC,EAAa9nD,QAAQ2oD,KAAK,CAC1BH,EACAxoD,QAAQC,QAAQinD,EAAez5E,EAAK,CAChC8xE,SAAUA,EACVH,SAAUA,EACV0I,MAAOA,EACPX,UAAWA,EACXO,OAAQQ,EAAgBR,OACxBj/B,MAAOA,EACPmgC,gBAAiB,SAAU/iF,EAAOq+E,GAC9B,OAAO,IAAIuC,GAAgB5gF,EAAOq+E,EACtC,EACA2E,iBAAkB,SAAUhjF,EAAOq+E,GAC/B,OAAO,IAAIwC,GAAgB7gF,EAAOq+E,EACtC,KACA3jD,MAAK,SAAUD,GACf,GAAIA,aAAkBmmD,GAClB,MAAMnmD,EAEV,OAAIA,aAAkBomD,GACXvmD,EAAUG,EAAOv6B,QAASohF,EAAW15E,EAAK6yB,EAAO4jD,MAErD/jD,EAAUG,EAAQ6mD,EAAW15E,EACxC,OAEZ,KAAK,EAED,OADA66E,EAAcx6D,EAAG8S,OACV,CAAC,EAAa,GACzB,KAAK,EAGD,OAFA6nD,EAAQ36D,EAAG8S,OACX0nD,EAAcG,aAAiBhC,GAAkBpmD,EAAS,KAAM8mD,EAAW15E,EAAKg7E,EAAM1iF,QAAS0iF,EAAMvE,MAAQ7jD,EAASooD,EAAOtB,EAAW15E,GACjI,CAAC,EAAa,GACzB,KAAK,EAKD,OAJeq6C,IAAYA,EAAQghC,4BAA8BzoD,EAASs2C,MAAM2R,IAAgBA,EAAYpE,KAAKr0E,WAE7G0vE,EAAS+I,GAEN,CAAC,EAAcA,GAkC1D,IAAoBziF,CAhCI,GACJ,EA/tCT,IAAIm6B,SAAQ,SAAUC,EAASC,GAClC,IAAIC,EAAY,SAAUt6B,GACtB,IACIu6B,EAAKL,EAAU9b,KAAKpe,GACxB,CACA,MAAO8P,GACHuqB,EAAOvqB,EACX,CACJ,EACI0qB,EAAW,SAAUx6B,GACrB,IACIu6B,EAAKL,EAAUgpD,MAAMljF,GACzB,CACA,MAAO8P,GACHuqB,EAAOvqB,EACX,CACJ,EACIyqB,EAAO,SAAU1iB,GAAK,OAAOA,EAAEwG,KAAO+b,EAAQviB,EAAE7X,OAASm6B,QAAQC,QAAQviB,EAAE7X,OAAO06B,KAAKJ,EAAWE,EAAW,EACjHD,GAAML,EAAYA,EAAU/1B,MAAMo+E,EAAQC,IAAcpkE,OAC5D,IApBU,IAAUmkE,EAAQC,EAAatoD,CAiuC7B,CAnEe,GAoEf,OAAOj3B,OAAOuG,OAAO84E,EAAU,CAC3B1/B,MAAOA,EACP0+B,UAAWA,EACX15E,IAAKA,EACLu7E,OAAQ,WACJ,OAAOb,EAAS5nD,KAAKumD,GACzB,GAER,CACJ,GACoC,CAChCxwE,QAASA,EACT+pB,SAAUA,EACVF,UAAWA,EACX8mD,WAAYA,GAEpB,CACAD,EAAkBiC,UAAY,WAAc,OAAOjC,CAAmB,CAEzE,CA5JsB,GAkaVl+E,OAAOuG,OA5CpB,IA8CI65E,GAAM,qBA2IQpF,GAAaoF,GAAM,QACbpF,GAAaoF,GAAM,cACtBpF,GAAaoF,GAAM,WA+KW,mBAAnBC,gBAAgCA,eAAehjD,KAAuB,oBAAXj1B,OAAyBA,YAA2B,IAAX,EAAAwvB,EAAyB,EAAAA,EAAS0oD,YAQ1I,oBAAXl4E,QAA0BA,OAAOyuD,uBAAwBzuD,OAAOyuD,sBHp4DmnI,WAAa,SAAS12C,EAAEG,EAAE5L,GAAG,IAAIyL,EAAEC,EAAEE,GAAG,OAAOH,EAAEA,EAAEq1C,WAAW9gD,EAAE0L,EAAEE,GAAGH,EAAE,CAACmyD,cAAa,EAAG9c,WAAW9gD,EAAEolB,IAAI,WAAW,IAAIplB,EAAErY,KAAKs1E,GAAG,OAAgD+B,EAAG55C,IAAIplB,EAAE4L,EAAE,EAAE0Z,IAAI,SAAStlB,GAAG,IAAIyL,EAAE9jB,KAAKs1E,GAA6C+B,EAAG15C,IAAI7Z,EAAEG,EAAE5L,EAAE,GAAGyL,CAAC,CAAC,SAAStT,EAAEyT,GAAG,IAAI,IAAI5L,EAAE4L,EAAEjgB,OAAO,EAAEqU,GAAG,EAAEA,IAAI,CAAC,IAAIyL,EAAEG,EAAE5L,GAAGi9D,GAAG,IAAIxxD,EAAE6W,EAAE,OAAO7W,EAAEE,GAAG,KAAK,EAAEsY,EAAExY,IAAImY,EAAEnY,GAAG,MAAM,KAAK,EAAEQ,EAAER,IAAImY,EAAEnY,GAAG,CAAC,CAAC,SAASQ,EAAEL,GAAG,IAAI,IAAI5L,EAAE4L,EAAEH,EAAEA,EAAEG,EAAEgY,EAAEzrB,EAAEmlE,EAAG7xD,GAAGE,EAAExT,EAAExM,OAAO,EAAEggB,GAAG,EAAEA,IAAI,CAAC,IAAIM,EAAE9T,EAAEwT,GAAG,GAAGM,IAAIgxD,EAAE,CAAC,IAAIh5C,EAAEjkB,EAAEiM,GAAG,QAAG,IAASgY,IAAIs5C,EAAEv9D,EAAEiM,GAAG,OAAM,EAAG,IAAIgX,EAAExX,EAAEQ,GAAGP,EAAEuX,GAAGA,EAAEg6C,GAAG,GAAGvxD,EAAEA,EAAED,IAAIwY,GAAGzC,EAAEyB,EAAEgB,GAAG,OAAM,CAAE,CAAC,CAAC,IAAIT,IAAIxjB,EAAEi9D,GAAG,OAAO9kE,EAAExM,SAAS2xE,EAAGt9D,GAAGrU,QAAQ63B,EAAE,EAAE,EAAE,CAAC,SAASS,EAAErY,GAAG,IAAI5L,EAAE4L,EAAEgY,EAAE,GAAG5jB,EAAErU,SAASigB,EAAEH,EAAE9f,OAAO,OAAM,EAAG,IAAI8f,EAAEngB,OAAOm2B,yBAAyBzhB,EAAEA,EAAErU,OAAO,GAAG,GAAG8f,IAAIA,EAAE2Z,IAAI,OAAM,EAAG,IAAI,IAAIjtB,EAAE,EAAEA,EAAE6H,EAAErU,OAAOwM,IAAI,IAAI6H,EAAEnN,eAAesF,GAAG,OAAM,EAAG,OAAM,CAAE,CAA8C,IAAIuT,EAAE,CAAC,GAAlhG,SAAWE,EAAE5L,GAAGi+D,EAAGryD,KAAKqyD,EAAGryD,GAAG5L,EAAE,CAAo/FoM,CAAE,MAAM,CAACizD,EAAE,SAASzzD,EAAE5L,GAAG,IAAI7H,EAAElL,MAAMiD,QAAQ0b,GAAGD,EAAE,SAASC,EAAE5L,GAAG,GAAG4L,EAAE,CAAC,IAAI,IAAIzT,EAAElL,MAAM+S,EAAErU,QAAQggB,EAAE,EAAEA,EAAE3L,EAAErU,OAAOggB,IAAIrgB,OAAOuhB,eAAe1U,EAAE,GAAGwT,EAAEF,EAAEE,GAAE,IAAK,OAAOxT,CAAC,CAAC,IAAI8T,EAAEyxD,EAAG19D,UAAUiM,EAAEgxD,GAAG,IAAI,IAAIM,EAAED,EAAGrxD,GAAGgY,EAAE,EAAEA,EAAEs5C,EAAE5xE,OAAOs4B,IAAI,CAAC,IAAIhB,EAAEs6C,EAAEt5C,GAAGhY,EAAEgX,GAAGxX,EAAEwX,EAAErX,KAAKK,EAAEgX,GAAG69B,WAAW,CAAC,OAAOx1D,OAAOigB,OAAOjgB,OAAO4xE,eAAel9D,GAAGiM,EAAE,CAAtQ,CAAwQ9T,EAAEyT,GAAGK,EAAE,CAACN,EAAExT,EAAE,EAAE,EAAEomE,EAAEv+D,EAAEA,EAAEu+D,EAAEp7C,IAAIb,GAAE,EAAGk8C,GAAE,EAAGE,EAAE,CAAC,EAAEz+B,EAAEjgC,EAAEyL,EAAImY,EAAEjY,EAAEM,EAAE,KAAKiX,GAAE,EAAG67C,GAAE,GAAI,OAAOzzE,OAAOuhB,eAAelB,EAAEsxD,EAAE,CAAC50E,MAAM4jB,EAAE0xD,UAAS,IAAKhyD,CAAC,EAAEyyD,EAAE,SAASxyD,EAAEH,EAAEQ,GAAGA,EAAEjM,EAAEyL,IAAIA,EAAEwxD,GAAGsB,IAAI3yD,GAAGzT,EAAEyT,EAAElgB,IAAIkgB,EAAE2xD,GAAG,SAAS3xD,EAAE5L,GAAG,GAAGA,GAAG,iBAAiBA,EAAE,CAAC,IAAIyL,EAAEzL,EAAEi9D,GAAG,GAAGxxD,EAAE,CAAC,IAAItT,EAAEsT,EAAEA,EAAEQ,EAAER,EAAEmY,EAAEX,EAAExX,EAAEizD,EAAEl9C,EAAE/V,EAAEE,EAAE,GAAG,IAAI6V,EAAE7V,EAAEM,GAAE,SAAUjM,GAAGA,IAAIi9D,SAAI,IAAS9kE,EAAE6H,IAAIu9D,EAAEplE,EAAE6H,GAAGijB,EAAEjjB,IAAI4L,EAAEK,EAAEjM,KAAKijB,EAAEjjB,IAAG,EAAG4jB,EAAEnY,IAAK,IAAGE,EAAExT,GAAE,SAAUyT,QAAG,IAASK,EAAEL,IAAI2xD,EAAEtxD,EAAEL,KAAKqX,EAAErX,IAAG,EAAGgY,EAAEnY,GAAI,SAAQ,GAAG,IAAI+V,EAAE,CAAC,GAAGyC,EAAExY,KAAKmY,EAAEnY,GAAGwX,EAAEt3B,QAAO,GAAIsgB,EAAEtgB,OAAOwM,EAAExM,OAAO,IAAI,IAAI+f,EAAEO,EAAEtgB,OAAO+f,EAAEvT,EAAExM,OAAO+f,IAAIuX,EAAEvX,IAAG,OAAQ,IAAI,IAAI8X,EAAErrB,EAAExM,OAAO63B,EAAEvX,EAAEtgB,OAAO63B,IAAIP,EAAEO,IAAG,EAAG,IAAI,IAAI93B,EAAEylC,KAAKqF,IAAIvqB,EAAEtgB,OAAOwM,EAAExM,QAAQs0C,EAAE,EAAEA,EAAEv0C,EAAEu0C,IAAIh0B,EAAEpZ,eAAeotC,KAAKhd,EAAEgd,IAAG,QAAI,IAAShd,EAAEgd,IAAIr0B,EAAEK,EAAEg0B,GAAG,CAAC,CAAC,CAAC,CAAxe,CAA0er0B,EAAElgB,EAAE,IAAIyM,EAAEyT,EAAElgB,GAAG,EAAE4zE,EAAE,SAAS1zD,GAAG,OAAO,IAAIA,EAAED,EAAEM,EAAEL,GAAGqY,EAAErY,EAAE,GAAG,CGw7DrlM,2BCl6DA88C,EAAOh3C,QApBP,SAAcm2B,EAAOgkC,EAAW9jF,GAC9B,GAAoC,mBAAzBkF,MAAM3D,UAAU4+C,KACzB,OAAOL,EAAMK,KAAK2jC,EAAW9jF,GAG/BA,EAAUA,GAAWJ,KACrB,IACIgkB,EADAhgB,EAASk8C,EAAMl8C,OAGnB,GAAyB,mBAAdkgF,EACT,MAAM,IAAIx/D,UAAUw/D,EAAY,sBAGlC,IAAKlgE,EAAI,EAAGA,EAAIhgB,EAAQggB,IACtB,GAAIkgE,EAAU7iF,KAAKjB,EAAS8/C,EAAMl8B,GAAIA,EAAGk8B,GACvC,OAAOA,EAAMl8B,EAGnB,mBCnBA,IAAImgE,EAAU,EAAQ,OA2DtBpjB,EAAOh3C,QAzDP,SAAe3kB,EAAI6rD,GAsDjB,OAAO,IAAIp2B,SArDX,SAAaC,EAASC,GACpB,IACIe,EADA6mB,EAAUsO,GAAQ,CAAC,EAevB,SAASmzB,EAAKC,GACZtpD,EAAOspD,GAAO,IAAIz5E,MAAM,WAC1B,CAEA,SAAS05E,EAAQD,EAAKE,GAChBF,EAAID,KACNA,EAAKC,GAIFvoD,EAAG0oD,MAAMH,GAEH1hC,EAAQ8hC,SACjB9hC,EAAQ8hC,QAAQJ,EAAKE,GAFrBxpD,EAAOe,EAAG4oD,YAId,CA1BM,cAAe/hC,IACnBA,EAAQgiC,WAAY,IAGtB7oD,EAAKqoD,EAAQS,UAAUjiC,IAyCpBkiC,SAjBH,SAAoBN,GAClB,IAAIzH,EAEJ,IACEA,EAAM13E,EAAGg/E,EAAMG,EACjB,CAAE,MAAOF,GAEP,YADAC,EAAQD,EAAKE,EAEf,CAEA1pD,QAAQC,QAAQgiD,GACb1hD,KAAKN,GACLgqD,OAAM,SAAiBT,GACtBC,EAAQD,EAAKE,EACf,GACJ,GAGF,GAGF,qCCzDA,IAAI1gE,EAAY7jB,MAAQA,KAAK6jB,UAAa,WAStC,OARAA,EAAWlgB,OAAOuG,QAAU,SAAS4Z,GACjC,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAItf,UAAUX,OAAQggB,EAAIC,EAAGD,IAE5C,IAAK,IAAIjgB,KADTggB,EAAIpf,UAAUqf,GACOrgB,OAAOhC,UAAUuJ,eAAe7J,KAAK0iB,EAAGhgB,KACzD+f,EAAE/f,GAAKggB,EAAEhgB,IAEjB,OAAO+f,CACX,EACOD,EAAShf,MAAM7E,KAAM2E,UAChC,EACAhB,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtDqpB,EAAQg7D,aAAU,EAClB,IAAIC,EAAS,EAAQ,OACrB,SAASC,EAAUvkF,GACf,QAAqB,IAAVA,EAGX,MAAqB,kBAAVA,EACA,CACHuO,QAASvO,GAGVA,CACX,CAiBAqpB,EAAQg7D,QATR,SAAiBt0E,EAAQy0E,EAAUC,GAC/B,IAAIC,EAAUF,EAAShyC,KAAI,SAAUmyC,GACjC,IAAIC,EATZ,SAAoBD,EAAUF,GAC1B,OAAqB,MAAjBA,EACOE,EAEGxhE,EAASA,EAAS,CAAC,EAAGwhE,GAAW,CAAE1iC,QAAS9+B,EAASA,EAAS,CAAC,EAAGohE,EAAUE,IAAiBF,EAAUI,EAAS1iC,WAElI,CAGsB4iC,CAAWF,EAAUF,GACnC,OAAO,EAAIH,EAAOhkD,MAAMvwB,EAAQ60E,EACpC,IACA,OAAO,WACHF,EAAQniF,SAAQ,SAAUuiF,GAAU,OAAOA,GAAU,GACzD,CACJ,8BCxCA7hF,OAAOuhB,eAAe6E,EAAS,aAAc,CAAErpB,OAAO,IACtDqpB,EAAQiX,UAAO,EAQfjX,EAAQiX,KAPR,SAAcvwB,EAAQtO,GAClB,IAAI0nB,EAAO1nB,EAAG0nB,KAAMssB,EAAWh0C,EAAGg0C,SAAUwM,EAAUxgD,EAAGwgD,QAEzD,OADAlyC,EAAOqB,iBAAiB+X,EAAMssB,EAAUwM,GACjC,WACHlyC,EAAOuB,oBAAoB6X,EAAMssB,EAAUwM,EAC/C,CACJ,+BCPA54B,EAAQ,GAAUA,EAAQ,QAAO,EACjC,IAAIi7D,EAAS,EAAQ,OACrBrhF,OAAOuhB,eAAe6E,EAAS,KAA/B,CAAyCovC,YAAY,EAAM17B,IAAK,WAAc,OAAOunD,EAAOhkD,IAAM,IAClG,IAAIykD,EAAa,EAAQ,MACzB9hF,OAAOuhB,eAAe6E,EAAS,KAA/B,CAA4CovC,YAAY,EAAM17B,IAAK,WAAc,OAAOgoD,EAAWV,OAAS,uBCN3ChkB,EAAOh3C,QAAiJ,SAASvZ,GAAG,IAAIsT,EAAE,CAAC,EAAE,SAASzL,EAAE4L,GAAG,GAAGH,EAAEG,GAAG,OAAOH,EAAEG,GAAG8F,QAAQ,IAAI/F,EAAEF,EAAEG,GAAG,CAACD,EAAEC,EAAEq0B,GAAE,EAAGvuB,QAAQ,CAAC,GAAG,OAAOvZ,EAAEyT,GAAG5iB,KAAK2iB,EAAE+F,QAAQ/F,EAAEA,EAAE+F,QAAQ1R,GAAG2L,EAAEs0B,GAAE,EAAGt0B,EAAE+F,OAAO,CAAC,OAAO1R,EAAEoM,EAAEjU,EAAE6H,EAAEwhB,EAAE/V,EAAEzL,EAAEC,EAAE,SAAS9H,EAAEsT,EAAEG,GAAG5L,EAAEiM,EAAE9T,EAAEsT,IAAIngB,OAAOuhB,eAAe1U,EAAEsT,EAAE,CAACq1C,YAAW,EAAG17B,IAAIxZ,GAAG,EAAE5L,EAAEA,EAAE,SAAS7H,GAAG,oBAAoB+T,QAAQA,OAAOmhE,aAAa/hF,OAAOuhB,eAAe1U,EAAE+T,OAAOmhE,YAAY,CAAChlF,MAAM,WAAWiD,OAAOuhB,eAAe1U,EAAE,aAAa,CAAC9P,OAAM,GAAI,EAAE2X,EAAEyL,EAAE,SAAStT,EAAEsT,GAAG,GAAG,EAAEA,IAAItT,EAAE6H,EAAE7H,IAAI,EAAEsT,EAAE,OAAOtT,EAAE,GAAG,EAAEsT,GAAG,iBAAiBtT,GAAGA,GAAGA,EAAE4sB,WAAW,OAAO5sB,EAAE,IAAIyT,EAAEtgB,OAAOigB,OAAO,MAAM,GAAGvL,EAAEA,EAAE4L,GAAGtgB,OAAOuhB,eAAejB,EAAE,UAAU,CAACk1C,YAAW,EAAGz4D,MAAM8P,IAAI,EAAEsT,GAAG,iBAAiBtT,EAAE,IAAI,IAAIwT,KAAKxT,EAAE6H,EAAEC,EAAE2L,EAAED,EAAE,SAASF,GAAG,OAAOtT,EAAEsT,EAAE,EAAEkd,KAAK,KAAKhd,IAAI,OAAOC,CAAC,EAAE5L,EAAE4L,EAAE,SAASzT,GAAG,IAAIsT,EAAEtT,GAAGA,EAAE4sB,WAAW,WAAW,OAAO5sB,EAAEqX,OAAO,EAAE,WAAW,OAAOrX,CAAC,EAAE,OAAO6H,EAAEC,EAAEwL,EAAE,IAAIA,GAAGA,CAAC,EAAEzL,EAAEiM,EAAE,SAAS9T,EAAEsT,GAAG,OAAOngB,OAAOhC,UAAUuJ,eAAe7J,KAAKmP,EAAEsT,EAAE,EAAEzL,EAAEtU,EAAE,GAAGsU,EAAEA,EAAE0L,EAAE,GAAG,CAAp5B,CAAs5B,CAAC,GAAG,SAASvT,EAAEsT,EAAEzL,GAAG,aAAayL,EAAEsZ,YAAW,EAAGtZ,EAAE+D,aAAQ,EAAO,IAAI5D,EAAE5L,EAAE,IAAI2L,EAAE,WAAW,SAASxT,IAAI,CAAC,OAAOA,EAAEm1E,cAAc,SAASn1E,EAAEsT,GAAG,IAAIzL,EAAEyL,EAAE0tD,MAAMhhE,GAAG,OAAO6H,GAAGA,EAAErU,OAAO,GAAGqU,EAAE,IAAI,EAAE,EAAE7H,EAAEo1E,eAAe,SAASp1E,EAAEsT,GAAG,IAAIzL,EAAEyL,EAAE0tD,MAAMhhE,GAAG,OAAO6H,GAAGA,EAAErU,OAAO,GAAGqU,EAAE,IAAI,EAAE,EAAE7H,EAAEq1E,oBAAoB,SAASr1E,EAAEsT,EAAEzL,GAAG,GAAG7H,EAAE8c,KAAKxJ,GAAG,OAAOzL,CAAC,EAAE7H,EAAEs1E,sBAAsB,SAASt1E,GAAG,OAAOA,GAAG,IAAI,KAAK,MAAM,KAAK,IAAI,KAA0C,IAAI,SAAS,MAAM,KAA7C,IAAI,SAAS,MAAM,OAA+B,IAAI,SAAS,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,MAAM,IAAI,IAAI,SAAS,MAAM,MAAM,IAAI,UAAU,MAAM,KAAK,QAAQ,OAAO,EAAEA,EAAEu1E,oBAAoB,SAASv1E,GAAG,IAAIsT,EAAEtT,EAAE3G,MAAM,KAAKyjD,OAAO,EAAE,GAAGpa,KAAI,SAAU1iC,GAAG,OAAOw1E,SAASx1E,EAAE,KAAK,CAAE,IAAG,GAAGsT,EAAEe,KAAK,GAAG,KAAKf,EAAE,GAAG,OAAOA,EAAE,IAAI,KAAK,EAAE,MAAM,UAAU,KAAK,EAAE,MAAM,eAAe,KAAK,EAAE,MAAM,OAAO,KAAK,EAAE,MAAM,gBAAgB,KAAK,EAAE,MAAM,YAAY,KAAK,GAAG,MAAM,WAAW,KAAK,GAAG,MAAM,aAAa,KAAK,GAAG,MAAM,SAAS,KAAK,GAAG,MAAM,cAAc,KAAK,GAAG,MAAM,SAAS,KAAK,GAAG,MAAM,WAAW,QAAQ,OAAO,EAAEtT,EAAEy1E,sBAAsB,SAASz1E,GAAG,IAAIsT,EAAEtT,EAAE3G,MAAM,KAAKyjD,OAAO,EAAE,GAAGpa,KAAI,SAAU1iC,GAAG,OAAOw1E,SAASx1E,EAAE,KAAK,CAAE,IAAG,GAAGsT,EAAEe,KAAK,KAAK,IAAIf,EAAE,IAAIA,EAAE,GAAG,GAAG,OAAO,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,UAAU,IAAIA,EAAE,IAAIA,EAAE,IAAI,EAAE,QAAQ,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,SAAS,IAAIA,EAAE,IAAI,IAAIA,EAAE,GAAG,QAAQ,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,cAAc,IAAIA,EAAE,GAAG,YAAY,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,qBAAqB,IAAIA,EAAE,IAAIA,EAAE,GAAG,EAAE,aAAa,IAAIA,EAAE,IAAIA,EAAE,IAAI,EAAE,SAAS,IAAIA,EAAE,GAAG,WAAW,IAAIA,EAAE,GAAG,cAAc,IAAIA,EAAE,GAAG,SAAS,IAAIA,EAAE,GAAG,OAAO,IAAIA,EAAE,GAAG,WAAM,CAAM,EAAEtT,EAAE01E,oBAAoB,SAAS11E,GAAG,OAAOA,EAAE3G,MAAM,KAAK7F,MAAM,EAAEwM,EAAE21E,gBAAgB,SAASriE,EAAEzL,EAAE4L,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAID,EAAExT,EAAE01E,oBAAoBpiE,GAAGC,EAAEvT,EAAE01E,oBAAoB7tE,GAAGikB,EAAEkN,KAAKqB,IAAI7mB,EAAED,GAAGO,EAAE,EAAEsxD,EAAEplE,EAAE0iC,IAAI,CAACpvB,EAAEzL,IAAG,SAAUyL,GAAG,IAAIzL,EAAEikB,EAAE9rB,EAAE01E,oBAAoBpiE,GAAGG,EAAEH,EAAE,IAAIxe,MAAM+S,EAAE,GAAGoV,KAAK,MAAM,OAAOjd,EAAE0iC,IAAIjvB,EAAEpa,MAAM,MAAK,SAAU2G,GAAG,OAAO,IAAIlL,MAAM,GAAGkL,EAAExM,QAAQypB,KAAK,KAAKjd,CAAE,IAAG41E,SAAU,IAAG,IAAIniE,IAAIK,EAAEgY,EAAEkN,KAAKqF,IAAI7qB,EAAED,IAAIuY,GAAG,EAAEA,GAAGhY,GAAG,CAAC,GAAGsxD,EAAE,GAAGt5C,GAAGs5C,EAAE,GAAGt5C,GAAG,OAAO,EAAE,GAAGs5C,EAAE,GAAGt5C,KAAKs5C,EAAE,GAAGt5C,GAAG,CAAC,GAAGA,IAAIhY,EAAE,OAAO,EAAEgY,GAAG,CAAC,MAAM,GAAGs5C,EAAE,GAAGt5C,GAAGs5C,EAAE,GAAGt5C,GAAG,OAAO,CAAC,CAAC,EAAE9rB,EAAE0iC,IAAI,SAAS1iC,EAAEsT,GAAG,IAAIzL,EAAE4L,EAAE,GAAG,GAAG3e,MAAM3D,UAAUuxC,IAAI,OAAO5tC,MAAM3D,UAAUuxC,IAAI7xC,KAAKmP,EAAEsT,GAAG,IAAIzL,EAAE,EAAEA,EAAE7H,EAAExM,OAAOqU,GAAG,EAAE4L,EAAEY,KAAKf,EAAEtT,EAAE6H,KAAK,OAAO4L,CAAC,EAAEzT,EAAE+vC,KAAK,SAAS/vC,EAAEsT,GAAG,IAAIzL,EAAE4L,EAAE,GAAG3e,MAAM3D,UAAU4+C,KAAK,OAAOj7C,MAAM3D,UAAU4+C,KAAKl/C,KAAKmP,EAAEsT,GAAG,IAAIzL,EAAE,EAAE4L,EAAEzT,EAAExM,OAAOqU,EAAE4L,EAAE5L,GAAG,EAAE,CAAC,IAAI2L,EAAExT,EAAE6H,GAAG,GAAGyL,EAAEE,EAAE3L,GAAG,OAAO2L,CAAC,CAAC,EAAExT,EAAEtG,OAAO,SAASsG,GAAG,IAAI,IAAIsT,EAAEzL,EAAE4L,EAAEzT,EAAEwT,EAAErf,UAAUX,OAAO+f,EAAE,IAAIze,MAAM0e,EAAE,EAAEA,EAAE,EAAE,GAAGsY,EAAE,EAAEA,EAAEtY,EAAEsY,IAAIvY,EAAEuY,EAAE,GAAG33B,UAAU23B,GAAG,GAAG34B,OAAOuG,OAAO,OAAOvG,OAAOuG,OAAOrF,MAAMlB,OAAO,CAAC6M,GAAGrK,OAAO4d,IAAI,IAAIO,EAAE,WAAW,IAAI9T,EAAEuT,EAAED,GAAG,iBAAiBtT,GAAG,OAAOA,GAAG7M,OAAOC,KAAK4M,GAAGvN,SAAQ,SAAU6gB,GAAGG,EAAEH,GAAGtT,EAAEsT,EAAG,GAAE,EAAE,IAAIA,EAAE,EAAEzL,EAAE0L,EAAE/f,OAAO8f,EAAEzL,EAAEyL,GAAG,EAAEQ,IAAI,OAAO9T,CAAC,EAAEA,EAAE61E,gBAAgB,SAAS71E,GAAG,OAAOyT,EAAEqiE,oBAAoB91E,EAAE,EAAEA,EAAE+1E,sBAAsB,SAAS/1E,GAAG,OAAOyT,EAAEuiE,YAAYh2E,IAAI,EAAE,EAAEA,CAAC,CAAttF,GAA0tFsT,EAAE+D,QAAQ7D,EAAExT,EAAEuZ,QAAQjG,EAAE+D,OAAO,EAAE,GAAG,SAASrX,EAAEsT,EAAEzL,GAAG,aAAayL,EAAEsZ,YAAW,EAAGtZ,EAAE2iE,WAAW3iE,EAAE4iE,OAAO5iE,EAAE6iE,cAAc7iE,EAAE0iE,YAAY1iE,EAAEwiE,yBAAoB,EAAOxiE,EAAEwiE,oBAAoB,CAAC,cAAc,cAAc,kBAAkB,UAAUM,KAAK,OAAOC,WAAW,aAAaC,OAAO,SAASC,SAAS,WAAWC,SAAS,WAAWC,SAAS,WAAWC,QAAQ,UAAUC,MAAM,QAAQC,QAAQ,UAAU,gBAAgB,gBAAgBC,UAAU,YAAY,oBAAoB,KAAK,WAAW,WAAWC,QAAQ,UAAU,iBAAiB,OAAO,aAAa,KAAK,sBAAsB,QAAQC,MAAM,QAAQ,cAAc,cAAcC,UAAU,YAAYC,OAAO,SAASC,SAAS,WAAWC,GAAG,KAAKC,OAAO,SAASC,OAAO,SAASC,SAAS,WAAW,+BAA+B,mBAAmBC,UAAU,YAAYC,SAAS,WAAWC,MAAM,QAAQC,MAAM,QAAQ,aAAa,KAAKC,QAAQ,UAAU,gBAAgB,QAAQC,OAAO,SAAS,iBAAiB,SAASC,KAAK,QAAQvkE,EAAE0iE,YAAY,CAAC8B,YAAY,cAAcC,QAAQ,kBAAkBC,KAAK,OAAOC,WAAW,aAAaC,OAAO,SAASC,SAAS,WAAWC,SAAS,WAAWC,SAAS,WAAWC,QAAQ,UAAU5tE,MAAM,QAAQ6tE,QAAQ,UAAUC,UAAU,YAAYC,cAAc,gBAAgBC,GAAG,oBAAoBC,SAAS,WAAWC,QAAQ,UAAUC,KAAK,iBAAiBC,GAAG,aAAaC,MAAM,sBAAsBC,MAAM,QAAQC,YAAY,cAAcC,UAAU,YAAYC,OAAO,SAASC,SAAS,WAAWC,GAAG,aAAaC,OAAO,kBAAkBC,OAAO,SAASC,SAAS,WAAWC,iBAAiB,+BAA+BC,UAAU,YAAYC,SAAS,WAAWC,MAAM,QAAQC,MAAM,QAAQC,GAAG,aAAaC,QAAQ,UAAUC,MAAM,gBAAgBC,OAAO,SAASC,OAAO,kBAAkB5mE,EAAE6iE,cAAc,CAACgE,OAAO,SAASC,OAAO,SAASC,QAAQ,UAAUC,GAAG,MAAMhnE,EAAE4iE,OAAO,CAACqE,aAAa,gBAAgBC,QAAQ,UAAUC,MAAM,QAAQC,IAAI,MAAMC,QAAQ,UAAUC,MAAM,QAAQvE,WAAW,aAAaD,KAAK,OAAOsB,MAAM,QAAQmD,MAAM,QAAQC,SAAS,YAAYC,aAAa,gBAAgBlD,KAAK,QAAQvkE,EAAE2iE,WAAW,CAAC+E,SAAS,WAAWC,MAAM,QAAQC,QAAQ,UAAUC,OAAO,SAASC,MAAM,QAAQC,OAAO,SAAS,EAAE,GAAG,SAASr7E,EAAEsT,EAAEzL,GAAG,aAAayL,EAAEsZ,YAAW,EAAGtZ,EAAE+D,aAAQ,EAAO,IAAI5D,EAAED,GAAGC,EAAE5L,EAAE,MAAM4L,EAAEmZ,WAAWnZ,EAAE,CAAC4D,QAAQ5D,GAAGF,EAAE1L,EAAE,IAAI,SAASikB,EAAE9rB,EAAEsT,GAAG,IAAI,IAAIzL,EAAE,EAAEA,EAAEyL,EAAE9f,OAAOqU,IAAI,CAAC,IAAI4L,EAAEH,EAAEzL,GAAG4L,EAAEk1C,WAAWl1C,EAAEk1C,aAAY,EAAGl1C,EAAEgyD,cAAa,EAAG,UAAUhyD,IAAIA,EAAE+xD,UAAS,GAAIryE,OAAOuhB,eAAe1U,EAAEyT,EAAEzH,IAAIyH,EAAE,CAAC,CAAC,IAAIK,EAAE,WAAW,SAAS9T,IAAI,CAAC,IAAIsT,EAAIG,EAAE,OAAOzT,EAAEs7E,UAAU,SAASt7E,EAAEsT,GAAG,QAAG,IAASA,IAAIA,GAAE,GAAI,iBAAiBtT,EAAE,MAAM,IAAI5F,MAAM,gCAAgC,OAAO,IAAIoZ,EAAE6D,QAAQrX,EAAEsT,EAAE,EAAEtT,EAAEzN,MAAM,SAASyN,GAAG,OAAO,IAAIwT,EAAE6D,QAAQrX,GAAGu7E,WAAW,EAAEjoE,EAAEtT,EAAEyT,EAAE,CAAC,CAACzH,IAAI,cAAcihB,IAAI,WAAW,OAAO1Z,EAAEyiE,WAAW,GAAG,CAAChqE,IAAI,aAAaihB,IAAI,WAAW,OAAO1Z,EAAE0iE,UAAU,GAAG,CAACjqE,IAAI,SAASihB,IAAI,WAAW,OAAO1Z,EAAE2iE,MAAM,GAAG,CAAClqE,IAAI,gBAAgBihB,IAAI,WAAW,OAAO1Z,EAAE4iE,aAAa,IAAO,MAAOrqD,EAAExY,EAAEniB,UAAX,MAAwBsiB,GAAGqY,EAAExY,EAAEG,GAAGzT,CAAC,CAA3f,GAA+fsT,EAAE+D,QAAQvD,EAAE9T,EAAEuZ,QAAQjG,EAAE+D,OAAO,EAAE,GAAG,SAASrX,EAAEsT,EAAEzL,GAAG,aAAayL,EAAEsZ,YAAW,EAAGtZ,EAAE+D,aAAQ,EAAO,IAAI5D,EAAE2xD,EAAEv9D,EAAE,KAAK2L,EAAE4xD,EAAEv9D,EAAE,KAAK0L,EAAE6xD,EAAEv9D,EAAE,KAAKikB,EAAEs5C,EAAEv9D,EAAE,KAAKiM,EAAEsxD,EAAEv9D,EAAE,KAAK,SAASu9D,EAAEplE,GAAG,OAAOA,GAAGA,EAAE4sB,WAAW5sB,EAAE,CAACqX,QAAQrX,EAAE,CAAC,IAAI8H,EAAE,WAAW,SAAS9H,EAAEA,EAAEsT,GAAG,QAAG,IAASA,IAAIA,GAAE,GAAI,MAAMtT,GAAG,KAAKA,EAAE,MAAM,IAAI5F,MAAM,sCAAsC5K,KAAKgsF,IAAIx7E,EAAExQ,KAAKisF,aAAa,CAAC,GAAE,IAAKnoE,GAAG9jB,KAAK+C,OAAO,CAAC,IAAI+gB,EAAEtT,EAAE7O,UAAU,OAAOmiB,EAAEooE,MAAM,WAAW,OAAOlsF,KAAKgsF,GAAG,EAAEloE,EAAEwJ,KAAK,SAAS9c,GAAG,OAAOA,EAAE8c,KAAKttB,KAAKgsF,IAAI,EAAEloE,EAAEqoE,aAAa,WAAW,IAAI37E,EAAExQ,KAAKA,KAAKisF,aAAaG,QAAQ,CAAC,EAAE,IAAItoE,EAAEQ,EAAEuD,QAAQ04B,KAAKt8B,EAAE4D,SAAQ,SAAU/D,GAAG,GAAG,mBAAmBA,EAAEwJ,KAAK,OAAOxJ,EAAEwJ,KAAK9c,GAAG,GAAGsT,EAAEwJ,gBAAgBhoB,MAAM,OAAOwe,EAAEwJ,KAAKmxB,MAAK,SAAU36B,GAAG,OAAOtT,EAAE8c,KAAKxJ,EAAG,IAAG,MAAM,IAAIlZ,MAAM,uCAAwC,IAAG,OAAOkZ,IAAI9jB,KAAKisF,aAAaG,QAAQtoE,EAAEuoE,SAASrsF,KAAKksF,UAAUlsF,KAAKisF,aAAaG,OAAO,EAAEtoE,EAAEwoE,WAAW,WAAW,OAAOtsF,KAAKisF,aAAaG,QAAQpsF,KAAKisF,aAAaG,QAAQpsF,KAAKmsF,cAAc,EAAEroE,EAAEyoE,eAAe,SAAS/7E,GAAG,OAAOA,EAAEiL,OAAOzb,KAAKssF,aAAa9pF,MAAM2qE,eAAe,GAAGntE,KAAKssF,aAAa9pF,MAAM,EAAE,EAAEshB,EAAE0oE,kBAAkB,WAAW,OAAOxsF,KAAKssF,aAAar0E,OAAO,EAAE6L,EAAE2oE,MAAM,WAAW,OAAOzsF,KAAKisF,aAAaS,GAAG1sF,KAAKisF,aAAaS,GAAG1sF,KAAK2sF,SAAS,EAAE7oE,EAAE6oE,QAAQ,WAAW,IAAIn8E,EAAExQ,KAAKA,KAAKisF,aAAaS,GAAG,CAAC,EAAE,IAAI5oE,EAAEQ,EAAEuD,QAAQ04B,KAAKv8B,EAAE6D,SAAQ,SAAU/D,GAAG,GAAG,mBAAmBA,EAAEwJ,KAAK,OAAOxJ,EAAEwJ,KAAK9c,GAAG,GAAGsT,EAAEwJ,gBAAgBhoB,MAAM,OAAOwe,EAAEwJ,KAAKmxB,MAAK,SAAU36B,GAAG,OAAOtT,EAAE8c,KAAKxJ,EAAG,IAAG,MAAM,IAAIlZ,MAAM,uCAAwC,IAAG,OAAOkZ,IAAI9jB,KAAKisF,aAAaS,GAAG5oE,EAAEuoE,SAASrsF,KAAKksF,UAAUlsF,KAAKisF,aAAaS,EAAE,EAAE5oE,EAAE8oE,UAAU,SAASp8E,GAAG,IAAIsT,EAAE9jB,KAAKysF,QAAQjqF,KAAK,OAAOgO,EAAEiL,OAAOqI,GAAGqpD,eAAe,GAAGrpD,GAAG,EAAE,EAAEA,EAAE+oE,aAAa,WAAW,OAAO7sF,KAAKysF,QAAQx0E,OAAO,EAAE6L,EAAEgpE,YAAY,WAAW,OAAO9sF,KAAKisF,aAAac,SAAS/sF,KAAKisF,aAAac,SAAS/sF,KAAKgtF,eAAe,EAAElpE,EAAEmpE,gBAAgB,SAASz8E,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIsT,EAAE9jB,KAAK8sF,cAAcjjE,KAAK,OAAOrZ,EAAEiL,OAAOqI,GAAGqpD,eAAe,GAAGrpD,GAAG,EAAE,EAAEA,EAAEkpE,cAAc,WAAW,IAAIx8E,EAAExQ,KAAKA,KAAKisF,aAAac,SAAS,CAAC,EAAE,IAAIjpE,EAAEQ,EAAEuD,QAAQ04B,KAAKx8B,EAAE8D,SAAQ,SAAU/D,GAAG,GAAG,mBAAmBA,EAAEwJ,KAAK,OAAOxJ,EAAEwJ,KAAK9c,GAAG,GAAGsT,EAAEwJ,gBAAgBhoB,MAAM,OAAOwe,EAAEwJ,KAAKmxB,MAAK,SAAU36B,GAAG,OAAOtT,EAAE8c,KAAKxJ,EAAG,IAAG,MAAM,IAAIlZ,MAAM,uCAAwC,IAAG,OAAOkZ,IAAI9jB,KAAKisF,aAAac,SAASjpE,EAAEuoE,SAASrsF,KAAKksF,UAAUlsF,KAAKisF,aAAac,QAAQ,EAAEjpE,EAAEopE,UAAU,WAAW,OAAOltF,KAAKisF,aAAakB,OAAOntF,KAAKisF,aAAakB,OAAOntF,KAAKotF,aAAa,EAAEtpE,EAAEupE,cAAc,SAAS78E,GAAG,OAAOA,EAAEiL,OAAOzb,KAAKktF,YAAY1qF,MAAM2qE,eAAe,GAAGntE,KAAKktF,YAAY1qF,MAAM,EAAE,EAAEshB,EAAEspE,YAAY,WAAW,IAAI58E,EAAExQ,KAAKA,KAAKisF,aAAakB,OAAO,CAAC,EAAE,IAAIrpE,EAAEQ,EAAEuD,QAAQ04B,KAAKjkB,EAAEzU,SAAQ,SAAU/D,GAAG,GAAG,mBAAmBA,EAAEwJ,KAAK,OAAOxJ,EAAEwJ,KAAK9c,GAAG,GAAGsT,EAAEwJ,gBAAgBhoB,MAAM,OAAOwe,EAAEwJ,KAAKmxB,MAAK,SAAU36B,GAAG,OAAOtT,EAAE8c,KAAKxJ,EAAG,IAAG,MAAM,IAAIlZ,MAAM,uCAAwC,IAAG,OAAOkZ,IAAI9jB,KAAKisF,aAAakB,OAAOrpE,EAAEuoE,SAASrsF,KAAKksF,UAAUlsF,KAAKisF,aAAakB,MAAM,EAAErpE,EAAE/gB,MAAM,WAAW,OAAO/C,KAAKmsF,eAAensF,KAAK2sF,UAAU3sF,KAAKgtF,gBAAgBhtF,KAAKotF,cAAcptF,IAAI,EAAE8jB,EAAEioE,UAAU,WAAW,OAAOznE,EAAEuD,QAAQ3d,OAAO,CAAC,EAAElK,KAAKisF,aAAa,EAAEnoE,EAAEwpE,UAAU,SAAS98E,GAAG,IAAIsT,EAAE9jB,KAAKqY,EAAE,CAAC,EAAE4L,EAAE,EAAED,EAAE,CAAC,EAAED,EAAE,EAAE,GAAGpgB,OAAOC,KAAK4M,GAAGvN,SAAQ,SAAU6gB,GAAG,IAAIwY,EAAE9rB,EAAEsT,GAAG,iBAAiBwY,GAAGtY,EAAEF,GAAGwY,EAAEvY,GAAG,GAAG,iBAAiBuY,IAAIjkB,EAAEyL,GAAGwY,EAAErY,GAAG,EAAG,IAAGA,EAAE,EAAE,CAAC,IAAIqY,EAAE34B,OAAOC,KAAKyU,GAAGu9D,EAAEtxD,EAAEuD,QAAQ04B,KAAKjkB,GAAE,SAAU9rB,GAAG,OAAOsT,EAAEypE,KAAK/8E,EAAG,IAAG,GAAGolE,EAAE,CAAC,IAAIt9D,EAAEtY,KAAKstF,UAAUj1E,EAAEu9D,IAAI,QAAG,IAASt9D,EAAE,OAAOA,CAAC,CAAC,IAAIuhB,EAAEvV,EAAEuD,QAAQ04B,KAAKjkB,GAAE,SAAU9rB,GAAG,OAAOsT,EAAE0pE,WAAWh9E,EAAG,IAAG,GAAGqpB,EAAE,CAAC,IAAIyB,EAAEt7B,KAAKstF,UAAUj1E,EAAEwhB,IAAI,QAAG,IAASyB,EAAE,OAAOA,CAAC,CAAC,CAAC,GAAGvX,EAAE,EAAE,CAAC,IAAIu0B,EAAE30C,OAAOC,KAAKogB,GAAG8qD,EAAExqD,EAAEuD,QAAQ04B,KAAKjI,GAAE,SAAU9nC,GAAG,OAAOsT,EAAE2pE,UAAUj9E,GAAE,EAAI,IAAG,QAAG,IAASs+D,EAAE,OAAO9uE,KAAK0tF,eAAe1pE,EAAE8qD,GAAG,CAAC,EAAEhrD,EAAE2pE,UAAU,SAASj9E,EAAEsT,QAAG,IAASA,IAAIA,GAAE,GAAI,IAAIzL,EAAErY,KAAKusF,iBAAiBpf,cAAclpD,EAAEzT,EAAE28D,cAAcnpD,EAAEM,EAAEuD,QAAQ0+D,sBAAsBtiE,GAAG,OAAOH,GAAGE,IAAIC,EAAED,EAAEmpD,eAAelpD,IAAI5L,CAAC,EAAEyL,EAAE4pE,eAAe,SAASl9E,GAAG,IAAIsT,EAAE,CAAC,GAAGzL,EAAE7H,EAAEyT,GAAE,EAAGD,EAAEhkB,KAAKwsF,oBAAoB,GAAG,iBAAiBxoE,EAAE,MAAM,MAAMxT,EAAE,IAAI,MAAMA,EAAE,IAAI6H,EAAE7H,EAAEm9E,OAAO,GAAG,MAAMn9E,EAAE,IAAIyT,GAAE,EAAG5L,EAAE7H,EAAEm9E,OAAO,IAAI7pE,EAAE,GAAG,MAAMtT,EAAE,GAAGsT,EAAEe,KAAK,GAAGf,EAAEe,MAAM,IAAI,MAAMrU,EAAE,GAAG6H,EAAE7H,EAAEm9E,OAAO,GAAG,MAAMn9E,EAAE,KAAKyT,GAAE,EAAG5L,EAAE7H,EAAEm9E,OAAO,IAAI7pE,EAAEtI,QAAQ8I,EAAEuD,QAAQs+D,gBAAgBniE,EAAE3L,EAAE4L,KAAK,CAAC,EAAEH,EAAEypE,KAAK,SAAS/8E,GAAG,OAAOxQ,KAAK4sF,WAAU,KAAMnxE,OAAOjL,GAAG28D,aAAa,EAAErpD,EAAE0pE,WAAW,SAASh9E,GAAG,OAAOxQ,KAAKitF,iBAAgB,KAAMxxE,OAAOjL,GAAG28D,aAAa,EAAErpD,EAAE8pE,SAAS,SAASp9E,GAAG,OAAOxQ,KAAKqtF,eAAc,KAAM5xE,OAAOjL,GAAG28D,aAAa,EAAErpD,EAAE+pE,GAAG,SAASr9E,EAAEsT,GAAG,YAAO,IAASA,IAAIA,GAAE,GAAI9jB,KAAKytF,UAAUj9E,EAAEsT,IAAI9jB,KAAKutF,KAAK/8E,IAAIxQ,KAAKwtF,WAAWh9E,EAAE,EAAEsT,EAAE26B,KAAK,SAASjuC,GAAG,IAAIsT,EAAE9jB,KAAK,YAAO,IAASwQ,IAAIA,EAAE,IAAIA,EAAEiuC,MAAK,SAAUjuC,GAAG,OAAOsT,EAAE+pE,GAAGr9E,EAAG,GAAE,EAAEA,CAAC,CAAv0I,GAA20IsT,EAAE+D,QAAQvP,EAAE9H,EAAEuZ,QAAQjG,EAAE+D,OAAO,EAAE,GAAG,SAASrX,EAAEsT,EAAEzL,GAAG,aAAayL,EAAEsZ,YAAW,EAAGtZ,EAAE+D,aAAQ,EAAO,IAAI5D,EAAED,GAAGC,EAAE5L,EAAE,MAAM4L,EAAEmZ,WAAWnZ,EAAE,CAAC4D,QAAQ5D,GAAOF,EAAE,6BAA6BuY,EAAE,CAAC,CAAChP,KAAK,CAAC,cAAc++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,aAAa6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,2BAA2Bn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,UAAU++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,SAAS6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,kCAAkCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,gBAAgB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,SAAS6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,2BAA2Bn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,mBAAmB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,gCAAgC6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,2CAA2Cn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,UAAU++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,uBAAuB6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,iCAAiCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,cAAc++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,cAAc6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,qCAAqCn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,UAAU++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,SAAS6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,iCAAiCn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,UAAU++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,SAAS6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,iCAAiCn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,UAAU++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,eAAe6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,kCAAkCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,yBAAyB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,eAAe6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,gCAAgCn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,cAAc++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,kBAAkB6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,sCAAsCn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,cAAc++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,cAAc6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,sCAAsCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,kBAAkB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,WAAW6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,0CAA0Cn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,YAAY6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,qCAAqCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,WAAW++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,UAAU6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,mCAAmCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,YAAY6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,qCAAqCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,YAAY6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,qCAAqCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,mBAAmB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,UAAU6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,2CAA2Cn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,cAAc++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,iBAAiB8qB,KAAK9c,GAAG,kBAAkB,cAAc6H,EAAE2L,EAAE6D,QAAQ89D,cAAc,kDAAkDn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,iBAAiB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,qBAAqB6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,iCAAiCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,YAAY++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,kBAAkB6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,2BAA2Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,kBAAkB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,kBAAkB6V,EAAE2L,EAAE6D,QAAQ+9D,eAAe,mCAAmCp1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,YAAY++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,WAAW6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,6BAA6Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,cAAc++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,aAAa6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,+BAA+Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,YAAY6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,qCAAqCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,SAAS++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,eAAe6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,0BAA0Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,YAAY++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,aAAa6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,+BAA+Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,YAAY6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,8BAA8Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,sBAAsB,gBAAgB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,cAAc6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,qCAAqCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,mBAAmB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,iBAAiB6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,IAAIwT,EAAE6D,QAAQ89D,cAAc,0CAA0Cn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,SAAS++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,QAAQ6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,4BAA4Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,UAAU++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,SAAS6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,0CAA0Cn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,YAAY6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,qCAAqCn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,4BAA4B++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,WAAW6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,oDAAoDn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,YAAY6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,kCAAkCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,gBAAgB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,QAAQ6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,wCAAwCn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,YAAY6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,qCAAqCn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,sBAAsB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,UAAU6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,2CAA2Cn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,QAAQ++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,iBAAiB6V,EAAE2L,EAAE6D,QAAQ89D,cAAc,6BAA6Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,SAAS9c,GAAG,IAAIsT,GAAGtT,EAAE8c,KAAK,iBAAiBjV,EAAE7H,EAAE8c,KAAK,YAAY,OAAOxJ,GAAGzL,CAAC,EAAEg0E,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,mBAAmB6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,kBAAkB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,iBAAiB6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,uBAAuB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAK,UAAU6V,EAAE2L,EAAE6D,QAAQ89D,cAAc5hE,EAAEvT,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,OAAO++D,SAAS,SAAS77E,GAAG,IAAIsT,GAAG,IAAItT,EAAE2vC,OAAO,OAAO,yBAAyB,eAAe,MAAM,CAAC39C,KAAKwhB,EAAE6D,QAAQ89D,cAAc7hE,EAAEtT,GAAGyH,QAAQ+L,EAAE6D,QAAQ+9D,eAAe9hE,EAAEtT,GAAG,IAAIsT,EAAE+D,QAAQyU,EAAE9rB,EAAEuZ,QAAQjG,EAAE+D,OAAO,EAAE,GAAG,SAASrX,EAAEsT,EAAEzL,GAAG,aAAayL,EAAEsZ,YAAW,EAAGtZ,EAAE+D,aAAQ,EAAO,IAAI5D,EAAED,GAAGC,EAAE5L,EAAE,MAAM4L,EAAEmZ,WAAWnZ,EAAE,CAAC4D,QAAQ5D,GAAGF,EAAE1L,EAAE,IAAQikB,EAAE,CAAC,CAAChP,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,wBAAwBn1E,GAAG,MAAM,CAAChO,KAAKuhB,EAAE2iE,OAAO2B,KAAKpwE,QAAQ6L,EAAE,GAAG,CAACwJ,KAAK,CAAC,kBAAkB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,yCAAyCn1E,GAAG,MAAM,CAAChO,KAAKuhB,EAAE2iE,OAAOqE,aAAa9yE,QAAQ6L,EAAE,GAAG,CAACwJ,KAAK,CAAC,aAAa++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,iCAAiCn1E,GAAG6H,EAAE2L,EAAE6D,QAAQi+D,sBAAsBhiE,GAAG,MAAM,CAACthB,KAAKuhB,EAAE2iE,OAAOsE,QAAQ/yE,QAAQ6L,EAAEgqE,YAAYz1E,EAAE,GAAG,CAACiV,KAAK,CAAC,+BAA+B++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAKuhB,EAAE2iE,OAAOwE,KAAK7yE,EAAE2L,EAAE6D,QAAQ+9D,eAAe,wBAAwBp1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,cAAc++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,6BAA6Bn1E,GAAGilC,QAAQ,SAAS,KAAKp9B,EAAE2L,EAAE6D,QAAQk+D,oBAAoBjiE,GAAGG,EAAE,CAACzhB,KAAKuhB,EAAE2iE,OAAOuE,MAAMhzE,QAAQ6L,GAAG,OAAOzL,IAAI4L,EAAE6pE,YAAYz1E,GAAG4L,CAAC,GAAG,CAACqJ,KAAK,CAAC,uBAAuB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,qCAAqCn1E,GAAGilC,QAAQ,SAAS,KAAK,MAAM,CAACjzC,KAAKuhB,EAAE2iE,OAAOwE,IAAIjzE,QAAQ6L,EAAE,GAAG,CAACwJ,KAAK,SAAS9c,GAAG,IAAIsT,GAAGtT,EAAE8c,KAAK,iBAAiBjV,EAAE7H,EAAE8c,KAAK,YAAY,OAAOxJ,GAAGzL,CAAC,EAAEg0E,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,8BAA8Bn1E,GAAG6H,EAAE2L,EAAE6D,QAAQo+D,sBAAsBniE,GAAGG,EAAE,CAACzhB,KAAKuhB,EAAE2iE,OAAOyE,QAAQlzE,QAAQ6L,GAAG,OAAOzL,IAAI4L,EAAE6pE,YAAYz1E,GAAG4L,CAAC,GAAG,CAACqJ,KAAK,CAAC,mBAAmB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,mCAAmCn1E,GAAG6H,EAAE,CAAC7V,KAAKuhB,EAAE2iE,OAAO0E,OAAO,OAAOtnE,GAAGA,EAAE9f,SAASqU,EAAEJ,QAAQ6L,GAAGzL,CAAC,GAAG,CAACiV,KAAK,CAAC,sBAAsB,gBAAgB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,kCAAkCn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc,mCAAmCn1E,IAAIwT,EAAE6D,QAAQ89D,cAAc,aAAan1E,GAAG,MAAM,CAAChO,KAAKuhB,EAAE2iE,OAAOG,WAAW5uE,QAAQ6L,EAAE,GAAG,CAACwJ,KAAK,CAAC,SAAS++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,uBAAuBn1E,GAAG,MAAM,CAAChO,KAAKuhB,EAAE2iE,OAAOE,KAAK3uE,QAAQ6L,EAAE,GAAG,CAACwJ,KAAK,CAAC,UAAU++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,2BAA2Bn1E,GAAG,MAAM,CAAChO,KAAKuhB,EAAE2iE,OAAOwB,MAAMjwE,QAAQ6L,EAAE,GAAG,CAACwJ,KAAK,CAAC,UAAU++D,SAAS,WAAW,MAAM,CAAC7pF,KAAKuhB,EAAE2iE,OAAO2E,MAAM,GAAG,CAAC/9D,KAAK,CAAC,QAAQ++D,SAAS,WAAW,MAAM,CAAC7pF,KAAKuhB,EAAE2iE,OAAO4E,SAAS,GAAG,CAACh+D,KAAK,CAAC,iBAAiB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,mCAAmCn1E,GAAG,MAAM,CAAChO,KAAKuhB,EAAE2iE,OAAO6E,aAAatzE,QAAQ6L,EAAE,IAAIA,EAAE+D,QAAQyU,EAAE9rB,EAAEuZ,QAAQjG,EAAE+D,OAAO,EAAE,GAAG,SAASrX,EAAEsT,EAAEzL,GAAG,aAAayL,EAAEsZ,YAAW,EAAGtZ,EAAE+D,aAAQ,EAAO,IAAI5D,EAAED,GAAGC,EAAE5L,EAAE,MAAM4L,EAAEmZ,WAAWnZ,EAAE,CAAC4D,QAAQ5D,GAAGF,EAAE1L,EAAE,IAAQikB,EAAE,CAAC,CAAChP,KAAK,CAAC,cAAc++D,SAAS,WAAW,MAAM,CAACxiE,KAAK,MAAMkkE,OAAO,SAAS,GAAG,CAACzgE,KAAK,CAAC,WAAW++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,aAAan1E,IAAI,OAAO6H,EAAE,CAACwR,KAAK9F,EAAE4iE,cAAciE,OAAOmD,OAAO,UAAU,OAAOjqE,IAAIzL,EAAE21E,MAAMlqE,GAAGzL,CAAC,GAAG,CAACiV,KAAK,CAAC,2BAA2B++D,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAcgE,OAAOoD,OAAO,QAAQ,GAAG,CAACzgE,KAAK,CAAC,SAAS++D,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAcgE,OAAOoD,OAAO,QAAQC,MAAM,OAAO,GAAG,CAAC1gE,KAAK,CAAC,+BAA+B++D,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAcgE,OAAOoD,OAAO,QAAQC,MAAM,OAAO,GAAG,CAAC1gE,KAAK,CAAC,eAAe++D,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAcgE,OAAOoD,OAAO,SAASC,MAAM,mBAAmB,GAAG,CAAC1gE,KAAK,CAAC,SAAS++D,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAcgE,OAAOoD,OAAO,SAAS,GAAG,CAACzgE,KAAK,CAAC,kBAAkB++D,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAcgE,OAAO,GAAG,CAACr9D,KAAK,SAAS9c,GAAG,IAAIsT,EAAEtT,EAAE8c,KAAK,gBAAgBjV,EAAE7H,EAAE8c,KAAK,uBAAuB,OAAOxJ,IAAIzL,CAAC,EAAEg0E,SAAS,SAAS77E,GAAG,IAAIsT,EAAEE,EAAE6D,QAAQ89D,cAAc,iBAAiBn1E,GAAG,MAAM,CAACqZ,KAAK9F,EAAE4iE,cAAciE,OAAOmD,OAAO,QAAQC,MAAMlqE,EAAE,GAAG,CAACwJ,KAAK,CAAC,mBAAmB,iBAAiB++D,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAciE,OAAOmD,OAAO,QAAQ,GAAG,CAACzgE,KAAK,CAAC,aAAa++D,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAciE,OAAO,GAAG,CAACt9D,KAAK,SAAS9c,GAAG,MAAM,eAAeA,EAAE+7E,gBAAe,EAAG,EAAEF,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAciE,OAAOmD,OAAO,aAAa,GAAG,CAACzgE,KAAK,SAAS9c,GAAG,MAAM,SAASA,EAAE+7E,gBAAe,EAAG,EAAEF,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAciE,OAAO,GAAG,CAACt9D,KAAK,SAAS9c,GAAG,MAAM,kBAAkBA,EAAE+7E,gBAAgB,EAAEF,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAciE,OAAOmD,OAAO,YAAY,GAAG,CAACzgE,KAAK,SAAS9c,GAAG,IAAIsT,EAAEvY,OAAOkQ,OAAOjL,EAAEq8E,gBAAgBhjF,MAAM,KAAK,IAAI,MAAM,YAAY2G,EAAEo8E,WAAU,IAAK9oE,GAAG,CAAC,EAAEuoE,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAcgE,OAAO,GAAG,CAACr9D,KAAK,SAAS9c,GAAG,MAAM,YAAYA,EAAEo8E,WAAU,EAAG,EAAEP,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAciE,OAAO,GAAG,CAACt9D,KAAK,SAAS9c,GAAG,MAAM,UAAUA,EAAEo8E,WAAU,EAAG,EAAEP,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAckE,QAAQkD,OAAO,QAAQ,GAAG,CAACzgE,KAAK,SAAS9c,GAAG,MAAM,YAAYA,EAAEo8E,WAAU,EAAG,EAAEP,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAckE,QAAQ,GAAG,CAACv9D,KAAK,SAAS9c,GAAG,MAAM,UAAUA,EAAEo8E,WAAU,EAAG,EAAEP,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAckE,QAAQ,GAAG,CAACv9D,KAAK,SAAS9c,GAAG,MAAM,kBAAkBA,EAAEo8E,WAAU,EAAG,EAAEP,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAcmE,GAAG,GAAG,CAACx9D,KAAK,SAAS9c,GAAG,MAAM,SAASA,EAAEo8E,WAAU,EAAG,EAAEP,SAAS,WAAW,MAAM,CAACxiE,KAAK9F,EAAE4iE,cAAcmE,GAAG,IAAIhnE,EAAE+D,QAAQyU,EAAE9rB,EAAEuZ,QAAQjG,EAAE+D,OAAO,EAAE,GAAG,SAASrX,EAAEsT,EAAEzL,GAAG,aAAayL,EAAEsZ,YAAW,EAAGtZ,EAAE+D,aAAQ,EAAO,IAAI5D,EAAED,GAAGC,EAAE5L,EAAE,MAAM4L,EAAEmZ,WAAWnZ,EAAE,CAAC4D,QAAQ5D,GAAGF,EAAE1L,EAAE,IAAQikB,EAAE,CAAC,CAAChP,KAAK,SAAS9c,GAAG,MAAM,mBAAmBA,EAAE+7E,gBAAe,EAAG,EAAEF,SAAS,SAAS77E,GAAG,GAAG,WAAW8c,KAAK9c,GAAG,MAAM,CAAChO,KAAKuhB,EAAE0iE,WAAWgF,OAAO,IAAI3nE,EAAEE,EAAE6D,QAAQ89D,cAAc,0BAA0Bn1E,GAAG,MAAM,CAAChO,KAAKuhB,EAAE0iE,WAAW+E,SAASvzE,QAAQ6L,EAAE,GAAG,CAACwJ,KAAK,CAAC,YAAY++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAKuhB,EAAE0iE,WAAWiF,SAASrzE,EAAE2L,EAAE6D,QAAQ89D,cAAc,6BAA6Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,SAAS9c,GAAG,OAAOA,EAAE8c,KAAK,UAAU,EAAE++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAKuhB,EAAE0iE,WAAWkF,QAAQtzE,EAAE2L,EAAE6D,QAAQ89D,cAAc,4BAA4Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,SAAS9c,GAAG,IAAIsT,EAAEtT,EAAE8c,KAAK,UAAUjV,EAAE7H,EAAE8c,KAAK,eAAe,OAAOxJ,IAAIzL,CAAC,EAAEg0E,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAKuhB,EAAE0iE,WAAWmF,OAAOvzE,EAAE2L,EAAE6D,QAAQ89D,cAAc,2BAA2Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,GAAG,CAACwJ,KAAK,CAAC,4BAA4B++D,SAAS,WAAW,MAAM,CAAC7pF,KAAKuhB,EAAE0iE,WAAWgF,MAAM,GAAG,CAACn+D,KAAK,CAAC,mBAAmB++D,SAAS,SAAS77E,GAAG,IAAIsT,EAAE,CAACthB,KAAKuhB,EAAE0iE,WAAWoF,QAAQxzE,EAAE2L,EAAE6D,QAAQ89D,cAAc,4BAA4Bn1E,GAAG,OAAO6H,IAAIyL,EAAE7L,QAAQI,GAAGyL,CAAC,IAAIA,EAAE+D,QAAQyU,EAAE9rB,EAAEuZ,QAAQjG,EAAE+D,OAAO,kCCEr4yBkC,EAAQqT,YAAa,EAErB,IAAI8G,EAAS,EAAQ,OAMjB+pD,GAJUt4C,EAAuBzR,GAInByR,EAFD,EAAQ,SAMrBu4C,EAAQv4C,EAFD,EAAQ,QAQnB,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9F,SAAS2vE,EAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAI3pE,UAAU,oCAAwC,CAExJ,SAAS4pE,EAA2B/nB,EAAMllE,GAAQ,IAAKklE,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOnlE,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BklE,EAAPllE,CAAa,CAE/O,SAASktF,EAAU1sB,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIp9C,UAAU,kEAAoEo9C,GAAeD,EAASlgE,UAAYgC,OAAOigB,OAAOk+C,GAAcA,EAAWngE,UAAW,CAAE9B,YAAa,CAAEa,MAAOmhE,EAAU1I,YAAY,EAAO6c,UAAU,EAAMC,cAAc,KAAenU,IAAYn+D,OAAO6f,eAAiB7f,OAAO6f,eAAeq+C,EAAUC,GAAcD,EAASp+C,UAAYq+C,EAAY,CAR7dnsB,EAFD,EAAQ,QAYvB,IAAI64C,EAAwB,WAsK5BzkE,EAAA,QA/HA,SAA4B4jC,EAAc8gC,GACxC,IAAIC,EAAuBC,EAEvBC,EAAc,2BAA4B,EAAIV,EAAMrmE,WAAa,KAEjE3L,EAAW,SAAUotB,GAGvB,SAASptB,IACP,IAAI8jD,EAAO5+D,EApCWV,EACtBmC,EAqCAsrF,EAAgBnuF,KAAMkc,GAEtB,IAAK,IAAI7W,EAAOV,UAAUX,OAAQS,EAAOa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3Ed,EAAKc,GAAQZ,UAAUY,GAGzB,OAAey6D,EAAS5+D,EAAQktF,EAA2BtuF,KAAMspC,EAAWjoC,KAAKwD,MAAMykC,EAAY,CAACtpC,MAAMmG,OAAO1B,KAAiBrD,EAAMytF,SA5ClHnuF,EA4C+IU,EAAMtB,MAAMY,MA3CjLmC,EAAW,GACR,CACLy0E,GAAI,SAAYp0E,GACdL,EAASgiB,KAAK3hB,EAChB,EACA4rF,IAAK,SAAa5rF,GAChBL,EAAWA,EAASiB,QAAO,SAAUgrE,GACnC,OAAOA,IAAM5rE,CACf,GACF,EACAu6B,IAAK,WACH,OAAO/8B,CACT,EACAi9B,IAAK,SAAaoxD,EAAUC,GAC1BtuF,EAAQquF,EACRlsF,EAASI,SAAQ,SAAUC,GACzB,OAAOA,EAAQxC,EAAOsuF,EACxB,GACF,IAyBmMV,EAA2BltF,EAAnC4+D,EAC3L,CAmCA,OA/CAuuB,EAAUryE,EAAUotB,GAcpBptB,EAASva,UAAUL,gBAAkB,WACnC,IAAI2H,EAEJ,OAAOA,EAAO,CAAC,GAAQ2lF,GAAe5uF,KAAK6uF,QAAS5lF,CACtD,EAEAiT,EAASva,UAAUstF,0BAA4B,SAAmC5kD,GAChF,GAAIrqC,KAAKF,MAAMY,QAAU2pC,EAAU3pC,MAAO,CACxC,IAAIwuF,EAAWlvF,KAAKF,MAAMY,MACtBquF,EAAW1kD,EAAU3pC,MACrBsuF,OAAc,IAjERz2E,EAmEG22E,MAnEA12E,EAmEUu2E,GAjEd,IAANx2E,GAAW,EAAIA,GAAM,EAAIC,EAEzBD,GAAMA,GAAKC,GAAMA,GAgElBw2E,EAAc,GAEdA,EAA8C,mBAAzBP,EAAsCA,EAAqBS,EAAUH,GAAYP,EAOlF,IAFpBQ,GAAe,IAGbhvF,KAAK6uF,QAAQlxD,IAAI0M,EAAU3pC,MAAOsuF,GAGxC,CAjFN,IAAkBz2E,EAAGC,CAkFjB,EAEA0D,EAASva,UAAUnB,OAAS,WAC1B,OAAOR,KAAKF,MAAMW,QACpB,EAEOyb,CACT,CAjDe,CAiDbgoB,EAAOtkC,WAETsc,EAASpa,oBAAqB4sF,EAAwB,CAAC,GAAyBE,GAAeX,EAAYpmE,QAAQkxC,OAAOz2B,WAAYosD,GAEtI,IAAIxlF,EAAW,SAAUimF,GAGvB,SAASjmF,IACP,IAAIkmF,EAAQzmD,EAEZwlD,EAAgBnuF,KAAMkJ,GAEtB,IAAK,IAAI2rC,EAAQlwC,UAAUX,OAAQS,EAAOa,MAAMuvC,GAAQC,EAAQ,EAAGA,EAAQD,EAAOC,IAChFrwC,EAAKqwC,GAASnwC,UAAUmwC,GAG1B,OAAgBs6C,EAAUzmD,EAAS2lD,EAA2BtuF,KAAMmvF,EAAY9tF,KAAKwD,MAAMsqF,EAAa,CAACnvF,MAAMmG,OAAO1B,KAAkBkkC,EAAOjnC,MAAQ,CACrJhB,MAAOioC,EAAO0mD,YACb1mD,EAAO4C,SAAW,SAAUwjD,EAAUC,GAEF,KADI,EAAtBrmD,EAAO2mD,cACNN,IAClBrmD,EAAO/hC,SAAS,CAAElG,MAAOioC,EAAO0mD,YAEpC,EAAYf,EAA2B3lD,EAApCymD,EACL,CAqCA,OAxDAb,EAAUrlF,EAAUimF,GAqBpBjmF,EAASvH,UAAUstF,0BAA4B,SAAmC5kD,GAChF,IAAIilD,EAAejlD,EAAUilD,aAE7BtvF,KAAKsvF,aAAeA,QAAsDd,EACxEc,CACJ,EAEApmF,EAASvH,UAAUgL,kBAAoB,WACjC3M,KAAKI,QAAQwuF,IACf5uF,KAAKI,QAAQwuF,GAAatX,GAAGt3E,KAAKurC,UAEpC,IAAI+jD,EAAetvF,KAAKF,MAAMwvF,aAE9BtvF,KAAKsvF,aAAeA,QAAsDd,EACxEc,CACJ,EAEApmF,EAASvH,UAAU0G,qBAAuB,WACpCrI,KAAKI,QAAQwuF,IACf5uF,KAAKI,QAAQwuF,GAAaE,IAAI9uF,KAAKurC,SAEvC,EAEAriC,EAASvH,UAAU0tF,SAAW,WAC5B,OAAIrvF,KAAKI,QAAQwuF,GACR5uF,KAAKI,QAAQwuF,GAAanxD,MAE1BkwB,CAEX,EAEAzkD,EAASvH,UAAUnB,OAAS,WAC1B,OApHaC,EAoHIT,KAAKF,MAAMW,SAnHzB6E,MAAMiD,QAAQ9H,GAAYA,EAAS,GAAKA,GAmHLT,KAAK0B,MAAMhB,OApHvD,IAAmBD,CAqHf,EAEOyI,CACT,CA1De,CA0Dbg7B,EAAOtkC,WAKT,OAHAsJ,EAASrH,eAAgB8sF,EAAwB,CAAC,GAAyBC,GAAeX,EAAYpmE,QAAQkxC,OAAQ41B,GAG/G,CACLzyE,SAAUA,EACVhT,SAAUA,EAEd,EAGA63D,EAAOh3C,QAAUA,EAAiB,sCCjMlCA,EAAQqT,YAAa,EAErB,IAEImyD,EAAU55C,EAFD,EAAQ,QAMjB65C,EAAmB75C,EAFD,EAAQ,QAI9B,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAE9FuL,EAAA,QAAkBwlE,EAAQ1nE,QAAQvF,eAAiBktE,EAAiB3nE,QACpEk5C,EAAOh3C,QAAUA,EAAiB,yBCflC,OAOC,WACA,aAEA,IAAIxd,IACe,oBAAXR,SACPA,OAAOzB,WACPyB,OAAOzB,SAASC,eAGbklF,EAAuB,CAE1BljF,UAAWA,EAEXmjF,cAAiC,oBAAXC,OAEtBC,qBACCrjF,MAAgBR,OAAO+F,mBAAoB/F,OAAO8jF,aAEnDC,eAAgBvjF,KAAeR,OAAOgkF,aAOrC,KAFD,aACC,OAAON,CACP,+BAOH,CAhCA,iECAIO,EAAmB,SAA0BC,GAC/C,SAAUA,GAA4B,mBAAdA,EAAI/0E,MAC9B,EAOIg1E,EAAe,WACjB,MAAwB,oBAAb5lF,SACF,GAGFhF,MAAM3D,UAAUk/C,MAAMx/C,KAAKiJ,SAAS6lF,OAAOhsF,QAAO,SAAUisF,EAAaC,GAC9E,OAAOD,EAAYjqF,OAAOb,MAAM3D,UAAUk/C,MAAMx/C,KAAKgvF,GAAMvsF,OAAOksF,GACpE,GAAG,GACL,EAOIM,EAAY,SAAmBC,EAAQC,GACzC,OAAOD,EAAOhwC,MAAK,SAAUwsB,GAC3B,OAAOA,EAAMvqE,OAAQ,QAAMguF,EAAQzjB,EAAMvqE,KAC3C,GACF,EAII9C,EAAO,WAAiB,EAoF5B,QAlFsB,SAAyB+wF,EAAWC,GACxD,OAAO,SAAUL,GACf,IAAIM,EAAoB,SAA2BH,GAC5CC,IACHA,EAAYP,GAGTQ,IACHA,EAAeJ,GAGjB,IAAIM,EAAaF,EAAaD,IAAaD,GAEvCI,GACFA,EAAW11E,OAEf,EAGI21E,EAAiBR,EAAKS,OAEtBpvF,EAAQ,CAAC,EACTm5E,EAAcwV,EAAKnW,WAAU,SAAUrU,GACzCnkE,EAAQmkE,CACV,GAAG,CACD2qB,QAAQ,EACRO,cAAc,IAGZC,EAAc,WAChB,IAAIC,EAASvvF,EACT8uF,EAASS,EAAOT,OAChBO,EAAeE,EAAOF,aAEtBP,GAAU7sF,OAAOC,KAAK4sF,GAAQxsF,OAChC2sF,EAAkBH,GACTO,GAAgBptF,OAAOC,KAAKmtF,GAAc/sF,QACnD2sF,EAAkBI,EAEtB,EAiBA,OAdAV,EAAKS,OAAS,WACZ,IAAI31D,EAAS01D,EAAexvF,KAAKgvF,GAUjC,OARIl1D,GAAiC,mBAAhBA,EAAOC,KAE1BD,EAAOC,KAAK41D,EAAatxF,GAGzBsxF,IAGK71D,CACT,EAEO,WACL0/C,IACAwV,EAAKS,OAASD,CAChB,CACF,CACF,qFClGIK,EAAgB,IAAItiB,WAAW,GAC/BuiB,EAAe,WACfC,EAAajwB,OACjB,8GAIsC,KA8BlCkwB,EAAY,CAAC,EACbC,EAAY,UAEZC,EAAS,SAAgB/0E,GAC3B,GAAIA,UAAsCA,EAAIxY,OAC5C,MAAO,GAGT,GAAmB,iBAARwY,EACT,MAAM,IAAI5R,MAAM,6BA9BD,IAAsByiE,EACnClyC,EAuDJ,OAvBsB,MAAlBk2D,EAAU70E,KAcRA,EAAIg1E,SAAS,MAEfH,EAAU70E,GAAOA,EAAI3S,MAAMynF,GAAWxtF,OAAOiN,SAG7CsgF,EAAU70E,IAnDV2e,EAAS,IAD0BkyC,EAoDL7wD,GAjDvBoyD,WAAW,KAAOsiB,GAC3B/1D,EAAOtW,KAAK,IAGdwoD,EAAO53B,QAAQ27C,GAAY,SAAU5f,EAAOigB,EAAYC,EAAOC,GAC7D,IAAIn1E,EAAMg1D,EAENkgB,EACFl1E,EAAMm1E,EAAUl8C,QAAQ07C,EAAc,MAC7BM,IACTj1E,EAAMi1E,EAAWvkB,QAGnB/xC,EAAOtW,KAAKrI,EACd,IACO2e,IAsCAk2D,EAAU70E,EACnB,EAIIo1E,EAAQ,SAAelwF,EAAOmwF,GAKhC,IAHA,IAAIlZ,EAAO4Y,EAAOM,GACdpsF,EAAU/D,EAELsiB,EAAI,EAAGA,EAAI20D,EAAK30E,OAAQggB,IAAK,CACpC,IAAIxH,EAAMm8D,EAAK30D,GAEf,GAAIve,SAAgE,iBAAZA,GAAwBH,MAAMiD,QAAQ9C,IAAY80D,MAAM/9C,GAC9G,OAGF/W,EAAUA,EAAQ+W,EACpB,CAEA,OAAO/W,CACT,EAEA,SAASqsF,EAAexpF,GAAO,IAAIkU,EAEnC,SAAsBuwD,EAAOglB,GAAQ,GAAqB,iBAAVhlB,GAAgC,OAAVA,EAAgB,OAAOA,EAAO,IAAIilB,EAAOjlB,EAAMxoD,OAAO0tE,aAAc,QAAa7rF,IAAT4rF,EAAoB,CAAE,IAAIE,EAAMF,EAAK3wF,KAAK0rE,EAAOglB,UAAoB,GAAmB,iBAARG,EAAkB,OAAOA,EAAK,MAAM,IAAIxtE,UAAU,+CAAiD,CAAE,OAA4BjJ,OAAiBsxD,EAAQ,CAF/UolB,CAAa7pF,GAAgB,MAAsB,iBAARkU,EAAmBA,EAAMf,OAAOe,EAAM,CAI1H,IAAI41E,EAAgB,SAASA,EAAc3sF,EAASosC,EAAO8mC,EAAMj4E,EAAO2xF,GACtE,GAAIxgD,GAAS8mC,EAAK30E,OAEhB,OAAOtD,EAGT,IAAI8b,EAAMm8D,EAAK9mC,GAEf,GAAI0oB,MAAM/9C,GAAM,CACd,IAAIolC,EAGJ,GAAIn8C,QAA2C,CAC7C,IAAIwD,EAGAqpF,EAAWF,OAAchsF,EAAWyrC,EAAQ,EAAG8mC,EAAMj4E,EAAO2xF,GAGhE,YAAoBjsF,IAAbksF,OAAyBlsF,IAAa6C,EAAO,CAAC,GAAQuT,GAAO81E,EAAUrpF,EAChF,CAEA,GAAI3D,MAAMiD,QAAQ9C,GAChB,MAAM,IAAImF,MAAM,iDAIlB,IAAI2nF,EAAUH,EAAc3sF,EAAQ+W,GAAMq1B,EAAQ,EAAG8mC,EAAMj4E,EAAO2xF,GAElE,QAAgBjsF,IAAZmsF,EAAuB,CACzB,IAAIC,EAAU7uF,OAAOC,KAAK6B,GAASzB,OAEnC,QAAqBoC,IAAjBX,EAAQ+W,IAAkC,IAAZg2E,EAEhC,OAGF,YAAqBpsF,IAAjBX,EAAQ+W,IAAsBg2E,GAAW,EAEtCj4B,MAAMoe,EAAK9mC,EAAQ,KAAQwgD,OAI9B,EAFO,CAAC,GAMZ5sF,EAAQ+W,IACS,OAA8B/W,EAAS,CAAC+W,GAAK02B,IAAI4+C,IAGpE,CAGA,OAAO,OAAS,CAAC,EAAGrsF,IAAUm8C,EAAY,CAAC,GAAaplC,GAAO+1E,EAAS3wC,GAC1E,CAGA,IAAI6wC,EAAalnF,OAAOiR,GAExB,GAAI/W,QAA2C,CAE7C,IAAIitF,EAAWN,OAAchsF,EAAWyrC,EAAQ,EAAG8mC,EAAMj4E,EAAO2xF,GAGhE,QAAiBjsF,IAAbssF,EACF,OAIF,IAAIC,EAAS,GAEb,OADAA,EAAOF,GAAcC,EACdC,CACT,CAEA,IAAKrtF,MAAMiD,QAAQ9C,GACjB,MAAM,IAAImF,MAAM,8CAIlB,IACIuwB,EAASi3D,EADO3sF,EAAQgtF,GACc5gD,EAAQ,EAAG8mC,EAAMj4E,EAAO2xF,GAE9DnyC,EAAQ,GAAG/5C,OAAOV,GAEtB,GAAI4sF,QAA4BjsF,IAAX+0B,GAGnB,GAFA+kB,EAAMoN,OAAOmlC,EAAY,GAEJ,IAAjBvyC,EAAMl8C,OACR,YAGFk8C,EAAMuyC,GAAct3D,EAGtB,OAAO+kB,CACT,EAEI0yC,EAAQ,SAAelxF,EAAO8a,EAAK9b,EAAO2xF,GAK5C,QAJsB,IAAlBA,IACFA,GAAgB,GAGd3wF,QACF,MAAM,IAAIkJ,MAAM,4BAA8B6Q,OAAO/Z,GAAS,UAGhE,GAAI8a,QACF,MAAM,IAAI5R,MAAM,4BAA8B6Q,OAAOe,GAAO,QAK9D,OAAO41E,EAAc1wF,EAAO,EAAG6vF,EAAO/0E,GAAM9b,EAAO2xF,EACrD,EAEIQ,EAAa,wBACbC,EAAc,yBAOlB,SAASC,EAAkBC,EAAWC,GACpC,IAAIzC,EAASwC,EAAUxC,OACnB0C,EAAgBF,EAAUE,cAC1BC,EAAsBH,EAAUG,oBAChCpC,EAAeiC,EAAUjC,aACzBqC,EAAeJ,EAAUI,aACzBC,EAAkBL,EAAUK,gBAC5BC,EAAaN,EAAUM,WACvBlsC,EAAS4rC,EAAU5rC,OACnBh5B,EAAS6kE,EAAM7kE,OACfnT,EAAOg4E,EAAMh4E,KACbs4E,EAASN,EAAMM,OACf/xF,EAAOyxF,EAAMzxF,KACb0Z,EAAQ+3E,EAAM/3E,MACd9W,EAAW6uF,EAAM7uF,SACjBovF,EAA0BP,EAAMO,wBAChChxF,EAAOywF,EAAMzwF,KACbixF,EAAUR,EAAMQ,QAChBC,EAAaT,EAAMS,WACnBC,EAAUV,EAAMU,QAChBjzF,EAAQkxF,EAAMxqC,EAAQ5kD,GACtByc,EAAQ2yE,EAAMpB,EAAQhuF,GAEtByc,GAASA,EAAM6zE,KACjB7zE,EAAQA,EAAM6zE,IAGhB,IAAIc,EAAc7C,GAAgBa,EAAMb,EAAcvuF,GAClD8kD,EAAU4rC,GAAiBtB,EAAMsB,EAAe1wF,GAChDqxF,EAAWZ,EAAMa,QAAQxsC,EAAS5mD,GAElCqzF,GAAS90E,IAAU20E,EACvB,MAAO,CACLxlE,OAAQA,EACRnT,KAAMA,EACNs4E,OAAQA,EACR/xF,KAAMA,EACNwyF,OAAQH,EACRI,wBAR4Bd,GAAwBF,EAAMa,QAAQlC,EAAMuB,EAAqB3wF,GAAO9B,IASpGue,MAAOA,EACP/D,MAAOA,EACPosC,QAASA,EACT9nB,SAAUu0D,EACV/vF,OAAQsB,MAAMiD,QAAQ7H,GAASA,EAAMsD,YAASoC,EAC9ChC,SAAUA,EACVovF,wBAAyBA,EACzBhxF,KAAMA,EACNqxF,SAAUA,EACVD,YAAaA,EACbR,aAAcA,EACdC,gBAAiBA,EACjBC,WAAYA,EACZG,QAASA,EACTM,MAAOA,EACPrzF,MAAOA,EACPizF,QAASA,EACTD,WAAYA,EAEhB,CAGA,IAAIQ,EAAyB,CAAC,SAAU,OAAQ,QAAS,uBAAwB,QAAS,UAAW,UAAW,SAAU,WAAY,0BAA2B,WAAY,cAAe,eAAgB,kBAAmB,aAAc,UAAW,QAAS,QAAS,UAAW,cAGjRC,EAAe,SAAsB73D,EAAG/Y,GAC1C,GAAI+Y,IAAM/Y,EACR,OAAO,EAGT,GAAiB,iBAAN+Y,IAAmBA,GAAkB,iBAAN/Y,IAAmBA,EAC3D,OAAO,EAGT,IAAI6wE,EAAQzwF,OAAOC,KAAK04B,GACpB+3D,EAAQ1wF,OAAOC,KAAK2f,GAExB,GAAI6wE,EAAMpwF,SAAWqwF,EAAMrwF,OACzB,OAAO,EAKT,IAFA,IAAIswF,EAAkB3wF,OAAOhC,UAAUuJ,eAAe81B,KAAKzd,GAElDsgD,EAAM,EAAGA,EAAMuwB,EAAMpwF,OAAQ6/D,IAAO,CAC3C,IAAIrnD,EAAM43E,EAAMvwB,GAEhB,IAAKywB,EAAgB93E,IAAQ8f,EAAE9f,KAAS+G,EAAE/G,GACxC,OAAO,CAEX,CAEA,OAAO,CACT,EAGA,SAAS+3E,EAAoBC,EAAM37E,EAAKiwC,EAAU2rC,EAAc7wF,EAAM8wF,GACpE,IAAIC,GAAY,EAUhB,OATA/wF,EAAKX,SAAQ,SAAUuZ,GACjBi4E,EAAaj4E,KACfg4E,EAAKh4E,GAAO3D,EAAI2D,GAEXssC,KAAc4rC,EAAiBl5E,QAAQgB,GAAQ23E,EAAat7E,EAAI2D,GAAMssC,EAAStsC,IAAQ3D,EAAI2D,KAASssC,EAAStsC,MAChHm4E,GAAY,GAGlB,IACOA,CACT,CAGA,IAAIC,EAAqB,CAAC,QAKtBC,EAAmB,SAA0BnzF,EAAO0+E,EAAeqU,EAAcK,GACnF,IAAI35D,EAAS,CACXlgB,KAAMvZ,EAAMuZ,KACZs4E,OAAQ7xF,EAAM6xF,OACdr4E,MAAOxZ,EAAMwZ,MACb1Y,KAAMd,EAAMc,MAGd,OADgB+xF,EAAmBp5D,EAAQz5B,EAAO0+E,EAAeqU,EAAcP,EAAwBU,KAAwBxU,GAC3G0U,EAAQ35D,OAAS/0B,CACvC,EAGI2uF,EAAwB,CAAC,SAAU,QAAS,cAAe,6BAA8B,uBAAwB,QAAS,SAAU,kBAAmB,sBAAuB,gBAAiB,UAAW,WAAY,0BAA2B,WAAY,aAAc,cAAe,eAAgB,eAAgB,kBAAmB,UAAW,QAAS,aAAc,SAAU,WAGzXL,EAAmB,CAAC,UAAW,WAKnC,SAASM,EAAgBtzF,EAAO0+E,EAAeqU,EAAcK,GAC3D,IAAI35D,EAAS,CAAC,EAEd,OADgBo5D,EAAmBp5D,EAAQz5B,EAAO0+E,EAAeqU,EAAcM,EAAuBL,KAAsBtU,GACxG0U,EAAQ35D,OAAS/0B,CACvC,CAIA,IAAIkuE,EAAU,SAAiBlvE,GAC7B,IAAI6vF,EACAC,EACJ,OAAO,WACL,IAAK,IAAI7vF,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAUzB,OAPK0vF,GAAYxwF,EAAKT,SAAWixF,EAASjxF,SAAUS,EAAKg6C,MAAK,SAAUn2C,EAAKupC,GAC3E,OAAQsiD,EAAac,EAASpjD,GAAQvpC,EACxC,MACE2sF,EAAWxwF,EACXywF,EAAa9vF,EAAGP,WAAM,EAAQJ,IAGzBywF,CACT,CACF,EAEIC,EAAY,SAAW32E,GACzB,QAASA,IAAuB,iBAARA,GAAmC,mBAARA,IAA2C,mBAAbA,EAAI4c,IACtF,EAMGg6D,EAAe,SAAsB94D,EAAG/Y,GAC1C,OAAO+Y,IAAM/Y,CACf,EAEI8xE,EAAc,SAASA,EAAY7E,GACrC,OAAO7sF,OAAOC,KAAK4sF,GAAQ/xC,MAAK,SAAUjiC,GACxC,IAAI9b,EAAQ8vF,EAAOh0E,GAEnB,OAAI9b,GAA0B,iBAAVA,GAAwBA,aAAiBkK,WAIrC,IAAVlK,EAHL20F,EAAY30F,EAIvB,GACF,EAyCA,SAAS40F,EAAiBC,EAAYd,EAAc/yF,EAAOmmE,EAAW/jE,EAAQgxF,GAC5E,IAAIU,EAAe1xF,EAAOpC,EAAOmmE,EAAW4sB,EAAcK,GAE1D,QAAIU,IACFD,EAAWC,IACJ,EAIX,CAEA,SAASC,EAAO5pD,EAAOnqC,EAAOmmE,EAAW/jE,EAAQgxF,GAC/C,IAAI74C,EAAUpQ,EAAMoQ,QACpBt4C,OAAOC,KAAKq4C,GAASh5C,SAAQ,SAAUuZ,GACrC,IAAIo/B,EAAQK,EAAQ1wC,OAAOiR,IAE3B,GAAIo/B,EAAO,CACT,IAAI64C,EAAe74C,EAAM64C,aACrBc,EAAa35C,EAAM25C,WACnBG,EAAW95C,EAAM85C,SAEjBJ,EAAiBC,EAAYd,EAAc/yF,EAAOmmE,EAAW/jE,EAAQgxF,IAAUY,KACjF95C,EAAM85C,UAAW,EAErB,CACF,GACF,CAEA,SAASC,EAAWvhF,GAClB,IAAKA,EACH,MAAM,IAAIxJ,MAAM,uBAGlB,IAAIgrF,EAAQxhF,EAAOwhF,MACfC,EAAsBzhF,EAAOyhF,oBAC7BC,EAA0B1hF,EAAO0hF,wBACjC5C,EAAgB9+E,EAAO8+E,cACvB6C,EAAW3hF,EAAO2hF,SAClBC,EAAW5hF,EAAO4hF,SAClBC,EAAW7hF,EAAO6hF,SAClBC,EAAiB9hF,EAAO8hF,eAE5B,IAAKF,EACH,MAAM,IAAIprF,MAAM,kCAGlB,IAAIlJ,EAAQ,CACVy0F,YAAa,CACXtkD,MAAO,EACPoK,QAAS,CAAC,GAEZm6C,iBAAkB,CAAC,EACnBC,OAAQ,CAAC,EACTrD,UAAW,CACTsD,YAAa,CAAC,EACdrC,sBAAsB,EACtBT,yBAAyB,EACzBhD,OAAQ,CAAC,EACT0C,cAAeA,IAAiB,OAAS,CAAC,EAAGA,GAC7C1zD,SAAS,EACTq0D,UAAU,EACVP,YAAY,EACZF,cAAc,EACdC,iBAAiB,EACjBkD,sBAAsB,EACtBxC,OAAO,EACPL,WAAY,EACZtsC,OAAQ8rC,GAAgB,OAAS,CAAC,EAAGA,GAAiB,CAAC,GAEzDsD,mBAAepwF,GAEbqwF,EAAU,EACVC,GAAmB,EACnBC,GAAoB,EACpBC,GAA2C,EAC3CC,EAAyB,EACzBC,EAA0B,CAAC,EAS3BC,EAAc,SAAqBr1F,EAAOc,EAAMw0F,GAClD,IACIC,EAAQD,EADCpF,EAAMlwF,EAAMsxF,UAAU5rC,OAAQ5kD,IAE3Cd,EAAMsxF,UAAU5rC,OAASwrC,EAAMlxF,EAAMsxF,UAAU5rC,OAAQ5kD,EAAMy0F,IAAU,CAAC,CAC1E,EAEIC,EAAc,SAAqBx1F,EAAO83B,EAAMC,GAClD,GAAI/3B,EAAM20F,OAAO78D,GAAO,CACtB,IAAIooB,EAAWu1C,EAEfz1F,EAAM20F,QAAS,OAAS,CAAC,EAAG30F,EAAM20F,SAASz0C,EAAY,CAAC,GAAanoB,IAAM,OAAS,CAAC,EAAG/3B,EAAM20F,OAAO78D,GAAO,CAC1Gh3B,KAAMi3B,EAENxe,KAAM,WACJ,OAAOitD,EAAIjtD,KAAKwe,EAClB,EACA85D,OAAQ,SAAgB7yF,GACtB,OAAOwnE,EAAIqrB,OAAO95D,EAAI/4B,EACxB,EACAwa,MAAO,WACL,OAAOgtD,EAAIhtD,MAAMue,EACnB,EACA29D,oBAAgBhxF,IACdw7C,WACGlgD,EAAM20F,OAAO78D,GACpB93B,EAAM00F,kBAAmB,OAAS,CAAC,EAAG10F,EAAM00F,mBAAmBe,EAAY,CAAC,GAAa19D,GAAM/3B,EAAM00F,iBAAiB58D,GAAO29D,WACtHz1F,EAAM00F,iBAAiB58D,GAC9B,IAAI94B,EAAQkxF,EAAMlwF,EAAMsxF,UAAU5rC,OAAQ5tB,GAC1C93B,EAAMsxF,UAAU5rC,OAASwrC,EAAMlxF,EAAMsxF,UAAU5rC,OAAQ5tB,OAAMpzB,IAAc,CAAC,EAC5E1E,EAAMsxF,UAAU5rC,OAASwrC,EAAMlxF,EAAMsxF,UAAU5rC,OAAQ3tB,EAAI/4B,UACpDgB,EAAM80F,aACf,CACF,EAGIa,EAAgB,SAAuB76E,GACzC,OAAO,WAEL,GAAIu5E,EAAU,CASZ,IAPA,IAAIuB,EAAiB,CACnBtE,UAAWtxF,EAAMsxF,UACjBqD,OAAQ30F,EAAM20F,OACdD,iBAAkB10F,EAAM00F,iBACxBI,cAAe90F,EAAM80F,eAGdnxF,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/Ed,EAAKc,GAAQZ,UAAUY,GAGzB,IAAIgyF,EAAcxB,EAASv5E,GAAK/X,EAAM6yF,EAAgB,CACpDP,YAAaA,EACbnF,MAAOA,EACPsF,YAAaA,EACbM,gBAAiBtvB,EAAIsvB,gBACrB5E,MAAOA,EACPuB,aAAcA,IAUhB,OARAzyF,EAAMsxF,UAAYsE,EAAetE,UACjCtxF,EAAM20F,OAASiB,EAAejB,OAC9B30F,EAAM00F,iBAAmBkB,EAAelB,iBACxC10F,EAAM80F,cAAgBc,EAAed,cACrCiB,OAAcrxF,GAAW,WACvBsxF,IACAC,GACF,IACOJ,CACT,CACF,CACF,EAEIK,EAAc7B,EAAWpyF,OAAOC,KAAKmyF,GAAU5xF,QAAO,SAAUg3B,EAAQ3e,GAE1E,OADA2e,EAAO3e,GAAO66E,EAAc76E,GACrB2e,CACT,GAAG,CAAC,GAAK,CAAC,EAoBN08D,EAAgB,SAAuB5E,GACzC,OAAOtvF,OAAOC,KAAKqvF,EAAM6E,YAAY3zF,QAAO,SAAUg3B,EAAQ0W,GAC5D,IAAIkmD,EAAY9E,EAAM6E,WAAWvsF,OAAOsmC,MAMxC,OAJIkmD,GACF58D,EAAOtW,KAAKkzE,GAGP58D,CACT,GAAG,GACL,EAgCIs8D,EAAgB,SAAuBO,EAAc3gD,GACvD,GAAIq/C,EAGF,OAFAC,GAAoB,OACpBt/C,IAIF,IAAIg/C,EAAS30F,EAAM20F,OACfrD,EAAYtxF,EAAMsxF,UAElBiF,GAAa,OAAS,CAAC,EAAG5B,GAE1B6B,EAAYv0F,OAAOC,KAAKq0F,GAE5B,GAAKhC,GAAaiC,EAAUz5C,MAAK,SAAUjiC,GACzC,OAAOq7E,EAAcI,EAAWz7E,IAAMxY,MACxC,IAFA,CAQA,IAAIm0F,GAA8B,EAElC,GAAIH,EAAc,CAChB,IAAII,EAAeH,EAAWD,GAE9B,GAAII,EAAc,CAChB,IAAIC,EAAiBD,EAAaC,eAE9BA,IACFF,GAA8B,EAC9BD,EAAYG,EAAer0F,OAASq0F,EAAelyF,OAAO6xF,GAAgB,CAACA,GAE/E,CACF,CAEA,IArLqEx7E,EAqLjE87E,EAAoB,CAAC,EACrBC,EAAyB,CAAC,EAC1BC,EAAmB,CAAC,EACpBC,EAAW,GAAGtyF,OApGW,SAAkCuyF,GAC/D,IAAID,EAAW,GAEf,GAAIxC,EAAU,CACZ,IAAI0C,EAAkB1C,GAAS,OAAS,CAAC,EAAGv0F,EAAMsxF,UAAU5rC,SAExD+tC,EAAUwD,GACZF,EAAS5zE,KAAK8zE,EAAgBv9D,MAAK,SAAUo1D,GAC3C,OAAOkI,EAAUlI,GAAQ,EAC3B,KAEAkI,EAAUC,GAAiB,EAE/B,CAEA,OAAOF,CACT,CAoF2BG,EAAyB,SAAUpI,EAAQqI,GAC9DA,EACFN,EAAyB/H,GAAU,CAAC,EAEpC8H,EAAoB9H,GAAU,CAAC,CAEnC,IAAI0H,EAAU/zF,QAAO,SAAUg3B,EAAQ34B,GACrC,OAAO24B,EAAOh1B,OA7EY,SAAiC8sF,EAAO6F,GACpE,IAIM75E,EAJFw5E,EAAW,GACXX,EAAaD,EAAc5E,GAyB/B,OAvBI6E,EAAW9zF,SAEb8zF,EAAW70F,SAAQ,SAAU80F,GAC3B,IAAIgB,EAAiBhB,EAAUnG,EAAMlwF,EAAMsxF,UAAU5rC,OAAQ6rC,EAAMzwF,MAAOd,EAAMsxF,UAAU5rC,OAA6B,IAArB2wC,EAAU/zF,QAAqC,IAArB+zF,EAAU/zF,OAAe+uF,EAAkBrxF,EAAMsxF,UAAWtxF,EAAM20F,OAAOpD,EAAMzwF,YAAS4D,GAEpN,GAAI2yF,GAAkB5D,EAAU4D,GAAiB,CAC/C9F,EAAMS,YAAa,EACnB,IAAIsF,EAAUD,EAAe39D,MAAK,SAAUnc,GACtCvd,EAAM20F,OAAOpD,EAAMzwF,QACrBd,EAAM20F,OAAOpD,EAAMzwF,MAAMkxF,YAAa,EACtCoF,EAAS75E,GAEb,IAEAw5E,EAAS5zE,KAAKm0E,EAChB,MAAY/5E,IAEVA,EAAQ85E,EAEZ,IACAD,EAAS75E,IAGJw5E,CACT,CAiDyBQ,CAAwB5C,EAAO7zF,IAAO,SAAUyc,GACnEu5E,EAAiBh2F,GAAQyc,CAC3B,IACF,GAAG,KACCi6E,EAAsBT,EAASz0F,OAAS,EACxCm1F,IAA8BtC,EAC9BmC,EAAUn+D,QAAQu+D,IAAIX,GAAUr9D,MArMiC5e,EAqMA28E,EApM9D,SAAUh+D,GAEf,cADO27D,EAAwBt6E,GACxB2e,CACT,IAmMI+9D,IACFpC,EAAwBqC,GAA6BH,GAGvD,IAAIK,EAAgB,SAAuBC,GACzC,IAAI1hE,GAAS,OAAS,CAAC,EAAGugE,EAA8BnF,EAAUxC,OAAS,CAAC,EAAG8H,EAAmBgB,EAAaf,EAC7GvF,EAAUsD,aAERiD,EAAe,SAAsBn0F,GACvC8yF,EAAUj1F,SAAQ,SAAUT,GAC1B,GAAI6zF,EAAO7zF,GAAO,CAGhB,IAAIg3F,EAAmB5H,EAAM0G,EAAmB91F,GAC5Ci3F,EAAkB7H,EAAMh6D,EAAQp1B,GAChCk3F,EAA0B7B,EAAcI,EAAWz1F,IAAOwB,OAC1D21F,EAAkBnB,EAAiBh2F,GACvC4C,EAAG5C,EAAMk3F,GAA2BC,GAAmB1D,GAAYuD,IAAsBA,GAAqBrB,OAAgD/xF,EAAlBqzF,GAC9I,CACF,GACF,EAEAF,GAAa,SAAU/2F,EAAMyc,GAC3B2Y,EAASg7D,EAAMh7D,EAAQp1B,EAAMyc,IAAU,CAAC,CAC1C,IACAs6E,GAAa,SAAU/2F,EAAMyc,GAC3B,GAAIA,GAASA,EAAM6zE,GAAc,CAC/B,IAAI8G,EAAWhI,EAAMh6D,EAAQp1B,GACzBq3F,EAAO,GAAG1zF,OAAOyzF,GACrBC,EAAK/G,GAAe7zE,EAAM6zE,GAC1Bl7D,EAASg7D,EAAMh7D,EAAQp1B,EAAMq3F,EAC/B,CACF,IAEK1F,EAAanB,EAAUxC,OAAQ54D,KAClCo7D,EAAUxC,OAAS54D,GAGjB0hE,IACFtG,EAAUsD,YAAciC,GAG1BvF,EAAU/zE,MAAQq5E,EAAkBzF,EACtC,EAaA,GAXIqG,IAEFx3F,EAAMsxF,UAAUU,aAChBr8C,KAIFgiD,GAAc,GAEdhiD,IAEI6hD,EAAqB,CACvB,IAAIY,EAAe,WACjBp4F,EAAMsxF,UAAUU,aAChBr8C,GACF,EAEA2hD,EAAQ59D,MAAK,WACPy7D,EAAyBsC,GAK7BE,GAAc,EAChB,IAAGj+D,KAAK0+D,EAAcA,EACxB,CA1GA,MAFEziD,GA6GJ,EAEIqgD,EAAuB,SAA8Bl1F,GACvD,IAAIi0F,EAAJ,CAIA,IAAIJ,EAAS30F,EAAM20F,OACfD,EAAmB10F,EAAM00F,iBACzBpD,EAAYtxF,EAAMsxF,UAElBiF,GAAa,OAAS,CAAC,EAAG5B,GAE1B0D,EAAc,SAAqBv3F,GACrC,IAAIywF,EAAQgF,EAAWz1F,GACnBw3F,EAAajH,EAAkBC,EAAWC,GAC1CmE,EAAiBnE,EAAMmE,eAC3BnE,EAAMmE,eAAiB4C,EACvB,IAAIC,EAAkB7D,EAAiB5zF,GAEnCy3F,GACFxE,EAAOwE,EAAiBD,EAAY5C,EAAgBvC,OAAqCzuF,IAAnBgxF,EAE1E,EAEI50F,EACFu3F,EAAYv3F,GAEZmB,OAAOC,KAAKq0F,GAAYh1F,QAAQ82F,EAvBlC,CAyBF,EAEIG,EAAuB,WACzBv2F,OAAOC,KAAKlC,EAAM20F,QAAQpzF,SAAQ,SAAUuZ,GAC1C9a,EAAM20F,OAAO75E,GAAKi3E,SAAU,CAC9B,GACF,EAMI0G,EAAyB,WAC3B,IAAI9D,EAAS30F,EAAM20F,OACfrD,EAAYtxF,EAAMsxF,UAClBwD,EAAgB90F,EAAM80F,cAEtByB,GAAa,OAAS,CAAC,EAAG5B,GAE1B+D,EAAgBz2F,OAAOC,KAAKq0F,GAE5BoC,GAAa,EACbC,EAAcF,EAAcj2F,QAAO,SAAUg3B,EAAQ3e,GAQvD,OAPay7E,EAAWz7E,GAAKs3E,QAAQlC,EAAMoB,EAAU5rC,OAAQ5qC,GAAMo1E,EAAMoB,EAAUE,eAAiB,CAAC,EAAG12E,MAGtG69E,GAAa,EACbl/D,EAAO3e,IAAO,GAGT2e,CACT,GAAG,CAAC,GACAo/D,EAA6BH,EAAcj2F,QAAO,SAAUg3B,EAAQ3e,GAEtE,IAAIg+E,EAA6BxH,EAAUG,qBAAuB,CAAC,EAMnE,OAJK8E,EAAWz7E,GAAKs3E,QAAQlC,EAAMoB,EAAU5rC,OAAQ5qC,GAAMo1E,EAAM4I,EAA4Bh+E,MAC3F2e,EAAO3e,IAAO,GAGT2e,CACT,GAAG,CAAC,GACJ63D,EAAUa,UAAYwG,EACtBrH,EAAUiB,wBAA0BjB,EAAUG,sBAAuBxvF,OAAOyjD,OAAOmzC,GAA4B97C,MAAK,SAAU/9C,GAC5H,OAAOA,CACT,KACAsyF,EAAUQ,2BAA6BR,EAAUG,sBACjDxvF,OAAOC,KAAKq0F,GAAYx5C,MAAK,SAAU/9C,GACrC,OAAOu3F,EAAWv3F,GAAO8yF,uBAC3B,KACAR,EAAUe,QAASf,EAAU/zE,OAAU+zE,EAAUY,aAAgByB,EAAYrC,EAAUxC,SAAawC,EAAUjC,cAAgBsE,EAAYrC,EAAUjC,eACpJ,IAAI0J,EApdR,SAAoCxxF,GAClC,IAAImlB,EAASnlB,EAAKmlB,OACd6lE,EAAuBhrF,EAAKgrF,qBAC5BT,EAA0BvqF,EAAKuqF,wBAC/Bv0E,EAAQhW,EAAKgW,MACbuxE,EAASvnF,EAAKunF,OACd0C,EAAgBjqF,EAAKiqF,cACrBW,EAAW5qF,EAAK4qF,SAChBP,EAAarqF,EAAKqqF,WAClBF,EAAenqF,EAAKmqF,aACpBC,EAAkBpqF,EAAKoqF,gBACvBO,EAAc3qF,EAAK2qF,YACnB7C,EAAe9nF,EAAK8nF,aACpBgD,EAAQ9qF,EAAK8qF,MACbL,EAAazqF,EAAKyqF,WAClBtsC,EAASn+C,EAAKm+C,OAClB,MAAO,CACLh5B,OAAQA,EACR4lE,OAAQH,EACRI,qBAAsBA,EACtBT,wBAAyBA,EACzBv0E,MAAOA,EACPuxE,OAAQA,EACRkK,mBAAoB9G,GAAe7C,GAAgBsE,EAAYtE,IAC/D4J,uBAAwB17E,IAASo2E,EAAY7E,IAC7ChxD,SAAUu0D,EACVb,cAAeA,EACfW,SAAUA,EACVP,WAAYA,EACZF,aAAcA,EACdC,gBAAiBA,EACjBO,YAAaA,EACb7C,aAAcA,EACdgD,MAAOA,EACPL,WAAYA,EAAa,EACzBtsC,OAAQA,EAEZ,CA+awBwzC,CAA2B5H,GAE3C6H,EAAwBT,EAAcj2F,QAAO,SAAUg3B,EAAQ3e,GAIjE,OAHA2e,EAAO/2B,SAASoY,GAAOy7E,EAAWz7E,GAAKpY,SACvC+2B,EAAOs4D,QAAQj3E,GAAOy7E,EAAWz7E,GAAKi3E,QACtCt4D,EAAOw4D,QAAQn3E,GAAOy7E,EAAWz7E,GAAKm3E,QAC/Bx4D,CACT,GAAG,CACD/2B,SAAU,CAAC,EACXqvF,QAAS,CAAC,EACVE,QAAS,CAAC,IAERvvF,EAAWy2F,EAAsBz2F,SACjCqvF,EAAUoH,EAAsBpH,QAChCE,EAAUkH,EAAsBlH,QAOpC,OALA8G,EAAcH,YAAc9D,GAAiBrC,EAAaqC,EAAc8D,YAAaA,GAAe9D,EAAc8D,YAAcA,EAChIG,EAAcF,2BAA6B/D,GAAiBrC,EAAaqC,EAAc+D,2BAA4BA,GAA8B/D,EAAc+D,2BAA6BA,EAC5LE,EAAcr2F,SAAWoyF,GAAiBrC,EAAaqC,EAAcpyF,SAAUA,GAAYoyF,EAAcpyF,SAAWA,EACpHq2F,EAAchH,QAAU+C,GAAiBrC,EAAaqC,EAAc/C,QAASA,GAAW+C,EAAc/C,QAAUA,EAChHgH,EAAc9G,QAAU6C,GAAiBrC,EAAaqC,EAAc7C,QAASA,GAAW6C,EAAc7C,QAAUA,EACzG6C,GAAiBrC,EAAaqC,EAAeiE,GAAiBjE,EAAgBiE,CACvF,EASIK,GAAY,EACZC,GAAuB,EAEvBpD,EAAsB,SAASA,IACjC,GAAImD,EACFC,GAAuB,MAClB,CAIL,GAHAD,GAAY,EAbPlF,GAA2CA,EAAMuE,IAA0Bx2F,OAAOC,KAAKlC,EAAM20F,QAAQlyF,QAAO,SAAUg3B,EAAQ3e,GAEnI,OADA2e,EAAO3e,GAAO9a,EAAM20F,OAAO75E,GACpB2e,CACT,GAAG,CAAC,MAaGs7D,GAAaC,GAAoBE,GAA2C,CAC/E,IAAIJ,EAAgB90F,EAAM80F,cACtBiE,EAAgBN,IAEhBM,IAAkBjE,IACpB90F,EAAM80F,cAAgBiE,EACtBhF,EAAO/zF,EAAMy0F,YAAasE,EAAejE,EAAexB,GAE5D,CAEA8F,GAAY,EAERC,IACFA,GAAuB,EACvBpD,IAEJ,CACF,EAcIqD,EAA2B,WAC7B,OAAOr3F,OAAOC,KAAKlC,EAAM20F,QAAQpzF,SAAQ,SAAUuZ,GACjD,OAAO9a,EAAM20F,OAAO75E,GAAKg3E,yBAA0B,CACrD,GACF,EAGAiE,OAAcrxF,GAAW,WACvBuxF,GACF,IACA,IAAIzvB,EAAM,CACR+yB,MAAO,SAAe71F,GACpBqxF,IACArxF,IACAqxF,IACAiB,IACAC,GACF,EACA18E,KAAM,SAAczY,GAClB,IAAI6zF,EAAS30F,EAAM20F,OACfrD,EAAYtxF,EAAMsxF,UAClBlqC,EAAWutC,EAAO7zF,GAElBsmD,WAEKkqC,EAAU5kE,OACjBioE,EAAO7zF,IAAQ,OAAS,CAAC,EAAGsmD,EAAU,CACpC16B,QAAQ,EACRqlE,SAAS,IAGPyC,EACFuB,EAAcj1F,GAAM,WAClBk1F,IACAC,GACF,KAEAD,IACAC,KAGN,EACApE,OAAQ,SAAgB/wF,EAAM9B,GAC5B,IAAI21F,EAAS30F,EAAM20F,OACfrD,EAAYtxF,EAAMsxF,UAEtB,GAAIpB,EAAMoB,EAAU5rC,OAAQ5kD,KAAU9B,EAAO,CAC3Cq2F,EAAYr1F,EAAOc,GAAM,WACvB,OAAO9B,CACT,IACA,IAAIooD,EAAWutC,EAAO7zF,GAElBsmD,IAEFutC,EAAO7zF,IAAQ,OAAS,CAAC,EAAGsmD,EAAU,CACpC1kD,UAAU,EACVovF,0BAA2BR,EAAUG,uBAIrC+C,GACFwB,IACAC,KAEAF,EAAcj1F,GAAM,WAClBk1F,IACAC,GACF,GAEJ,CACF,EAEI9B,0BACF,QAASA,CACX,EAEIA,wBAAoBn1F,GACtBm1F,EAAsBn1F,CACxB,EAEAwa,MAAO,SAAe1Y,GACpB,IAAIywF,EAAQvxF,EAAM20F,OAAO7zF,GAErBywF,IAAUA,EAAM7kE,SAClB1sB,EAAMsxF,UAAU5kE,OAAS5rB,EACzBywF,EAAM7kE,QAAS,EACf6kE,EAAMU,SAAU,EAChB+D,IACAC,IAEJ,EACA5B,SAAU6B,EACVsD,cAAe,SAAuB14F,GACpC,IAAIywF,EAAQvxF,EAAM20F,OAAO7zF,GACzB,OAAOywF,GAASA,EAAMmE,cACxB,EACA+D,oBAAqB,WACnB,OAAOx3F,OAAOC,KAAKlC,EAAM20F,OAC3B,EACApc,SAAU,WACR,OAAOkgB,GACT,EACAiB,WAAY,SAAoB55F,GAC9B,IAAI60F,EAAS30F,EAAM20F,OACfrD,EAAYtxF,EAAMsxF,UAElBiF,GAAa,OAAS,CAAC,EAAG5B,GAE1BjvC,EAAyB,mBAAT5lD,EAAsBA,EAAKwxF,EAAU5rC,QAAU5lD,EAE9Ds0F,IACH9C,EAAU5rC,OAASA,GAWrB,IAAIi0C,EAAmBvF,EAA0BnyF,OAAOC,KAAKq0F,GAAY9zF,QAAO,SAAUg3B,EAAQ3e,GAQhG,OAPYy7E,EAAWz7E,GACFs3E,QAAQlC,EAAMoB,EAAU5rC,OAAQ5qC,GAAMo1E,EAAMoB,EAAUE,eAAiB,CAAC,EAAG12E,MAG9F2e,EAAO3e,GAAOo1E,EAAMoB,EAAU5rC,OAAQ5qC,IAGjC2e,CACT,GAAG,CAAC,GAAK,CAAC,EAEV63D,EAAUE,cAAgB9rC,EAC1B4rC,EAAU5rC,OAASA,EAEnBzjD,OAAOC,KAAKy3F,GAAkBp4F,SAAQ,SAAUuZ,GAC9Cw2E,EAAU5rC,OAASwrC,EAAMI,EAAU5rC,OAAQ5qC,EAAK6+E,EAAiB7+E,KAAS,CAAC,CAC7E,IACAi7E,OAAcrxF,GAAW,WACvBsxF,IACAC,GACF,GACF,EACA2D,mBAAoB,WAClB,OAAO5E,CACT,EACA6E,gBAAiB,SAAyBC,QACZ,IAAxBA,IACFA,GAAsB,GAGxB9E,GAAmB,EACnBE,EAA2C4E,CAC7C,EACAC,cAAe,SAAuBj5F,EAAM+yF,EAAYd,EAAciH,QAC/C,IAAjBjH,IACFA,EAAe,CAAC,GAGb/yF,EAAM00F,iBAAiB5zF,KAC1Bd,EAAM00F,iBAAiB5zF,GAAQ,CAC7BqvC,MAAO,EACPoK,QAAS,CAAC,IAId,IAAIpK,EAAQnwC,EAAM00F,iBAAiB5zF,GAAMqvC,QAEzCnwC,EAAM00F,iBAAiB5zF,GAAMy5C,QAAQpK,GAAS,CAC5C0jD,WAAYjhB,EAAQihB,GACpBd,aAAcA,EACdiB,UAAU,GAGZ,IAAIzC,EAAQvxF,EAAM20F,OAAO7zF,IAAS,CAChC4rB,QAAQ,EACR4iE,YAAa0K,GAAeA,EAAY1K,YACxC2K,aAAcD,GAAeA,EAAYC,aACzCn6F,KAAMk6F,GAAeA,EAAYl6F,MAAQ,CAAC,EAC1CsyF,QAAS4H,GAAeA,EAAY5H,SAAWsB,EAC/CgC,oBAAgBhxF,EAChBhC,UAAU,EACVovF,yBAAyB,EACzBhxF,KAAMA,EACNixF,SAAS,EACTM,OAAO,EACPsE,eAAgBqD,GAAeA,EAAYrD,eAC3CP,WAAY,CAAC,EACbpE,YAAY,EACZC,SAAS,GAIXV,EAAMh4E,KAAOg4E,EAAMh4E,MAAQ,WACzB,OAAOitD,EAAIjtD,KAAKzY,EAClB,EAEAywF,EAAMM,OAASN,EAAMM,QAAU,SAAU7yF,GACvC,OAAOwnE,EAAIqrB,OAAO/wF,EAAM9B,EAC1B,EAEAuyF,EAAM/3E,MAAQ+3E,EAAM/3E,OAAS,WAC3B,OAAOgtD,EAAIhtD,MAAM1Y,EACnB,EAEAd,EAAM20F,OAAO7zF,GAAQywF,EACrB,IAAI2I,GAAgB,EAChBC,EAASH,GAAeA,EAAYG,OAEpCpG,EAAS,WACPoG,GAAUn6F,EAAM20F,OAAO7zF,GACzBk1F,EAAqBl1F,IAErBm1F,IACAD,IAEJ,EAEA,GAAIgE,EAAa,CACfE,KAAmBF,EAAYI,eAAgBJ,EAAYI,gBAEvDJ,EAAYI,eACdp6F,EAAM20F,OAAO7zF,GAAMs1F,WAAWjmD,GAAS6pD,EAAYI,cAGrD,IAAIC,OAA6D31F,IAAxCwrF,EAAMlwF,EAAMsxF,UAAU5rC,OAAQ5kD,QAEtB4D,IAA7Bs1F,EAAYM,eAA+BD,GAAsBnK,EAAMlwF,EAAMsxF,UAAU5rC,OAAQ5kD,KAAUovF,EAAMlwF,EAAMsxF,UAAUE,cAAe1wF,KAEhJd,EAAMsxF,UAAUE,cAAgBN,EAAMlxF,EAAMsxF,UAAUE,eAAiB,CAAC,EAAG1wF,EAAMk5F,EAAYM,cAC7Ft6F,EAAMsxF,UAAU5rC,OAASwrC,EAAMlxF,EAAMsxF,UAAU5rC,OAAQ5kD,EAAMk5F,EAAYM,cACzEvE,OAAcrxF,EAAWqvF,SAIMrvF,IAA7Bs1F,EAAY/tC,mBAA2DvnD,IAA7Bs1F,EAAYM,mBAA6E51F,IAA/CwrF,EAAMlwF,EAAMsxF,UAAUE,cAAe1wF,IAAuBu5F,IAClJr6F,EAAMsxF,UAAU5rC,OAASwrC,EAAMlxF,EAAMsxF,UAAU5rC,OAAQ5kD,EAAMk5F,EAAY/tC,cAE7E,CAQA,OANIiuC,EACFnE,OAAcrxF,EAAWqvF,GAEzBA,IAGK,WACL,IAAIwG,GAAmB,EAEnBv6F,EAAM20F,OAAO7zF,KAEfy5F,KAAsBv6F,EAAM20F,OAAO7zF,GAAMs1F,WAAWjmD,KAAUnwC,EAAM20F,OAAO7zF,GAAMs1F,WAAWjmD,aACrFnwC,EAAM20F,OAAO7zF,GAAMs1F,WAAWjmD,IAGvC,IAAIqqD,IAAwBx6F,EAAM00F,iBAAiB5zF,GAE/C05F,UAEKx6F,EAAM00F,iBAAiB5zF,GAAMy5C,QAAQpK,GAG9C,IAAIsqD,EAAUD,IAAwBv4F,OAAOC,KAAKlC,EAAM00F,iBAAiB5zF,GAAMy5C,SAASj4C,OAEpFm4F,WACKz6F,EAAM00F,iBAAiB5zF,UACvBd,EAAM20F,OAAO7zF,GAEhBy5F,IACFv6F,EAAMsxF,UAAUxC,OAASoC,EAAMlxF,EAAMsxF,UAAUxC,OAAQhuF,OAAM4D,IAAc,CAAC,GAG1EyvF,IACFn0F,EAAMsxF,UAAU5rC,OAASwrC,EAAMlxF,EAAMsxF,UAAU5rC,OAAQ5kD,OAAM4D,GAAW,IAAS,CAAC,IAIjFy1F,IACCI,EACFxE,OAAcrxF,GAAW,WACvBuxF,IACAD,GACF,IACSyE,GAETxE,IAGN,CACF,EACAyE,MAAO,SAAelJ,QACE,IAAlBA,IACFA,EAAgBxxF,EAAMsxF,UAAUE,eAG9BxxF,EAAMsxF,UAAUM,aAClB5xF,EAAMsxF,UAAUuD,sBAAuB,GAGzC70F,EAAMsxF,UAAUI,cAAe,EAC/B1xF,EAAMsxF,UAAUK,iBAAkB,SAC3B3xF,EAAMsxF,UAAUY,mBAChBlyF,EAAMsxF,UAAUjC,oBAChBrvF,EAAMsxF,UAAUG,oBACvBjrB,EAAIkzB,WAAWlI,GAAiB,CAAC,EACnC,EAKAsE,gBAAiB,SAAyBh1F,GACxCd,EAAM20F,OAAO7zF,IAAQ,OAAS,CAAC,EAAGd,EAAM20F,OAAO7zF,GAAO,CACpD4rB,QAAQ,EACRgpE,oBAAgBhxF,EAChBhC,UAAU,EACVqvF,SAAS,EACTM,OAAO,EACPL,YAAY,EACZC,SAAS,IAEX8D,OAAcrxF,GAAW,WACvBsxF,IACAC,GACF,GACF,EAOA0E,QAAS,SAAiBnJ,QACF,IAAlBA,IACFA,EAAgBxxF,EAAMsxF,UAAUE,eAGlChrB,EAAI+yB,OAAM,WACR,IAAK,IAAIz4F,KAAQd,EAAM20F,OACrBnuB,EAAIsvB,gBAAgBh1F,GACpBd,EAAM20F,OAAO7zF,IAAQ,OAAS,CAAC,EAAGd,EAAM20F,OAAO7zF,GAAO,CACpD4rB,QAAQ,EACRgpE,oBAAgBhxF,EAChBhC,UAAU,EACVovF,yBAAyB,EACzBC,SAAS,EACTM,OAAO,EACPL,YAAY,EACZC,SAAS,IAIbzrB,EAAIk0B,MAAMlJ,EACZ,GACF,EACAoJ,iBAAkB,WAChB5F,GAAmB,EACnBE,GAA2C,EAEvCD,GAEFc,OAAcrxF,GAAW,WACvBsxF,IACAC,GACF,IAGFhB,GAAoB,CACtB,EACA4F,UAAW,SAAmB/5F,EAAM9B,GAClC,OAAQ8B,GACN,IAAK,QACHozF,EAAQl1F,EACR,MAEF,IAAK,sBACHm1F,EAAsBn1F,EACtB,MAEF,IAAK,gBACHwnE,EAAIkzB,WAAW16F,GACf,MAEF,IAAK,0BACHo1F,EAA0Bp1F,EAC1B,MAEF,IAAK,WACHq1F,EAAWr1F,EAEPA,GACFiD,OAAOC,KAAKg0F,GAAa30F,SAAQ,SAAUuZ,GACnCA,KAAO9b,UACJk3F,EAAYp7E,EAEvB,IACA7Y,OAAOC,KAAKlD,GAAOuC,SAAQ,SAAUuZ,GACnCo7E,EAAYp7E,GAAO66E,EAAc76E,EACnC,KAEA7Y,OAAOC,KAAKg0F,GAAa30F,SAAQ,SAAUuZ,UAClCo7E,EAAYp7E,EACrB,IAGF,MAEF,IAAK,WACHw5E,EAAWt1F,EACX,MAEF,IAAK,WACHu1F,EAAWv1F,EACX+2F,OAAcrxF,GAAW,WACvBsxF,IACAC,GACF,IACA,MAEF,IAAK,iBACHzB,EAAiBx1F,EACjB,MAEF,QACE,MAAM,IAAIkK,MAAM,uBAAyBpI,GAE/C,EACAsuF,OAAQ,WACN,IAAIkC,EAAYtxF,EAAMsxF,UAEtB,IAAIA,EAAUM,WAAd,CAQA,UAJON,EAAUjC,oBACViC,EAAUY,YACjBZ,EAAUG,qBAAsB,OAAS,CAAC,EAAGH,EAAU5rC,QAtiB/C1lD,EAAMsxF,UAAU/zE,OAASo2E,EAAY3zF,EAAMsxF,UAAUxC,QA8iB3D,OALA0J,IACAc,IACAt5F,EAAMsxF,UAAUI,cAAe,EAC/BuE,SACAD,IAIF,IAAI8E,EAA8B74F,OAAOC,KAAKkzF,GAE9C,GAAI0F,EAA4Bx4F,OAE9B62B,QAAQu+D,IAAIoD,EAA4BtpD,KAAI,SAAU12B,GACpD,OAAOs6E,EAAwBvrF,OAAOiR,GACxC,KAAI4e,KAAK8sC,EAAI4oB,OAAQnuF,QAAQsc,YAM/B,IAtdKtb,OAAOC,KAAKlC,EAAM20F,QAAQ53C,MAAK,SAAUj8C,GAC9C,OAAOd,EAAM20F,OAAO7zF,GAAMm5F,eAAsD,IAAtCj6F,EAAM20F,OAAO7zF,GAAMm5F,cAC/D,IAodE,CAIA,IAAIc,EACAC,GAAiB,EAEjBC,EAAW,SAAkBnM,GAC/BwC,EAAUM,YAAa,EACvB,IAAIiD,EAAuBvD,EAAUuD,qBA6BrC,OA3BIA,IACFvD,EAAUuD,sBAAuB,GAG/B/F,GAAU6E,EAAY7E,IACxBwC,EAAUI,cAAe,EACzBJ,EAAUK,iBAAkB,EAC5BL,EAAUjC,aAAeP,EACzBwC,EAAUY,YAAcpD,EAAOqC,GAC/BqH,MAEK3D,IACHvD,EAAUI,cAAe,EACzBJ,EAAUK,iBAAkB,GAxe7B1vF,OAAOC,KAAKlC,EAAM20F,QAAQpzF,SAAQ,SAAUT,GACjD,OAAOd,EAAM20F,OAAO7zF,GAAMwuF,aAAetvF,EAAM20F,OAAO7zF,GAAMwuF,aAC9D,KA4eI2G,IACAD,IACAgF,GAAiB,EAEbD,GACFA,EAAejM,GAGVA,CACT,EAEAwC,EAAUM,YAAa,EACvBN,EAAUI,cAAe,EACzBJ,EAAUK,iBAAkB,EAC5BL,EAAUG,qBAAsB,OAAS,CAAC,EAAGH,EAAU5rC,QACvD4zC,IAEA,IAAI7/D,EAAS66D,EAAShD,EAAU5rC,OAAQ8gB,EAAKy0B,GAE7C,IAAKD,EAAgB,CACnB,GAAIvhE,GAAUg6D,EAAUh6D,GAMtB,OAJAw8D,IAEAD,IAEOv8D,EAAOC,KAAKuhE,GAAU,SAAU19E,GAErC,MADA09E,IACM19E,CACR,IACK,GAAI+2E,EAAShyF,QAAU,EAM5B,OAJA2zF,IAEAD,IAEO,IAAI78D,SAAQ,SAAUC,GAC3B2hE,EAAiB3hE,CACnB,IAGA6hE,EAASxhE,EAEb,CAvEA,CA7BA,CAqGF,EACA++C,UAAW,SAAmBqb,EAAYd,GACxC,IAAKc,EACH,MAAM,IAAI3qF,MAAM,sBAGlB,IAAK6pF,EACH,MAAM,IAAI7pF,MAAM,mEAGlB,IAAIgyF,EAAWtoB,EAAQihB,GACnBY,EAAcz0F,EAAMy0F,YACpBtkD,EAAQskD,EAAYtkD,QACxBskD,EAAYl6C,QAAQpK,GAAS,CAC3B0jD,WAAYqH,EACZnI,aAAcA,EACdiB,UAAU,GAEZ,IAAI+E,EAAgBN,IAEpB,OADA7E,EAAiBsH,EAAUnI,EAAcgG,EAAeA,EAAezF,GAAiB,GACjF,kBACEmB,EAAYl6C,QAAQpK,EAC7B,CACF,GAEF,OAAOq2B,CACT,qBCt+CiEnH,EAAOh3C,QAGhE,WAAe,aAgCrB,OA7BgB,SAAmBq0C,EAAY7sD,GAC7C,IAAI+/C,EAAY/S,YAAW,WACzB+S,EAAY,KACZ8M,GAAW,EACb,GAAG7sD,GAECsrF,EAAa,WACXvrC,IACFF,aAAaE,GACbA,EAAY,KAEhB,EAEA,MAAO,CACLjgD,OAAQwrF,EACRzrF,MAAO,WACAkgD,IAILurC,IACAz+B,GAAW,GACb,EACAjtD,QAAS,WACP,OAAOJ,QAAQugD,EACjB,EAEJ,CAID,CArCiFwrC,iCCElF,IAAItgF,EAAM,uBAEVukD,EAAOh3C,QAAU,WACf,OAAO,EAAAwR,EAAO/e,IAAQ,EAAA+e,EAAO/e,IAAQ,GAAK,CAC5C,iFCAIugF,cAEJ,SAAWA,GAQTA,EAAY,IAAI,MAOhBA,EAAa,KAAI,OAMjBA,EAAgB,QAAI,SACrB,CAtBD,CAsBGA,IAAWA,EAAS,CAAC,IAExB,IAAIC,EAEA,SAAUx+E,GACZ,OAAOA,CACT,EAkBIy+E,EAAwB,eACxBC,EAAsB,aACtBC,EAAoB,WASxB,SAASC,EAAqBz6C,QACZ,IAAZA,IACFA,EAAU,CAAC,GAGb,IACI06C,EADW16C,EACgB52C,OAC3BA,OAA6B,IAApBsxF,EAA6B/yF,SAASgzF,YAAcD,EAC7DE,EAAgBxxF,EAAOyxF,QAE3B,SAASC,IACP,IAAIC,EAAmB3xF,EAAO4xF,SAC1BC,EAAWF,EAAiBE,SAC5Bz9C,EAASu9C,EAAiBv9C,OAC1B09C,EAAOH,EAAiBG,KACxBn8F,EAAQ67F,EAAc77F,OAAS,CAAC,EACpC,MAAO,CAACA,EAAMmiE,IAAKm5B,EAAS,CAC1BY,SAAUA,EACVz9C,OAAQA,EACR09C,KAAMA,EACNn8F,MAAOA,EAAMo8F,KAAO,KACpBthF,IAAK9a,EAAM8a,KAAO,YAEtB,CAEA,IAAIuhF,EAAe,KA0CnBhyF,EAAO+F,iBAAiBqrF,GAxCxB,WACE,GAAIY,EACFC,EAAS38F,KAAK08F,GACdA,EAAe,SACV,CACL,IAAIE,EAAalB,EAAOmB,IAEpBC,EAAuBV,IACvBW,EAAYD,EAAqB,GACjCE,EAAeF,EAAqB,GAExC,GAAIH,EAASh6F,QACX,GAAiB,MAAbo6F,EAAmB,CACrB,IAAIE,EAAQzsD,EAAQusD,EAEhBE,IAEFP,EAAe,CACbtvF,OAAQwvF,EACRN,SAAUU,EACV7Z,MAAO,WACL+Z,GAAY,EAATD,EACL,GAEFC,EAAGD,GAEP,OASAE,EAAQP,EAEZ,CACF,IAGA,IAAIxvF,EAASsuF,EAAOmB,IAEhBO,EAAwBhB,IACxB5rD,EAAQ4sD,EAAsB,GAC9Bd,EAAWc,EAAsB,GAEjClkB,EAAYmkB,IACZV,EAAWU,IASf,SAASC,EAAWllE,GAClB,MAAqB,iBAAPA,EAAkBA,EAAKmlE,EAAWnlE,EAClD,CAGA,SAASolE,EAAgBplE,EAAI/3B,GAK3B,YAJc,IAAVA,IACFA,EAAQ,MAGHs7F,GAAS,OAAS,CACvBY,SAAUD,EAASC,SACnBC,KAAM,GACN19C,OAAQ,IACO,iBAAP1mB,EAAkBqlE,EAAUrlE,GAAMA,EAAI,CAC9C/3B,MAAOA,EACP8a,IAAKuiF,MAET,CAEA,SAASC,EAAsBX,EAAcxsD,GAC3C,MAAO,CAAC,CACNisD,IAAKO,EAAa38F,MAClB8a,IAAK6hF,EAAa7hF,IAClBqnD,IAAKhyB,GACJ8sD,EAAWN,GAChB,CAEA,SAASY,EAAQxwF,EAAQkvF,EAAUnZ,GACjC,OAAQwZ,EAASh6F,SAAWg6F,EAAS38F,KAAK,CACxCoN,OAAQA,EACRkvF,SAAUA,EACVnZ,MAAOA,KACL,EACN,CAEA,SAASga,EAAQP,GACfxvF,EAASwvF,EAET,IAAIiB,EAAwBzB,IAE5B5rD,EAAQqtD,EAAsB,GAC9BvB,EAAWuB,EAAsB,GACjC3kB,EAAUl5E,KAAK,CACboN,OAAQA,EACRkvF,SAAUA,GAEd,CAgDA,SAASY,EAAGD,GACVf,EAAcgB,GAAGD,EACnB,CA0CA,OAlJa,MAATzsD,IACFA,EAAQ,EACR0rD,EAAc4B,cAAa,OAAS,CAAC,EAAG5B,EAAc77F,MAAO,CAC3DmiE,IAAKhyB,IACH,KAsGQ,CACRpjC,aACF,OAAOA,CACT,EAEIkvF,eACF,OAAOA,CACT,EAEAgB,WAAYA,EACZ95E,KA5DF,SAASA,EAAK4U,EAAI/3B,GAChB,IAAIu8F,EAAalB,EAAOqC,KACpBf,EAAeQ,EAAgBplE,EAAI/3B,GAMvC,GAAIu9F,EAAQhB,EAAYI,GAJxB,WACEx5E,EAAK4U,EAAI/3B,EACX,IAE8C,CAC5C,IAAI29F,EAAwBL,EAAsBX,EAAcxsD,EAAQ,GACpEytD,EAAeD,EAAsB,GACrCE,EAAMF,EAAsB,GAIhC,IACE9B,EAAciC,UAAUF,EAAc,GAAIC,EAC5C,CAAE,MAAOtgF,GAGPlT,EAAO4xF,SAASzzF,OAAOq1F,EACzB,CAEAf,EAAQP,EACV,CACF,EAoCExoD,QAlCF,SAASA,EAAQhc,EAAI/3B,GACnB,IAAIu8F,EAAalB,EAAO0C,QACpBpB,EAAeQ,EAAgBplE,EAAI/3B,GAMvC,GAAIu9F,EAAQhB,EAAYI,GAJxB,WACE5oD,EAAQhc,EAAI/3B,EACd,IAE8C,CAC5C,IAAIg+F,EAAyBV,EAAsBX,EAAcxsD,GAC7DytD,EAAeI,EAAuB,GACtCH,EAAMG,EAAuB,GAGjCnC,EAAc4B,aAAaG,EAAc,GAAIC,GAC7Cf,EAAQP,EACV,CACF,EAkBEM,GAAIA,EACJoB,KAAM,WACJpB,GAAI,EACN,EACAqB,QAAS,WACPrB,EAAG,EACL,EACAsB,OAAQ,SAAgB1pD,GACtB,OAAOokC,EAAU11D,KAAKsxB,EACxB,EACAsN,MAAO,SAAeq8C,GACpB,IAAIC,EAAU/B,EAASn5E,KAAKi7E,GAM5B,OAJwB,IAApB9B,EAASh6F,QACX+H,EAAO+F,iBAAiBmrF,EAAuB+C,GAG1C,WACLD,IAIK/B,EAASh6F,QACZ+H,EAAOiG,oBAAoBirF,EAAuB+C,EAEtD,CACF,EAGJ,CAUA,SAASC,EAAkBt9C,QACT,IAAZA,IACFA,EAAU,CAAC,GAGb,IACIu9C,EADYv9C,EACiB52C,OAC7BA,OAA8B,IAArBm0F,EAA8B51F,SAASgzF,YAAc4C,EAC9D3C,EAAgBxxF,EAAOyxF,QAE3B,SAASC,IACP,IAAI0C,EAAarB,EAAU/yF,EAAO4xF,SAASE,KAAKlQ,OAAO,IACnDyS,EAAsBD,EAAWvC,SACjCA,OAAmC,IAAxBwC,EAAiC,IAAMA,EAClDC,EAAoBF,EAAWhgD,OAC/BA,OAA+B,IAAtBkgD,EAA+B,GAAKA,EAC7CC,EAAkBH,EAAWtC,KAC7BA,OAA2B,IAApByC,EAA6B,GAAKA,EAEzC5+F,EAAQ67F,EAAc77F,OAAS,CAAC,EACpC,MAAO,CAACA,EAAMmiE,IAAKm5B,EAAS,CAC1BY,SAAUA,EACVz9C,OAAQA,EACR09C,KAAMA,EACNn8F,MAAOA,EAAMo8F,KAAO,KACpBthF,IAAK9a,EAAM8a,KAAO,YAEtB,CAEA,IAAIuhF,EAAe,KAEnB,SAASwC,IACP,GAAIxC,EACFC,EAAS38F,KAAK08F,GACdA,EAAe,SACV,CACL,IAAIE,EAAalB,EAAOmB,IAEpBsC,EAAwB/C,IACxBW,EAAYoC,EAAsB,GAClCnC,EAAemC,EAAsB,GAEzC,GAAIxC,EAASh6F,QACX,GAAiB,MAAbo6F,EAAmB,CACrB,IAAIE,EAAQzsD,EAAQusD,EAEhBE,IAEFP,EAAe,CACbtvF,OAAQwvF,EACRN,SAAUU,EACV7Z,MAAO,WACL+Z,GAAY,EAATD,EACL,GAEFC,EAAGD,GAEP,OASAE,EAAQP,EAEZ,CACF,CAEAlyF,EAAO+F,iBAAiBqrF,EAAmBoD,GAG3Cx0F,EAAO+F,iBAAiBorF,GAAqB,WAKvC0B,EAJwBnB,IACa,MAGRmB,EAAWjB,IAC1C4C,GAEJ,IACA,IAAI9xF,EAASsuF,EAAOmB,IAEhBuC,EAAwBhD,IACxB5rD,EAAQ4uD,EAAsB,GAC9B9C,EAAW8C,EAAsB,GAEjClmB,EAAYmkB,IACZV,EAAWU,IAsBf,SAASC,EAAWllE,GAClB,OAdF,WACE,IAAIinE,EAAOp2F,SAAS6B,cAAc,QAC9B0I,EAAO,GAEX,GAAI6rF,GAAQA,EAAKnvD,aAAa,QAAS,CACrC,IAAIguD,EAAMxzF,EAAO4xF,SAAS9oF,KACtB8rF,EAAYpB,EAAI/jF,QAAQ,KAC5B3G,GAAsB,IAAf8rF,EAAmBpB,EAAMA,EAAI1+C,MAAM,EAAG8/C,EAC/C,CAEA,OAAO9rF,CACT,CAGS+rF,GAAgB,KAAqB,iBAAPnnE,EAAkBA,EAAKmlE,EAAWnlE,GACzE,CAEA,SAASolE,EAAgBplE,EAAI/3B,GAK3B,YAJc,IAAVA,IACFA,EAAQ,MAGHs7F,GAAS,OAAS,CACvBY,SAAUD,EAASC,SACnBC,KAAM,GACN19C,OAAQ,IACO,iBAAP1mB,EAAkBqlE,EAAUrlE,GAAMA,EAAI,CAC9C/3B,MAAOA,EACP8a,IAAKuiF,MAET,CAEA,SAASC,EAAsBX,EAAcxsD,GAC3C,MAAO,CAAC,CACNisD,IAAKO,EAAa38F,MAClB8a,IAAK6hF,EAAa7hF,IAClBqnD,IAAKhyB,GACJ8sD,EAAWN,GAChB,CAEA,SAASY,EAAQxwF,EAAQkvF,EAAUnZ,GACjC,OAAQwZ,EAASh6F,SAAWg6F,EAAS38F,KAAK,CACxCoN,OAAQA,EACRkvF,SAAUA,EACVnZ,MAAOA,KACL,EACN,CAEA,SAASga,EAAQP,GACfxvF,EAASwvF,EAET,IAAI4C,EAAwBpD,IAE5B5rD,EAAQgvD,EAAsB,GAC9BlD,EAAWkD,EAAsB,GACjCtmB,EAAUl5E,KAAK,CACboN,OAAQA,EACRkvF,SAAUA,GAEd,CAoDA,SAASY,EAAGD,GACVf,EAAcgB,GAAGD,EACnB,CA0CA,OAlKa,MAATzsD,IACFA,EAAQ,EACR0rD,EAAc4B,cAAa,OAAS,CAAC,EAAG5B,EAAc77F,MAAO,CAC3DmiE,IAAKhyB,IACH,KAsHQ,CACRpjC,aACF,OAAOA,CACT,EAEIkvF,eACF,OAAOA,CACT,EAEAgB,WAAYA,EACZ95E,KAhEF,SAASA,EAAK4U,EAAI/3B,GAChB,IAAIu8F,EAAalB,EAAOqC,KACpBf,EAAeQ,EAAgBplE,EAAI/3B,GAQvC,GAAIu9F,EAAQhB,EAAYI,GANxB,WACEx5E,EAAK4U,EAAI/3B,EACX,IAI8C,CAC5C,IAAIo/F,EAAyB9B,EAAsBX,EAAcxsD,EAAQ,GACrEytD,EAAewB,EAAuB,GACtCvB,EAAMuB,EAAuB,GAIjC,IACEvD,EAAciC,UAAUF,EAAc,GAAIC,EAC5C,CAAE,MAAOtgF,GAGPlT,EAAO4xF,SAASzzF,OAAOq1F,EACzB,CAEAf,EAAQP,EACV,CACF,EAsCExoD,QApCF,SAASA,EAAQhc,EAAI/3B,GACnB,IAAIu8F,EAAalB,EAAO0C,QACpBpB,EAAeQ,EAAgBplE,EAAI/3B,GAQvC,GAAIu9F,EAAQhB,EAAYI,GANxB,WACE5oD,EAAQhc,EAAI/3B,EACd,IAI8C,CAC5C,IAAIq/F,EAAyB/B,EAAsBX,EAAcxsD,GAC7DytD,EAAeyB,EAAuB,GACtCxB,EAAMwB,EAAuB,GAGjCxD,EAAc4B,aAAaG,EAAc,GAAIC,GAC7Cf,EAAQP,EACV,CACF,EAkBEM,GAAIA,EACJoB,KAAM,WACJpB,GAAI,EACN,EACAqB,QAAS,WACPrB,EAAG,EACL,EACAsB,OAAQ,SAAgB1pD,GACtB,OAAOokC,EAAU11D,KAAKsxB,EACxB,EACAsN,MAAO,SAAeq8C,GACpB,IAAIC,EAAU/B,EAASn5E,KAAKi7E,GAM5B,OAJwB,IAApB9B,EAASh6F,QACX+H,EAAO+F,iBAAiBmrF,EAAuB+C,GAG1C,WACLD,IAIK/B,EAASh6F,QACZ+H,EAAOiG,oBAAoBirF,EAAuB+C,EAEtD,CACF,EAGJ,CA6JA,SAASA,EAAmB3/F,GAE1BA,EAAM4nB,iBAEN5nB,EAAMk3F,YAAc,EACtB,CAEA,SAASmH,IACP,IAAI77F,EAAW,GACf,MAAO,CACDmB,aACF,OAAOnB,EAASmB,MAClB,EAEA6gB,KAAM,SAAczf,GAElB,OADAvC,EAASgiB,KAAKzf,GACP,WACLvC,EAAWA,EAASiB,QAAO,SAAUZ,GACnC,OAAOA,IAAYkC,CACrB,GACF,CACF,EACA/D,KAAM,SAAciH,GAClBzF,EAASI,SAAQ,SAAUmC,GACzB,OAAOA,GAAMA,EAAGkD,EAClB,GACF,EAEJ,CAEA,SAASy2F,IACP,OAAOv1D,KAAKyoB,SAAS9F,SAAS,IAAIwhC,OAAO,EAAG,EAC9C,CAQA,SAASiR,EAAW31F,GAClB,IAAI+3F,EAAgB/3F,EAAK20F,SACrBA,OAA6B,IAAlBoD,EAA2B,IAAMA,EAC5CC,EAAch4F,EAAKk3C,OACnBA,OAAyB,IAAhB8gD,EAAyB,GAAKA,EACvCC,EAAYj4F,EAAK40F,KACjBA,OAAqB,IAAdqD,EAAuB,GAAKA,EAGvC,OAFI/gD,GAAqB,MAAXA,IAAgBy9C,GAAiC,MAArBz9C,EAAO4tB,OAAO,GAAa5tB,EAAS,IAAMA,GAChF09C,GAAiB,MAATA,IAAcD,GAA+B,MAAnBC,EAAK9vB,OAAO,GAAa8vB,EAAO,IAAMA,GACrED,CACT,CAOA,SAASkB,EAAUnmB,GACjB,IAAIwoB,EAAa,CAAC,EAElB,GAAIxoB,EAAM,CACR,IAAIgoB,EAAYhoB,EAAKn9D,QAAQ,KAEzBmlF,GAAa,IACfQ,EAAWtD,KAAOllB,EAAKgV,OAAOgT,GAC9BhoB,EAAOA,EAAKgV,OAAO,EAAGgT,IAGxB,IAAIS,EAAczoB,EAAKn9D,QAAQ,KAE3B4lF,GAAe,IACjBD,EAAWhhD,OAASw4B,EAAKgV,OAAOyT,GAChCzoB,EAAOA,EAAKgV,OAAO,EAAGyT,IAGpBzoB,IACFwoB,EAAWvD,SAAWjlB,EAE1B,CAEA,OAAOwoB,CACT,mBCrxBA,EAAQ,OACRpgC,EAAOh3C,QAAUw8C,KAAK86B,MAAMrgE,KAAKulC,kECLjC,IAAI+6B,EAAY/1F,OAAOgvD,OACnB,SAAkB75D,GACd,MAAwB,iBAAVA,GAAsBA,GAAUA,CAClD,EAUJ,SAAS6gG,EAAeC,EAAWC,GAC/B,GAAID,EAAUx9F,SAAWy9F,EAAWz9F,OAChC,OAAO,EAEX,IAAK,IAAIggB,EAAI,EAAGA,EAAIw9E,EAAUx9F,OAAQggB,IAClC,MAdSogD,EAcIo9B,EAAUx9E,OAdPqgD,EAcWo9B,EAAWz9E,KAVtCs9E,EAAUl9B,IAAUk9B,EAAUj9B,IAW1B,OAAO,EAfnB,IAAiBD,EAAOC,EAkBpB,OAAO,CACX,CAyBA,QAvBA,SAAoBq9B,EAAU5N,GAE1B,IAAI6N,OADY,IAAZ7N,IAAsBA,EAAUyN,GAEpC,IACIrM,EADAD,EAAW,GAEX2M,GAAa,EAejB,OAdA,WAEI,IADA,IAAIC,EAAU,GACLn9F,EAAK,EAAGA,EAAKC,UAAUX,OAAQU,IACpCm9F,EAAQn9F,GAAMC,UAAUD,GAE5B,OAAIk9F,GAAcD,IAAa3hG,MAAQ8zF,EAAQ+N,EAAS5M,KAGxDC,EAAawM,EAAS78F,MAAM7E,KAAM6hG,GAClCD,GAAa,EACbD,EAAW3hG,KACXi1F,EAAW4M,GALA3M,CAOf,CAEJ,kDCtBA,IAAIzH,EAA8B,oBAAX1hF,QAA8C,oBAAbzB,UAAiD,oBAAdimB,UAEvFuxE,EAAkB,WAEpB,IADA,IAAIC,EAAwB,CAAC,OAAQ,UAAW,WACvC/9E,EAAI,EAAGA,EAAI+9E,EAAsB/9F,OAAQggB,GAAK,EACrD,GAAIypE,GAAal9D,UAAUC,UAAUhV,QAAQumF,EAAsB/9E,KAAO,EACxE,OAAO,EAGX,OAAO,CACT,CARsB,GAgDlBg+E,EAXqBvU,GAAa1hF,OAAO8uB,QA3B7C,SAA2Bz1B,GACzB,IAAI68F,GAAS,EACb,OAAO,WACDA,IAGJA,GAAS,EACTl2F,OAAO8uB,QAAQC,UAAUM,MAAK,WAC5B6mE,GAAS,EACT78F,GACF,IACF,CACF,EAEA,SAAsBA,GACpB,IAAI88F,GAAY,EAChB,OAAO,WACAA,IACHA,GAAY,EACZ3jD,YAAW,WACT2jD,GAAY,EACZ98F,GACF,GAAG08F,GAEP,CACF,EAsBA,SAASK,EAAWC,GAElB,OAAOA,GAA8D,sBADvD,CAAC,EACmBj2C,SAAS9qD,KAAK+gG,EAClD,CASA,SAASC,EAAyBp7F,EAASwoB,GACzC,GAAyB,IAArBxoB,EAAQ6yC,SACV,MAAO,GAGT,IACIlkC,EADS3O,EAAQq7F,cAAchF,YAClBrjD,iBAAiBhzC,EAAS,MAC3C,OAAOwoB,EAAW7Z,EAAI6Z,GAAY7Z,CACpC,CASA,SAAS2sF,EAAct7F,GACrB,MAAyB,SAArBA,EAAQu7F,SACHv7F,EAEFA,EAAQyxC,YAAczxC,EAAQw7F,IACvC,CASA,SAASC,EAAgBz7F,GAEvB,IAAKA,EACH,OAAOqD,SAASO,KAGlB,OAAQ5D,EAAQu7F,UACd,IAAK,OACL,IAAK,OACH,OAAOv7F,EAAQq7F,cAAcz3F,KAC/B,IAAK,YACH,OAAO5D,EAAQ4D,KAKnB,IAAI83F,EAAwBN,EAAyBp7F,GACjDsjB,EAAWo4E,EAAsBp4E,SACjCq4E,EAAYD,EAAsBC,UAClC78E,EAAY48E,EAAsB58E,UAEtC,MAAI,wBAAwBuH,KAAK/C,EAAWxE,EAAY68E,GAC/C37F,EAGFy7F,EAAgBH,EAAct7F,GACvC,CASA,SAAS47F,EAAiBC,GACxB,OAAOA,GAAaA,EAAU35F,cAAgB25F,EAAU35F,cAAgB25F,CAC1E,CAEA,IAAIC,EAAStV,MAAgB1hF,OAAOi3F,uBAAwB14F,SAAS24F,cACjEC,EAASzV,GAAa,UAAUngE,KAAKiD,UAAUC,WASnD,SAAS2yE,EAAKlrF,GACZ,OAAgB,KAAZA,EACK8qF,EAEO,KAAZ9qF,EACKirF,EAEFH,GAAUG,CACnB,CASA,SAASE,EAAgBn8F,GACvB,IAAKA,EACH,OAAOqD,SAASqgC,gBAQlB,IALA,IAAI04D,EAAiBF,EAAK,IAAM74F,SAASO,KAAO,KAG5Cy4F,EAAer8F,EAAQq8F,cAAgB,KAEpCA,IAAiBD,GAAkBp8F,EAAQyiD,oBAChD45C,GAAgBr8F,EAAUA,EAAQyiD,oBAAoB45C,aAGxD,IAAId,EAAWc,GAAgBA,EAAad,SAE5C,OAAKA,GAAyB,SAAbA,GAAoC,SAAbA,GAMsB,IAA1D,CAAC,KAAM,KAAM,SAAShnF,QAAQ8nF,EAAad,WAA2E,WAAvDH,EAAyBiB,EAAc,YACjGF,EAAgBE,GAGlBA,EATEr8F,EAAUA,EAAQq7F,cAAc33D,gBAAkBrgC,SAASqgC,eAUtE,CAkBA,SAAS44D,EAAQp+F,GACf,OAAwB,OAApBA,EAAKuzC,WACA6qD,EAAQp+F,EAAKuzC,YAGfvzC,CACT,CAUA,SAASq+F,EAAuBC,EAAUC,GAExC,KAAKD,GAAaA,EAAS3pD,UAAa4pD,GAAaA,EAAS5pD,UAC5D,OAAOxvC,SAASqgC,gBAIlB,IAAIhkC,EAAQ88F,EAASE,wBAAwBD,GAAYx2D,KAAK02D,4BAC1D37B,EAAQthE,EAAQ88F,EAAWC,EAC3BzkD,EAAMt4C,EAAQ+8F,EAAWD,EAGzBI,EAAQv5F,SAASw5F,cACrBD,EAAME,SAAS97B,EAAO,GACtB47B,EAAMG,OAAO/kD,EAAK,GAClB,IA/CyBh4C,EACrBu7F,EA8CAyB,EAA0BJ,EAAMI,wBAIpC,GAAIR,IAAaQ,GAA2BP,IAAaO,GAA2Bh8B,EAAM76B,SAAS6R,GACjG,MAjDe,UAFbujD,GADqBv7F,EAoDDg9F,GAnDDzB,WAKH,SAAbA,GAAuBY,EAAgBn8F,EAAQi9F,qBAAuBj9F,EAkDpEm8F,EAAgBa,GAHdA,EAOX,IAAIE,EAAeZ,EAAQE,GAC3B,OAAIU,EAAa1B,KACRe,EAAuBW,EAAa1B,KAAMiB,GAE1CF,EAAuBC,EAAUF,EAAQG,GAAUjB,KAE9D,CAUA,SAAS2B,EAAUn9F,GACjB,IAEIo9F,EAAqB,SAFd1/F,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,GAAmBA,UAAU,GAAK,OAE9C,YAAc,aAC3C69F,EAAWv7F,EAAQu7F,SAEvB,GAAiB,SAAbA,GAAoC,SAAbA,EAAqB,CAC9C,IAAI8B,EAAOr9F,EAAQq7F,cAAc33D,gBAEjC,OADuB1jC,EAAQq7F,cAAciC,kBAAoBD,GACzCD,EAC1B,CAEA,OAAOp9F,EAAQo9F,EACjB,CAkCA,SAASG,EAAel9F,EAAQm9F,GAC9B,IAAIC,EAAiB,MAATD,EAAe,OAAS,MAChCE,EAAkB,SAAVD,EAAmB,QAAU,SAEzC,OAAOE,WAAWt9F,EAAO,SAAWo9F,EAAQ,UAAYE,WAAWt9F,EAAO,SAAWq9F,EAAQ,SAC/F,CAEA,SAASrvD,EAAQmvD,EAAM55F,EAAMy5F,EAAMtqD,GACjC,OAAOxQ,KAAKqB,IAAIhgC,EAAK,SAAW45F,GAAO55F,EAAK,SAAW45F,GAAOH,EAAK,SAAWG,GAAOH,EAAK,SAAWG,GAAOH,EAAK,SAAWG,GAAOtB,EAAK,IAAMnd,SAASse,EAAK,SAAWG,IAASze,SAAShsC,EAAc,UAAqB,WAATyqD,EAAoB,MAAQ,UAAYze,SAAShsC,EAAc,UAAqB,WAATyqD,EAAoB,SAAW,WAAa,EAC5U,CAEA,SAASI,EAAev6F,GACtB,IAAIO,EAAOP,EAASO,KAChBy5F,EAAOh6F,EAASqgC,gBAChBqP,EAAgBmpD,EAAK,KAAOlpD,iBAAiBqqD,GAEjD,MAAO,CACL90F,OAAQ8lC,EAAQ,SAAUzqC,EAAMy5F,EAAMtqD,GACtCzqC,MAAO+lC,EAAQ,QAASzqC,EAAMy5F,EAAMtqD,GAExC,CAEA,IAMI8qD,EAAc,WAChB,SAASxrC,EAAiB7oD,EAAQ3Q,GAChC,IAAK,IAAIkkB,EAAI,EAAGA,EAAIlkB,EAAMkE,OAAQggB,IAAK,CACrC,IAAI+gF,EAAajlG,EAAMkkB,GACvB+gF,EAAW5rC,WAAa4rC,EAAW5rC,aAAc,EACjD4rC,EAAW9uB,cAAe,EACtB,UAAW8uB,IAAYA,EAAW/uB,UAAW,GACjDryE,OAAOuhB,eAAezU,EAAQs0F,EAAWvoF,IAAKuoF,EAChD,CACF,CAEA,OAAO,SAAU1W,EAAa2W,EAAYC,GAGxC,OAFID,GAAY1rC,EAAiB+0B,EAAY1sF,UAAWqjG,GACpDC,GAAa3rC,EAAiB+0B,EAAa4W,GACxC5W,CACT,CACF,CAhBkB,GAsBdnpE,EAAiB,SAAU1G,EAAKhC,EAAK9b,GAYvC,OAXI8b,KAAOgC,EACT7a,OAAOuhB,eAAe1G,EAAKhC,EAAK,CAC9B9b,MAAOA,EACPy4D,YAAY,EACZ8c,cAAc,EACdD,UAAU,IAGZx3D,EAAIhC,GAAO9b,EAGN8d,CACT,EAEIq3B,EAAWlyC,OAAOuG,QAAU,SAAUuG,GACxC,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CACzC,IAAI8qB,EAASnqC,UAAUqf,GAEvB,IAAK,IAAIxH,KAAOsyB,EACVnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAC/C/L,EAAO+L,GAAOsyB,EAAOtyB,GAG3B,CAEA,OAAO/L,CACT,EASA,SAASy0F,EAAc99F,GACrB,OAAOyuC,EAAS,CAAC,EAAGzuC,EAAS,CAC3BkC,MAAOlC,EAAQvB,KAAOuB,EAAQmI,MAC9BhG,OAAQnC,EAAQxB,IAAMwB,EAAQoI,QAElC,CASA,SAASF,EAAsBrI,GAC7B,IAAIkiC,EAAO,CAAC,EAKZ,IACE,GAAIg6D,EAAK,IAAK,CACZh6D,EAAOliC,EAAQqI,wBACf,IAAI0zC,EAAYohD,EAAUn9F,EAAS,OAC/Bk+F,EAAaf,EAAUn9F,EAAS,QACpCkiC,EAAKvjC,KAAOo9C,EACZ7Z,EAAKtjC,MAAQs/F,EACbh8D,EAAK5/B,QAAUy5C,EACf7Z,EAAK7/B,OAAS67F,CAChB,MACEh8D,EAAOliC,EAAQqI,uBAEnB,CAAE,MAAOkB,GAAI,CAEb,IAAI2qB,EAAS,CACXt1B,KAAMsjC,EAAKtjC,KACXD,IAAKujC,EAAKvjC,IACV2J,MAAO45B,EAAK7/B,MAAQ6/B,EAAKtjC,KACzB2J,OAAQ25B,EAAK5/B,OAAS4/B,EAAKvjC,KAIzBu9B,EAA6B,SAArBl8B,EAAQu7F,SAAsBqC,EAAe59F,EAAQq7F,eAAiB,CAAC,EAC/E/yF,EAAQ4zB,EAAM5zB,OAAStI,EAAQwI,aAAe0rB,EAAO5rB,MACrDC,EAAS2zB,EAAM3zB,QAAUvI,EAAQyI,cAAgByrB,EAAO3rB,OAExD41F,EAAiBn+F,EAAQ8lC,YAAcx9B,EACvC81F,EAAgBp+F,EAAQq+F,aAAe91F,EAI3C,GAAI41F,GAAkBC,EAAe,CACnC,IAAI/9F,EAAS+6F,EAAyBp7F,GACtCm+F,GAAkBZ,EAAel9F,EAAQ,KACzC+9F,GAAiBb,EAAel9F,EAAQ,KAExC6zB,EAAO5rB,OAAS61F,EAChBjqE,EAAO3rB,QAAU61F,CACnB,CAEA,OAAOH,EAAc/pE,EACvB,CAEA,SAASoqE,EAAqC9kG,EAAU2L,GACtD,IAAIo5F,EAAgB7gG,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,IAAmBA,UAAU,GAE/Eu+F,EAASC,EAAK,IACdsC,EAA6B,SAApBr5F,EAAOo2F,SAChBkD,EAAep2F,EAAsB7O,GACrCklG,EAAar2F,EAAsBlD,GACnCw5F,EAAelD,EAAgBjiG,GAE/B6G,EAAS+6F,EAAyBj2F,GAClCy5F,EAAiBjB,WAAWt9F,EAAOu+F,gBACnCC,EAAkBlB,WAAWt9F,EAAOw+F,iBAGpCN,GAAiBC,IACnBE,EAAW//F,IAAM4jC,KAAKqB,IAAI86D,EAAW//F,IAAK,GAC1C+/F,EAAW9/F,KAAO2jC,KAAKqB,IAAI86D,EAAW9/F,KAAM,IAE9C,IAAIuB,EAAU89F,EAAc,CAC1Bt/F,IAAK8/F,EAAa9/F,IAAM+/F,EAAW//F,IAAMigG,EACzChgG,KAAM6/F,EAAa7/F,KAAO8/F,EAAW9/F,KAAOigG,EAC5Cv2F,MAAOm2F,EAAan2F,MACpBC,OAAQk2F,EAAal2F,SASvB,GAPApI,EAAQ2+F,UAAY,EACpB3+F,EAAQ4+F,WAAa,GAMhB9C,GAAUuC,EAAQ,CACrB,IAAIM,EAAYnB,WAAWt9F,EAAOy+F,WAC9BC,EAAapB,WAAWt9F,EAAO0+F,YAEnC5+F,EAAQxB,KAAOigG,EAAiBE,EAChC3+F,EAAQmC,QAAUs8F,EAAiBE,EACnC3+F,EAAQvB,MAAQigG,EAAkBE,EAClC5+F,EAAQkC,OAASw8F,EAAkBE,EAGnC5+F,EAAQ2+F,UAAYA,EACpB3+F,EAAQ4+F,WAAaA,CACvB,CAMA,OAJI9C,IAAWsC,EAAgBp5F,EAAOghC,SAASw4D,GAAgBx5F,IAAWw5F,GAA0C,SAA1BA,EAAapD,YACrGp7F,EA1NJ,SAAuB+hC,EAAMliC,GAC3B,IAAIklE,EAAWxnE,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,IAAmBA,UAAU,GAE1Eq+C,EAAYohD,EAAUn9F,EAAS,OAC/Bk+F,EAAaf,EAAUn9F,EAAS,QAChCg/F,EAAW95B,GAAY,EAAI,EAK/B,OAJAhjC,EAAKvjC,KAAOo9C,EAAYijD,EACxB98D,EAAK5/B,QAAUy5C,EAAYijD,EAC3B98D,EAAKtjC,MAAQs/F,EAAac,EAC1B98D,EAAK7/B,OAAS67F,EAAac,EACpB98D,CACT,CA+Mc+8D,CAAc9+F,EAASgF,IAG5BhF,CACT,CA+BA,SAAS++F,EAAQl/F,GACf,IAAIu7F,EAAWv7F,EAAQu7F,SACvB,GAAiB,SAAbA,GAAoC,SAAbA,EACzB,OAAO,EAET,GAAsD,UAAlDH,EAAyBp7F,EAAS,YACpC,OAAO,EAET,IAAIyxC,EAAa6pD,EAAct7F,GAC/B,QAAKyxC,GAGEytD,EAAQztD,EACjB,CAUA,SAAS0tD,EAA6Bn/F,GAEpC,IAAKA,IAAYA,EAAQiF,eAAiBi3F,IACxC,OAAO74F,SAASqgC,gBAGlB,IADA,IAAIsQ,EAAKh0C,EAAQiF,cACV+uC,GAAoD,SAA9ConD,EAAyBpnD,EAAI,cACxCA,EAAKA,EAAG/uC,cAEV,OAAO+uC,GAAM3wC,SAASqgC,eACxB,CAaA,SAAS07D,EAAch/F,EAAQy7F,EAAWh2E,EAAShjB,GACjD,IAAI07F,EAAgB7gG,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,IAAmBA,UAAU,GAI/E2hG,EAAa,CAAE1gG,IAAK,EAAGC,KAAM,GAC7By9F,EAAekC,EAAgBY,EAA6B/+F,GAAUm8F,EAAuBn8F,EAAQw7F,EAAiBC,IAG1H,GAA0B,aAAtBh5F,EACFw8F,EArFJ,SAAuDr/F,GACrD,IAAIs/F,EAAgB5hG,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,IAAmBA,UAAU,GAE/E2/F,EAAOr9F,EAAQq7F,cAAc33D,gBAC7B67D,EAAiBjB,EAAqCt+F,EAASq9F,GAC/D/0F,EAAQi6B,KAAKqB,IAAIy5D,EAAK70F,YAAa1D,OAAO06F,YAAc,GACxDj3F,EAASg6B,KAAKqB,IAAIy5D,EAAK50F,aAAc3D,OAAO++B,aAAe,GAE3DkY,EAAaujD,EAAkC,EAAlBnC,EAAUE,GACvCa,EAAcoB,EAA0C,EAA1BnC,EAAUE,EAAM,QASlD,OAAOY,EAPM,CACXt/F,IAAKo9C,EAAYwjD,EAAe5gG,IAAM4gG,EAAeT,UACrDlgG,KAAMs/F,EAAaqB,EAAe3gG,KAAO2gG,EAAeR,WACxDz2F,MAAOA,EACPC,OAAQA,GAIZ,CAkEiBk3F,CAA8CpD,EAAckC,OACpE,CAEL,IAAImB,OAAiB,EACK,iBAAtB78F,EAE8B,UADhC68F,EAAiBjE,EAAgBH,EAAcO,KAC5BN,WACjBmE,EAAiBt/F,EAAOi7F,cAAc33D,iBAGxCg8D,EAD+B,WAAtB78F,EACQzC,EAAOi7F,cAAc33D,gBAErB7gC,EAGnB,IAAI1C,EAAUm+F,EAAqCoB,EAAgBrD,EAAckC,GAGjF,GAAgC,SAA5BmB,EAAenE,UAAwB2D,EAAQ7C,GAWjDgD,EAAal/F,MAXmD,CAChE,IAAIw/F,EAAkB/B,EAAex9F,EAAOi7F,eACxC9yF,EAASo3F,EAAgBp3F,OACzBD,EAAQq3F,EAAgBr3F,MAE5B+2F,EAAW1gG,KAAOwB,EAAQxB,IAAMwB,EAAQ2+F,UACxCO,EAAW/8F,OAASiG,EAASpI,EAAQxB,IACrC0gG,EAAWzgG,MAAQuB,EAAQvB,KAAOuB,EAAQ4+F,WAC1CM,EAAWh9F,MAAQiG,EAAQnI,EAAQvB,IACrC,CAIF,CAIA,IAAIghG,EAAqC,iBADzC/5E,EAAUA,GAAW,GAOrB,OALAw5E,EAAWzgG,MAAQghG,EAAkB/5E,EAAUA,EAAQjnB,MAAQ,EAC/DygG,EAAW1gG,KAAOihG,EAAkB/5E,EAAUA,EAAQlnB,KAAO,EAC7D0gG,EAAWh9F,OAASu9F,EAAkB/5E,EAAUA,EAAQxjB,OAAS,EACjEg9F,EAAW/8F,QAAUs9F,EAAkB/5E,EAAUA,EAAQvjB,QAAU,EAE5D+8F,CACT,CAkBA,SAASQ,EAAqBzgG,EAAW0gG,EAAS1/F,EAAQy7F,EAAWh5F,GACnE,IAAIgjB,EAAUnoB,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,GAAmBA,UAAU,GAAK,EAElF,IAAmC,IAA/B0B,EAAUmV,QAAQ,QACpB,OAAOnV,EAGT,IAAIigG,EAAaD,EAAch/F,EAAQy7F,EAAWh2E,EAAShjB,GAEvDk9F,EAAQ,CACVphG,IAAK,CACH2J,MAAO+2F,EAAW/2F,MAClBC,OAAQu3F,EAAQnhG,IAAM0gG,EAAW1gG,KAEnC0D,MAAO,CACLiG,MAAO+2F,EAAWh9F,MAAQy9F,EAAQz9F,MAClCkG,OAAQ82F,EAAW92F,QAErBjG,OAAQ,CACNgG,MAAO+2F,EAAW/2F,MAClBC,OAAQ82F,EAAW/8F,OAASw9F,EAAQx9F,QAEtC1D,KAAM,CACJ0J,MAAOw3F,EAAQlhG,KAAOygG,EAAWzgG,KACjC2J,OAAQ82F,EAAW92F,SAInBy3F,EAActjG,OAAOC,KAAKojG,GAAO9zD,KAAI,SAAU12B,GACjD,OAAOq5B,EAAS,CACdr5B,IAAKA,GACJwqF,EAAMxqF,GAAM,CACb0qF,MAhDWj+F,EAgDG+9F,EAAMxqF,GA/CZvT,EAAKsG,MACJtG,EAAKuG,UAFpB,IAAiBvG,CAkDf,IAAGswC,MAAK,SAAUjd,EAAG/Y,GACnB,OAAOA,EAAE2jF,KAAO5qE,EAAE4qE,IACpB,IAEIC,EAAgBF,EAAYnjG,QAAO,SAAU+nC,GAC/C,IAAIt8B,EAAQs8B,EAAMt8B,MACdC,EAASq8B,EAAMr8B,OACnB,OAAOD,GAASlI,EAAOoI,aAAeD,GAAUnI,EAAOqI,YACzD,IAEI03F,EAAoBD,EAAcnjG,OAAS,EAAImjG,EAAc,GAAG3qF,IAAMyqF,EAAY,GAAGzqF,IAErF6qF,EAAYhhG,EAAUwD,MAAM,KAAK,GAErC,OAAOu9F,GAAqBC,EAAY,IAAMA,EAAY,GAC5D,CAYA,SAASC,EAAoB5lG,EAAO2F,EAAQy7F,GAC1C,IAAI0C,EAAgB7gG,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,GAAmBA,UAAU,GAAK,KAGxF,OAAO4gG,EAAqCzC,EADnB0C,EAAgBY,EAA6B/+F,GAAUm8F,EAAuBn8F,EAAQw7F,EAAiBC,IACrD0C,EAC7E,CASA,SAAS+B,EAActgG,GACrB,IACIK,EADSL,EAAQq7F,cAAchF,YACfrjD,iBAAiBhzC,GACjCsR,EAAIqsF,WAAWt9F,EAAOy+F,WAAa,GAAKnB,WAAWt9F,EAAOkgG,cAAgB,GAC1EhvF,EAAIosF,WAAWt9F,EAAO0+F,YAAc,GAAKpB,WAAWt9F,EAAOmgG,aAAe,GAK9E,MAJa,CACXl4F,MAAOtI,EAAQ8lC,YAAcv0B,EAC7BhJ,OAAQvI,EAAQq+F,aAAe/sF,EAGnC,CASA,SAASmvF,EAAqBrhG,GAC5B,IAAIw3F,EAAO,CAAEh4F,KAAM,QAASyD,MAAO,OAAQC,OAAQ,MAAO3D,IAAK,UAC/D,OAAOS,EAAUovC,QAAQ,0BAA0B,SAAUkyD,GAC3D,OAAO9J,EAAK8J,EACd,GACF,CAYA,SAASC,EAAiBvgG,EAAQwgG,EAAkBxhG,GAClDA,EAAYA,EAAUwD,MAAM,KAAK,GAGjC,IAAIi+F,EAAaP,EAAclgG,GAG3B0gG,EAAgB,CAClBx4F,MAAOu4F,EAAWv4F,MAClBC,OAAQs4F,EAAWt4F,QAIjBw4F,GAAoD,IAA1C,CAAC,QAAS,QAAQxsF,QAAQnV,GACpC4hG,EAAWD,EAAU,MAAQ,OAC7BE,EAAgBF,EAAU,OAAS,MACnCG,EAAcH,EAAU,SAAW,QACnCI,EAAwBJ,EAAqB,QAAX,SAStC,OAPAD,EAAcE,GAAYJ,EAAiBI,GAAYJ,EAAiBM,GAAe,EAAIL,EAAWK,GAAe,EAEnHJ,EAAcG,GADZ7hG,IAAc6hG,EACeL,EAAiBK,GAAiBJ,EAAWM,GAE7CP,EAAiBH,EAAqBQ,IAGhEH,CACT,CAWA,SAASxnD,EAAKm8B,EAAK2rB,GAEjB,OAAI/iG,MAAM3D,UAAU4+C,KACXm8B,EAAIn8B,KAAK8nD,GAIX3rB,EAAI54E,OAAOukG,GAAO,EAC3B,CAoCA,SAASC,EAAavhG,EAAWvF,EAAM+mG,GAoBrC,YAnB8BniG,IAATmiG,EAAqBxhG,EAAYA,EAAU85C,MAAM,EA1BxE,SAAmB67B,EAAKvlB,EAAMz2D,GAE5B,GAAI4E,MAAM3D,UAAU6mG,UAClB,OAAO9rB,EAAI8rB,WAAU,SAAUC,GAC7B,OAAOA,EAAItxC,KAAUz2D,CACvB,IAIF,IAAI8wE,EAAQjxB,EAAKm8B,GAAK,SAAUl+D,GAC9B,OAAOA,EAAI24C,KAAUz2D,CACvB,IACA,OAAOg8E,EAAIlhE,QAAQg2D,EACrB,CAa2Eg3B,CAAUzhG,EAAW,OAAQwhG,KAEvFtlG,SAAQ,SAAUgjG,GAC3BA,EAAmB,UAErBtjG,QAAQC,KAAK,yDAEf,IAAIwC,EAAK6gG,EAAmB,UAAKA,EAAS7gG,GACtC6gG,EAASv/F,SAAWy7F,EAAW/8F,KAIjC5D,EAAK4F,QAAQC,OAAS69F,EAAc1jG,EAAK4F,QAAQC,QACjD7F,EAAK4F,QAAQ07F,UAAYoC,EAAc1jG,EAAK4F,QAAQ07F,WAEpDthG,EAAO4D,EAAG5D,EAAMykG,GAEpB,IAEOzkG,CACT,CASA,SAAS2B,IAEP,IAAInD,KAAK0B,MAAMgnG,YAAf,CAIA,IAAIlnG,EAAO,CACT4sF,SAAUpuF,KACVsH,OAAQ,CAAC,EACTC,YAAa,CAAC,EACdoH,WAAY,CAAC,EACbo7B,SAAS,EACT3iC,QAAS,CAAC,GAIZ5F,EAAK4F,QAAQ07F,UAAYwE,EAAoBtnG,KAAK0B,MAAO1B,KAAKqH,OAAQrH,KAAK8iG,UAAW9iG,KAAK2iD,QAAQ77C,eAKnGtF,EAAK6E,UAAYygG,EAAqB9mG,KAAK2iD,QAAQt8C,UAAW7E,EAAK4F,QAAQ07F,UAAW9iG,KAAKqH,OAAQrH,KAAK8iG,UAAW9iG,KAAK2iD,QAAQ57C,UAAU4C,KAAKG,kBAAmB9J,KAAK2iD,QAAQ57C,UAAU4C,KAAKmjB,SAG9LtrB,EAAKmnG,kBAAoBnnG,EAAK6E,UAE9B7E,EAAKsF,cAAgB9G,KAAK2iD,QAAQ77C,cAGlCtF,EAAK4F,QAAQC,OAASugG,EAAiB5nG,KAAKqH,OAAQ7F,EAAK4F,QAAQ07F,UAAWthG,EAAK6E,WAEjF7E,EAAK4F,QAAQC,OAAO1B,SAAW3F,KAAK2iD,QAAQ77C,cAAgB,QAAU,WAGtEtF,EAAO8mG,EAAatoG,KAAK+G,UAAWvF,GAI/BxB,KAAK0B,MAAMknG,UAId5oG,KAAK2iD,QAAQpX,SAAS/pC,IAHtBxB,KAAK0B,MAAMknG,WAAY,EACvB5oG,KAAK2iD,QAAQrX,SAAS9pC,GApCxB,CAwCF,CAQA,SAASqnG,EAAkB9hG,EAAW+hG,GACpC,OAAO/hG,EAAU03C,MAAK,SAAUx1C,GAC9B,IAAIzG,EAAOyG,EAAKzG,KAEhB,OADcyG,EAAKvC,SACDlE,IAASsmG,CAC7B,GACF,CASA,SAASC,EAAyBt5E,GAIhC,IAHA,IAAIu5E,EAAW,EAAC,EAAO,KAAM,SAAU,MAAO,KAC1CC,EAAYx5E,EAASs+C,OAAO,GAAGR,cAAgB99C,EAASoxB,MAAM,GAEzD78B,EAAI,EAAGA,EAAIglF,EAAShlG,OAAQggB,IAAK,CACxC,IAAI5E,EAAS4pF,EAAShlF,GAClBklF,EAAU9pF,EAAS,GAAKA,EAAS6pF,EAAYx5E,EACjD,QAA4C,IAAjCnlB,SAASO,KAAKpC,MAAMygG,GAC7B,OAAOA,CAEX,CACA,OAAO,IACT,CAOA,SAASxhG,IAsBP,OArBA1H,KAAK0B,MAAMgnG,aAAc,EAGrBG,EAAkB7oG,KAAK+G,UAAW,gBACpC/G,KAAKqH,OAAOm5C,gBAAgB,eAC5BxgD,KAAKqH,OAAOoB,MAAM9C,SAAW,GAC7B3F,KAAKqH,OAAOoB,MAAM7C,IAAM,GACxB5F,KAAKqH,OAAOoB,MAAM5C,KAAO,GACzB7F,KAAKqH,OAAOoB,MAAMa,MAAQ,GAC1BtJ,KAAKqH,OAAOoB,MAAMc,OAAS,GAC3BvJ,KAAKqH,OAAOoB,MAAM0gG,WAAa,GAC/BnpG,KAAKqH,OAAOoB,MAAMsgG,EAAyB,cAAgB,IAG7D/oG,KAAKoI,wBAIDpI,KAAK2iD,QAAQymD,iBACfppG,KAAKqH,OAAOqxC,WAAW9rC,YAAY5M,KAAKqH,QAEnCrH,IACT,CAOA,SAASqpG,EAAUpiG,GACjB,IAAIq7F,EAAgBr7F,EAAQq7F,cAC5B,OAAOA,EAAgBA,EAAchF,YAAcvxF,MACrD,CAEA,SAASu9F,EAAsB1D,EAAcvlG,EAAOg3C,EAAUkyD,GAC5D,IAAIC,EAAmC,SAA1B5D,EAAapD,SACtB/xF,EAAS+4F,EAAS5D,EAAatD,cAAchF,YAAcsI,EAC/Dn1F,EAAOqB,iBAAiBzR,EAAOg3C,EAAU,CAAEnoC,SAAS,IAE/Cs6F,GACHF,EAAsB5G,EAAgBjyF,EAAOioC,YAAar4C,EAAOg3C,EAAUkyD,GAE7EA,EAAc1kF,KAAKpU,EACrB,CAQA,SAASg5F,EAAoB3G,EAAWngD,EAASjhD,EAAOgoG,GAEtDhoG,EAAMgoG,YAAcA,EACpBL,EAAUvG,GAAWhxF,iBAAiB,SAAUpQ,EAAMgoG,YAAa,CAAEx6F,SAAS,IAG9E,IAAIy6F,EAAgBjH,EAAgBI,GAKpC,OAJAwG,EAAsBK,EAAe,SAAUjoG,EAAMgoG,YAAahoG,EAAM6nG,eACxE7nG,EAAMioG,cAAgBA,EACtBjoG,EAAMmF,eAAgB,EAEfnF,CACT,CAQA,SAASyG,IACFnI,KAAK0B,MAAMmF,gBACd7G,KAAK0B,MAAQ+nG,EAAoBzpG,KAAK8iG,UAAW9iG,KAAK2iD,QAAS3iD,KAAK0B,MAAO1B,KAAK8H,gBAEpF,CAgCA,SAASM,IAxBT,IAA8B06F,EAAWphG,EAyBnC1B,KAAK0B,MAAMmF,gBACb4zD,qBAAqBz6D,KAAK8H,gBAC1B9H,KAAK0B,OA3BqBohG,EA2BQ9iG,KAAK8iG,UA3BFphG,EA2Ba1B,KAAK0B,MAzBzD2nG,EAAUvG,GAAW9wF,oBAAoB,SAAUtQ,EAAMgoG,aAGzDhoG,EAAM6nG,cAActmG,SAAQ,SAAUwN,GACpCA,EAAOuB,oBAAoB,SAAUtQ,EAAMgoG,YAC7C,IAGAhoG,EAAMgoG,YAAc,KACpBhoG,EAAM6nG,cAAgB,GACtB7nG,EAAMioG,cAAgB,KACtBjoG,EAAMmF,eAAgB,EACfnF,GAeT,CASA,SAASkoG,EAAU3lF,GACjB,MAAa,KAANA,IAAas2C,MAAMqqC,WAAW3gF,KAAO4lF,SAAS5lF,EACvD,CAUA,SAAS6lF,EAAU7iG,EAASK,GAC1B3D,OAAOC,KAAK0D,GAAQrE,SAAQ,SAAUk0D,GACpC,IAAI4yC,EAAO,IAEkE,IAAzE,CAAC,QAAS,SAAU,MAAO,QAAS,SAAU,QAAQvuF,QAAQ27C,IAAgByyC,EAAUtiG,EAAO6vD,MACjG4yC,EAAO,MAET9iG,EAAQwB,MAAM0uD,GAAQ7vD,EAAO6vD,GAAQ4yC,CACvC,GACF,CA8HA,IAAIC,EAAYvc,GAAa,WAAWngE,KAAKiD,UAAUC,WA8GvD,SAASy5E,EAAmBljG,EAAWmjG,EAAgBC,GACrD,IAAIC,EAAa7pD,EAAKx5C,GAAW,SAAUkC,GAEzC,OADWA,EAAKzG,OACA0nG,CAClB,IAEI5nE,IAAe8nE,GAAcrjG,EAAU03C,MAAK,SAAUwnD,GACxD,OAAOA,EAASzjG,OAAS2nG,GAAiBlE,EAASv/F,SAAWu/F,EAASt/F,MAAQyjG,EAAWzjG,KAC5F,IAEA,IAAK27B,EAAY,CACf,IAAI+nE,EAAc,IAAMH,EAAiB,IACrCI,EAAY,IAAMH,EAAgB,IACtCxnG,QAAQC,KAAK0nG,EAAY,4BAA8BD,EAAc,4DAA8DA,EAAc,IACnJ,CACA,OAAO/nE,CACT,CAmIA,IAAIioE,EAAa,CAAC,aAAc,OAAQ,WAAY,YAAa,MAAO,UAAW,cAAe,QAAS,YAAa,aAAc,SAAU,eAAgB,WAAY,OAAQ,cAGhLC,EAAkBD,EAAW1pD,MAAM,GAYvC,SAAS4pD,EAAUpkG,GACjB,IAAIqkG,EAAU/lG,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,IAAmBA,UAAU,GAEzEktC,EAAQ24D,EAAgBhvF,QAAQnV,GAChCq2E,EAAM8tB,EAAgB3pD,MAAMhP,EAAQ,GAAG1rC,OAAOqkG,EAAgB3pD,MAAM,EAAGhP,IAC3E,OAAO64D,EAAUhuB,EAAI0J,UAAY1J,CACnC,CAifA,IAkWIiuB,EAAW,CAKbtkG,UAAW,SAMXS,eAAe,EAMfD,eAAe,EAOfuiG,iBAAiB,EAQjB99D,SAAU,WAAqB,EAU/BC,SAAU,WAAqB,EAO/BxkC,UAnZc,CASdi2B,MAAO,CAELr2B,MAAO,IAEPD,SAAS,EAETtB,GA9HJ,SAAe5D,GACb,IAAI6E,EAAY7E,EAAK6E,UACjBukG,EAAgBvkG,EAAUwD,MAAM,KAAK,GACrCghG,EAAiBxkG,EAAUwD,MAAM,KAAK,GAG1C,GAAIghG,EAAgB,CAClB,IAAIC,EAAgBtpG,EAAK4F,QACrB07F,EAAYgI,EAAchI,UAC1Bz7F,EAASyjG,EAAczjG,OAEvB0jG,GAA2D,IAA9C,CAAC,SAAU,OAAOvvF,QAAQovF,GACvClhG,EAAOqhG,EAAa,OAAS,MAC7B5C,EAAc4C,EAAa,QAAU,SAErCC,EAAe,CACjB/iC,MAAO/iD,EAAe,CAAC,EAAGxb,EAAMo5F,EAAUp5F,IAC1Cu1C,IAAK/5B,EAAe,CAAC,EAAGxb,EAAMo5F,EAAUp5F,GAAQo5F,EAAUqF,GAAe9gG,EAAO8gG,KAGlF3mG,EAAK4F,QAAQC,OAASwuC,EAAS,CAAC,EAAGxuC,EAAQ2jG,EAAaH,GAC1D,CAEA,OAAOrpG,CACT,GA+IEuI,OAAQ,CAENpD,MAAO,IAEPD,SAAS,EAETtB,GA7RJ,SAAgB5D,EAAMyH,GACpB,IAQI7B,EARA2C,EAASd,EAAKc,OACd1D,EAAY7E,EAAK6E,UACjBykG,EAAgBtpG,EAAK4F,QACrBC,EAASyjG,EAAczjG,OACvBy7F,EAAYgI,EAAchI,UAE1B8H,EAAgBvkG,EAAUwD,MAAM,KAAK,GAwBzC,OApBEzC,EADEwiG,GAAW7/F,GACH,EAAEA,EAAQ,GAvFxB,SAAqBA,EAAQg+F,EAAeF,EAAkB+C,GAC5D,IAAIxjG,EAAU,CAAC,EAAG,GAKd6jG,GAA0D,IAA9C,CAAC,QAAS,QAAQzvF,QAAQovF,GAItCM,EAAYnhG,EAAOF,MAAM,WAAWqpC,KAAI,SAAUi4D,GACpD,OAAOA,EAAKj+B,MACd,IAIIk+B,EAAUF,EAAU1vF,QAAQ+kC,EAAK2qD,GAAW,SAAUC,GACxD,OAAgC,IAAzBA,EAAKhrD,OAAO,OACrB,KAEI+qD,EAAUE,KAAiD,IAArCF,EAAUE,GAAS5vF,QAAQ,MACnD7Y,QAAQC,KAAK,gFAKf,IAAIyoG,EAAa,cACb1vE,GAAmB,IAAbyvE,EAAiB,CAACF,EAAUrqD,MAAM,EAAGuqD,GAASjlG,OAAO,CAAC+kG,EAAUE,GAASvhG,MAAMwhG,GAAY,KAAM,CAACH,EAAUE,GAASvhG,MAAMwhG,GAAY,IAAIllG,OAAO+kG,EAAUrqD,MAAMuqD,EAAU,KAAO,CAACF,GAqC9L,OAlCAvvE,EAAMA,EAAIuX,KAAI,SAAUpX,EAAI+V,GAE1B,IAAIs2D,GAAyB,IAAVt2D,GAAeo5D,EAAYA,GAAa,SAAW,QAClEK,GAAoB,EACxB,OAAOxvE,EAGN33B,QAAO,SAAUm4B,EAAG/Y,GACnB,MAAwB,KAApB+Y,EAAEA,EAAEt4B,OAAS,KAAwC,IAA3B,CAAC,IAAK,KAAKwX,QAAQ+H,IAC/C+Y,EAAEA,EAAEt4B,OAAS,GAAKuf,EAClB+nF,GAAoB,EACbhvE,GACEgvE,GACThvE,EAAEA,EAAEt4B,OAAS,IAAMuf,EACnB+nF,GAAoB,EACbhvE,GAEAA,EAAEn2B,OAAOod,EAEpB,GAAG,IAEF2vB,KAAI,SAAU27B,GACb,OAxGN,SAAiBA,EAAKs5B,EAAaJ,EAAeF,GAEhD,IAAIh+F,EAAQglE,EAAI2C,MAAM,6BAClB9wE,GAASmJ,EAAM,GACfkgG,EAAOlgG,EAAM,GAGjB,OAAKnJ,EAIqB,IAAtBqpG,EAAKvuF,QAAQ,KAYJ0pF,EATJ,OADC6E,EAEMhC,EAKAF,GAIFM,GAAe,IAAMznG,EACf,OAATqpG,GAA0B,OAATA,GAGb,OAATA,EACKvgE,KAAKqB,IAAIvgC,SAASqgC,gBAAgBj7B,aAAc3D,OAAO++B,aAAe,GAEtEtB,KAAKqB,IAAIvgC,SAASqgC,gBAAgBl7B,YAAa1D,OAAO06F,YAAc,IAE/D,IAAM/lG,EAIbA,EA7BAmuE,CA+BX,CAiEa08B,CAAQ18B,EAAKs5B,EAAaJ,EAAeF,EAClD,GACF,KAGI5kG,SAAQ,SAAU64B,EAAI+V,GACxB/V,EAAG74B,SAAQ,SAAUkoG,EAAMK,GACrB5B,EAAUuB,KACZ/jG,EAAQyqC,IAAUs5D,GAA2B,MAAnBrvE,EAAG0vE,EAAS,IAAc,EAAI,GAE5D,GACF,IACOpkG,CACT,CAwBcqkG,CAAY1hG,EAAQ1C,EAAQy7F,EAAW8H,GAG7B,SAAlBA,GACFvjG,EAAOzB,KAAOwB,EAAQ,GACtBC,EAAOxB,MAAQuB,EAAQ,IACI,UAAlBwjG,GACTvjG,EAAOzB,KAAOwB,EAAQ,GACtBC,EAAOxB,MAAQuB,EAAQ,IACI,QAAlBwjG,GACTvjG,EAAOxB,MAAQuB,EAAQ,GACvBC,EAAOzB,KAAOwB,EAAQ,IACK,WAAlBwjG,IACTvjG,EAAOxB,MAAQuB,EAAQ,GACvBC,EAAOzB,KAAOwB,EAAQ,IAGxB5F,EAAK6F,OAASA,EACP7F,CACT,EAiQIuI,OAAQ,GAoBVC,gBAAiB,CAEfrD,MAAO,IAEPD,SAAS,EAETtB,GAlRJ,SAAyB5D,EAAMmhD,GAC7B,IAAI74C,EAAoB64C,EAAQ74C,mBAAqBs5F,EAAgB5hG,EAAK4sF,SAAS/mF,QAK/E7F,EAAK4sF,SAAS0U,YAAch5F,IAC9BA,EAAoBs5F,EAAgBt5F,IAMtC,IAAI4hG,EAAgB3C,EAAyB,aACzC4C,EAAenqG,EAAK4sF,SAAS/mF,OAAOoB,MACpC7C,EAAM+lG,EAAa/lG,IACnBC,EAAO8lG,EAAa9lG,KACpBuP,EAAYu2F,EAAaD,GAE7BC,EAAa/lG,IAAM,GACnB+lG,EAAa9lG,KAAO,GACpB8lG,EAAaD,GAAiB,GAE9B,IAAIpF,EAAaD,EAAc7kG,EAAK4sF,SAAS/mF,OAAQ7F,EAAK4sF,SAAS0U,UAAWngD,EAAQ71B,QAAShjB,EAAmBtI,EAAKsF,eAIvH6kG,EAAa/lG,IAAMA,EACnB+lG,EAAa9lG,KAAOA,EACpB8lG,EAAaD,GAAiBt2F,EAE9ButC,EAAQ2jD,WAAaA,EAErB,IAAI3/F,EAAQg8C,EAAQipD,SAChBvkG,EAAS7F,EAAK4F,QAAQC,OAEtBghG,EAAQ,CACV75E,QAAS,SAAiBnoB,GACxB,IAAI3F,EAAQ2G,EAAOhB,GAInB,OAHIgB,EAAOhB,GAAaigG,EAAWjgG,KAAes8C,EAAQ14C,sBACxDvJ,EAAQ8oC,KAAKqB,IAAIxjC,EAAOhB,GAAYigG,EAAWjgG,KAE1C6e,EAAe,CAAC,EAAG7e,EAAW3F,EACvC,EACAmrG,UAAW,SAAmBxlG,GAC5B,IAAI4hG,EAAyB,UAAd5hG,EAAwB,OAAS,MAC5C3F,EAAQ2G,EAAO4gG,GAInB,OAHI5gG,EAAOhB,GAAaigG,EAAWjgG,KAAes8C,EAAQ14C,sBACxDvJ,EAAQ8oC,KAAKqF,IAAIxnC,EAAO4gG,GAAW3B,EAAWjgG,IAA4B,UAAdA,EAAwBgB,EAAOkI,MAAQlI,EAAOmI,UAErG0V,EAAe,CAAC,EAAG+iF,EAAUvnG,EACtC,GAUF,OAPAiG,EAAM1D,SAAQ,SAAUoD,GACtB,IAAIqD,GAA+C,IAAxC,CAAC,OAAQ,OAAO8R,QAAQnV,GAAoB,UAAY,YACnEgB,EAASwuC,EAAS,CAAC,EAAGxuC,EAAQghG,EAAM3+F,GAAMrD,GAC5C,IAEA7E,EAAK4F,QAAQC,OAASA,EAEf7F,CACT,EA0NIoqG,SAAU,CAAC,OAAQ,QAAS,MAAO,UAOnC9+E,QAAS,EAMThjB,kBAAmB,gBAYrBgiG,aAAc,CAEZnlG,MAAO,IAEPD,SAAS,EAETtB,GAlgBJ,SAAsB5D,GACpB,IAAIspG,EAAgBtpG,EAAK4F,QACrBC,EAASyjG,EAAczjG,OACvBy7F,EAAYgI,EAAchI,UAE1Bz8F,EAAY7E,EAAK6E,UAAUwD,MAAM,KAAK,GACtCkiG,EAAQviE,KAAKuiE,MACbhB,GAAuD,IAA1C,CAAC,MAAO,UAAUvvF,QAAQnV,GACvCqD,EAAOqhG,EAAa,QAAU,SAC9BiB,EAASjB,EAAa,OAAS,MAC/B5C,EAAc4C,EAAa,QAAU,SASzC,OAPI1jG,EAAOqC,GAAQqiG,EAAMjJ,EAAUkJ,MACjCxqG,EAAK4F,QAAQC,OAAO2kG,GAAUD,EAAMjJ,EAAUkJ,IAAW3kG,EAAO8gG,IAE9D9gG,EAAO2kG,GAAUD,EAAMjJ,EAAUp5F,MACnClI,EAAK4F,QAAQC,OAAO2kG,GAAUD,EAAMjJ,EAAUp5F,KAGzClI,CACT,GA2fEwF,MAAO,CAELL,MAAO,IAEPD,SAAS,EAETtB,GApxBJ,SAAe5D,EAAMmhD,GACnB,IAAIspD,EAGJ,IAAKhC,EAAmBzoG,EAAK4sF,SAASrnF,UAAW,QAAS,gBACxD,OAAOvF,EAGT,IAAI+zD,EAAe5S,EAAQ17C,QAG3B,GAA4B,iBAAjBsuD,GAIT,KAHAA,EAAe/zD,EAAK4sF,SAAS/mF,OAAO8E,cAAcopD,IAIhD,OAAO/zD,OAKT,IAAKA,EAAK4sF,SAAS/mF,OAAO+lC,SAASmoB,GAEjC,OADA5yD,QAAQC,KAAK,iEACNpB,EAIX,IAAI6E,EAAY7E,EAAK6E,UAAUwD,MAAM,KAAK,GACtCihG,EAAgBtpG,EAAK4F,QACrBC,EAASyjG,EAAczjG,OACvBy7F,EAAYgI,EAAchI,UAE1BiI,GAAuD,IAA1C,CAAC,OAAQ,SAASvvF,QAAQnV,GAEvC0oE,EAAMg8B,EAAa,SAAW,QAC9BmB,EAAkBnB,EAAa,MAAQ,OACvCrhG,EAAOwiG,EAAgB/+B,cACvBg/B,EAAUpB,EAAa,OAAS,MAChCiB,EAASjB,EAAa,SAAW,QACjCqB,EAAmB7E,EAAchyC,GAAcwZ,GAQ/C+zB,EAAUkJ,GAAUI,EAAmB/kG,EAAOqC,KAChDlI,EAAK4F,QAAQC,OAAOqC,IAASrC,EAAOqC,IAASo5F,EAAUkJ,GAAUI,IAG/DtJ,EAAUp5F,GAAQ0iG,EAAmB/kG,EAAO2kG,KAC9CxqG,EAAK4F,QAAQC,OAAOqC,IAASo5F,EAAUp5F,GAAQ0iG,EAAmB/kG,EAAO2kG,IAE3ExqG,EAAK4F,QAAQC,OAAS69F,EAAc1jG,EAAK4F,QAAQC,QAGjD,IAAIglG,EAASvJ,EAAUp5F,GAAQo5F,EAAU/zB,GAAO,EAAIq9B,EAAmB,EAInEx2F,EAAMysF,EAAyB7gG,EAAK4sF,SAAS/mF,QAC7CilG,EAAmB1H,WAAWhvF,EAAI,SAAWs2F,IAC7CK,EAAmB3H,WAAWhvF,EAAI,SAAWs2F,EAAkB,UAC/DM,EAAYH,EAAS7qG,EAAK4F,QAAQC,OAAOqC,GAAQ4iG,EAAmBC,EAQxE,OALAC,EAAYhjE,KAAKqB,IAAIrB,KAAKqF,IAAIxnC,EAAO0nE,GAAOq9B,EAAkBI,GAAY,GAE1EhrG,EAAK+zD,aAAeA,EACpB/zD,EAAK4F,QAAQJ,OAAmCke,EAA1B+mF,EAAsB,CAAC,EAAuCviG,EAAM8/B,KAAKC,MAAM+iE,IAAatnF,EAAe+mF,EAAqBE,EAAS,IAAKF,GAE7JzqG,CACT,EA6sBIyF,QAAS,aAcX0C,KAAM,CAEJhD,MAAO,IAEPD,SAAS,EAETtB,GA5oBJ,SAAc5D,EAAMmhD,GAElB,GAAIkmD,EAAkBrnG,EAAK4sF,SAASrnF,UAAW,SAC7C,OAAOvF,EAGT,GAAIA,EAAKuoC,SAAWvoC,EAAK6E,YAAc7E,EAAKmnG,kBAE1C,OAAOnnG,EAGT,IAAI8kG,EAAaD,EAAc7kG,EAAK4sF,SAAS/mF,OAAQ7F,EAAK4sF,SAAS0U,UAAWngD,EAAQ71B,QAAS61B,EAAQ74C,kBAAmBtI,EAAKsF,eAE3HT,EAAY7E,EAAK6E,UAAUwD,MAAM,KAAK,GACtC4iG,EAAoB/E,EAAqBrhG,GACzCghG,EAAY7lG,EAAK6E,UAAUwD,MAAM,KAAK,IAAM,GAE5C6iG,EAAY,GAEhB,OAAQ/pD,EAAQ/4C,UACd,IAhCI,OAiCF8iG,EAAY,CAACrmG,EAAWomG,GACxB,MACF,IAlCS,YAmCPC,EAAYjC,EAAUpkG,GACtB,MACF,IApCgB,mBAqCdqmG,EAAYjC,EAAUpkG,GAAW,GACjC,MACF,QACEqmG,EAAY/pD,EAAQ/4C,SAyDxB,OAtDA8iG,EAAUzpG,SAAQ,SAAUg4B,EAAM4W,GAChC,GAAIxrC,IAAc40B,GAAQyxE,EAAU1oG,SAAW6tC,EAAQ,EACrD,OAAOrwC,EAGT6E,EAAY7E,EAAK6E,UAAUwD,MAAM,KAAK,GACtC4iG,EAAoB/E,EAAqBrhG,GAEzC,IAAI0hG,EAAgBvmG,EAAK4F,QAAQC,OAC7BslG,EAAanrG,EAAK4F,QAAQ07F,UAG1BiJ,EAAQviE,KAAKuiE,MACba,EAA4B,SAAdvmG,GAAwB0lG,EAAMhE,EAAcz+F,OAASyiG,EAAMY,EAAW9mG,OAAuB,UAAdQ,GAAyB0lG,EAAMhE,EAAcliG,MAAQkmG,EAAMY,EAAWrjG,QAAwB,QAAdjD,GAAuB0lG,EAAMhE,EAAcx+F,QAAUwiG,EAAMY,EAAW/mG,MAAsB,WAAdS,GAA0B0lG,EAAMhE,EAAcniG,KAAOmmG,EAAMY,EAAWpjG,QAEjUsjG,EAAgBd,EAAMhE,EAAcliG,MAAQkmG,EAAMzF,EAAWzgG,MAC7DinG,EAAiBf,EAAMhE,EAAcz+F,OAASyiG,EAAMzF,EAAWh9F,OAC/DyjG,EAAehB,EAAMhE,EAAcniG,KAAOmmG,EAAMzF,EAAW1gG,KAC3DonG,EAAkBjB,EAAMhE,EAAcx+F,QAAUwiG,EAAMzF,EAAW/8F,QAEjE0jG,EAAoC,SAAd5mG,GAAwBwmG,GAA+B,UAAdxmG,GAAyBymG,GAAgC,QAAdzmG,GAAuB0mG,GAA8B,WAAd1mG,GAA0B2mG,EAG3KjC,GAAuD,IAA1C,CAAC,MAAO,UAAUvvF,QAAQnV,GAGvC6mG,IAA0BvqD,EAAQlX,iBAAmBs/D,GAA4B,UAAd1D,GAAyBwF,GAAiB9B,GAA4B,QAAd1D,GAAuByF,IAAmB/B,GAA4B,UAAd1D,GAAyB0F,IAAiBhC,GAA4B,QAAd1D,GAAuB2F,GAGlQG,IAA8BxqD,EAAQyqD,0BAA4BrC,GAA4B,UAAd1D,GAAyByF,GAAkB/B,GAA4B,QAAd1D,GAAuBwF,IAAkB9B,GAA4B,UAAd1D,GAAyB2F,IAAoBjC,GAA4B,QAAd1D,GAAuB0F,GAElRM,EAAmBH,GAAyBC,GAE5CP,GAAeK,GAAuBI,KAExC7rG,EAAKuoC,SAAU,GAEX6iE,GAAeK,KACjB5mG,EAAYqmG,EAAU76D,EAAQ,IAG5Bw7D,IACFhG,EAvJR,SAA8BA,GAC5B,MAAkB,QAAdA,EACK,QACgB,UAAdA,EACF,MAEFA,CACT,CAgJoBiG,CAAqBjG,IAGnC7lG,EAAK6E,UAAYA,GAAaghG,EAAY,IAAMA,EAAY,IAI5D7lG,EAAK4F,QAAQC,OAASwuC,EAAS,CAAC,EAAGr0C,EAAK4F,QAAQC,OAAQugG,EAAiBpmG,EAAK4sF,SAAS/mF,OAAQ7F,EAAK4F,QAAQ07F,UAAWthG,EAAK6E,YAE5H7E,EAAO8mG,EAAa9mG,EAAK4sF,SAASrnF,UAAWvF,EAAM,QAEvD,IACOA,CACT,EA2jBIoI,SAAU,OAKVkjB,QAAS,EAOThjB,kBAAmB,WAQnB2hC,gBAAgB,EAQhB2hE,yBAAyB,GAU3BG,MAAO,CAEL5mG,MAAO,IAEPD,SAAS,EAETtB,GArQJ,SAAe5D,GACb,IAAI6E,EAAY7E,EAAK6E,UACjBukG,EAAgBvkG,EAAUwD,MAAM,KAAK,GACrCihG,EAAgBtpG,EAAK4F,QACrBC,EAASyjG,EAAczjG,OACvBy7F,EAAYgI,EAAchI,UAE1BkF,GAAwD,IAA9C,CAAC,OAAQ,SAASxsF,QAAQovF,GAEpC4C,GAA6D,IAA5C,CAAC,MAAO,QAAQhyF,QAAQovF,GAO7C,OALAvjG,EAAO2gG,EAAU,OAAS,OAASlF,EAAU8H,IAAkB4C,EAAiBnmG,EAAO2gG,EAAU,QAAU,UAAY,GAEvHxmG,EAAK6E,UAAYqhG,EAAqBrhG,GACtC7E,EAAK4F,QAAQC,OAAS69F,EAAc79F,GAE7B7F,CACT,GAiQEgG,KAAM,CAEJb,MAAO,IAEPD,SAAS,EAETtB,GA9TJ,SAAc5D,GACZ,IAAKyoG,EAAmBzoG,EAAK4sF,SAASrnF,UAAW,OAAQ,mBACvD,OAAOvF,EAGT,IAAIulG,EAAUvlG,EAAK4F,QAAQ07F,UACvB2K,EAAQltD,EAAK/+C,EAAK4sF,SAASrnF,WAAW,SAAUk/F,GAClD,MAAyB,oBAAlBA,EAASzjG,IAClB,IAAG8jG,WAEH,GAAIS,EAAQx9F,OAASkkG,EAAM7nG,KAAOmhG,EAAQlhG,KAAO4nG,EAAMnkG,OAASy9F,EAAQnhG,IAAM6nG,EAAMlkG,QAAUw9F,EAAQz9F,MAAQmkG,EAAM5nG,KAAM,CAExH,IAAkB,IAAdrE,EAAKgG,KACP,OAAOhG,EAGTA,EAAKgG,MAAO,EACZhG,EAAKmN,WAAW,uBAAyB,EAC3C,KAAO,CAEL,IAAkB,IAAdnN,EAAKgG,KACP,OAAOhG,EAGTA,EAAKgG,MAAO,EACZhG,EAAKmN,WAAW,wBAAyB,CAC3C,CAEA,OAAOnN,CACT,GAmTEksG,aAAc,CAEZ/mG,MAAO,IAEPD,SAAS,EAETtB,GAtgCJ,SAAsB5D,EAAMmhD,GAC1B,IAAIpqC,EAAIoqC,EAAQpqC,EACZC,EAAImqC,EAAQnqC,EACZnR,EAAS7F,EAAK4F,QAAQC,OAItBsmG,EAA8BptD,EAAK/+C,EAAK4sF,SAASrnF,WAAW,SAAUk/F,GACxE,MAAyB,eAAlBA,EAASzjG,IAClB,IAAGorG,qBACiCxnG,IAAhCunG,GACFhrG,QAAQC,KAAK,iIAEf,IA6BIiD,EACAD,EA9BAgoG,OAAkDxnG,IAAhCunG,EAA4CA,EAA8BhrD,EAAQirD,gBAEpGtK,EAAeF,EAAgB5hG,EAAK4sF,SAAS/mF,QAC7CwmG,EAAmBv+F,EAAsBg0F,GAGzCh8F,EAAS,CACX3B,SAAU0B,EAAO1B,UAGfyB,EA9DN,SAA2B5F,EAAMssG,GAC/B,IAAIhD,EAAgBtpG,EAAK4F,QACrBC,EAASyjG,EAAczjG,OACvBy7F,EAAYgI,EAAchI,UAC1Br5D,EAAQD,KAAKC,MACbsiE,EAAQviE,KAAKuiE,MAEbgC,EAAU,SAAiBlyE,GAC7B,OAAOA,CACT,EAEImyE,EAAiBvkE,EAAMq5D,EAAUvzF,OACjC0+F,EAAcxkE,EAAMpiC,EAAOkI,OAE3Bw7F,GAA4D,IAA/C,CAAC,OAAQ,SAASvvF,QAAQha,EAAK6E,WAC5C6nG,GAA+C,IAAjC1sG,EAAK6E,UAAUmV,QAAQ,KAIrC2yF,EAAuBL,EAAwB/C,GAAcmD,GAH3CF,EAAiB,GAAMC,EAAc,EAGuCxkE,EAAQsiE,EAAjEgC,EACrCK,EAAqBN,EAAwBrkE,EAAVskE,EAEvC,MAAO,CACLloG,KAAMsoG,EANWH,EAAiB,GAAM,GAAKC,EAAc,GAAM,IAMtBC,GAAeJ,EAAczmG,EAAOxB,KAAO,EAAIwB,EAAOxB,MACjGD,IAAKwoG,EAAkB/mG,EAAOzB,KAC9B2D,OAAQ6kG,EAAkB/mG,EAAOkC,QACjCD,MAAO6kG,EAAoB9mG,EAAOiC,OAEtC,CAkCgB+kG,CAAkB7sG,EAAMuK,OAAOuiG,iBAAmB,IAAMtE,GAElEtF,EAAc,WAANnsF,EAAiB,MAAQ,SACjCosF,EAAc,UAANnsF,EAAgB,OAAS,QAKjC+1F,EAAmBxF,EAAyB,aAiChD,GAhBInjG,EAJU,WAAV8+F,EAG4B,SAA1BpB,EAAad,UACRc,EAAa5zF,aAAetI,EAAQmC,QAEpCskG,EAAiBr+F,OAASpI,EAAQmC,OAGrCnC,EAAQxB,IAIZC,EAFU,UAAV8+F,EAC4B,SAA1BrB,EAAad,UACPc,EAAa7zF,YAAcrI,EAAQkC,OAEnCukG,EAAiBt+F,MAAQnI,EAAQkC,MAGpClC,EAAQvB,KAEb+nG,GAAmBW,EACrBjnG,EAAOinG,GAAoB,eAAiB1oG,EAAO,OAASD,EAAM,SAClE0B,EAAOo9F,GAAS,EAChBp9F,EAAOq9F,GAAS,EAChBr9F,EAAO6hG,WAAa,gBACf,CAEL,IAAIqF,EAAsB,WAAV9J,GAAsB,EAAI,EACtC+J,EAAuB,UAAV9J,GAAqB,EAAI,EAC1Cr9F,EAAOo9F,GAAS9+F,EAAM4oG,EACtBlnG,EAAOq9F,GAAS9+F,EAAO4oG,EACvBnnG,EAAO6hG,WAAazE,EAAQ,KAAOC,CACrC,CAGA,IAAIh2F,EAAa,CACf,cAAenN,EAAK6E,WAQtB,OAJA7E,EAAKmN,WAAaknC,EAAS,CAAC,EAAGlnC,EAAYnN,EAAKmN,YAChDnN,EAAK8F,OAASuuC,EAAS,CAAC,EAAGvuC,EAAQ9F,EAAK8F,QACxC9F,EAAK+F,YAAcsuC,EAAS,CAAC,EAAGr0C,EAAK4F,QAAQJ,MAAOxF,EAAK+F,aAElD/F,CACT,EAm7BIosG,iBAAiB,EAMjBr1F,EAAG,SAMHC,EAAG,SAkBLtR,WAAY,CAEVP,MAAO,IAEPD,SAAS,EAETtB,GAzpCJ,SAAoB5D,GApBpB,IAAuByF,EAAS0H,EAoC9B,OAXAm7F,EAAUtoG,EAAK4sF,SAAS/mF,OAAQ7F,EAAK8F,QAzBhBL,EA6BPzF,EAAK4sF,SAAS/mF,OA7BEsH,EA6BMnN,EAAKmN,WA5BzChL,OAAOC,KAAK+K,GAAY1L,SAAQ,SAAUk0D,IAE1B,IADFxoD,EAAWwoD,GAErBlwD,EAAQuD,aAAa2sD,EAAMxoD,EAAWwoD,IAEtClwD,EAAQu5C,gBAAgB2W,EAE5B,IAwBI31D,EAAK+zD,cAAgB5xD,OAAOC,KAAKpC,EAAK+F,aAAavD,QACrD8lG,EAAUtoG,EAAK+zD,aAAc/zD,EAAK+F,aAG7B/F,CACT,EA0oCIktG,OA9nCJ,SAA0B5L,EAAWz7F,EAAQs7C,EAASgsD,EAAiBjtG,GAErE,IAAImmG,EAAmBP,EAAoB5lG,EAAO2F,EAAQy7F,EAAWngD,EAAQ77C,eAKzET,EAAYygG,EAAqBnkD,EAAQt8C,UAAWwhG,EAAkBxgG,EAAQy7F,EAAWngD,EAAQ57C,UAAU4C,KAAKG,kBAAmB64C,EAAQ57C,UAAU4C,KAAKmjB,SAQ9J,OANAzlB,EAAOmD,aAAa,cAAenE,GAInCyjG,EAAUziG,EAAQ,CAAE1B,SAAUg9C,EAAQ77C,cAAgB,QAAU,aAEzD67C,CACT,EAqnCIirD,qBAAiBxnG,KAuGjBoD,GAAS,WASX,SAASA,EAAOs5F,EAAWz7F,GACzB,IAAIjG,EAAQpB,KAER2iD,EAAUh+C,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,GAAmBA,UAAU,GAAK,CAAC,GA3jElE,SAAUypF,EAAUC,GACvC,KAAMD,aAAoBC,GACxB,MAAM,IAAI3pE,UAAU,oCAExB,CAwjEIkqF,CAAe5uG,KAAMwJ,GAErBxJ,KAAK8H,eAAiB,WACpB,OAAO0yD,sBAAsBp5D,EAAM+B,OACrC,EAGAnD,KAAKmD,OAAS6+F,EAAShiG,KAAKmD,OAAO69B,KAAKhhC,OAGxCA,KAAK2iD,QAAU9M,EAAS,CAAC,EAAGrsC,EAAOmhG,SAAUhoD,GAG7C3iD,KAAK0B,MAAQ,CACXgnG,aAAa,EACbE,WAAW,EACXW,cAAe,IAIjBvpG,KAAK8iG,UAAYA,GAAaA,EAAU+L,OAAS/L,EAAU,GAAKA,EAChE9iG,KAAKqH,OAASA,GAAUA,EAAOwnG,OAASxnG,EAAO,GAAKA,EAGpDrH,KAAK2iD,QAAQ57C,UAAY,CAAC,EAC1BpD,OAAOC,KAAKiyC,EAAS,CAAC,EAAGrsC,EAAOmhG,SAAS5jG,UAAW47C,EAAQ57C,YAAY9D,SAAQ,SAAUT,GACxFpB,EAAMuhD,QAAQ57C,UAAUvE,GAAQqzC,EAAS,CAAC,EAAGrsC,EAAOmhG,SAAS5jG,UAAUvE,IAAS,CAAC,EAAGmgD,EAAQ57C,UAAY47C,EAAQ57C,UAAUvE,GAAQ,CAAC,EACrI,IAGAxC,KAAK+G,UAAYpD,OAAOC,KAAK5D,KAAK2iD,QAAQ57C,WAAWmsC,KAAI,SAAU1wC,GACjE,OAAOqzC,EAAS,CACdrzC,KAAMA,GACLpB,EAAMuhD,QAAQ57C,UAAUvE,GAC7B,IAEC+2C,MAAK,SAAUjd,EAAG/Y,GACjB,OAAO+Y,EAAE31B,MAAQ4c,EAAE5c,KACrB,IAMA3G,KAAK+G,UAAU9D,SAAQ,SAAU0rG,GAC3BA,EAAgBjoG,SAAWy7F,EAAWwM,EAAgBD,SACxDC,EAAgBD,OAAOttG,EAAM0hG,UAAW1hG,EAAMiG,OAAQjG,EAAMuhD,QAASgsD,EAAiBvtG,EAAMM,MAEhG,IAGA1B,KAAKmD,SAEL,IAAI0D,EAAgB7G,KAAK2iD,QAAQ97C,cAC7BA,GAEF7G,KAAKmI,uBAGPnI,KAAK0B,MAAMmF,cAAgBA,CAC7B,CAoDA,OA9CAi+F,EAAYt7F,EAAQ,CAAC,CACnBgT,IAAK,SACL9b,MAAO,WACL,OAAOyC,EAAO9B,KAAKrB,KACrB,GACC,CACDwc,IAAK,UACL9b,MAAO,WACL,OAAOgH,EAAQrG,KAAKrB,KACtB,GACC,CACDwc,IAAK,uBACL9b,MAAO,WACL,OAAOyH,EAAqB9G,KAAKrB,KACnC,GACC,CACDwc,IAAK,wBACL9b,MAAO,WACL,OAAO0H,EAAsB/G,KAAKrB,KACpC,KA2BKwJ,CACT,CA9Ha,GAqJbA,GAAOslG,OAA2B,oBAAX/iG,OAAyBA,OAAS,EAAAwvB,GAAQwzE,YACjEvlG,GAAO+gG,WAAaA,EACpB/gG,GAAOmhG,SAAWA,EAElB,oCCjjFA,SAASqE,EAAMC,GACbjvG,KAAKkvG,SAAWD,EAChBjvG,KAAKk2E,OACP,CACA84B,EAAMrtG,UAAUu0E,MAAQ,WACtBl2E,KAAKmvG,MAAQ,EACbnvG,KAAKovG,QAAUzrG,OAAOigB,OAAO,KAC/B,EACAorF,EAAMrtG,UAAU87B,IAAM,SAAUjhB,GAC9B,OAAOxc,KAAKovG,QAAQ5yF,EACtB,EACAwyF,EAAMrtG,UAAUg8B,IAAM,SAAUnhB,EAAK9b,GAInC,OAHAV,KAAKmvG,OAASnvG,KAAKkvG,UAAYlvG,KAAKk2E,QAC9B15D,KAAOxc,KAAKovG,SAAUpvG,KAAKmvG,QAEzBnvG,KAAKovG,QAAQ5yF,GAAO9b,CAC9B,EAEA,IAAI2uG,EAAc,4BAChBC,EAAc,QACdC,EAAmB,MACnBC,EAAkB,yCAClBC,EAAqB,2BAGnBC,EAAY,IAAIV,EAFD,KAGjBW,EAAW,IAAIX,EAHE,KAIjBY,EAAW,IAAIZ,EAJE,KA0EnB,SAASa,EAAcl3B,GACrB,OACE+2B,EAAUjyE,IAAIk7C,IACd+2B,EAAU/xE,IACRg7C,EACA9uE,EAAM8uE,GAAMzlC,KAAI,SAAU48D,GACxB,OAAOA,EAAKr6D,QAAQg6D,EAAoB,KAC1C,IAGN,CAEA,SAAS5lG,EAAM8uE,GACb,OAAOA,EAAKnH,MAAM69B,IAAgB,CAAC,GACrC,CAyBA,SAASU,EAASlhC,GAChB,MACiB,iBAARA,GAAoBA,IAA8C,IAAvC,CAAC,IAAK,KAAKrzD,QAAQqzD,EAAId,OAAO,GAEpE,CAUA,SAASiiC,EAAeF,GACtB,OAAQC,EAASD,KATnB,SAA0BA,GACxB,OAAOA,EAAKt+B,MAAM+9B,KAAsBO,EAAKt+B,MAAM89B,EACrD,CAO6BW,CAAiBH,IAL9C,SAAyBA,GACvB,OAAON,EAAgBliF,KAAKwiF,EAC9B,CAGuDI,CAAgBJ,GACvE,CAzHA/uC,EAAOh3C,QAAU,CACfilF,MAAOA,EAEPnlG,MAAOA,EAEPgmG,cAAeA,EAEfM,OAAQ,SAAUx3B,GAChB,IAAIy3B,EAAQP,EAAcl3B,GAE1B,OACEg3B,EAASlyE,IAAIk7C,IACbg3B,EAAShyE,IAAIg7C,GAAM,SAAgBn6D,EAAK9d,GAKtC,IAJA,IAAImxC,EAAQ,EACRk9B,EAAMqhC,EAAMpsG,OACZxC,EAAOgd,EAEJqzB,EAAQk9B,EAAM,GAAG,CACtB,IAAI+gC,EAAOM,EAAMv+D,GACjB,GACW,cAATi+D,GACS,gBAATA,GACS,cAATA,EAEA,OAAOtxF,EAGThd,EAAOA,EAAK4uG,EAAMv+D,KACpB,CACArwC,EAAK4uG,EAAMv+D,IAAUnxC,CACvB,GAEJ,EAEA2vG,OAAQ,SAAU13B,EAAM23B,GACtB,IAAIF,EAAQP,EAAcl3B,GAC1B,OACEi3B,EAASnyE,IAAIk7C,IACbi3B,EAASjyE,IAAIg7C,GAAM,SAAgBn3E,GAGjC,IAFA,IAAIqwC,EAAQ,EACVk9B,EAAMqhC,EAAMpsG,OACP6tC,EAAQk9B,GAAK,CAClB,GAAY,MAARvtE,GAAiB8uG,EAChB,OADsB9uG,EAAOA,EAAK4uG,EAAMv+D,KAE/C,CACA,OAAOrwC,CACT,GAEJ,EAEAisB,KAAM,SAAU8iF,GACd,OAAOA,EAASpsG,QAAO,SAAUw0E,EAAMm3B,GACrC,OACEn3B,GACCo3B,EAASD,IAASR,EAAYhiF,KAAKwiF,GAChC,IAAMA,EAAO,KACZn3B,EAAO,IAAM,IAAMm3B,EAE5B,GAAG,GACL,EAEA7sG,QAAS,SAAU01E,EAAMprB,EAAI9yB,IAqB/B,SAAiB21E,EAAOI,EAAM/1E,GAC5B,IACEq1E,EACAjsC,EACAt7D,EACAkoG,EAJE1hC,EAAMqhC,EAAMpsG,OAMhB,IAAK6/D,EAAM,EAAGA,EAAMkL,EAAKlL,KACvBisC,EAAOM,EAAMvsC,MAGPmsC,EAAeF,KACjBA,EAAO,IAAMA,EAAO,KAItBvnG,IADAkoG,EAAYV,EAASD,KACG,QAAQxiF,KAAKwiF,GAErCU,EAAKnvG,KAAKo5B,EAASq1E,EAAMW,EAAWloG,EAASs7D,EAAKusC,GAGxD,CAzCIntG,CAAQqC,MAAMiD,QAAQowE,GAAQA,EAAO9uE,EAAM8uE,GAAOprB,EAAI9yB,EACxD,iDCjGF,iBAA0Br1B,GACxB,IAAI6vF,EAAW,GACXyb,EAAU,KAEVC,EAAY,WACd,IAAK,IAAItrG,EAAOV,UAAUX,OAAQS,EAAOa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3Ed,EAAKc,GAAQZ,UAAUY,GAKzB,OAFA0vF,EAAWxwF,EAEPisG,IAIJA,EAAUl2C,uBAAsB,WAC9Bk2C,EAAU,KACVtrG,EAAGP,WAAMuB,EAAW6uF,EACtB,IAGF,EAaA,OAXA0b,EAAUt/F,OAAS,WACZq/F,IAILj2C,qBAAqBi2C,GACrBA,EAAU,KACZ,EAEeC,CAGhB,0BCPD5vC,EAAOh3C,QA5BP,SAAiB6mF,GACf,IAAI1e,EAAM,GAwBV,OAvBS,SAAS2e,EAAGthD,GACnB,GAAqB,iBAAVA,GAAuC,iBAAVA,EACtC2iC,GAAO3iC,OACF,GAAIjqD,MAAMiD,QAAQgnD,GACvBA,EAAMtsD,SAAQ,SAAU42B,GACtB,OAAOg3E,EAAGh3E,EACZ,SACK,GAAI01B,GAASA,EAAMzvD,MAAO,CAC/B,IAAIW,EAAW8uD,EAAMzvD,MAAMW,SAGvB6E,MAAMiD,QAAQ9H,GAChBA,EAASwC,SAAQ,SAAU42B,GACzB,OAAOg3E,EAAGh3E,EACZ,IAEAg3E,EAAGpwG,EAEP,CACF,CAEAowG,CAAGD,GAEI1e,CACT,oFCkDA,QA1EA,SAAwB4e,EAAoBC,GAe1C,OAAO,SAAc/uG,GAOnB,IACIN,EADAsvG,EAAmB,GAGvB,SAASC,IACPvvG,EAAQovG,EAAmBE,EAAiB99D,KAAI,SAAUk7C,GACxD,OAAOA,EAAStuF,KAClB,KACAixG,EAA0BrvG,EAC5B,CAEA,IAAIwvG,EAA0B,SAAU3qE,GAGtC,SAAS2qE,IACP,OAAO3qE,EAAe1hC,MAAM7E,KAAM2E,YAAc3E,IAClD,EAJA,OAAekxG,EAAY3qE,GAO3B2qE,EAAWC,KAAO,WAChB,OAAOzvG,CACT,EAEA,IAAIqG,EAASmpG,EAAWvvG,UAqBxB,OAnBAoG,EAAO4E,kBAAoB,WACzBqkG,EAAiBnsF,KAAK7kB,MACtBixG,GACF,EAEAlpG,EAAOC,mBAAqB,WAC1BipG,GACF,EAEAlpG,EAAOM,qBAAuB,WAC5B,IAAIwpC,EAAQm/D,EAAiBx1F,QAAQxb,MACrCgxG,EAAiB1jD,OAAOzb,EAAO,GAC/Bo/D,GACF,EAEAlpG,EAAOvH,OAAS,WACd,OAAoB,gBAAoBwB,EAAkBhC,KAAKF,MACjE,EAEOoxG,CACT,CAlC8B,CAkC5B,EAAA73F,eAIF,OAFA,OAAgB63F,EAAY,cAAe,cAzD7C,SAAwBlvG,GACtB,OAAOA,EAAiBO,aAAeP,EAAiBQ,MAAQ,WAClE,CAuD6D2c,CAAend,GAAoB,KAEvFkvG,CACT,CACF,0BC1EA,IAAI3oG,EAAUjD,MAAMiD,QAChB6oG,EAAUztG,OAAOC,KACjBytG,EAAU1tG,OAAOhC,UAAUuJ,eAC3BomG,EAAoC,oBAAZhrE,QAE5B,SAASirE,EAAMj1E,EAAG/Y,GAEhB,GAAI+Y,IAAM/Y,EAAG,OAAO,EAEpB,GAAI+Y,GAAK/Y,GAAiB,iBAAL+Y,GAA6B,iBAAL/Y,EAAe,CAC1D,IAEIS,EACAhgB,EACAwY,EAJAg1F,EAAOjpG,EAAQ+zB,GACfm1E,EAAOlpG,EAAQgb,GAKnB,GAAIiuF,GAAQC,EAAM,CAEhB,IADAztG,EAASs4B,EAAEt4B,SACGuf,EAAEvf,OAAQ,OAAO,EAC/B,IAAKggB,EAAIhgB,EAAgB,GAARggB,KACf,IAAKutF,EAAMj1E,EAAEtY,GAAIT,EAAES,IAAK,OAAO,EACjC,OAAO,CACT,CAEA,GAAIwtF,GAAQC,EAAM,OAAO,EAEzB,IAAIC,EAAQp1E,aAAa6T,KACrBwhE,EAAQpuF,aAAa4sB,KACzB,GAAIuhE,GAASC,EAAO,OAAO,EAC3B,GAAID,GAASC,EAAO,OAAOr1E,EAAEs1E,WAAaruF,EAAEquF,UAE5C,IAAIC,EAAUv1E,aAAa6kC,OACvB2wC,EAAUvuF,aAAa49C,OAC3B,GAAI0wC,GAAWC,EAAS,OAAO,EAC/B,GAAID,GAAWC,EAAS,OAAOx1E,EAAE6vB,YAAc5oC,EAAE4oC,WAEjD,IAAIvoD,EAAOwtG,EAAQ90E,GAGnB,IAFAt4B,EAASJ,EAAKI,UAECotG,EAAQ7tF,GAAGvf,OACxB,OAAO,EAET,IAAKggB,EAAIhgB,EAAgB,GAARggB,KACf,IAAKqtF,EAAQhwG,KAAKkiB,EAAG3f,EAAKogB,IAAK,OAAO,EAKxC,GAAIstF,GAAkBh1E,aAAagK,SAAW/iB,aAAa+iB,QACzD,OAAOhK,IAAM/Y,EAGf,IAAKS,EAAIhgB,EAAgB,GAARggB,KAEf,KAAY,YADZxH,EAAM5Y,EAAKogB,KACasY,EAAEy1E,UAQnBR,EAAMj1E,EAAE9f,GAAM+G,EAAE/G,KAAO,OAAO,EAMvC,OAAO,CACT,CAEA,OAAO8f,GAAMA,GAAK/Y,GAAMA,CAC1B,CAGAw9C,EAAOh3C,QAAU,SAAuBuS,EAAG/Y,GACzC,IACE,OAAOguF,EAAMj1E,EAAG/Y,EAClB,CAAE,MAAOtE,GACP,GAAKA,EAAMtU,SAAWsU,EAAMtU,QAAQ6mE,MAAM,sBAA2C,aAAlBvyD,EAAM+yF,OAOvE,OADArvG,QAAQC,KAAK,mEAAoEqc,EAAMzc,KAAMyc,EAAMtU,UAC5F,EAGT,MAAMsU,CACR,CACF,+DC/EmnDqc,aAA/hDvX,EAAE,WAAW,OAAOA,EAAEpgB,OAAOuG,QAAQ,SAASsG,GAAG,IAAI,IAAIsT,EAAEzL,EAAE,EAAEiM,EAAE3f,UAAUX,OAAOqU,EAAEiM,EAAEjM,IAAI,IAAI,IAAI4L,KAAKH,EAAEnf,UAAU0T,GAAG1U,OAAOhC,UAAUuJ,eAAe7J,KAAKyiB,EAAEG,KAAKzT,EAAEyT,GAAGH,EAAEG,IAAI,OAAOzT,CAAC,EAAEuT,EAAElf,MAAM7E,KAAK2E,UAAU,EAA2jD2T,EAAE,SAAS9H,EAAEsT,IAAnP,SAAStT,GAAG,IAAIsT,EAAEtT,EAAE,SAASA,GAAG,GAAGA,EAAE,KAAKA,EAAEyhG,WAAWzhG,EAAEyhG,UAAU7wC,QAAQ,CAAvD,CAAyD,iBAAiB5wD,EAAElG,SAAS4nG,eAAe1hG,GAAGA,IAAIsT,EAAExZ,SAAS6B,cAAc,uBAAuB2X,EAAE40B,YAAYpuC,SAASO,KAAK+B,YAAYkX,EAAE40B,WAAW,EAAkB30C,CAAE+f,GAAG/X,OAAOomG,uBAAkB,EAAO,IAAI95F,EAAE/N,SAAS6B,cAAc,IAAIqE,GAAG6H,GAAGA,EAAE+oD,SAAS,WAAW,IAAI5wD,EAAElG,SAAS6B,cAAc,6DAA6DqE,GAAGA,EAAE4wD,QAAQ,CAAlH,EAAqH,EAAE5oD,EAAE,SAAShI,GAAG,IAAIsT,EAAEtT,EAAEhQ,OAAO6X,EAAE7H,EAAE4hG,mBAAmB9tF,EAAE9T,EAAE6hG,SAASpuF,EAAEzT,EAAEk+F,OAAOpyE,EAAE9rB,EAAE8hG,gBAAgBz4E,EAAErpB,EAAE+hG,cAAcvuF,EAAExT,EAAEgiG,YAAYzuF,OAAE,IAASC,EAAE,CAAC,EAAEA,EAAE4xD,EAAE7xD,EAAE0uF,MAAMn6D,OAAE,IAASs9B,EAAE,GAAGA,EAAEt6C,EAAEvX,EAAE2uF,MAAM3uG,OAAE,IAASu3B,GAAGA,EAAEhjB,EAAEyL,EAAE4uF,MAAMn6F,OAAE,IAASF,GAAGA,EAAEmM,EAAEV,EAAExG,GAAGse,OAAE,IAASpX,EAAE,GAAGA,EAAElB,EAAEQ,EAAE6uF,SAAS9jC,EAAEjzC,GAAG,sBAAsB,GAAG,SAASrrB,GAAG,QAAQlG,SAAS6B,cAAc,IAAIqE,EAAE,CAAjD,CAAmDs+D,GAAG7qD,QAAQ,CAAC,IAAIsX,EAAE,SAAS/qB,GAAG,MAAM,gBAAgBA,EAAE8hG,gBAAgB,gBAAgB,cAAc,eAAe9hG,EAAE+hG,cAAc,gBAAgB,SAAS,CAA1I,CAA4I,CAACA,cAAc14E,EAAEy4E,gBAAgBh2E,IAAIm6C,EAAEnsE,SAASC,cAAc,UAAUksE,EAAEl5D,GAAGuxD,EAAE2H,EAAE59D,IAAI0iB,EAAE,WAAWzX,GAAG,aAAaA,EAAE,WAAWzL,EAAE,KAAKiM,EAAE,OAAOA,EAAE,IAAIg0B,IAAIm+B,EAAEg8B,MAAMn6D,GAAGm+B,EAAEi8B,QAAQ3uG,EAAE0yE,EAAEk8B,QAAQn6F,EAAEi+D,EAAEx9D,OAAOgL,GAAG,SAASV,EAAEjZ,SAASO,KAAKP,SAASuoG,qBAAqB,QAAQ,IAAIxmG,YAAYoqE,EAAE,CAAC,EAAEhyD,EAAE,SAASjU,GAAoF7N,QAAQC,KAAK4N,EAAE,GAA2E8qB,IAAIA,EAAE,CAAC,IAAjEw3E,qBAAqB,oCAAgD,IAAIj3E,GAAE,mBAAE,CAACk3E,iBAAiB,WAAW,MAAMnoG,MAAM,mLAAmL,IAAiB,SAASkkE,EAAEhrD,GAAG,IAAIE,EAAEF,EAAEkvF,aAAap9B,EAAE9xD,EAAEyuF,cAAcj6D,OAAE,IAASs9B,GAAGA,EAAE7xE,EAAE+f,EAAEwuF,gBAAgB/uF,OAAE,IAASxf,GAAGA,EAAE+qE,EAAEhrD,EAAE0uF,YAAYj3E,EAAEzX,EAAEuuF,SAAS57B,EAAE3yD,EAAEzZ,UAAU4qE,EAAEnxD,EAAErjB,SAASm4E,GAAE,cAAE,MAAMxB,EAAEwB,EAAE,GAAGj+C,EAAEi+C,EAAE,GAAGrgE,GAAE,YAAEyL,GAAGkzD,EAAEp0E,KAAKE,UAAU8rE,GAAGiI,EAAEj0E,KAAKE,UAAU,MAAMyzE,OAAE,EAAOA,EAAEw8B,aAAY,gBAAE,WAAY,GAAGjvF,EAAE,CAAC,IAAIxT,GAAG,MAAMs+D,OAAE,EAAOA,EAAEvxD,KAAK,sBAAsBuG,GAAG,MAAMgrD,OAAE,EAAOA,EAAEsjC,qBAAqB,0BAAyO,OAA/MrmG,OAAO+X,GAAG,WAAW,IAAItT,EAAE8nC,EAAEvsC,OAAOmnG,WAAWC,WAAWpnG,OAAOmnG,WAAWpvF,EAAEC,EAAE,CAACqvF,MAAM,SAAS7+F,KAAK,YAAY8+F,QAAQrvF,IAAI,MAAMyyD,OAAE,EAAOA,EAAEw8B,aAAa,CAAC,GAAG16F,EAAE9S,QAAQ+K,EAAEhQ,OAAO,MAAMi2E,OAAE,EAAOA,EAAExvE,QAAQ6c,EAAE,EAAStL,EAAE,CAAChY,QAAQ,MAAMi2E,OAAE,EAAOA,EAAExvE,SAAS,WAAW+c,EAAEouF,mBAAmBtuF,EAAEyuF,cAAcj6D,EAAEg6D,gBAAgB/uF,EAAEivF,YAAY1jC,EAAEujC,SAAS92E,EAAEmzE,OAAO,WAAW,GAAG3iG,QAAQA,OAAOmnG,WAAW,CAAC,IAAI1iG,EAAE8nC,EAAEvsC,OAAOmnG,WAAWC,WAAWpnG,OAAOmnG,WAAW1iG,EAAE8iG,OAAM,WAAY34E,EAAEnqB,EAAG,GAAE,MAAMiU,EAAE,+BAA+B6W,EAAEw3E,qBAAqB,EAAExuB,QAAQ,WAAW7/D,EAAE,wCAAwC,IAAI,WAAWnM,EAAE9H,EAAE,MAAMimE,OAAE,EAAOA,EAAExvE,QAAQ,CAAC,CAACwd,EAAE,yDAA0D,GAAE,CAAC6zB,EAAE/0B,EAAE2zD,EAAEH,EAAEx7C,EAAEvX,EAAE,MAAMyyD,OAAE,EAAOA,EAAExvE,UAAU,IAAIyvE,GAAE,kBAAE,SAAUlmE,GAAG,IAAI4mE,IAAIA,EAAEm8B,QAAQ,MAAM,IAAI3oG,MAAM,oEAAoE,OAAOwsE,EAAEm8B,QAAQh7F,EAAE9S,QAAQ,CAACgJ,OAAO+B,GAAI,GAAE,CAAC4mE,EAAE7+D,IAAIu+D,GAAE,cAAE,WAAY,MAAM,CAACi8B,iBAAiB37B,EAAEV,OAAE,EAAOrsE,UAAU,MAAMosE,OAAE,EAAOA,EAAExvE,QAAS,GAAE,CAACyvE,EAAEU,EAAE,MAAMX,OAAE,EAAOA,EAAExvE,UAAU,OAAO,gBAAgB40B,EAAE3f,SAAS,CAACxb,MAAMo2E,GAAG7B,EAAE,CAAp9Cp5C,EAAE3yB,SAAm9C,IAAIqyB,EAAE,WAAW,OAAO,gBAAEM,EAAE,EAAuZ,SAASo5C,EAAEzkE,EAAEsT,GAAG,OAAOtT,EAAEsT,EAAE,CAACiG,QAAQ,CAAC,GAAGjG,EAAEiG,SAASjG,EAAEiG,OAQxrK,CAAC,IAAI6uD,EAAE,mBAAmBr0D,QAAQA,OAAOmqD,IAAI0I,EAAEwB,EAAEr0D,OAAOmqD,IAAI,iBAAiB,MAAM/zC,EAAEi+C,EAAEr0D,OAAOmqD,IAAI,gBAAgB,MAAMn2D,EAAEqgE,EAAEr0D,OAAOmqD,IAAI,kBAAkB,MAAMwI,EAAE0B,EAAEr0D,OAAOmqD,IAAI,qBAAqB,MAAMqI,EAAE6B,EAAEr0D,OAAOmqD,IAAI,kBAAkB,MAAMgI,EAAEkC,EAAEr0D,OAAOmqD,IAAI,kBAAkB,MAAMoI,EAAE8B,EAAEr0D,OAAOmqD,IAAI,iBAAiB,MAAM8H,EAAEoC,EAAEr0D,OAAOmqD,IAAI,oBAAoB,MAAMlzC,EAAEo9C,EAAEr0D,OAAOmqD,IAAI,yBAAyB,MAAM2G,EAAEuD,EAAEr0D,OAAOmqD,IAAI,qBAAqB,MAAMnyC,EAAEq8C,EAAEr0D,OAAOmqD,IAAI,kBAAkB,MAAMgH,EAAEkD,EAAEr0D,OAAOmqD,IAAI,uBAAuB,MAAMzyC,EAAE28C,EAAEr0D,OAAOmqD,IAAI,cAAc,MAAMyI,EAAEyB,EAAEr0D,OAAOmqD,IAAI,cAAc,MAAMkI,EAAEgC,EAAEr0D,OAAOmqD,IAAI,eAAe,MAAM8kC,EAAE56B,EAAEr0D,OAAOmqD,IAAI,qBAAqB,MAAMuI,EAAE2B,EAAEr0D,OAAOmqD,IAAI,mBAAmB,MAAMkJ,EAAEgB,EAAEr0D,OAAOmqD,IAAI,eAAe,MAAM,SAASmI,EAAErmE,GAAG,GAAG,iBAAiBA,GAAG,OAAOA,EAAE,CAAC,IAAIsT,EAAEtT,EAAEuhG,SAAS,OAAOjuF,GAAG,KAAKszD,EAAE,OAAO5mE,EAAEA,EAAEqZ,MAAM,KAAK2sD,EAAE,KAAKh7C,EAAE,KAAKjjB,EAAE,KAAKw+D,EAAE,KAAKG,EAAE,KAAK36C,EAAE,OAAO/rB,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEuhG,UAAU,KAAKj7B,EAAE,KAAKzB,EAAE,KAAK8B,EAAE,KAAKl7C,EAAE,KAAKy6C,EAAE,OAAOlmE,EAAE,QAAQ,OAAOsT,GAAG,KAAK6W,EAAE,OAAO7W,EAAE,CAAC,CAAC,SAASkzD,EAAExmE,GAAG,OAAOqmE,EAAErmE,KAAKgrB,CAAC,CAAC,IAAIoB,EAAE,CAAC62E,UAAUj9B,EAAEk9B,eAAel4E,EAAEm4E,gBAAgB78B,EAAE88B,gBAAgBl9B,EAAEpwC,QAAQ8wC,EAAEy8B,WAAWx+B,EAAEzhC,SAASr7B,EAAEu7F,KAAK38B,EAAE48B,KAAK93E,EAAE3vB,OAAOquB,EAAEq5E,SAASj9B,EAAEk9B,WAAW/8B,EAAEg9B,SAAS33E,EAAE43E,YAAY,SAAS3jG,GAAG,OAAOwmE,EAAExmE,IAAIqmE,EAAErmE,KAAKgmE,CAAC,EAAE49B,iBAAiBp9B,EAAEq9B,kBAAkB,SAAS7jG,GAAG,OAAOqmE,EAAErmE,KAAKsmE,CAAC,EAAEw9B,kBAAkB,SAAS9jG,GAAG,OAAOqmE,EAAErmE,KAAKkmE,CAAC,EAAE69B,UAAU,SAAS/jG,GAAG,MAAM,iBAAiBA,GAAG,OAAOA,GAAGA,EAAEuhG,WAAW36B,CAAC,EAAEo9B,aAAa,SAAShkG,GAAG,OAAOqmE,EAAErmE,KAAK6kE,CAAC,EAAEo/B,WAAW,SAASjkG,GAAG,OAAOqmE,EAAErmE,KAAK+H,CAAC,EAAEm8F,OAAO,SAASlkG,GAAG,OAAOqmE,EAAErmE,KAAK2mE,CAAC,EAAEw9B,OAAO,SAASnkG,GAAG,OAAOqmE,EAAErmE,KAAKyrB,CAAC,EAAE24E,SAAS,SAASpkG,GAAG,OAAOqmE,EAAErmE,KAAKmqB,CAAC,EAAEk6E,WAAW,SAASrkG,GAAG,OAAOqmE,EAAErmE,KAAKumE,CAAC,EAAE+9B,aAAa,SAAStkG,GAAG,OAAOqmE,EAAErmE,KAAK0mE,CAAC,EAAE69B,WAAW,SAASvkG,GAAG,OAAOqmE,EAAErmE,KAAK+rB,CAAC,EAAEy4E,mBAAmB,SAASxkG,GAAG,MAAM,iBAAiBA,GAAG,mBAAmBA,GAAGA,IAAI+H,GAAG/H,IAAIgrB,GAAGhrB,IAAIumE,GAAGvmE,IAAI0mE,GAAG1mE,IAAI+rB,GAAG/rB,IAAIklE,GAAG,iBAAiBllE,GAAG,OAAOA,IAAIA,EAAEuhG,WAAW56B,GAAG3mE,EAAEuhG,WAAW91E,GAAGzrB,EAAEuhG,WAAWr7B,GAAGlmE,EAAEuhG,WAAWj7B,GAAGtmE,EAAEuhG,WAAW18B,GAAG7kE,EAAEuhG,WAAWyB,GAAGhjG,EAAEuhG,WAAW96B,GAAGzmE,EAAEuhG,WAAWn6B,GAAGpnE,EAAEuhG,WAAWn7B,EAAE,EAAEq+B,OAAOp+B,GAAGiB,EAAE7C,GAAE,SAAUzkE,EAAEsT,GAAq4E,IAAG4zD,GAAGI,EAAE27B,UAAU37B,EAAE47B,eAAe57B,EAAE67B,gBAAgB77B,EAAE87B,gBAAgB97B,EAAExxC,QAAQwxC,EAAE+7B,WAAW/7B,EAAElkC,SAASkkC,EAAEg8B,KAAKh8B,EAAEi8B,KAAKj8B,EAAExrE,OAAOwrE,EAAEk8B,SAASl8B,EAAEm8B,WAAWn8B,EAAEo8B,SAASp8B,EAAEq8B,YAAYr8B,EAAEs8B,iBAAiBt8B,EAAEu8B,kBAAkBv8B,EAAEw8B,kBAAkBx8B,EAAEy8B,UAAUz8B,EAAE08B,aAAa18B,EAAE28B,WAAW38B,EAAE48B,OAAO58B,EAAE68B,OAAO78B,EAAE88B,SAAS98B,EAAE+8B,WAAW/8B,EAAEg9B,aAAah9B,EAAEi9B,WAAWj9B,EAAEk9B,mBAAmBl9B,EAAEm9B,OAAOhgC,GAAE,SAAUzkE,GAAuCA,EAAEuZ,QAAQ6S,CAAc,KAAiW04C,EAAE,CAAC,EAAsDA,EAAEoC,EAAEm8B,YAAY,CAAC9B,UAAS,EAAGvxG,QAAO,EAAGuE,cAAa,EAAGxC,aAAY,EAAG8+C,WAAU,GAAIi0B,EAAEoC,EAAEq8B,MAA9N,CAAChC,UAAS,EAAGmD,SAAQ,EAAGnwG,cAAa,EAAGxC,aAAY,EAAG8+C,WAAU,EAAGx3B,MAAK,GAAmKlmB,OAAOuhB,eAAiBvhB,OAAOo0E,oBAAsBp0E,OAAOwgB,sBAAyBxgB,OAAOm2B,yBAA4Bn2B,OAAO4xE,eAAkB5xE,OAAOhC,wCChBlgL,IAAIk0C,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAE3P0kG,EAAe,WAAc,SAAS77C,EAAiB7oD,EAAQ3Q,GAAS,IAAK,IAAIkkB,EAAI,EAAGA,EAAIlkB,EAAMkE,OAAQggB,IAAK,CAAE,IAAI+gF,EAAajlG,EAAMkkB,GAAI+gF,EAAW5rC,WAAa4rC,EAAW5rC,aAAc,EAAO4rC,EAAW9uB,cAAe,EAAU,UAAW8uB,IAAYA,EAAW/uB,UAAW,GAAMryE,OAAOuhB,eAAezU,EAAQs0F,EAAWvoF,IAAKuoF,EAAa,CAAE,CAAE,OAAO,SAAU1W,EAAa2W,EAAYC,GAAiJ,OAA9HD,GAAY1rC,EAAiB+0B,EAAY1sF,UAAWqjG,GAAiBC,GAAa3rC,EAAiB+0B,EAAa4W,GAAqB5W,CAAa,CAAG,CAA7hB,GAEfnqD,EAAS,EAAQ,OAEjBqrD,EAAU55C,EAAuBzR,GAIjC+pD,EAAct4C,EAFD,EAAQ,QAIzB,SAASA,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAU9F,IAAI42F,EAAa,CAChBzvG,SAAU,WACVC,IAAK,EACLC,KAAM,EACNwvG,WAAY,SACZ7lG,OAAQ,EACR+a,SAAU,SACVE,WAAY,OAGT6qF,EAAwB,CAAC,aAAc,eAAgB,iBAAkB,WAAY,aAAc,WAAY,aAAc,yBAS7HC,EAAa,SAAoBjuG,EAAQnC,GAC5CA,EAAKsD,MAAMoiB,SAAWvjB,EAAOujB,SAC7B1lB,EAAKsD,MAAMkwB,WAAarxB,EAAOqxB,WAC/BxzB,EAAKsD,MAAM+jB,WAAallB,EAAOklB,WAC/BrnB,EAAKsD,MAAM8jB,UAAYjlB,EAAOilB,UAC9BpnB,EAAKsD,MAAM+sG,cAAgBluG,EAAOkuG,cAClCrwG,EAAKsD,MAAMgtG,cAAgBnuG,EAAOmuG,aACnC,EAEItS,IAAyB,oBAAXp3F,SAA0BA,OAAOwkB,YAAY,yBAAyBjD,KAAKvhB,OAAOwkB,UAAUC,WAE1GklF,EAAa,WAGhB,OAAOvS,EAAO,IAAM35D,KAAKyoB,SAAS9F,SAAS,IAAIwhC,OAAO,EAAG,SAAMvnF,CAChE,EAEIuvG,EAAgB,SAAUrsE,GAY7B,SAASqsE,EAAc71G,IAtDxB,SAAyBsuF,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAI3pE,UAAU,oCAAwC,CAuDtJypE,CAAgBnuF,KAAM21G,GAEtB,IAAIv0G,EAvDN,SAAoCmlE,EAAMllE,GAAQ,IAAKklE,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOnlE,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BklE,EAAPllE,CAAa,CAuDjOitF,CAA2BtuF,MAAO21G,EAAclyF,WAAa9f,OAAO4xE,eAAeogC,IAAgBt0G,KAAKrB,KAAMF,IAsB1H,OApBAsB,EAAMihC,SAAW,SAAU4Y,GAC1B75C,EAAM2rE,MAAQ9xB,EACsB,mBAAzB75C,EAAMtB,MAAMuiC,UACtBjhC,EAAMtB,MAAMuiC,SAAS4Y,EAEvB,EAEA75C,EAAMw0G,oBAAsB,SAAU36D,GACrC75C,EAAMy0G,iBAAmB56D,CAC1B,EAEA75C,EAAM00G,SAAW,SAAU76D,GAC1B75C,EAAM20G,MAAQ96D,CACf,EAEA75C,EAAMM,MAAQ,CACbs0G,WAAYl2G,EAAMm2G,SAClBC,QAASp2G,EAAMyd,IAAMm4F,IACrBS,OAAQr2G,EAAMyd,IAERnc,CACR,CA2IA,OAvND,SAAmBygE,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIp9C,UAAU,kEAAoEo9C,GAAeD,EAASlgE,UAAYgC,OAAOigB,OAAOk+C,GAAcA,EAAWngE,UAAW,CAAE9B,YAAa,CAAEa,MAAOmhE,EAAU1I,YAAY,EAAO6c,UAAU,EAAMC,cAAc,KAAenU,IAAYn+D,OAAO6f,eAAiB7f,OAAO6f,eAAeq+C,EAAUC,GAAcD,EAASp+C,UAAYq+C,EAAY,CAuC5eysB,CAAUonB,EAAersE,GAEzB6rE,EAAaQ,EAAe,KAAM,CAAC,CAClCn5F,IAAK,2BACL9b,MAAO,SAAkCZ,EAAO4B,GAC/C,IAAI6b,EAAKzd,EAAMyd,GAEf,OAAOA,IAAO7b,EAAMy0G,OAAS,CAAED,QAAS34F,GAAMm4F,IAAcS,OAAQ54F,GAAO,IAC5E,KA+BD43F,EAAaQ,EAAe,CAAC,CAC5Bn5F,IAAK,oBACL9b,MAAO,WACNV,KAAKy4D,SAAU,EACfz4D,KAAKo2G,kBACLp2G,KAAKq2G,kBACN,GACE,CACF75F,IAAK,qBACL9b,MAAO,SAA4BuH,EAAWC,GACzCA,EAAU8tG,aAAeh2G,KAAK0B,MAAMs0G,YACF,mBAA1Bh2G,KAAKF,MAAMw2G,YACrBt2G,KAAKF,MAAMw2G,WAAWt2G,KAAK0B,MAAMs0G,YAGnCh2G,KAAKq2G,kBACN,GACE,CACF75F,IAAK,uBACL9b,MAAO,WACNV,KAAKy4D,SAAU,CAChB,GACE,CACFj8C,IAAK,kBACL9b,MAAO,WACN,GAAKV,KAAKy4D,SAAY1sD,OAAOkuC,iBAA7B,CAGA,IAAIs8D,EAAcv2G,KAAK+sE,OAAShhE,OAAOkuC,iBAAiBj6C,KAAK+sE,OACxDwpC,IAGLhB,EAAWgB,EAAav2G,KAAK+1G,OACzB/1G,KAAK61G,kBACRN,EAAWgB,EAAav2G,KAAK61G,kBAP9B,CASD,GACE,CACFr5F,IAAK,mBACL9b,MAAO,WACN,GAAKV,KAAKy4D,SAAYz4D,KAAK+1G,YAA2C,IAA3B/1G,KAAK+1G,MAAMS,YAAtD,CAGA,IAAIC,OAAgB,EAEnBA,EADGz2G,KAAKF,MAAM0/D,eAAiBx/D,KAAKF,MAAMY,OAASV,KAAKF,MAAMY,OAASV,KAAKF,MAAM42G,uBAClEltE,KAAKqB,IAAI7qC,KAAK+1G,MAAMS,YAAax2G,KAAK61G,iBAAiBW,aAAe,EAEtEx2G,KAAK+1G,MAAMS,YAAc,GAI1CC,GADqC,WAApBz2G,KAAKF,MAAM+pB,WAA+CzjB,IAA1BpG,KAAKF,MAAM62G,WAA2B,GAAK3wB,SAAShmF,KAAKF,MAAM62G,aAAe,GAE3G32G,KAAKF,MAAMm2G,WAC9BQ,EAAgBz2G,KAAKF,MAAMm2G,UAExBQ,IAAkBz2G,KAAK0B,MAAMs0G,YAChCh2G,KAAK4G,SAAS,CACbovG,WAAYS,GAfd,CAkBD,GACE,CACFj6F,IAAK,WACL9b,MAAO,WACN,OAAOV,KAAK+sE,KACb,GACE,CACFvwD,IAAK,QACL9b,MAAO,WACNV,KAAK+sE,MAAM7xD,OACZ,GACE,CACFsB,IAAK,OACL9b,MAAO,WACNV,KAAK+sE,MAAM9xD,MACZ,GACE,CACFuB,IAAK,SACL9b,MAAO,WACNV,KAAK+sE,MAAM5M,QACZ,GACE,CACF3jD,IAAK,eACL9b,MAAO,WAIN,IAAIk2G,EAAe52G,KAAKF,MAAM82G,aAE9B,OAAOzT,GAAQyT,EAAernB,EAAQ1nE,QAAQtd,cAAc,QAAS,CAAEy5B,wBAAyB,CAC9FC,OAAQ,SAAWjkC,KAAK0B,MAAMw0G,QAAU,kCAClC,IACT,GACE,CACF15F,IAAK,SACL9b,MAAO,WACN,IAAIm2G,EAAa,CAAC72G,KAAKF,MAAM6tD,aAAc3tD,KAAKF,MAAMY,MAAO,IAAIyD,QAAO,SAAU2yG,EAAeC,GAChG,OAAID,QACIA,EAEDC,CACR,IAEIC,EAAenhE,EAAS,CAAC,EAAG71C,KAAKF,MAAM2I,OACtCuuG,EAAahgG,UAASggG,EAAahgG,QAAU,gBAElD,IAAIigG,EAAaphE,EAAS,CACzBvpB,UAAW,cACX/c,MAAOvP,KAAK0B,MAAMs0G,WAAa,MAC7Bh2G,KAAKF,MAAMm3G,YAEVC,EAnMP,SAAkC14F,EAAK5a,GAAQ,IAAI6M,EAAS,CAAC,EAAG,IAAK,IAAIuT,KAAKxF,EAAW5a,EAAK4X,QAAQwI,IAAM,GAAkBrgB,OAAOhC,UAAUuJ,eAAe7J,KAAKmd,EAAKwF,KAAcvT,EAAOuT,GAAKxF,EAAIwF,IAAM,OAAOvT,CAAQ,CAmMvM0mG,CAAyBn3G,KAAKF,MAAO,IAOtD,OAtLmB,SAAyBo3G,GAC9C5B,EAAsBryG,SAAQ,SAAUgwF,GACvC,cAAcikB,EAAWjkB,EAC1B,GAED,CA4KGmkB,CAAgBF,GAChBA,EAAWjkG,UAAYjT,KAAKF,MAAMu3G,eAClCH,EAAW35F,GAAKvd,KAAK0B,MAAMw0G,QAC3BgB,EAAWzuG,MAAQwuG,EAEZ1nB,EAAQ1nE,QAAQtd,cACtB,MACA,CAAE0I,UAAWjT,KAAKF,MAAMmT,UAAWxK,MAAOuuG,GAC1Ch3G,KAAKs3G,eACL/nB,EAAQ1nE,QAAQtd,cAAc,QAASsrC,EAAS,CAAC,EAAGqhE,EAAY,CAAEh1G,IAAKlC,KAAKqiC,YAC5EktD,EAAQ1nE,QAAQtd,cACf,MACA,CAAErI,IAAKlC,KAAK81G,SAAUrtG,MAAO2sG,GAC7ByB,GAED72G,KAAKF,MAAM0/D,YAAc+vB,EAAQ1nE,QAAQtd,cACxC,MACA,CAAErI,IAAKlC,KAAK41G,oBAAqBntG,MAAO2sG,GACxCp1G,KAAKF,MAAM0/D,aACR,KAEN,KAGMm2C,CACR,CAlLoB,CAkLlBzxE,EAAOtkC,WAET+1G,EAAct0D,UAAY,CACzBpuC,UAAWg7E,EAAYpmE,QAAQwlD,OAC/B1f,aAAcsgC,EAAYpmE,QAAQ0vF,IAClCZ,WAAY1oB,EAAYpmE,QAAQ2vF,UAAU,CAC1CvpB,EAAYpmE,QAAQmqF,OAAQ/jB,EAAYpmE,QAAQwlD,SAChD9vD,GAAI0wE,EAAYpmE,QAAQwlD,OACxBupC,aAAc3oB,EAAYpmE,QAAQ4vF,KAClCJ,eAAgBppB,EAAYpmE,QAAQwlD,OACpChrC,SAAU4rD,EAAYpmE,QAAQ6vF,KAC9BT,WAAYhpB,EAAYpmE,QAAQkxC,OAChCk9C,SAAUhoB,EAAYpmE,QAAQ2vF,UAAU,CACxCvpB,EAAYpmE,QAAQmqF,OAAQ/jB,EAAYpmE,QAAQwlD,SAChDipC,WAAYroB,EAAYpmE,QAAQ6vF,KAChCx1E,SAAU+rD,EAAYpmE,QAAQ6vF,KAC9Bl4C,YAAayuB,EAAYpmE,QAAQwlD,OACjCqpC,sBAAuBzoB,EAAYpmE,QAAQ4vF,KAC3ChvG,MAAOwlF,EAAYpmE,QAAQkxC,OAC3Br4D,MAAOutF,EAAYpmE,QAAQ0vF,KAE5B5B,EAAc5wG,aAAe,CAC5BkxG,SAAU,EACVW,cAAc,GAGf7sF,EAAQ,EAAU4rF,gCCrQlB,SAASgC,IAEP,IAAIj2G,EAAQ1B,KAAKH,YAAY64D,yBAAyB14D,KAAKF,MAAOE,KAAK0B,OACnEA,SACF1B,KAAK4G,SAASlF,EAElB,CAEA,SAASutF,EAA0B5kD,GAQjCrqC,KAAK4G,SALL,SAAiBsB,GACf,IAAIxG,EAAQ1B,KAAKH,YAAY64D,yBAAyBruB,EAAWniC,GACjE,OAAOxG,QAAwCA,EAAQ,IACzD,EAEsBs/B,KAAKhhC,MAC7B,CAEA,SAAS43G,EAAoBvtE,EAAWw7B,GACtC,IACE,IAAI59D,EAAYjI,KAAKF,MACjBoI,EAAYlI,KAAK0B,MACrB1B,KAAKF,MAAQuqC,EACbrqC,KAAK0B,MAAQmkE,EACb7lE,KAAK63G,6BAA8B,EACnC73G,KAAK83G,wBAA0B93G,KAAK+3G,wBAClC9vG,EACAC,EAEJ,CAAE,QACAlI,KAAKF,MAAQmI,EACbjI,KAAK0B,MAAQwG,CACf,CACF,CAQA,SAASi+D,EAASvmE,GAChB,IAAI+B,EAAY/B,EAAU+B,UAE1B,IAAKA,IAAcA,EAAUq2G,iBAC3B,MAAM,IAAIptG,MAAM,sCAGlB,GACgD,mBAAvChL,EAAU84D,0BAC4B,mBAAtC/2D,EAAUo2G,wBAEjB,OAAOn4G,EAMT,IAAIq4G,EAAqB,KACrBC,EAA4B,KAC5BC,EAAsB,KAgB1B,GAf4C,mBAAjCx2G,EAAUg2G,mBACnBM,EAAqB,qBACmC,mBAAxCt2G,EAAU2c,4BAC1B25F,EAAqB,6BAE4B,mBAAxCt2G,EAAUstF,0BACnBipB,EAA4B,4BACmC,mBAA/Cv2G,EAAU61B,mCAC1B0gF,EAA4B,oCAEe,mBAAlCv2G,EAAUi2G,oBACnBO,EAAsB,sBACmC,mBAAzCx2G,EAAUy2G,6BAC1BD,EAAsB,8BAGC,OAAvBF,GAC8B,OAA9BC,GACwB,OAAxBC,EACA,CACA,IAAIvpG,EAAgBhP,EAAU2C,aAAe3C,EAAU4C,KACnD61G,EAC4C,mBAAvCz4G,EAAU84D,yBACb,6BACA,4BAEN,MAAM9tD,MACJ,2FACEgE,EACA,SACAypG,EACA,uDACwB,OAAvBJ,EAA8B,OAASA,EAAqB,KAC9B,OAA9BC,EACG,OAASA,EACT,KACqB,OAAxBC,EAA+B,OAASA,EAAsB,IATjE,uIAaJ,CAaA,GARkD,mBAAvCv4G,EAAU84D,2BACnB/2D,EAAUg2G,mBAAqBA,EAC/Bh2G,EAAUstF,0BAA4BA,GAMS,mBAAtCttF,EAAUo2G,wBAAwC,CAC3D,GAA4C,mBAAjCp2G,EAAUqG,mBACnB,MAAM,IAAI4C,MACR,qHAIJjJ,EAAUi2G,oBAAsBA,EAEhC,IAAI5vG,EAAqBrG,EAAUqG,mBAEnCrG,EAAUqG,mBAAqB,SAC7BC,EACAC,EACAowG,GAUA,IAAIC,EAAWv4G,KAAK63G,4BAChB73G,KAAK83G,wBACLQ,EAEJtwG,EAAmB3G,KAAKrB,KAAMiI,EAAWC,EAAWqwG,EACtD,CACF,CAEA,OAAO34G,CACT,gCA9GA+3G,EAAmBa,8BAA+B,EAClDvpB,EAA0BupB,8BAA+B,EACzDZ,EAAoBY,8BAA+B,gCC7CnD70G,OAAOuhB,eAAe6E,EAAS,aAAc,CAC3CrpB,OAAO,IAGT,IAAIy0G,EAAe,WAAc,SAAS77C,EAAiB7oD,EAAQ3Q,GAAS,IAAK,IAAIkkB,EAAI,EAAGA,EAAIlkB,EAAMkE,OAAQggB,IAAK,CAAE,IAAI+gF,EAAajlG,EAAMkkB,GAAI+gF,EAAW5rC,WAAa4rC,EAAW5rC,aAAc,EAAO4rC,EAAW9uB,cAAe,EAAU,UAAW8uB,IAAYA,EAAW/uB,UAAW,GAAMryE,OAAOuhB,eAAezU,EAAQs0F,EAAWvoF,IAAKuoF,EAAa,CAAE,CAAE,OAAO,SAAU1W,EAAa2W,EAAYC,GAAiJ,OAA9HD,GAAY1rC,EAAiB+0B,EAAY1sF,UAAWqjG,GAAiBC,GAAa3rC,EAAiB+0B,EAAa4W,GAAqB5W,CAAa,CAAG,CAA7hB,GAEfnqD,EAAS,EAAQ,OAEjB0+B,EAAY,EAAQ,OAQpB61C,EAAe,SAAUnvE,GAG3B,SAASmvE,IAGP,OAZJ,SAAyBrqB,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAI3pE,UAAU,oCAAwC,CAUpJypE,CAAgBnuF,KAAMy4G,GAR1B,SAAoClyC,EAAMllE,GAAQ,IAAKklE,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOnlE,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BklE,EAAPllE,CAAa,CAUpOitF,CAA2BtuF,MAAOy4G,EAAah1F,WAAa9f,OAAO4xE,eAAekjC,IAAe5zG,MAAM7E,KAAM2E,WACtH,CAmBA,OA5BF,SAAmBk9D,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIp9C,UAAU,kEAAoEo9C,GAAeD,EAASlgE,UAAYgC,OAAOigB,OAAOk+C,GAAcA,EAAWngE,UAAW,CAAE9B,YAAa,CAAEa,MAAOmhE,EAAU1I,YAAY,EAAO6c,UAAU,EAAMC,cAAc,KAAenU,IAAYn+D,OAAO6f,eAAiB7f,OAAO6f,eAAeq+C,EAAUC,GAAcD,EAASp+C,UAAYq+C,EAAY,CAG3eysB,CAAUkqB,EAAcnvE,GAQxB6rE,EAAasD,EAAc,CAAC,CAC1Bj8F,IAAK,oBACL9b,MAAO,WACLV,KAAKF,MAAMyG,UAAS,EAAIq8D,EAAU5wB,aAAahyC,MACjD,GACC,CACDwc,IAAK,uBACL9b,MAAO,WACLV,KAAKF,MAAMyG,SAAS,KACtB,GACC,CACDiW,IAAK,SACL9b,MAAO,WACL,OAAOV,KAAKF,MAAMW,QACpB,KAGKg4G,CACT,CA3BmB,CA2BjBv0E,EAAOtkC,WAETmqB,EAAA,QAAkB0uF,gCCzClB,IAAIC,EAAgB,EAAQ,OAE5B/0G,OAAOuhB,eAAe6E,EAAS,IAA/B,CACEovC,YAAY,EACZ17B,IAAK,WACH,OAI4Bjf,EAJEk6F,EAIYl6F,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,IAJtCqJ,QAIjD,IAAgCrJ,CAH9B,qFCXSvZ,EAA8B,kBAC9B0zG,EAAoC,kBACxC,SAASvjD,EAAQnsD,GACtB,IAAIxI,EAAWwI,EAAKxI,SAEhB4zD,EAAkB,WAAe,MACjClrD,EAAgBkrD,EAAgB,GAChCukD,EAAmBvkD,EAAgB,GAEnCwkD,EAAe,UAAa,GAChC,aAAgB,WACd,OAAO,WACLA,EAAapzG,SAAU,CACzB,CACF,GAAG,IACH,IAAIqzG,EAAyB,eAAkB,SAAU3zG,GAClD0zG,EAAapzG,SAChBmzG,EAAiBzzG,EAErB,GAAG,IACH,OAAoB,gBAAoBF,EAA4BiX,SAAU,CAC5Exb,MAAOyI,GACO,gBAAoBwvG,EAAkCz8F,SAAU,CAC9Exb,MAAOo4G,GACNr4G,GACL,qGCpBWs4G,EAAc,SAAqBzwG,GAC5C,OAAOhD,MAAMiD,QAAQD,GAAOA,EAAI,GAAKA,CACvC,EAMW9C,EAAa,SAAoBJ,GAC1C,GAAkB,mBAAPA,EAAmB,CAC5B,IAAK,IAAIC,EAAOV,UAAUX,OAAQS,EAAO,IAAIa,MAAMD,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGd,EAAKc,EAAO,GAAKZ,UAAUY,GAG7B,OAAOH,EAAGP,WAAM,EAAQJ,EAC1B,CACF,EAKWS,EAAS,SAAgBhD,EAAKiD,GAEvC,GAAmB,mBAARjD,EACT,OAAOsD,EAAWtD,EAAKiD,GAET,MAAPjD,IACLA,EAAIuD,QAAUN,EAEpB,EAKW6zG,EAAc,SAAqB/8D,GAC5C,OAAOA,EAAQ93C,QAAO,SAAU4G,EAAK9B,GACnC,IAAIuT,EAAMvT,EAAK,GACXvI,EAAQuI,EAAK,GAEjB,OADA8B,EAAIyR,GAAO9b,EACJqK,CACT,GAAG,CAAC,EACN,EAKWkuG,EAA8C,oBAAXltG,QAA0BA,OAAOzB,UAAYyB,OAAOzB,SAASC,cAAgB,kBAAwB,sBClDnJ,IAAI+mG,EAAoC,oBAAZhrE,QACxB4yE,EAAwB,mBAARt8D,IAChBu8D,EAAwB,mBAARrjC,IAChBsjC,EAAwC,mBAAhBC,eAAgCA,YAAYC,OAIxE,SAAS/H,EAAMj1E,EAAG/Y,GAEhB,GAAI+Y,IAAM/Y,EAAG,OAAO,EAEpB,GAAI+Y,GAAK/Y,GAAiB,iBAAL+Y,GAA6B,iBAAL/Y,EAAe,CAC1D,GAAI+Y,EAAEz8B,cAAgB0jB,EAAE1jB,YAAa,OAAO,EAE5C,IAAImE,EAAQggB,EAAGpgB,EA6BX21G,EA5BJ,GAAIj0G,MAAMiD,QAAQ+zB,GAAI,CAEpB,IADAt4B,EAASs4B,EAAEt4B,SACGuf,EAAEvf,OAAQ,OAAO,EAC/B,IAAKggB,EAAIhgB,EAAgB,GAARggB,KACf,IAAKutF,EAAMj1E,EAAEtY,GAAIT,EAAES,IAAK,OAAO,EACjC,OAAO,CACT,CAuBA,GAAIk1F,GAAW58E,aAAasgB,KAASr5B,aAAaq5B,IAAM,CACtD,GAAItgB,EAAE/nB,OAASgP,EAAEhP,KAAM,OAAO,EAE9B,IADAglG,EAAKj9E,EAAE2f,YACEj4B,EAAIu1F,EAAGz6F,QAAQC,UACjBwE,EAAEia,IAAIxZ,EAAEtjB,MAAM,IAAK,OAAO,EAEjC,IADA64G,EAAKj9E,EAAE2f,YACEj4B,EAAIu1F,EAAGz6F,QAAQC,UACjBwyF,EAAMvtF,EAAEtjB,MAAM,GAAI6iB,EAAEka,IAAIzZ,EAAEtjB,MAAM,KAAM,OAAO,EACpD,OAAO,CACT,CAEA,GAAIy4G,GAAW78E,aAAaw5C,KAASvyD,aAAauyD,IAAM,CACtD,GAAIx5C,EAAE/nB,OAASgP,EAAEhP,KAAM,OAAO,EAE9B,IADAglG,EAAKj9E,EAAE2f,YACEj4B,EAAIu1F,EAAGz6F,QAAQC,UACjBwE,EAAEia,IAAIxZ,EAAEtjB,MAAM,IAAK,OAAO,EACjC,OAAO,CACT,CAGA,GAAI04G,GAAkBC,YAAYC,OAAOh9E,IAAM+8E,YAAYC,OAAO/1F,GAAI,CAEpE,IADAvf,EAASs4B,EAAEt4B,SACGuf,EAAEvf,OAAQ,OAAO,EAC/B,IAAKggB,EAAIhgB,EAAgB,GAARggB,KACf,GAAIsY,EAAEtY,KAAOT,EAAES,GAAI,OAAO,EAC5B,OAAO,CACT,CAEA,GAAIsY,EAAEz8B,cAAgBshE,OAAQ,OAAO7kC,EAAEwS,SAAWvrB,EAAEurB,QAAUxS,EAAEk9E,QAAUj2F,EAAEi2F,MAK5E,GAAIl9E,EAAEm9E,UAAY91G,OAAOhC,UAAU83G,SAAgC,mBAAdn9E,EAAEm9E,SAA+C,mBAAdl2F,EAAEk2F,QAAwB,OAAOn9E,EAAEm9E,YAAcl2F,EAAEk2F,UAC3I,GAAIn9E,EAAE6vB,WAAaxoD,OAAOhC,UAAUwqD,UAAkC,mBAAf7vB,EAAE6vB,UAAiD,mBAAf5oC,EAAE4oC,SAAyB,OAAO7vB,EAAE6vB,aAAe5oC,EAAE4oC,WAKhJ,IADAnoD,GADAJ,EAAOD,OAAOC,KAAK04B,IACLt4B,UACCL,OAAOC,KAAK2f,GAAGvf,OAAQ,OAAO,EAE7C,IAAKggB,EAAIhgB,EAAgB,GAARggB,KACf,IAAKrgB,OAAOhC,UAAUuJ,eAAe7J,KAAKkiB,EAAG3f,EAAKogB,IAAK,OAAO,EAKhE,GAAIstF,GAAkBh1E,aAAagK,QAAS,OAAO,EAGnD,IAAKtiB,EAAIhgB,EAAgB,GAARggB,KACf,IAAiB,WAAZpgB,EAAKogB,IAA+B,QAAZpgB,EAAKogB,IAA4B,QAAZpgB,EAAKogB,KAAiBsY,EAAEy1E,YAarER,EAAMj1E,EAAE14B,EAAKogB,IAAKT,EAAE3f,EAAKogB,KAAM,OAAO,EAK7C,OAAO,CACT,CAEA,OAAOsY,GAAMA,GAAK/Y,GAAMA,CAC1B,CAGAw9C,EAAOh3C,QAAU,SAAiBuS,EAAG/Y,GACnC,IACE,OAAOguF,EAAMj1E,EAAG/Y,EAClB,CAAE,MAAOtE,GACP,IAAMA,EAAMtU,SAAW,IAAI6mE,MAAM,oBAO/B,OADA7uE,QAAQC,KAAK,mDACN,EAGT,MAAMqc,CACR,CACF,gGClEA,SAASy6F,EAAczwG,GACrB,IAAI,SACF0wG,EAAQ,SACRl5G,EAAQ,OACRsL,GACE9C,EACA2wG,GAAa,IAAAx0F,UAES,MAAtBw0F,EAAWn0G,UACbm0G,EAAWn0G,SAAU,QAAqB,CACxCsG,YAIJ,IAAIyxF,EAAUoc,EAAWn0G,SACpB/D,EAAOkF,IAAY,IAAA+wC,UAAS,CAC/BlpC,OAAQ+uF,EAAQ/uF,OAChBkvF,SAAUH,EAAQG,WAGpB,OADA,IAAAl3C,kBAAgB,IAAM+2C,EAAQqC,OAAOj5F,IAAW,CAAC42F,KAC7B,IAAAjzF,eAAc,KAAQ,CACxCovG,SAAUA,EACVl5G,SAAUA,EACVk9F,SAAUj8F,EAAMi8F,SAChBkc,eAAgBn4G,EAAM+M,OACtB8hB,UAAWitE,GAEf,CAMA,SAASsc,EAAWjuE,GAClB,IAAI,SACF8tE,EAAQ,SACRl5G,EAAQ,OACRsL,GACE8/B,EACA+tE,GAAa,IAAAx0F,UAES,MAAtBw0F,EAAWn0G,UACbm0G,EAAWn0G,SAAU,QAAkB,CACrCsG,YAIJ,IAAIyxF,EAAUoc,EAAWn0G,SACpB/D,EAAOkF,IAAY,IAAA+wC,UAAS,CAC/BlpC,OAAQ+uF,EAAQ/uF,OAChBkvF,SAAUH,EAAQG,WAGpB,OADA,IAAAl3C,kBAAgB,IAAM+2C,EAAQqC,OAAOj5F,IAAW,CAAC42F,KAC7B,IAAAjzF,eAAc,KAAQ,CACxCovG,SAAUA,EACVl5G,SAAUA,EACVk9F,SAAUj8F,EAAMi8F,SAChBkc,eAAgBn4G,EAAM+M,OACtB8hB,UAAWitE,GAEf,yHCtHA,MAAMuc,GAAiC,IAAAz3F,eAAc,MAM/C03F,GAA+B,IAAA13F,eAAc,MAM7C23F,GAA4B,IAAA33F,eAAc,CAC9C43F,OAAQ,KACR3mD,QAAS,KAOX,SAAS4mD,EAAUC,EAAMzvG,GACvB,IAAKyvG,EAAM,MAAM,IAAIxvG,MAAMD,EAC7B,CAgDA,SAAS0vG,EAAYC,EAAQC,EAAaZ,QACvB,IAAbA,IACFA,EAAW,KAGb,IACI/b,EAAW4c,GADuB,iBAAhBD,GAA2B,QAAUA,GAAeA,GACpC3c,UAAY,IAAK+b,GAEvD,GAAgB,MAAZ/b,EACF,OAAO,KAGT,IAAI6c,EAAWC,EAAcJ,IA8D/B,SAA2BG,GACzBA,EAASlhE,MAAK,CAACjd,EAAG/Y,IAAM+Y,EAAEq+E,QAAUp3F,EAAEo3F,MAAQp3F,EAAEo3F,MAAQr+E,EAAEq+E,MA4B5D,SAAwBr+E,EAAG/Y,GAEzB,OADe+Y,EAAEt4B,SAAWuf,EAAEvf,QAAUs4B,EAAEukB,MAAM,GAAI,GAAG+5D,OAAM,CAAC32F,EAAGD,IAAMC,IAAMV,EAAES,KAK/EsY,EAAEA,EAAEt4B,OAAS,GAAKuf,EAAEA,EAAEvf,OAAS,GAE/B,CACF,CApCI62G,CAAev+E,EAAEw+E,WAAW5nE,KAAI6rC,GAAQA,EAAKg8B,gBAAgBx3F,EAAEu3F,WAAW5nE,KAAI6rC,GAAQA,EAAKg8B,kBAC/F,CAhEEC,CAAkBP,GAClB,IAAIlnD,EAAU,KAEd,IAAK,IAAIvvC,EAAI,EAAc,MAAXuvC,GAAmBvvC,EAAIy2F,EAASz2G,SAAUggB,EACxDuvC,EAAU0nD,EAAiBR,EAASz2F,GAAI45E,GAG1C,OAAOrqC,CACT,CAEA,SAASmnD,EAAcJ,EAAQG,EAAUS,EAAaC,GAgDpD,YA/CiB,IAAbV,IACFA,EAAW,SAGO,IAAhBS,IACFA,EAAc,SAGG,IAAfC,IACFA,EAAa,IAGfb,EAAOr3G,SAAQ,CAACm4G,EAAOvpE,KACrB,IAAIktC,EAAO,CACTs8B,aAAcD,EAAMziC,MAAQ,GAC5B2iC,eAAuC,IAAxBF,EAAME,cACrBP,cAAelpE,EACfupE,SAGEr8B,EAAKs8B,aAAaE,WAAW,OAC9Bx8B,EAAKs8B,aAAaE,WAAWJ,IAA0RhB,GAAU,GAClUp7B,EAAKs8B,aAAet8B,EAAKs8B,aAAax6D,MAAMs6D,EAAWn3G,SAGzD,IAAI20E,EAAO6iC,EAAU,CAACL,EAAYp8B,EAAKs8B,eACnCP,EAAaI,EAAY/0G,OAAO44E,GAIhCq8B,EAAM36G,UAAY26G,EAAM36G,SAASuD,OAAS,KAC1B,IAAhBo3G,EAAMvpE,OAAiMsoE,GAAU,GACnNO,EAAcU,EAAM36G,SAAUg6G,EAAUK,EAAYniC,KAKpC,MAAdyiC,EAAMziC,MAAiByiC,EAAMvpE,QAIjC4oE,EAAS51F,KAAK,CACZ8zD,OACAgiC,MAAOc,EAAa9iC,EAAMyiC,EAAMvpE,OAChCipE,cACA,IAEGL,CACT,CAOA,MAAMiB,EAAU,SACVC,EAAsB,EACtBC,EAAkB,EAClBC,EAAoB,EACpBC,EAAqB,GACrBC,GAAgB,EAEhBC,EAAUj4F,GAAW,MAANA,EAErB,SAAS03F,EAAa9iC,EAAM9mC,GAC1B,IAAI0+D,EAAW53B,EAAK9uE,MAAM,KACtBoyG,EAAe1L,EAASvsG,OAU5B,OARIusG,EAAS9xD,KAAKu9D,KAChBC,GAAgBF,GAGdlqE,IACFoqE,GAAgBL,GAGXrL,EAASzsG,QAAOigB,IAAMi4F,EAAQj4F,KAAI5f,QAAO,CAACw2G,EAAOuB,IAAYvB,GAASe,EAAQpuF,KAAK4uF,GAAWP,EAAkC,KAAZO,EAAiBL,EAAoBC,IAAqBG,EACvL,CAaA,SAAShB,EAAiBkB,EAAQve,GAChC,IAAI,WACFkd,GACEqB,EACAC,EAAgB,CAAC,EACjBC,EAAkB,IAClB9oD,EAAU,GAEd,IAAK,IAAIvvC,EAAI,EAAGA,EAAI82F,EAAW92G,SAAUggB,EAAG,CAC1C,IAAI+6D,EAAO+7B,EAAW92F,GAClBi7B,EAAMj7B,IAAM82F,EAAW92G,OAAS,EAChCs4G,EAAwC,MAApBD,EAA0Bze,EAAWA,EAAS/8C,MAAMw7D,EAAgBr4G,SAAW,IACnGwtE,EAAQ+qC,EAAU,CACpB5jC,KAAMoG,EAAKs8B,aACXC,cAAev8B,EAAKu8B,cACpBr8D,OACCq9D,GACH,IAAK9qC,EAAO,OAAO,KACnB7tE,OAAOuG,OAAOkyG,EAAe5qC,EAAM9lE,QACnC,IAAI0vG,EAAQr8B,EAAKq8B,MACjB7nD,EAAQ1uC,KAAK,CACXnZ,OAAQ0wG,EACRxe,SAAU4d,EAAU,CAACa,EAAiB7qC,EAAMosB,WAC5C4e,aAAcC,EAAkBjB,EAAU,CAACa,EAAiB7qC,EAAMgrC,gBAClEpB,UAGyB,MAAvB5pC,EAAMgrC,eACRH,EAAkBb,EAAU,CAACa,EAAiB7qC,EAAMgrC,eAExD,CAEA,OAAOjpD,CACT,CAYA,SAASgpD,EAAUG,EAAS9e,GACH,iBAAZ8e,IACTA,EAAU,CACR/jC,KAAM+jC,EACNpB,eAAe,EACfr8D,KAAK,IAIT,IAAKwgC,EAASk9B,GAyBhB,SAAqBhkC,EAAM2iC,EAAer8D,QAClB,IAAlBq8D,IACFA,GAAgB,QAGN,IAARr8D,IACFA,GAAM,GAIR,IAAI09D,EAAa,GACbC,EAAe,IAAMjkC,EAAKljC,QAAQ,UAAW,IAChDA,QAAQ,OAAQ,KAChBA,QAAQ,sBAAuB,QAC/BA,QAAQ,WAAW,CAACja,EAAGqhF,KACtBF,EAAW93F,KAAKg4F,GACT,eAmBT,OAhBIlkC,EAAK6Y,SAAS,MAChBmrB,EAAW93F,KAAK,KAChB+3F,GAAyB,MAATjkC,GAAyB,OAATA,EAAgB,QAC9C,qBAEFikC,GAAgB39D,EAAM,QAOtB,uCAIK,CADO,IAAIkiB,OAAOy7C,EAActB,OAAgBl1G,EAAY,KAClDu2G,EACnB,CA7D8BG,CAAYJ,EAAQ/jC,KAAM+jC,EAAQpB,cAAeoB,EAAQz9D,KACjFuyB,EAAQosB,EAASpsB,MAAMiO,GAC3B,IAAKjO,EAAO,OAAO,KACnB,IAAI6qC,EAAkB7qC,EAAM,GACxBgrC,EAAeH,EAAgB5mE,QAAQ,UAAW,MAClDsnE,EAAgBvrC,EAAM3wB,MAAM,GAYhC,MAAO,CACLn1C,OAZWixG,EAAWx4G,QAAO,CAACiiB,EAAMy2F,EAAWhrE,KAG/C,GAAkB,MAAdgrE,EAAmB,CACrB,IAAIG,EAAaD,EAAclrE,IAAU,GACzC2qE,EAAeH,EAAgBx7D,MAAM,EAAGw7D,EAAgBr4G,OAASg5G,EAAWh5G,QAAQyxC,QAAQ,UAAW,KACzG,CAGA,OADArvB,EAAKy2F,GAiDT,SAAkCn8G,EAAOm8G,GACvC,IACE,OAAOI,mBAAmBv8G,EAC5B,CAAE,MAAOue,GAEP,OAAOve,CACT,CACF,CAxDsBw8G,CAAyBH,EAAclrE,IAAU,IAC5DzrB,CAAI,GACV,CAAC,GAGFw3E,SAAUye,EACVG,eACAE,UAEJ,CAsIA,SAASlC,EAAc5c,EAAU+b,GAC/B,GAAiB,MAAbA,EAAkB,OAAO/b,EAE7B,IAAKA,EAASzwB,cAAcouC,WAAW5B,EAASxsC,eAC9C,OAAO,KAGT,IAAIgwC,EAAWvf,EAAS7vB,OAAO4rC,EAAS31G,QAExC,OAAIm5G,GAAyB,MAAbA,EAEP,KAGFvf,EAAS/8C,MAAM84D,EAAS31G,SAAW,GAC5C,CACA,MAAMw3G,EAAY4B,GAASA,EAAM3vF,KAAK,KAAKgoB,QAAQ,SAAU,KACvDgnE,EAAoB7e,GAAYA,EAASnoD,QAAQ,OAAQ,IAAIA,QAAQ,OAAQ,KAE7E4nE,EAAkBl9D,GAAWA,GAAqB,MAAXA,EAAsBA,EAAOo7D,WAAW,KAAOp7D,EAAS,IAAMA,EAA7C,GAExDm9D,EAAgBzf,GAASA,GAAiB,MAATA,EAAoBA,EAAK0d,WAAW,KAAO1d,EAAO,IAAMA,EAAzC,GA0CtD,SAAS0f,IACP,OAAsC,OAA/B,IAAA/6F,YAAWw3F,EACpB,CAYA,SAASwD,IAIP,OAHCD,KAE2EpD,GAAU,IAC/E,IAAA33F,YAAWw3F,GAAiBrc,QACrC,CAsCA,SAAS8f,IACNF,KAE2EpD,GAAU,GACtF,IAAI,SACFR,EAAQ,UACRppF,IACE,IAAA/N,YAAWu3F,IACX,QACFxmD,IACE,IAAA/wC,YAAWy3F,IAEbrc,SAAU8f,GACRF,IACAG,EAAqB76G,KAAKE,UAAUuwD,EAAQrgB,KAAIs+B,GAASA,EAAMgrC,gBAC/DoB,GAAY,IAAAx4F,SAAO,GAyBvB,OAxBA,IAAAC,YAAU,KACRu4F,EAAUn4G,SAAU,CAAI,KAEX,IAAAmd,cAAY,SAAU6W,EAAIkpB,GAMvC,QALgB,IAAZA,IACFA,EAAU,CAAC,IAIRi7D,EAAUn4G,QAAS,OAExB,GAAkB,iBAAPg0B,EAET,YADAlJ,EAAUguE,GAAG9kE,GAIf,IAAIk/C,EAvMR,SAAmBklC,EAAOC,EAAgBJ,GACxC,IASIlkF,EATAC,EAAsB,iBAAVokF,GAAqB,QAAUA,GAASA,EACpDE,EAAuB,KAAVF,GAAgC,KAAhBpkF,EAAGmkE,SAAkB,IAAMnkE,EAAGmkE,SAU/D,GAAkB,MAAdmgB,EACFvkF,EAAOkkF,MACF,CACL,IAAIM,EAAqBF,EAAe95G,OAAS,EAEjD,GAAI+5G,EAAWxC,WAAW,MAAO,CAC/B,IAAI0C,EAAaF,EAAWl0G,MAAM,KAIlC,KAAyB,OAAlBo0G,EAAW,IAChBA,EAAWjhF,QACXghF,GAAsB,EAGxBvkF,EAAGmkE,SAAWqgB,EAAWxwF,KAAK,IAChC,CAIA+L,EAAOwkF,GAAsB,EAAIF,EAAeE,GAAsB,GACxE,CAEA,IAAIrlC,EAnEN,SAAqBl/C,EAAIykF,QACF,IAAjBA,IACFA,EAAe,KAGjB,IACEtgB,SAAUmgB,EAAU,OACpB59D,EAAS,GAAE,KACX09C,EAAO,IACS,iBAAPpkE,GAAkB,QAAUA,GAAMA,EACzCmkE,EAAWmgB,EAAaA,EAAWxC,WAAW,KAAOwC,EAQ3D,SAAyB1C,EAAc6C,GACrC,IAAI3N,EAAW2N,EAAazoE,QAAQ,OAAQ,IAAI5rC,MAAM,KAUtD,OATuBwxG,EAAaxxG,MAAM,KACzB5G,SAAQi5G,IACP,OAAZA,EAEE3L,EAASvsG,OAAS,GAAGusG,EAASx0E,MACb,MAAZmgF,GACT3L,EAAS1rF,KAAKq3F,EAChB,IAEK3L,EAASvsG,OAAS,EAAIusG,EAAS9iF,KAAK,KAAO,GACpD,CApBwE0wF,CAAgBJ,EAAYG,GAAgBA,EAClH,MAAO,CACLtgB,WACAz9C,OAAQk9D,EAAgBl9D,GACxB09C,KAAMyf,EAAczf,GAExB,CAmDaugB,CAAY3kF,EAAID,GAM3B,OAJIukF,GAA6B,MAAfA,GAAsBA,EAAWvsB,SAAS,OAAS7Y,EAAKilB,SAASpM,SAAS,OAC1F7Y,EAAKilB,UAAY,KAGZjlB,CACT,CA6Je0lC,CAAU5kF,EAAI32B,KAAKC,MAAM46G,GAAqBD,GAExC,MAAb/D,IACFhhC,EAAKilB,SAAW4d,EAAU,CAAC7B,EAAUhhC,EAAKilB,aAGzCj7C,EAAQlN,QAAUllB,EAAUklB,QAAUllB,EAAU1L,MAAM8zD,EAAMh2B,EAAQjhD,MACzE,GAAG,CAACi4G,EAAUppF,EAAWotF,EAAoBD,GAE/C,CAsMA,SAASY,EAASzyE,GAChB,IAAI,GACFpS,EAAE,QACFgc,EAAO,MACP/zC,GACEmqC,EACH0xE,KAEwEpD,GAAU,GAEnF,IAAIoE,EAAWd,IAOf,OANA,IAAAp4F,YAAU,KACRk5F,EAAS9kF,EAAI,CACXgc,UACA/zC,SACA,IAEG,IACT,CAgBA,SAAS88G,EAAMC,GAC4LtE,GAAU,EACrN,CAWA,SAASuE,EAAO5yE,GACd,IACE6tE,SAAUgF,EAAe,IAAG,SAC5Bl+G,EAAW,KACXk9F,SAAUihB,EAAY,eACtB/E,EAAiB,SAAU,UAC3BtpF,EACAsuF,OAAQC,GAAa,GACnBhzE,EACFyxE,KAAiMpD,GAAU,GAC7M,IAAIR,EAAW8C,EAAkBkC,GAC7BI,GAAoB,IAAAhhF,UAAQ,KAAM,CACpC47E,WACAppF,YACAsuF,OAAQC,KACN,CAACnF,EAAUppF,EAAWuuF,IAEE,iBAAjBF,IACTA,GAAe,QAAUA,IAG3B,IAAI,SACFhhB,EAAW,IAAG,OACdz9C,EAAS,GAAE,KACX09C,EAAO,GAAE,MACTn8F,EAAQ,KAAI,IACZ8a,EAAM,WACJoiG,EACAjhB,GAAW,IAAA5/D,UAAQ,KACrB,IAAIihF,EAAmBxE,EAAc5c,EAAU+b,GAE/C,OAAwB,MAApBqF,EACK,KAGF,CACLphB,SAAUohB,EACV7+D,SACA09C,OACAn8F,QACA8a,MACD,GACA,CAACm9F,EAAU/b,EAAUz9C,EAAQ09C,EAAMn8F,EAAO8a,IAG7C,OAAgB,MAAZmhF,EACK,MAGW,IAAApzF,eAAcwvG,EAAkB79F,SAAU,CAC5Dxb,MAAOq+G,IACO,IAAAx0G,eAAcyvG,EAAgB99F,SAAU,CACtDzb,SAAUA,EACVC,MAAO,CACLi9F,WACAkc,oBAGN,CAQA,SAASoF,EAAOlzE,GACd,IAAI,SACFtrC,EAAQ,SACRk9F,GACE5xD,EACJ,OAxPF,SAAmBuuE,EAAQC,GACxBgD,KAEyEpD,GAAU,GACpF,IACE5mD,QAAS2rD,IACP,IAAA18F,YAAWy3F,GACXkF,EAAaD,EAAcA,EAAcl7G,OAAS,GAClDo7G,EAAeD,EAAaA,EAAWzzG,OAAS,CAAC,EAEjD2zG,GADiBF,GAAaA,EAAWvhB,SACpBuhB,EAAaA,EAAW3C,aAAe,KAC9C2C,GAAcA,EAAW/D,MA2B3C,IACIzd,EADA2hB,EAAsB9B,IAG1B,GAAIjD,EAAa,CACf,IAAIgF,EAEJ,IAAIC,EAA2C,iBAAhBjF,GAA2B,QAAUA,GAAeA,EAC1D,MAAvB8E,IAAuF,OAAvDE,EAAwBC,EAAkB5hB,eAAoB,EAAS2hB,EAAsBhE,WAAW8D,KAAiclF,GAAU,GACrlBxc,EAAW6hB,CACb,MACE7hB,EAAW2hB,EAGb,IAAI1hB,EAAWD,EAASC,UAAY,IAEhCrqC,EAAU8mD,EAAYC,EAAQ,CAChC1c,SAF6C,MAAvByhB,EAA6BzhB,EAAWA,EAAS/8C,MAAMw+D,EAAmBr7G,SAAW,MAU7G,OAMF,SAAwBuvD,EAAS2rD,GAK/B,YAJsB,IAAlBA,IACFA,EAAgB,IAGH,MAAX3rD,EAAwB,KACrBA,EAAQksD,aAAY,CAACvF,EAAQ1oC,EAAO3/B,KACrB,IAAAtnC,eAAc0vG,EAAa/9F,SAAU,CACvDzb,cAAkC2F,IAAxBorE,EAAM4pC,MAAMn0G,QAAwBuqE,EAAM4pC,MAAMn0G,QAAUizG,EACpEx5G,MAAO,CACLw5G,SACA3mD,QAAS2rD,EAAc/4G,OAAOotD,EAAQ1S,MAAM,EAAGhP,EAAQ,QAG1D,KACL,CArBS6tE,CAAensD,GAAWA,EAAQrgB,KAAIs+B,GAAS7tE,OAAOuG,OAAO,CAAC,EAAGsnE,EAAO,CAC7E9lE,OAAQ/H,OAAOuG,OAAO,CAAC,EAAGk1G,EAAc5tC,EAAM9lE,QAC9CkyF,SAAU4d,EAAU,CAAC6D,EAAoB7tC,EAAMosB,WAC/C4e,aAAqC,MAAvBhrC,EAAMgrC,aAAuB6C,EAAqB7D,EAAU,CAAC6D,EAAoB7tC,EAAMgrC,mBAClG0C,EACP,CAqLSS,CAAUC,EAAyBn/G,GAAWk9F,EACvD,CAYA,SAASiiB,EAAyBn/G,GAChC,IAAI65G,EAAS,GA4Bb,OA3BA,EAAA14G,SAAA,QAAiBnB,GAAUwG,IACzB,KAAmB,IAAA+vD,gBAAe/vD,GAGhC,OAGF,GAAIA,EAAQ4iB,OAAS,EAAA+pB,SAGnB,YADA0mE,EAAOz1F,KAAKhgB,MAAMy1G,EAAQsF,EAAyB34G,EAAQnH,MAAMW,WAIjEwG,EAAQ4iB,OAAS20F,GAA4PrE,GAAU,GACzR,IAAIiB,EAAQ,CACVE,cAAer0G,EAAQnH,MAAMw7G,cAC7Br0G,QAASA,EAAQnH,MAAMmH,QACvB4qC,MAAO5qC,EAAQnH,MAAM+xC,MACrB8mC,KAAM1xE,EAAQnH,MAAM64E,MAGlB1xE,EAAQnH,MAAMW,WAChB26G,EAAM36G,SAAWm/G,EAAyB34G,EAAQnH,MAAMW,WAG1D65G,EAAOz1F,KAAKu2F,EAAM,IAEbd,CACT,gCCh6BA32G,OAAOuhB,eAAe6E,EAAS,aAAc,CAC3CrpB,OAAO,IAGT,IAAIy0G,EAAe,WAAc,SAAS77C,EAAiB7oD,EAAQ3Q,GAAS,IAAK,IAAIkkB,EAAI,EAAGA,EAAIlkB,EAAMkE,OAAQggB,IAAK,CAAE,IAAI+gF,EAAajlG,EAAMkkB,GAAI+gF,EAAW5rC,WAAa4rC,EAAW5rC,aAAc,EAAO4rC,EAAW9uB,cAAe,EAAU,UAAW8uB,IAAYA,EAAW/uB,UAAW,GAAMryE,OAAOuhB,eAAezU,EAAQs0F,EAAWvoF,IAAKuoF,EAAa,CAAE,CAAE,OAAO,SAAU1W,EAAa2W,EAAYC,GAAiJ,OAA9HD,GAAY1rC,EAAiB+0B,EAAY1sF,UAAWqjG,GAAiBC,GAAa3rC,EAAiB+0B,EAAa4W,GAAqB5W,CAAa,CAAG,CAA7hB,GAEfnqD,EAAS,EAAQ,OAEjBqrD,EAAU55C,EAAuBzR,GAEjC27E,EAAS,EAAQ,OAEjBC,EAAmB,EAAQ,OAI3BC,EAAkBpqE,EAFD,EAAQ,QAMzBqqE,EAAuBrqE,EAFD,EAAQ,QAI9BsqE,EAAS,EAAQ,OAErB,SAAStqE,EAAuBn3B,GAAO,OAAOA,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,EAAO,CAQ9F,IAAI0hG,EAAa,SAAU35E,GAGzB,SAAS25E,IAGP,OAZJ,SAAyB9xB,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAI3pE,UAAU,oCAAwC,CAUpJypE,CAAgBnuF,KAAMkgH,GAR1B,SAAoC35C,EAAMllE,GAAQ,IAAKklE,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOnlE,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BklE,EAAPllE,CAAa,CAUpOitF,CAA2BtuF,MAAOkgH,EAAWz8F,WAAa9f,OAAO4xE,eAAe2qC,IAAar7G,MAAM7E,KAAM2E,WAClH,CAoCA,OA7CF,SAAmBk9D,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIp9C,UAAU,kEAAoEo9C,GAAeD,EAASlgE,UAAYgC,OAAOigB,OAAOk+C,GAAcA,EAAWngE,UAAW,CAAE9B,YAAa,CAAEa,MAAOmhE,EAAU1I,YAAY,EAAO6c,UAAU,EAAMC,cAAc,KAAenU,IAAYn+D,OAAO6f,eAAiB7f,OAAO6f,eAAeq+C,EAAUC,GAAcD,EAASp+C,UAAYq+C,EAAY,CAG3eysB,CAAU2xB,EAAY35E,GAQtB4uE,EAAa+K,EAAY,CAAC,CACxB1jG,IAAK,oBACL9b,MAAO,WACAm/G,EAAOtzG,YACZvM,KAAKmgH,cAAgBp0G,OAAO++B,YAC9B,GACC,CACDtuB,IAAK,uBACL9b,MAAO,WACL,IAAIqJ,EAASgC,OAAO++B,YAAc9qC,KAAKmgH,cAInCp2G,GACFgC,OAAOs/C,SAAS,EAAGt/C,OAAOg3C,YAAch5C,GAI1C/J,KAAKmgH,cAAgBp0G,OAAO++B,WAC9B,GACC,CACDtuB,IAAK,SACL9b,MAAO,WACL,IAAID,EAAWT,KAAKF,MAAMW,SAG1B,OAAOA,EAAW8uF,EAAQ1nE,QAAQtd,cAChCu1G,EAAiBM,gBACjB,KACA3/G,GACE,IACN,KAGKy/G,CACT,CA5CiB,CA4Cfh8E,EAAO7qB,eAMLgnG,GADU,EAAIJ,EAAOK,MAAMN,EAAqBn4F,QAASk4F,EAAgBl4F,QAC7DizD,CAAQolC,GAGpBK,EAAa,SAAoBzgH,GACnC,OAAOA,EAAMwV,SAAWi6E,EAAQ1nE,QAAQtd,cAAc81G,EAAWvgH,GAASA,EAAMW,QAClF,EAEA8/G,EAAWx7G,aAAe,CACxBy7G,sBAAsB,EACtB//G,SAAU,KACV6U,UAAU,GAGZyU,EAAA,QAAkBw2F,gCC/FlB58G,OAAOuhB,eAAe6E,EAAS,aAAc,CAC3CrpB,OAAO,IAETqpB,EAAQq2F,qBAAkBh6G,EAE1B,IAAIyvC,EAAWlyC,OAAOuG,QAAU,SAAUuG,GAAU,IAAK,IAAIuT,EAAI,EAAGA,EAAIrf,UAAUX,OAAQggB,IAAK,CAAE,IAAI8qB,EAASnqC,UAAUqf,GAAI,IAAK,IAAIxH,KAAOsyB,EAAcnrC,OAAOhC,UAAUuJ,eAAe7J,KAAKytC,EAAQtyB,KAAQ/L,EAAO+L,GAAOsyB,EAAOtyB,GAAU,CAAE,OAAO/L,CAAQ,EAE3P0kG,EAAe,WAAc,SAAS77C,EAAiB7oD,EAAQ3Q,GAAS,IAAK,IAAIkkB,EAAI,EAAGA,EAAIlkB,EAAMkE,OAAQggB,IAAK,CAAE,IAAI+gF,EAAajlG,EAAMkkB,GAAI+gF,EAAW5rC,WAAa4rC,EAAW5rC,aAAc,EAAO4rC,EAAW9uB,cAAe,EAAU,UAAW8uB,IAAYA,EAAW/uB,UAAW,GAAMryE,OAAOuhB,eAAezU,EAAQs0F,EAAWvoF,IAAKuoF,EAAa,CAAE,CAAE,OAAO,SAAU1W,EAAa2W,EAAYC,GAAiJ,OAA9HD,GAAY1rC,EAAiB+0B,EAAY1sF,UAAWqjG,GAAiBC,GAAa3rC,EAAiB+0B,EAAa4W,GAAqB5W,CAAa,CAAG,CAA7hB,GAEfnqD,EAAS,EAAQ,OAEjB27E,EAAS,EAAQ,OAEjBI,EAAS,EAAQ,OAMrB,SAAS3xB,EAA2B/nB,EAAMllE,GAAQ,IAAKklE,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOnlE,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BklE,EAAPllE,CAAa,CAIzN0oB,EAAQq2F,gBAAkB,SAAU75E,GAGxD,SAAS65E,IACP,IAAIn3G,EAEA+2D,EAAO5+D,GAZf,SAAyBgtF,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAI3pE,UAAU,oCAAwC,CAcpJypE,CAAgBnuF,KAAMogH,GAEtB,IAAK,IAAI/6G,EAAOV,UAAUX,OAAQS,EAAOa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3Ed,EAAKc,GAAQZ,UAAUY,GAGzB,OAAey6D,EAAS5+D,EAAQktF,EAA2BtuF,MAAOiJ,EAAOm3G,EAAgB38F,WAAa9f,OAAO4xE,eAAe6qC,IAAkB/+G,KAAKwD,MAAMoE,EAAM,CAACjJ,MAAMmG,OAAO1B,KAAiBrD,EAAMq/G,kBAAoB,SAAUv+G,GAChOd,EAAMs/G,eAAiBx+G,CACzB,EAAWosF,EAA2BltF,EAAnC4+D,EACL,CA6BA,OAhDF,SAAmB6B,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIp9C,UAAU,kEAAoEo9C,GAAeD,EAASlgE,UAAYgC,OAAOigB,OAAOk+C,GAAcA,EAAWngE,UAAW,CAAE9B,YAAa,CAAEa,MAAOmhE,EAAU1I,YAAY,EAAO6c,UAAU,EAAMC,cAAc,KAAenU,IAAYn+D,OAAO6f,eAAiB7f,OAAO6f,eAAeq+C,EAAUC,GAAcD,EAASp+C,UAAYq+C,EAAY,CAG3eysB,CAAU6xB,EAAiB75E,GAkB3B4uE,EAAaiL,EAAiB,CAAC,CAC7B5jG,IAAK,oBACL9b,MAAO,WACAm/G,EAAOjwB,uBAEZ5vF,KAAK0gH,eAAe5uG,iBAAiB,aAAcmuG,EAAOU,qBAAsBV,EAAOW,iBACvF5gH,KAAK0gH,eAAe5uG,iBAAiB,YAAamuG,EAAOY,eAAgBZ,EAAOW,iBAClF,GACC,CACDpkG,IAAK,uBACL9b,MAAO,WACAm/G,EAAOjwB,uBAEZ5vF,KAAK0gH,eAAe1uG,oBAAoB,aAAciuG,EAAOU,qBAAsBV,EAAOW,iBAC1F5gH,KAAK0gH,eAAe1uG,oBAAoB,YAAaiuG,EAAOY,eAAgBZ,EAAOW,iBACrF,GACC,CACDpkG,IAAK,SACL9b,MAAO,WACL,IAAI+9G,EAASz+G,KAAKF,MACdW,EAAWg+G,EAAOh+G,SAClB4B,EAhDV,SAAkCmc,EAAK5a,GAAQ,IAAI6M,EAAS,CAAC,EAAG,IAAK,IAAIuT,KAAKxF,EAAW5a,EAAK4X,QAAQwI,IAAM,GAAkBrgB,OAAOhC,UAAUuJ,eAAe7J,KAAKmd,EAAKwF,KAAcvT,EAAOuT,GAAKxF,EAAIwF,IAAM,OAAOvT,CAAQ,CAgD1M0mG,CAAyBsH,EAAQ,CAAC,aAE7C,MAA2B,mBAAbh+G,EAA0BA,EAAST,KAAKygH,oBAAqB,EAAIv8E,EAAOk0B,cAAc33D,EAAUo1C,EAAS,CAAE3zC,IAAKlC,KAAKygH,mBAAqBp+G,GAC1J,KAGK+9G,CACT,CA/CgD,CA+C9Cl8E,EAAO7qB,6CClET,IAAIynG,EAAc,EAAQ,OAE1Bn9G,OAAOuhB,eAAe6E,EAAS,KAA/B,CACEovC,YAAY,EACZ17B,IAAK,WACH,OAa4Bjf,EAbEsiG,EAaYtiG,GAAOA,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,IAbxCqJ,QAa/C,IAAgCrJ,CAZ9B,IAGF,IAAIshG,EAAmB,EAAQ,OAE/Bn8G,OAAOuhB,eAAe6E,EAAS,KAA/B,CACEovC,YAAY,EACZ17B,IAAK,WACH,OAAOqiF,EAAiBM,eAC1B,kCCnBFz8G,OAAOuhB,eAAe6E,EAAS,aAAc,CAC3CrpB,OAAO,IAETqpB,EAAQu2F,KAAOv2F,EAAQ62F,qBAAkBx6G,EACzC2jB,EAAQg3F,iBAwBR,SAA0BvwG,GAGxB,OAFAA,EAAEyX,kBAEK,CACT,EA3BA8B,EAAQ82F,eA6BR,SAAwBrwG,GACtB,IAAIC,EAASD,EAAEoW,cAEf,OAAInW,EAAO64C,aAAe74C,EAAOf,cAC/Bc,EAAE4X,mBACK,IAGT5X,EAAEyX,kBACK,EACT,EAtCA8B,EAAQ42F,qBAwCR,WACE,IAAI/6G,EAAM5F,KAAKgjD,UACXg+D,EAAchhH,KAAKspD,aACnB23D,EAAgBr7G,EAAM5F,KAAKslG,aAEnB,IAAR1/F,EACF5F,KAAKgjD,UAAY,EACRi+D,IAAkBD,IAC3BhhH,KAAKgjD,UAAYp9C,EAAM,EAE3B,EAjDAmkB,EAAQm3F,cAqDR,WACE,QAAKrB,EAAOtzG,YACL,iBAAkBR,QAAUwkB,UAAU4wF,eAC/C,EAvDAp3F,EAAQq3F,aA6DR,SAAsBvyC,GACpB,OAAOA,EAAIp5B,QAAQ,kBAAmB,SAAS03B,aACjD,EA9DApjD,EAAQhnB,MAgER,SAAe+5E,GACb,OAAOviB,MAAMuiB,GAAOA,EAAMA,EAAM,IAClC,EAjEA/yD,EAAQgC,WAuFR,WACE,OAAK8zF,EAAOtzG,UAEOy5E,SAASj6E,OAAOkuC,iBAAiB3vC,SAASO,MAAM02B,aAAc,KAC5Dx1B,OAAO06F,WAAan8F,SAASqgC,gBAAgBl7B,aAHpC,CAMhC,EA7FAsa,EAAQs3F,gBA+FR,WACE,IAAIC,EAAa38G,UAAUX,OAAS,QAAsBoC,IAAjBzB,UAAU,GAAmBA,UAAU,GAAK,EAErF,GAAIk7G,EAAOtzG,UACT,OAAOR,OAAO++B,YAAcw2E,CAEhC,EApGAv3F,EAAQw3F,kBAsGR,WACE,GAAI1B,EAAOtzG,UACT,OAAOjC,SAASO,KAAK6E,YAEzB,EAzGAqa,EAAQy3F,aA+GR,WACE,GAAK3B,EAAOtzG,UAAZ,CAEA,IAAI8F,EAAM/H,SAASC,cAAc,SAIjC,OAHA8H,EAAIwX,KAAO,WACXxX,EAAI7H,aAAa,wBAAyB,IAEnC6H,CANsB,CAO/B,EAtHA0X,EAAQ6sF,aAuHR,SAAsBvkG,EAAKuD,GACpBiqG,EAAOtzG,YAER8F,EAAIovG,WACNpvG,EAAIovG,WAAWC,QAAU9rG,EAEzBvD,EAAIhG,YAAY/B,SAASq3G,eAAe/rG,IAE5C,EA9HAmU,EAAQ63F,eA+HR,SAAwBvvG,GACjBwtG,EAAOtzG,YAEDjC,SAASitB,MAAQjtB,SAASuoG,qBAAqB,QAAQ,IAE7DxmG,YAAYgG,EACnB,EAnIA,IAAIwtG,EAAS,EAAQ,OAEC91F,EAAQ62F,gBAAkB,CAC9C3xG,SAAS,EACTC,SAAS,GA2DX,IAAI2yG,EAAU,SAAiBvlF,EAAG/Y,GAChC,OAAO,WACL,OAAOA,EAAE+Y,EAAEz3B,WAAMuB,EAAWzB,WAC9B,CACF,EACWolB,EAAQu2F,KAAO,WACxB,IAAK,IAAIj7G,EAAOV,UAAUX,OAAQ89G,EAAMx8G,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC1Eu8G,EAAIv8G,GAAQZ,UAAUY,GAGxB,OAAOu8G,EAAI39G,OAAO09G,EACpB,gCC3FAl+G,OAAOuhB,eAAe6E,EAAS,aAAc,CAC3CrpB,OAAO,IAGT,IAAIy0G,EAAe,WAAc,SAAS77C,EAAiB7oD,EAAQ3Q,GAAS,IAAK,IAAIkkB,EAAI,EAAGA,EAAIlkB,EAAMkE,OAAQggB,IAAK,CAAE,IAAI+gF,EAAajlG,EAAMkkB,GAAI+gF,EAAW5rC,WAAa4rC,EAAW5rC,aAAc,EAAO4rC,EAAW9uB,cAAe,EAAU,UAAW8uB,IAAYA,EAAW/uB,UAAW,GAAMryE,OAAOuhB,eAAezU,EAAQs0F,EAAWvoF,IAAKuoF,EAAa,CAAE,CAAE,OAAO,SAAU1W,EAAa2W,EAAYC,GAAiJ,OAA9HD,GAAY1rC,EAAiB+0B,EAAY1sF,UAAWqjG,GAAiBC,GAAa3rC,EAAiB+0B,EAAa4W,GAAqB5W,CAAa,CAAG,CAA7hB,GAEnBtkE,EAAA,QAgBA,SAAuB/nB,GACrB,OAAO,SAAUukC,GAGf,SAASw7E,IACP,IAAI94G,EAEA+2D,EAAO5+D,GAbjB,SAAyBgtF,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAI3pE,UAAU,oCAAwC,CAelJypE,CAAgBnuF,KAAM+hH,GAEtB,IAAK,IAAI18G,EAAOV,UAAUX,OAAQS,EAAOa,MAAMD,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC3Ed,EAAKc,GAAQZ,UAAUY,GAGzB,OAAey6D,EAAS5+D,EAAQktF,EAA2BtuF,MAAOiJ,EAAO84G,EAAct+F,WAAa9f,OAAO4xE,eAAewsC,IAAgB1gH,KAAKwD,MAAMoE,EAAM,CAACjJ,MAAMmG,OAAO1B,KAAiBrD,EAAM4gH,SAAW,WACzM,IAAI16G,EAASlG,EAAMo9D,YAEfuW,GAAQ,EAAIkrC,EAAOuB,gBAClBzsC,KAEL,EAAIkrC,EAAOrJ,cAAc7hC,EAAOztE,IAChC,EAAI24G,EAAO2B,gBAAgB7sC,GAE3B3zE,EAAM2zE,MAAQA,EAChB,EAAG3zE,EAAMo9D,UAAY,WACnB,IAAIgiD,EAAuBp/G,EAAMtB,MAAM0gH,qBAGnChxG,GAAS,EAAIywG,EAAOsB,qBACpBhgF,EAAei/E,GAAuB,EAAIP,EAAOl0F,cAAgB,KAGrE,MAFa,8IAAgJvc,EAAS,WAAaA,EAAS,iBAAmB,IAAM,cAAgB+xB,EAAe,kBAAoBA,EAAe,iBAAmB,IAAM,WAGlT,EAAW+sD,EAA2BltF,EAAnC4+D,EACL,CA4BA,OAjEJ,SAAmB6B,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIp9C,UAAU,kEAAoEo9C,GAAeD,EAASlgE,UAAYgC,OAAOigB,OAAOk+C,GAAcA,EAAWngE,UAAW,CAAE9B,YAAa,CAAEa,MAAOmhE,EAAU1I,YAAY,EAAO6c,UAAU,EAAMC,cAAc,KAAenU,IAAYn+D,OAAO6f,eAAiB7f,OAAO6f,eAAeq+C,EAAUC,GAAcD,EAASp+C,UAAYq+C,EAAY,CAIzeysB,CAAUwzB,EAAex7E,GAmCzB4uE,EAAa4M,EAAe,CAAC,CAC3BvlG,IAAK,oBACL9b,MAAO,WACLV,KAAKgiH,UACP,GACC,CACDxlG,IAAK,cACL9b,MAAO,WACAV,KAAK+0E,QAGV/0E,KAAK+0E,MAAMr8B,WAAW9rC,YAAY5M,KAAK+0E,OACvC/0E,KAAK+0E,MAAQ,KACf,GACC,CACDv4D,IAAK,uBACL9b,MAAO,WACLV,KAAKiiH,aACP,GACC,CACDzlG,IAAK,SACL9b,MAAO,WACL,OAAO6uF,EAAQ1nE,QAAQtd,cAAcvI,EAAkBhC,KAAKF,MAC9D,KAGKiiH,CACT,CA/DO,CA+DL79E,EAAO7qB,cACX,EA/EA,IAMgCmF,EAN5B0lB,EAAS,EAAQ,OAEjBqrD,GAI4B/wE,EAJK0lB,IAIgB1lB,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAFnFyhG,EAAS,EAAQ,OAMrB,SAAS3xB,EAA2B/nB,EAAMllE,GAAQ,IAAKklE,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOnlE,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BklE,EAAPllE,CAAa,gCClB/OsC,OAAOuhB,eAAe6E,EAAS,aAAc,CACzCrpB,OAAO,IAGX,IAAIy0G,EAAe,WAAc,SAAS77C,EAAiB7oD,EAAQ3Q,GAAS,IAAK,IAAIkkB,EAAI,EAAGA,EAAIlkB,EAAMkE,OAAQggB,IAAK,CAAE,IAAI+gF,EAAajlG,EAAMkkB,GAAI+gF,EAAW5rC,WAAa4rC,EAAW5rC,aAAc,EAAO4rC,EAAW9uB,cAAe,EAAU,UAAW8uB,IAAYA,EAAW/uB,UAAW,GAAMryE,OAAOuhB,eAAezU,EAAQs0F,EAAWvoF,IAAKuoF,EAAa,CAAE,CAAE,OAAO,SAAU1W,EAAa2W,EAAYC,GAAiJ,OAA9HD,GAAY1rC,EAAiB+0B,EAAY1sF,UAAWqjG,GAAiBC,GAAa3rC,EAAiB+0B,EAAa4W,GAAqB5W,CAAa,CAAG,CAA7hB,GAEnBtkE,EAAA,QAoBA,SAA4B/nB,GACxB,OAAO,SAAUukC,GAGb,SAAS27E,IAGL,OAfZ,SAAyB9zB,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAI3pE,UAAU,oCAAwC,CAa5IypE,CAAgBnuF,KAAMkiH,GAXlC,SAAoC37C,EAAMllE,GAAQ,IAAKklE,EAAQ,MAAM,IAAIC,eAAe,6DAAgE,OAAOnlE,GAAyB,iBAATA,GAAqC,mBAATA,EAA8BklE,EAAPllE,CAAa,CAa5NitF,CAA2BtuF,MAAOkiH,EAAcz+F,WAAa9f,OAAO4xE,eAAe2sC,IAAgBr9G,MAAM7E,KAAM2E,WAC1H,CAuBA,OAnCR,SAAmBk9D,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAIp9C,UAAU,kEAAoEo9C,GAAeD,EAASlgE,UAAYgC,OAAOigB,OAAOk+C,GAAcA,EAAWngE,UAAW,CAAE9B,YAAa,CAAEa,MAAOmhE,EAAU1I,YAAY,EAAO6c,UAAU,EAAMC,cAAc,KAAenU,IAAYn+D,OAAO6f,eAAiB7f,OAAO6f,eAAeq+C,EAAUC,GAAcD,EAASp+C,UAAYq+C,EAAY,CAMreysB,CAAU2zB,EAAe37E,GAQzB4uE,EAAa+M,EAAe,CAAC,CACzB1lG,IAAK,oBACL9b,MAAO,WACEm/G,EAAOtzG,YAAc,EAAI0zG,EAAOiB,kBAErC52G,SAASwH,iBAAiB,YAAamuG,EAAOc,iBAAkBd,EAAOW,gBAC3E,GACD,CACCpkG,IAAK,uBACL9b,MAAO,WACEm/G,EAAOtzG,YAAc,EAAI0zG,EAAOiB,kBAErC52G,SAAS0H,oBAAoB,YAAaiuG,EAAOc,iBAAkBd,EAAOW,gBAC9E,GACD,CACCpkG,IAAK,SACL9b,MAAO,WACH,OAAO6uF,EAAQ1nE,QAAQtd,cAAcvI,EAAkBhC,KAAKF,MAChE,KAGGoiH,CACX,CA/BO,CA+BLh+E,EAAO7qB,cACb,EAnDA,IAQgCmF,EAR5B0lB,EAAS,EAAQ,OAEjBqrD,GAM4B/wE,EANK0lB,IAMgB1lB,EAAI4e,WAAa5e,EAAM,CAAEqJ,QAASrJ,GAJnFqhG,EAAS,EAAQ,OAEjBI,EAAS,EAAQ,+DCoQrB,kMAlQIkC,EAAa,CAAC,CAChBzhB,KAAM,IACN0hB,QAAS,sCACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,OACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,MACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,IACN0hB,QAAS,aACR,CACD1hB,KAAM,IACN0hB,QAAS,gBACR,CACD1hB,KAAM,IACN0hB,QAAS,kBACR,CACD1hB,KAAM,KACN0hB,QAAS,MACR,CACD1hB,KAAM,KACN0hB,QAAS,MACR,CACD1hB,KAAM,IACN0hB,QAAS,kCACR,CACD1hB,KAAM,IACN0hB,QAAS,UACR,CACD1hB,KAAM,IACN0hB,QAAS,mBACR,CACD1hB,KAAM,IACN0hB,QAAS,kBACR,CACD1hB,KAAM,IACN0hB,QAAS,wBACR,CACD1hB,KAAM,IACN0hB,QAAS,SACR,CACD1hB,KAAM,IACN0hB,QAAS,kBACR,CACD1hB,KAAM,IACN0hB,QAAS,sBACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,IACN0hB,QAAS,YACR,CACD1hB,KAAM,IACN0hB,QAAS,oBACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,IACN0hB,QAAS,+CACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,IACN0hB,QAAS,cACR,CACD1hB,KAAM,IACN0hB,QAAS,UACR,CACD1hB,KAAM,IACN0hB,QAAS,qBACR,CACD1hB,KAAM,IACN0hB,QAAS,qBACR,CACD1hB,KAAM,IACN0hB,QAAS,mBACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,IACN0hB,QAAS,sCACR,CACD1hB,KAAM,IACN0hB,QAAS,YACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,IACN0hB,QAAS,cACR,CACD1hB,KAAM,IACN0hB,QAAS,SACR,CACD1hB,KAAM,IACN0hB,QAAS,mBACR,CACD1hB,KAAM,IACN0hB,QAAS,kBACR,CACD1hB,KAAM,IACN0hB,QAAS,uCACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,OACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,KACN0hB,QAAS,MACR,CACD1hB,KAAM,KACN0hB,QAAS,KACR,CACD1hB,KAAM,IACN0hB,QAAS,aACR,CACD1hB,KAAM,IACN0hB,QAAS,iBACR,CACD1hB,KAAM,IACN0hB,QAAS,kBACR,CACD1hB,KAAM,KACN0hB,QAAS,MACR,CACD1hB,KAAM,IACN0hB,QAAS,mCACR,CACD1hB,KAAM,IACN0hB,QAAS,UACR,CACD1hB,KAAM,IACN0hB,QAAS,mBACR,CACD1hB,KAAM,IACN0hB,QAAS,mBACR,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","sources":["webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js","webpack:///./node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsListener/index.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/popper/dist/es2019/Popper.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/portal/dist/es2019/components/Portal.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/tooltip/dist/es2019/styled.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/tooltip/dist/es2019/components/Animation.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/tooltip/dist/es2019/components/utils/analytics-payloads.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/tooltip/dist/es2019/components/Tooltip.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/utils.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/constants.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStyledAvatar.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/theme/index.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/Avatar.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/AvatarImage.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/AvatarImage.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getPresenceSVG.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/styled/Icon.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/Presence.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getStatusSVG.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/Status.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/Avatar.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/hoc/mapProps.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/constants.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/getProps.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/components/CustomComponentProxy.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/helpers/styledCache.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/hoc/withPseudoState.js","webpack:///./node_modules/@atlaskit/avatar/dist/esm/utils.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/hoc.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/avatar/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/blanket/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/blanket/dist/es2019/blanket.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/Button.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/Content.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/IconWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/InnerWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/LoadingSpinner.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/getStyles.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/components/utils.js","webpack:///./node_modules/@atlaskit/button/dist/cjs/theme.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/getStyles.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/theme.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Content.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/IconWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/InnerWrapper.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/LoadingSpinner.js","webpack:///./node_modules/@atlaskit/button/dist/es2019/components/Button.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsListener.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsErrorBoundary.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/useCallbackWithAnalytics.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/cleanProps.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/AtlaskitThemeProvider.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/Appearance.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/Reset.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/hoc.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/button/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/LegacyAnalyticsContext.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/index.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/ModernAnalyticsContext.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/utils.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/elements/IconWrapper.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/theme.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/CheckboxIcon.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/elements/Label.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/elements/LabelText.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/elements/CheckboxWrapper.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/elements/HiddenCheckbox.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/elements/RequiredIndicator.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/theme/dist/es2019/utils/math.js","webpack:///./node_modules/@atlaskit/checkbox/dist/es2019/Checkbox.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/utils/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hocs/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hocs/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePatchedProps.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/glyph/checkbox-indeterminate.js","webpack:///./node_modules/@atlaskit/checkbox/node_modules/@atlaskit/icon/glyph/checkbox.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContext.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/popper/dist/es2019/Popper.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/portal/dist/es2019/components/Portal.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/tooltip/dist/es2019/styled.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/tooltip/dist/es2019/components/Animation.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/tooltip/dist/es2019/components/utils/analytics-payloads.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/tooltip/dist/es2019/components/Tooltip.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/math.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/styled/Item.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/utils/index.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Element.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Item.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/styled/Group.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Group.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/components/internal/ScrollBlock.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/components/internal/helpers.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/styledContentContainer.js","webpack:///./node_modules/@atlaskit/layer/dist/esm/components/Layer.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/styled/Droplist.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/theme/item-theme.js","webpack:///./node_modules/@atlaskit/droplist/dist/esm/components/Droplist.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/util/contextNamespace.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/util/keys.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/context/DropdownItemFocusManager.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/context/DropdownItemClickManager.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/context/DropdownItemSelectionCache.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/styled/WidthConstrainer.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/DropdownMenuStateless.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/createAndFireEvent.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsContext.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/DropdownMenu.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/icon/glyph/chevron-down.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/dropdown-menu/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/glyph/checkbox.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/icon/glyph/radio.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/droplist/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.js","webpack:///./node_modules/@atlaskit/ds-lib/dist/es2019/utils/keycodes.js","webpack:///./node_modules/@atlaskit/item/dist/esm/util/theme.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/item/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-transition.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-ref.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-lazy-callback.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-state-ref.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-modal-stack.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/util.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/react-focus-lock/dist/es2015/index.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/merge-refs.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-document-event.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-prevent-programmatic-scroll.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/modal.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/ds-lib/dist/es2019/utils/noop.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/block-events.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/css.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/button-base.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/get-is-only-single-icon.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/shared/loading-spinner.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/custom-theme-button/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/button/dist/es2019/custom-theme-button/custom-theme-button.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/footer.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/header.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/scroll-container.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/scroll-container.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/content.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/positioner.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-window-event.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-close-on-escape-press.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/utils/keycodes.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/hooks/use-on-motion-finish.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-auto-focus.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/components/modal-wrapper.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/ds-lib/dist/es2019/hooks/use-previous-value.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@emotion/styled/dist/styled.browser.esm.js","webpack:///./node_modules/@atlaskit/modal-dialog/dist/es2019/internal/styles/content.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/glyph/error.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/icon/glyph/warning.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/modal-dialog/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/use-force-render.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/exiting-persistence.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/timer-hooks.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/staggered-entrance.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/keyframes-motion.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/use-unique-id.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/entering/fade-in.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/accessibility.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/curves.js","webpack:///./node_modules/@atlaskit/motion/dist/es2019/utils/durations.js","webpack:///./node_modules/react-popper/lib/esm/usePopper.js","webpack:///./node_modules/react-popper/lib/esm/Popper.js","webpack:///./node_modules/@atlaskit/popper/dist/es2019/popper.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/constants.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/utils/portal-dom-utils.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/components/internal-portal.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/hooks/use-is-subsequent-render.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/utils/portal-custom-event.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/internal/hooks/use-portal-event.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/portal/dist/es2019/portal.js","webpack:///./node_modules/react-transition-group/esm/utils/ChildMapping.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroup.js","webpack:///./node_modules/react-select/animated/dist/react-select.browser.esm.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js","webpack:///./node_modules/@atlaskit/select/dist/esm/components/indicators.js","webpack:///./node_modules/@atlaskit/select/dist/esm/components/index.js","webpack:///./node_modules/@atlaskit/select/dist/esm/createSelect.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/icon/glyph/hipchat/chevron-down.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/icon/glyph/select-clear.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlaskit/select/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/select/node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/@atlaskit/select/node_modules/dom-helpers/class/hasClass.js","webpack:///./node_modules/@atlaskit/select/node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/@atlaskit/select/node_modules/react-transition-group/CSSTransition.js","webpack:///./node_modules/@atlaskit/select/node_modules/react-transition-group/ReplaceTransition.js","webpack:///./node_modules/@atlaskit/select/node_modules/react-transition-group/Transition.js","webpack:///./node_modules/@atlaskit/select/node_modules/react-transition-group/TransitionGroup.js","webpack:///./node_modules/@atlaskit/select/node_modules/react-transition-group/index.js","webpack:///./node_modules/@atlaskit/select/node_modules/react-transition-group/utils/ChildMapping.js","webpack:///./node_modules/@atlaskit/select/node_modules/react-transition-group/utils/PropTypes.js","webpack:///./node_modules/@atlaskit/select/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafSyntheticEventHandler.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/internal/shared-schedule.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/internal/tooltip-manager.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/TooltipContainer.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/utilities.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/Tooltip.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/internal/use-unique-id.js","webpack:///./node_modules/@atlaskit/tooltip/dist/es2019/TooltipPrimitive.js","webpack:///./node_modules/@atlaskit/tooltip/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/cjs/components/Icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/cjs/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/glyph/chevron-down.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/glyph/chevron-left-large.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/glyph/chevron-up.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/icon/glyph/cross.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/color-palettes.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/elevation.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/typography.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/utils/math.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/utils/createTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/components/Theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/components/AtlaskitThemeProvider.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/components/Appearance.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/components/Reset.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/hoc.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/camelcase/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/dist/es2019/components/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/dist/es2019/components/styles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/dist/es2019/components/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/add.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/app-switcher.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/check-circle-outline.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/check-circle.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/cross-circle.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/cross.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/editor/panel.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/email.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/info.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/refresh.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/icon/glyph/warning.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/dom-helpers/class/hasClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-is/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/CSSTransition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/ReplaceTransition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/Transition.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/TransitionGroup.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/utils/ChildMapping.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-transition-group/utils/PropTypes.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/memoize/dist/memoize.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/node_modules/@emotion/serialize/dist/serialize.browser.esm.js","webpack:///./node_modules/@emotion/styled-base/dist/styled-base.browser.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack:///./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack:///./node_modules/@emotion/styled/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack:///./node_modules/@emotion/styled/base/dist/emotion-styled-base.browser.esm.js","webpack:///./node_modules/@emotion/styled/dist/emotion-styled.browser.esm.js","webpack:///./node_modules/immer/dist/immer.esm.mjs","webpack:///./node_modules/@reduxjs/toolkit/node_modules/redux/es/redux.js","webpack:///./node_modules/@reduxjs/toolkit/node_modules/redux-thunk/es/index.js","webpack:///./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js","webpack:///./node_modules/array-find/find.js","webpack:///./node_modules/async-retry/lib/index.js","webpack:///./node_modules/bind-event-listener/dist/bind-all.js","webpack:///./node_modules/bind-event-listener/dist/bind.js","webpack:///./node_modules/bind-event-listener/dist/index.js","webpack:///./node_modules/bowser/es5.js","webpack:///./node_modules/create-react-context/lib/implementation.js","webpack:///./node_modules/create-react-context/lib/index.js","webpack:///./node_modules/exenv/index.js","webpack:///./node_modules/final-form-focus/dist/final-form-focus.es.js","webpack:///./node_modules/final-form/dist/final-form.es.js","webpack:///./node_modules/flushable/dist/index.umd.js","webpack:///./node_modules/gud/index.js","webpack:///./node_modules/history/index.js","webpack:///./node_modules/isomorphic-fetch/fetch-npm-browserify.js","webpack:///./node_modules/memoize-one/dist/memoize-one.esm.js","webpack:///./node_modules/popper.js/dist/esm/popper.js","webpack:///./node_modules/property-expr/index.js","webpack:///./node_modules/raf-schd/esm/index.js","webpack:///./node_modules/react-addons-text-content/dist/react-addons-text-content.js","webpack:///./node_modules/react-clientside-effect/lib/index.es.js","webpack:///./node_modules/react-fast-compare/index.js","webpack:///./node_modules/react-google-recaptcha-v3/dist/react-google-recaptcha-v3.esm.js","webpack:///./node_modules/react-input-autosize/lib/AutosizeInput.js","webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///./node_modules/react-node-resolver/lib/NodeResolver.js","webpack:///./node_modules/react-node-resolver/lib/index.js","webpack:///./node_modules/react-popper/lib/esm/Manager.js","webpack:///./node_modules/react-popper/lib/esm/utils.js","webpack:///./node_modules/react-popper/node_modules/react-fast-compare/index.js","webpack:///./node_modules/react-router-dom/index.js","webpack:///./node_modules/react-router/index.js","webpack:///./node_modules/react-scrolllock/dist/ScrollLock.js","webpack:///./node_modules/react-scrolllock/dist/TouchScrollable.js","webpack:///./node_modules/react-scrolllock/dist/index.js","webpack:///./node_modules/react-scrolllock/dist/utils.js","webpack:///./node_modules/react-scrolllock/dist/withLockSheet.js","webpack:///./node_modules/react-scrolllock/dist/withTouchListeners.js","webpack:///./node_modules/react-select/dist/Select-e1cf49ae.browser.esm.js","webpack:///./node_modules/react-select/dist/index-75b02bac.browser.esm.js","webpack:///./node_modules/react-select/dist/stateManager-2f2b6f5b.browser.esm.js","webpack:///./node_modules/react-transition-group/esm/Transition.js","webpack:///./node_modules/react-transition-group/esm/utils/reflow.js","webpack:///./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack:///./node_modules/react-uid/dist/es2019/context.js","webpack:///./node_modules/react-uid/dist/es2019/hooks.js","webpack:///./node_modules/retry/index.js","webpack:///./node_modules/retry/lib/retry.js","webpack:///./node_modules/retry/lib/retry_operation.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/AnalyticsContextConsumer.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/withAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/utils/initials.ts","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/user-avatar.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/blank-pointer-image.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/empty-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/node_modules/@atlaskit/analytics-next/dist/esm/useCallbackWithAnalytics.js","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/tracking.ts","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/chevron.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/site-link.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/site-list.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/product-dropdown-item.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/products-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/utils/filters.ts","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/user-nav.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/user-profile-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/components/trigger.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/user-profile-dropdown.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-user-profile-dropdown/src/mobile-trigger.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-debounce.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-site-name-validation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/metrics/performance.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/metrics/metal-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-authentication-methods-check.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/constants.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/product-data.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/data-label.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/bundle-data.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/messages/sign-up-form.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/page-header-labels.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-user-info.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/types.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/check-email-page/mini-hamlet-client.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/useResendEmailAPI.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/useResendEmailData.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/model/wac-signup-form.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/nameSanitize.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/computeChooseSignupEnrollment.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/n2n-field-progress.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/n2n-field-validation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/logged-in-form-valid.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/logged-in-form-data.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/shared-form-data.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/n2n-deferred-password-field-validation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/n2n-deferred-password-field-progress.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-devops/logged-in-form-input.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/ducks-experimentation/deferred-sitename.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/slice/sliceFeatureFlags.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/slice/sliceProductKeys.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/store.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/components/Context.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/utils/batch.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/utils/Subscription.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/components/Provider.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/hooks/useReduxContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/hooks/useStore.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/hooks/useDispatch.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/hooks/useSelector.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/react-redux/es/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/redux/hook.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-sign-up-form-ui-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-sign-up-form-config.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-sign-up-form-global-configuration.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-cut-signup-steps-in-half.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/theme/dist/es2019/utils/getTheme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form-header/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form-header/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form-header/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form-header/useFormHeaderLabels.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-form-header/getEditionLabelFragment.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-form-header/getProductLabelFragment.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up-button/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up-button/styled.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up-button/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/block-events.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/css.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/button-base.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/button.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/get-is-only-single-icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up/error.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-layout-container/analytics.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-layout-container/constants.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-layout-container/data-migration.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/spinner/dist/esm/Spinner/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledContainer.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/spinner/dist/esm/Spinner/styledSvg.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/spinner/dist/esm/Spinner/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/dist/es2019/component-tokens.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/dist/es2019/styles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/textfield/dist/es2019/text-field.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/styled.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/email-field.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-email-validation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/Icons/tooltip-icon.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/site-name-field.tsx","webpack:///./node_modules/@atlaskit/item/dist/esm/util/getDisplayName.js","webpack:///./node_modules/@atlaskit/item/dist/esm/util/safeContextCall.js","webpack:///./node_modules/@atlaskit/item/dist/esm/util/contextNamespace.js","webpack:///./node_modules/@atlaskit/item/dist/esm/styled/Item.js","webpack:///./node_modules/@atlaskit/item/dist/esm/styled/ItemParts.js","webpack:///./node_modules/@atlaskit/item/dist/esm/components/Item.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/item/DropdownItem.js","webpack:///./node_modules/@atlaskit/item/dist/esm/components/hoc/withItemClick.js","webpack:///./node_modules/@atlaskit/item/dist/esm/components/hoc/withItemFocus.js","webpack:///./node_modules/@atlaskit/item/dist/esm/styled/ItemGroup.js","webpack:///./node_modules/@atlaskit/item/dist/esm/components/ItemGroup.js","webpack:///./node_modules/@atlaskit/dropdown-menu/dist/esm/components/group/DropdownItemGroup.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/site-picker-field.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-site-permission.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/node_modules/@atlaskit/spinner/dist/es2019/spinner.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/shared/loading-spinner.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/button/dist/es2019/loading-button.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/submit-buttons.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useCallbackWithAnalytics.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/display-name-field.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/info-box.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/bitbucket-jira-info-box.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/free-breach.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/breach-info-box.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/bitbucket-account-picker.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/dist/es2019/styles.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/dist/es2019/radio.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/radio/dist/es2019/radio-group.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/gdpr-location.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/LegacyAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/analytics-next/dist/es2019/components/AnalyticsContext/ModernAnalyticsContext.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/invalid-migration-source.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/analytics.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/form-submit.ts","webpack:///./node_modules/react-ga/dist/esm/utils/console/warn.js","webpack:///./node_modules/react-ga/dist/esm/components/OutboundLink.js","webpack:///./node_modules/react-ga/dist/esm/utils/redactEmail.js","webpack:///./node_modules/react-ga/dist/esm/utils/trim.js","webpack:///./node_modules/react-ga/dist/esm/utils/toTitleCase.js","webpack:///./node_modules/react-ga/dist/esm/utils/loadGA.js","webpack:///./node_modules/react-ga/dist/esm/utils/console/log.js","webpack:///./node_modules/react-ga/dist/esm/utils/testModeAPI.js","webpack:///./node_modules/react-ga/dist/esm/core.js","webpack:///./node_modules/react-ga/dist/esm/utils/format.js","webpack:///./node_modules/react-ga/dist/esm/utils/mightBeEmail.js","webpack:///./node_modules/react-ga/dist/esm/utils/removeLeadingSlash.js","webpack:///./node_modules/react-ga/dist/esm/index.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/check-email-page/index.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/check-email-page/cart-service.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/check-email-page/analytics.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/model/check-email-page.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/utils.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/wrapper.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/components/InboxImage/index.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/components/ResendEmailButton/index.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/container/layout-default.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/components/EnvelopeImage/index.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/container/layout-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/check-email-page/check-email-page.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/Icons/UnionIcon.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/carousel-end.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/form-welcome-message.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/get-defer-sitename-experiment-cohort.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/new-url.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/components/eula-component.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-form/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-site-name-generation.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/utility/generate-random-digit.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-defer-sitename-exposed.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/sign-up-form/product-edition.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/service/social-sign-up.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/social-sign-up/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/signup-header/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/signup-header/components/subtitle.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-start-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-analytics-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlassian-analytics-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/bitbucket-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/bitbucket-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/bitbucket-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/compass-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/compass-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/compass-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/confluence-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/confluence-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/confluence-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/halp-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/halp-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/halp-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/hipchat-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/hipchat-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/hipchat-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-align-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-align-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-align-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-core-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-core-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-core-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-product-discovery-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-product-discovery-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-desk-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-desk-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-desk-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-service-management-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-software-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-work-management-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-work-management-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/jira-work-management-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/old-icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/old-logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/old-wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/new-icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/new-logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/opsgenie-logo/new-wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/statuspage-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/statuspage-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/statuspage-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/stride-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/stride-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/stride-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/trello-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/trello-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/trello-logo/wordmark.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlas-logo/icon.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/logo/dist/es2019/atlas-logo/logo.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/signup-header/components/logo.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/signup-header/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/component/logo.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/container/layout-default.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/container/layout-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/container/layout-developer-mode.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/container/layout-first-impressions.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/side-information-component/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/social-signup-buttons.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/social-signup.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-layout-container/data-product.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-layout-container/data-label.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/utility/sign-up-layout-container/social-proof.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/side-info.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/signup.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/side-info-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/side-info-first-impressions.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/asset/header-background-devops.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/styled.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/header-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/container/layout-default.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/container/layout-standalone.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/container/layout-devops.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/theme/dist/es2019/elevation.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/first-impressions/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/component/first-impressions/first-impressions-form.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/container/layout-first-impressions.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/legacy/view/sign-up-layout-container/view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/error-locale/error-locale.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/utility/social-proof.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/use-first-impressions-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/components/page-header/page-header-logo.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/components/page-header/page-header-subtitle.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/components/page-header/page-header.tsx","webpack:///./node_modules/formik/node_modules/deepmerge/dist/es.js","webpack:///./node_modules/lodash-es/_listCacheClear.js","webpack:///./node_modules/lodash-es/eq.js","webpack:///./node_modules/lodash-es/_assocIndexOf.js","webpack:///./node_modules/lodash-es/_listCacheDelete.js","webpack:///./node_modules/lodash-es/_ListCache.js","webpack:///./node_modules/lodash-es/_listCacheGet.js","webpack:///./node_modules/lodash-es/_listCacheHas.js","webpack:///./node_modules/lodash-es/_listCacheSet.js","webpack:///./node_modules/lodash-es/isObject.js","webpack:///./node_modules/lodash-es/isFunction.js","webpack:///./node_modules/lodash-es/_coreJsData.js","webpack:///./node_modules/lodash-es/_isMasked.js","webpack:///./node_modules/lodash-es/_toSource.js","webpack:///./node_modules/lodash-es/_baseIsNative.js","webpack:///./node_modules/lodash-es/_getNative.js","webpack:///./node_modules/lodash-es/_getValue.js","webpack:///./node_modules/lodash-es/_Map.js","webpack:///./node_modules/lodash-es/_nativeCreate.js","webpack:///./node_modules/lodash-es/_hashGet.js","webpack:///./node_modules/lodash-es/_hashHas.js","webpack:///./node_modules/lodash-es/_Hash.js","webpack:///./node_modules/lodash-es/_hashClear.js","webpack:///./node_modules/lodash-es/_hashDelete.js","webpack:///./node_modules/lodash-es/_hashSet.js","webpack:///./node_modules/lodash-es/_getMapData.js","webpack:///./node_modules/lodash-es/_isKeyable.js","webpack:///./node_modules/lodash-es/_MapCache.js","webpack:///./node_modules/lodash-es/_mapCacheClear.js","webpack:///./node_modules/lodash-es/_mapCacheDelete.js","webpack:///./node_modules/lodash-es/_mapCacheGet.js","webpack:///./node_modules/lodash-es/_mapCacheHas.js","webpack:///./node_modules/lodash-es/_mapCacheSet.js","webpack:///./node_modules/lodash-es/_Stack.js","webpack:///./node_modules/lodash-es/_stackClear.js","webpack:///./node_modules/lodash-es/_stackDelete.js","webpack:///./node_modules/lodash-es/_stackGet.js","webpack:///./node_modules/lodash-es/_stackHas.js","webpack:///./node_modules/lodash-es/_stackSet.js","webpack:///./node_modules/lodash-es/_defineProperty.js","webpack:///./node_modules/lodash-es/_baseAssignValue.js","webpack:///./node_modules/lodash-es/_assignValue.js","webpack:///./node_modules/lodash-es/_copyObject.js","webpack:///./node_modules/lodash-es/_baseIsArguments.js","webpack:///./node_modules/lodash-es/isArguments.js","webpack:///./node_modules/lodash-es/isArray.js","webpack:///./node_modules/lodash-es/isBuffer.js","webpack:///./node_modules/lodash-es/stubFalse.js","webpack:///./node_modules/lodash-es/_isIndex.js","webpack:///./node_modules/lodash-es/isLength.js","webpack:///./node_modules/lodash-es/_baseIsTypedArray.js","webpack:///./node_modules/lodash-es/_baseUnary.js","webpack:///./node_modules/lodash-es/_nodeUtil.js","webpack:///./node_modules/lodash-es/isTypedArray.js","webpack:///./node_modules/lodash-es/_arrayLikeKeys.js","webpack:///./node_modules/lodash-es/_baseTimes.js","webpack:///./node_modules/lodash-es/_isPrototype.js","webpack:///./node_modules/lodash-es/_nativeKeys.js","webpack:///./node_modules/lodash-es/_baseKeys.js","webpack:///./node_modules/lodash-es/isArrayLike.js","webpack:///./node_modules/lodash-es/keys.js","webpack:///./node_modules/lodash-es/_baseKeysIn.js","webpack:///./node_modules/lodash-es/_nativeKeysIn.js","webpack:///./node_modules/lodash-es/keysIn.js","webpack:///./node_modules/lodash-es/_cloneBuffer.js","webpack:///./node_modules/lodash-es/_copyArray.js","webpack:///./node_modules/lodash-es/stubArray.js","webpack:///./node_modules/lodash-es/_getSymbols.js","webpack:///./node_modules/lodash-es/_arrayFilter.js","webpack:///./node_modules/lodash-es/_arrayPush.js","webpack:///./node_modules/lodash-es/_getSymbolsIn.js","webpack:///./node_modules/lodash-es/_baseGetAllKeys.js","webpack:///./node_modules/lodash-es/_getAllKeys.js","webpack:///./node_modules/lodash-es/_getAllKeysIn.js","webpack:///./node_modules/lodash-es/_DataView.js","webpack:///./node_modules/lodash-es/_Promise.js","webpack:///./node_modules/lodash-es/_Set.js","webpack:///./node_modules/lodash-es/_WeakMap.js","webpack:///./node_modules/lodash-es/_getTag.js","webpack:///./node_modules/lodash-es/_initCloneArray.js","webpack:///./node_modules/lodash-es/_Uint8Array.js","webpack:///./node_modules/lodash-es/_cloneArrayBuffer.js","webpack:///./node_modules/lodash-es/_cloneRegExp.js","webpack:///./node_modules/lodash-es/_cloneSymbol.js","webpack:///./node_modules/lodash-es/_initCloneByTag.js","webpack:///./node_modules/lodash-es/_cloneDataView.js","webpack:///./node_modules/lodash-es/_cloneTypedArray.js","webpack:///./node_modules/lodash-es/_baseCreate.js","webpack:///./node_modules/lodash-es/isMap.js","webpack:///./node_modules/lodash-es/_baseIsMap.js","webpack:///./node_modules/lodash-es/isSet.js","webpack:///./node_modules/lodash-es/_baseIsSet.js","webpack:///./node_modules/lodash-es/_baseClone.js","webpack:///./node_modules/lodash-es/_initCloneObject.js","webpack:///./node_modules/lodash-es/_copySymbolsIn.js","webpack:///./node_modules/lodash-es/_baseAssignIn.js","webpack:///./node_modules/lodash-es/_copySymbols.js","webpack:///./node_modules/lodash-es/_baseAssign.js","webpack:///./node_modules/lodash-es/_arrayEach.js","webpack:///./node_modules/lodash-es/clone.js","webpack:///./node_modules/lodash-es/_arrayMap.js","webpack:///./node_modules/lodash-es/isSymbol.js","webpack:///./node_modules/lodash-es/memoize.js","webpack:///./node_modules/lodash-es/_stringToPath.js","webpack:///./node_modules/lodash-es/_memoizeCapped.js","webpack:///./node_modules/lodash-es/_toKey.js","webpack:///./node_modules/lodash-es/_baseToString.js","webpack:///./node_modules/lodash-es/toString.js","webpack:///./node_modules/lodash-es/toPath.js","webpack:///./node_modules/lodash-es/cloneDeep.js","webpack:///./node_modules/formik/dist/formik.esm.js","webpack:///./node_modules/nanoclone/src/index.js","webpack:///./node_modules/yup/es/util/printValue.js","webpack:///./node_modules/yup/es/locale.js","webpack:///./node_modules/yup/es/util/isSchema.js","webpack:///./node_modules/yup/es/util/toArray.js","webpack:///./node_modules/yup/es/ValidationError.js","webpack:///./node_modules/yup/es/util/runTests.js","webpack:///./node_modules/yup/es/Reference.js","webpack:///./node_modules/yup/es/util/createValidation.js","webpack:///./node_modules/yup/es/util/reach.js","webpack:///./node_modules/yup/es/util/ReferenceSet.js","webpack:///./node_modules/yup/es/schema.js","webpack:///./node_modules/yup/es/Condition.js","webpack:///./node_modules/yup/es/mixed.js","webpack:///./node_modules/yup/es/util/isAbsent.js","webpack:///./node_modules/yup/es/string.js","webpack:///./node_modules/yup/es/util/isodate.js","webpack:///./node_modules/yup/es/date.js","webpack:///./node_modules/yup/es/util/sortByKeyOrder.js","webpack:///./node_modules/yup/es/object.js","webpack:///./node_modules/yup/es/util/sortFields.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/footer-logo.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/product-select-buttons/product-select-button.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/switch-account-email-form.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/text-input.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/social-sign-up-divider.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/components/social-sign-up-button.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/views/first-impressions-logged-out-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/views/first-impressions-logged-in-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/views/first-impressions-loading-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-form-view/first-impressions-form-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-product-info.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/first-impressions-screen/first-impressions-screen.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/hook/use-bitbucket-workspaces.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/account-operation-url.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/legal-consents.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/build-devops-product.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/site-domain.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/hook/use-devops-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/component/devops-side-info.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/component/devops-header.tsx","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/events/AnalyticsEvent.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/events/UIAnalyticsEvent.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsContext.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useTrackedRef.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/usePlatformLeafEventHandler.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/analytics-next/dist/es2019/hooks/useAnalyticsEvents.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlaskit/progress-indicator/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlaskit/progress-indicator/dist/es2019/components/appearances.js","webpack:///./node_modules/@atlaskit/progress-indicator/dist/es2019/components/constants.js","webpack:///./node_modules/@atlaskit/progress-indicator/dist/es2019/components/indicator.js","webpack:///./node_modules/@atlaskit/progress-indicator/dist/es2019/components/progress-dots.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/component/devops-carousel.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/form.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/constants.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/utils/get-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/utils/themed.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/colors.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/components/theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/utils/create-theme.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/node_modules/@atlaskit/theme/dist/es2019/typography.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/label.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/field.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/types.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/icon-validation.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-email.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-name.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-sitename.tsx","webpack:///./node_modules/react-select/async/dist/react-select.browser.esm.js","webpack:///./node_modules/react-select/creatable/dist/react-select.browser.esm.js","webpack:///./node_modules/react-select/async-creatable/dist/react-select.browser.esm.js","webpack:///./node_modules/@atlaskit/select/dist/esm/AsyncCreatableSelect.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-sitename-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlaskit/form/dist/es2019/checkbox-field.js","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/marketing-consent.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/button-submit.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/product-list.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/input-workspace-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/component/button-google-sign-in.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-sitename-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-final-confirmation.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-product-confirmation.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-workspace-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/view/devops-form-logged-in.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/build-n2e-payload.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/signup-context.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/build-signup-url-action.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/build-analytics-solutionstat.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/utility/signup-poll-for-success.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/slide/slide-n2n-resend-email.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/view/devops-form-logged-out-deferred-password.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-form-view/devops-form-view.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen/devops-screen.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/devops-screen-standalone/devops-screen-standalone.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/messages.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/utility/account-operation-url.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/hook/use-simple-signup-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/styled.ts","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/button-google-sign-in.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/button-submit.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/form-footer.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/types.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/icon-validation.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/input-email.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/marketing-consent.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/input-sitename.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/input-sitename-existing.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/loading-state.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/page-header.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/product-list.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/social-sign-up-divider.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/component/simple-signup-nav.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-form-view/view/simple-signup-logged-out.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/layouts/simple-signup-screen/simple-signup-screen.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/src/sign-up-layout-container.tsx","webpack:///./node_modules/@atlassiansox/bxpkit-wac-sign-up/node_modules/@atlassiansox/origin-tracing/dist/origin-tracing.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/catalog/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/client/config.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/client/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/client/helpers.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/client/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/hookable/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/callback-provider/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/page-tracker/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/page-visibility/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/page-visibility/helpers.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/user-agent-info/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/user-agent-info/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/utils/object-utils.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/common/utils/performance-utils.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/error/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/transport/queue/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/metric/types.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/metric/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/metric/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/transport/sender/types.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/transport/sender/network.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/core/transport/sender/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/i18n/en.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/paint-timings/helpers.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/interactive-timings/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/utils.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/paint-timings/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/interactive-timings/helpers.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/resource-timings/constants.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/resource-timings/normalise.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/resource-timings/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/resource-timings/blacklist.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/browser-plugin/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/errors-plugin/index.js","webpack:///./node_modules/@atlassiansox/metal-client/dist/client/es/plugins/performance-mark-plugin/index.js","webpack:///./resources/js/react/sign-up-layout/WacSignUpLayoutContainer.tsx","webpack:///./node_modules/toposort/index.js","webpack:///./node_modules/tti-polyfill/tti-polyfill.js","webpack:///./node_modules/uuid/index.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/uuid/v1.js","webpack:///./node_modules/uuid/v4.js","webpack:///./node_modules/warning/warning.js","webpack:///./node_modules/whatwg-fetch/fetch.js","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack:///./node_modules/js-base64/base64.mjs","webpack:///./node_modules/lodash-es/_Symbol.js","webpack:///./node_modules/lodash-es/_getRawTag.js","webpack:///./node_modules/lodash-es/_objectToString.js","webpack:///./node_modules/lodash-es/_baseGetTag.js","webpack:///./node_modules/lodash-es/_freeGlobal.js","webpack:///./node_modules/lodash-es/_getPrototype.js","webpack:///./node_modules/lodash-es/_overArg.js","webpack:///./node_modules/lodash-es/_root.js","webpack:///./node_modules/lodash-es/isObjectLike.js","webpack:///./node_modules/lodash-es/isPlainObject.js"],"sourcesContent":["import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsListener extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n channel,\n onEvent\n } = this.props;\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n\n const handler = (event, eventChannel) => {\n if (channel === '*' || channel === eventChannel) {\n onEvent(event, eventChannel);\n }\n };\n\n return [handler, ...getAtlaskitAnalyticsEventHandlers()];\n });\n\n _defineProperty(this, \"getAtlaskitAnalyticsContext\", () => {\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return getAtlaskitAnalyticsContext();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n\n}\n\n_defineProperty(AnalyticsListener, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsListener, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsListener;","import LegacyAnalyticsListener from './LegacyAnalyticsListener';\nimport ModernAnalyticsListener from './ModernAnalyticsListener';\nlet ExportedAnalyticsListener;\n\nif (typeof process !== 'undefined' && process.env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsListener = ModernAnalyticsListener;\n} else {\n ExportedAnalyticsListener = LegacyAnalyticsListener;\n}\n\nexport default ExportedAnalyticsListener;","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from 'create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === \"function\") {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (bKeys.length !== aKeys.length) {\n return false;\n }\n\n for (var i = 0; i < bKeys.length; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === \"function\") {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_this), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n setRef(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_this), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || this.props.modifiers !== prevProps.modifiers) {\n // develop only check that modifiers isn't being updated needlessly\n if (process.env.NODE_ENV === \"development\") {\n if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n }\n }\n\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import React from 'react';\nimport memoizeOne from 'memoize-one';\nimport { Popper as ReactPopper, } from 'react-popper';\nexport { Manager, Reference } from 'react-popper';\nconst FlipBehavior = {\n auto: [],\n top: ['top', 'bottom', 'top'],\n right: ['right', 'left', 'right'],\n bottom: ['bottom', 'top', 'bottom'],\n left: ['left', 'right', 'left'],\n};\nconst getFlipBehavior = (side) => FlipBehavior[side];\nexport class Popper extends React.Component {\n constructor() {\n super(...arguments);\n this.getModifiers = memoizeOne(placement => {\n const flipBehavior = getFlipBehavior(placement.split('-')[0]);\n const modifiers = {\n flip: {\n enabled: true,\n behavior: flipBehavior,\n boundariesElement: 'viewport',\n },\n hide: {\n enabled: true,\n },\n offset: {\n enabled: true,\n offset: this.props.offset,\n },\n preventOverflow: {\n enabled: true,\n escapeWithReference: false,\n boundariesElement: 'window',\n },\n };\n if (this.props.modifiers) {\n return { ...modifiers, ...this.props.modifiers };\n }\n return modifiers;\n });\n }\n render() {\n const { placement, children, referenceElement } = this.props;\n const modifiers = this.getModifiers(this.props.placement);\n return (React.createElement(ReactPopper, Object.assign({ positionFixed: true, modifiers: modifiers, placement: placement }, (referenceElement ? { referenceElement } : {})), children));\n }\n}\nPopper.defaultProps = {\n children: () => null,\n offset: '0, 8px',\n placement: 'bottom-start',\n};\n//# sourceMappingURL=Popper.js.map","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport { canUseDOM } from 'exenv';\nimport ReactDOM from 'react-dom';\nimport invariant from 'tiny-invariant';\nimport { layers } from '@atlaskit/theme';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../constants';\nconst createContainer = (zIndex) => {\n const container = document.createElement('div');\n container.setAttribute('class', 'atlaskit-portal');\n container.setAttribute('style', `z-index: ${zIndex};`);\n return container;\n};\nconst getBody = () => {\n invariant(document && document.body, 'cannot find document.body');\n return document.body;\n};\n/**\n * Reverses the name: zIndex object so we can quickly access it using the zIndex value as the key.\n */\nconst zIndexToName = Object.keys(layers).reduce((acc, name) => {\n const layerName = name;\n const value = layers[layerName]();\n acc[value] = layerName;\n return acc;\n}, {});\nconst getLayerName = (zIndex) => {\n return Object.prototype.hasOwnProperty.call(zIndexToName, zIndex)\n ? zIndexToName[zIndex]\n : null;\n};\nconst getEvent = (eventName, zIndex) => {\n const detail = {\n layer: getLayerName(Number(zIndex)),\n zIndex,\n };\n // In ie11 the CustomEvent object exists, but it cannot be used as a constructor\n if (typeof CustomEvent === 'function') {\n return new CustomEvent(eventName, {\n detail,\n });\n }\n // CustomEvent constructor API not supported (ie11)\n // Using `new Event` or `new CustomEvent` does not work in ie11\n const event = document.createEvent('CustomEvent');\n const params = {\n bubbles: true,\n cancellable: true,\n detail,\n };\n event.initCustomEvent(eventName, params.bubbles, params.cancellable, params.detail);\n return event;\n};\nconst firePortalEvent = (eventName, zIndex) => {\n const event = getEvent(eventName, zIndex);\n window.dispatchEvent(event);\n};\nconst getPortalParent = () => {\n const parentElement = document.querySelector('body > .atlaskit-portal-container');\n if (!parentElement) {\n const parent = document.createElement('div');\n parent.setAttribute('class', 'atlaskit-portal-container');\n parent.setAttribute('style', `display: flex;`);\n getBody().appendChild(parent);\n return parent;\n }\n return parentElement;\n};\n// This is a generic component does two things:\n// 1. Portals it's children using React.createPortal\n// 2. Creates the DOM node container for the portal based on props\n// 3. Ensures DOM the container creates it's own stacking context\nclass Portal extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n container: canUseDOM ? createContainer(this.props.zIndex) : undefined,\n portalIsMounted: false,\n };\n }\n componentDidUpdate(prevProps, prevState) {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container && prevProps.zIndex !== zIndex) {\n const newContainer = createContainer(zIndex);\n getPortalParent().replaceChild(container, newContainer);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ container: newContainer });\n }\n else if (!prevState.container && container) {\n // SSR path\n getPortalParent().appendChild(container);\n }\n }\n componentDidMount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().appendChild(container);\n }\n else {\n // SSR path\n const newContainer = createContainer(zIndex);\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ container: newContainer });\n }\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n portalIsMounted: true,\n });\n firePortalEvent(PORTAL_MOUNT_EVENT, Number(zIndex));\n }\n componentWillUnmount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().removeChild(container);\n // clean up parent element if there are no more portals\n const portals = !!document.querySelector('body > .atlaskit-portal-container > .atlaskit-portal');\n if (!portals) {\n getBody().removeChild(getPortalParent());\n }\n }\n firePortalEvent(PORTAL_UNMOUNT_EVENT, Number(zIndex));\n }\n render() {\n const { container, portalIsMounted } = this.state;\n return container && portalIsMounted\n ? ReactDOM.createPortal(this.props.children, container)\n : null;\n }\n}\nPortal.defaultProps = {\n zIndex: 0,\n};\nexport default Portal;\n//# sourceMappingURL=Portal.js.map","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\n\nvar index = (function (condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n }\n\n throw new Error(prefix + ': ' + (message || ''));\n});\n\nexport default index;\n","import styled from 'styled-components';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nconst backgroundColor = themed({\n light: N800,\n dark: DN0,\n});\nconst textColor = themed({\n light: N0,\n dark: DN600,\n});\nexport const TooltipPrimitive = styled.div `\n z-index: ${layers.tooltip};\n pointer-events: none;\n position: fixed;\n`;\nexport const Tooltip = styled(TooltipPrimitive) `\n background-color: ${backgroundColor};\n border-radius: ${borderRadius}px;\n box-sizing: border-box;\n color: ${textColor};\n font-size: 12px;\n left: 0;\n line-height: 1.3;\n max-width: 240px;\n padding: 2px 6px;\n top: 0;\n /* Edge does not support overflow-wrap */\n word-wrap: break-word;\n overflow-wrap: break-word;\n\n ${({ truncate }) => truncate &&\n `\n max-width: 420px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `}\n`;\n// The inline-block here is needed to keep the tooltip appearing in the correct position\n// when nested inside a wider parent (see position: relative example).\nexport const Target = styled.div `\n display: inline-block;\n`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Transition } from 'react-transition-group';\nconst ENTER_DURATION = 120;\nconst EXIT_DURATION = 80;\nconst easing = 'cubic-bezier(0.23, 1, 0.32, 1)'; // easeOutQuint\nconst defaultStyle = (timeout) => ({\n transition: `transform ${timeout.enter}ms ${easing}, opacity ${timeout.enter}ms linear`,\n opacity: 0,\n});\nconst transitionStyle = (state) => {\n const transitions = {\n entering: {},\n entered: {\n opacity: 1,\n },\n exiting: {\n opacity: 0,\n },\n };\n return transitions[state];\n};\nconst getStyle = (timeout, state) => () => ({\n ...defaultStyle(timeout),\n ...transitionStyle(state),\n});\nconst Animation = ({ children, immediatelyHide, immediatelyShow, onExited, in: inProp, }) => {\n const timeout = {\n enter: immediatelyShow ? 0 : ENTER_DURATION,\n exit: immediatelyHide ? 0 : EXIT_DURATION,\n };\n return (React.createElement(Transition, { timeout: timeout, in: inProp, onExited: onExited, unmountOnExit: true, appear: true }, (state) => children(getStyle(timeout, state))));\n};\nexport default Animation;\n//# sourceMappingURL=Animation.js.map","import { name as packageName, version as packageVersion, } from '../../version.json';\nexport const hoveredPayload = {\n action: 'displayed',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\nexport const unhoveredPayload = {\n action: 'hidden',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\n//# sourceMappingURL=analytics-payloads.js.map","/* eslint-disable react/require-default-props */\nimport React from 'react';\nimport flushable from 'flushable';\nimport NodeResolver from 'react-node-resolver';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport { Popper } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport { Tooltip as StyledTooltip } from '../styled';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Animation from './Animation';\nimport { hoveredPayload, unhoveredPayload } from './utils/analytics-payloads';\nconst SCROLL_OPTIONS = { capture: true, passive: true };\nfunction getMousePosition(mouseCoordinates) {\n const safeMouse = mouseCoordinates || { top: 0, left: 0 };\n const getBoundingClientRect = () => {\n return {\n top: safeMouse.top,\n left: safeMouse.left,\n bottom: safeMouse.top,\n right: safeMouse.left,\n width: 0,\n height: 0,\n };\n };\n return {\n getBoundingClientRect,\n clientWidth: 0,\n clientHeight: 0,\n };\n}\nlet pendingHide;\nconst showTooltip = (fn, defaultDelay) => {\n const isHidePending = pendingHide && pendingHide.pending();\n if (isHidePending) {\n pendingHide.flush();\n }\n const pendingShow = flushable(() => fn(isHidePending), isHidePending ? 0 : defaultDelay);\n return pendingShow.cancel;\n};\nconst hideTooltip = (fn, defaultDelay) => {\n pendingHide = flushable(flushed => fn(flushed), defaultDelay);\n return pendingHide.cancel;\n};\nclass Tooltip extends React.Component {\n constructor() {\n super(...arguments);\n this.wrapperRef = null;\n this.targetRef = null;\n this.cancelPendingSetState = () => { };\n this.userInteraction = 'mouse';\n this.state = {\n immediatelyHide: false,\n immediatelyShow: false,\n isVisible: false,\n renderTooltip: false,\n };\n this.handleWindowScroll = () => {\n if (this.state.isVisible) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseClick = () => {\n if (this.props.hideTooltipOnClick) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseDown = () => {\n if (this.props.hideTooltipOnMouseDown) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseOver = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.userInteraction = 'mouse';\n // In the case where a tooltip is newly rendered but immediately becomes hovered,\n // we need to set the coordinates in the mouseOver event.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: e.clientX,\n top: e.clientY,\n });\n }\n this.handleShowTooltip();\n };\n this.handleFocus = () => {\n this.userInteraction = 'keyboard';\n // We need to fake the mouse dimensions even on focus because the code path currently assumes\n // fake mouse element needs to exist before showing the tooltip.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: 0,\n top: 0,\n });\n }\n this.handleShowTooltip();\n };\n this.handleShowTooltip = () => {\n this.cancelPendingSetState();\n if (Boolean(this.props.content) && !this.state.isVisible) {\n this.cancelPendingSetState = showTooltip(immediatelyShow => {\n this.setState({\n isVisible: true,\n renderTooltip: true,\n immediatelyShow,\n });\n }, this.props.delay || 0);\n }\n };\n this.handleHideTooltip = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.cancelPendingSetState();\n if (this.state.isVisible) {\n this.cancelPendingSetState = hideTooltip(immediatelyHide => {\n this.setState({ isVisible: false, immediatelyHide });\n }, this.props.delay || 0);\n }\n };\n // Update mouse coordinates, used when position is 'mouse'.\n // We are not debouncing/throttling this function because we aren't causing any\n // re-renders or performaing any intensive calculations, we're just updating a value.\n // React also doesn't play nice debounced DOM event handlers because they pool their\n // SyntheticEvent objects. Need to use event.persist as a workaround - https://stackoverflow.com/a/24679479/893630\n this.handleMouseMove = (event) => {\n if (!this.state.renderTooltip) {\n this.fakeMouseElement = getMousePosition({\n left: event.clientX,\n top: event.clientY,\n });\n }\n };\n }\n componentWillUnmount() {\n this.cancelPendingSetState();\n this.removeScrollListener();\n }\n componentDidUpdate(_prevProps, prevState) {\n if (!prevState.isVisible && this.state.isVisible) {\n if (this.props.onShow)\n this.props.onShow();\n window.addEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n else if (prevState.isVisible && !this.state.isVisible) {\n if (this.props.onHide)\n this.props.onHide();\n this.removeScrollListener();\n }\n }\n removeScrollListener() {\n window.removeEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n shouldPositionTooltipNearMouse() {\n const { position } = this.props;\n return position === 'mouse' && this.userInteraction === 'mouse';\n }\n render() {\n const { children, position, mousePosition, content, truncate, component: TooltipContainer, tag: TargetContainer, testId, } = this.props;\n const { isVisible, renderTooltip, immediatelyShow, immediatelyHide, } = this.state;\n const tooltipPosition = position === 'mouse' ? mousePosition : position;\n return (\n /* eslint-disable jsx-a11y/mouse-events-have-key-events */\n React.createElement(React.Fragment, null,\n TargetContainer && (React.createElement(TargetContainer, { onClick: this.handleMouseClick, onMouseOver: this.handleMouseOver, onMouseOut: this.handleHideTooltip, onMouseMove: this.handleMouseMove, onMouseDown: this.handleMouseDown, onFocus: this.handleFocus, onBlur: this.handleHideTooltip, ref: (wrapperRef) => {\n this.wrapperRef = wrapperRef;\n } },\n React.createElement(NodeResolver, { innerRef: (ref) => {\n this.targetRef = ref;\n } }, React.Children.only(children)))),\n renderTooltip && this.targetRef && this.fakeMouseElement ? (React.createElement(Portal, { zIndex: layers.tooltip() },\n React.createElement(Popper, { placement: tooltipPosition, referenceElement: \n // https://github.com/FezVrasta/react-popper#usage-without-a-reference-htmlelement\n // We are using a popper technique to pass in a faked element when we use mouse.\n (this.shouldPositionTooltipNearMouse()\n ? this.fakeMouseElement\n : this.targetRef) }, ({ ref, style }) => TooltipContainer && (React.createElement(Animation, { immediatelyShow: immediatelyShow, immediatelyHide: immediatelyHide, onExited: () => this.setState({ renderTooltip: false }), in: isVisible }, getAnimationStyles => (React.createElement(TooltipContainer\n // innerRef can't be null so shortcircuit to undefined if it is.\n , { \n // innerRef can't be null so shortcircuit to undefined if it is.\n innerRef: ref || undefined, className: \"Tooltip\", style: {\n ...getAnimationStyles(),\n ...style,\n }, truncate: truncate || false, \"data-placement\": tooltipPosition, \"data-testid\": testId }, content))))))) : null)\n /* eslint-enable */\n );\n }\n}\nTooltip.defaultProps = {\n component: StyledTooltip,\n delay: 300,\n mousePosition: 'bottom',\n position: 'bottom',\n tag: 'div',\n};\nexport { Tooltip as TooltipWithoutAnalytics };\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'tooltip',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onHide: unhoveredPayload,\n onShow: createAndFireEventOnAtlaskit({ ...hoveredPayload }),\n})(Tooltip));\n//# sourceMappingURL=Tooltip.js.map","import { __makeTemplateObject } from \"tslib\";\nimport { css } from 'styled-components';\nimport { B200, background, DN80A, N200A, N70A } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { AVATAR_RADIUS, AVATAR_SIZES, BORDER_WIDTH, TRANSITION_DURATION, } from './constants';\nvar backgroundColorFocus = B200;\nvar overlayColorDefault = 'transparent';\nvar overlayColorHover = N70A;\nvar overlayColorSelected = N200A;\nvar overlayColorDisabled = themed({\n light: 'rgba(255, 255, 255, 0.7)',\n dark: DN80A,\n});\n// \"square\" avatars are explicit\nexport function getBorderRadius(props, config) {\n if (config === void 0) { config = { includeBorderWidth: false }; }\n var borderWidth = config.includeBorderWidth\n ? BORDER_WIDTH[props.size]\n : 0;\n return props.appearance === 'circle'\n ? '50%'\n : AVATAR_RADIUS[props.size] + borderWidth + \"px\";\n}\nexport var getSize = function (_a) {\n var size = _a.size;\n return AVATAR_SIZES[size];\n}; // for testing\nexport function getAvatarDimensions(_a, config) {\n var size = _a.size;\n if (config === void 0) { config = {\n includeBorderWidth: false,\n sizeOnly: false,\n }; }\n var borderWidth = config.includeBorderWidth\n ? BORDER_WIDTH[size] * 2\n : 0;\n var finalSize = AVATAR_SIZES[size] + borderWidth;\n return config.sizeOnly\n ? finalSize\n : \"\\n height: \" + finalSize + \"px;\\n width: \" + finalSize + \"px;\\n \";\n}\n// expose here for use with multiple element types\nexport function getInnerStyles(props) {\n if (props === void 0) { props = { appearance: 'circle', size: 'medium' }; }\n var boxSizing = 'content-box';\n var borderWidth = BORDER_WIDTH[props.size] + \"px\";\n var isInteractive = Boolean(props.isInteractive || props.href || props.onClick);\n // We make the distinction between isInteractive and isClickable as supplying a tooltip\n // makes the avatar interactive but not clickable\n var isClickable = Boolean(props.href || props.onClick);\n var backgroundColor = props.borderColor || background;\n // Inherit cursor styles so we don't cancel out pointer cursors in places like avatar group more dropdown\n var cursor = 'inherit';\n var outline = 'none';\n var overlayShade = overlayColorDefault;\n var overlayOpacity = 0;\n var pointerEvents = 'auto';\n var position = 'static';\n var transform = 'translateZ(0)';\n var transitionDuration = '0s';\n // Interaction: Hover\n if (isInteractive && (props.isActive || props.isHover)) {\n overlayShade = overlayColorHover;\n overlayOpacity = 1;\n }\n // Interaction: Active\n if (isClickable && props.isActive) {\n transform = 'scale(0.9)';\n }\n // Interaction: Focus\n if (isInteractive && props.isFocus && !props.isActive) {\n outline = 'none';\n backgroundColor = backgroundColorFocus;\n transitionDuration = TRANSITION_DURATION;\n }\n // Disabled\n if (props.isDisabled) {\n cursor = 'not-allowed';\n overlayShade = overlayColorDisabled;\n overlayOpacity = 1;\n pointerEvents = 'none';\n }\n // Clickable\n if (isClickable) {\n cursor = 'pointer';\n }\n // Loading\n if (props.isSelected) {\n overlayShade = overlayColorSelected;\n overlayOpacity = 1;\n }\n // Stack\n if (props.stackIndex) {\n position = 'relative';\n }\n return css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \";\\n align-items: stretch;\\n background-color: \", \";\\n border: 0;\\n border-radius: \", \";\\n padding: \", \";\\n box-sizing: \", \";\\n cursor: \", \";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n outline: \", \";\\n overflow: hidden;\\n pointer-events: \", \";\\n position: \", \";\\n transform: \", \";\\n transition: background-color \", \" ease-out;\\n\\n a &,\\n button & {\\n cursor: pointer;\\n }\\n\\n &::after {\\n background-color: \", \";\\n border-radius: \", \";\\n bottom: \", \";\\n content: ' ';\\n left: \", \";\\n opacity: \", \";\\n pointer-events: none;\\n position: absolute;\\n right: \", \";\\n top: \", \";\\n transition: opacity \", \";\\n }\\n\\n &::-moz-focus-inner {\\n border: 0;\\n margin: 0;\\n padding: 0;\\n }\\n \"], [\"\\n \", \";\\n align-items: stretch;\\n background-color: \", \";\\n border: 0;\\n border-radius: \", \";\\n padding: \", \";\\n box-sizing: \", \";\\n cursor: \", \";\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n outline: \", \";\\n overflow: hidden;\\n pointer-events: \", \";\\n position: \", \";\\n transform: \", \";\\n transition: background-color \", \" ease-out;\\n\\n a &,\\n button & {\\n cursor: pointer;\\n }\\n\\n &::after {\\n background-color: \", \";\\n border-radius: \", \";\\n bottom: \", \";\\n content: ' ';\\n left: \", \";\\n opacity: \", \";\\n pointer-events: none;\\n position: absolute;\\n right: \", \";\\n top: \", \";\\n transition: opacity \", \";\\n }\\n\\n &::-moz-focus-inner {\\n border: 0;\\n margin: 0;\\n padding: 0;\\n }\\n \"])), getAvatarDimensions, backgroundColor, function (p) { return getBorderRadius(p, { includeBorderWidth: true }); }, borderWidth, boxSizing, cursor, outline, pointerEvents, position, transform, transitionDuration, overlayShade, getBorderRadius, borderWidth, borderWidth, overlayOpacity, borderWidth, borderWidth, TRANSITION_DURATION);\n}\nvar templateObject_1;\n//# sourceMappingURL=utils.js.map","import { gridSize } from '@atlaskit/theme/constants';\nexport var TRANSITION_DURATION = '200ms';\nvar gridSizeValue = gridSize();\nexport var AVATAR_SIZES = {\n xsmall: gridSizeValue * 2,\n small: gridSizeValue * 3,\n medium: gridSizeValue * 4,\n large: gridSizeValue * 5,\n xlarge: gridSizeValue * 12,\n xxlarge: gridSizeValue * 16,\n};\n// border radius only applies to \"square\" avatars\nexport var AVATAR_RADIUS = {\n xsmall: 2,\n small: 2,\n medium: 3,\n large: 3,\n xlarge: 6,\n xxlarge: 12,\n};\nexport var BORDER_WIDTH = {\n xsmall: 2,\n small: 2,\n medium: 2,\n large: 2,\n xlarge: 2,\n xxlarge: 2,\n};\n// NOTE: sizes xsmall & xxlarge DO NOT support\n// - groups\n// - presence\n// - status\nexport var EXCESS_INDICATOR_FONT_SIZE = {\n small: 10,\n medium: 11,\n large: 12,\n xlarge: 16,\n};\nexport var ICON_SIZES = {\n small: 12,\n medium: 14,\n large: 15,\n xlarge: 18,\n};\nexport var ICON_OFFSET = {\n small: 0,\n medium: 0,\n large: 1,\n xlarge: 7,\n};\nexport var SQUARE_ICON_OFFSET = {\n small: 0,\n medium: 0,\n large: 0,\n xlarge: 1,\n};\n//# sourceMappingURL=constants.js.map","import { getInnerStyles } from '../styled/utils';\nimport styledCache from './styledCache';\nexport default styledCache(getInnerStyles);\n//# sourceMappingURL=getStyledAvatar.js.map","import { __assign } from \"tslib\";\nimport { DN50, N40 } from '@atlaskit/theme/colors';\nimport { createTheme } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nvar gridSizeValue = gridSize();\nvar AVATAR_SIZES = {\n xsmall: gridSizeValue * 2,\n small: gridSizeValue * 3,\n medium: gridSizeValue * 4,\n large: gridSizeValue * 5,\n xlarge: gridSizeValue * 12,\n xxlarge: gridSizeValue * 16,\n};\n// border radius only applies to \"square\" avatars\nvar AVATAR_RADIUS = {\n xsmall: 2,\n small: 2,\n medium: 3,\n large: 3,\n xlarge: 6,\n xxlarge: 12,\n};\nvar BORDER_WIDTH = {\n xsmall: 2,\n small: 2,\n medium: 2,\n large: 2,\n xlarge: 2,\n xxlarge: 2,\n};\nvar ICON_SIZES = {\n xsmall: 0,\n small: 12,\n medium: 14,\n large: 15,\n xlarge: 18,\n xxlarge: 0,\n};\nvar ICON_OFFSET = {\n xsmall: 0,\n small: 0,\n medium: 0,\n large: 1,\n xlarge: 7,\n xxlarge: 0,\n};\nvar SQUARE_ICON_OFFSET = {\n xsmall: 0,\n small: 0,\n medium: 0,\n large: 0,\n xlarge: 1,\n xxlarge: 0,\n};\nfunction getBackgroundColor(props) {\n var backgroundColors = {\n light: N40,\n dark: DN50,\n };\n return props.mode && props.isLoading\n ? backgroundColors[props.mode]\n : 'transparent';\n}\nfunction getBorderRadius(props) {\n var borderWidth = props.includeBorderWidth ? BORDER_WIDTH[props.size] : 0;\n var borderRadius = props.appearance === 'circle'\n ? '50%'\n : AVATAR_RADIUS[props.size] + borderWidth + \"px\";\n return borderRadius;\n}\nfunction getDimensions(props) {\n var borderWidth = props.includeBorderWidth\n ? BORDER_WIDTH[props.size] * 2\n : 0;\n var size = AVATAR_SIZES[props.size] + borderWidth;\n var width = size + \"px\";\n var height = width;\n return { height: height, width: width };\n}\nvar getPresenceLayout = function (props) {\n var presencePosition = props.appearance === 'square'\n ? -(BORDER_WIDTH[props.size] * 2)\n : ICON_OFFSET[props.size];\n var presenceSize = ICON_SIZES[props.size];\n return {\n bottom: presencePosition + \"px\",\n height: presenceSize + \"px\",\n right: presencePosition + \"px\",\n width: presenceSize + \"px\",\n };\n};\nvar getStatusLayout = function (props) {\n var statusPosition = props.appearance === 'square'\n ? SQUARE_ICON_OFFSET[props.size]\n : ICON_OFFSET[props.size];\n var statusSize = ICON_SIZES[props.size];\n return {\n height: statusSize + \"px\",\n right: statusPosition + \"px\",\n top: statusPosition + \"px\",\n width: statusSize + \"px\",\n };\n};\nvar propsDefaults = {\n appearance: 'circle',\n includeBorderWidth: false,\n isLoading: false,\n mode: 'light',\n presence: 'offline',\n size: 'xsmall',\n};\nexport var Theme = createTheme(function (props) {\n var propsWithDefaults = __assign(__assign({}, propsDefaults), props);\n return {\n backgroundColor: getBackgroundColor(propsWithDefaults),\n borderRadius: getBorderRadius(propsWithDefaults),\n dimensions: getDimensions(propsWithDefaults),\n presence: getPresenceLayout(propsWithDefaults),\n status: getStatusLayout(propsWithDefaults),\n };\n});\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport { Theme } from '../theme';\nvar Avatar = function (props) { return (React.createElement(Theme.Consumer, __assign({}, props, { includeBorderWidth: true }), function (_a) {\n var dimensions = _a.dimensions;\n return (React.createElement(\"div\", { \"data-testid\": props.testId, style: __assign({ display: 'inline-block', position: 'relative', outline: 0, zIndex: props.stackIndex }, dimensions) }, props.children));\n})); };\nexport default Avatar;\nexport var PresenceWrapper = function (props) { return (React.createElement(Theme.Consumer, __assign({}, props, { includeBorderWidth: true }), function (_a) {\n var presence = _a.presence;\n return (React.createElement(\"span\", { style: __assign({ pointerEvents: 'none', position: 'absolute' }, presence) }, props.children));\n})); };\nexport var StatusWrapper = function (props) { return (React.createElement(Theme.Consumer, __assign({}, props, { includeBorderWidth: true }), function (_a) {\n var status = _a.status;\n return (React.createElement(\"span\", { style: __assign({ position: 'absolute' }, status) }, props.children));\n})); };\n//# sourceMappingURL=Avatar.js.map","import { __assign, __makeTemplateObject, __rest } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport { background, DN100, N50 } from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nexport var ShapeGroup = withTheme(styled.g(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n & circle,\\n & rect {\\n fill: \", \";\\n }\\n & g {\\n fill: \", \";\\n }\\n\"], [\"\\n & circle,\\n & rect {\\n fill: \", \";\\n }\\n & g {\\n fill: \", \";\\n }\\n\"])), themed({ light: N50, dark: DN100 }), background));\nexport var Slot = function (_a) {\n var isLoading = _a.isLoading, appearance = _a.appearance, size = _a.size, backgroundImage = _a.backgroundImage, label = _a.label, role = _a.role;\n return (React.createElement(Theme.Consumer, { appearance: appearance, isLoading: isLoading, size: size }, function (_a) {\n var backgroundColor = _a.backgroundColor, borderRadius = _a.borderRadius;\n return (React.createElement(\"span\", { style: {\n backgroundColor: backgroundColor,\n backgroundImage: backgroundImage\n ? \"url(\" + backgroundImage + \")\"\n : undefined,\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n borderRadius: borderRadius,\n display: 'flex',\n flex: '1 1 100%',\n height: '100%',\n width: '100%',\n }, role: role, \"aria-label\": label }));\n }));\n};\nexport var Svg = function (_a) {\n var appearance = _a.appearance, size = _a.size, children = _a.children, isLoading = _a.isLoading, otherProps = __rest(_a, [\"appearance\", \"size\", \"children\", \"isLoading\"]);\n return (React.createElement(Theme.Consumer, { appearance: appearance, isLoading: isLoading, size: size }, function (_a) {\n var backgroundColor = _a.backgroundColor, borderRadius = _a.borderRadius;\n return (React.createElement(\"svg\", __assign({ style: {\n backgroundColor: backgroundColor,\n borderRadius: borderRadius,\n height: '100%',\n width: '100%',\n } }, otherProps), children));\n }));\n};\nvar templateObject_1;\n//# sourceMappingURL=AvatarImage.js.map","import { __extends } from \"tslib\";\nimport React, { PureComponent } from 'react';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { ShapeGroup, Slot, Svg } from '../styled/AvatarImage';\nexport function DefaultImage(_a) {\n var appearance = _a.appearance, size = _a.size, title = _a.title, isLoading = _a.isLoading;\n var rectBounds = 128;\n return (React.createElement(GlobalTheme.Consumer, null, function (_a) {\n var mode = _a.mode;\n return (React.createElement(Svg, { appearance: appearance, isLoading: isLoading, size: size, viewBox: \"0 0 \" + rectBounds + \" \" + rectBounds, version: \"1.1\", xmlns: \"http://www.w3.org/2000/svg\", role: \"img\", \"aria-label\": title }, appearance === 'circle' ? (React.createElement(ShapeGroup, { mode: mode },\n React.createElement(\"circle\", { cx: \"64\", cy: \"64\", r: \"64\" }),\n React.createElement(\"g\", null,\n React.createElement(\"path\", { d: \"M103,102.1388 C93.094,111.92 79.3504,118 64.1638,118 C48.8056,118 34.9294,111.768 25,101.7892 L25,95.2 C25,86.8096 31.981,80 40.6,80 L87.4,80 C96.019,80 103,86.8096 103,95.2 L103,102.1388 Z\" }),\n React.createElement(\"path\", { d: \"M63.9961647,24 C51.2938136,24 41,34.2938136 41,46.9961647 C41,59.7061864 51.2938136,70 63.9961647,70 C76.6985159,70 87,59.7061864 87,46.9961647 C87,34.2938136 76.6985159,24 63.9961647,24\" })))) : (React.createElement(ShapeGroup, { mode: mode },\n React.createElement(\"rect\", { x: \"0\", y: \"0\", width: rectBounds, height: rectBounds }),\n React.createElement(\"g\", { transform: \"translate(19.000000, 32.000000)\" },\n React.createElement(\"path\", { d: \"M18.25,32.5 L54.5833333,32.5 L54.5833333,23.4166667 L18.25,23.4166667 L18.25,32.5 Z M9.16666667,18.8331166 C9.16666667,16.3479549 11.236581,14.3333333 13.7195662,14.3333333 L59.1137671,14.3333333 C61.6282641,14.3333333 63.6666667,16.3815123 63.6666667,18.8331166 L63.6666667,41.5833333 L9.16666667,41.5833333 L9.16666667,18.8331166 Z\" }),\n React.createElement(\"path\", { d: \"M18.25,9.81383682 C18.25,4.7850061 22.3296003,0.708333333 27.3238554,0.708333333 L36.4261446,0.708333333 C41.4374965,0.708333333 45.5,4.76812825 45.5,9.81383682 L45.5,23.4166667 L18.25,23.4166667 L18.25,9.81383682 Z M36.4166667,9.81383682 C36.4166667,9.79803315 36.4184748,9.79303784 36.4207515,9.79166667 L27.3238554,9.79166667 C27.3447224,9.79166667 27.3333333,9.80308059 27.3333333,9.81383682 L27.3333333,14.3333333 L36.4166667,14.3333333 L36.4166667,9.81383682 Z\" }),\n React.createElement(\"path\", { d: \"M11.4386532,55.2083333 L74.9953562,55.2083333 L79.5452242,41.5833333 L9.80449752,41.5833333 L11.4386532,55.2083333 Z M0.1048547,36.987541 C-0.192399775,34.5091405 1.5865717,32.5 4.09502839,32.5 L87.6264735,32.5 C90.1274401,32.5 91.5225656,34.393506 90.7231047,36.7875656 L82.9702846,60.004101 C82.1795402,62.3720582 79.5279445,64.2916667 76.9985338,64.2916667 L7.91963924,64.2916667 C5.41227673,64.2916667 3.14113571,62.3029555 2.84143097,59.8041257 L0.1048547,36.987541 Z\" }))))));\n }));\n}\nvar AvatarImage = /** @class */ (function (_super) {\n __extends(AvatarImage, _super);\n function AvatarImage() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.state = {\n hasError: false,\n isLoading: false,\n };\n _this.handleLoadSuccess = function () {\n _this.setState({ hasError: false, isLoading: false });\n };\n _this.handleLoadError = function () {\n _this.setState({ hasError: true, isLoading: false });\n };\n return _this;\n }\n AvatarImage.prototype.componentDidMount = function () {\n if (this.props.src) {\n // check whether there was a problem loading the image\n // if handleLoadError is called we show the default avatar\n var img = new Image();\n img.onerror = this.handleLoadError;\n img.src = this.props.src || '';\n }\n };\n AvatarImage.prototype.componentDidUpdate = function (prevProps) {\n var _this = this;\n if (this.props.src && this.props.src !== prevProps.src) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ isLoading: true }, function () {\n var img = new Image();\n img.onload = _this.handleLoadSuccess;\n img.onerror = _this.handleLoadError;\n img.src = _this.props.src || '';\n });\n }\n };\n AvatarImage.prototype.render = function () {\n var _a = this.props, alt = _a.alt, src = _a.src, appearance = _a.appearance, size = _a.size;\n var _b = this.state, hasError = _b.hasError, isLoading = _b.isLoading;\n var showDefault = !isLoading && (!src || hasError);\n var imageUrl = src && !isLoading ? src : undefined;\n return showDefault ? (React.createElement(DefaultImage, { appearance: appearance, size: size, title: alt, isLoading: isLoading })) : (React.createElement(Slot, { appearance: appearance, isLoading: isLoading, size: size, role: \"img\", label: alt, backgroundImage: imageUrl }));\n };\n return AvatarImage;\n}(PureComponent));\nexport default AvatarImage;\n//# sourceMappingURL=AvatarImage.js.map","import { __assign, __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nvar Svg = function (props) { return (React.createElement(\"svg\", __assign({ height: \"100%\", version: \"1.1\", viewBox: \"0 0 8 8\", width: \"100%\", xmlns: \"http://www.w3.org/2000/svg\" }, props))); };\nvar BusyCircle = withTheme(styled.circle(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.R300, dark: colors.R200 })));\nvar BusyPath = withTheme(styled.path(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), colors.background));\nvar FocusPath = withTheme(styled.path(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), colors.purple));\nvar OfflineOuter = withTheme(styled.path(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.N200, dark: colors.DN100 })));\nvar OfflineInner = withTheme(styled.path(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.N40, dark: colors.DN500 })));\nvar OnlineCircle = withTheme(styled.circle(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.G300, dark: colors.G200 })));\nexport default function getPresenceSvg(presence) {\n switch (presence) {\n case 'busy':\n return (React.createElement(Svg, null,\n React.createElement(BusyCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n React.createElement(BusyPath, { d: \"M3.3,1.9l2.8,2.8c0.2,0.2,0.2,0.5,0,0.7L5.4,6.1c-0.2,0.2-0.5,0.2-0.7,0L1.9,3.3c-0.2-0.2-0.2-0.5,0-0.7l0.7-0.7C2.8,1.7,3.1,1.7,3.3,1.9z\" })));\n case 'focus':\n return (React.createElement(Svg, null,\n React.createElement(FocusPath, { d: \"M4,8 C1.790861,8 0,6.209139 0,4 C0,1.790861 1.790861,0 4,0 C6.209139,0 8,1.790861 8,4 C8,6.209139 6.209139,8 4,8 Z M4,6.66666667 C5.47275933,6.66666667 6.66666667,5.47275933 6.66666667,4 C6.66666667,2.52724067 5.47275933,1.33333333 4,1.33333333 C2.52724067,1.33333333 1.33333333,2.52724067 1.33333333,4 C1.33333333,5.47275933 2.52724067,6.66666667 4,6.66666667 Z M4,5.33333333 C3.26362033,5.33333333 2.66666667,4.73637967 2.66666667,4 C2.66666667,3.26362033 3.26362033,2.66666667 4,2.66666667 C4.73637967,2.66666667 5.33333333,3.26362033 5.33333333,4 C5.33333333,4.73637967 4.73637967,5.33333333 4,5.33333333 Z\" })));\n case 'offline':\n return (React.createElement(Svg, null,\n React.createElement(OfflineOuter, { d: \"M4,8 C6.209139,8 8,6.209139 8,4 C8,1.790861 6.209139,0 4,0 C1.790861,0 0,1.790861 0,4 C0,6.209139 1.790861,8 4,8 Z M4,6 C5.1045695,6 6,5.1045695 6,4 C6,2.8954305 5.1045695,2 4,2 C2.8954305,2 2,2.8954305 2,4 C2,5.1045695 2.8954305,6 4,6 Z\" }),\n React.createElement(OfflineInner, { d: \"M4,6 C5.1045695,6 6,5.1045695 6,4 C6,2.8954305 5.1045695,2 4,2 C2.8954305,2 2,2.8954305 2,4 C2,5.1045695 2.8954305,6 4,6 Z\" })));\n case 'online':\n return (React.createElement(Svg, null,\n React.createElement(OnlineCircle, { cx: \"4\", cy: \"4\", r: \"4\" })));\n default:\n return null;\n }\n}\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=getPresenceSVG.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport { background } from '@atlaskit/theme/colors';\nimport { withTheme } from '@atlaskit/theme/components';\nimport { BORDER_WIDTH } from './constants';\nexport var Outer = withTheme(styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n align-content: center;\\n align-items: center;\\n background-color: \", \";\\n border-radius: 50%;\\n box-sizing: border-box;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n padding: \", \"px;\\n width: 100%;\\n\"], [\"\\n align-content: center;\\n align-items: center;\\n background-color: \", \";\\n border-radius: 50%;\\n box-sizing: border-box;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n padding: \",\n \"px;\\n width: 100%;\\n\"])), function (props) { return props.bgColor || background; }, function (_a) {\n var size = _a.size;\n return (size && BORDER_WIDTH[size]) || BORDER_WIDTH.medium;\n}));\nexport var Inner = styled.span(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n align-items: center;\\n border-radius: 50%;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n width: 100%;\\n\"], [\"\\n align-items: center;\\n border-radius: 50%;\\n display: flex;\\n height: 100%;\\n overflow: hidden;\\n width: 100%;\\n\"])));\nvar templateObject_1, templateObject_2;\n//# sourceMappingURL=Icon.js.map","import { __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport getPresenceSVG from '../helpers/getPresenceSVG';\nimport { Inner, Outer } from '../styled/Icon';\nvar Presence = /** @class */ (function (_super) {\n __extends(Presence, _super);\n function Presence() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Presence.prototype.render = function () {\n var _a = this.props, borderColor = _a.borderColor, children = _a.children, presence = _a.presence, size = _a.size;\n return (React.createElement(Outer, { size: size, bgColor: borderColor },\n React.createElement(Inner, null, children || (presence && getPresenceSVG(presence)))));\n };\n return Presence;\n}(Component));\nexport default Presence;\n//# sourceMappingURL=Presence.js.map","import { __assign, __makeTemplateObject } from \"tslib\";\nimport React from 'react';\nimport styled from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed, withTheme } from '@atlaskit/theme/components';\nvar Svg = function (props) { return (React.createElement(\"svg\", __assign({ height: \"100%\", version: \"1.1\", viewBox: \"0 0 8 8\", width: \"100%\", xmlns: \"http://www.w3.org/2000/svg\" }, props))); };\nvar ApprovedCircle = withTheme(styled.circle(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.G400, dark: colors.G300 })));\nvar ApprovedPath = withTheme(styled.path(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), colors.background));\nvar DeclinedCircle = withTheme(styled.circle(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.R400, dark: colors.R300 })));\nvar DeclinedPath = withTheme(styled.path(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), colors.background));\nvar LockedCircle = withTheme(styled.circle(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.N40, dark: colors.DN800 })));\nvar LockedPath = withTheme(styled.path(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n fill: \", \";\\n\"], [\"\\n fill: \", \";\\n\"])), themed({ light: colors.N500, dark: colors.DN30 })));\nexport default function getStatusSvg(status) {\n switch (status) {\n case 'approved':\n return (React.createElement(Svg, null,\n React.createElement(ApprovedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n React.createElement(ApprovedPath, { d: \"M2.47140452,3.52859548 C2.21105499,3.26824595 1.78894501,3.26824595 1.52859548,3.52859548 C1.26824595,3.78894501 1.26824595,4.21105499 1.52859548,4.47140452 L2.86192881,5.80473785 C3.12227834,6.06508738 3.54438833,6.06508738 3.80473785,5.80473785 L6.47140452,3.13807119 C6.73175405,2.87772166 6.73175405,2.45561167 6.47140452,2.19526215 C6.21105499,1.93491262 5.78894501,1.93491262 5.52859548,2.19526215 L3.33333333,4.39052429 L2.47140452,3.52859548 Z\" })));\n case 'declined':\n return (React.createElement(Svg, null,\n React.createElement(DeclinedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n React.createElement(DeclinedPath, { d: \"M4.890661,4.0088336 L5.81806461,3.07802178 C6.06167933,2.83351177 6.06048933,2.43826992 5.81540668,2.19522442 C5.57032402,1.95217891 5.17415651,1.95336612 4.93054179,2.19787613 L4.00765946,3.12415007 L3.06906871,2.18377143 C2.82523777,1.93947602 2.42906937,1.93863765 2.18420182,2.18189887 C1.93933427,2.42516008 1.93849394,2.82040282 2.18232488,3.06469822 L3.12544091,4.00961077 L2.20275024,4.93569234 C1.95913552,5.18020236 1.96032551,5.5754442 2.20540817,5.81848971 C2.45049083,6.06153521 2.84665833,6.060348 3.09027306,5.81583799 L4.00844245,4.89429431 L4.9092123,5.79678001 C5.15304324,6.04107541 5.54921164,6.04191379 5.79407919,5.79865257 C6.03894674,5.55539135 6.03978708,5.16014862 5.79595614,4.91585321 L4.890661,4.0088336 Z\" })));\n case 'locked':\n return (React.createElement(Svg, null,\n React.createElement(LockedCircle, { cx: \"4\", cy: \"4\", r: \"4\" }),\n React.createElement(LockedPath, { d: \"M4.13074827,1.21766493 L4.10368158,1.21766493 C3.36340745,1.21766493 2.76388015,1.80793503 2.76388015,2.5367787 L2.76388015,3.21632216 L3.44054754,3.21632216 L3.44054754,2.54344089 C3.44054754,2.17901906 3.74031119,1.88388401 4.11044825,1.88388401 L4.1239816,1.88388401 C4.49411866,1.88388401 4.79388232,2.17901906 4.79388232,2.54344089 L4.79388232,3.21632216 L5.47054971,3.21632216 L5.47054971,2.5367787 C5.47054971,1.80793503 4.8710224,1.21766493 4.13074827,1.21766493 M2.76388015,3.21632216 L3.44054754,3.21632216 L3.44054754,3.88254123 L2.76388015,3.88254123 L2.76388015,3.21632216 Z M4.79388232,3.21632216 L5.47054971,3.21632216 L5.47054971,3.88254123 L4.79388232,3.88254123 L4.79388232,3.21632216 Z M4.79401765,3.88254123 L3.44068287,3.88254123 L2.76401548,3.88254123 C2.39049508,3.88254123 2.08734809,4.18100738 2.08734809,4.54876031 L2.08734809,5.54808892 C2.08734809,6.10000287 2.53735205,6.54741753 3.09094491,6.54741753 L5.14375561,6.54741753 C5.69802683,6.54741753 6.14735243,6.10385072 6.14735243,5.54808892 L6.14735243,4.54876031 C6.14735243,4.18100738 5.84420544,3.88254123 5.47068504,3.88254123 L4.79401765,3.88254123 Z\" })));\n default:\n return null;\n }\n}\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n//# sourceMappingURL=getStatusSVG.js.map","import { __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport getStatusSVG from '../helpers/getStatusSVG';\nimport { Inner, Outer } from '../styled/Icon';\nvar Status = /** @class */ (function (_super) {\n __extends(Status, _super);\n function Status() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Status.prototype.render = function () {\n var _a = this.props, borderColor = _a.borderColor, children = _a.children, status = _a.status, size = _a.size;\n return (React.createElement(Outer, { size: size, bgColor: borderColor },\n React.createElement(Inner, null, children || (status && getStatusSVG(status)))));\n };\n return Status;\n}(Component));\nexport default Status;\n//# sourceMappingURL=Status.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React, { Component } from 'react';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport Tooltip from '@atlaskit/tooltip';\nimport { getProps, getStyledAvatar } from '../helpers';\nimport { mapProps, withPseudoState } from '../hoc';\nimport Outer, { PresenceWrapper, StatusWrapper } from '../styled/Avatar';\nimport { ICON_SIZES } from '../styled/constants';\nimport { Theme } from '../theme';\nimport { omit } from '../utils';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport AvatarImage from './AvatarImage';\nimport { propsOmittedFromClickData } from './constants';\nimport Presence from './Presence';\nimport Status from './Status';\nvar validIconSizes = Object.keys(ICON_SIZES);\nvar warn = function (message) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n console.warn(message); // eslint-disable-line no-console\n }\n};\nvar Avatar = /** @class */ (function (_super) {\n __extends(Avatar, _super);\n function Avatar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\n _this.clickAnalyticsCaller = function () {\n var createAnalyticsEvent = _this.props.createAnalyticsEvent;\n return createAnalyticsEvent\n ? _this.createAndFireEventOnAtlaskit({\n action: 'clicked',\n actionSubject: 'avatar',\n attributes: {\n componentName: 'avatar',\n packageName: packageName,\n packageVersion: packageVersion,\n },\n })(createAnalyticsEvent)\n : undefined;\n };\n // expose blur/focus to consumers via ref\n _this.blur = function () {\n if (_this.ref)\n _this.ref.blur();\n };\n _this.focus = function () {\n if (_this.ref)\n _this.ref.focus();\n };\n // disallow click on disabled avatars\n // only return avatar data properties\n _this.guardedClick = function (event) {\n var _a = _this.props, isDisabled = _a.isDisabled, onClick = _a.onClick;\n if (isDisabled || typeof onClick !== 'function')\n return;\n var item = omit.apply(void 0, __spread([_this.props], propsOmittedFromClickData));\n var analyticsEvent = _this.clickAnalyticsCaller();\n onClick({ item: item, event: event }, analyticsEvent);\n };\n // enforce status / presence rules\n /* eslint-disable no-console */\n _this.renderIcon = function () {\n var _a = _this.props, appearance = _a.appearance, borderColor = _a.borderColor, presence = _a.presence, status = _a.status;\n var showPresence = Boolean(presence);\n var showStatus = Boolean(status);\n // no icon needed\n if (!showStatus && !showPresence) {\n return null;\n }\n if (showStatus && showPresence) {\n warn('Avatar supports `presence` OR `status` properties, not both.');\n return null;\n }\n // only support particular sizes\n if (validIconSizes.indexOf(_this.props.size) === -1) {\n warn(\"Avatar size \\\"\" + String(_this.props.size) + \"\\\" does NOT support \" + (showPresence ? 'presence' : 'status'));\n return null;\n }\n // we can cast here because we already know that it is a valid icon size\n var size = _this.props.size;\n var indicator = (function () {\n if (showPresence) {\n var customPresenceNode = typeof presence === 'object' ? presence : null;\n return (React.createElement(PresenceWrapper, { appearance: appearance, size: size },\n React.createElement(Presence, { borderColor: borderColor, presence: !customPresenceNode && presence, size: size }, customPresenceNode)));\n }\n // showStatus\n var customStatusNode = typeof status === 'object' ? status : null;\n return (React.createElement(StatusWrapper, { appearance: appearance, size: size },\n React.createElement(Status, { borderColor: borderColor, status: !customStatusNode && status, size: size }, customStatusNode)));\n })();\n return indicator;\n };\n _this.setRef = function (ref) {\n _this.ref = ref;\n };\n return _this;\n }\n Avatar.prototype.render = function () {\n var _a = this.props, appearance = _a.appearance, enableTooltip = _a.enableTooltip, name = _a.name, size = _a.size, src = _a.src, stackIndex = _a.stackIndex, onClick = _a.onClick, theme = _a.theme, testId = _a.testId;\n // distill props from context, props, and state\n var enhancedProps = getProps(this);\n // provide element interface based on props\n var Inner = getStyledAvatar(this.props);\n Inner.displayName = 'Inner';\n var AvatarNode = (React.createElement(Theme.Provider, { value: theme },\n React.createElement(Outer, { size: size, stackIndex: stackIndex, testId: testId },\n React.createElement(Inner, __assign({ innerRef: this.setRef }, enhancedProps, { onClick: onClick != null ? this.guardedClick : undefined }),\n React.createElement(AvatarImage, { alt: name, appearance: appearance, size: size, src: src })),\n this.renderIcon())));\n return enableTooltip && name ? (React.createElement(Tooltip, { content: name }, AvatarNode)) : (AvatarNode);\n };\n Avatar.defaultProps = {\n appearance: 'circle',\n enableTooltip: true,\n size: 'medium',\n };\n return Avatar;\n}(Component));\nexport var AvatarWithoutAnalytics = mapProps({\n appearance: function (props) { return props.appearance || Avatar.defaultProps.appearance; },\n isInteractive: function (props) {\n return Boolean((typeof props.enableTooltip !== 'undefined'\n ? props.enableTooltip\n : Avatar.defaultProps.enableTooltip) && props.name);\n },\n})(withPseudoState(Avatar));\nexport default withAnalyticsContext({\n componentName: 'avatar',\n packageName: packageName,\n packageVersion: packageVersion,\n})(withAnalyticsEvents()(AvatarWithoutAnalytics));\n//# sourceMappingURL=Avatar.js.map","import { __assign, __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport { getDisplayName } from '../utils';\nexport default function mapProps(mapping) {\n return function (DecoratedComponent) { var _a; return _a = /** @class */ (function (_super) {\n __extends(MapProps, _super);\n function MapProps() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // expose blur/focus to consumers via ref\n _this.blur = function () {\n // @ts-ignore accessing component internals\n if (_this.component && _this.component.blur)\n _this.component.blur();\n };\n _this.focus = function () {\n // @ts-ignore accessing component internals\n if (_this.component && _this.component.focus)\n _this.component.focus();\n };\n _this.setComponent = function (component) {\n _this.component = component;\n };\n return _this;\n }\n MapProps.prototype.render = function () {\n var _this = this;\n var mapped = __assign(__assign({}, this.props), Object.keys(mapping).reduce(function (acc, key) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[key] = mapping[key](_this.props), _a)));\n }, {}));\n return React.createElement(DecoratedComponent, __assign({ ref: this.setComponent }, mapped));\n };\n return MapProps;\n }(Component)),\n _a.displayName = getDisplayName('mapProps', DecoratedComponent),\n _a.DecoratedComponent = DecoratedComponent,\n _a; };\n}\n//# sourceMappingURL=mapProps.js.map","export var propsOmittedFromClickData = [\n 'onBlur',\n 'onClick',\n 'onFocus',\n 'onKeyDown',\n 'onKeyUp',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseUp',\n];\n//# sourceMappingURL=constants.js.map","import { __assign } from \"tslib\";\nvar getAppearanceProps = function (props) { return ({\n appearance: props.appearance,\n backgroundColor: props.backgroundColor,\n borderColor: props.borderColor,\n groupAppearance: props.groupAppearance,\n isActive: props.isActive,\n isDisabled: props.isDisabled,\n isFocus: props.isFocus,\n isHover: props.isHover,\n isInteractive: props.isInteractive,\n isSelected: props.isSelected,\n size: props.size,\n stackIndex: props.stackIndex,\n}); };\nvar getInteractionProps = function (props) { return ({\n onBlur: props.onBlur,\n onClick: props.onClick,\n onFocus: props.onFocus,\n onKeyDown: props.onKeyDown,\n onKeyUp: props.onKeyUp,\n onMouseDown: props.onMouseDown,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onMouseUp: props.onMouseUp,\n tabIndex: props.tabIndex,\n}); };\nvar getLinkElementProps = function (props) {\n var href = props.href, target = props.target;\n // handle security issue for consumer\n // https://mathiasbynens.github.io/rel-noopener\n var rel = target === '_blank' ? 'noopener noreferrer' : null;\n return { href: href, rel: rel, target: target };\n};\nvar getButtonElementProps = function (props) {\n var id = props.id, isDisabled = props.isDisabled;\n return { id: id, interface: 'button', disabled: isDisabled };\n};\nexport default function getProps(component) {\n var props = component.props;\n var defaultProps = __assign(__assign({}, getAppearanceProps(props)), getInteractionProps(props));\n if (props.component) {\n return __assign(__assign({}, defaultProps), props);\n }\n if (props.href) {\n if (props.isDisabled) {\n return defaultProps;\n }\n return __assign(__assign({}, defaultProps), getLinkElementProps(props));\n }\n if (props.onClick) {\n return __assign(__assign({}, defaultProps), getButtonElementProps(props));\n }\n return defaultProps;\n}\n//# sourceMappingURL=getProps.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport React, { Component } from 'react';\n/**\n * Styling a avatar is complicated and there are a number of properties which\n * inform its appearance. We want to be able to style any arbitrary component\n * like a Link, but we don't want to pass all of these appearance-related props\n * through to the component or underlying DOM node. This component acts as a\n * layer which catches the appearance-related properties so that they can be\n * used by styled-components, then passes the rest of the props on to the custom\n * component.\n */\nvar CustomComponentProxy = /** @class */ (function (_super) {\n __extends(CustomComponentProxy, _super);\n function CustomComponentProxy() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomComponentProxy.prototype.render = function () {\n var _a = this.props, appearance = _a.appearance, avatar = _a.avatar, borderColor = _a.borderColor, ProxiedComponent = _a.component, enableTooltip = _a.enableTooltip, groupAppearance = _a.groupAppearance, innerRef = _a.innerRef, isActive = _a.isActive, isDisabled = _a.isDisabled, isFocus = _a.isFocus, isHover = _a.isHover, isSelected = _a.isSelected, primaryText = _a.primaryText, secondaryText = _a.secondaryText, stackIndex = _a.stackIndex, rest = __rest(_a, [\"appearance\", \"avatar\", \"borderColor\", \"component\", \"enableTooltip\", \"groupAppearance\", \"innerRef\", \"isActive\", \"isDisabled\", \"isFocus\", \"isHover\", \"isSelected\", \"primaryText\", \"secondaryText\", \"stackIndex\"]);\n return ProxiedComponent ? React.createElement(ProxiedComponent, __assign({}, rest)) : null;\n };\n return CustomComponentProxy;\n}(Component));\nexport default CustomComponentProxy;\n//# sourceMappingURL=CustomComponentProxy.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled from 'styled-components';\nimport { withTheme } from '@atlaskit/theme/components';\nimport CustomComponentProxy from '../components/CustomComponentProxy';\n// This is necessary because we don't know what DOM element the custom component will render.\nexport default (function (styles) {\n var StyledCustomComponent = withTheme(styled(CustomComponentProxy)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n &,\\n &:hover,\\n &:active,\\n &:focus {\\n \", \"\\n }\\n \"], [\"\\n &,\\n &:hover,\\n &:active,\\n &:focus {\\n \", \"\\n }\\n \"])), styles));\n var StyledButton = withTheme(styled.button(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n \", \";\\n \"], [\"\\n \", \";\\n \"])), styles));\n var StyledLink = withTheme(styled.a(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n a& {\\n \", \";\\n }\\n \"], [\"\\n a& {\\n \", \";\\n }\\n \"])), styles));\n var StyledSpan = withTheme(styled.span(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n \", \";\\n \"], [\"\\n \", \";\\n \"])), styles));\n return function getStyled(_a) {\n var component = _a.component, href = _a.href, onClick = _a.onClick;\n var Ret = StyledSpan;\n if (component) {\n Ret = StyledCustomComponent;\n }\n else if (href) {\n Ret = StyledLink;\n }\n else if (onClick) {\n Ret = StyledButton;\n }\n return Ret;\n };\n});\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n//# sourceMappingURL=styledCache.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React, { Component } from 'react';\nimport { getDisplayName } from '../utils';\nexport default function withPseudoState(WrappedComponent) {\n var _a;\n return _a = /** @class */ (function (_super) {\n __extends(ComponentWithPseudoState, _super);\n function ComponentWithPseudoState() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.component = null;\n _this.actionKeys = [];\n _this.state = {\n isActive: Boolean(_this.props.isActive),\n isFocus: Boolean(_this.props.isActive),\n isHover: Boolean(_this.props.isActive),\n isInteractive: Boolean(_this.props.href || _this.props.isInteractive || _this.props.onClick),\n };\n _this.blur = function () {\n // @ts-ignore reaching into the instance\n if (_this.component && _this.component.blur)\n _this.component.blur();\n };\n _this.focus = function () {\n // @ts-ignore reaching into the instance\n if (_this.component && _this.component.focus)\n _this.component.focus();\n };\n _this.setComponent = function (component) {\n _this.component = component;\n };\n _this.onBlur = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: false, isFocus: false });\n if (_this.props.onBlur) {\n (_a = _this.props).onBlur.apply(_a, __spread(args));\n }\n };\n _this.onFocus = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isFocus: true });\n if (_this.props.onFocus) {\n (_a = _this.props).onFocus.apply(_a, __spread(args));\n }\n };\n _this.onMouseLeave = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: false, isHover: false });\n if (_this.props.onMouseLeave) {\n (_a = _this.props).onMouseLeave.apply(_a, __spread(args));\n }\n };\n _this.onMouseEnter = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isHover: true });\n if (_this.props.onMouseEnter) {\n (_a = _this.props).onMouseEnter.apply(_a, __spread(args));\n }\n };\n _this.onMouseUp = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: false });\n if (_this.props.onMouseUp) {\n (_a = _this.props).onMouseUp.apply(_a, __spread(args));\n }\n };\n _this.onMouseDown = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n _this.setState({ isActive: true });\n if (_this.props.onMouseDown) {\n (_a = _this.props).onMouseDown.apply(_a, __spread(args));\n }\n };\n _this.onKeyDown = function (event) {\n var _a;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n if (_this.actionKeys.indexOf(event.key) > -1) {\n _this.setState({ isActive: true });\n }\n if (_this.props.onKeyDown) {\n (_a = _this.props).onKeyDown.apply(_a, __spread([event], rest));\n }\n };\n _this.onKeyUp = function (event) {\n var _a;\n var rest = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n rest[_i - 1] = arguments[_i];\n }\n if (_this.actionKeys.indexOf(event.key) > -1) {\n _this.setState({ isActive: false });\n }\n if (_this.props.onKeyUp) {\n (_a = _this.props).onKeyUp.apply(_a, __spread([event], rest));\n }\n };\n return _this;\n }\n ComponentWithPseudoState.prototype.UNSAFE_componentWillMount = function () {\n var _a = this.props, href = _a.href, isInteractive = _a.isInteractive, onClick = _a.onClick;\n if (href || isInteractive || onClick) {\n this.actionKeys = onClick || isInteractive ? ['Enter', ' '] : ['Enter'];\n }\n };\n ComponentWithPseudoState.prototype.render = function () {\n return (React.createElement(WrappedComponent, __assign({ ref: this.setComponent }, this.state, this.props, (this.state.isInteractive && {\n onBlur: this.onBlur,\n onFocus: this.onFocus,\n onMouseLeave: this.onMouseLeave,\n onMouseEnter: this.onMouseEnter,\n onMouseUp: this.onMouseUp,\n onMouseDown: this.onMouseDown,\n onKeyDown: this.onKeyDown,\n onKeyUp: this.onKeyUp,\n }))));\n };\n return ComponentWithPseudoState;\n }(Component)),\n _a.displayName = getDisplayName('withPseudoState', WrappedComponent),\n _a;\n}\n//# sourceMappingURL=withPseudoState.js.map","import { __assign, __values } from \"tslib\";\nexport function omit(obj) {\n var e_1, _a;\n var keysToOmit = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n keysToOmit[_i - 1] = arguments[_i];\n }\n var newObj = __assign({}, obj);\n try {\n for (var keysToOmit_1 = __values(keysToOmit), keysToOmit_1_1 = keysToOmit_1.next(); !keysToOmit_1_1.done; keysToOmit_1_1 = keysToOmit_1.next()) {\n var key = keysToOmit_1_1.value;\n delete newObj[key];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (keysToOmit_1_1 && !keysToOmit_1_1.done && (_a = keysToOmit_1.return)) _a.call(keysToOmit_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return newObj;\n}\nexport function getDisplayName(prefix, Component) {\n var componentName = Component.displayName || Component.name;\n return componentName ? prefix + \"(\" + componentName + \")\" : prefix;\n}\n//# sourceMappingURL=utils.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport Theme from './components/Theme';\n// Pre-executes the (global) theme and passes it as a prop to the supplied component.\n// This is useful for ensuring that the current theme is accessible as props\n// in styled-components.\nexport function withTheme(InnerComponent) {\n return function ComponentWithTheme(props) {\n return (React.createElement(Theme.Consumer, null, (tokens) => (React.createElement(InnerComponent, Object.assign({}, props, { theme: tokens })))));\n };\n}\n//# sourceMappingURL=hoc.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, 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 return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(value, analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","/** @jsx jsx */\nimport { forwardRef, memo, useCallback, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport noop from '@atlaskit/ds-lib/noop';\nimport { DN90A, N100A } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { layers } from '@atlaskit/theme/constants';\nconst packageName = \"@atlaskit/blanket\";\nconst packageVersion = \"12.4.3\";\nconst analyticsAttributes = {\n componentName: 'blanket',\n packageName,\n packageVersion\n};\nconst baseStyles = css({\n position: 'fixed',\n zIndex: layers.blanket(),\n inset: 0,\n overflowY: 'auto',\n pointerEvents: 'initial'\n});\nconst shouldAllowClickThroughStyles = css({\n pointerEvents: 'none'\n});\nconst invisibleStyles = css({\n backgroundColor: 'transparent'\n});\nconst lightBgStyles = css({\n backgroundColor: `var(--ds-blanket, ${N100A})`\n});\nconst darkBgStyles = css({\n backgroundColor: `var(--ds-blanket, ${DN90A})`\n});\nconst backgroundStyle = {\n light: lightBgStyles,\n dark: darkBgStyles\n};\n\n/**\n * __Blanket__\n *\n * A Blanket provides the overlay layer for components such as a modal dialog or a tooltip\n *\n * - [Examples](https://atlaskit.atlassian.com/examples/design-system/blanket/basic-usage)\n */\nconst Blanket = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Blanket({\n shouldAllowClickThrough = false,\n isTinted = false,\n onBlanketClicked = noop,\n testId,\n children,\n analyticsContext\n}, ref) {\n const {\n mode\n } = useGlobalTheme();\n const mouseDownTarget = useRef(null);\n const onBlanketClickedWithAnalytics = usePlatformLeafEventHandler({\n fn: onBlanketClicked,\n action: 'clicked',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const blanketClickOutsideChildren = useCallback(e => e.currentTarget === e.target && mouseDownTarget.current === e.target ? onBlanketClickedWithAnalytics(e) : undefined, [onBlanketClickedWithAnalytics]);\n const onClick = shouldAllowClickThrough ? undefined : blanketClickOutsideChildren;\n const onMouseDown = useCallback(e => {\n mouseDownTarget.current = e.target;\n }, []);\n return jsx(\"div\", {\n role: \"presentation\",\n css: [baseStyles, shouldAllowClickThrough && shouldAllowClickThroughStyles, backgroundStyle[mode], !isTinted && invisibleStyles],\n onClick: onClick,\n onMouseDown: onMouseDown,\n \"data-testid\": testId,\n ref: ref\n }, children);\n}));\nBlanket.displayName = 'Blanket';\nexport default Blanket;","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n/** @jsx jsx */\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar core_1 = require(\"@emotion/core\");\nvar memoize_one_1 = tslib_1.__importDefault(require(\"memoize-one\"));\nvar analytics_next_1 = require(\"@atlaskit/analytics-next\");\nvar components_1 = tslib_1.__importDefault(require(\"@atlaskit/theme/components\"));\nvar theme_1 = require(\"../theme\");\nvar version_json_1 = require(\"../version.json\");\nvar Content_1 = tslib_1.__importDefault(require(\"./Content\"));\nvar IconWrapper_1 = tslib_1.__importDefault(require(\"./IconWrapper\"));\nvar InnerWrapper_1 = tslib_1.__importDefault(require(\"./InnerWrapper\"));\nvar LoadingSpinner_1 = tslib_1.__importDefault(require(\"./LoadingSpinner\"));\nvar utils_1 = require(\"./utils\");\nvar Button = /** @class */ (function (_super) {\n tslib_1.__extends(Button, _super);\n function Button() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n // ref can be a range of things because we render button, a, span or other React components\n _this.button = react_1.default.createRef();\n // Makes sure we don't call ref every render.\n _this.getComposedRefs = memoize_one_1.default(utils_1.composeRefs);\n _this.state = {\n isActive: false,\n isFocus: false,\n isHover: false,\n };\n _this.isInteractive = function () { return !_this.props.isDisabled && !_this.props.isLoading; };\n _this.onMouseEnter = function (e) {\n _this.setState({ isHover: true });\n if (_this.props.onMouseEnter) {\n _this.props.onMouseEnter(e);\n }\n };\n _this.onMouseLeave = function (e) {\n _this.setState({ isHover: false, isActive: false });\n if (_this.props.onMouseLeave) {\n _this.props.onMouseLeave(e);\n }\n };\n _this.onMouseDown = function (e) {\n e.preventDefault();\n _this.setState({ isActive: true });\n if (_this.props.onMouseDown) {\n _this.props.onMouseDown(e);\n }\n };\n _this.onMouseUp = function (e) {\n _this.setState({ isActive: false });\n if (_this.props.onMouseUp) {\n _this.props.onMouseUp(e);\n }\n };\n _this.onFocus = function (event) {\n _this.setState({ isFocus: true });\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n };\n _this.onBlur = function (event) {\n _this.setState({ isFocus: false });\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n };\n _this.getElement = function () {\n var _a = _this.props, href = _a.href, isDisabled = _a.isDisabled;\n if (href) {\n return isDisabled ? 'span' : 'a';\n }\n return 'button';\n };\n // Swallow click events when the button is disabled\n // to prevent inner child clicks bubbling up.\n _this.onInnerClick = function (e) {\n if (!_this.isInteractive()) {\n e.stopPropagation();\n }\n return true;\n };\n return _this;\n }\n Button.prototype.componentDidMount = function () {\n if (this.props.autoFocus && this.button instanceof HTMLButtonElement) {\n this.button.focus();\n }\n };\n Button.prototype.render = function () {\n var _this = this;\n var _a = this.props, _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, children = _a.children, className = _a.className, CustomComponent = _a.component, consumerRef = _a.consumerRef, iconAfter = _a.iconAfter, iconBefore = _a.iconBefore, _c = _a.isDisabled, isDisabled = _c === void 0 ? false : _c, _d = _a.isLoading, isLoading = _d === void 0 ? false : _d, _e = _a.isSelected, isSelected = _e === void 0 ? false : _e, _f = _a.shouldFitContainer, shouldFitContainer = _f === void 0 ? false : _f, _g = _a.spacing, spacing = _g === void 0 ? 'default' : _g, _h = _a.theme, theme = _h === void 0 ? function (current, props) { return current(props); } : _h, testId = _a.testId, rest = tslib_1.__rest(_a, [\"appearance\", \"children\", \"className\", \"component\", \"consumerRef\", \"iconAfter\", \"iconBefore\", \"isDisabled\", \"isLoading\", \"isSelected\", \"shouldFitContainer\", \"spacing\", \"theme\", \"testId\"]);\n var attributes = tslib_1.__assign(tslib_1.__assign({}, this.state), { isSelected: isSelected, isDisabled: isDisabled });\n var StyledButton = CustomComponent || this.getElement();\n var iconIsOnlyChild = !!((iconBefore && !iconAfter && !children) ||\n (iconAfter && !iconBefore && !children));\n var specifiers = function (styles) {\n if (StyledButton === 'a') {\n return {\n 'a&': styles,\n };\n }\n else if (StyledButton === CustomComponent) {\n return {\n '&, a&, &:hover, &:active, &:focus': styles,\n };\n }\n return styles;\n };\n return (core_1.jsx(theme_1.Theme.Provider, { value: theme },\n core_1.jsx(components_1.default.Consumer, null, function (_a) {\n var mode = _a.mode;\n return (core_1.jsx(theme_1.Theme.Consumer, tslib_1.__assign({ mode: mode, state: utils_1.mapAttributesToState(attributes), iconIsOnlyChild: iconIsOnlyChild }, _this.props), function (_a) {\n var buttonStyles = _a.buttonStyles, spinnerStyles = _a.spinnerStyles;\n return (core_1.jsx(StyledButton, tslib_1.__assign({}, utils_1.filterProps(rest, StyledButton), { \"data-testid\": testId, ref: _this.getComposedRefs(_this.button, consumerRef), onMouseEnter: _this.onMouseEnter, onMouseLeave: _this.onMouseLeave, onMouseDown: _this.onMouseDown, onMouseUp: _this.onMouseUp, onFocus: _this.onFocus, onBlur: _this.onBlur, disabled: isDisabled, className: className, css: specifiers(buttonStyles) }),\n core_1.jsx(InnerWrapper_1.default, { onClick: _this.onInnerClick, fit: !!shouldFitContainer },\n isLoading && (core_1.jsx(LoadingSpinner_1.default, { spacing: spacing, appearance: appearance, isSelected: isSelected, isDisabled: isDisabled, styles: spinnerStyles })),\n iconBefore && (core_1.jsx(IconWrapper_1.default, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconBefore })),\n children && (core_1.jsx(Content_1.default, { isLoading: isLoading, followsIcon: !!iconBefore, spacing: spacing }, children)),\n iconAfter && (core_1.jsx(IconWrapper_1.default, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconAfter })))));\n }));\n })));\n };\n Button.defaultProps = {\n appearance: 'default',\n autoFocus: false,\n isDisabled: false,\n isLoading: false,\n isSelected: false,\n shouldFitContainer: false,\n spacing: 'default',\n type: 'button',\n };\n return Button;\n}(react_1.default.Component));\nexports.Button = Button;\nvar createAndFireEventOnAtlaskit = analytics_next_1.createAndFireEvent('atlaskit');\nvar ButtonWithRef = react_1.default.forwardRef(function (props, ref) { return core_1.jsx(Button, tslib_1.__assign({}, props, { consumerRef: ref })); });\nButtonWithRef.displayName = 'Button';\nexports.default = analytics_next_1.withAnalyticsContext({\n componentName: 'button',\n packageName: version_json_1.name,\n packageVersion: version_json_1.version,\n})(analytics_next_1.withAnalyticsEvents({\n onClick: createAndFireEventOnAtlaskit({\n action: 'clicked',\n actionSubject: 'button',\n attributes: {\n componentName: 'button',\n packageName: version_json_1.name,\n packageVersion: version_json_1.version,\n },\n }),\n})(ButtonWithRef));\n//# sourceMappingURL=Button.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar core_1 = require(\"@emotion/core\");\nvar constants_1 = require(\"@atlaskit/theme/constants\");\nvar utils_1 = require(\"./utils\");\nexports.default = (function (_a) {\n var children = _a.children, followsIcon = _a.followsIcon, spacing = _a.spacing, isLoading = _a.isLoading, rest = tslib_1.__rest(_a, [\"children\", \"followsIcon\", \"spacing\", \"isLoading\"]);\n return (core_1.jsx(\"span\", tslib_1.__assign({ css: tslib_1.__assign({ alignItems: followsIcon ? 'baseline' : 'center', alignSelf: followsIcon ? 'baseline' : 'center', flex: '1 1 auto', margin: spacing === 'none' ? 0 : \"0 \" + constants_1.gridSize() / 2 + \"px\", maxWidth: '100%', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }, utils_1.getLoadingStyle(isLoading)) }, rest), children));\n});\n//# sourceMappingURL=Content.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n/** @jsx jsx */\nvar core_1 = require(\"@emotion/core\");\nvar constants_1 = require(\"@atlaskit/theme/constants\");\nvar utils_1 = require(\"./utils\");\nexports.default = (function (_a) {\n var spacing = _a.spacing, icon = _a.icon, isOnlyChild = _a.isOnlyChild, isLoading = _a.isLoading, rest = tslib_1.__rest(_a, [\"spacing\", \"icon\", \"isOnlyChild\", \"isLoading\"]);\n return (core_1.jsx(\"span\", tslib_1.__assign({ css: tslib_1.__assign({ alignSelf: 'center', display: 'flex', flexShrink: 0, lineHeight: 0, fontSize: 0, userSelect: 'none', margin: spacing === 'none'\n ? 0\n : isOnlyChild\n ? \"0 -\" + constants_1.gridSize() / 4 + \"px\"\n : \"0 \" + constants_1.gridSize() / 2 + \"px\" }, utils_1.getLoadingStyle(isLoading)) }, rest), icon));\n});\n//# sourceMappingURL=IconWrapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar core_1 = require(\"@emotion/core\");\nexports.default = (function (_a) {\n var fit = _a.fit, children = _a.children, rest = tslib_1.__rest(_a, [\"fit\", \"children\"]);\n return (core_1.jsx(\"span\", tslib_1.__assign({ css: tslib_1.__assign(tslib_1.__assign({ alignSelf: 'center', display: 'inline-flex', flexWrap: 'nowrap', maxWidth: '100%', position: 'relative' }, (fit && { width: '100%' })), (fit && { justifyContent: 'center' })) }, rest), children));\n});\n//# sourceMappingURL=InnerWrapper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n/** @jsx jsx */\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar core_1 = require(\"@emotion/core\");\nvar spinner_1 = tslib_1.__importDefault(require(\"@atlaskit/spinner\"));\nvar appearances = ['primary', 'danger'];\nvar LoadingSpinner = /** @class */ (function (_super) {\n tslib_1.__extends(LoadingSpinner, _super);\n function LoadingSpinner() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.invertSpinner = function () {\n var _a = _this.props, appearance = _a.appearance, isSelected = _a.isSelected, isDisabled = _a.isDisabled;\n if (isSelected) {\n return true;\n }\n if (isDisabled) {\n return false;\n }\n if (appearance !== undefined) {\n if (appearances.indexOf(appearance) !== -1) {\n return true;\n }\n }\n return false;\n };\n return _this;\n }\n LoadingSpinner.prototype.render = function () {\n var _a = this.props, spacing = _a.spacing, styles = _a.styles;\n var spinnerSize = spacing !== 'default' ? 'small' : 'medium';\n return (core_1.jsx(\"div\", { css: styles },\n core_1.jsx(spinner_1.default, { size: spinnerSize, appearance: this.invertSpinner() ? 'invert' : 'inherit' })));\n };\n return LoadingSpinner;\n}(react_1.default.Component));\nexports.default = LoadingSpinner;\n//# sourceMappingURL=LoadingSpinner.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar constants_1 = require(\"@atlaskit/theme/constants\");\nvar theme_1 = require(\"../theme\");\nvar compactButtonHeight = (constants_1.gridSize() * 3) / constants_1.fontSize() + \"em\";\nvar buttonHeight = (constants_1.gridSize() * 4) / constants_1.fontSize() + \"em\";\n/** Background */\nvar getBackground = function (props) {\n return theme_1.applyPropertyStyle('background', props, theme_1.baseTheme);\n};\n/** Box Shadow */\nvar getBoxShadow = function (props) {\n var boxShadowColor = theme_1.applyPropertyStyle('boxShadowColor', props, theme_1.baseTheme);\n return \"0 0 0 2px \" + boxShadowColor;\n};\n/** Color */\nvar getColor = function (props) {\n return theme_1.applyPropertyStyle('color', props, theme_1.baseTheme);\n};\n/** Cursor */\nvar getCursor = function (_a) {\n var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n return state === 'hover' || state === 'active' || state === 'selected'\n ? 'pointer'\n : state === 'disabled'\n ? 'not-allowed'\n : 'default';\n};\n/** Height */\nvar getHeight = function (_a) {\n var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n return spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'auto'\n : buttonHeight;\n};\n/** Line Height */\nvar getLineHeight = function (_a) {\n var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n return spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'inherit'\n : buttonHeight;\n};\n/** Padding */\nvar getPadding = function (_a) {\n var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n return spacing === 'none' ? 0 : \"0 \" + constants_1.gridSize() + \"px\";\n};\n/** Text Decoration */\nvar getTextDecoration = function (_a) {\n var _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, _c = _a.state, state = _c === void 0 ? 'default' : _c;\n return state === 'hover' && (appearance === 'link' || appearance === 'subtle-link')\n ? 'underline'\n : 'inherit';\n};\n/** Transition */\nvar getTransition = function (_a) {\n var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n return state === 'hover'\n ? 'background 0s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)'\n : 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)';\n};\n/** Transition Duration */\nvar getTransitionDuration = function (_a) {\n var _b = _a.state, state = _b === void 0 ? 'default' : _b;\n return state === 'active' ? '0s' : state === 'focus' ? '0s, 0.2s' : '0.1s, 0.15s';\n};\n/** Vertical Align */\nvar getVerticalAlign = function (_a) {\n var _b = _a.spacing, spacing = _b === void 0 ? 'default' : _b;\n return spacing === 'none' ? 'baseline' : 'middle';\n};\n/** Width */\nvar getWidth = function (_a) {\n var shouldFitContainer = _a.shouldFitContainer;\n return shouldFitContainer ? '100%' : 'auto';\n};\n/** Base styles */\nvar staticStyles = {\n alignItems: 'baseline',\n borderWidth: 0,\n boxSizing: 'border-box',\n display: 'inline-flex',\n fontSize: 'inherit',\n fontStyle: 'normal',\n fontWeight: '500',\n maxWidth: '100%',\n outline: 'none !important',\n textAlign: 'center',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n};\n/**\n * BUTTON STYLES\n */\nexports.getButtonStyles = function (props) { return (tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, staticStyles), { background: getBackground(props), borderRadius: constants_1.borderRadius() + \"px\", boxShadow: getBoxShadow(props), color: getColor(props) + \" !important\", cursor: getCursor(props), height: getHeight(props), lineHeight: getLineHeight(props), padding: getPadding(props), transition: getTransition(props), transitionDuration: getTransitionDuration(props), verticalAlign: getVerticalAlign(props), width: getWidth(props), '&::-moz-focus-inner': {\n border: 0,\n margin: 0,\n padding: 0,\n }, '&:hover': {\n textDecoration: getTextDecoration(props),\n } }), (props.isLoading && { pointerEvents: 'none' }))); };\n/**\n * SPINNER STYLES\n */\nexports.getSpinnerStyles = function () { return ({\n display: 'flex',\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n}); };\n//# sourceMappingURL=getStyles.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nexports.mapAttributesToState = function (_a) {\n var _b = _a.isDisabled, isDisabled = _b === void 0 ? false : _b, _c = _a.isActive, isActive = _c === void 0 ? false : _c, _d = _a.isFocus, isFocus = _d === void 0 ? false : _d, _e = _a.isHover, isHover = _e === void 0 ? false : _e, _f = _a.isSelected, isSelected = _f === void 0 ? false : _f;\n if (isDisabled) {\n return 'disabled';\n }\n if (isSelected && isFocus) {\n return 'focusSelected';\n }\n if (isSelected) {\n return 'selected';\n }\n if (isActive) {\n return 'active';\n }\n if (isHover) {\n return 'hover';\n }\n if (isFocus) {\n return 'focus';\n }\n return 'default';\n};\nexports.filterProps = function (\n// @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n_a, type) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, props = tslib_1.__rest(_a, \n // @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n [\"createAnalyticsEvent\"]);\n if (type === 'span') {\n var target = props.target, href = props.href, rest = tslib_1.__rest(props, [\"target\", \"href\"]);\n return rest;\n }\n return props;\n};\nexports.getLoadingStyle = function (isLoading) { return ({\n transition: 'opacity 0.3s',\n opacity: isLoading ? 0 : 1,\n}); };\nexports.composeRefs = function () {\n var refs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n refs[_i] = arguments[_i];\n }\n return function (x) {\n refs\n .filter(function (r) { return !!r; })\n .forEach(function (ref) {\n if (typeof ref === 'function') {\n ref(x);\n }\n else {\n ref.current = x;\n }\n });\n };\n};\n/**\n * Convert a hex colour code to RGBA.\n * @param {String} hex Hex colour code.\n * @param {Number} alpha Optional alpha value (defaults to 1).\n */\nfunction hex2rgba(hex, alpha) {\n if (alpha === void 0) { alpha = 1; }\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n var colorArr = hex.substring(1).split('');\n if (colorArr.length === 3) {\n colorArr = [\n colorArr[0],\n colorArr[0],\n colorArr[1],\n colorArr[1],\n colorArr[2],\n colorArr[2],\n ];\n }\n var color = \"0x\" + colorArr.join('');\n // FIXME: `>>` operand can validly take a string value\n var r = (color >> 16) & 255;\n var g = (color >> 8) & 255;\n var b = color & 255;\n return \"rgba(\" + [r, g, b].join(',') + \", \" + alpha + \")\";\n }\n throw new Error('Bad Hex');\n}\nexports.hex2rgba = hex2rgba;\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar colors = tslib_1.__importStar(require(\"@atlaskit/theme/colors\"));\nvar components_1 = require(\"@atlaskit/theme/components\");\nvar getStyles_1 = require(\"./components/getStyles\");\nvar utils_1 = require(\"./components/utils\");\nexports.fallbacks = {\n background: { light: colors.N20A, dark: colors.DN70 },\n color: { light: colors.N400, dark: colors.DN400 },\n textDecoration: { light: 'none', dark: 'none' },\n};\nexports.baseTheme = {\n // Default appearance\n background: {\n default: {\n default: { light: colors.N20A, dark: colors.DN70 },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: utils_1.hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n primary: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n warning: {\n default: { light: colors.Y300, dark: colors.Y300 },\n hover: { light: colors.Y200, dark: colors.Y200 },\n active: { light: colors.Y400, dark: colors.Y400 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.Y400, dark: colors.Y400 },\n focusSelected: { light: colors.Y400, dark: colors.Y400 },\n },\n danger: {\n default: { light: colors.R400, dark: colors.R400 },\n hover: { light: colors.R300, dark: colors.R300 },\n active: { light: colors.R500, dark: colors.R500 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.R500, dark: colors.R500 },\n focusSelected: { light: colors.R500, dark: colors.R500 },\n },\n link: {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n subtle: {\n default: { light: 'none', dark: 'none' },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: utils_1.hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n 'subtle-link': {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n },\n boxShadowColor: {\n default: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n primary: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n warning: {\n focus: { light: colors.Y500, dark: colors.Y500 },\n focusSelected: { light: colors.Y500, dark: colors.Y500 },\n },\n danger: {\n focus: { light: colors.R100, dark: colors.R100 },\n focusSelected: { light: colors.R100, dark: colors.R100 },\n },\n link: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n subtle: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n 'subtle-link': {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n },\n color: {\n default: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n primary: {\n default: { light: colors.N0, dark: colors.DN30 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n warning: {\n default: { light: colors.N800, dark: colors.N800 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N800, dark: colors.N800 },\n focusSelected: { light: colors.N800, dark: colors.N800 },\n },\n danger: {\n default: { light: colors.N0, dark: colors.N0 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N0, dark: colors.N0 },\n focusSelected: { light: colors.N0, dark: colors.N0 },\n },\n link: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.N700 },\n focusSelected: { light: colors.N20, dark: colors.N700 },\n },\n subtle: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n 'subtle-link': {\n default: { light: colors.N200, dark: colors.DN400 },\n hover: { light: colors.N90, dark: colors.B50 },\n active: { light: colors.N400, dark: colors.DN300 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n },\n};\nfunction applyPropertyStyle(property, _a, theme) {\n var _b = _a.appearance, appearance = _b === void 0 ? 'default' : _b, _c = _a.state, state = _c === void 0 ? 'default' : _c, _d = _a.mode, mode = _d === void 0 ? 'light' : _d;\n var propertyStyles = theme[property];\n if (!propertyStyles) {\n return 'initial';\n }\n // Check for relevant fallbacks\n if (!propertyStyles[appearance]) {\n if (!propertyStyles['default']) {\n return exports.fallbacks[property][mode] ? exports.fallbacks[property][mode] : 'initial';\n }\n appearance = 'default';\n }\n // If there is no 'state' key (ie, 'hover') defined for a given appearance,\n // return the 'default' state of that appearance.\n if (!propertyStyles[appearance][state]) {\n state = 'default';\n }\n var appearanceStyles = propertyStyles[appearance];\n var stateStyles = appearanceStyles[state];\n if (!stateStyles) {\n return 'inherit';\n }\n return stateStyles[mode] || appearanceStyles.default[mode];\n}\nexports.applyPropertyStyle = applyPropertyStyle;\nexports.Theme = components_1.createTheme(function (themeProps) { return ({\n buttonStyles: getStyles_1.getButtonStyles(themeProps),\n spinnerStyles: getStyles_1.getSpinnerStyles(),\n}); });\n//# sourceMappingURL=theme.js.map","import { borderRadius, fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { applyPropertyStyle, baseTheme } from '../theme';\nconst compactButtonHeight = `${(gridSize() * 3) / fontSize()}em`;\nconst buttonHeight = `${(gridSize() * 4) / fontSize()}em`;\n/** Background */\nconst getBackground = (props) => applyPropertyStyle('background', props, baseTheme);\n/** Box Shadow */\nconst getBoxShadow = (props) => {\n const boxShadowColor = applyPropertyStyle('boxShadowColor', props, baseTheme);\n return `0 0 0 2px ${boxShadowColor}`;\n};\n/** Color */\nconst getColor = (props) => applyPropertyStyle('color', props, baseTheme);\n/** Cursor */\nconst getCursor = ({ state = 'default' }) => state === 'hover' || state === 'active' || state === 'selected'\n ? 'pointer'\n : state === 'disabled'\n ? 'not-allowed'\n : 'default';\n/** Height */\nconst getHeight = ({ spacing = 'default' }) => spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'auto'\n : buttonHeight;\n/** Line Height */\nconst getLineHeight = ({ spacing = 'default' }) => spacing === 'compact'\n ? compactButtonHeight\n : spacing === 'none'\n ? 'inherit'\n : buttonHeight;\n/** Padding */\nconst getPadding = ({ spacing = 'default' }) => spacing === 'none' ? 0 : `0 ${gridSize()}px`;\n/** Text Decoration */\nconst getTextDecoration = ({ appearance = 'default', state = 'default', }) => state === 'hover' && (appearance === 'link' || appearance === 'subtle-link')\n ? 'underline'\n : 'inherit';\n/** Transition */\nconst getTransition = ({ state = 'default' }) => state === 'hover'\n ? 'background 0s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)'\n : 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)';\n/** Transition Duration */\nconst getTransitionDuration = ({ state = 'default' }) => state === 'active' ? '0s' : state === 'focus' ? '0s, 0.2s' : '0.1s, 0.15s';\n/** Vertical Align */\nconst getVerticalAlign = ({ spacing = 'default' }) => spacing === 'none' ? 'baseline' : 'middle';\n/** Width */\nconst getWidth = ({ shouldFitContainer }) => shouldFitContainer ? '100%' : 'auto';\n/** Base styles */\nconst staticStyles = {\n alignItems: 'baseline',\n borderWidth: 0,\n boxSizing: 'border-box',\n display: 'inline-flex',\n fontSize: 'inherit',\n fontStyle: 'normal',\n fontWeight: '500',\n maxWidth: '100%',\n outline: 'none !important',\n textAlign: 'center',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n};\n/**\n * BUTTON STYLES\n */\nexport const getButtonStyles = (props) => ({\n ...staticStyles,\n background: getBackground(props),\n borderRadius: `${borderRadius()}px`,\n boxShadow: getBoxShadow(props),\n color: `${getColor(props)} !important`,\n cursor: getCursor(props),\n height: getHeight(props),\n lineHeight: getLineHeight(props),\n padding: getPadding(props),\n transition: getTransition(props),\n transitionDuration: getTransitionDuration(props),\n verticalAlign: getVerticalAlign(props),\n width: getWidth(props),\n '&::-moz-focus-inner': {\n border: 0,\n margin: 0,\n padding: 0,\n },\n '&:hover': {\n textDecoration: getTextDecoration(props),\n },\n ...(props.isLoading && { pointerEvents: 'none' }),\n});\n/**\n * SPINNER STYLES\n */\nexport const getSpinnerStyles = () => ({\n display: 'flex',\n position: 'absolute',\n left: '50%',\n top: '50%',\n transform: 'translate(-50%, -50%)',\n});\n//# sourceMappingURL=getStyles.js.map","export const mapAttributesToState = ({ isDisabled = false, isActive = false, isFocus = false, isHover = false, isSelected = false, }) => {\n if (isDisabled) {\n return 'disabled';\n }\n if (isSelected && isFocus) {\n return 'focusSelected';\n }\n if (isSelected) {\n return 'selected';\n }\n if (isActive) {\n return 'active';\n }\n if (isHover) {\n return 'hover';\n }\n if (isFocus) {\n return 'focus';\n }\n return 'default';\n};\nexport const filterProps = (\n// @ts-ignore - createAnalyticsEvent is injected from WithAnalyticsEvents HOC\n{ createAnalyticsEvent, ...props }, type) => {\n if (type === 'span') {\n const { target, href, ...rest } = props;\n return rest;\n }\n return props;\n};\nexport const getLoadingStyle = (isLoading) => ({\n transition: 'opacity 0.3s',\n opacity: isLoading ? 0 : 1,\n});\nexport const composeRefs = (...refs) => {\n return (x) => {\n refs\n .filter(r => !!r)\n .forEach(ref => {\n if (typeof ref === 'function') {\n ref(x);\n }\n else {\n ref.current = x;\n }\n });\n };\n};\n/**\n * Convert a hex colour code to RGBA.\n * @param {String} hex Hex colour code.\n * @param {Number} alpha Optional alpha value (defaults to 1).\n */\nexport function hex2rgba(hex, alpha = 1) {\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n let colorArr = hex.substring(1).split('');\n if (colorArr.length === 3) {\n colorArr = [\n colorArr[0],\n colorArr[0],\n colorArr[1],\n colorArr[1],\n colorArr[2],\n colorArr[2],\n ];\n }\n const color = `0x${colorArr.join('')}`;\n // FIXME: `>>` operand can validly take a string value\n const r = (color >> 16) & 255;\n const g = (color >> 8) & 255;\n const b = color & 255;\n return `rgba(${[r, g, b].join(',')}, ${alpha})`;\n }\n throw new Error('Bad Hex');\n}\n//# sourceMappingURL=utils.js.map","import * as colors from '@atlaskit/theme/colors';\nimport { createTheme } from '@atlaskit/theme/components';\nimport { getButtonStyles, getSpinnerStyles } from './components/getStyles';\nimport { hex2rgba } from './components/utils';\nexport const fallbacks = {\n background: { light: colors.N20A, dark: colors.DN70 },\n color: { light: colors.N400, dark: colors.DN400 },\n textDecoration: { light: 'none', dark: 'none' },\n};\nexport const baseTheme = {\n // Default appearance\n background: {\n default: {\n default: { light: colors.N20A, dark: colors.DN70 },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n primary: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n warning: {\n default: { light: colors.Y300, dark: colors.Y300 },\n hover: { light: colors.Y200, dark: colors.Y200 },\n active: { light: colors.Y400, dark: colors.Y400 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.Y400, dark: colors.Y400 },\n focusSelected: { light: colors.Y400, dark: colors.Y400 },\n },\n danger: {\n default: { light: colors.R400, dark: colors.R400 },\n hover: { light: colors.R300, dark: colors.R300 },\n active: { light: colors.R500, dark: colors.R500 },\n disabled: { light: colors.N20A, dark: colors.DN70 },\n selected: { light: colors.R500, dark: colors.R500 },\n focusSelected: { light: colors.R500, dark: colors.R500 },\n },\n link: {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n subtle: {\n default: { light: 'none', dark: 'none' },\n hover: { light: colors.N30A, dark: colors.DN60 },\n active: { light: hex2rgba(colors.B75, 0.6), dark: colors.B75 },\n disabled: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.DN0 },\n focusSelected: { light: colors.N700, dark: colors.DN0 },\n },\n 'subtle-link': {\n default: { light: 'none', dark: 'none' },\n selected: { light: colors.N700, dark: colors.N20 },\n focusSelected: { light: colors.N700, dark: colors.N20 },\n },\n },\n boxShadowColor: {\n default: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n primary: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n warning: {\n focus: { light: colors.Y500, dark: colors.Y500 },\n focusSelected: { light: colors.Y500, dark: colors.Y500 },\n },\n danger: {\n focus: { light: colors.R100, dark: colors.R100 },\n focusSelected: { light: colors.R100, dark: colors.R100 },\n },\n link: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n subtle: {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n 'subtle-link': {\n focus: { light: colors.B100, dark: colors.B75 },\n focusSelected: {\n light: colors.B100,\n dark: colors.B75,\n },\n },\n },\n color: {\n default: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n primary: {\n default: { light: colors.N0, dark: colors.DN30 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n warning: {\n default: { light: colors.N800, dark: colors.N800 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N800, dark: colors.N800 },\n focusSelected: { light: colors.N800, dark: colors.N800 },\n },\n danger: {\n default: { light: colors.N0, dark: colors.N0 },\n disabled: { light: colors.N70, dark: colors.DN30 },\n selected: { light: colors.N0, dark: colors.N0 },\n focusSelected: { light: colors.N0, dark: colors.N0 },\n },\n link: {\n default: { light: colors.B400, dark: colors.B100 },\n hover: { light: colors.B300, dark: colors.B75 },\n active: { light: colors.B500, dark: colors.B200 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.N700 },\n focusSelected: { light: colors.N20, dark: colors.N700 },\n },\n subtle: {\n default: { light: colors.N500, dark: colors.DN400 },\n active: { light: colors.B400, dark: colors.B400 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n 'subtle-link': {\n default: { light: colors.N200, dark: colors.DN400 },\n hover: { light: colors.N90, dark: colors.B50 },\n active: { light: colors.N400, dark: colors.DN300 },\n disabled: { light: colors.N70, dark: colors.DN100 },\n selected: { light: colors.N20, dark: colors.DN400 },\n focusSelected: { light: colors.N20, dark: colors.DN400 },\n },\n },\n};\nexport function applyPropertyStyle(property, { appearance = 'default', state = 'default', mode = 'light', }, theme) {\n const propertyStyles = theme[property];\n if (!propertyStyles) {\n return 'initial';\n }\n // Check for relevant fallbacks\n if (!propertyStyles[appearance]) {\n if (!propertyStyles['default']) {\n return fallbacks[property][mode] ? fallbacks[property][mode] : 'initial';\n }\n appearance = 'default';\n }\n // If there is no 'state' key (ie, 'hover') defined for a given appearance,\n // return the 'default' state of that appearance.\n if (!propertyStyles[appearance][state]) {\n state = 'default';\n }\n const appearanceStyles = propertyStyles[appearance];\n const stateStyles = appearanceStyles[state];\n if (!stateStyles) {\n return 'inherit';\n }\n return stateStyles[mode] || appearanceStyles.default[mode];\n}\nexport const Theme = createTheme(themeProps => ({\n buttonStyles: getButtonStyles(themeProps),\n spinnerStyles: getSpinnerStyles(),\n}));\n//# sourceMappingURL=theme.js.map","import { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ children, followsIcon, spacing, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignItems: followsIcon ? 'baseline' : 'center',\n alignSelf: followsIcon ? 'baseline' : 'center',\n flex: '1 1 auto',\n margin: spacing === 'none' ? 0 : `0 ${gridSize() / 2}px`,\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n ...getLoadingStyle(isLoading),\n } }, rest), children));\n//# sourceMappingURL=Content.js.map","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { getLoadingStyle } from './utils';\nexport default ({ spacing, icon, isOnlyChild, isLoading, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignSelf: 'center',\n display: 'flex',\n flexShrink: 0,\n lineHeight: 0,\n fontSize: 0,\n userSelect: 'none',\n margin: spacing === 'none'\n ? 0\n : isOnlyChild\n ? `0 -${gridSize() / 4}px`\n : `0 ${gridSize() / 2}px`,\n ...getLoadingStyle(isLoading),\n } }, rest), icon));\n//# sourceMappingURL=IconWrapper.js.map","import { jsx } from '@emotion/core';\nexport default ({ fit, children, ...rest }) => (jsx(\"span\", Object.assign({ css: {\n alignSelf: 'center',\n display: 'inline-flex',\n flexWrap: 'nowrap',\n maxWidth: '100%',\n position: 'relative',\n ...(fit && { width: '100%' }),\n ...(fit && { justifyContent: 'center' }),\n } }, rest), children));\n//# sourceMappingURL=InnerWrapper.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport Spinner from '@atlaskit/spinner';\nconst appearances = ['primary', 'danger'];\nexport default class LoadingSpinner extends React.Component {\n constructor() {\n super(...arguments);\n this.invertSpinner = () => {\n const { appearance, isSelected, isDisabled } = this.props;\n if (isSelected) {\n return true;\n }\n if (isDisabled) {\n return false;\n }\n if (appearance !== undefined) {\n if (appearances.indexOf(appearance) !== -1) {\n return true;\n }\n }\n return false;\n };\n }\n render() {\n const { spacing, styles } = this.props;\n let spinnerSize = spacing !== 'default' ? 'small' : 'medium';\n return (jsx(\"div\", { css: styles },\n jsx(Spinner, { size: spinnerSize, appearance: this.invertSpinner() ? 'invert' : 'inherit' })));\n }\n}\n//# sourceMappingURL=LoadingSpinner.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { jsx } from '@emotion/core';\nimport memoize from 'memoize-one';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { Theme } from '../theme';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Content from './Content';\nimport IconWrapper from './IconWrapper';\nimport InnerWrapper from './InnerWrapper';\nimport LoadingSpinner from './LoadingSpinner';\nimport { composeRefs, filterProps, mapAttributesToState } from './utils';\nexport class Button extends React.Component {\n constructor() {\n super(...arguments);\n // ref can be a range of things because we render button, a, span or other React components\n this.button = React.createRef();\n // Makes sure we don't call ref every render.\n this.getComposedRefs = memoize(composeRefs);\n this.state = {\n isActive: false,\n isFocus: false,\n isHover: false,\n };\n this.isInteractive = () => !this.props.isDisabled && !this.props.isLoading;\n this.onMouseEnter = (e) => {\n this.setState({ isHover: true });\n if (this.props.onMouseEnter) {\n this.props.onMouseEnter(e);\n }\n };\n this.onMouseLeave = (e) => {\n this.setState({ isHover: false, isActive: false });\n if (this.props.onMouseLeave) {\n this.props.onMouseLeave(e);\n }\n };\n this.onMouseDown = (e) => {\n e.preventDefault();\n this.setState({ isActive: true });\n if (this.props.onMouseDown) {\n this.props.onMouseDown(e);\n }\n };\n this.onMouseUp = (e) => {\n this.setState({ isActive: false });\n if (this.props.onMouseUp) {\n this.props.onMouseUp(e);\n }\n };\n this.onFocus = event => {\n this.setState({ isFocus: true });\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n this.onBlur = event => {\n this.setState({ isFocus: false });\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n };\n this.getElement = () => {\n const { href, isDisabled } = this.props;\n if (href) {\n return isDisabled ? 'span' : 'a';\n }\n return 'button';\n };\n // Swallow click events when the button is disabled\n // to prevent inner child clicks bubbling up.\n this.onInnerClick = e => {\n if (!this.isInteractive()) {\n e.stopPropagation();\n }\n return true;\n };\n }\n componentDidMount() {\n if (this.props.autoFocus && this.button instanceof HTMLButtonElement) {\n this.button.focus();\n }\n }\n render() {\n const { appearance = 'default', children, className, component: CustomComponent, consumerRef, iconAfter, iconBefore, isDisabled = false, isLoading = false, isSelected = false, shouldFitContainer = false, spacing = 'default', theme = (current, props) => current(props), testId, ...rest } = this.props;\n const attributes = { ...this.state, isSelected, isDisabled };\n const StyledButton = CustomComponent || this.getElement();\n const iconIsOnlyChild = !!((iconBefore && !iconAfter && !children) ||\n (iconAfter && !iconBefore && !children));\n const specifiers = (styles) => {\n if (StyledButton === 'a') {\n return {\n 'a&': styles,\n };\n }\n else if (StyledButton === CustomComponent) {\n return {\n '&, a&, &:hover, &:active, &:focus': styles,\n };\n }\n return styles;\n };\n return (jsx(Theme.Provider, { value: theme },\n jsx(GlobalTheme.Consumer, null, ({ mode }) => (jsx(Theme.Consumer, Object.assign({ mode: mode, state: mapAttributesToState(attributes), iconIsOnlyChild: iconIsOnlyChild }, this.props), ({ buttonStyles, spinnerStyles }) => (jsx(StyledButton, Object.assign({}, filterProps(rest, StyledButton), { \"data-testid\": testId, ref: this.getComposedRefs(this.button, consumerRef), onMouseEnter: this.onMouseEnter, onMouseLeave: this.onMouseLeave, onMouseDown: this.onMouseDown, onMouseUp: this.onMouseUp, onFocus: this.onFocus, onBlur: this.onBlur, disabled: isDisabled, className: className, css: specifiers(buttonStyles) }),\n jsx(InnerWrapper, { onClick: this.onInnerClick, fit: !!shouldFitContainer },\n isLoading && (jsx(LoadingSpinner, { spacing: spacing, appearance: appearance, isSelected: isSelected, isDisabled: isDisabled, styles: spinnerStyles })),\n iconBefore && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconBefore })),\n children && (jsx(Content, { isLoading: isLoading, followsIcon: !!iconBefore, spacing: spacing }, children)),\n iconAfter && (jsx(IconWrapper, { isLoading: isLoading, spacing: spacing, isOnlyChild: iconIsOnlyChild, icon: iconAfter }))))))))));\n }\n}\nButton.defaultProps = {\n appearance: 'default',\n autoFocus: false,\n isDisabled: false,\n isLoading: false,\n isSelected: false,\n shouldFitContainer: false,\n spacing: 'default',\n type: 'button',\n};\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nconst ButtonWithRef = React.forwardRef((props, ref) => jsx(Button, Object.assign({}, props, { consumerRef: ref })));\nButtonWithRef.displayName = 'Button';\nexport default withAnalyticsContext({\n componentName: 'button',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onClick: createAndFireEventOnAtlaskit({\n action: 'clicked',\n actionSubject: 'button',\n attributes: {\n componentName: 'button',\n packageName,\n packageVersion,\n },\n }),\n})(ButtonWithRef));\n//# sourceMappingURL=Button.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar noop = function () { return []; };\nvar AnalyticsListener = /** @class */ (function (_super) {\n __extends(AnalyticsListener, _super);\n function AnalyticsListener() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n }); };\n _this.getAnalyticsEventHandlers = function () {\n var _a = _this.props, channel = _a.channel, onEvent = _a.onEvent;\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var parentEventHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n var handler = function (event, eventChannel) {\n if (channel === '*' || channel === eventChannel) {\n onEvent(event, eventChannel);\n }\n };\n return __spread([handler], parentEventHandlers);\n };\n return _this;\n }\n AnalyticsListener.prototype.render = function () {\n var _a = this.context.getAtlaskitAnalyticsContext, getAtlaskitAnalyticsContext = _a === void 0 ? noop : _a;\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: {\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers,\n getAtlaskitAnalyticsContext: getAtlaskitAnalyticsContext,\n } }, children));\n };\n AnalyticsListener.contextTypes = ContextTypes;\n AnalyticsListener.childContextTypes = ContextTypes;\n return AnalyticsListener;\n}(Component));\nexport default AnalyticsListener;\n//# sourceMappingURL=AnalyticsListener.js.map","import { __assign, __extends } from \"tslib\";\nimport React, { Component } from 'react';\nimport withAnalyticsEvents from './withAnalyticsEvents';\nimport AnalyticsContext from './AnalyticsContext';\nvar BaseAnalyticsErrorBoundary = /** @class */ (function (_super) {\n __extends(BaseAnalyticsErrorBoundary, _super);\n function BaseAnalyticsErrorBoundary() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.fireAnalytics = function (analyticsErrorPayload) {\n var _a = _this.props, createAnalyticsEvent = _a.createAnalyticsEvent, channel = _a.channel, data = _a.data;\n createAnalyticsEvent({\n action: 'UnhandledError',\n eventType: 'ui',\n attributes: __assign(__assign({ browserInfo: window && window.navigator && window.navigator.userAgent\n ? window.navigator.userAgent\n : 'unknown' }, data), analyticsErrorPayload),\n }).fire(channel);\n };\n return _this;\n }\n BaseAnalyticsErrorBoundary.prototype.componentDidCatch = function (error, info) {\n var payload = {\n error: error,\n info: info,\n };\n this.fireAnalytics(payload);\n };\n BaseAnalyticsErrorBoundary.prototype.render = function () {\n var _a = this.props, data = _a.data, children = _a.children;\n return React.createElement(AnalyticsContext, { data: data }, children);\n };\n return BaseAnalyticsErrorBoundary;\n}(Component));\nexport { BaseAnalyticsErrorBoundary };\nvar AnalyticsErrorBoundary = withAnalyticsEvents()(BaseAnalyticsErrorBoundary);\nexport default AnalyticsErrorBoundary;\n//# sourceMappingURL=AnalyticsErrorBoundary.js.map","import { useContext, useRef } from 'react';\nimport { useCallbackOne } from 'use-memo-one';\nimport { AnalyticsReactContext, } from './AnalyticsReactContext';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\nvar noop = function () { return []; };\nexport function useAnalyticsEvents() {\n var analyticsContext = useContext(AnalyticsReactContext);\n var contextRef = useRef(analyticsContext);\n contextRef.current.getAtlaskitAnalyticsEventHandlers =\n analyticsContext.getAtlaskitAnalyticsEventHandlers;\n contextRef.current.getAtlaskitAnalyticsContext =\n analyticsContext.getAtlaskitAnalyticsContext;\n var createAnalyticsEvent = useCallbackOne(function (payload) {\n var getAtlaskitAnalyticsContext = contextRef.current.getAtlaskitAnalyticsContext || noop;\n var getAtlaskitAnalyticsEventHandlers = contextRef.current.getAtlaskitAnalyticsEventHandlers || noop;\n return new UIAnalyticsEvent({\n context: getAtlaskitAnalyticsContext(),\n handlers: getAtlaskitAnalyticsEventHandlers(),\n payload: payload,\n });\n }, []);\n return {\n createAnalyticsEvent: createAnalyticsEvent,\n };\n}\n//# sourceMappingURL=useAnalyticsEvents.js.map","import { __read, __spread } from \"tslib\";\nimport { useCallback, useRef, useEffect } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nexport var useCallbackWithAnalytics = function (method, payload, channel) {\n var createAnalyticsEvent = useAnalyticsEvents().createAnalyticsEvent;\n // given input might be new function/object each render\n // we optimise and store in refs so we can memoize the callback\n // and at the same time avoid stale values\n var methodRef = useRef(method);\n var payloadRef = useRef(payload);\n useEffect(function () {\n methodRef.current = method;\n payloadRef.current = payload;\n }, [method, payload]);\n return useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var pload = typeof payloadRef.current === 'function'\n ? payloadRef.current.apply(payloadRef, __spread(args)) : payloadRef.current;\n createAnalyticsEvent(pload).fire(channel);\n methodRef.current.apply(methodRef, __spread(args));\n }, [createAnalyticsEvent, methodRef, payloadRef, channel]);\n};\n//# sourceMappingURL=useCallbackWithAnalytics.js.map","import { __rest } from \"tslib\";\nexport default function cleanProps(props) {\n var createAnalyticsEvent = props.createAnalyticsEvent, cleanedProps = __rest(props, [\"createAnalyticsEvent\"]);\n return cleanedProps;\n}\n//# sourceMappingURL=cleanProps.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","export const presetSizes = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96,\n};\n//# sourceMappingURL=constants.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\nconst rotate = keyframes `\n to { transform: rotate(360deg); }\n`;\n// There are three parts to the load in animation:\n// 1. Fade in\n// 2. Accelerated spin\n// 3. Stretch the spinner line\nconst loadIn = keyframes `\n from {\n transform: rotate(50deg);\n opacity: 0;\n stroke-dashoffset: 60;\n }\n to {\n transform: rotate(230deg);\n opacity: 1;\n stroke-dashoffset: 50;\n }\n`;\nfunction getStrokeColor({ mode, appearance, }) {\n if (mode === 'light') {\n return appearance === 'inherit' ? N500 : N0;\n }\n // Dark mode: colours provided by Jake Miller\n return appearance === 'inherit' ? DN900 : DN500;\n}\nexport default React.memo(React.forwardRef(function Spinner({ testId, appearance = 'inherit', delay = 0, size: providedSize = 'medium', }, ref) {\n const size = typeof providedSize === 'number'\n ? providedSize\n : presetSizes[providedSize];\n return (jsx(GlobalTheme.Consumer, null, (tokens) => {\n const strokeColor = getStrokeColor({\n mode: tokens.mode,\n appearance,\n });\n // The Spinner animation uses a combination of two\n // css animations on two separate elements.\n return (jsx(\"svg\", { focusable: \"false\", height: size, width: size, viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", \"data-testid\": testId, ref: ref, css: css `\n /* align better inline with text */\n vertical-align: middle;\n /* We are going to animate this in */\n opacity: 0;\n\n animation: ${loadIn} 1s ease-in-out;\n /* When the animation completes, stay at the last frame of the animation */\n animation-fill-mode: forwards;\n animation-delay: ${delay}ms;\n ` },\n jsx(\"circle\", { cx: \"8\", cy: \"8\", r: \"7\", css: css `\n fill: none;\n stroke: ${strokeColor};\n stroke-width: 1.5;\n stroke-linecap: round;\n stroke-dasharray: 60;\n stroke-dashoffset: inherit;\n transform-origin: center;\n animation: ${rotate} 0.86s infinite;\n animation-delay: ${delay}ms;\n animation-timing-function: cubic-bezier(0.4, 0.15, 0.6, 0.85);\n ` })));\n }));\n}));\n//# sourceMappingURL=spinner.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { ThemeProvider } from 'styled-components';\nimport exenv from 'exenv';\nimport * as colors from '../colors';\nimport { CHANNEL, DEFAULT_THEME_MODE } from '../constants';\n// For forward-compat until everything is upgraded.\nimport Theme from './Theme';\nfunction getStylesheetResetCSS(state) {\n const backgroundColor = colors.background(state);\n return `\n body { background: ${backgroundColor}; }\n `;\n}\nfunction buildThemeState(mode) {\n return { theme: { [CHANNEL]: { mode } } };\n}\nconst LegacyReset = styled.div `\n background-color: ${colors.background};\n color: ${colors.text};\n\n a {\n color: ${colors.link};\n }\n a:hover {\n color: ${colors.linkHover};\n }\n a:active {\n color: ${colors.linkActive};\n }\n a:focus {\n outline-color: ${colors.linkOutline};\n }\n h1 {\n color: ${colors.heading};\n }\n h2 {\n color: ${colors.heading};\n }\n h3 {\n color: ${colors.heading};\n }\n h4 {\n color: ${colors.heading};\n }\n h5 {\n color: ${colors.heading};\n }\n h6 {\n color: ${colors.subtleHeading};\n }\n small {\n color: ${colors.subtleText};\n }\n`;\nexport default class AtlaskitThemeProvider extends Component {\n constructor(props) {\n super(props);\n /**\n * This function never changes its reference because it accesses\n * `this` in the function call - thereby sidestepping the need for\n * creating a new reference everytime theme state changes.\n * NOTE: When moving to hooks watch out for this regressing.\n */\n this.getThemeMode = () => ({ mode: this.state.theme[CHANNEL].mode });\n this.state = buildThemeState(props.mode);\n }\n getChildContext() {\n return { hasAtlaskitThemeProvider: true };\n }\n UNSAFE_componentWillMount() {\n if (!this.context.hasAtlaskitThemeProvider && exenv.canUseDOM) {\n const css = getStylesheetResetCSS(this.state);\n this.stylesheet = document.createElement('style');\n this.stylesheet.type = 'text/css';\n this.stylesheet.innerHTML = css;\n if (document && document.head) {\n document.head.appendChild(this.stylesheet);\n }\n }\n }\n UNSAFE_componentWillReceiveProps(newProps) {\n if (newProps.mode !== this.props.mode) {\n const newThemeState = buildThemeState(newProps.mode);\n if (this.stylesheet) {\n const css = getStylesheetResetCSS(newThemeState);\n this.stylesheet.innerHTML = css;\n }\n this.setState(newThemeState);\n }\n }\n componentWillUnmount() {\n if (this.stylesheet && document && document.head) {\n document.head.removeChild(this.stylesheet);\n delete this.stylesheet;\n }\n }\n render() {\n const { children } = this.props;\n const { theme } = this.state;\n return (\n /* Wrapping the new provider around the old one provides forward\n compatibility when using the old provider for styled components. This\n allows us to use components converted to use the new API with consumers\n using the old provider along side components that may still be using the\n old theming API. */\n React.createElement(Theme.Provider, { value: this.getThemeMode },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(LegacyReset, null, children))));\n }\n}\nAtlaskitThemeProvider.defaultProps = {\n mode: DEFAULT_THEME_MODE,\n};\nAtlaskitThemeProvider.childContextTypes = {\n hasAtlaskitThemeProvider: PropTypes.bool,\n};\nAtlaskitThemeProvider.contextTypes = {\n hasAtlaskitThemeProvider: PropTypes.bool,\n};\n//# sourceMappingURL=AtlaskitThemeProvider.js.map","export default ({ children, props, theme }) => {\n const appearance = typeof props === 'object' ? 'default' : props;\n const merged = typeof props === 'object' ? { ...props } : {};\n Object.keys(theme).forEach(key => {\n if (!(key in merged)) {\n merged[key] = theme[key]({ appearance });\n }\n });\n return children(merged);\n};\n//# sourceMappingURL=Appearance.js.map","import React from 'react';\nimport styled, { css } from 'styled-components';\nimport * as colors from '../colors';\nimport { createTheme } from '../utils/createTheme';\nconst orTextColor = (preferred) => (p) => p[preferred] || p.textColor;\nconst Div = styled.div `\n ${(p) => css `\n background-color: ${p.backgroundColor};\n color: ${p.textColor};\n\n a {\n color: ${orTextColor('linkColor')};\n }\n a:hover {\n color: ${orTextColor('linkColorHover')};\n }\n a:active {\n color: ${orTextColor('linkColorActive')};\n }\n a:focus {\n outline-color: ${orTextColor('linkColorOutline')};\n }\n h1,\n h2,\n h3,\n h4,\n h5 {\n color: ${orTextColor('headingColor')};\n }\n h6 {\n color: ${orTextColor('subtleHeadingColor')};\n }\n small {\n color: ${orTextColor('subtleTextColor')};\n }\n `};\n`;\nexport const ResetTheme = createTheme(() => ({\n backgroundColor: colors.N0,\n linkColor: colors.B400,\n linkColorHover: colors.B300,\n linkColorActive: colors.B500,\n linkColorOutline: colors.B100,\n headingColor: colors.N800,\n subtleHeadingColor: colors.N200,\n subtleTextColor: colors.N200,\n textColor: colors.N900,\n}));\nexport function Reset(props) {\n return (React.createElement(ResetTheme.Provider, { value: props.theme },\n React.createElement(ResetTheme.Consumer, null, (tokens) => {\n return (React.createElement(Div, Object.assign({}, { ...tokens, mode: undefined }, props), props.children));\n })));\n}\n//# sourceMappingURL=Reset.js.map","import React from 'react';\nimport Theme from './components/Theme';\n// Pre-executes the (global) theme and passes it as a prop to the supplied component.\n// This is useful for ensuring that the current theme is accessible as props\n// in styled-components.\nexport function withTheme(InnerComponent) {\n return function ComponentWithTheme(props) {\n return (React.createElement(Theme.Consumer, null, (tokens) => (React.createElement(InnerComponent, Object.assign({}, props, { theme: tokens })))));\n };\n}\n//# sourceMappingURL=hoc.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, 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 return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsContext extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsContext: this.getAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsContext\", () => {\n const {\n data\n } = this.props;\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return [...getAtlaskitAnalyticsContext(), data];\n });\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n return getAtlaskitAnalyticsEventHandlers();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n\n}\n\n_defineProperty(AnalyticsContext, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsContext, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsContext;","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","var _process$env;\n\nimport LegacyAnalyticsContext from './LegacyAnalyticsContext';\nimport ModernAnalyticsContext from './ModernAnalyticsContext';\nlet ExportedAnalyticsContext;\n\nif (typeof process !== 'undefined' && process !== null && (_process$env = process.env) !== null && _process$env !== void 0 && _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsContext = ModernAnalyticsContext;\n} else {\n ExportedAnalyticsContext = LegacyAnalyticsContext;\n}\n\nexport default ExportedAnalyticsContext;","import React, { useCallback, useMemo } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nimport { useAnalyticsContext } from '../../hooks/useAnalyticsContext';\nimport { useTrackedRef } from '../../hooks/useTrackedRef';\n\nconst AnalyticsContext = ({\n data,\n children\n}) => {\n const dataRef = useTrackedRef(data);\n const analyticsContext = useAnalyticsContext();\n const getAtlaskitAnalyticsContext = useCallback(() => {\n return [...analyticsContext.getAtlaskitAnalyticsContext(), dataRef.current];\n }, [analyticsContext, dataRef]);\n const value = useMemo(() => ({\n getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: analyticsContext.getAtlaskitAnalyticsEventHandlers\n }), [analyticsContext, getAtlaskitAnalyticsContext]);\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: value\n }, children);\n};\n\nexport default AnalyticsContext;","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = { ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n\n this.payload = props.payload;\n }\n\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n\n if (typeof updater === 'object') {\n this.payload = { ...this.payload,\n ...updater\n };\n }\n\n return this;\n }\n\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n\n return null;\n }\n\n const context = [...this.context];\n const handlers = [...this.handlers];\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n\n return;\n }\n\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n\n return this;\n }\n\n return super.update(updater);\n }\n\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","import React, { createContext, useContext, useCallback } from 'react';\n\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n **/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n **/\n\n\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n } // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n\n\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props; // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n\n const tokens = useTheme(themeProps); // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n\n\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport const useGlobalTheme = () => {\n return useTheme();\n};\nexport default {\n Provider,\n Consumer\n};","export const defaultAttributesFn = p => ({});\nexport const createExtender = function createExtender(defaults,\n/** We're defaulting to an Object.create call here to circumvent\n * the fact that {} can't be reconciled\n * with a type that extends Record\n *\n * By doing this, we are intentionally disallowing users\n * from nullifying a particular component in the tree.\n * This can be reverted with additional logic,\n * at such a time as this nullification becomes an actual usecase.\n * */\noverrides = Object.create(Object.prototype)) {\n if (!defaults) {\n throw new Error('a default set of overrides *must* be passed in as the first argument');\n }\n\n return function getOverrides(key) {\n const {\n cssFn: defaultCssFn,\n attributesFn: defaultAttributesFn,\n component: defaultComponent\n } = defaults[key];\n\n if (!overrides[key]) {\n return {\n cssFn: defaultCssFn,\n attributesFn: defaultAttributesFn,\n component: defaultComponent\n };\n }\n\n const {\n cssFn: customCssFn,\n attributesFn: customAttributesFn,\n component: customComponent\n } = overrides[key];\n\n const composedCssFn = state => {\n return customCssFn(defaultCssFn(state), state);\n };\n\n return {\n cssFn: customCssFn ? composedCssFn : defaultCssFn,\n attributesFn: customAttributesFn || defaultAttributesFn,\n component: customComponent || defaultComponent\n };\n };\n};","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { defaultAttributesFn } from '../utils';\n\nconst disabledBorder = iconTokens => ({\n stroke: iconTokens.borderColor.disabled,\n strokeWidth: iconTokens.borderWidth\n});\n\nconst activeBorder = iconTokens => ({\n stroke: iconTokens.borderColor.active,\n strokeWidth: iconTokens.borderWidth\n});\n\nconst hoveredAndCheckedBorder = iconTokens => ({\n stroke: iconTokens.borderColor.hoveredAndChecked,\n strokeWidth: iconTokens.borderWidth\n});\n\nconst hoveredBorder = iconTokens => ({\n stroke: iconTokens.borderColor.hovered,\n strokeWidth: iconTokens.borderWidth\n});\n\nconst checkedBorder = iconTokens => ({\n stroke: iconTokens.borderColor.checked,\n strokeWidth: iconTokens.borderWidth\n});\n\nconst focusedBorder = iconTokens => ({\n stroke: iconTokens.borderColor.focused,\n strokeWidth: iconTokens.borderWidth\n});\n\nconst invalidBorder = iconTokens => ({\n stroke: iconTokens.borderColor.invalid,\n strokeWidth: iconTokens.borderWidth\n});\n\nconst invalidAndCheckedBorder = iconTokens => ({\n stroke: iconTokens.borderColor.invalidAndChecked,\n strokeWidth: iconTokens.borderWidth\n});\n\nconst getBorderColor = ({\n tokens,\n ...props\n}) => {\n // Being disabled removes borders in all states\n if (props.isDisabled) {\n return disabledBorder(tokens.icon);\n } // Being takes precedence\n\n\n if (props.isActive) {\n return activeBorder(tokens.icon);\n } // Then being focused\n\n\n if (props.isFocused) {\n return focusedBorder(tokens.icon);\n } // Then being invalid\n\n\n if (props.isInvalid) {\n if (props.isChecked) {\n return invalidAndCheckedBorder(tokens.icon);\n }\n\n return invalidBorder(tokens.icon);\n } // Then hoverstates\n\n\n if (props.isHovered) {\n if (props.isChecked) {\n return hoveredAndCheckedBorder(tokens.icon);\n }\n\n return hoveredBorder(tokens.icon);\n }\n\n if (props.isChecked) {\n return checkedBorder(tokens.icon);\n }\n\n return {\n stroke: tokens.icon.borderColor.rest,\n strokeWidth: tokens.icon.borderWidth\n };\n};\n\nconst getTickColor = props => {\n const {\n isChecked,\n isDisabled,\n isActive,\n tokens: {\n icon\n }\n } = props;\n let color = icon.tickColor.checked;\n\n if (isDisabled && isChecked) {\n color = icon.tickColor.disabledAndChecked;\n } else if (isActive && isChecked && !isDisabled) {\n color = icon.tickColor.activeAndChecked;\n } else if (!isChecked) {\n color = icon.tickColor.rest;\n }\n\n return color;\n};\n\nconst getBoxColor = props => {\n const {\n isChecked,\n isDisabled,\n isActive,\n isHovered,\n tokens: {\n icon\n }\n } = props; // set the default\n\n let color = icon.boxColor.rest;\n\n if (isDisabled) {\n color = icon.boxColor.disabled;\n } else if (isActive) {\n color = icon.boxColor.active;\n } else if (isHovered && isChecked) {\n color = icon.boxColor.hoveredAndChecked;\n } else if (isHovered) {\n color = icon.boxColor.hovered;\n } else if (isChecked) {\n color = icon.boxColor.checked;\n }\n\n return color;\n};\n\nexport const iconWrapperCSS = props => ({\n lineHeight: 0,\n flexShrink: 0,\n color: getBoxColor(props),\n fill: getTickColor(props),\n transition: 'all 0.2s ease-in-out;',\n\n /* This is adding a property to the inner svg, to add a border to the checkbox */\n '& rect:first-of-type': {\n transition: 'stroke 0.2s ease-in-out;',\n ...getBorderColor(props)\n },\n\n /**\n * Need to set the Icon component wrapper to flex to avoid a scrollbar bug which\n * happens when checkboxes are flex items in a parent with overflow.\n * See AK-6321 for more details.\n **/\n '> span': {\n display: 'flex'\n }\n});\nexport function IconWrapper({\n attributesFn,\n cssFn,\n children,\n ...props\n}) {\n return jsx(\"span\", _extends({\n css: cssFn(props)\n }, attributesFn(props), {\n children: children\n }));\n}\nexport default {\n component: IconWrapper,\n cssFn: iconWrapperCSS,\n attributesFn: defaultAttributesFn\n};","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark']; // Resolves the different types of theme objects in the current API\n\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n } // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n } // If format not supported (or no theme provided), return standard theme\n\n\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n\n if (value) {\n return value;\n } // TS believes value can be undefined\n\n }\n }\n\n return '';\n };\n}\n\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props); // User isn't required to provide both light and dark values\n\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n\n if (value) {\n return value;\n }\n }\n\n return '';\n };\n}","import themed from './utils/themed'; // Reds\n\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600'; // Yellows\n\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00'; // Greens\n\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644'; // Blues\n\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6'; // Purples\n\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294'; // Teals\n\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6'; // Neutrals\n\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D'; // ATTENTION: update the tints if you update this\n\nexport const N900 = '#091E42'; // Each tint is made of N900 and an alpha channel\n\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)'; // Dark Mode Neutrals\n\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624'; // ATTENTION: update the tints if you update this\n\nexport const DN0 = '#0D1424'; // Each dark tint is made of DN0 and an alpha channel\n\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)'; // Themed colors\n\nexport const background = themed({\n light: N0,\n dark: DN30\n});\nexport const backgroundActive = themed({\n light: B50,\n dark: B75\n});\nexport const backgroundHover = themed({\n light: N30,\n dark: DN70\n});\nexport const backgroundOnLayer = themed({\n light: N0,\n dark: DN50\n});\nexport const text = themed({\n light: N900,\n dark: DN600\n});\nexport const textHover = themed({\n light: N800,\n dark: DN600\n});\nexport const textActive = themed({\n light: B400,\n dark: B400\n});\nexport const subtleText = themed({\n light: N200,\n dark: DN300\n});\nexport const placeholderText = themed({\n light: N100,\n dark: DN200\n});\nexport const heading = themed({\n light: N800,\n dark: DN600\n});\nexport const subtleHeading = themed({\n light: N200,\n dark: DN300\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\nexport const link = themed({\n light: B400,\n dark: B100\n});\nexport const linkHover = themed({\n light: B300,\n dark: B200\n});\nexport const linkActive = themed({\n light: B500,\n dark: B100\n});\nexport const linkOutline = themed({\n light: B100,\n dark: B200\n});\nexport const primary = themed({\n light: B400,\n dark: B100\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\nexport const skeleton = () => N20A;","import * as colors from '@atlaskit/theme/colors';\nimport { createTheme } from '@atlaskit/theme/components';\nexport const componentTokens = {\n label: {\n textColor: {\n rest: {\n light: colors.N900,\n dark: colors.DN600\n },\n disabled: {\n light: colors.N80,\n dark: colors.N80\n }\n },\n spacing: {\n top: '2px',\n right: '4px',\n bottom: '2px',\n left: '4px'\n }\n },\n icon: {\n borderWidth: '2px',\n borderColor: {\n rest: {\n light: colors.N40,\n dark: colors.DN80\n },\n disabled: {\n light: '',\n dark: ''\n },\n checked: {\n light: 'currentColor',\n dark: 'currentColor'\n },\n active: {\n light: 'currentColor',\n dark: 'currentColor'\n },\n invalid: {\n light: colors.R300,\n dark: colors.R300\n },\n invalidAndChecked: {\n light: colors.R300,\n dark: colors.R300\n },\n focused: {\n light: colors.B100,\n dark: colors.B75\n },\n hovered: {\n light: colors.N40,\n dark: colors.DN200\n },\n hoveredAndChecked: {\n light: 'currentColor',\n dark: 'currentColor'\n }\n },\n boxColor: {\n rest: {\n light: colors.N10,\n dark: colors.DN10\n },\n disabled: {\n light: colors.N20,\n dark: colors.DN10\n },\n active: {\n light: colors.B50,\n dark: colors.B200\n },\n hoveredAndChecked: {\n light: colors.B300,\n dark: colors.B75\n },\n hovered: {\n light: colors.N30,\n dark: colors.DN30\n },\n checked: {\n light: colors.B400,\n dark: colors.B400\n }\n },\n tickColor: {\n rest: {\n light: 'transparent',\n dark: 'transparent'\n },\n disabledAndChecked: {\n light: colors.N70,\n dark: colors.DN90\n },\n activeAndChecked: {\n light: colors.B400,\n dark: colors.DN10\n },\n checked: {\n light: colors.N10,\n dark: colors.DN10\n }\n },\n size: 'medium'\n },\n requiredIndicator: {\n textColor: {\n rest: colors.R500\n }\n }\n};\n/**\n * This function traverses the passed in object (first argument)\n * and tries to find the specified key (second argument) assumed to be at the outer most leaf nodes\n * ```\n * const x = { b: { light: y, dark: z }}\n * evaluateMode(x, 'light')\n * ```\n * If such a value exists, a requisite object is returned with the leaf node reduced to value of the specified 2nd argument.\n * i.e. { b: y }\n */\n\nconst evaluateMode = function (obj, mode) {\n const traverse = function traverse(obj) {\n return Object.keys(obj).reduce((acc, curr) => {\n const value = obj[curr];\n /** Return the value immediately if the value is:\n * not an object\n * an array\n * null\n * undefined\n */\n\n if (typeof value !== 'object' || typeof value == null || Array.isArray(value)) {\n acc[curr] = value;\n } else if (Object.keys(value).includes(mode)) {\n // if the object contains a member corresponding to the passed in mode argument\n // return the value of that member.\n acc[curr] = value[mode];\n } else {\n // otherwise keep traversing the object\n acc[curr] = traverse(obj[curr]);\n } // return the accumulator\n\n\n return acc;\n }, {});\n };\n\n return traverse(obj);\n};\n\nconst defaultThemeFn = ({\n tokens,\n mode\n}) => {\n return evaluateMode(tokens, mode);\n};\n\nexport default createTheme(defaultThemeFn);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport memoize from 'memoize-one';\nimport Icon from '@atlaskit/icon/glyph/checkbox';\nimport IconIndeterminate from '@atlaskit/icon/glyph/checkbox-indeterminate';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { IconWrapperOverrides } from './elements';\nimport Theme, { componentTokens } from './theme';\nimport { createExtender } from './utils';\nconst defaults = {\n IconWrapper: IconWrapperOverrides,\n IconIndeterminate: {\n component: IconIndeterminate\n },\n Icon: {\n component: Icon\n }\n};\nexport default class CheckboxIcon extends Component {\n constructor(props) {\n super(props);\n this.createExtender = memoize(createExtender).bind(this);\n }\n\n render() {\n const {\n isChecked,\n isDisabled,\n isInvalid,\n isActive,\n isFocused,\n isHovered,\n isIndeterminate,\n overrides,\n primaryColor,\n secondaryColor,\n theme\n } = this.props; // @ts-ignore\n\n const getOverrides = this.createExtender(defaults, overrides);\n const {\n component: IconWrapper,\n ...iconWrapperOverrides\n } = getOverrides('IconWrapper');\n const {\n component: IconIndeterminate\n } = getOverrides('IconIndeterminate');\n const {\n component: Icon\n } = getOverrides('Icon');\n return /*#__PURE__*/React.createElement(Theme.Provider, {\n value: theme\n }, /*#__PURE__*/React.createElement(GlobalTheme.Consumer, null, ({\n mode\n }) => /*#__PURE__*/React.createElement(Theme.Consumer, {\n mode: mode,\n tokens: componentTokens\n }, tokens => /*#__PURE__*/React.createElement(IconWrapper, _extends({}, iconWrapperOverrides, {\n tokens: tokens,\n isChecked: isChecked,\n isDisabled: isDisabled,\n isFocused: isFocused,\n isActive: isActive,\n isHovered: isHovered,\n isInvalid: isInvalid\n }), isIndeterminate ? /*#__PURE__*/React.createElement(IconIndeterminate, {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n size: tokens.icon.size,\n label: \"\"\n }) : /*#__PURE__*/React.createElement(Icon, {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n size: tokens.icon.size,\n label: \"\"\n })))));\n }\n\n}\n\n_defineProperty(CheckboxIcon, \"defaultProps\", {\n primaryColor: 'inherit',\n secondaryColor: 'inherit',\n isIndeterminate: false,\n theme: (current, props) => current(props)\n});","import { token } from '@atlaskit/tokens';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\n\nexport const assistive = visuallyHidden;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: token('color.background.subtleNeutral.resting', skeletonColor()),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: token('color.background.subtleNeutral.resting', skeletonColor())\n },\n to: {\n backgroundColor: token('color.background.subtleNeutral.hover', N30A)\n }\n }\n});","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { fontFamily } from '@atlaskit/theme/constants';\nimport { defaultAttributesFn } from '../utils';\nexport const labelCSS = ({\n isDisabled,\n tokens\n}) => ({\n fontFamily: fontFamily(),\n alignItems: 'flex-start',\n display: 'flex',\n color: isDisabled ? tokens.label.textColor.disabled : tokens.label.textColor.rest,\n ...(isDisabled && {\n cursor: 'not-allowed'\n })\n});\nexport function Label({\n attributesFn,\n children,\n isDisabled,\n onMouseUp,\n onMouseDown,\n onMouseLeave,\n onMouseEnter,\n tokens,\n cssFn,\n testId\n}) {\n return jsx(\"label\", _extends({}, attributesFn({\n isDisabled\n }), {\n onMouseUp: onMouseUp,\n onMouseDown: onMouseDown,\n onMouseLeave: onMouseLeave,\n onMouseEnter: onMouseEnter,\n css: cssFn({\n isDisabled,\n tokens\n }),\n \"data-testid\": testId\n }), children);\n}\nexport default {\n component: Label,\n cssFn: labelCSS,\n attributesFn: defaultAttributesFn\n};","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { defaultAttributesFn } from '../utils';\nexport const labelTextCSS = ({\n tokens\n}) => ({\n paddingTop: tokens.label.spacing.top,\n paddingRight: tokens.label.spacing.right,\n paddingBottom: tokens.label.spacing.bottom,\n paddingLeft: tokens.label.spacing.left\n});\nexport function LabelText({\n attributesFn,\n tokens,\n children,\n cssFn\n}) {\n return jsx(\"span\", _extends({}, attributesFn(), {\n css: cssFn({\n tokens\n })\n }), children);\n}\nexport default {\n component: LabelText,\n cssFn: labelTextCSS,\n attributesFn: defaultAttributesFn\n};","/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nexport default (({\n children\n}) => jsx(\"span\", {\n css: {\n display: 'flex;',\n flexShrink: 0,\n position: 'relative'\n }\n}, children));","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { jsx } from '@emotion/core';\nexport default /*#__PURE__*/forwardRef(({\n createAnalyticsEvent,\n attributesFn,\n testId,\n ...props\n}, ref) => jsx(\"input\", _extends({\n type: \"checkbox\"\n}, attributesFn({\n disabled: props.disabled,\n checked: props.checked,\n required: props.required\n}), props, {\n ref: ref,\n css: {\n left: '50%',\n margin: 0,\n opacity: 0,\n padding: 0,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n top: '50%',\n pointerEvents: 'none'\n },\n \"data-testid\": testId\n})));","import _extends from \"@babel/runtime/helpers/extends\";\n\n/** @jsx jsx */\nimport { jsx } from '@emotion/core';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { multiply } from '@atlaskit/theme/math';\nexport default (({\n tokens,\n ...props\n}) => jsx(\"span\", _extends({\n css: {\n color: tokens.requiredIndicator.textColor.rest,\n paddingLeft: `${multiply(gridSize, 0.25)}px;`\n }\n}, props)));","// If a generic is used here, props can be inferred never and passed up (even with defaults)\nexport function add(fn, addend) {\n return props => fn(props) + addend;\n}\nexport function subtract(fn, subtrahend) {\n return props => fn(props) - subtrahend;\n}\nexport function multiply(fn, factor) {\n return props => fn(props) * factor;\n}\nexport function divide(fn, divisor) {\n return props => fn(props) / divisor;\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport memoize from 'memoize-one';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport CheckboxIcon from './CheckboxIcon';\nimport { CheckboxWrapper, HiddenCheckbox, LabelOverrides, LabelTextOverrides, RequiredIndicator } from './elements';\nimport Theme, { componentTokens } from './theme';\nimport { createExtender } from './utils';\nimport { name as packageName, version as packageVersion } from './version.json';\nconst defaults = {\n Label: LabelOverrides,\n LabelText: LabelTextOverrides,\n HiddenCheckbox: {\n attributesFn: () => ({})\n }\n};\n\nclass Checkbox extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"state\", {\n isActive: false,\n isFocused: false,\n isHovered: false,\n isMouseDown: false,\n isChecked: this.props.isChecked !== undefined ? this.props.isChecked : this.props.defaultChecked\n });\n\n _defineProperty(this, \"checkbox\", undefined);\n\n _defineProperty(this, \"actionKeys\", [' ']);\n\n _defineProperty(this, \"onChange\", event => {\n if (this.props.isDisabled) {\n return null;\n }\n\n event.persist();\n\n if (event.target.checked !== undefined) {\n this.setState({\n isChecked: event.target.checked\n });\n }\n\n if (this.props.onChange) {\n this.props.onChange(event);\n }\n\n return true;\n });\n\n _defineProperty(this, \"blur\", () => {\n if (this.checkbox && this.checkbox.blur) {\n this.checkbox.blur();\n }\n });\n\n _defineProperty(this, \"focus\", () => {\n if (this.checkbox && this.checkbox.focus) {\n this.checkbox.focus();\n }\n });\n\n _defineProperty(this, \"onBlur\", () => this.setState({\n // onBlur is called after onMouseDown if the checkbox was focused, however\n // in this case on blur is called immediately after, and we need to check\n // whether the mouse is down.\n isActive: this.state.isMouseDown && this.state.isActive,\n isFocused: false\n }));\n\n _defineProperty(this, \"onFocus\", () => this.setState({\n isFocused: true\n }));\n\n _defineProperty(this, \"onMouseLeave\", () => this.setState({\n isActive: false,\n isHovered: false\n }));\n\n _defineProperty(this, \"onMouseEnter\", () => this.setState({\n isHovered: true\n }));\n\n _defineProperty(this, \"onMouseUp\", () => this.setState({\n isActive: false,\n isMouseDown: false\n }));\n\n _defineProperty(this, \"onMouseDown\", () => this.setState({\n isActive: true,\n isMouseDown: true\n }));\n\n _defineProperty(this, \"onKeyDown\", event => {\n if (event.key in this.actionKeys) {\n this.setState({\n isActive: true\n });\n }\n });\n\n _defineProperty(this, \"onKeyUp\", event => {\n if (event.key in this.actionKeys) {\n this.setState({\n isActive: false\n });\n }\n });\n\n this.createExtender = memoize(createExtender);\n }\n\n componentDidMount() {\n const {\n isIndeterminate\n } = this.props; // there is no HTML attribute for indeterminate, and thus no prop equivalent.\n // it must be set via the ref.\n\n if (this.checkbox) {\n this.checkbox.indeterminate = !!isIndeterminate;\n\n if (this.props.inputRef) {\n this.props.inputRef(this.checkbox);\n }\n }\n }\n\n componentDidUpdate(prevProps) {\n const {\n isIndeterminate\n } = this.props;\n\n if (prevProps.isIndeterminate !== isIndeterminate && this.checkbox) {\n this.checkbox.indeterminate = !!isIndeterminate;\n }\n }\n\n render() {\n const {\n isDisabled,\n isInvalid,\n isIndeterminate,\n label,\n name,\n overrides,\n value,\n isRequired,\n //props not passed into HiddenCheckbox\n isChecked: propsIsChecked,\n theme,\n testId\n } = this.props;\n const isChecked = this.props.isChecked === undefined ? this.state.isChecked : propsIsChecked;\n const {\n isFocused,\n isActive,\n isHovered\n } = this.state;\n const getOverrides = createExtender(defaults, overrides);\n const {\n component: Label,\n ...labelOverrides\n } = getOverrides('Label');\n const {\n component: LabelText,\n ...labelTextOverrides\n } = getOverrides('LabelText');\n const {\n attributesFn: hiddenCheckboxAttributesFn\n } = getOverrides('HiddenCheckbox');\n return /*#__PURE__*/React.createElement(Theme.Provider, {\n value: theme\n }, /*#__PURE__*/React.createElement(GlobalTheme.Consumer, null, ({\n mode\n }) => /*#__PURE__*/React.createElement(Theme.Consumer, {\n mode: mode,\n tokens: componentTokens\n }, tokens => /*#__PURE__*/React.createElement(Label, _extends({}, labelOverrides, {\n isDisabled: isDisabled,\n onMouseDown: this.onMouseDown,\n onMouseEnter: this.onMouseEnter,\n onMouseLeave: this.onMouseLeave,\n onMouseUp: this.onMouseUp,\n tokens: tokens,\n testId: testId && `${testId}--checkbox-label`\n }), /*#__PURE__*/React.createElement(CheckboxWrapper, null, /*#__PURE__*/React.createElement(HiddenCheckbox, {\n disabled: isDisabled,\n checked: isChecked,\n onChange: this.onChange,\n onBlur: this.onBlur,\n onFocus: this.onFocus,\n onKeyUp: this.onKeyUp,\n onKeyDown: this.onKeyDown,\n value: value,\n name: name,\n ref: r => this.checkbox = r,\n required: isRequired,\n attributesFn: hiddenCheckboxAttributesFn,\n testId: testId && `${testId}--hidden-checkbox`\n }), /*#__PURE__*/React.createElement(CheckboxIcon, {\n theme: theme,\n overrides: {\n IconWrapper: overrides && overrides.IconWrapper,\n Icon: overrides && overrides.Icon,\n IconIndeterminate: overrides && overrides.IconIndeterminate\n },\n isChecked: isChecked,\n isDisabled: isDisabled,\n isFocused: isFocused,\n isActive: isActive,\n isHovered: isHovered,\n isInvalid: isInvalid,\n isIndeterminate: isIndeterminate,\n primaryColor: \"inherit\",\n secondaryColor: \"inherit\",\n label: \"\"\n })), /*#__PURE__*/React.createElement(LabelText, _extends({}, labelTextOverrides, {\n tokens: tokens\n }), label, isRequired && /*#__PURE__*/React.createElement(RequiredIndicator, {\n tokens: tokens,\n \"aria-hidden\": \"true\"\n }, \"*\"))))));\n }\n\n}\n\n_defineProperty(Checkbox, \"defaultProps\", {\n isDisabled: false,\n isInvalid: false,\n defaultChecked: false,\n isIndeterminate: false,\n theme: (current, props) => current(props)\n});\n\nexport { Checkbox as CheckboxWithoutAnalytics };\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'checkbox',\n packageName,\n packageVersion\n})(withAnalyticsEvents({\n onChange: createAndFireEventOnAtlaskit({\n action: 'changed',\n actionSubject: 'checkbox',\n attributes: {\n componentName: 'checkbox',\n packageName,\n packageVersion\n }\n })\n})(Checkbox));","export default (channel => payload => createAnalyticsEvent => {\n const consumerEvent = createAnalyticsEvent(payload);\n const clonedEvent = consumerEvent.clone();\n\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n\n return consumerEvent;\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef, useMemo } from 'react';\nimport AnalyticsContext from '../components/AnalyticsContext';\n\nconst withAnalyticsContext = defaultData => WrappedComponent => {\n const WithAnalyticsContext = /*#__PURE__*/forwardRef(({\n analyticsContext,\n ...rest\n }, ref) => {\n const analyticsData = useMemo(() => ({ ...defaultData,\n ...analyticsContext\n }), [analyticsContext]);\n return /*#__PURE__*/React.createElement(AnalyticsContext, {\n data: analyticsData\n }, /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, rest, {\n ref: ref\n })));\n }); // @ts-ignore\n\n WithAnalyticsContext.displayName = `WithAnalyticsContext(${// @ts-ignore disneyName doesn't exist on type\n WrappedComponent.displayName || WrappedComponent.name})`;\n return WithAnalyticsContext;\n};\n\nexport default withAnalyticsContext;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { forwardRef } from 'react';\nimport { useAnalyticsEvents } from '../hooks/useAnalyticsEvents';\nimport { usePatchedProps } from '../hooks/usePatchedProps';\n\nconst withAnalyticsEvents = (createEventMap = {}) => WrappedComponent => {\n const WithAnalyticsEvents = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n patchedEventProps\n } = usePatchedProps(createEventMap, props);\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, patchedEventProps, {\n createAnalyticsEvent: createAnalyticsEvent,\n ref: ref\n }));\n }); // @ts-ignore\n\n WithAnalyticsEvents.displayName = `WithAnalyticsEvents(${// @ts-ignore disneyName doesn't exist on type\n WrappedComponent.displayName || WrappedComponent.name})`;\n return WithAnalyticsEvents;\n};\n\nexport default withAnalyticsEvents;","import { useMemo, useRef } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nexport function usePatchedProps(createEventMap = {}, wrappedComponentProps) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n const handlerCache = useRef({});\n const patchedProps = useMemo(() => {\n const cache = handlerCache.current; // Clean up no longer used handlers in cache\n\n Object.keys(cache).filter(key => !(key in createEventMap)).forEach(key => delete cache[key]);\n return Object.keys(createEventMap).reduce((p, k) => {\n const eventCreator = createEventMap[k];\n\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return p;\n }\n\n const propValue = wrappedComponentProps[k];\n\n if (k in cache && cache[k].eventCreator === eventCreator && cache[k].propValue === propValue) {\n return { ...p,\n [k]: cache[k].wrappedCallback\n };\n }\n\n const wrappedCallback = (...args) => {\n const analyticsEvent = typeof eventCreator === 'function' ? eventCreator(createAnalyticsEvent, wrappedComponentProps) : createAnalyticsEvent(eventCreator);\n\n if (propValue && typeof propValue === 'function') {\n propValue(...args, analyticsEvent);\n }\n };\n\n cache[k] = {\n eventCreator,\n wrappedCallback,\n propValue\n };\n return { ...p,\n [k]: wrappedCallback\n };\n }, {});\n }, [createEventMap, wrappedComponentProps, createAnalyticsEvent, handlerCache]);\n return {\n patchedEventProps: patchedProps\n };\n}","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","const themedBackground = {\n light: \"var(--ds-surface, #FFFFFF)\",\n dark: \"var(--ds-surface, #1B2638)\"\n};\n\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\nexport const getBackground = (mode = 'light') => themedBackground[mode];","export const sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px'\n};\nexport const sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge'\n};\nexport const dimensions = {\n small: {\n width: sizes.small,\n height: sizes.small\n },\n medium: {\n width: sizes.medium,\n height: sizes.medium\n },\n large: {\n width: sizes.large,\n height: sizes.large\n },\n xlarge: {\n width: sizes.xlarge,\n height: sizes.xlarge\n }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n overflow: 'hidden',\n pointerEvents: 'none',\n /**\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\n * rule) and then override it with currentColor for the color changes to be picked up.\n */\n stop: {\n stopColor: 'currentColor'\n }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n small: smallStyles,\n medium: mediumStyles,\n large: largeStyles,\n xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n width,\n height,\n size\n}) => {\n if (width && height) {\n return {\n width,\n height\n };\n }\n if (size) {\n return dimensions[size];\n }\n return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, getIconSize } from './styles';\n\n/**\n * We are hiding these props from consumers as they're used to\n * hack around icon sizing specifically for icon-file-type.\n */\n\nconst iconStyles = css({\n display: 'inline-block',\n flexShrink: 0,\n lineHeight: 1,\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n ...commonSVGStyles,\n maxWidth: '100%',\n maxHeight: '100%',\n color: 'var(--icon-primary-color)',\n fill: 'var(--icon-secondary-color)',\n verticalAlign: 'bottom'\n }\n});\n/**\n * For windows high contrast mode\n */\nconst baseHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n filter: 'grayscale(1)',\n '--icon-primary-color': 'CanvasText',\n // foreground\n '--icon-secondary-color': 'Canvas' // background\n }\n }\n});\n\nconst primaryEqualsSecondaryHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n // if the primaryColor is the same as the secondaryColor we\n // set the --icon-primary-color to Canvas\n // this is usually to convey state i.e. Checkbox checked -> not checked\n '--icon-primary-color': 'Canvas' // foreground\n }\n }\n});\n\nconst secondaryTransparentHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n '--icon-secondary-color': 'transparent' // background\n }\n }\n});\n\n/**\n * __Icon__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)\n */\nexport const Icon = /*#__PURE__*/memo(function Icon(props) {\n const {\n glyph: Glyph,\n dangerouslySetGlyph,\n primaryColor = 'currentColor',\n secondaryColor,\n size,\n testId,\n label,\n width,\n height\n } = props;\n const glyphProps = dangerouslySetGlyph ? {\n dangerouslySetInnerHTML: {\n __html: dangerouslySetGlyph\n }\n } : {\n children: Glyph ? jsx(Glyph, {\n role: \"presentation\"\n }) : null\n };\n const dimensions = getIconSize({\n width,\n height,\n size\n });\n const {\n mode\n } = useGlobalTheme();\n return jsx(\"span\", _extends({\n \"data-testid\": testId,\n role: label ? 'img' : undefined,\n \"aria-label\": label ? label : undefined,\n \"aria-hidden\": label ? undefined : true,\n style: {\n '--icon-primary-color': primaryColor,\n '--icon-secondary-color': secondaryColor || getBackground(mode)\n }\n }, glyphProps, {\n css: [iconStyles, baseHcmStyles, primaryColor === secondaryColor && primaryEqualsSecondaryHcmStyles, secondaryColor === 'transparent' && secondaryTransparentHcmStyles,\n // NB: This can be resolved if this component, composes base SVG / and/or skeleton\n // We could then simplify how common styles are dealt with simply by encapsualting them\n // at their appropriate level and/or having a singular approach to css variables in the package\n dimensions &&\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n css({\n width: dimensions.width,\n height: dimensions.height,\n '> svg': dimensions\n })]\n }));\n});\nexport default Icon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CheckboxIndeterminateIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nCheckboxIndeterminateIcon.displayName = 'CheckboxIndeterminateIcon';\nvar _default = CheckboxIndeterminateIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CheckboxIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nCheckboxIcon.displayName = 'CheckboxIcon';\nvar _default = CheckboxIcon;\nexports.default = _default;","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport React, { Children, Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { AnalyticsReactContext } from './AnalyticsReactContext';\nvar ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n};\nvar AnalyticsContext = /** @class */ (function (_super) {\n __extends(AnalyticsContext, _super);\n function AnalyticsContext(props) {\n var _this = _super.call(this, props) || this;\n _this.getChildContext = function () { return ({\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n }); };\n _this.getAnalyticsContext = function () {\n var data = _this.props.data;\n var getAtlaskitAnalyticsContext = _this.context.getAtlaskitAnalyticsContext;\n var ancestorData = (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [];\n return __spread(ancestorData, [data]);\n };\n _this.getAnalyticsEventHandlers = function () {\n var getAtlaskitAnalyticsEventHandlers = _this.context.getAtlaskitAnalyticsEventHandlers;\n var ancestorHandlers = (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [];\n return ancestorHandlers;\n };\n _this.state = {\n getAtlaskitAnalyticsContext: _this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,\n };\n return _this;\n }\n AnalyticsContext.prototype.render = function () {\n var children = this.props.children;\n return (React.createElement(AnalyticsReactContext.Provider, { value: this.state }, Children.only(children)));\n };\n AnalyticsContext.contextTypes = ContextTypes;\n AnalyticsContext.childContextTypes = ContextTypes;\n return AnalyticsContext;\n}(Component));\nexport default AnalyticsContext;\n//# sourceMappingURL=AnalyticsContext.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport createContext from 'create-react-context';\nexport var ManagerReferenceNodeContext = createContext();\nexport var ManagerReferenceNodeSetterContext = createContext();\n\nvar Manager =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Manager, _React$Component);\n\n function Manager() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"referenceNode\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"setReferenceNode\", function (newReferenceNode) {\n if (newReferenceNode && _this.referenceNode !== newReferenceNode) {\n _this.referenceNode = newReferenceNode;\n\n _this.forceUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = Manager.prototype;\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.referenceNode = null;\n };\n\n _proto.render = function render() {\n return React.createElement(ManagerReferenceNodeContext.Provider, {\n value: this.referenceNode\n }, React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: this.setReferenceNode\n }, this.props.children));\n };\n\n return Manager;\n}(React.Component);\n\nexport { Manager as default };","/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === \"function\") {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Does a shallow equality check of two objects by comparing the reference\n * equality of each value.\n */\n\nexport var shallowEqual = function shallowEqual(objA, objB) {\n var aKeys = Object.keys(objA);\n var bKeys = Object.keys(objB);\n\n if (bKeys.length !== aKeys.length) {\n return false;\n }\n\n for (var i = 0; i < bKeys.length; i++) {\n var key = aKeys[i];\n\n if (objA[key] !== objB[key]) {\n return false;\n }\n }\n\n return true;\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === \"function\") {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport * as React from 'react';\nimport PopperJS from 'popper.js';\nimport { ManagerReferenceNodeContext } from './Manager';\nimport { unwrapArray, setRef, shallowEqual } from './utils';\nvar initialStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n pointerEvents: 'none'\n};\nvar initialArrowStyle = {};\nexport var InnerPopper =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(InnerPopper, _React$Component);\n\n function InnerPopper() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n data: undefined,\n placement: undefined\n });\n\n _defineProperty(_assertThisInitialized(_this), \"popperInstance\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"popperNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"arrowNode\", null);\n\n _defineProperty(_assertThisInitialized(_this), \"setPopperNode\", function (popperNode) {\n if (!popperNode || _this.popperNode === popperNode) return;\n setRef(_this.props.innerRef, popperNode);\n _this.popperNode = popperNode;\n\n _this.updatePopperInstance();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setArrowNode\", function (arrowNode) {\n _this.arrowNode = arrowNode;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updateStateModifier\", {\n enabled: true,\n order: 900,\n fn: function fn(data) {\n var placement = data.placement;\n\n _this.setState({\n data: data,\n placement: placement\n });\n\n return data;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOptions\", function () {\n return {\n placement: _this.props.placement,\n eventsEnabled: _this.props.eventsEnabled,\n positionFixed: _this.props.positionFixed,\n modifiers: _extends({}, _this.props.modifiers, {\n arrow: _extends({}, _this.props.modifiers && _this.props.modifiers.arrow, {\n enabled: !!_this.arrowNode,\n element: _this.arrowNode\n }),\n applyStyle: {\n enabled: false\n },\n updateStateModifier: _this.updateStateModifier\n })\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperStyle\", function () {\n return !_this.popperNode || !_this.state.data ? initialStyle : _extends({\n position: _this.state.data.offsets.popper.position\n }, _this.state.data.styles);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopperPlacement\", function () {\n return !_this.state.data ? undefined : _this.state.placement;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getArrowStyle\", function () {\n return !_this.arrowNode || !_this.state.data ? initialArrowStyle : _this.state.data.arrowStyles;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getOutOfBoundariesState\", function () {\n return _this.state.data ? _this.state.data.hide : undefined;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"destroyPopperInstance\", function () {\n if (!_this.popperInstance) return;\n\n _this.popperInstance.destroy();\n\n _this.popperInstance = null;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"updatePopperInstance\", function () {\n _this.destroyPopperInstance();\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n popperNode = _assertThisInitialize.popperNode;\n\n var referenceElement = _this.props.referenceElement;\n if (!referenceElement || !popperNode) return;\n _this.popperInstance = new PopperJS(referenceElement, popperNode, _this.getOptions());\n });\n\n _defineProperty(_assertThisInitialized(_this), \"scheduleUpdate\", function () {\n if (_this.popperInstance) {\n _this.popperInstance.scheduleUpdate();\n }\n });\n\n return _this;\n }\n\n var _proto = InnerPopper.prototype;\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // If the Popper.js options have changed, update the instance (destroy + create)\n if (this.props.placement !== prevProps.placement || this.props.referenceElement !== prevProps.referenceElement || this.props.positionFixed !== prevProps.positionFixed || this.props.modifiers !== prevProps.modifiers) {\n // develop only check that modifiers isn't being updated needlessly\n if (process.env.NODE_ENV === \"development\") {\n if (this.props.modifiers !== prevProps.modifiers && this.props.modifiers != null && prevProps.modifiers != null && shallowEqual(this.props.modifiers, prevProps.modifiers)) {\n console.warn(\"'modifiers' prop reference updated even though all values appear the same.\\nConsider memoizing the 'modifiers' object to avoid needless rendering.\");\n }\n }\n\n this.updatePopperInstance();\n } else if (this.props.eventsEnabled !== prevProps.eventsEnabled && this.popperInstance) {\n this.props.eventsEnabled ? this.popperInstance.enableEventListeners() : this.popperInstance.disableEventListeners();\n } // A placement difference in state means popper determined a new placement\n // apart from the props value. By the time the popper element is rendered with\n // the new position Popper has already measured it, if the place change triggers\n // a size change it will result in a misaligned popper. So we schedule an update to be sure.\n\n\n if (prevState.placement !== this.state.placement) {\n this.scheduleUpdate();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n setRef(this.props.innerRef, null);\n this.destroyPopperInstance();\n };\n\n _proto.render = function render() {\n return unwrapArray(this.props.children)({\n ref: this.setPopperNode,\n style: this.getPopperStyle(),\n placement: this.getPopperPlacement(),\n outOfBoundaries: this.getOutOfBoundariesState(),\n scheduleUpdate: this.scheduleUpdate,\n arrowProps: {\n ref: this.setArrowNode,\n style: this.getArrowStyle()\n }\n });\n };\n\n return InnerPopper;\n}(React.Component);\n\n_defineProperty(InnerPopper, \"defaultProps\", {\n placement: 'bottom',\n eventsEnabled: true,\n referenceElement: undefined,\n positionFixed: false\n});\n\nvar placements = PopperJS.placements;\nexport { placements };\nexport default function Popper(_ref) {\n var referenceElement = _ref.referenceElement,\n props = _objectWithoutPropertiesLoose(_ref, [\"referenceElement\"]);\n\n return React.createElement(ManagerReferenceNodeContext.Consumer, null, function (referenceNode) {\n return React.createElement(InnerPopper, _extends({\n referenceElement: referenceElement !== undefined ? referenceElement : referenceNode\n }, props));\n });\n}","import React from 'react';\nimport memoizeOne from 'memoize-one';\nimport { Popper as ReactPopper, } from 'react-popper';\nexport { Manager, Reference } from 'react-popper';\nconst FlipBehavior = {\n auto: [],\n top: ['top', 'bottom', 'top'],\n right: ['right', 'left', 'right'],\n bottom: ['bottom', 'top', 'bottom'],\n left: ['left', 'right', 'left'],\n};\nconst getFlipBehavior = (side) => FlipBehavior[side];\nexport class Popper extends React.Component {\n constructor() {\n super(...arguments);\n this.getModifiers = memoizeOne(placement => {\n const flipBehavior = getFlipBehavior(placement.split('-')[0]);\n const modifiers = {\n flip: {\n enabled: true,\n behavior: flipBehavior,\n boundariesElement: 'viewport',\n },\n hide: {\n enabled: true,\n },\n offset: {\n enabled: true,\n offset: this.props.offset,\n },\n preventOverflow: {\n enabled: true,\n escapeWithReference: false,\n boundariesElement: 'window',\n },\n };\n if (this.props.modifiers) {\n return { ...modifiers, ...this.props.modifiers };\n }\n return modifiers;\n });\n }\n render() {\n const { placement, children, referenceElement } = this.props;\n const modifiers = this.getModifiers(this.props.placement);\n return (React.createElement(ReactPopper, Object.assign({ positionFixed: true, modifiers: modifiers, placement: placement }, (referenceElement ? { referenceElement } : {})), children));\n }\n}\nPopper.defaultProps = {\n children: () => null,\n offset: '0, 8px',\n placement: 'bottom-start',\n};\n//# sourceMappingURL=Popper.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport { canUseDOM } from 'exenv';\nimport ReactDOM from 'react-dom';\nimport invariant from 'tiny-invariant';\nimport { layers } from '@atlaskit/theme';\nimport { PORTAL_MOUNT_EVENT, PORTAL_UNMOUNT_EVENT } from '../constants';\nconst createContainer = (zIndex) => {\n const container = document.createElement('div');\n container.setAttribute('class', 'atlaskit-portal');\n container.setAttribute('style', `z-index: ${zIndex};`);\n return container;\n};\nconst getBody = () => {\n invariant(document && document.body, 'cannot find document.body');\n return document.body;\n};\n/**\n * Reverses the name: zIndex object so we can quickly access it using the zIndex value as the key.\n */\nconst zIndexToName = Object.keys(layers).reduce((acc, name) => {\n const layerName = name;\n const value = layers[layerName]();\n acc[value] = layerName;\n return acc;\n}, {});\nconst getLayerName = (zIndex) => {\n return Object.prototype.hasOwnProperty.call(zIndexToName, zIndex)\n ? zIndexToName[zIndex]\n : null;\n};\nconst getEvent = (eventName, zIndex) => {\n const detail = {\n layer: getLayerName(Number(zIndex)),\n zIndex,\n };\n // In ie11 the CustomEvent object exists, but it cannot be used as a constructor\n if (typeof CustomEvent === 'function') {\n return new CustomEvent(eventName, {\n detail,\n });\n }\n // CustomEvent constructor API not supported (ie11)\n // Using `new Event` or `new CustomEvent` does not work in ie11\n const event = document.createEvent('CustomEvent');\n const params = {\n bubbles: true,\n cancellable: true,\n detail,\n };\n event.initCustomEvent(eventName, params.bubbles, params.cancellable, params.detail);\n return event;\n};\nconst firePortalEvent = (eventName, zIndex) => {\n const event = getEvent(eventName, zIndex);\n window.dispatchEvent(event);\n};\nconst getPortalParent = () => {\n const parentElement = document.querySelector('body > .atlaskit-portal-container');\n if (!parentElement) {\n const parent = document.createElement('div');\n parent.setAttribute('class', 'atlaskit-portal-container');\n parent.setAttribute('style', `display: flex;`);\n getBody().appendChild(parent);\n return parent;\n }\n return parentElement;\n};\n// This is a generic component does two things:\n// 1. Portals it's children using React.createPortal\n// 2. Creates the DOM node container for the portal based on props\n// 3. Ensures DOM the container creates it's own stacking context\nclass Portal extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n container: canUseDOM ? createContainer(this.props.zIndex) : undefined,\n portalIsMounted: false,\n };\n }\n componentDidUpdate(prevProps, prevState) {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container && prevProps.zIndex !== zIndex) {\n const newContainer = createContainer(zIndex);\n getPortalParent().replaceChild(container, newContainer);\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({ container: newContainer });\n }\n else if (!prevState.container && container) {\n // SSR path\n getPortalParent().appendChild(container);\n }\n }\n componentDidMount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().appendChild(container);\n }\n else {\n // SSR path\n const newContainer = createContainer(zIndex);\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({ container: newContainer });\n }\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n portalIsMounted: true,\n });\n firePortalEvent(PORTAL_MOUNT_EVENT, Number(zIndex));\n }\n componentWillUnmount() {\n const { container } = this.state;\n const { zIndex } = this.props;\n if (container) {\n getPortalParent().removeChild(container);\n // clean up parent element if there are no more portals\n const portals = !!document.querySelector('body > .atlaskit-portal-container > .atlaskit-portal');\n if (!portals) {\n getBody().removeChild(getPortalParent());\n }\n }\n firePortalEvent(PORTAL_UNMOUNT_EVENT, Number(zIndex));\n }\n render() {\n const { container, portalIsMounted } = this.state;\n return container && portalIsMounted\n ? ReactDOM.createPortal(this.props.children, container)\n : null;\n }\n}\nPortal.defaultProps = {\n zIndex: 0,\n};\nexport default Portal;\n//# sourceMappingURL=Portal.js.map","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\n\nvar index = (function (condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n }\n\n throw new Error(prefix + ': ' + (message || ''));\n});\n\nexport default index;\n","export const PORTAL_MOUNT_EVENT = 'akPortalMount';\nexport const PORTAL_UNMOUNT_EVENT = 'akPortalUnmount';\n//# sourceMappingURL=constants.js.map","import styled from 'styled-components';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nconst backgroundColor = themed({\n light: N800,\n dark: DN0,\n});\nconst textColor = themed({\n light: N0,\n dark: DN600,\n});\nexport const TooltipPrimitive = styled.div `\n z-index: ${layers.tooltip};\n pointer-events: none;\n position: fixed;\n`;\nexport const Tooltip = styled(TooltipPrimitive) `\n background-color: ${backgroundColor};\n border-radius: ${borderRadius}px;\n box-sizing: border-box;\n color: ${textColor};\n font-size: 12px;\n left: 0;\n line-height: 1.3;\n max-width: 240px;\n padding: 2px 6px;\n top: 0;\n /* Edge does not support overflow-wrap */\n word-wrap: break-word;\n overflow-wrap: break-word;\n\n ${({ truncate }) => truncate &&\n `\n max-width: 420px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n `}\n`;\n// The inline-block here is needed to keep the tooltip appearing in the correct position\n// when nested inside a wider parent (see position: relative example).\nexport const Target = styled.div `\n display: inline-block;\n`;\n//# sourceMappingURL=styled.js.map","import React from 'react';\nimport { Transition } from 'react-transition-group';\nconst ENTER_DURATION = 120;\nconst EXIT_DURATION = 80;\nconst easing = 'cubic-bezier(0.23, 1, 0.32, 1)'; // easeOutQuint\nconst defaultStyle = (timeout) => ({\n transition: `transform ${timeout.enter}ms ${easing}, opacity ${timeout.enter}ms linear`,\n opacity: 0,\n});\nconst transitionStyle = (state) => {\n const transitions = {\n entering: {},\n entered: {\n opacity: 1,\n },\n exiting: {\n opacity: 0,\n },\n };\n return transitions[state];\n};\nconst getStyle = (timeout, state) => () => ({\n ...defaultStyle(timeout),\n ...transitionStyle(state),\n});\nconst Animation = ({ children, immediatelyHide, immediatelyShow, onExited, in: inProp, }) => {\n const timeout = {\n enter: immediatelyShow ? 0 : ENTER_DURATION,\n exit: immediatelyHide ? 0 : EXIT_DURATION,\n };\n return (React.createElement(Transition, { timeout: timeout, in: inProp, onExited: onExited, unmountOnExit: true, appear: true }, (state) => children(getStyle(timeout, state))));\n};\nexport default Animation;\n//# sourceMappingURL=Animation.js.map","import { name as packageName, version as packageVersion, } from '../../version.json';\nexport const hoveredPayload = {\n action: 'displayed',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\nexport const unhoveredPayload = {\n action: 'hidden',\n actionSubject: 'tooltip',\n attributes: {\n componentName: 'tooltip',\n packageName,\n packageVersion,\n },\n};\n//# sourceMappingURL=analytics-payloads.js.map","/* eslint-disable react/require-default-props */\nimport React from 'react';\nimport flushable from 'flushable';\nimport NodeResolver from 'react-node-resolver';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents, } from '@atlaskit/analytics-next';\nimport { Popper } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport { Tooltip as StyledTooltip } from '../styled';\nimport { name as packageName, version as packageVersion, } from '../version.json';\nimport Animation from './Animation';\nimport { hoveredPayload, unhoveredPayload } from './utils/analytics-payloads';\nconst SCROLL_OPTIONS = { capture: true, passive: true };\nfunction getMousePosition(mouseCoordinates) {\n const safeMouse = mouseCoordinates || { top: 0, left: 0 };\n const getBoundingClientRect = () => {\n return {\n top: safeMouse.top,\n left: safeMouse.left,\n bottom: safeMouse.top,\n right: safeMouse.left,\n width: 0,\n height: 0,\n };\n };\n return {\n getBoundingClientRect,\n clientWidth: 0,\n clientHeight: 0,\n };\n}\nlet pendingHide;\nconst showTooltip = (fn, defaultDelay) => {\n const isHidePending = pendingHide && pendingHide.pending();\n if (isHidePending) {\n pendingHide.flush();\n }\n const pendingShow = flushable(() => fn(isHidePending), isHidePending ? 0 : defaultDelay);\n return pendingShow.cancel;\n};\nconst hideTooltip = (fn, defaultDelay) => {\n pendingHide = flushable(flushed => fn(flushed), defaultDelay);\n return pendingHide.cancel;\n};\nclass Tooltip extends React.Component {\n constructor() {\n super(...arguments);\n this.wrapperRef = null;\n this.targetRef = null;\n this.cancelPendingSetState = () => { };\n this.userInteraction = 'mouse';\n this.state = {\n immediatelyHide: false,\n immediatelyShow: false,\n isVisible: false,\n renderTooltip: false,\n };\n this.handleWindowScroll = () => {\n if (this.state.isVisible) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseClick = () => {\n if (this.props.hideTooltipOnClick) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseDown = () => {\n if (this.props.hideTooltipOnMouseDown) {\n this.cancelPendingSetState();\n this.setState({ isVisible: false, immediatelyHide: true });\n }\n };\n this.handleMouseOver = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.userInteraction = 'mouse';\n // In the case where a tooltip is newly rendered but immediately becomes hovered,\n // we need to set the coordinates in the mouseOver event.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: e.clientX,\n top: e.clientY,\n });\n }\n this.handleShowTooltip();\n };\n this.handleFocus = () => {\n this.userInteraction = 'keyboard';\n // We need to fake the mouse dimensions even on focus because the code path currently assumes\n // fake mouse element needs to exist before showing the tooltip.\n if (!this.fakeMouseElement) {\n this.fakeMouseElement = getMousePosition({\n left: 0,\n top: 0,\n });\n }\n this.handleShowTooltip();\n };\n this.handleShowTooltip = () => {\n this.cancelPendingSetState();\n if (Boolean(this.props.content) && !this.state.isVisible) {\n this.cancelPendingSetState = showTooltip(immediatelyShow => {\n this.setState({\n isVisible: true,\n renderTooltip: true,\n immediatelyShow,\n });\n }, this.props.delay || 0);\n }\n };\n this.handleHideTooltip = (e) => {\n if (e.target === this.wrapperRef) {\n return;\n }\n this.cancelPendingSetState();\n if (this.state.isVisible) {\n this.cancelPendingSetState = hideTooltip(immediatelyHide => {\n this.setState({ isVisible: false, immediatelyHide });\n }, this.props.delay || 0);\n }\n };\n // Update mouse coordinates, used when position is 'mouse'.\n // We are not debouncing/throttling this function because we aren't causing any\n // re-renders or performaing any intensive calculations, we're just updating a value.\n // React also doesn't play nice debounced DOM event handlers because they pool their\n // SyntheticEvent objects. Need to use event.persist as a workaround - https://stackoverflow.com/a/24679479/893630\n this.handleMouseMove = (event) => {\n if (!this.state.renderTooltip) {\n this.fakeMouseElement = getMousePosition({\n left: event.clientX,\n top: event.clientY,\n });\n }\n };\n }\n componentWillUnmount() {\n this.cancelPendingSetState();\n this.removeScrollListener();\n }\n componentDidUpdate(_prevProps, prevState) {\n if (!prevState.isVisible && this.state.isVisible) {\n if (this.props.onShow)\n this.props.onShow();\n window.addEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n else if (prevState.isVisible && !this.state.isVisible) {\n if (this.props.onHide)\n this.props.onHide();\n this.removeScrollListener();\n }\n }\n removeScrollListener() {\n window.removeEventListener('scroll', this.handleWindowScroll, SCROLL_OPTIONS);\n }\n shouldPositionTooltipNearMouse() {\n const { position } = this.props;\n return position === 'mouse' && this.userInteraction === 'mouse';\n }\n render() {\n const { children, position, mousePosition, content, truncate, component: TooltipContainer, tag: TargetContainer, testId, } = this.props;\n const { isVisible, renderTooltip, immediatelyShow, immediatelyHide, } = this.state;\n const tooltipPosition = position === 'mouse' ? mousePosition : position;\n return (\n /* eslint-disable jsx-a11y/mouse-events-have-key-events */\n React.createElement(React.Fragment, null,\n TargetContainer && (React.createElement(TargetContainer, { onClick: this.handleMouseClick, onMouseOver: this.handleMouseOver, onMouseOut: this.handleHideTooltip, onMouseMove: this.handleMouseMove, onMouseDown: this.handleMouseDown, onFocus: this.handleFocus, onBlur: this.handleHideTooltip, ref: (wrapperRef) => {\n this.wrapperRef = wrapperRef;\n } },\n React.createElement(NodeResolver, { innerRef: (ref) => {\n this.targetRef = ref;\n } }, React.Children.only(children)))),\n renderTooltip && this.targetRef && this.fakeMouseElement ? (React.createElement(Portal, { zIndex: layers.tooltip() },\n React.createElement(Popper, { placement: tooltipPosition, referenceElement: \n // https://github.com/FezVrasta/react-popper#usage-without-a-reference-htmlelement\n // We are using a popper technique to pass in a faked element when we use mouse.\n (this.shouldPositionTooltipNearMouse()\n ? this.fakeMouseElement\n : this.targetRef) }, ({ ref, style }) => TooltipContainer && (React.createElement(Animation, { immediatelyShow: immediatelyShow, immediatelyHide: immediatelyHide, onExited: () => this.setState({ renderTooltip: false }), in: isVisible }, getAnimationStyles => (React.createElement(TooltipContainer\n // innerRef can't be null so shortcircuit to undefined if it is.\n , { \n // innerRef can't be null so shortcircuit to undefined if it is.\n innerRef: ref || undefined, className: \"Tooltip\", style: {\n ...getAnimationStyles(),\n ...style,\n }, truncate: truncate || false, \"data-placement\": tooltipPosition, \"data-testid\": testId }, content))))))) : null)\n /* eslint-enable */\n );\n }\n}\nTooltip.defaultProps = {\n component: StyledTooltip,\n delay: 300,\n mousePosition: 'bottom',\n position: 'bottom',\n tag: 'div',\n};\nexport { Tooltip as TooltipWithoutAnalytics };\nconst createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'tooltip',\n packageName,\n packageVersion,\n})(withAnalyticsEvents({\n onHide: unhoveredPayload,\n onShow: createAndFireEventOnAtlaskit({ ...hoveredPayload }),\n})(Tooltip));\n//# sourceMappingURL=Tooltip.js.map","// If a generic is used here, props can be inferred never and passed up (even with defaults)\nexport function add(fn, addend) {\n return (props) => fn(props) + addend;\n}\nexport function subtract(fn, subtrahend) {\n return (props) => fn(props) - subtrahend;\n}\nexport function multiply(fn, factor) {\n return (props) => fn(props) * factor;\n}\nexport function divide(fn, divisor) {\n return (props) => fn(props) / divisor;\n}\n//# sourceMappingURL=math.js.map","import styled, { css } from 'styled-components';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { fontSize, gridSize } from '@atlaskit/theme/constants';\nimport { divide, multiply } from '@atlaskit/theme/math';\nvar activeBackgroundColor = themed({\n light: colors.B75,\n dark: colors.DN30\n});\nvar hoverBackgroundColor = themed({\n light: colors.N20,\n dark: colors.DN60\n});\nvar selectedBackgroundColor = themed({\n light: colors.N0,\n dark: colors.DN30\n});\nvar activePrimaryTextColor = themed({\n light: colors.N800,\n dark: colors.DN300\n});\nvar defaultPrimaryTextColor = themed({\n light: colors.N800,\n dark: colors.DN600\n});\nvar disabledPrimaryTextColor = themed({\n light: colors.N70,\n dark: colors.DN70\n});\nvar primaryPrimaryTextColor = themed({\n light: colors.B400,\n dark: colors.B400\n});\nvar selectedPrimaryTextColor = themed({\n light: colors.N800,\n dark: colors.N800\n});\nvar focusedStyles = css([\"\\n box-shadow: 0 0 0 2px \", \"\\n inset;\\n outline: none;\\n outline-offset: 0;\\n position: relative; /* prevents bgcolor of a hovered element from obfuscating focus ring of a focused sibling element */\\n\"], themed({\n light: colors.B100,\n dark: colors.B75\n}));\nvar activeStyles = css([\"\\n &,\\n &:hover {\\n background-color: \", \";\\n color: \", \";\\n }\\n\"], selectedBackgroundColor, selectedPrimaryTextColor);\nvar primaryStyles = css([\"\\n color: \", \";\\n\"], primaryPrimaryTextColor);\n\nvar sharedStyles = function sharedStyles(props) {\n return css([\"\\n align-items: center;\\n box-sizing: border-box;\\n color: \", \";\\n cursor: \", \";\\n display: \", \";\\n flex-wrap: nowrap;\\n font-size: \", \"px;\\n font-weight: normal;\\n padding: 0 \", \"px;\\n text-decoration: none;\\n\\n &:hover {\\n background-color: \", \";\\n color: \", \";\\n text-decoration: none;\\n\\n \", \";\\n }\\n &:active {\\n background-color: \", \";\\n color: \", \";\\n\\n \", \";\\n }\\n &:focus {\\n \", \";\\n }\\n\\n \", \" \", \" \", \";\\n\"], props.isDisabled ? disabledPrimaryTextColor : defaultPrimaryTextColor, props.isDisabled ? 'not-allowed' : 'pointer', props.isHidden ? 'none' : 'flex', fontSize, multiply(gridSize, 1.5), !props.isDisabled && hoverBackgroundColor, props.isDisabled ? disabledPrimaryTextColor : defaultPrimaryTextColor, props.isPrimary && primaryStyles, !props.isDisabled && activeBackgroundColor, !props.isDisabled && activePrimaryTextColor, props.isPrimary && primaryStyles, focusedStyles, props.isFocused && focusedStyles, props.isActive && activeStyles, props.isPrimary && primaryStyles);\n};\n\nexport var Anchor = styled.a.withConfig({\n displayName: \"Item__Anchor\",\n componentId: \"aiqnor-0\"\n})([\"\\n \", \";\\n\"], function (props) {\n return sharedStyles(props);\n});\nexport var Span = styled.span.withConfig({\n displayName: \"Item__Span\",\n componentId: \"aiqnor-1\"\n})([\"\\n \", \";\\n\"], function (props) {\n return sharedStyles(props);\n}); // Checkbox/Radio wrapper -- sits left of the children\n\nexport var InputWrapper = styled.span.withConfig({\n displayName: \"Item__InputWrapper\",\n componentId: \"aiqnor-2\"\n})([\"\\n display: flex;\\n margin: 0 2px;\\n\"]); // Elements injected before/after the children\n\nexport var Before = styled.span.withConfig({\n displayName: \"Item__Before\",\n componentId: \"aiqnor-3\"\n})([\"\\n display: flex;\\n\"]);\nexport var After = styled.span.withConfig({\n displayName: \"Item__After\",\n componentId: \"aiqnor-4\"\n})([\"\\n align-items: center;\\n display: flex;\\n\"]); // Alignment and layout for the children\n\nexport var ContentWrapper = styled.span.withConfig({\n displayName: \"Item__ContentWrapper\",\n componentId: \"aiqnor-5\"\n})([\"\\n display: flex;\\n flex-direction: column;\\n margin: 0 \", \"px;\\n padding: \", \"px 0;\\n overflow: hidden;\\n\\n &:first-child {\\n margin: 0;\\n }\\n\"], gridSize, gridSize);\nexport var Content = styled.span.withConfig({\n displayName: \"Item__Content\",\n componentId: \"aiqnor-6\"\n})([\"\\n flex: 1 1 auto;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \", \";\\n\"], function (props) {\n return props.allowMultiline && css([\"\\n white-space: normal;\\n \"]);\n}); // Description is a block element below the children, like a subtitle\n\nexport var Description = styled.span.withConfig({\n displayName: \"Item__Description\",\n componentId: \"aiqnor-7\"\n})([\"\\n color: \", \";\\n flex: 1 1 auto;\\n font-size: 12px;\\n line-height: 16 / 12;\\n margin-top: \", \"px;\\n\"], colors.subtleText, divide(gridSize, 2)); // NOTE: Exposed as a named export for this package\n\nexport var SecondaryText = styled.span.withConfig({\n displayName: \"Item__SecondaryText\",\n componentId: \"aiqnor-8\"\n})([\"\\n color: \", \";\\n\"], colors.subtleText);","import * as colors from '@atlaskit/theme/colors';\nexport function getInputBackground(_ref) {\n var isChecked = _ref.isChecked,\n isDisabled = _ref.isDisabled,\n isHovered = _ref.isHovered,\n isPressed = _ref.isPressed;\n var background = colors.N40;\n if (isHovered) background = colors.N50;\n if (isPressed) background = colors.B200;\n if (isChecked) background = colors.B400;\n if (isDisabled) background = colors.N20;\n if (isChecked && isDisabled) background = colors.N600;\n return background;\n}\nexport function getInputFill(appearanceProps) {\n return appearanceProps.isChecked ? colors.N0 : 'transparent';\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport { Anchor, Span } from '../styled/Item';\nexport var supportsVoiceOver = function supportsVoiceOver() {\n return /Mac OS X/.test(navigator.userAgent);\n};\nexport var getAriaRoles = function getAriaRoles() {\n return {\n checkbox: supportsVoiceOver() ? 'checkbox' : 'menuitemcheckbox',\n link: 'menuitem',\n option: 'option',\n radio: supportsVoiceOver() ? 'radio' : 'menuitemradio'\n };\n};\nexport var baseTypes = {\n default: 'link',\n values: ['link', 'radio', 'checkbox', 'option']\n};\n\nvar Element =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(Element, _PureComponent);\n\n function Element() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Element);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Element)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseDown\", function (e) {\n e.preventDefault();\n\n _this.props.handleMouseDown();\n });\n\n return _this;\n }\n\n _createClass(Element, [{\n key: \"render\",\n value: function render() {\n var props = this.props;\n var isActive = props.isActive,\n isChecked = props.isChecked,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isHidden = props.isHidden,\n isSelected = props.isSelected,\n isPrimary = props.isPrimary;\n var type = this.props.type || '';\n var appearanceProps = {\n isActive: isActive,\n isChecked: isChecked,\n isDisabled: isDisabled,\n isFocused: isFocused,\n isHidden: isHidden,\n isSelected: isSelected,\n isPrimary: isPrimary\n };\n var ariaProps = {\n 'aria-checked': !!isChecked,\n 'aria-disabled': !!isDisabled,\n 'aria-hidden': !!isHidden,\n 'aria-selected': !!isSelected\n };\n var ariaRoles = getAriaRoles();\n var commonProps = {\n 'data-role': 'droplistItem',\n onClick: props.handleClick,\n onKeyPress: props.handleKeyPress,\n onMouseDown: this.handleMouseDown,\n onMouseOut: props.handleMouseOut,\n onMouseOver: props.handleMouseOver,\n onMouseUp: props.handleMouseUp,\n role: ariaRoles[type],\n title: props.title,\n tabIndex: props.type === 'option' ? null : 0\n };\n var testingProps = process.env.NODE_ENV === 'test' ? {\n 'data-test-active': isActive,\n 'data-test-checked': isChecked,\n 'data-test-disabled': isDisabled,\n 'data-test-hidden': isHidden,\n 'data-test-selected': isSelected\n } : {};\n\n var consolidatedProps = _objectSpread({}, appearanceProps, ariaProps, commonProps, testingProps);\n\n if (props.href && !isDisabled) {\n return React.createElement(Anchor, _extends({\n href: props.href,\n target: props.target\n }, consolidatedProps), props.children);\n }\n\n return React.createElement(Span, consolidatedProps, props.children);\n }\n }]);\n\n return Element;\n}(PureComponent);\n\nexport { Element as default };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Checkbox from '@atlaskit/icon/glyph/checkbox';\nimport Radio from '@atlaskit/icon/glyph/radio';\nimport Tooltip from '@atlaskit/tooltip';\nimport { After, Before, Content, ContentWrapper, Description, InputWrapper } from '../styled/Item';\nimport { getInputBackground, getInputFill } from '../utils';\nimport { name as packageName, version as packageVersion } from '../version.json';\nimport Element from './Element';\nvar inputTypes = {\n checkbox: Checkbox,\n radio: Radio\n};\n\nvar Item =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(Item, _PureComponent);\n\n function Item() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Item);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Item)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n isHovered: false,\n isPressed: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n return document.addEventListener('mouseup', _this.handleMouseUp);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n return document.removeEventListener('mouseup', _this.handleMouseUp);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"guardedActivate\", function (event) {\n var _this$props = _this.props,\n isDisabled = _this$props.isDisabled,\n onActivate = _this$props.onActivate;\n if (!isDisabled && onActivate) onActivate({\n item: _assertThisInitialized(_this),\n event: event\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n return _this.guardedActivate(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyPress\", function (event) {\n var keyIsValid = ['Enter', ' '].indexOf(event.key) > -1;\n if (keyIsValid) _this.guardedActivate(event);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseDown\", function () {\n return _this.setState({\n isPressed: true\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseUp\", function () {\n return _this.setState({\n isPressed: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseOut\", function () {\n return _this.setState({\n isHovered: false\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleMouseOver\", function () {\n return _this.setState({\n isHovered: true\n });\n });\n\n return _this;\n }\n\n _createClass(Item, [{\n key: \"render\",\n value: function render() {\n var props = this.props;\n var _this$state = this.state,\n isHovered = _this$state.isHovered,\n isPressed = _this$state.isPressed;\n var type = props.type || '';\n var hasInput = ['checkbox', 'radio'].indexOf(type) > -1;\n var Input = inputTypes[type];\n var appearanceProps = {\n isActive: props.type === 'link' && props.isActive || props.type === 'option' && props.isSelected,\n isChecked: ['checkbox', 'radio'].indexOf(type) > -1 && props.isChecked,\n isDisabled: props.isDisabled,\n isFocused: props.isFocused,\n isHidden: props.isHidden,\n isHovered: isHovered,\n isPressed: isPressed,\n isSelected: type === 'option' && props.isSelected,\n isPrimary: props.appearance === 'primary'\n };\n var element = React.createElement(Element, _extends({}, appearanceProps, {\n handleClick: this.handleClick,\n handleKeyPress: this.handleKeyPress,\n handleMouseOut: this.handleMouseOut,\n handleMouseOver: this.handleMouseOver,\n handleMouseUp: this.handleMouseUp,\n handleMouseDown: this.handleMouseDown,\n href: props.href,\n target: props.target,\n title: props.title,\n type: props.type\n }), hasInput && React.createElement(InputWrapper, appearanceProps, React.createElement(Input, {\n label: \"\",\n primaryColor: getInputBackground(appearanceProps),\n secondaryColor: getInputFill(appearanceProps),\n size: \"medium\"\n })), !!props.elemBefore && React.createElement(Before, null, props.elemBefore), React.createElement(ContentWrapper, null, React.createElement(Content, {\n allowMultiline: this.context.shouldAllowMultilineItems\n }, props.children), !!props.description && React.createElement(Description, null, props.description)), !!props.elemAfter && React.createElement(After, null, props.elemAfter));\n return React.createElement(\"span\", {\n role: \"presentation\"\n }, props.tooltipDescription ? React.createElement(Tooltip, {\n content: props.tooltipDescription,\n position: props.tooltipPosition\n }, element) : element);\n }\n }]);\n\n return Item;\n}(PureComponent);\n\n_defineProperty(Item, \"defaultProps\", {\n appearance: 'default',\n children: null,\n description: '',\n elemAfter: null,\n elemBefore: null,\n href: null,\n isActive: false,\n isChecked: false,\n isDisabled: false,\n isFocused: false,\n isHidden: false,\n isSelected: false,\n itemContext: 'menu',\n onActivate: function onActivate() {},\n target: null,\n title: null,\n tooltipDescription: null,\n tooltipPosition: 'right',\n type: 'link'\n});\n\n_defineProperty(Item, \"contextTypes\", {\n shouldAllowMultilineItems: PropTypes.bool\n});\n\nexport { Item as DroplistItemWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'droplistItem',\n packageName: packageName,\n packageVersion: packageVersion\n})(withAnalyticsEvents({\n onActivate: createAndFireEventOnAtlaskit({\n action: 'selected',\n actionSubject: 'droplistItem',\n attributes: {\n componentName: 'droplistItem',\n packageName: packageName,\n packageVersion: packageVersion\n }\n })\n})(Item));","import styled from 'styled-components';\nimport { DN300, N300 } from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { multiply } from '@atlaskit/theme/math';\nexport default styled.div.withConfig({\n displayName: \"Group\",\n componentId: \"sc-1q26u8b-0\"\n})([\"\\n box-sizing: border-box;\\n display: block;\\n margin-top: \", \"px;\\n\\n &:first-child {\\n margin-top: 0;\\n }\\n\"], gridSize);\nexport var Heading = styled.div.withConfig({\n displayName: \"Group__Heading\",\n componentId: \"sc-1q26u8b-1\"\n})([\"\\n align-items: baseline;\\n color: \", \";\\n display: flex;\\n flex: 1 1 auto;\\n font-weight: normal;\\n font-size: 14px;\\n line-height: 1;\\n margin: 0;\\n padding: \", \"px \", \"px;\\n\"], themed({\n light: N300,\n dark: DN300\n}), gridSize, multiply(gridSize, 1.5));\nexport var HeadingAfter = styled.div.withConfig({\n displayName: \"Group__HeadingAfter\",\n componentId: \"sc-1q26u8b-2\"\n})([\"\\n flex: 0 0 auto;\\n\"]);\nexport var HeadingText = styled.div.withConfig({\n displayName: \"Group__HeadingText\",\n componentId: \"sc-1q26u8b-3\"\n})([\"\\n flex: 1 1 auto;\\n font-size: 12px;\\n text-transform: uppercase;\\n\"]);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { PureComponent } from 'react';\nimport Group, { Heading, HeadingAfter, HeadingText } from '../styled/Group';\n\nvar DroplistGroup =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(DroplistGroup, _PureComponent);\n\n function DroplistGroup() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DroplistGroup);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DroplistGroup)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n ariaLabel: _this.props.heading\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n if (_this.props.heading || _this.props.elemAfter) {\n _this.setState({\n ariaLabel: _this.getAriaLabel()\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n if (_this.props.heading || _this.props.elemAfter) {\n // eslint-disable-next-line react/no-did-update-set-state\n _this.setState({\n ariaLabel: _this.getAriaLabel()\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getAriaLabel\", function () {\n var _this$props = _this.props,\n elemAfter = _this$props.elemAfter,\n heading = _this$props.heading;\n var afterText = elemAfter && typeof elemAfter === 'string' ? elemAfter : _this.headingElement && _this.headingElement.textContent;\n return \"\".concat(heading || '', \" \").concat(afterText || '');\n });\n\n return _this;\n }\n\n _createClass(DroplistGroup, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n children = _this$props2.children,\n elemAfter = _this$props2.elemAfter,\n heading = _this$props2.heading;\n var ariaLabel = this.state.ariaLabel;\n return React.createElement(Group, {\n \"aria-label\": ariaLabel,\n role: \"group\"\n }, heading ? React.createElement(Heading, {\n \"aria-hidden\": \"true\",\n \"data-role\": \"droplistGroupHeading\"\n }, React.createElement(HeadingText, null, heading), elemAfter ? React.createElement(HeadingAfter, {\n innerRef: function innerRef(r) {\n _this2.headingElement = r;\n }\n }, elemAfter) : null) : null, children);\n }\n }]);\n\n return DroplistGroup;\n}(PureComponent);\n\nDroplistGroup.displayName = 'Group';\nexport default DroplistGroup;","import React from 'react';\nimport styled from 'styled-components';\nimport ScrollLock from 'react-scrolllock';\nvar Blanket = styled.div.withConfig({\n displayName: \"ScrollBlock__Blanket\",\n componentId: \"sc-1xiww8k-0\"\n})([\"\\n position: fixed;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background: transparent;\\n\"]);\nexport default function ScrollBlock() {\n return React.createElement(Blanket, null, React.createElement(ScrollLock, null));\n}","var positionMap = {\n 'top left': {\n position: 'top-start',\n animation: 'top'\n },\n 'top center': {\n position: 'top',\n animation: 'top'\n },\n 'top right': {\n position: 'top-end',\n animation: 'top'\n },\n 'right top': {\n position: 'right-start',\n animation: 'right'\n },\n 'right middle': {\n position: 'right',\n animation: 'right'\n },\n 'right bottom': {\n position: 'right-end',\n animation: 'right'\n },\n 'bottom left': {\n position: 'bottom-start',\n animation: 'bottom'\n },\n 'bottom center': {\n position: 'bottom',\n animation: 'bottom'\n },\n 'bottom right': {\n position: 'bottom-end',\n animation: 'bottom'\n },\n 'left top': {\n position: 'left-start',\n animation: 'left'\n },\n 'left middle': {\n position: 'left',\n animation: 'left'\n },\n 'left bottom': {\n position: 'left-end',\n animation: 'left'\n }\n};\nexport var POSITION_ATTRIBUTE_ENUM = {\n values: ['top left', 'top center', 'top right', 'right top', 'right middle', 'right bottom', 'bottom left', 'bottom center', 'bottom right', 'left top', 'left middle', 'left bottom'],\n default: 'right middle'\n};\n\nfunction positionToPopper(position) {\n return position && positionMap[position] ? positionMap[position].position : null;\n}\n/* Convert the autoFlip property into the array format that Popper expects.\n * The first item must not include the edge-position variation, or Popper will not understand it.\n */\n\n\nexport function getFlipBehavior(props) {\n return props.position && Array.isArray(props.autoFlip) ? [props.position.split(' ')[0]].concat(props.autoFlip) : null;\n}\nexport function positionPropToPopperPosition(position) {\n return positionToPopper(position) || positionMap[POSITION_ATTRIBUTE_ENUM.default].position;\n}","import styled from 'styled-components';\nexport default styled.div.withConfig({\n displayName: \"styledContentContainer\",\n componentId: \"p0j3f7-0\"\n})([\"\\n [data-role='droplistContent'] {\\n \", \";\\n }\\n\"], function (_ref) {\n var maxHeight = _ref.maxHeight;\n return maxHeight ? \"max-height: \".concat(maxHeight, \"px\") : '';\n});","import _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _typeof from \"@babel/runtime/helpers/typeof\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport styled from 'styled-components';\nimport rafSchedule from 'raf-schd';\nimport Popper from 'popper.js'; // eslint-disable-line import/extensions\n\nimport ScrollBlock from './internal/ScrollBlock';\nimport { getFlipBehavior, positionPropToPopperPosition } from './internal/helpers';\nimport ContentContainer from '../styledContentContainer'; // We create a dummy target when making the menu fixed so that we can force popper.js to use fixed positioning\n// without affecting child layout of the actual target since children of fixed position elements can't use percentage\n// heights/widths.\n\nvar FixedTarget = styled.div.withConfig({\n displayName: \"Layer__FixedTarget\",\n componentId: \"qunuuz-0\"\n})([\"\\n \", \";\\n\"], function (_ref) {\n var fixedOffset = _ref.fixedOffset,\n targetRef = _ref.targetRef;\n\n if (fixedOffset && targetRef) {\n var actualTarget = targetRef.firstChild;\n var rect = actualTarget.getBoundingClientRect();\n return \"\\n position: fixed;\\n top: \".concat(fixedOffset.top, \"px;\\n left: \").concat(fixedOffset.left, \"px;\\n height: \").concat(rect.height, \"px;\\n width: \").concat(rect.width, \"px;\\n z-index: -1;\\n \");\n }\n\n return 'display: none;';\n});\n\nif (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('@atlaskit/layer has been deprecated. It is an internal component and should not be used directly.');\n}\n\nvar Layer =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Layer, _Component);\n\n // working with extract-react-types\n function Layer(props) {\n var _this;\n\n _classCallCheck(this, Layer);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Layer).call(this, props));\n\n _defineProperty(_assertThisInitialized(_this), \"popper\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"targetRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"contentRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"fixedRef\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"extractStyles\", function (state) {\n if (state) {\n var popperHeight = state.offsets.popper.height;\n var left = Math.round(state.offsets.popper.left); // The offset position is sometimes an object and sometimes just a string...\n\n var cssPosition = _typeof(state.offsets.popper.position) === 'object' ? state.offsets.popper.position.position : state.offsets.popper.position;\n\n var top = _this.fixPositionTopUnderflow(state.offsets.popper.top, cssPosition);\n\n var originalHeight = _this.state.originalHeight || popperHeight;\n\n var maxHeight = _this.calculateMaxHeight(originalHeight, popperHeight, top, cssPosition);\n\n _this.setState({\n // position: fixed or absolute\n cssPosition: cssPosition,\n hasExtractedStyles: true,\n transform: \"translate3d(\".concat(left, \"px, \").concat(top, \"px, 0px)\"),\n // state.flipped is either true or undefined\n flipped: !!state.flipped,\n actualPosition: state.position,\n originalPosition: state.originalPosition,\n originalHeight: originalHeight,\n maxHeight: maxHeight\n });\n }\n });\n\n _this.state = {\n hasExtractedStyles: false,\n position: null,\n transform: null,\n flipped: false,\n actualPosition: null,\n // We set these default offsets to prevent a flash of popper content in the wrong position\n // which can cause incorrect height calculations. Popper will calculate these values\n offsets: {\n popper: {\n left: -9999,\n top: -9999\n }\n },\n originalPosition: null,\n // fix Safari parent width: https://product-fabric.atlassian.net/browse/ED-1784\n cssPosition: 'absolute',\n originalHeight: null,\n maxHeight: null,\n fixedOffset: null\n };\n _this.extractStyles = rafSchedule(_this.extractStyles.bind(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(Layer, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.applyPopper(this.props);\n this.calculateFixedOffset(this.props);\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n this.applyPopper(nextProps);\n this.calculateFixedOffset(nextProps);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n var _this$props = this.props,\n onFlippedChange = _this$props.onFlippedChange,\n onPositioned = _this$props.onPositioned;\n var _this$state = this.state,\n flipped = _this$state.flipped,\n actualPosition = _this$state.actualPosition,\n originalPosition = _this$state.originalPosition,\n hasExtractedStyles = _this$state.hasExtractedStyles;\n\n if (prevState.flipped !== flipped && onFlippedChange) {\n onFlippedChange({\n flipped: flipped,\n actualPosition: actualPosition,\n originalPosition: originalPosition\n });\n } // This flag is set the first time the position is calculated from Popper and applied to the content\n\n\n if (!prevState.hasExtractedStyles && hasExtractedStyles && onPositioned) {\n onPositioned();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.extractStyles.cancel();\n\n if (this.popper) {\n this.popper.destroy();\n }\n }\n /* Calculate the max height of the popper if it's height is greater than the viewport to prevent\n * the bottom of the popper not being viewable.\n * Only works if the popper uses viewport as the boundary and has a fixed position ancestor.\n */\n\n }, {\n key: \"calculateMaxHeight\",\n value: function calculateMaxHeight(originalHeight, currentHeight, positionTop, cssPosition) {\n var DocumentElementClientHeight = 0;\n\n if (document.documentElement) {\n DocumentElementClientHeight = document.documentElement.clientHeight;\n }\n\n if (cssPosition !== 'fixed' || this.props.boundariesElement !== 'viewport') {\n return null;\n }\n\n var viewportHeight = Math.max(DocumentElementClientHeight, window.innerHeight || 0);\n return viewportHeight < originalHeight && currentHeight + positionTop >= viewportHeight - 50 ? // allow some spacing either side of viewport height\n viewportHeight - 12 : null;\n }\n /* Popper may return either a fixed or absolute position which would be applied to the\n * content style. In order to overcome clipping issues for overflow containing blocks when\n * the position is absolute, we create a fixed position wrapper.\n */\n\n }, {\n key: \"calculateFixedOffset\",\n value: function calculateFixedOffset(props) {\n var isAlwaysFixed = props.isAlwaysFixed;\n\n if (isAlwaysFixed && this.targetRef) {\n var actualTarget = this.targetRef.firstChild;\n this.setState({\n fixedOffset: {\n top: actualTarget.getBoundingClientRect().top,\n left: actualTarget.getBoundingClientRect().left\n }\n });\n } else if (!isAlwaysFixed && this.state.fixedOffset !== null) {\n this.setState({\n fixedOffset: null\n });\n }\n }\n /* Clamp fixed position to the window for fixed position poppers that flow off the top of the\n * window.\n * A fixed position popper is a popper who has an ancestor with position: fixed.\n *\n * It is too difficult to fix this for non-fixed position poppers without re-implementing popper's\n * offset functionality or fixing the issue upstream.\n */\n // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: \"fixPositionTopUnderflow\",\n value: function fixPositionTopUnderflow(popperTop, cssPosition) {\n return popperTop >= 0 || cssPosition !== 'fixed' ? Math.round(popperTop) : 0;\n }\n }, {\n key: \"applyPopper\",\n value: function applyPopper(props) {\n if (!this.fixedRef || !this.targetRef || !this.contentRef) {\n return;\n }\n\n if (this.popper) {\n this.popper.destroy();\n } // \"new Popper(...)\" operation is very expensive when called on virtual DOM.\n // This condition reduces the number of calls so we can run our tests faster\n // (time was reduced from 100s to 13s).\n\n\n if (!props.content) {\n return;\n } // we wrap our target in a div so that we can safely get a reference to it, but we pass the\n // actual target to popper\n\n\n var actualTarget = props.isAlwaysFixed ? this.fixedRef : this.targetRef.firstChild;\n var popperOpts = {\n placement: positionPropToPopperPosition(props.position),\n onCreate: this.extractStyles,\n onUpdate: this.extractStyles,\n modifiers: {\n applyStyle: {\n enabled: false\n },\n hide: {\n enabled: false\n },\n offset: {\n enabled: true,\n offset: this.props.offset\n },\n flip: {\n enabled: !!this.props.autoFlip,\n flipVariations: true,\n boundariesElement: this.props.boundariesElement,\n padding: 0 // leave 0 pixels between popper and the boundariesElement\n\n },\n preventOverflow: {\n enabled: !!this.props.autoFlip,\n escapeWithReference: !(this.props.boundariesElement === 'scrollParent')\n }\n },\n positionFixed: props.isAlwaysFixed\n };\n var flipBehavior = getFlipBehavior(props);\n\n if (flipBehavior) {\n popperOpts.modifiers.flip.behavior = flipBehavior;\n }\n\n this.popper = new Popper(actualTarget, this.contentRef, popperOpts);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n zIndex = _this$props2.zIndex,\n lockScroll = _this$props2.lockScroll;\n var _this$state2 = this.state,\n cssPosition = _this$state2.cssPosition,\n transform = _this$state2.transform,\n hasExtractedStyles = _this$state2.hasExtractedStyles,\n maxHeight = _this$state2.maxHeight,\n fixedOffset = _this$state2.fixedOffset;\n var opacity = hasExtractedStyles ? {} : {\n opacity: 0\n };\n return React.createElement(\"div\", null, React.createElement(\"div\", {\n ref: function ref(_ref2) {\n _this2.targetRef = _ref2;\n }\n }, this.props.children), React.createElement(FixedTarget, {\n targetRef: this.targetRef,\n fixedOffset: fixedOffset\n }, React.createElement(\"div\", {\n style: {\n height: '100%',\n width: '100%'\n },\n ref: function ref(_ref3) {\n _this2.fixedRef = _ref3;\n }\n })), lockScroll && React.createElement(ScrollBlock, null), React.createElement(ContentContainer, {\n maxHeight: maxHeight\n }, React.createElement(\"div\", {\n ref: function ref(_ref4) {\n _this2.contentRef = _ref4;\n },\n style: _objectSpread({\n top: 0,\n left: 0,\n position: cssPosition,\n transform: transform,\n zIndex: zIndex\n }, opacity)\n }, this.props.content)));\n }\n }]);\n\n return Layer;\n}(Component);\n\n_defineProperty(Layer, \"defaultProps\", {\n autoFlip: true,\n boundariesElement: 'viewport',\n children: null,\n content: null,\n offset: '0, 0',\n onFlippedChange: function onFlippedChange() {},\n position: 'right middle',\n zIndex: 400,\n lockScroll: false,\n isAlwaysFixed: false,\n onPositioned: function onPositioned() {}\n});\n\nexport { Layer as default };","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","export const presetSizes = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96,\n};\n//# sourceMappingURL=constants.js.map","/** @jsx jsx */\nimport React from 'react';\nimport { css, jsx, keyframes } from '@emotion/core';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\nconst rotate = keyframes `\n to { transform: rotate(360deg); }\n`;\n// There are three parts to the load in animation:\n// 1. Fade in\n// 2. Accelerated spin\n// 3. Stretch the spinner line\nconst loadIn = keyframes `\n from {\n transform: rotate(50deg);\n opacity: 0;\n stroke-dashoffset: 60;\n }\n to {\n transform: rotate(230deg);\n opacity: 1;\n stroke-dashoffset: 50;\n }\n`;\nfunction getStrokeColor({ mode, appearance, }) {\n if (mode === 'light') {\n return appearance === 'inherit' ? N500 : N0;\n }\n // Dark mode: colours provided by Jake Miller\n return appearance === 'inherit' ? DN900 : DN500;\n}\nexport default React.memo(React.forwardRef(function Spinner({ testId, appearance = 'inherit', delay = 0, size: providedSize = 'medium', }, ref) {\n const size = typeof providedSize === 'number'\n ? providedSize\n : presetSizes[providedSize];\n return (jsx(GlobalTheme.Consumer, null, (tokens) => {\n const strokeColor = getStrokeColor({\n mode: tokens.mode,\n appearance,\n });\n // The Spinner animation uses a combination of two\n // css animations on two separate elements.\n return (jsx(\"svg\", { focusable: \"false\", height: size, width: size, viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", \"data-testid\": testId, ref: ref, css: css `\n /* align better inline with text */\n vertical-align: middle;\n /* We are going to animate this in */\n opacity: 0;\n\n animation: ${loadIn} 1s ease-in-out;\n /* When the animation completes, stay at the last frame of the animation */\n animation-fill-mode: forwards;\n animation-delay: ${delay}ms;\n ` },\n jsx(\"circle\", { cx: \"8\", cy: \"8\", r: \"7\", css: css `\n fill: none;\n stroke: ${strokeColor};\n stroke-width: 1.5;\n stroke-linecap: round;\n stroke-dasharray: 60;\n stroke-dashoffset: inherit;\n transform-origin: center;\n animation: ${rotate} 0.86s infinite;\n animation-delay: ${delay}ms;\n animation-timing-function: cubic-bezier(0.4, 0.15, 0.6, 0.85);\n ` })));\n }));\n}));\n//# sourceMappingURL=spinner.js.map","import styled, { css } from 'styled-components';\nimport { backgroundOnLayer, N50A, N60A } from '@atlaskit/theme/colors';\nimport { borderRadius, gridSize } from '@atlaskit/theme/constants';\nimport { divide, multiply } from '@atlaskit/theme/math';\n/* When dropdown contains more than 9 elements (droplist items, droplist groups),\n * it should have scroll and cut off half of the 10th item to indicate that there are more\n * items then are seen. This was previously calculated by mapping over children, but with\n * the current composed API it is simpler to just assume 9 items. */\n\nvar getMaxHeight = function getMaxHeight(_ref) {\n var isTall = _ref.isTall,\n maxHeight = _ref.maxHeight;\n if (maxHeight) return \"\".concat(maxHeight, \"px\");\n var heightWithoutPadding = 17;\n var verticalPadding = gridSize();\n var height = heightWithoutPadding + verticalPadding * 2;\n var defaultMaxHeight = 9.5 * height + verticalPadding / 2;\n return isTall ? '90vh' : \"\".concat(defaultMaxHeight, \"px\");\n};\n\nexport default styled.div.withConfig({\n displayName: \"Droplist\",\n componentId: \"sc-1z05y4v-0\"\n})([\"\\n display: inline-flex;\\n\\n \", \";\\n\"], function (props) {\n return props.fit && \"\\n display: block;\\n flex: 1 1 auto;\\n \";\n});\nvar backgroundColor = backgroundOnLayer;\nvar boxShadow = css([\"\\n box-shadow: 0 \", \"px \", \"px -\", \"px\\n \", \",\\n 0 0 1px \", \";\\n\"], divide(gridSize, 2), gridSize, divide(gridSize, 4), N50A, N60A);\nexport var Content = styled.div.withConfig({\n displayName: \"Droplist__Content\",\n componentId: \"sc-1z05y4v-1\"\n})([\"\\n background: \", \";\\n border-radius: \", \"px;\\n \", \";\\n box-sizing: border-box;\\n overflow: auto;\\n padding: \", \"px 0;\\n max-height: \", \";\\n\"], backgroundColor, borderRadius, boxShadow, divide(gridSize, 2), getMaxHeight);\nexport var SpinnerContainer = styled.div.withConfig({\n displayName: \"Droplist__SpinnerContainer\",\n componentId: \"sc-1z05y4v-2\"\n})([\"\\n display: flex;\\n justify-content: center;\\n min-width: \", \"px;\\n padding: \", \"px;\\n\"], multiply(gridSize, 20), multiply(gridSize, 2.5));\nexport var Trigger = styled.div.withConfig({\n displayName: \"Droplist__Trigger\",\n componentId: \"sc-1z05y4v-3\"\n})([\"\\n display: inline-flex;\\n transition-duration: 0.2s;\\n transition: box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38);\\n\\n \", \";\\n\"], function (props) {\n return props.fit && \"\\n box-sizing: border-box;\\n display: block;\\n \";\n});","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { itemThemeNamespace } from '@atlaskit/item';\nimport * as colors from '@atlaskit/theme/colors';\nimport { themed } from '@atlaskit/theme/components';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport { multiply } from '@atlaskit/theme/math';\nvar dropdownPadding = {\n bottom: gridSize,\n left: multiply(gridSize, 1.5),\n right: multiply(gridSize, 1.5),\n top: gridSize\n};\nvar droplistItemTheme = {\n padding: {\n default: dropdownPadding,\n compact: dropdownPadding\n },\n borderRadius: function borderRadius() {\n return 0;\n },\n default: {\n background: themed({\n light: colors.N0,\n dark: colors.DN50\n }),\n text: themed({\n light: colors.N800,\n dark: colors.DN600\n }),\n secondaryText: themed({\n light: colors.N200,\n dark: colors.DN300\n })\n },\n hover: {\n background: themed({\n light: colors.N20,\n dark: colors.DN70\n }),\n text: themed({\n light: colors.N800,\n dark: colors.DN600\n }),\n secondaryText: themed({\n light: colors.N200,\n dark: colors.DN300\n })\n },\n active: {\n background: themed({\n light: colors.B75,\n dark: colors.B75\n }),\n text: themed({\n light: colors.N800,\n dark: colors.B400\n }),\n secondaryText: themed({\n light: colors.N200,\n dark: colors.DN300\n })\n },\n selected: {\n background: 'transparent',\n text: themed({\n light: colors.N800,\n dark: colors.DN600\n }),\n secondaryText: themed({\n light: colors.N200,\n dark: colors.DN300\n })\n },\n disabled: {\n background: 'transparent',\n text: themed({\n light: colors.N70,\n dark: colors.DN80\n }),\n secondaryText: themed({\n light: colors.N50,\n dark: colors.DN70\n })\n },\n focus: {\n outline: themed({\n light: colors.B100,\n dark: colors.B75\n })\n }\n};\nexport default _defineProperty({}, itemThemeNamespace, droplistItemTheme);","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { ThemeProvider } from 'styled-components';\nimport { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Layer from '@atlaskit/layer';\nimport Spinner from '@atlaskit/spinner';\nimport { gridSize } from '@atlaskit/theme/constants';\nimport Wrapper, { Content, SpinnerContainer, Trigger } from '../styled/Droplist';\nimport itemTheme from '../theme/item-theme';\nimport { name as packageName, version as packageVersion } from '../version.json';\nvar halfFocusRing = 1;\nvar dropOffset = \"0, \".concat(gridSize(), \"px\");\n\nif (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('@atlaskit/droplist has been deprecated. It is an internal component and should not be used directly.');\n}\n\nvar Droplist =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Droplist, _Component);\n\n function Droplist() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, Droplist);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Droplist)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n _this.setContentWidth(); // We use a captured event here to avoid a radio or checkbox dropdown item firing its\n // click event first, which would cause a re-render of the element and prevent Droplist\n // from detecting the actual source of this original click event.\n\n\n document.addEventListener('click', _this.handleClickOutside, true);\n document.addEventListener('keydown', _this.handleEsc);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function () {\n if (_this.props.isOpen) {\n _this.setContentWidth();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentWillUnmount\", function () {\n document.removeEventListener('click', _this.handleClickOutside, true);\n document.removeEventListener('keydown', _this.handleEsc);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setContentWidth\", function () {\n var _assertThisInitialize = _assertThisInitialized(_this),\n dropContentRef = _assertThisInitialize.dropContentRef,\n triggerRef = _assertThisInitialize.triggerRef;\n\n var shouldFitContainer = _this.props.shouldFitContainer; // We need to manually set the content width to match the trigger width\n // if props.shouldFitContainer is true\n\n if (shouldFitContainer && dropContentRef && triggerRef) {\n dropContentRef.style.width = \"\".concat(triggerRef.offsetWidth - halfFocusRing * 2, \"px\");\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleEsc\", function (event) {\n if ((event.key === 'Escape' || event.key === 'Esc') && _this.props.isOpen) {\n _this.close(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickOutside\", function (event) {\n if (_this.props.isOpen) {\n if (event.target instanceof Node) {\n // Rather than check for the target within the entire Droplist, we specify the trigger/content.\n // This aids with future effort in scroll-locking Droplist when isMenuFixed is enabled; the scroll\n // blanket which stretches to the viewport should not stop 'close' from being triggered.\n var withinTrigger = _this.triggerRef && _this.triggerRef.contains(event.target);\n\n var withinContent = _this.dropContentRef && _this.dropContentRef.contains(event.target);\n\n if (!withinTrigger && !withinContent) {\n _this.close(event);\n }\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"close\", function (event) {\n if (_this.props.onOpenChange) {\n _this.props.onOpenChange({\n isOpen: false,\n event: event\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleContentRef\", function (ref) {\n _this.dropContentRef = ref; // If the dropdown has just been opened, we focus on the containing element so the\n // user can tab to the first dropdown item. We will only receive this ref if isOpen\n // is true or null, so no need to check for truthiness here.\n\n if (ref) {\n ref.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleTriggerRef\", function (ref) {\n _this.triggerRef = ref;\n });\n\n return _this;\n }\n\n _createClass(Droplist, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return {\n shouldAllowMultilineItems: this.props.shouldAllowMultilineItems\n };\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n appearance = _this$props.appearance,\n boundariesElement = _this$props.boundariesElement,\n children = _this$props.children,\n isLoading = _this$props.isLoading,\n isOpen = _this$props.isOpen,\n maxHeight = _this$props.maxHeight,\n onClick = _this$props.onClick,\n onKeyDown = _this$props.onKeyDown,\n position = _this$props.position,\n isMenuFixed = _this$props.isMenuFixed,\n shouldFitContainer = _this$props.shouldFitContainer,\n shouldFlip = _this$props.shouldFlip,\n trigger = _this$props.trigger,\n onPositioned = _this$props.onPositioned,\n testId = _this$props.testId;\n var layerContent = isOpen ? React.createElement(Content, {\n \"data-role\": \"droplistContent\",\n \"data-testid\": testId && \"\".concat(testId, \"--content\"),\n isTall: appearance === 'tall',\n innerRef: this.handleContentRef,\n maxHeight: maxHeight\n }, isLoading ? React.createElement(SpinnerContainer, null, React.createElement(Spinner, {\n size: \"small\"\n })) : React.createElement(ThemeProvider, {\n theme: itemTheme\n }, React.createElement(\"div\", null, children))) : null;\n return React.createElement(Wrapper, {\n fit: shouldFitContainer,\n onClick: onClick,\n onKeyDown: onKeyDown\n }, React.createElement(Layer, {\n autoFlip: shouldFlip,\n boundariesElement: boundariesElement,\n content: layerContent,\n offset: dropOffset,\n position: position,\n isAlwaysFixed: isOpen && isMenuFixed,\n onPositioned: onPositioned\n }, React.createElement(Trigger, {\n fit: shouldFitContainer,\n innerRef: this.handleTriggerRef\n }, trigger)));\n }\n }]);\n\n return Droplist;\n}(Component);\n\n_defineProperty(Droplist, \"defaultProps\", {\n appearance: 'default',\n boundariesElement: 'viewport',\n children: null,\n isLoading: false,\n isOpen: false,\n onClick: function onClick() {},\n onKeyDown: function onKeyDown() {},\n onOpenChange: function onOpenChange() {},\n position: 'bottom left',\n isMenuFixed: false,\n shouldAllowMultilineItems: false,\n shouldFitContainer: false,\n shouldFlip: true,\n trigger: null,\n onPositioned: function onPositioned() {}\n});\n\n_defineProperty(Droplist, \"childContextTypes\", {\n shouldAllowMultilineItems: PropTypes.bool\n});\n\nexport { Droplist as DroplistWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'droplist',\n packageName: packageName,\n packageVersion: packageVersion\n})(withAnalyticsEvents({\n onOpenChange: createAndFireEventOnAtlaskit({\n action: 'toggled',\n actionSubject: 'droplist',\n attributes: {\n componentName: 'droplist',\n packageName: packageName,\n packageVersion: packageVersion\n }\n })\n})(Droplist));","var prefix = function prefix(key) {\n return \"@atlaskit-private-do-not-use/dropdown-menu:\".concat(key);\n};\n\nexport var focusManagerContext = prefix('focus-manager');\nexport var selectionCacheContext = prefix('selection-cache');\nexport var selectionManagerContext = prefix('selection-manager');\nexport var clickManagerContext = prefix('click-manager');","export var KEY_UP = 'ArrowUp';\nexport var KEY_DOWN = 'ArrowDown';\nexport var KEY_SPACE = ' ';\nexport var KEY_ENTER = 'Enter';\nexport var KEY_TAB = 'Tab';\nexport var KEY_ESC = 'Escape';","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { focusManagerContext } from '../../util/contextNamespace';\nimport { KEY_DOWN, KEY_UP, KEY_TAB } from '../../util/keys';\n\nvar DropdownItemFocusManager =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownItemFocusManager, _Component);\n\n function DropdownItemFocusManager() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownItemFocusManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownItemFocusManager)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"registeredItems\", []);\n\n _defineProperty(_assertThisInitialized(_this), \"focusedItemId\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemRegistered\", function (itemId, itemNode) {\n _this.registeredItems.push({\n itemId: itemId,\n itemNode: itemNode\n });\n\n if (_this.props.autoFocus && _this.registeredItems.length === 1) {\n _this.focusedItemId = itemId;\n itemNode.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemDeregistered\", function (itemId) {\n _this.registeredItems = _this.registeredItems.filter(function (item) {\n return item.itemId !== itemId;\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemFocused\", function (itemId) {\n _this.focusedItemId = itemId;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemUpdated\", function (itemId, itemNode) {\n var matchingIndex = -1;\n\n for (var i = 0; i < _this.registeredItems.length; i++) {\n if (_this.registeredItems[i].itemId === itemId) {\n matchingIndex = i;\n break;\n }\n }\n\n if (matchingIndex === -1) {\n _this.handleItemRegistered(itemId, itemNode);\n\n return;\n }\n\n _this.registeredItems[matchingIndex].itemNode = itemNode;\n\n if (_this.focusedItemIndex() === matchingIndex) {\n itemNode.focus();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusedItemIndex\", function () {\n var _assertThisInitialize = _assertThisInitialized(_this),\n focusedItemId = _assertThisInitialize.focusedItemId,\n registeredItems = _assertThisInitialize.registeredItems;\n\n for (var i = 0; i < registeredItems.length; i++) {\n if (registeredItems[i].itemId === focusedItemId) {\n return i;\n }\n }\n\n return -1;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyboard\", function (event) {\n var key = event.key,\n shiftKey = event.shiftKey;\n\n var focusedItemIndex = _this.focusedItemIndex();\n\n if (key === KEY_UP || key === KEY_DOWN) {\n // We prevent default here to avoid page scrolling when up/down\n // pressed while dropdown is focused.\n event.preventDefault();\n\n if (focusedItemIndex < 0) {\n return;\n }\n\n var nextItemIndex = key === KEY_UP ? Math.max(0, focusedItemIndex - 1) : Math.min(_this.registeredItems.length - 1, focusedItemIndex + 1);\n\n _this.registeredItems[nextItemIndex].itemNode.focus();\n }\n\n if (key === KEY_TAB) {\n if (!shiftKey && focusedItemIndex === _this.registeredItems.length - 1) {\n if (_this.props.close) _this.props.close({\n event: event,\n source: 'keydown'\n });\n }\n\n if (shiftKey && focusedItemIndex === 0) {\n if (_this.props.close) _this.props.close({\n event: event,\n source: 'keydown'\n });\n }\n }\n });\n\n return _this;\n }\n\n _createClass(DropdownItemFocusManager, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return _defineProperty({}, focusManagerContext, {\n itemFocused: this.handleItemFocused,\n registerItem: this.handleItemRegistered,\n deregisterItem: this.handleItemDeregistered,\n updateItem: this.handleItemUpdated\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n return React.createElement(\"div\", {\n onKeyDown: this.handleKeyboard\n }, this.props.children);\n }\n }]);\n\n return DropdownItemFocusManager;\n}(Component);\n\n_defineProperty(DropdownItemFocusManager, \"childContextTypes\", _defineProperty({}, focusManagerContext, PropTypes.object));\n\nexport { DropdownItemFocusManager as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { clickManagerContext } from '../../util/contextNamespace';\n\nvar DropdownItemClickManager =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownItemClickManager, _Component);\n\n function DropdownItemClickManager() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownItemClickManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownItemClickManager)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemClicked\", function (event) {\n _this.props.onItemClicked(event);\n });\n\n return _this;\n }\n\n _createClass(DropdownItemClickManager, [{\n key: \"getChildContext\",\n value: function getChildContext() {\n return _defineProperty({}, clickManagerContext, {\n itemClicked: this.handleItemClicked\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DropdownItemClickManager;\n}(Component);\n\n_defineProperty(DropdownItemClickManager, \"childContextTypes\", _defineProperty({}, clickManagerContext, PropTypes.object));\n\nexport { DropdownItemClickManager as default };","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport find from 'array-find';\nimport { selectionCacheContext } from '../../util/contextNamespace';\n\nvar isItemInList = function isItemInList(itemList, itemId, groupId) {\n return Boolean(find(itemList, function (item) {\n return item.id === itemId && item.groupId === groupId;\n }));\n};\n\nvar DropdownItemSelectionCache =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownItemSelectionCache, _Component);\n\n function DropdownItemSelectionCache() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownItemSelectionCache);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownItemSelectionCache)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n lastCacheUpdate: 0\n });\n\n _defineProperty(_assertThisInitialized(_this), \"selectedItems\", []);\n\n _defineProperty(_assertThisInitialized(_this), \"alreadyDefaultedItems\", []);\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemSelectionsChanged\", function (groupId, newGroupSelections) {\n var newSelectedItems = [].concat(_toConsumableArray(_this.selectedItems.filter(function (item) {\n return item.groupId !== groupId;\n })), _toConsumableArray(newGroupSelections));\n _this.selectedItems = newSelectedItems; // We store selectedItems in an instance variable (this.selectedItems) instead of state,\n // because if multiple children update the cache at the same time it causes unexpected\n // behaviour due to the asynchronous behaviour of setState. So we need to trigger setState\n // with a different value to cause the children to be updated with their new selection values.\n\n _this.setState({\n lastCacheUpdate: Date.now()\n });\n });\n\n return _this;\n }\n\n _createClass(DropdownItemSelectionCache, [{\n key: \"getChildContext\",\n // eslint-disable-line react/sort-comp\n value: function getChildContext() {\n var _this2 = this;\n\n return _defineProperty({}, selectionCacheContext, {\n // This function returns true/false describing whether the supplied navigation item\n // (which must have a unique item and group ID) is currently selected - this is used\n // by radio and checkbox dropdown items to retreive their 'selected' state when they\n // re-mount, which happens when the dropdown is closed and then re-opened.\n isItemSelected: function isItemSelected(groupId, itemId) {\n return isItemInList(_this2.selectedItems, itemId, groupId);\n },\n itemsInGroup: function itemsInGroup(groupId) {\n return _this2.selectedItems.filter(function (item) {\n return item.groupId === groupId;\n });\n },\n itemSelectionsChanged: this.handleItemSelectionsChanged,\n hasItemAlreadyHadDefaultSelectedApplied: function hasItemAlreadyHadDefaultSelectedApplied(groupId, itemId) {\n return isItemInList(_this2.alreadyDefaultedItems, itemId, groupId);\n },\n markItemAsDefaultApplied: function markItemAsDefaultApplied(groupId, itemId) {\n _this2.alreadyDefaultedItems.push({\n id: itemId,\n groupId: groupId\n });\n }\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return React.createElement(\"div\", null, this.props.children);\n }\n }]);\n\n return DropdownItemSelectionCache;\n}(Component);\n\n_defineProperty(DropdownItemSelectionCache, \"childContextTypes\", _defineProperty({}, selectionCacheContext, PropTypes.shape({\n isItemSelected: PropTypes.func,\n itemsInGroup: PropTypes.func,\n itemSelectionsChanged: PropTypes.func\n})));\n\nexport { DropdownItemSelectionCache as default };","import styled from 'styled-components';\nexport default styled.div.withConfig({\n displayName: \"WidthConstrainer\",\n componentId: \"sc-15doeus-0\"\n})([\"\\n \", \";\\n\"], function (_ref) {\n var shouldFitContainer = _ref.shouldFitContainer;\n return shouldFitContainer ? '' : 'max-width: 300px;';\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/no-array-index-key */\nimport React, { Component, Fragment } from 'react';\nimport { findDOMNode } from 'react-dom';\nimport { uid } from 'react-uid';\nimport { withAnalyticsContext, withAnalyticsEvents, createAndFireEvent } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport Droplist, { Item, Group } from '@atlaskit/droplist';\nimport ExpandIcon from '@atlaskit/icon/glyph/chevron-down';\nimport { name as packageName, version as packageVersion } from '../version.json';\nimport DropdownItemFocusManager from './context/DropdownItemFocusManager';\nimport DropdownItemClickManager from './context/DropdownItemClickManager';\nimport DropdownItemSelectionCache from './context/DropdownItemSelectionCache';\nimport WidthConstrainer from '../styled/WidthConstrainer';\nimport { KEY_DOWN, KEY_SPACE, KEY_ENTER } from '../util/keys';\n\nvar DropdownMenuStateless =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownMenuStateless, _Component);\n\n function DropdownMenuStateless() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownMenuStateless);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownMenuStateless)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"domItemsList\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"focusedItem\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"triggerContainer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"sourceOfIsOpen\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"dropdownListPositioned\", false);\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n id: uid({\n id: _this.constructor.name\n }),\n autoFocusDropdownItems: false\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidMount\", function () {\n if (_this.isUsingDeprecatedAPI()) {\n if (process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.log('DropdownMenu.items is deprecated. Please switch to the declarative API.');\n }\n\n if (_this.domItemsList) {\n _this.focusFirstItem();\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"componentDidUpdate\", function (prevProp) {\n if (_this.isUsingDeprecatedAPI() && _this.props.isOpen && !prevProp.isOpen) {\n _this.focusFirstItem();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getNextFocusable\", function (indexItem, available) {\n if (!_this.domItemsList) {\n return null;\n }\n\n var currentItem = typeof indexItem !== 'number' ? -1 : indexItem;\n var latestAvailable = typeof available !== 'number' ? currentItem : available;\n\n if (currentItem < _this.domItemsList.length - 1) {\n currentItem++;\n\n if (_this.domItemsList[currentItem].getAttribute('aria-hidden') !== 'true') {\n return currentItem;\n }\n\n return _this.getNextFocusable(currentItem, latestAvailable);\n }\n\n return latestAvailable;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPrevFocusable\", function (indexItem, available) {\n if (!_this.domItemsList) {\n return null;\n }\n\n var currentItem = typeof indexItem !== 'number' ? -1 : indexItem;\n var latestAvailable = typeof available !== 'number' ? currentItem : available;\n\n if (currentItem && currentItem > 0) {\n currentItem--;\n\n if (_this.domItemsList[currentItem].getAttribute('aria-hidden') !== 'true') {\n return currentItem;\n }\n\n return _this.getPrevFocusable(currentItem, latestAvailable);\n }\n\n return latestAvailable || currentItem;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusFirstItem\", function () {\n if (_this.sourceOfIsOpen === 'keydown') {\n _this.focusItem(_this.getNextFocusable());\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusNextItem\", function () {\n _this.focusItem(_this.getNextFocusable(_this.focusedItem));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusPreviousItem\", function () {\n _this.focusItem(_this.getPrevFocusable(_this.focusedItem));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"focusItem\", function (index) {\n if (!_this.domItemsList || !index) {\n return;\n }\n\n _this.focusedItem = index;\n\n _this.domItemsList[_this.focusedItem].focus();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isTargetChildItem\", function (target) {\n if (!target) return false;\n var isDroplistItem = target.getAttribute('data-role') === 'droplistItem'; // eslint-disable-next-line react/no-find-dom-node\n\n var thisDom = findDOMNode(_assertThisInitialized(_this));\n return isDroplistItem && thisDom ? thisDom.contains(target) : false;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyboardInteractionForClosed\", function (event) {\n if (_this.props.isOpen) {\n return;\n }\n\n switch (event.key) {\n case KEY_DOWN:\n case KEY_SPACE:\n case KEY_ENTER:\n event.preventDefault();\n\n _this.open({\n event: event,\n source: 'keydown'\n });\n\n break;\n\n default:\n break;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyboardInteractionsDeprecated\", function (event) {\n // KeyboardEvent.target is typed as an EventTarget but we need to access methods on it which\n // are specific to Element. Due limitations of the HTML spec flow doesn't know that an\n // EventTarget can have these methods, so we cast it to Element through Object. This is the\n // safest thing we can do in this situation.\n // https://flow.org/en/docs/types/casting/#toc-type-casting-through-any\n var target = event.target;\n\n if (_this.props.isOpen) {\n if (_this.isTargetChildItem(target)) {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n\n _this.focusPreviousItem();\n\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n\n _this.focusNextItem();\n\n break;\n\n case 'Tab':\n event.preventDefault();\n\n _this.close({\n event: event\n });\n\n break;\n\n default:\n break;\n }\n } else if (event.key === 'ArrowDown') {\n _this.sourceOfIsOpen = 'keydown';\n\n _this.focusFirstItem();\n } else if (event.key === 'Tab') {\n _this.close({\n event: event\n });\n }\n } else {\n switch (event.key) {\n case KEY_DOWN:\n case KEY_SPACE:\n case KEY_ENTER:\n event.preventDefault();\n\n _this.open({\n event: event,\n source: 'keydown'\n });\n\n break;\n\n default:\n break;\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"domMenuContainer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"handleClickDeprecated\", function (event) {\n var menuContainer = _this.domMenuContainer; // Casting target to Element. See comment in `handleKeyboardInteractionsDeprecated`.\n\n var target = event.target;\n\n if (!menuContainer || menuContainer && !menuContainer.contains(target)) {\n _this.toggle({\n source: 'click',\n event: event\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"isUsingDeprecatedAPI\", function () {\n return Boolean(_this.props.items.length);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n // For any clicks we don't want autofocus\n _this.setState({\n autoFocusDropdownItems: false\n });\n\n if (_this.isUsingDeprecatedAPI()) {\n _this.handleClickDeprecated(event);\n\n return;\n }\n\n var _assertThisInitialize = _assertThisInitialized(_this),\n triggerContainer = _assertThisInitialize.triggerContainer; // Casting target to Element. See comment in `handleKeyboardInteractionsDeprecated`.\n\n\n var target = event.target;\n\n if (triggerContainer && triggerContainer.contains(target) && // $FlowFixMe - disabled is not in Element\n target.disabled !== true) {\n var isOpen = _this.props.isOpen;\n _this.sourceOfIsOpen = 'mouse';\n\n _this.props.onOpenChange({\n isOpen: !isOpen,\n event: event\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"triggerContent\", function () {\n var _this$props = _this.props,\n children = _this$props.children,\n trigger = _this$props.trigger,\n isOpen = _this$props.isOpen,\n triggerButtonProps = _this$props.triggerButtonProps,\n triggerType = _this$props.triggerType,\n testId = _this$props.testId;\n var insideTriggerContent = _this.isUsingDeprecatedAPI() ? children : trigger;\n\n if (triggerType !== 'button') {\n return insideTriggerContent;\n }\n\n var triggerProps = _objectSpread({}, triggerButtonProps);\n\n var defaultButtonProps = {\n 'aria-controls': _this.state.id,\n 'aria-expanded': isOpen,\n 'aria-haspopup': true,\n isSelected: isOpen\n };\n\n if (!triggerProps.iconAfter && !triggerProps.iconBefore) {\n triggerProps.iconAfter = React.createElement(ExpandIcon, {\n size: \"medium\",\n label: \"\"\n });\n }\n\n return React.createElement(Button, _extends({}, defaultButtonProps, triggerProps, {\n testId: testId && \"\".concat(testId, \"--trigger\")\n }), insideTriggerContent);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"open\", function (attrs) {\n _this.sourceOfIsOpen = attrs.source;\n\n _this.props.onOpenChange({\n isOpen: true,\n event: attrs.event\n }); // Dropdown opened via keyboard gets auto focussed\n\n\n _this.setState({\n autoFocusDropdownItems: _this.sourceOfIsOpen === 'keydown'\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"close\", function (attrs) {\n _this.sourceOfIsOpen = null;\n\n _this.props.onOpenChange({\n isOpen: false,\n event: attrs.event\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"toggle\", function (attrs) {\n if (attrs.source === 'keydown') return;\n\n if (_this.props.isOpen) {\n _this.close(attrs);\n } else {\n _this.open(attrs);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemClicked\", function (event) {\n _this.props.onOpenChange({\n isOpen: false,\n event: event\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderTrigger\", function () {\n var triggerContent = _this.triggerContent();\n\n return _this.isUsingDeprecatedAPI() ? triggerContent : React.createElement(\"div\", {\n ref: function ref(_ref) {\n _this.triggerContainer = _ref;\n }\n }, triggerContent);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderItems\", function (items) {\n return items.map(function (item, itemIndex) {\n return React.createElement(Item, _extends({}, item, {\n key: itemIndex,\n onActivate: function onActivate(_ref2) {\n var event = _ref2.event;\n\n _this.props.onItemActivated({\n item: item,\n event: event\n });\n }\n }), item.content);\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderGroups\", function (groups) {\n return groups.map(function (group, groupIndex) {\n return React.createElement(Group, {\n heading: group.heading,\n elemAfter: group.elemAfter,\n key: groupIndex\n }, _this.renderItems(group.items));\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderDeprecated\", function () {\n var _this$props2 = _this.props,\n items = _this$props2.items,\n shouldFitContainer = _this$props2.shouldFitContainer;\n var id = _this.state.id;\n return React.createElement(\"div\", {\n id: id,\n ref: function ref(_ref3) {\n _this.domMenuContainer = _ref3;\n _this.domItemsList = _ref3 ? _ref3.querySelectorAll('[data-role=\"droplistItem\"]') : null;\n },\n role: \"menu\",\n style: shouldFitContainer ? null : {\n maxWidth: 300\n }\n }, _this.renderGroups(items));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDroplistPositioned\", function () {\n _this.dropdownListPositioned = true; // Trigger render so item focus manager can auto focus for keyboard trigger\n\n _this.setState({\n autoFocusDropdownItems: _this.sourceOfIsOpen === 'keydown'\n });\n\n if (_this.props.onPositioned) _this.props.onPositioned();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"renderDropdownItems\", function () {\n if (_this.sourceOfIsOpen === 'keydown' && _this.dropdownListPositioned) {\n return React.createElement(DropdownItemFocusManager, {\n autoFocus: _this.state.autoFocusDropdownItems,\n close: _this.close\n }, _this.props.children);\n }\n\n return React.createElement(Fragment, null, _this.props.children);\n });\n\n return _this;\n }\n\n _createClass(DropdownMenuStateless, [{\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n appearance = _this$props3.appearance,\n boundariesElement = _this$props3.boundariesElement,\n isLoading = _this$props3.isLoading,\n isOpen = _this$props3.isOpen,\n onOpenChange = _this$props3.onOpenChange,\n position = _this$props3.position,\n isMenuFixed = _this$props3.isMenuFixed,\n shouldAllowMultilineItems = _this$props3.shouldAllowMultilineItems,\n shouldFitContainer = _this$props3.shouldFitContainer,\n shouldFlip = _this$props3.shouldFlip,\n testId = _this$props3.testId;\n var id = this.state.id;\n var isDeprecated = this.isUsingDeprecatedAPI();\n var deprecatedProps = isDeprecated ? {\n onKeyDown: this.handleKeyboardInteractionsDeprecated,\n shouldAllowMultilineItems: shouldAllowMultilineItems\n } : {\n onKeyDown: this.handleKeyboardInteractionForClosed\n };\n return React.createElement(DropdownItemSelectionCache, null, React.createElement(Droplist, _extends({\n appearance: appearance,\n boundariesElement: boundariesElement,\n isLoading: isLoading,\n isOpen: isOpen,\n onClick: this.handleClick,\n onOpenChange: onOpenChange,\n position: position,\n isMenuFixed: isMenuFixed,\n shouldFitContainer: shouldFitContainer,\n shouldFlip: shouldFlip,\n trigger: this.renderTrigger(),\n onPositioned: this.onDroplistPositioned\n }, deprecatedProps, {\n analyticsContext: {\n componentName: 'dropdownMenu',\n packageName: packageName,\n packageVersion: packageVersion\n },\n testId: testId\n }), isDeprecated ? this.renderDeprecated() : React.createElement(WidthConstrainer, {\n id: id,\n role: \"menu\",\n shouldFitContainer: shouldFitContainer\n }, React.createElement(DropdownItemClickManager, {\n onItemClicked: this.handleItemClicked\n }, this.renderDropdownItems()))));\n }\n }]);\n\n return DropdownMenuStateless;\n}(Component);\n\n_defineProperty(DropdownMenuStateless, \"defaultProps\", {\n appearance: 'default',\n boundariesElement: 'viewport',\n isLoading: false,\n isOpen: false,\n items: [],\n onItemActivated: function onItemActivated() {},\n onOpenChange: function onOpenChange() {},\n position: 'bottom left',\n isMenuFixed: false,\n shouldAllowMultilineItems: false,\n shouldFitContainer: false,\n shouldFlip: true,\n triggerType: 'default',\n onPositioned: function onPositioned() {}\n});\n\nexport { DropdownMenuStateless as DropdownMenuStatelessWithoutAnalytics };\nvar createAndFireEventOnAtlaskit = createAndFireEvent('atlaskit');\nexport default withAnalyticsContext({\n componentName: 'dropdownMenu',\n packageName: packageName,\n packageVersion: packageVersion\n})(withAnalyticsEvents({\n onOpenChange: createAndFireEventOnAtlaskit({\n action: 'toggled',\n actionSubject: 'dropdownMenu',\n attributes: {\n componentName: 'dropdownMenu',\n packageName: packageName,\n packageVersion: packageVersion\n }\n })\n})(DropdownMenuStateless));","export default (function (channel) { return function (payload) { return function (createAnalyticsEvent) {\n var consumerEvent = createAnalyticsEvent(payload);\n var clonedEvent = consumerEvent.clone();\n if (clonedEvent) {\n clonedEvent.fire(channel);\n }\n return consumerEvent;\n}; }; });\n//# sourceMappingURL=createAndFireEvent.js.map","import { __assign, __rest } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContext from './AnalyticsContext';\nvar withAnalyticsContext = function (defaultData) { return function (WrappedComponent) {\n var WithAnalyticsContext = React.forwardRef(function (props, ref) {\n var _a = props.analyticsContext, analyticsContext = _a === void 0 ? {} : _a, rest = __rest(props, [\"analyticsContext\"]);\n var analyticsData = __assign(__assign({}, defaultData), analyticsContext);\n return (React.createElement(AnalyticsContext, { data: analyticsData },\n React.createElement(WrappedComponent, __assign({}, rest, { ref: ref }))));\n });\n // @ts-ignore\n WithAnalyticsContext.displayName = \"WithAnalyticsContext(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsContext;\n}; };\nexport default withAnalyticsContext;\n//# sourceMappingURL=withAnalyticsContext.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport StatelessMenu from './DropdownMenuStateless';\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownMenu, _Component);\n\n function DropdownMenu() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, DropdownMenu);\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DropdownMenu)).call.apply(_getPrototypeOf2, [this].concat(_args)));\n\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n isOpen: _this.props.defaultOpen,\n items: _toConsumableArray(_this.props.items)\n });\n\n _defineProperty(_assertThisInitialized(_this), \"findActivatedGroup\", function (item) {\n return _this.state.items.filter(function (group) {\n return group.items.indexOf(item) > -1;\n })[0];\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleItemActivation\", function (attrs) {\n var activatedItem = attrs.item;\n\n var activatedGroup = _this.findActivatedGroup(activatedItem);\n\n var items = _toConsumableArray(_this.state.items);\n\n switch (activatedItem.type) {\n case 'checkbox':\n activatedItem.isChecked = !activatedItem.isChecked;\n\n _this.props.onItemActivated({\n item: activatedItem\n });\n\n _this.setState({\n items: items\n });\n\n break;\n\n case 'radio':\n activatedGroup.items.forEach(function (i) {\n if (i === activatedItem) {\n i.isChecked = true; // eslint-disable-line no-param-reassign\n } else {\n i.isChecked = false; // eslint-disable-line no-param-reassign\n }\n });\n\n _this.props.onItemActivated({\n item: activatedItem\n });\n\n _this.setState({\n items: items\n });\n\n break;\n\n case 'link':\n default:\n _this.props.onItemActivated({\n item: activatedItem\n });\n\n _this.close();\n\n break;\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleOpenChange\", function (attrs) {\n var _this$props;\n\n if (_this.state.isOpen === attrs.isOpen) return;\n\n _this.setState({\n isOpen: attrs.isOpen\n });\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (_this$props = _this.props).onOpenChange.apply(_this$props, [attrs].concat(args));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"close\", function () {\n var _this$props2;\n\n if (_this.state.isOpen === false) return;\n\n _this.setState({\n isOpen: false\n });\n\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n (_this$props2 = _this.props).onOpenChange.apply(_this$props2, [{\n isOpen: false\n }].concat(args));\n });\n\n return _this;\n }\n\n _createClass(DropdownMenu, [{\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.items !== this.state.items) {\n this.setState({\n items: _toConsumableArray(nextProps.items)\n });\n }\n\n if (nextProps.isOpen !== this.props.isOpen) {\n this.setState({\n isOpen: nextProps.isOpen\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var isOpen = this.state.isOpen;\n var _this$props3 = this.props,\n appearance = _this$props3.appearance,\n boundariesElement = _this$props3.boundariesElement,\n children = _this$props3.children,\n isLoading = _this$props3.isLoading,\n items = _this$props3.items,\n position = _this$props3.position,\n isMenuFixed = _this$props3.isMenuFixed,\n shouldAllowMultilineItems = _this$props3.shouldAllowMultilineItems,\n shouldFitContainer = _this$props3.shouldFitContainer,\n shouldFlip = _this$props3.shouldFlip,\n testId = _this$props3.testId,\n trigger = _this$props3.trigger,\n triggerButtonProps = _this$props3.triggerButtonProps,\n triggerType = _this$props3.triggerType,\n onPositioned = _this$props3.onPositioned;\n return React.createElement(StatelessMenu, {\n appearance: appearance,\n boundariesElement: boundariesElement,\n isOpen: isOpen,\n isLoading: isLoading,\n items: items,\n onItemActivated: this.handleItemActivation,\n onOpenChange: this.handleOpenChange,\n position: position,\n isMenuFixed: isMenuFixed,\n shouldAllowMultilineItems: shouldAllowMultilineItems,\n shouldFitContainer: shouldFitContainer,\n shouldFlip: shouldFlip,\n trigger: trigger,\n triggerButtonProps: triggerButtonProps,\n triggerType: triggerType,\n onPositioned: onPositioned,\n testId: testId\n }, children);\n }\n }]);\n\n return DropdownMenu;\n}(Component);\n\n_defineProperty(DropdownMenu, \"defaultProps\", {\n appearance: 'default',\n boundariesElement: 'viewport',\n defaultOpen: false,\n isLoading: false,\n isOpen: false,\n items: [],\n onItemActivated: function onItemActivated() {},\n onOpenChange: function onOpenChange() {},\n position: 'bottom left',\n isMenuFixed: false,\n shouldAllowMultilineItems: false,\n shouldFitContainer: false,\n shouldFlip: true,\n triggerType: 'default',\n onPositioned: function onPositioned() {}\n});\n\nexport { DropdownMenu as default };","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar styled_components_1 = tslib_1.__importDefault(require(\"styled-components\"));\nvar uuid_1 = tslib_1.__importDefault(require(\"uuid\"));\nvar colors_1 = require(\"@atlaskit/theme/colors\");\nvar constants_1 = require(\"../constants\");\nvar getSize = function (_a) {\n var size = _a.size;\n return size ? \"height: \" + constants_1.sizes[size] + \"; width: \" + constants_1.sizes[size] + \";\" : null;\n};\nexports.IconWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"], [\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"])), getSize, function (p) { return p.primaryColor || 'currentColor'; }, function (p) { return p.secondaryColor || colors_1.background; }, getSize);\n/**\n * Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\nfunction insertDynamicGradientID(svgStr, label) {\n var id = uuid_1.default();\n var replacedSvgStr = svgStr\n .replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\" + id)\n .replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\" + id + \")\\\"\");\n return replacedSvgStr;\n}\nvar Icon = function (props) {\n var Glyph = props.glyph, dangerouslySetGlyph = props.dangerouslySetGlyph, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, size = props.size, testId = props.testId, label = props.label;\n var glyphProps = dangerouslySetGlyph\n ? {\n dangerouslySetInnerHTML: {\n __html: insertDynamicGradientID(dangerouslySetGlyph, label),\n },\n }\n : { children: Glyph ? react_1.default.createElement(Glyph, { role: \"presentation\" }) : null };\n return (react_1.default.createElement(exports.IconWrapper, tslib_1.__assign({ primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"data-testid\": testId, role: label ? 'img' : 'presentation', \"aria-label\": label ? label : undefined }, glyphProps)));\n};\nexports.default = Icon;\nvar templateObject_1;\n//# sourceMappingURL=Icon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px',\n};\nexports.sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronDownIcon = function ChevronDownIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nChevronDownIcon.displayName = 'ChevronDownIcon';\nvar _default = ChevronDownIcon;\nexports.default = _default;","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, 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 return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar react_1 = tslib_1.__importDefault(require(\"react\"));\nvar styled_components_1 = tslib_1.__importDefault(require(\"styled-components\"));\nvar uuid_1 = tslib_1.__importDefault(require(\"uuid\"));\nvar colors_1 = require(\"@atlaskit/theme/colors\");\nvar constants_1 = require(\"../constants\");\nvar getSize = function (_a) {\n var size = _a.size;\n return size ? \"height: \" + constants_1.sizes[size] + \"; width: \" + constants_1.sizes[size] + \";\" : null;\n};\nexports.IconWrapper = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"], [\"\\n \", \";\\n color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \";\\n max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n\\n /**\\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"])), getSize, function (p) { return p.primaryColor || 'currentColor'; }, function (p) { return p.secondaryColor || colors_1.background; }, getSize);\n/**\n * Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\nfunction insertDynamicGradientID(svgStr, label) {\n var id = uuid_1.default();\n var replacedSvgStr = svgStr\n .replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\" + id)\n .replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\" + id + \")\\\"\");\n return replacedSvgStr;\n}\nvar Icon = function (props) {\n var Glyph = props.glyph, dangerouslySetGlyph = props.dangerouslySetGlyph, primaryColor = props.primaryColor, secondaryColor = props.secondaryColor, size = props.size, testId = props.testId, label = props.label;\n var glyphProps = dangerouslySetGlyph\n ? {\n dangerouslySetInnerHTML: {\n __html: insertDynamicGradientID(dangerouslySetGlyph, label),\n },\n }\n : { children: Glyph ? react_1.default.createElement(Glyph, { role: \"presentation\" }) : null };\n return (react_1.default.createElement(exports.IconWrapper, tslib_1.__assign({ primaryColor: primaryColor, secondaryColor: secondaryColor, size: size, \"data-testid\": testId, role: label ? 'img' : 'presentation', \"aria-label\": label ? label : undefined }, glyphProps)));\n};\nexports.default = Icon;\nvar templateObject_1;\n//# sourceMappingURL=Icon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px',\n};\nexports.sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge',\n};\n//# sourceMappingURL=constants.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar CheckboxIcon = function CheckboxIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nCheckboxIcon.displayName = 'CheckboxIcon';\nvar _default = CheckboxIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar RadioIcon = function RadioIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nRadioIcon.displayName = 'RadioIcon';\nvar _default = RadioIcon;\nexports.default = _default;","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, 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 return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { useCallback, useEffect, useRef } from 'react';\nimport { bindAll } from 'bind-event-listener';\nimport { ESCAPE } from '../utils/keycodes';\n/**\n * Calls back when the escape key is pressed.\n * To be used exclusively for closing layered components.\n * Use the `isDisabled` argument to ignore closing events.\n *\n * ```js\n * useCloseOnEscapePress({\n * onClose: () => {},\n * isDisabled: false,\n * });\n * ```\n */\nexport default function useCloseOnEscapePress({\n onClose,\n isDisabled\n}) {\n const escapePressed = useRef(false);\n const onKeyDown = useCallback(e => {\n if (isDisabled || escapePressed.current || e.key !== ESCAPE) {\n // We're either already handling the key down event or it's not escape.\n // Bail early!\n return;\n }\n escapePressed.current = true;\n onClose(e);\n }, [onClose, isDisabled]);\n const onKeyUp = useCallback(() => {\n escapePressed.current = false;\n }, []);\n useEffect(() => {\n return bindAll(document, [{\n type: 'keydown',\n listener: onKeyDown\n }, {\n type: 'keyup',\n listener: onKeyUp\n }], {\n capture: false\n });\n }, [onKeyDown, onKeyUp]);\n}","/**\n * Character key codes which can be used in keyboard events.\n */\nexport const KEY_UP = 'ArrowUp';\nexport const KEY_DOWN = 'ArrowDown';\nexport const KEY_HOME = 'Home';\nexport const KEY_END = 'End';\nexport const ESCAPE = 'Escape';","import { gridSize as akGridSize, borderRadius } from '@atlaskit/theme/constants';\nimport * as colors from '@atlaskit/theme/colors';\nexport var themeNamespace = '@atlaskit-shared-theme/item'; // Used for Group titles and Item descriptions\n\nexport var compactSmallFontSize = 10;\nexport var compactLineHeight = 1.2;\nexport var gridSize = akGridSize();\nexport var defaultTheme = {\n afterItemSpacing: {\n compact: akGridSize(),\n default: akGridSize()\n },\n beforeItemSpacing: {\n compact: akGridSize(),\n default: akGridSize()\n },\n borderRadius: borderRadius(),\n focus: {\n outline: colors.B100\n },\n height: {\n compact: 0,\n default: 0\n },\n width: {\n compact: 'auto',\n default: 'auto'\n },\n padding: {\n default: {\n bottom: akGridSize() / 2,\n left: akGridSize() / 2,\n right: akGridSize() / 2,\n top: akGridSize() / 2\n },\n compact: {\n bottom: akGridSize(),\n left: akGridSize(),\n right: akGridSize(),\n top: akGridSize()\n }\n },\n default: {\n background: colors.background,\n text: colors.text,\n secondaryText: colors.N200\n },\n selected: {\n background: colors.backgroundActive,\n text: colors.N500,\n secondaryText: colors.N200\n },\n active: {\n background: colors.backgroundActive,\n text: colors.textActive,\n secondaryText: colors.N200\n },\n hover: {\n background: colors.backgroundHover,\n text: colors.textHover,\n secondaryText: colors.N200\n },\n disabled: {\n background: colors.N0,\n text: colors.N200,\n secondaryText: colors.N200\n },\n // same as hover in this case\n dragging: {\n background: colors.N20,\n text: colors.N800,\n secondaryText: colors.N200\n }\n};\n\nvar isValidCssValue = function isValidCssValue(value) {\n return value !== undefined && value !== null && value !== '';\n}; // Returns the theme that contains the requested theme key(s), preferring the user-supplied\n// theme if it is provided.\n\n\nexport var themeWithKeys = function themeWithKeys(maybeTheme, key, parentKey) {\n if (parentKey) {\n return maybeTheme && maybeTheme[parentKey] && isValidCssValue(maybeTheme[parentKey][key]) ? maybeTheme : defaultTheme;\n }\n\n return maybeTheme && isValidCssValue(maybeTheme[key]) ? maybeTheme : defaultTheme;\n}; // Returns the theme value for the requested key(s), falling back to the default theme if the\n// user-supplied theme doesn't exist or doesn't contain the requested key(s)\n\nexport var getThemeStyle = function getThemeStyle(maybeTheme, key, parentKey) {\n var theme = themeWithKeys(maybeTheme, key, parentKey);\n return parentKey ? theme[parentKey][key] : theme[key];\n};","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import React from 'react';\nimport ExitingPersistence from '@atlaskit/motion/exiting-persistence';\n\nconst ModalTransition = props => {\n return /*#__PURE__*/React.createElement(ExitingPersistence, {\n appear: true\n }, props.children);\n};\n\nexport default ModalTransition;","/**\n * An empty function which does nothing.\n */\nexport default function noop() {}","import { useRef } from 'react';\nconst uniqueReferencedValue = {};\n/**\n * Executes the initializer function once and saves its result into a ref.\n *\n * ```js\n * const ref = useLazyRef(() => 10);\n * ```\n *\n * @param initializer\n */\n\nexport default function useLazyRef(initializer) {\n const ref = useRef(uniqueReferencedValue);\n\n if (ref.current === uniqueReferencedValue) {\n ref.current = initializer();\n }\n\n return ref;\n}","import useLazyRef from './use-lazy-ref';\n/**\n * Saves the passed through `callback` to a ref to ensure stability between renders.\n * As a feature this callback will only be created **once**,\n * this means it will have a stale closure on subsequent render.\n *\n * If you need to access things in the parent scope make sure to do it with refs.\n *\n * ```js\n * const callback = useLazyCallback(() => 10);\n * ```\n *\n * @param callback\n */\n\nexport default function useLazyCallback(callback) {\n const ref = useLazyRef(() => callback);\n return ref.current;\n}","import { useRef, useState } from 'react';\n/**\n * Functions similarly to `useState` however the return value is a ref.\n *\n * ```js\n * const [valueRef, setValue] = useStateRef(0);\n * ```\n *\n * @param initialState\n */\n\nexport default function useStateRef(initialState) {\n const [value, setValue] = useState(initialState);\n const valueRef = useRef(value);\n valueRef.current = value;\n return [valueRef, setValue];\n}","import { useEffect } from 'react';\nimport useLazyCallback from '@atlaskit/ds-lib/use-lazy-callback';\nimport usePreviousValue from '@atlaskit/ds-lib/use-previous-value';\nimport useStateRef from '@atlaskit/ds-lib/use-state-ref';\nimport { useExitingPersistence } from '@atlaskit/motion/exiting-persistence';\n/**\n * ________________________________________________\n * | MAJOR VERSIONS WILL NOT KNOW ABOUT EACH OTHER! |\n * ------------------------------------------------\n *\n * An array which holds references to all currently open modal dialogs.\n * This will only work for modal dialogs of the same major version,\n * as the reference will be different between them.\n *\n * E.g. V11 won't know about any from V12.\n */\n\nconst modalStackRegister = [];\n\n/**\n * Returns the position of the calling modal dialog in the modal dialog stack.\n * Stack index of `0` is the highest position in the stack,\n * with every higher number being behind in the stack.\n */\nexport default function useModalStack({\n onStackChange\n}) {\n const {\n isExiting\n } = useExitingPersistence();\n const [stackIndexRef, setStackIndex] = useStateRef(0);\n const currentStackIndex = stackIndexRef.current;\n const previousStackIndex = usePreviousValue(stackIndexRef.current); // We want to ensure this function **never changes** during the lifecycle of this component.\n // This is why it's assigned to a ref and not in a useMemo/useCallback.\n\n const updateStack = useLazyCallback(() => {\n const newStackIndex = modalStackRegister.indexOf(updateStack); // We access the stack index ref instead of state because this closure will always only\n // have the initial state and not any of the later values.\n\n if (stackIndexRef.current !== newStackIndex) {\n setStackIndex(newStackIndex);\n stackIndexRef.current = newStackIndex;\n }\n });\n useEffect(() => {\n const currentStackIndex = modalStackRegister.indexOf(updateStack);\n\n if (!isExiting && currentStackIndex === -1) {\n // We are opening the modal dialog.\n // Add ourselves to the modal stack register!\n modalStackRegister.unshift(updateStack);\n }\n\n if (isExiting && currentStackIndex !== -1) {\n // We are closing the modal dialog using a wrapping modal transition component.\n // Remove ourselves from the modal stack register!\n // NOTE: Modal dialogs that don't have a wrapping modal transition component won't flow through here!\n // For that scenario we cleanup when the component unmounts.\n modalStackRegister.splice(currentStackIndex, 1);\n } // Fire all registered modal dialogs to update their position in the stack.\n\n\n modalStackRegister.forEach(cb => cb());\n }, [updateStack, isExiting]);\n useEffect(() => () => {\n // Final cleanup just in case this modal dialog did not have a wrapping modal transition.\n const currentStackIndex = modalStackRegister.indexOf(updateStack);\n\n if (currentStackIndex !== -1) {\n modalStackRegister.splice(currentStackIndex, 1);\n modalStackRegister.forEach(cb => cb());\n }\n }, [updateStack]);\n useEffect(() => {\n if (previousStackIndex === undefined) {\n // Initial case that we don't need to notify about.\n return;\n }\n\n if (previousStackIndex !== currentStackIndex) {\n onStackChange(currentStackIndex);\n }\n }, [onStackChange, previousStackIndex, currentStackIndex]);\n return currentStackIndex;\n}","export var FOCUS_GROUP = 'data-focus-lock';\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\nexport var FOCUS_AUTO = 'data-autofocus-inside';","export var toArray = function toArray(a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\n\nexport var arrayFind = function arrayFind(array, search) {\n return array.filter(function (a) {\n return a === search;\n })[0];\n};\n\nexport var asArray = function asArray(a) {\n return Array.isArray(a) ? a : [a];\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n\nvar filterNested = function filterNested(nodes) {\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n var _loop = function _loop(j) {\n if (i !== j) {\n if (nodes[i].contains(nodes[j])) {\n return {\n v: filterNested(nodes.filter(function (x) {\n return x !== nodes[j];\n }))\n };\n }\n }\n };\n\n for (var j = 0; j < l; j += 1) {\n var _ret = _loop(j);\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n }\n return nodes;\n};\n\nvar getTopParent = function getTopParent(node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n\nvar getAllAffectedNodes = function getAllAffectedNodes(node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, group ? filterNested(toArray(getTopParent(currentNode).querySelectorAll('[' + FOCUS_GROUP + '=\"' + group + '\"]:not([' + FOCUS_DISABLED + '=\"disabled\"])'))) : [currentNode]);\n return acc;\n }, []);\n};\n\nexport default getAllAffectedNodes;","import getAllAffectedNodes from './utils/all-affected';\nimport { arrayFind, toArray } from './utils/array';\n\nvar focusInFrame = function focusInFrame(frame) {\n return frame === document.activeElement;\n};\n\nvar focusInsideIframe = function focusInsideIframe(topNode) {\n return !!arrayFind(toArray(topNode.querySelectorAll('iframe')), focusInFrame);\n};\n\nvar focusInside = function focusInside(topNode) {\n var activeElement = document && document.activeElement;\n\n if (!activeElement || activeElement.dataset && activeElement.dataset.focusGuard) {\n return false;\n }\n return getAllAffectedNodes(topNode).reduce(function (result, node) {\n return result || node.contains(activeElement) || focusInsideIframe(node);\n }, false);\n};\n\nexport default focusInside;","import { toArray } from './array';\n\nexport var tabSort = function tabSort(a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n\n if (tabDiff) {\n if (!a.tabIndex) return 1;\n if (!b.tabIndex) return -1;\n }\n\n return tabDiff || indexDiff;\n};\n\nexport var orderByTabIndex = function orderByTabIndex(nodes, filterNegative, keepGuards) {\n return toArray(nodes).map(function (node, index) {\n return {\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? (node.dataset || {}).focusGuard ? 0 : -1 : node.tabIndex\n };\n }).filter(function (data) {\n return !filterNegative || data.tabIndex >= 0;\n }).sort(tabSort);\n};","export default ['button:enabled:not([readonly])', 'select:enabled:not([readonly])', 'textarea:enabled:not([readonly])', 'input:enabled:not([readonly])', 'a[href]', 'area[href]', 'iframe', 'object', 'embed', '[tabindex]', '[contenteditable]', '[autofocus]'];","import tabbables from './tabbables';\nimport { toArray } from './array';\nimport { FOCUS_AUTO } from '../constants';\n\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = queryTabbables + ', [data-focus-guard]';\n\nexport var getFocusables = function getFocusables(parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n return acc.concat(\n // add all tabbables inside\n toArray(parent.querySelectorAll(withGuards ? queryGuardTabbables : queryTabbables)),\n // add if node is tabble itself\n parent.parentNode ? toArray(parent.parentNode.querySelectorAll(tabbables.join(','))).filter(function (node) {\n return node === parent;\n }) : []);\n }, []);\n};\n\nexport var getParentAutofocusables = function getParentAutofocusables(parent) {\n var parentFocus = parent.querySelectorAll('[' + FOCUS_AUTO + ']');\n return toArray(parentFocus).map(function (node) {\n return getFocusables([node]);\n }).reduce(function (acc, nodes) {\n return acc.concat(nodes);\n }, []);\n};","import { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\nimport { toArray } from './array';\n\nvar isElementHidden = function isElementHidden(computedStyle) {\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden';\n};\n\nexport var isVisible = function isVisible(node) {\n return !node || node === document || node.nodeType === Node.DOCUMENT_NODE || !isElementHidden(window.getComputedStyle(node, null)) && isVisible(node.parentNode);\n};\n\nexport var notHiddenInput = function notHiddenInput(node) {\n return !((node.tagName === 'INPUT' || node.tagName === 'BUTTON') && (node.type === 'hidden' || node.disabled));\n};\n\nvar getParents = function getParents(node) {\n var parents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode, parents);\n }\n return parents;\n};\n\nexport var getCommonParent = function getCommonParent(nodea, nodeb) {\n var parentsA = getParents(nodea);\n var parentsB = getParents(nodeb);\n\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\n\nexport var filterFocusable = function filterFocusable(nodes) {\n return toArray(nodes).filter(function (node) {\n return isVisible(node);\n }).filter(function (node) {\n return notHiddenInput(node);\n });\n};\n\nexport var getTabbableNodes = function getTabbableNodes(topNodes, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards)), true, withGuards);\n};\n\nexport var getAllTabbableNodes = function getAllTabbableNodes(topNodes) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes)), false);\n};\n\nexport var parentAutofocusables = function parentAutofocusables(topNode) {\n return filterFocusable(getParentAutofocusables(topNode));\n};","var isRadio = function isRadio(node) {\n return node.tagName === 'INPUT' && node.type === 'radio';\n};\n\nvar findSelectedRadio = function findSelectedRadio(node, nodes) {\n return nodes.filter(isRadio).filter(function (el) {\n return el.name === node.name;\n }).filter(function (el) {\n return el.checked;\n })[0] || node;\n};\n\nvar pickFirstFocus = function pickFirstFocus(nodes) {\n if (nodes[0] && nodes.length > 1) {\n if (isRadio(nodes[0]) && nodes[0].name) {\n return findSelectedRadio(nodes[0], nodes);\n }\n }\n return nodes[0];\n};\n\nexport var pickFocusable = function pickFocusable(nodes, index) {\n if (nodes.length > 1) {\n if (isRadio(nodes[index]) && nodes[index].name) {\n return nodes.indexOf(findSelectedRadio(nodes[index], nodes));\n }\n }\n return index;\n};\n\nexport default pickFirstFocus;","import { getCommonParent, getTabbableNodes, getAllTabbableNodes, parentAutofocusables } from './utils/DOMutils';\nimport pickFirstFocus, { pickFocusable } from './utils/firstFocus';\nimport getAllAffectedNodes from './utils/all-affected';\nimport { asArray } from './utils/array';\n\nvar findAutoFocused = function findAutoFocused(autoFocusables) {\n return function (node) {\n return !!node.autofocus || node.dataset && !!node.dataset.autofocus || autoFocusables.indexOf(node) >= 0;\n };\n};\n\nvar isGuard = function isGuard(node) {\n return node && node.dataset && node.dataset.focusGuard;\n};\nvar notAGuard = function notAGuard(node) {\n return !isGuard(node);\n};\n\nexport var newFocus = function newFocus(innerNodes, outerNodes, activeElement, lastNode, autoFocused) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n\n // focus is inside\n if (innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n\n var activeIndex = outerNodes.indexOf(activeElement);\n var lastIndex = outerNodes.indexOf(lastNode || activeIndex);\n var lastNodeInside = innerNodes.indexOf(lastNode);\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return innerNodes.indexOf(autoFocused && autoFocused.length ? pickFirstFocus(autoFocused) : pickFirstFocus(innerNodes));\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n\nvar getTopCommonParent = function getTopCommonParent(baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = null;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || common.contains(topCommon)) {\n topCommon = common;\n } else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n return topCommon;\n};\n\nvar allParentAutofocusables = function allParentAutofocusables(entries) {\n return entries.reduce(function (acc, node) {\n return acc.concat(parentAutofocusables(node));\n }, []);\n};\n\nvar reorderNodes = function reorderNodes(srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) {\n return remap.set(entity.node, entity);\n });\n // remap to dstNodes\n return srcNodes.map(function (node) {\n return remap.get(node);\n }).filter(Boolean);\n};\n\nexport var getFocusabledIn = function getFocusabledIn(topNode) {\n var entries = getAllAffectedNodes(topNode).filter(notAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var outerNodes = getTabbableNodes([commonParent], true);\n var innerElements = getTabbableNodes(entries).filter(function (_ref) {\n var node = _ref.node;\n return notAGuard(node);\n }).map(function (_ref2) {\n var node = _ref2.node;\n return node;\n });\n\n return outerNodes.map(function (_ref3) {\n var node = _ref3.node,\n index = _ref3.index;\n return {\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node)\n };\n });\n};\n\nvar getFocusMerge = function getFocusMerge(topNode, lastNode) {\n var activeElement = document && document.activeElement;\n var entries = getAllAffectedNodes(topNode).filter(notAGuard);\n\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n\n var innerElements = getTabbableNodes(entries).filter(function (_ref4) {\n var node = _ref4.node;\n return notAGuard(node);\n });\n\n if (!innerElements[0]) {\n innerElements = getAllTabbableNodes(entries).filter(function (_ref5) {\n var node = _ref5.node;\n return notAGuard(node);\n });\n if (!innerElements[0]) {\n return undefined;\n }\n }\n\n var outerNodes = getTabbableNodes([commonParent]).map(function (_ref6) {\n var node = _ref6.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_ref7) {\n var node = _ref7.node;\n return node;\n });\n\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode, innerNodes.filter(findAutoFocused(allParentAutofocusables(entries))));\n\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n\nexport default getFocusMerge;","import getFocusMerge from './focusMerge';\n\nexport var focusOn = function focusOn(target) {\n target.focus();\n if (target.contentWindow) {\n target.contentWindow.focus();\n }\n};\n\nvar guardCount = 0;\nvar lockDisabled = false;\n\nexport default (function (topNode, lastNode) {\n var focusable = getFocusMerge(topNode, lastNode);\n\n if (lockDisabled) {\n return;\n }\n\n if (focusable) {\n if (guardCount > 2) {\n // eslint-disable-next-line no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' + 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node);\n guardCount--;\n }\n});","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var setImmediate = window.setImmediate;\n\n if (typeof setImmediate !== 'undefined') {\n setImmediate(action);\n } else {\n setTimeout(action, 1);\n }\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","import React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutsideWindow || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !(focusInside(workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n activeElement.blur();\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus);\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedItem = allNodes.find(function (_ref) {\n var node = _ref.node;\n return node === newActiveElement;\n });\n\n if (focusedItem) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n var focusedIndex = allNodes.indexOf(focusedItem);\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nexport var onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\nexport var onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = true;\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap, true);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap, true);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n }).slice(-1)[0];\n}\n\nfunction handleStateChangeOnClient(trap) {\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.onActivation === lastTrap.onActivation;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation();\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n}\n\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import { toArray } from './utils/array';\nimport { FOCUS_ALLOW } from './constants';\n\nvar focusIsHidden = function focusIsHidden() {\n return document && toArray(document.querySelectorAll('[' + FOCUS_ALLOW + ']')).some(function (node) {\n return node.contains(document.activeElement);\n });\n};\n\nexport default focusIsHidden;","import React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return React.createElement(React.Fragment, null, React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { constants } from 'focus-lock';\nimport FocusTrap, { onBlur, onFocus } from './Trap';\nimport { hiddenGuard } from './FocusGuard';\n\nvar RenderChildren = function RenderChildren(_ref) {\n var children = _ref.children;\n return React.createElement(\"div\", null, children);\n};\n\nRenderChildren.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\nvar Fragment = React.Fragment ? React.Fragment : RenderChildren;\nvar emptyArray = [];\n\nvar FocusLock =\n/*#__PURE__*/\nfunction (_Component) {\n _inheritsLoose(FocusLock, _Component);\n\n function FocusLock() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _Component.call.apply(_Component, [this].concat(args)) || this;\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"state\", {\n observed: undefined\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onActivation\", function () {\n _this.originalFocusedElement = _this.originalFocusedElement || document && document.activeElement;\n\n if (_this.state.observed && _this.props.onActivation) {\n _this.props.onActivation(_this.state.observed);\n }\n\n _this.isActive = true;\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onDeactivation\", function () {\n _this.isActive = false;\n\n if (_this.props.returnFocus && _this.originalFocusedElement && _this.originalFocusedElement.focus) {\n _this.originalFocusedElement.focus();\n\n _this.originalFocusedElement = null;\n }\n\n if (_this.props.onDeactivation) {\n _this.props.onDeactivation(_this.state.observed);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onFocus\", function (event) {\n if (_this.isActive) {\n onFocus(event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"onBlur\", onBlur);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"setObserveNode\", function (observed) {\n if (_this.state.observed !== observed) {\n _this.setState({\n observed: observed\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"isActive\", false);\n\n _defineProperty(_assertThisInitialized(_assertThisInitialized(_this)), \"originalFocusedElement\", null);\n\n return _this;\n }\n\n var _proto = FocusLock.prototype;\n\n _proto.render = function render() {\n var _extends2;\n\n var _this$props = this.props,\n children = _this$props.children,\n disabled = _this$props.disabled,\n noFocusGuards = _this$props.noFocusGuards,\n persistentFocus = _this$props.persistentFocus,\n autoFocus = _this$props.autoFocus,\n allowTextSelection = _this$props.allowTextSelection,\n group = _this$props.group,\n className = _this$props.className,\n whiteList = _this$props.whiteList,\n _this$props$shards = _this$props.shards,\n shards = _this$props$shards === void 0 ? emptyArray : _this$props$shards,\n _this$props$as = _this$props.as,\n Container = _this$props$as === void 0 ? 'div' : _this$props$as,\n _this$props$lockProps = _this$props.lockProps,\n containerProps = _this$props$lockProps === void 0 ? {} : _this$props$lockProps;\n var observed = this.state.observed;\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n return React.createElement(Fragment, null, hasLeadingGuards && [React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }), // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n })], React.createElement(Container, _extends({\n ref: this.setObserveNode\n }, lockProps, {\n className: className,\n onBlur: this.onBlur,\n onFocus: this.onFocus\n }), React.createElement(FocusTrap, {\n observed: observed,\n disabled: disabled,\n persistentFocus: persistentFocus,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: this.onActivation,\n onDeactivation: this.onDeactivation\n }), children), hasTailingGuards && React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n };\n\n return FocusLock;\n}(Component);\n\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired,\n disabled: PropTypes.bool,\n returnFocus: PropTypes.bool,\n noFocusGuards: PropTypes.bool,\n allowTextSelection: PropTypes.bool,\n autoFocus: PropTypes.bool,\n persistentFocus: PropTypes.bool,\n group: PropTypes.string,\n className: PropTypes.string,\n whiteList: PropTypes.func,\n shards: PropTypes.arrayOf(PropTypes.any),\n as: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.object]),\n lockProps: PropTypes.object,\n onActivation: PropTypes.func,\n onDeactivation: PropTypes.func\n} : {};\nFocusLock.defaultProps = {\n disabled: false,\n returnFocus: false,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","import FocusLock from './Lock';\nimport AutoFocusInside from './AutoFocusInside';\nimport MoveFocusInside from './MoveFocusInside';\nimport FreeFocusInside from './FreeFocusInside';\nimport InFocusGuard from './FocusGuard';\nexport { AutoFocusInside, MoveFocusInside, FreeFocusInside, InFocusGuard };\nexport default FocusLock;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = { ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n\n this.payload = props.payload;\n }\n\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n\n if (typeof updater === 'object') {\n this.payload = { ...this.payload,\n ...updater\n };\n }\n\n return this;\n }\n\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n\n return null;\n }\n\n const context = [...this.context];\n const handlers = [...this.handlers];\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n\n return;\n }\n\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n\n return this;\n }\n\n return super.update(updater);\n }\n\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents(); // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n }); // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context); // fire an event on the atlaskit channel\n\n const clone = analyticsEvent.clone();\n\n if (clone) {\n clone.fire('atlaskit');\n }\n\n fnRef.current(value, analyticsEvent);\n }, [// These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion, // This function is memoized in the context\n createAnalyticsEvent, // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","/**\n * Assigns the node to all the refs passed in the argument.\n *\n * @param refs: An array of refs (as function or ref object)\n */\nexport default function mergeRefs(refs) {\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref !== null) {\n ref.current = value;\n }\n });\n };\n}","import { useEffect } from 'react';\n/**\n * Assigns an event listener to the document and cleans up after itself.\n * This event will not flow through the React event system,\n * which means it could add lots of event listeners affecting performance.\n * Use with caution.\n *\n * ```\n * useDocumentEvent('click', callback, true);\n * ```\n *\n * @param eventName\n * @param callback Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n * @param options Ensure a stable reference else you will have your event bound/unbound unexpectedly.\n */\n\nexport default function useDocumentEvent(eventName, callback, options) {\n useEffect(() => {\n document.addEventListener(eventName, callback, options);\n return () => {\n document.removeEventListener(eventName, callback, options);\n };\n }, [eventName, callback, options]);\n}","import { useCallback, useLayoutEffect, useState } from 'react';\nimport useWindowEvent from '@atlaskit/ds-lib/use-window-event';\n/**\n * Returns how far the body is scrolled from the top of the viewport.\n *\n * ____\n * ||____|| <-- overflow\n * | | <-- viewport\n * |____|\n *\n * Scroll distance is the height of overflow outside the viewport.\n */\n\nfunction getScrollDistance() {\n var _document$documentEle, _document$body;\n\n return window.pageYOffset || ((_document$documentEle = document.documentElement) === null || _document$documentEle === void 0 ? void 0 : _document$documentEle.scrollTop) || ((_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.scrollTop) || 0;\n}\n/**\n * Prevents programatic scrolling of the viewport with `scrollIntoView`.\n * Should be used in conjunction with a scroll lock to prevent a user from scrolling.\n *\n * @returns scroll top offset of the viewport\n */\n\n\nexport default function usePreventProgrammaticScroll() {\n const [scrollTopOffset, setScrollTopOffset] = useState(0);\n useLayoutEffect(() => {\n setScrollTopOffset(getScrollDistance());\n }, []);\n const onWindowScroll = useCallback(() => {\n if (getScrollDistance() !== scrollTopOffset) {\n window.scrollTo(window.pageXOffset, scrollTopOffset);\n }\n }, [scrollTopOffset]);\n useWindowEvent('scroll', onWindowScroll);\n return scrollTopOffset;\n}","import { css } from '@emotion/core';\nimport { prefersReducedMotion } from '@atlaskit/motion/accessibility';\nimport { easeInOut } from '@atlaskit/motion/curves';\nimport { mediumDurationMs } from '@atlaskit/motion/durations';\nimport { N0, N30A, N60A, text } from '@atlaskit/theme/colors';\nimport { borderRadius, layers } from '@atlaskit/theme/constants';\nimport { gutter, verticalOffset, WIDTH_ENUM } from '../constants';\nconst maxWidthDimensions = `calc(100vw - ${gutter * 2}px)`;\nconst maxHeightDimensions = `calc(100vh - ${gutter * 2 - 1}px)`;\nexport const dialogWidth = width => {\n if (!width) {\n return 'auto';\n }\n\n const isWidthName = WIDTH_ENUM.values.indexOf(width.toString()) !== -1;\n const widthName = isWidthName && width;\n\n if (widthName) {\n return `${WIDTH_ENUM.widths[widthName]}px`;\n }\n\n return typeof width === 'number' ? `${width}px` : width;\n};\nexport const dialogHeight = height => {\n if (!height) {\n return 'auto';\n }\n\n return typeof height === 'number' ? `${height}px` : height;\n};\nexport const getFillScreenStyles = scrollDistance => css`\n height: 100vh;\n width: 100vw;\n\n // This instead of fixed so PopupSelect's\n // children are properly positioned.\n position: absolute;\n top: ${scrollDistance}px;\n left: 0;\n\n z-index: ${layers.modal()};\n overflow-y: auto; // Enables scroll outside.\n -webkit-overflow-scrolling: touch;\n`;\n\nconst modalStackTransition = stackIndex => css`\n // We only want to apply transform on modals shifting to the back of the stack.\n transform: ${stackIndex > 0 ? `translateY(${stackIndex * (verticalOffset / 2)}px)` : 'none'};\n transition-property: transform;\n transition-duration: ${mediumDurationMs}ms;\n transition-timing-function: ${easeInOut};\n ${prefersReducedMotion()};\n`;\n\nconst positionerBaseStyles = css`\n top: ${gutter}px;\n left: 0;\n right: 0;\n margin-left: auto;\n margin-right: auto;\n\n max-width: ${maxWidthDimensions};\n max-height: ${maxHeightDimensions};\n\n pointer-events: none;\n width: max-content;\n`;\nconst positionerResponsiveBaseStyles = css`\n position: fixed;\n left: 0;\n top: 0;\n\n height: 100%;\n width: 100%;\n max-width: 100%;\n\n z-index: ${layers.modal()};\n`;\nexport const getPositionRelativeStyles = stackIndex => css`\n ${positionerResponsiveBaseStyles};\n ${modalStackTransition(stackIndex)};\n\n margin: 0;\n\n @media (min-width: 480px) {\n position: relative;\n margin: ${gutter}px auto;\n width: max-content;\n }\n`;\nexport const getPositionAbsoluteStyles = stackIndex => css`\n ${positionerResponsiveBaseStyles};\n ${modalStackTransition(stackIndex)};\n\n @media (min-width: 480px) {\n ${positionerBaseStyles};\n position: absolute;\n }\n`;\nexport const getPositionFixedStyles = stackIndex => css`\n ${positionerResponsiveBaseStyles};\n ${modalStackTransition(stackIndex)};\n\n @media (min-width: 480px) {\n ${positionerBaseStyles};\n position: fixed;\n }\n`;\nexport const getDialogStyles = ({\n isChromeless,\n height,\n width\n}) => css`\n color: ${text()};\n display: flex;\n flex-direction: column;\n\n pointer-events: auto;\n\n height: 100%;\n width: 100%;\n max-height: 100vh;\n max-width: 100vw;\n\n ${isChromeless !== true && css`\n background-color: ${N0};\n `}\n\n @media (min-width: 480px) {\n height: ${dialogHeight(height)};\n width: ${dialogWidth(width)};\n max-height: inherit;\n max-width: inherit;\n\n margin-left: inherit;\n margin-right: inherit;\n\n ${isChromeless !== true && css`\n border-radius: ${borderRadius()}px;\n box-shadow: 0 0 0 1px ${N30A}, 0 2px 1px ${N30A}, 0 0 20px -6px ${N60A};\n `}\n }\n`;","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(value, analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","/**\n * An empty function which does nothing.\n */\n// eslint-disable-next-line @repo/internal/react/use-noop\nexport default function noop() {}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","function abort(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nconst tabKeyCode = 9;\nfunction onKey(event) {\n // Allowing tab so that a user can move focus away\n if (event.keyCode === tabKeyCode) {\n return;\n }\n abort(event);\n}\nconst block = {\n onMouseDownCapture: abort,\n onMouseUpCapture: abort,\n // because we have tabIndex = -1 when disabled,\n // keyboard events can only occur when there is an overlay\n onKeyDownCapture: onKey,\n onKeyUpCapture: onKey,\n onTouchStartCapture: abort,\n onTouchEndCapture: abort,\n onPointerDownCapture: abort,\n onPointerUpCapture: abort,\n onClickCapture: abort,\n // Just smashing the existing onClick for good measure\n onClick: abort\n};\nconst doNotBlock = {};\nexport default function blockEvents({\n isInteractive\n}) {\n return isInteractive ? doNotBlock : block;\n}","import * as colors from '@atlaskit/theme/colors';\n// Hard coding the active rgba color value rather than using a helper to convert it\n// With helper it would be: hex2rgba(colors.B75, 0.6)\nconst fadedB75 = 'rgba(179, 212, 255, 0.6)';\nconst values = {\n // Default appearance\n background: {\n default: {\n default: {\n light: `var(--ds-background-neutral, ${colors.N20A})`,\n dark: `var(--ds-background-neutral, ${colors.DN70})`\n },\n hover: {\n light: `var(--ds-background-neutral-hovered, ${colors.N30A})`,\n dark: `var(--ds-background-neutral-hovered, ${colors.DN60})`\n },\n active: {\n light: `var(--ds-background-neutral-pressed, ${fadedB75})`,\n dark: `var(--ds-background-neutral-pressed, ${colors.B75})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n primary: {\n default: {\n light: `var(--ds-background-brand-bold, ${colors.B400})`,\n dark: `var(--ds-background-brand-bold, ${colors.B100})`\n },\n hover: {\n light: `var(--ds-background-brand-bold-hovered, ${colors.B300})`,\n dark: `var(--ds-background-brand-bold-hovered, ${colors.B75})`\n },\n active: {\n light: `var(--ds-background-brand-bold-pressed, ${colors.B500})`,\n dark: `var(--ds-background-brand-bold-pressed, ${colors.B200})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n warning: {\n default: {\n light: `var(--ds-background-warning-bold, ${colors.Y300})`,\n dark: `var(--ds-background-warning-bold, ${colors.Y300})`\n },\n hover: {\n light: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`,\n dark: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`\n },\n active: {\n light: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`,\n dark: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.Y400})`,\n dark: `var(--ds-background-selected, ${colors.Y400})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.Y400})`,\n dark: `var(--ds-background-selected, ${colors.Y400})`\n }\n },\n danger: {\n default: {\n light: `var(--ds-background-danger-bold, ${colors.R400})`,\n dark: `var(--ds-background-danger-bold, ${colors.R400})`\n },\n hover: {\n light: `var(--ds-background-danger-bold-hovered, ${colors.R300})`,\n dark: `var(--ds-background-danger-bold-hovered, ${colors.R300})`\n },\n active: {\n light: `var(--ds-background-danger-bold-pressed, ${colors.R500})`,\n dark: `var(--ds-background-danger-bold-pressed, ${colors.R500})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.R500})`,\n dark: `var(--ds-background-selected, ${colors.R500})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.R500})`,\n dark: `var(--ds-background-selected, ${colors.R500})`\n }\n },\n link: {\n default: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n }\n },\n subtle: {\n default: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n hover: {\n light: `var(--ds-background-neutral-subtle-hovered, ${colors.N30A})`,\n dark: `var(--ds-background-neutral-subtle-hovered, ${colors.DN60})`\n },\n active: {\n light: `var(--ds-background-neutral-subtle-pressed, ${fadedB75})`,\n dark: `var(--ds-background-neutral-subtle-pressed, ${colors.B75})`\n },\n disabled: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n 'subtle-link': {\n default: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n }\n }\n },\n color: {\n default: {\n default: {\n light: `var(--ds-text, ${colors.N500})`,\n dark: `var(--ds-text, ${colors.DN400})`\n },\n active: {\n light: `var(--ds-text, ${colors.B400})`,\n dark: `var(--ds-text, ${colors.B400})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n primary: {\n default: {\n light: `var(--ds-text-inverse, ${colors.N0})`,\n dark: `var(--ds-text-inverse, ${colors.DN30})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n warning: {\n default: {\n light: `var(--ds-text-warning-inverse, ${colors.N800})`,\n dark: `var(--ds-text-warning-inverse, ${colors.N800})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N800})`,\n dark: `var(--ds-text-selected, ${colors.N800})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N800})`,\n dark: `var(--ds-text-selected, ${colors.N800})`\n }\n },\n danger: {\n default: {\n light: `var(--ds-text-inverse, ${colors.N0})`,\n dark: `var(--ds-text-inverse, ${colors.N0})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N0})`,\n dark: `var(--ds-text-selected, ${colors.N0})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N0})`,\n dark: `var(--ds-text-selected, ${colors.N0})`\n }\n },\n link: {\n default: {\n light: `var(--ds-link, ${colors.B400})`,\n dark: `var(--ds-link, ${colors.B100})`\n },\n hover: {\n light: `var(--ds-link, ${colors.B300})`,\n dark: `var(--ds-link, ${colors.B75})`\n },\n active: {\n light: `var(--ds-link-pressed, ${colors.B500})`,\n dark: `var(--ds-link-pressed, ${colors.B200})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.N700})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.N700})`\n }\n },\n subtle: {\n default: {\n light: `var(--ds-text, ${colors.N500})`,\n dark: `var(--ds-text, ${colors.DN400})`\n },\n active: {\n light: `var(--ds-text, ${colors.B400})`,\n dark: `var(--ds-text, ${colors.B400})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n 'subtle-link': {\n default: {\n light: `var(--ds-text-subtle, ${colors.N200})`,\n dark: `var(--ds-text-subtle, ${colors.DN400})`\n },\n hover: {\n light: `var(--ds-text-subtle, ${colors.N90})`,\n dark: `var(--ds-text-subtle, ${colors.B50})`\n },\n active: {\n light: `var(--ds-text, ${colors.N400})`,\n dark: `var(--ds-text, ${colors.DN300})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n }\n }\n};\nexport default values;","import { css } from '@emotion/react';\nimport { borderRadius as getBorderRadius, fontSize as getFontSize,\n// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports\ngridSize as getGridSize } from '@atlaskit/theme/constants';\nimport colors from './colors';\nconst borderRadius = getBorderRadius();\nconst gridSize = getGridSize();\nconst fontSize = getFontSize();\n\n// ## Button layout\n//\n// /------------------------------------------------------------------------------------------------------------------\\\n// | → | ← | | → | ← | | → | ← | | → | ← |\n// | 10px → | ← 2px | icon | 2px → | ← 2px | | 2px → | ← 2px | icon | 2px → | ← 10px |\n// | padding | margin | before | margin | margin | content | margin | margin | after | margin | padding |\n// | (12px total) | | (4px total) | | (4px total) | | (12px total) |\n// | → | ← | | → | ← | | → | ← | | → | ← |\n// \\------------------------------------------------------------------------------------------------------------------/\n// ↑ ↑\n// Margins don't collapse with inline-flex\n//\nconst heights = {\n default: `${gridSize * 4 / fontSize}em`,\n // 32px\n compact: `${gridSize * 3 / fontSize}em`,\n none: 'auto'\n};\nconst lineHeights = {\n default: heights.default,\n compact: heights.compact,\n none: 'inherit'\n};\nconst padding = {\n // 10px gutter\n default: `0 ${gridSize + gridSize / 4}px`,\n compact: `0 ${gridSize + gridSize / 4}px`,\n none: '0'\n};\nconst singleIconPadding = {\n // 2px gutter\n compact: `0 ${gridSize / 4}px`,\n default: `0 ${gridSize / 4}px`,\n none: '0'\n};\nconst verticalAlign = {\n default: 'middle',\n compact: 'middle',\n none: 'baseline'\n};\nconst innerMargin = {\n content: `0 ${gridSize / 4}px`,\n icon: `0 ${gridSize / 4}px`\n};\nfunction getColor({\n group,\n key,\n mode\n}) {\n const rule = group[key] || group.default;\n return rule[mode];\n}\nfunction getColors({\n appearance,\n key,\n mode\n}) {\n return {\n background: getColor({\n group: colors.background[appearance],\n key,\n mode\n }),\n // Needing to add !important to overcome specificity issue caused by deprecated AtlaskitThemeProvider\n color: `${getColor({\n group: colors.color[appearance],\n key,\n mode\n })} !important`\n };\n}\nexport function getCss({\n appearance,\n spacing,\n mode,\n isSelected,\n shouldFitContainer,\n isOnlySingleIcon\n}) {\n const baseColors = getColors({\n appearance,\n key: isSelected ? 'selected' : 'default',\n mode\n });\n return {\n // 0px margin added to css-reset\n alignItems: 'baseline',\n borderWidth: 0,\n borderRadius,\n boxSizing: 'border-box',\n display: 'inline-flex',\n fontSize: 'inherit',\n fontStyle: 'normal',\n // Chrome recently changed button so that they use 'arial' as the font family\n fontFamily: 'inherit',\n fontWeight: 500,\n // margin for button has been applied to css reset\n maxWidth: '100%',\n // Needed to position overlay\n position: 'relative',\n textAlign: 'center',\n textDecoration: 'none',\n transition: 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)',\n whiteSpace: 'nowrap',\n // dynamic styles\n ...baseColors,\n cursor: 'pointer',\n height: heights[spacing],\n lineHeight: lineHeights[spacing],\n padding: isOnlySingleIcon ? singleIconPadding[spacing] : padding[spacing],\n verticalAlign: verticalAlign[spacing],\n width: shouldFitContainer ? '100%' : 'auto',\n // justifyContent required for shouldFitContainer buttons with an icon inside\n justifyContent: 'center',\n // Note: we cannot disable pointer events when there is an overlay.\n // That would be easy for styling, but it would start letting events through on disabled buttons\n\n // Disabling visited styles (just using the base colors)\n '&:visited': {\n ...baseColors\n },\n '&:hover': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'hover',\n mode\n }),\n textDecoration: !isSelected && (appearance === 'link' || appearance === 'subtle-link') ? 'underline' : 'inherit',\n // background, box-shadow\n transitionDuration: '0s, 0.15s'\n },\n // giving active styles preference by listing them after focus\n '&:active': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'active',\n mode\n }),\n // background, box-shadow\n transitionDuration: '0s, 0s'\n },\n // preventDefault prevents regular active styles from applying in Firefox\n '&[data-firefox-is-active=\"true\"]': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'active',\n mode\n }),\n // background, box-shadow\n transitionDuration: '0s, 0s'\n },\n // Giving disabled styles preference over active by listing them after.\n // Not using '&:disabled' because :disabled is not a valid state for all element types\n // so we are targeting the attribute\n // Attributes have the same specificity a pseudo classes so we are overriding :disabled here\n '&[disabled]': {\n // always using 'disabled' even when selected\n ...getColors({\n appearance,\n key: 'disabled',\n mode\n }),\n cursor: 'not-allowed',\n textDecoration: 'none'\n },\n '&[data-has-overlay=\"true\"]': {\n cursor: 'default',\n textDecoration: 'none'\n },\n // disabling hover and active color changes when there is an overlay, but the button is not disabled\n '&[data-has-overlay=\"true\"]:not([disabled]):hover, &[data-has-overlay=\"true\"]:not([disabled]):active': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'default',\n mode\n })\n },\n '&::-moz-focus-inner': {\n border: 0,\n margin: 0,\n padding: 0\n }\n };\n}\n\n// inline-flex child\nexport function getIconStyle({\n spacing\n}) {\n return css({\n display: 'flex',\n // icon size cannot grow and shrink\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n margin: spacing === 'none' ? 0 : innerMargin.icon,\n flexGrow: 0,\n flexShrink: 0,\n alignSelf: 'center',\n fontSize: 0,\n lineHeight: 0,\n userSelect: 'none'\n });\n}\n\n// inline-flex child\nexport function getContentStyle({\n spacing\n}) {\n return css({\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n margin: spacing === 'none' ? 0 : innerMargin.content,\n // content can grow and shrink\n flexGrow: 1,\n flexShrink: 1,\n // ellipsis for overflow text\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n });\n}\nexport function getFadingCss({\n hasOverlay\n}) {\n return css({\n opacity: hasOverlay ? 0 : 1,\n transition: 'opacity 0.3s'\n });\n}\nexport const overlayCss = {\n // stretching to full width / height of button\n // this is important as we need it to still block\n // event if clicking in the button's own padding\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n // Putting all children in the center\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport React, { useCallback, useContext, useEffect, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport FocusRing from '@atlaskit/focus-ring';\n// eslint-disable-next-line no-duplicate-imports\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { N500 } from '@atlaskit/theme/colors';\nimport blockEvents from './block-events';\nimport { getContentStyle, getFadingCss, getIconStyle, overlayCss } from './css';\n\n// Disabled buttons will still publish events for nested elements in webkit.\n// We are disabling pointer events on child elements so that\n// the button will always be the target of events\n// Note: firefox does not have this behaviour for child elements\nconst noPointerEventsOnChildrenCss = {\n '> *': {\n pointerEvents: 'none'\n }\n};\nexport default /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {\n const {\n appearance = 'default',\n buttonCss,\n spacing = 'default',\n autoFocus = false,\n isDisabled = false,\n shouldFitContainer = false,\n isSelected = false,\n iconBefore,\n iconAfter,\n children,\n className,\n href,\n overlay,\n tabIndex = 0,\n type = !href ? 'button' : undefined,\n onMouseDown: providedOnMouseDown = noop,\n onClick: providedOnClick = noop,\n // use the provided component prop,\n // else default to anchor if there is a href, and button if there is no href\n component: Component = href ? 'a' : 'button',\n testId,\n interactionName,\n // I don't think this should be in button, but for now it is\n analyticsContext,\n ...rest\n } = props;\n const ourRef = useRef();\n const setRef = useCallback(node => {\n ourRef.current = node;\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n // @ts-ignore\n ref.current = node;\n }, [ourRef, ref]);\n\n // Cross browser auto focusing is pretty broken, so we are doing it ourselves\n useAutoFocus(ourRef, autoFocus);\n const interactionContext = useContext(InteractionContext);\n const handleClick = useCallback((e, analyticsEvent) => {\n interactionContext && interactionContext.tracePress(interactionName, e.timeStamp);\n providedOnClick(e, analyticsEvent);\n }, [providedOnClick, interactionContext, interactionName]);\n const onClick = usePlatformLeafEventHandler({\n fn: handleClick,\n action: 'clicked',\n componentName: 'button',\n packageName: \"@atlaskit/button\",\n packageVersion: \"16.7.5\",\n analyticsData: analyticsContext\n });\n\n // Button currently calls preventDefault, which is not standard button behaviour\n const onMouseDown = useCallback(event => {\n event.preventDefault();\n providedOnMouseDown(event);\n }, [providedOnMouseDown]);\n\n // Lose focus when becoming disabled (standard button behaviour)\n useEffect(() => {\n const el = ourRef.current;\n if (isDisabled && el && el === document.activeElement) {\n el.blur();\n }\n }, [isDisabled]);\n\n // we are 'disabling' input with a button when there is an overlay\n const hasOverlay = Boolean(overlay);\n const fadeCss = css(getFadingCss({\n hasOverlay\n }));\n const isInteractive = !isDisabled && !hasOverlay;\n\n /**\n * HACK: Spinner needs to have different colours in the \"new\" tokens design compared to the old design.\n * For now, while we support both, these styles reach into Spinner when a theme is set, applies the right color.\n * Ticket to remove: https://product-fabric.atlassian.net/browse/DSP-2067\n */\n var spinnerHackCss = {};\n if (isSelected || isDisabled || appearance === 'warning') {\n spinnerHackCss = {\n '[data-theme] & circle': {\n stroke: `${isSelected || isDisabled ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-warning-inverse, ${N500})`} !important`\n }\n };\n }\n return jsx(FocusRing, null, jsx(Component, _extends({}, rest, {\n css: [buttonCss, isInteractive ? null : noPointerEventsOnChildrenCss],\n className: className,\n ref: setRef,\n onClick: onClick,\n onMouseDown: onMouseDown,\n disabled: isDisabled,\n href: isInteractive ? href : undefined\n // using undefined so that the property doesn't exist when false\n ,\n \"data-has-overlay\": hasOverlay ? true : undefined,\n \"data-testid\": testId,\n type: type\n // Adding a tab index so element is always focusable, even when not a \n * \n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, 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 return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafSyntheticEventHandler({\n fn,\n action,\n componentName,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(() => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","let delayId = null;\nexport function clearScheduled() {\n if (delayId != null) {\n window.clearTimeout(delayId);\n delayId = null;\n }\n}\nexport function scheduleTimeout(fn, delay) {\n clearScheduled();\n delayId = window.setTimeout(() => {\n delayId = null;\n fn();\n }, delay);\n}","import { clearScheduled, scheduleTimeout } from './shared-schedule';\n\n// This file is a singleton for managing tooltips\n\nlet active = null;\nexport function show(entry) {\n let phase = 'waiting-to-show';\n function isActive() {\n return Boolean(active && active.entry === entry);\n }\n function cleanup() {\n if (isActive()) {\n clearScheduled();\n active = null;\n }\n }\n function done() {\n if (isActive()) {\n entry.done();\n }\n phase = 'done';\n cleanup();\n }\n function immediatelyHideAndDone() {\n if (isActive()) {\n entry.hide({\n isImmediate: true\n });\n }\n done();\n }\n function keep() {\n if (!isActive()) {\n return;\n }\n\n // aborting a wait to hide\n if (phase === 'waiting-to-hide') {\n phase = 'shown';\n clearScheduled();\n return;\n }\n\n // aborting hide animation\n if (phase === 'hide-animating') {\n phase = 'shown';\n clearScheduled();\n entry.show({\n isImmediate: false\n });\n return;\n }\n }\n function requestHide({\n isImmediate\n }) {\n if (!isActive()) {\n return;\n }\n\n // If we were not showing yet anyway; finish straight away\n if (phase === 'waiting-to-show') {\n immediatelyHideAndDone();\n return;\n }\n\n // already waiting to hide\n if (phase === 'waiting-to-hide') {\n return;\n }\n if (isImmediate) {\n immediatelyHideAndDone();\n return;\n }\n phase = 'waiting-to-hide';\n scheduleTimeout(() => {\n phase = 'hide-animating';\n entry.hide({\n isImmediate: false\n });\n }, entry.delay);\n }\n function finishHideAnimation() {\n if (isActive() && phase === 'hide-animating') {\n done();\n }\n }\n function isVisible() {\n return phase === 'shown' || phase === 'waiting-to-hide' || phase === 'hide-animating';\n }\n function getInitialMouse() {\n if (entry.source.type === 'mouse') {\n return entry.source.mouse;\n }\n return null;\n }\n function start() {\n const showImmediately = Boolean(active && active.isVisible());\n\n // If there was an active tooltip; we tell it to remove itself at once!\n if (active) {\n clearScheduled();\n active.entry.hide({\n isImmediate: true\n });\n active.entry.done();\n active = null;\n }\n\n // this tooltip is now the active tooltip\n active = {\n entry,\n isVisible\n };\n function show() {\n phase = 'shown';\n entry.show({\n isImmediate: showImmediately\n });\n }\n if (showImmediately) {\n show();\n return;\n }\n phase = 'waiting-to-show';\n scheduleTimeout(show, entry.delay);\n }\n // let's get started!\n start();\n const result = {\n keep,\n abort: cleanup,\n isActive,\n requestHide,\n finishHideAnimation,\n mousePosition: getInitialMouse()\n };\n return result;\n}","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { DN0, DN600, N0, N800 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport TooltipPrimitive from './TooltipPrimitive';\nconst baseStyles = css({\n boxSizing: 'border-box',\n maxWidth: '240px',\n padding: `${\"var(--ds-space-025, 2px)\"} ${\"var(--ds-space-075, 6px)\"}`,\n top: \"var(--ds-space-0, 0px)\",\n left: \"var(--ds-space-0, 0px)\",\n borderRadius: \"var(--ds-radius-100, 3px)\",\n fontSize: \"var(--ds-font-size-075, 12px)\",\n lineHeight: 1.3,\n overflowWrap: 'break-word',\n wordWrap: 'break-word'\n});\nconst truncateStyles = css({\n maxWidth: '420px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n});\nconst lightStyles = css({\n backgroundColor: `var(--ds-background-neutral-bold, ${N800})`,\n color: `var(--ds-text-inverse, ${N0})`\n});\nconst darkStyles = css({\n backgroundColor: `var(--ds-background-neutral-bold, ${DN0})`,\n color: `var(--ds-text-inverse, ${DN600})`\n});\nconst TooltipContainer = /*#__PURE__*/forwardRef(function TooltipContainer({\n style,\n className,\n children,\n truncate,\n placement,\n testId,\n onMouseOut,\n onMouseOver,\n id\n}, ref) {\n return jsx(GlobalTheme.Consumer, null, ({\n mode\n }) =>\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n jsx(TooltipPrimitive, {\n ref: ref,\n style: style,\n className: className,\n placement: placement,\n testId: testId,\n id: id,\n onMouseOut: onMouseOut,\n onMouseOver: onMouseOver,\n css: [baseStyles, truncate ? truncateStyles : null, mode === 'light' ? lightStyles : darkStyles]\n }, children));\n});\nTooltipContainer.displayName = 'TooltipContainer';\nexport default TooltipContainer;","export function getMousePosition(mouseCoordinates) {\n const safeMouse = mouseCoordinates || {\n top: 0,\n left: 0\n };\n const getBoundingClientRect = () => ({\n top: safeMouse.top,\n left: safeMouse.left,\n bottom: safeMouse.top,\n right: safeMouse.left,\n width: 0,\n height: 0\n });\n return {\n getBoundingClientRect,\n clientWidth: 0,\n clientHeight: 0\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\n\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { jsx } from '@emotion/react';\nimport { bind } from 'bind-event-listener';\nimport { usePlatformLeafSyntheticEventHandler } from '@atlaskit/analytics-next';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useCloseOnEscapePress from '@atlaskit/ds-lib/use-close-on-escape-press';\nimport { ExitingPersistence, FadeIn } from '@atlaskit/motion';\nimport { mediumDurationMs } from '@atlaskit/motion/durations';\nimport { Popper } from '@atlaskit/popper';\nimport Portal from '@atlaskit/portal';\nimport { layers } from '@atlaskit/theme/constants';\nimport { show } from './internal/tooltip-manager';\nimport useUniqueId from './internal/use-unique-id';\nimport TooltipContainer from './TooltipContainer';\nimport { getMousePosition } from './utilities';\nconst tooltipZIndex = layers.tooltip();\nconst analyticsAttributes = {\n componentName: 'tooltip',\n packageName: \"@atlaskit/tooltip\",\n packageVersion: \"17.8.2\"\n};\n\n// Inverts motion direction\nconst invertedDirection = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\n\n/**\n * Converts a Popper placement to it's general direction.\n *\n * @param position - Popper Placement value, e.g. 'top-start'\n * @returns Popper Direction, e.g. 'top'\n */\nconst getDirectionFromPlacement = placement => placement.split('-')[0];\nfunction Tooltip({\n children,\n position = 'bottom',\n mousePosition = 'bottom',\n content,\n truncate = false,\n component: Container = TooltipContainer,\n tag: TargetContainer = 'div',\n testId,\n delay = 300,\n onShow = noop,\n onHide = noop,\n hideTooltipOnClick = false,\n hideTooltipOnMouseDown = false,\n analyticsContext,\n strategy = 'fixed'\n}) {\n const tooltipPosition = position === 'mouse' ? mousePosition : position;\n const onShowHandler = usePlatformLeafSyntheticEventHandler({\n fn: onShow,\n action: 'displayed',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const onHideHandler = usePlatformLeafSyntheticEventHandler({\n fn: onHide,\n action: 'hidden',\n analyticsData: analyticsContext,\n ...analyticsAttributes\n });\n const apiRef = useRef(null);\n const [state, setState] = useState('hide');\n const targetRef = useRef(null);\n const containerRef = useRef(null);\n const setRef = useCallback(node => {\n if (!node) {\n return;\n }\n if (typeof children === 'function') {\n // @ts-ignore - React Ref typing is too strict for this use case\n targetRef.current = node;\n } else {\n // @ts-ignore - React Ref typing is too strict for this use case\n containerRef.current = node;\n // @ts-ignore - React Ref typing is too strict for this use case\n targetRef.current = node.firstChild;\n }\n }, [children]);\n\n // Putting a few things into refs so that we don't have to break memoization\n const lastState = useRef(state);\n const lastDelay = useRef(delay);\n const lastHandlers = useRef({\n onShowHandler,\n onHideHandler\n });\n const hasCalledShowHandler = useRef(false);\n useEffect(() => {\n lastState.current = state;\n lastDelay.current = delay;\n lastHandlers.current = {\n onShowHandler,\n onHideHandler\n };\n }, [delay, onHideHandler, onShowHandler, state]);\n const start = useCallback(api => {\n // @ts-ignore\n apiRef.current = api;\n hasCalledShowHandler.current = false;\n }, []);\n const done = useCallback(() => {\n if (!apiRef.current) {\n return;\n }\n // Only call onHideHandler if we have called onShowHandler\n if (hasCalledShowHandler.current) {\n lastHandlers.current.onHideHandler();\n }\n // @ts-ignore\n apiRef.current = null;\n // @ts-ignore\n hasCalledShowHandler.current = false;\n // just in case\n setState('hide');\n }, []);\n const abort = useCallback(() => {\n if (!apiRef.current) {\n return;\n }\n apiRef.current.abort();\n // Only call onHideHandler if we have called onShowHandler\n if (hasCalledShowHandler.current) {\n lastHandlers.current.onHideHandler();\n }\n // @ts-ignore\n apiRef.current = null;\n }, []);\n useEffect(function mount() {\n return function unmount() {\n if (apiRef.current) {\n abort();\n }\n };\n }, [abort]);\n const showTooltip = useCallback(source => {\n if (apiRef.current && !apiRef.current.isActive()) {\n abort();\n }\n\n // Tell the tooltip to keep showing\n if (apiRef.current && apiRef.current.isActive()) {\n apiRef.current.keep();\n return;\n }\n const entry = {\n source,\n delay: lastDelay.current,\n show: ({\n isImmediate\n }) => {\n // Call the onShow handler if it hasn't been called yet\n if (!hasCalledShowHandler.current) {\n hasCalledShowHandler.current = true;\n lastHandlers.current.onShowHandler();\n }\n setState(isImmediate ? 'show-immediate' : 'fade-in');\n },\n hide: ({\n isImmediate\n }) => {\n if (isImmediate) {\n setState('hide');\n } else {\n setState('before-fade-out');\n }\n },\n done: done\n };\n const api = show(entry);\n start(api);\n }, [abort, done, start]);\n const hideTooltipOnEsc = useCallback(() => {\n var _apiRef$current;\n (_apiRef$current = apiRef.current) === null || _apiRef$current === void 0 ? void 0 : _apiRef$current.requestHide({\n isImmediate: true\n });\n }, [apiRef]);\n useCloseOnEscapePress({\n onClose: hideTooltipOnEsc,\n isDisabled: state === 'hide' || state === 'fade-out'\n });\n useEffect(() => {\n if (state === 'hide') {\n return noop;\n }\n if (state === 'before-fade-out') {\n setState('fade-out');\n }\n const unbind = bind(window, {\n type: 'scroll',\n listener: () => {\n if (apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: true\n });\n }\n },\n options: {\n capture: true,\n passive: true,\n once: true\n }\n });\n return unbind;\n }, [state]);\n const onMouseDown = useCallback(() => {\n if (hideTooltipOnMouseDown && apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: true\n });\n }\n }, [hideTooltipOnMouseDown]);\n const onClick = useCallback(() => {\n if (hideTooltipOnClick && apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: true\n });\n }\n }, [hideTooltipOnClick]);\n\n // Ideally we would be using onMouseEnter here, but\n // because we are binding the event to the target parent\n // we need to listen for the mouseover of all sub elements\n // This means when moving along a tooltip we are quickly toggling\n // between api.requestHide and api.keep. This it not ideal\n const onMouseOver = useCallback(event => {\n // Ignoring events from the container ref\n if (containerRef.current && event.target === containerRef.current) {\n return;\n }\n\n // Using prevent default as a signal that parent tooltips\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n const source = position === 'mouse' ? {\n type: 'mouse',\n // TODO: ideally not recalculating this object each time\n mouse: getMousePosition({\n left: event.clientX,\n top: event.clientY\n })\n } : {\n type: 'keyboard'\n };\n showTooltip(source);\n }, [position, showTooltip]);\n\n // Ideally we would be using onMouseEnter here, but\n // because we are binding the event to the target parent\n // we need to listen for the mouseout of all sub elements\n // This means when moving along a tooltip we are quickly toggling\n // between api.requestHide and api.keep. This it not ideal\n const onMouseOut = useCallback(event => {\n // Ignoring events from the container ref\n if (containerRef.current && event.target === containerRef.current) {\n return;\n }\n\n // Using prevent default as a signal that parent tooltips\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n if (apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: false\n });\n }\n }, []);\n const onMouseMove = position === 'mouse' ? event => {\n var _apiRef$current2;\n if ((_apiRef$current2 = apiRef.current) !== null && _apiRef$current2 !== void 0 && _apiRef$current2.isActive()) {\n apiRef.current.mousePosition = getMousePosition({\n left: event.clientX,\n top: event.clientY\n });\n }\n } : undefined;\n const onMouseOverTooltip = useCallback(() => {\n if (apiRef.current && apiRef.current.isActive()) {\n apiRef.current.keep();\n return;\n }\n }, []);\n const onFocus = useCallback(() => {\n showTooltip({\n type: 'keyboard'\n });\n }, [showTooltip]);\n const onBlur = useCallback(() => {\n if (apiRef.current) {\n apiRef.current.requestHide({\n isImmediate: false\n });\n }\n }, []);\n const onAnimationFinished = useCallback(transition => {\n // Using lastState here because motion is not picking up the latest value\n if (transition === 'exiting' && lastState.current === 'fade-out' && apiRef.current) {\n // @ts-ignore: refs are writeable\n apiRef.current.finishHideAnimation();\n }\n }, []);\n\n // Doing a cast because typescript is struggling to narrow the type\n const CastTargetContainer = TargetContainer;\n const shouldRenderTooltipContainer = state !== 'hide' && Boolean(content);\n const shouldRenderTooltipChildren = state !== 'hide' && state !== 'fade-out';\n const getReferenceElement = () => {\n var _apiRef$current3;\n if (position === 'mouse' && (_apiRef$current3 = apiRef.current) !== null && _apiRef$current3 !== void 0 && _apiRef$current3.mousePosition) {\n var _apiRef$current4;\n return (_apiRef$current4 = apiRef.current) === null || _apiRef$current4 === void 0 ? void 0 : _apiRef$current4.mousePosition;\n }\n return targetRef.current || undefined;\n };\n const tooltipId = useUniqueId('tooltip', shouldRenderTooltipContainer);\n const tooltipTriggerProps = {\n onMouseOver,\n onMouseOut,\n onMouseMove,\n onMouseDown,\n onClick,\n onFocus,\n onBlur,\n ref: setRef\n };\n\n // Don't set `data-testid` unless it's defined, as it's not in the interface.\n if (testId) {\n // @ts-expect-error - Adding `data-testid` to the TriggerProps interface breaks Buttons.\n tooltipTriggerProps['data-testid'] = `${testId}--container`;\n }\n\n // This useEffect is purely for managing the aria attribute when using the\n // wrapped children approach.\n useEffect(() => {\n // If there is no container element, we should exit early, because that\n // means they are using the render prop API, and that is implemented in a\n // different way. If there is no target element yet or tooltipId, we also\n // shouldn't do anything because there is nothing to operate on or with.\n if (!containerRef.current || !targetRef.current || !tooltipId) {\n return;\n }\n\n // Necessary for TS to know that it has the attribute methods\n const target = targetRef.current;\n if (shouldRenderTooltipContainer) {\n target.setAttribute('aria-describedby', tooltipId);\n } else {\n target.removeAttribute('aria-describedby');\n }\n }, [shouldRenderTooltipContainer, tooltipId]);\n return jsx(React.Fragment, null, typeof children === 'function' ?\n // once we deprecate the wrapped approach, we can put the aria\n // attribute back into the tooltipTriggerProps and make it required\n // instead of optional in `types`\n children({\n ...tooltipTriggerProps,\n 'aria-describedby': tooltipId\n }) : jsx(CastTargetContainer, _extends({}, tooltipTriggerProps, {\n role: \"presentation\"\n }), children), shouldRenderTooltipContainer ? jsx(Portal, {\n zIndex: tooltipZIndex\n }, jsx(Popper, {\n placement: tooltipPosition,\n referenceElement: getReferenceElement(),\n strategy: strategy\n }, ({\n ref,\n style,\n update,\n placement\n }) => {\n // Invert the entrance and exit directions.\n // E.g. a tooltip's position is on the 'right', it should enter from and exit to the 'left'\n // This gives the effect the tooltip is appearing from the target\n const direction = position === 'mouse' ? undefined : invertedDirection[getDirectionFromPlacement(placement)];\n return jsx(ExitingPersistence, {\n appear: true\n }, shouldRenderTooltipChildren && jsx(FadeIn, {\n distance: \"constant\",\n entranceDirection: direction,\n exitDirection: direction,\n onFinish: onAnimationFinished,\n duration: state === 'show-immediate' ? 0 : mediumDurationMs\n }, ({\n className\n }) =>\n // eslint-disable-next-line jsx-a11y/mouse-events-have-key-events\n jsx(Container, {\n ref: ref\n /**\n * \"Tooltip\" classname is a hook used by tests to manipulate\n * and hide tooltips, including in VR snapshots\n **/,\n className: `Tooltip ${className}`,\n style: style,\n truncate: truncate,\n placement: tooltipPosition,\n testId: testId,\n onMouseOut: onMouseOut,\n onMouseOver: onMouseOverTooltip,\n id: tooltipId\n }, typeof content === 'function' ? content({\n update\n }) : content)));\n })) : null);\n}\nTooltip.displayName = 'Tooltip';\nexport default Tooltip;","import { useUIDSeed } from 'react-uid';\nexport default function useUniqueId(prefix, shouldRenderId) {\n const seed = useUIDSeed();\n return shouldRenderId ? `${seed(prefix)}` : undefined;\n}","/** @jsx jsx */\nimport { forwardRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { layers } from '@atlaskit/theme/constants';\nconst VAR_PRIMITIVE_ZINDEX = 'tooltipPrimitiveZindex';\nconst primitiveStyles = css({\n zindex: `var(${VAR_PRIMITIVE_ZINDEX})`,\n cursor: `default`\n});\nconst TooltipPrimitive = /*#__PURE__*/forwardRef(function TooltipPrimitive({\n style,\n className,\n children,\n placement,\n testId,\n onMouseOut,\n onMouseOver,\n id\n}, ref) {\n const styleWithZIndex = {\n ...style,\n [VAR_PRIMITIVE_ZINDEX]: layers.tooltip()\n };\n return jsx(\"div\", {\n ref: ref,\n style: styleWithZIndex,\n \"data-testid\": testId ? `${testId}--wrapper` : undefined\n }, jsx(\"div\", {\n role: \"tooltip\",\n className: className,\n onMouseOut: onMouseOut,\n onMouseOver: onMouseOver,\n css: primitiveStyles,\n \"data-placement\": placement,\n \"data-testid\": testId,\n id: id\n }, children));\n});\nTooltipPrimitive.displayName = 'TooltipPrimitive';\nexport default TooltipPrimitive;","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.size = exports.default = exports.IconWrapper = void 0;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _react = _interopRequireWildcard(require(\"react\"));\n\nvar _styledComponents = _interopRequireDefault(require(\"styled-components\"));\n\nvar _uuid = _interopRequireDefault(require(\"uuid\"));\n\nvar _theme = require(\"@atlaskit/theme\");\n\nvar _constants = require(\"../constants\");\n\nvar getSize = function getSize(props) {\n if (props.size) {\n return \"height: \".concat(_constants.sizes[props.size], \"; width: \").concat(_constants.sizes[props.size], \";\");\n }\n\n return null;\n};\n\nvar IconWrapper = _styledComponents.default.span.withConfig({\n displayName: \"Icon__IconWrapper\",\n componentId: \"dyhwwi-0\"\n})([\"\\n \", \" color: \", \";\\n display: inline-block;\\n fill: \", \";\\n flex-shrink: 0;\\n line-height: 1;\\n\\n > svg {\\n \", \" max-height: 100%;\\n max-width: 100%;\\n overflow: hidden;\\n pointer-events: none;\\n vertical-align: bottom;\\n }\\n /* Stop-color doesn't properly apply in chrome when the inherited/current color changes.\\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\\n * rule) and then override it with currentColor for the color changes to be picked up.\\n */\\n stop {\\n stop-color: currentColor;\\n }\\n\"], getSize, function (p) {\n return p.primaryColor || 'currentColor';\n}, function (p) {\n return p.secondaryColor || _theme.colors.background;\n}, getSize);\n\nexports.IconWrapper = IconWrapper;\n\nvar Icon =\n/*#__PURE__*/\nfunction (_Component) {\n (0, _inherits2.default)(Icon, _Component);\n\n function Icon() {\n (0, _classCallCheck2.default)(this, Icon);\n return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Icon).apply(this, arguments));\n }\n\n (0, _createClass2.default)(Icon, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n Glyph = _this$props.glyph,\n dangerouslySetGlyph = _this$props.dangerouslySetGlyph,\n primaryColor = _this$props.primaryColor,\n secondaryColor = _this$props.secondaryColor,\n size = _this$props.size; // handling the glyphs as strings\n\n if (dangerouslySetGlyph) {\n return _react.default.createElement(IconWrapper, {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n size: size,\n \"aria-label\": this.props.label,\n dangerouslySetInnerHTML: {\n __html: Icon.insertDynamicGradientID(dangerouslySetGlyph)\n }\n });\n } // handling the glyphs when passed through as functions\n\n\n return _react.default.createElement(IconWrapper, {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n size: size,\n \"aria-label\": this.props.label\n }, Glyph ? _react.default.createElement(Glyph, {\n role: \"presentation\"\n }) : null);\n }\n }], [{\n key: \"insertDynamicGradientID\",\n\n /* Icons need unique gradient IDs across instances for different gradient definitions to work\n * correctly.\n * A step in the icon build process replaces linear gradient IDs and their references in paths\n * to a placeholder string so we can replace them with a dynamic ID here.\n * Replacing the original IDs with placeholders in the build process is more robust than not\n * using placeholders as we do not have to rely on regular expressions to find specific element\n * to replace.\n */\n value: function insertDynamicGradientID(svgStr) {\n var id = (0, _uuid.default)();\n var replacedSvgStr = svgStr.replace(/id=\"([^\"]+)-idPlaceholder\"/g, \"id=$1-\".concat(id)).replace(/fill=\"url\\(#([^\"]+)-idPlaceholder\\)\"/g, \"fill=\\\"url(#$1-\".concat(id, \")\\\"\"));\n return replacedSvgStr;\n }\n }]);\n return Icon;\n}(_react.Component);\n\nexports.default = Icon;\nvar size = Object.keys(_constants.sizes).reduce(function (p, c) {\n return Object.assign(p, (0, _defineProperty2.default)({}, c, c));\n}, {});\nexports.size = size;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sizes = void 0;\nvar sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px'\n};\nexports.sizes = sizes;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronDownIcon = function ChevronDownIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nChevronDownIcon.displayName = 'ChevronDownIcon';\nvar _default = ChevronDownIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronLeftLargeIcon = function ChevronLeftLargeIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nChevronLeftLargeIcon.displayName = 'ChevronLeftLargeIcon';\nvar _default = ChevronLeftLargeIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar ChevronUpIcon = function ChevronUpIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nChevronUpIcon.displayName = 'ChevronUpIcon';\nvar _default = ChevronUpIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Icon = _interopRequireDefault(require(\"../cjs/components/Icon\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nvar CrossIcon = function CrossIcon(props) {\n return _react.default.createElement(_Icon.default, _extends({\n dangerouslySetGlyph: \"\"\n }, props));\n};\n\nCrossIcon.displayName = 'CrossIcon';\nvar _default = CrossIcon;\nexports.default = _default;","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { css } from 'styled-components';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const FLATTENED = '__FLATTENED__';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\nexport const borderRadius = () => 3;\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\nexport const focusRing = (color = B100, outlineWidth = gridSize() / 4) => `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n dialog: () => 300,\n navigation: () => 200,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800,\n};\nexport const visuallyHidden = () => ({\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important',\n});\n/**\n * Deprecated Styled Components mixin.\n * Use visuallyHidden instead.\n * @deprecated\n */\nexport const assistive = () => css `\n border: 0 !important;\n clip: rect(1px, 1px, 1px, 1px) !important;\n height: 1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important;\n white-space: nowrap !important;\n`;\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: skeletonColor(),\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate',\n },\n keyframes: {\n from: {\n backgroundColor: skeletonColor(),\n },\n to: {\n backgroundColor: N30A,\n },\n },\n});\n//# sourceMappingURL=constants.js.map","import * as colors from './colors';\n// Jira Portfolio\nexport const colorPalette8 = [\n { background: colors.N800, text: colors.N0 },\n { background: colors.R400, text: colors.N0 },\n { background: colors.P400, text: colors.P50 },\n { background: colors.B400, text: colors.B75 },\n { background: colors.T300, text: colors.N800 },\n { background: colors.G400, text: colors.N0 },\n { background: colors.Y400, text: colors.N800 },\n { background: colors.N70, text: colors.N800 },\n];\nexport const colorPalette16 = [\n ...colorPalette8,\n { background: colors.N500, text: colors.N0 },\n { background: colors.R100, text: colors.N800 },\n { background: colors.P75, text: colors.N800 },\n { background: colors.B100, text: colors.N800 },\n { background: colors.T100, text: colors.N800 },\n { background: colors.G100, text: colors.G500 },\n { background: colors.Y200, text: colors.N800 },\n { background: colors.N0, text: colors.N800 },\n];\nexport const colorPalette24 = [\n ...colorPalette16,\n { background: colors.N100, text: colors.N0 },\n { background: colors.N40, text: colors.N800 },\n { background: colors.N50, text: colors.R500 },\n { background: colors.P50, text: colors.P500 },\n { background: colors.B50, text: colors.B500 },\n { background: colors.T75, text: colors.N800 },\n { background: colors.G50, text: colors.G500 },\n { background: colors.Y75, text: colors.N800 },\n];\nexport const colorPalette = (palette = '8') => {\n switch (palette) {\n case '8':\n return colorPalette8;\n case '16':\n return colorPalette16;\n case '24':\n return colorPalette24;\n default:\n throw new Error('The only available color palette is 8, 16, 24');\n }\n};\n//# sourceMappingURL=color-palettes.js.map","import * as colors from './colors';\nimport themed from './utils/themed';\n// Cards on a board\nexport const e100 = themed({\n light: `box-shadow: 0 1px 1px ${colors.N50A}, 0 0 1px 0 ${colors.N60A};`,\n dark: `box-shadow: 0 1px 1px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Inline dialogs\nexport const e200 = themed({\n light: `box-shadow: 0 4px 8px -2px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 4px 8px -2px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Modals\nexport const e300 = themed({\n light: `box-shadow: 0 8px 16px -4px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 8px 16px -4px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Panels\nexport const e400 = themed({\n light: `box-shadow: 0 12px 24px -6px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 12px 24px -6px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Flag messages (notifications)\nexport const e500 = themed({\n light: `box-shadow: 0 20px 32px -8px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 20px 32px -8px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n//# sourceMappingURL=elevation.js.map","import { css } from 'styled-components';\nimport * as colors from './colors';\nimport { gridSize, fontSize } from './constants';\nconst baseHeading = (size, lineHeight) => `\n font-size: ${size / fontSize()}em;\n font-style: inherit;\n line-height: ${lineHeight / size};\n`;\nexport const headingSizes = {\n h900: {\n size: 35,\n lineHeight: 40,\n },\n h800: {\n size: 29,\n lineHeight: 32,\n },\n h700: {\n size: 24,\n lineHeight: 28,\n },\n h600: {\n size: 20,\n lineHeight: 24,\n },\n h500: {\n size: 16,\n lineHeight: 20,\n },\n h400: {\n size: 14,\n lineHeight: 16,\n },\n h300: {\n size: 12,\n lineHeight: 16,\n },\n h200: {\n size: 12,\n lineHeight: 16,\n },\n h100: {\n size: 11,\n lineHeight: 16,\n },\n};\nexport const h900 = () => css `\n ${baseHeading(headingSizes.h900.size, headingSizes.h900.lineHeight)}\n color: ${colors.heading};\n font-weight: 500;\n letter-spacing: -0.01em;\n margin-top: ${gridSize() * 6.5}px;\n`;\nexport const h800 = () => css `\n ${baseHeading(headingSizes.h800.size, headingSizes.h800.lineHeight)}\n color: ${colors.heading};\n font-weight: 600;\n letter-spacing: -0.01em;\n margin-top: ${gridSize() * 5}px;\n`;\nexport const h700 = () => css `\n ${baseHeading(headingSizes.h700.size, headingSizes.h700.lineHeight)}\n color: ${colors.heading};\n font-weight: 500;\n letter-spacing: -0.01em;\n margin-top: ${gridSize() * 5}px;\n`;\nexport const h600 = () => css `\n ${baseHeading(headingSizes.h600.size, headingSizes.h600.lineHeight)}\n color: ${colors.heading};\n font-weight: 500;\n letter-spacing: -0.008em;\n margin-top: ${gridSize() * 3.5}px;\n`;\nexport const h500 = () => css `\n ${baseHeading(headingSizes.h500.size, headingSizes.h500.lineHeight)}\n color: ${colors.heading};\n font-weight: 600;\n letter-spacing: -0.006em;\n margin-top: ${gridSize() * 3}px;\n`;\nexport const h400 = () => css `\n ${baseHeading(headingSizes.h400.size, headingSizes.h400.lineHeight)}\n color: ${colors.heading};\n font-weight: 600;\n letter-spacing: -0.003em;\n margin-top: ${gridSize() * 2}px;\n`;\nexport const h300 = () => css `\n ${baseHeading(headingSizes.h300.size, headingSizes.h300.lineHeight)}\n color: ${colors.heading};\n font-weight: 600;\n margin-top: ${gridSize() * 2.5}px;\n text-transform: uppercase;\n`;\nexport const h200 = () => css `\n ${baseHeading(headingSizes.h200.size, headingSizes.h200.lineHeight)}\n color: ${colors.subtleHeading};\n font-weight: 600;\n margin-top: ${gridSize() * 2}px;\n`;\nexport const h100 = () => css `\n ${baseHeading(headingSizes.h100.size, headingSizes.h100.lineHeight)}\n color: ${colors.subtleHeading};\n font-weight: 700;\n margin-top: ${gridSize() * 2}px;\n`;\n//# sourceMappingURL=typography.js.map","// If a generic is used here, props can be inferred never and passed up (even with defaults)\nexport function add(fn, addend) {\n return (props) => fn(props) + addend;\n}\nexport function subtract(fn, subtrahend) {\n return (props) => fn(props) - subtrahend;\n}\nexport function multiply(fn, factor) {\n return (props) => fn(props) * factor;\n}\nexport function divide(fn, divisor) {\n return (props) => fn(props) / divisor;\n}\n//# sourceMappingURL=math.js.map","import React, { createContext, useContext, useCallback, } from 'react';\n/*\ncreateTheme is used to create a set of Providers and Consumers for theming components.\n- Takes a default theme function; this theme function gets a set of props, and returns tokens\n based on those props. An example of this default theme function is one that produces the standard\n appearance of the component\n- Returns two things - a Provider that allow for additional themes to be applied, and a Consumer\n that can get the current theme and fetch it.\n*/\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n /* Internally, Theme uses React Context, with internal providers and consumers.\n The React Context passes only a function that gets props, and turns them into tokens. This\n function gets mixed as more Providers with their own themes are added. This mixed function\n is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n the theme. */\n const ThemeContext = createContext(defaultGetTokens);\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const { children, ...themeProps } = props;\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = themeFn(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return React.createElement(React.Fragment, null, children(tokens));\n }\n /* The Theme Provider takes regular nodes as its child, but also takes a *theme function*\n - The theme function takes a set of props, as well as a function (getTokens) that can\n turn props into tokens.\n - The getTokens function isn't called immediately - instead the props are passed\n through a mix of parent theming functions\n Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback((themeProps) => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return (React.createElement(ThemeContext.Provider, { value: mixedFn }, props.children));\n }\n return { Consumer, Provider };\n}\n//# sourceMappingURL=createTheme.js.map","import { createTheme } from '../utils/createTheme';\n// Create default global light theme\nexport default createTheme(() => ({\n mode: 'light',\n}));\n//# sourceMappingURL=Theme.js.map","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { ThemeProvider } from 'styled-components';\nimport exenv from 'exenv';\nimport * as colors from '../colors';\nimport { CHANNEL, DEFAULT_THEME_MODE } from '../constants';\n// For forward-compat until everything is upgraded.\nimport Theme from './Theme';\nfunction getStylesheetResetCSS(state) {\n const backgroundColor = colors.background(state);\n return `\n body { background: ${backgroundColor}; }\n `;\n}\nfunction buildThemeState(mode) {\n return { theme: { [CHANNEL]: { mode } } };\n}\nconst LegacyReset = styled.div `\n background-color: ${colors.background};\n color: ${colors.text};\n\n a {\n color: ${colors.link};\n }\n a:hover {\n color: ${colors.linkHover};\n }\n a:active {\n color: ${colors.linkActive};\n }\n a:focus {\n outline-color: ${colors.linkOutline};\n }\n h1 {\n color: ${colors.heading};\n }\n h2 {\n color: ${colors.heading};\n }\n h3 {\n color: ${colors.heading};\n }\n h4 {\n color: ${colors.heading};\n }\n h5 {\n color: ${colors.heading};\n }\n h6 {\n color: ${colors.subtleHeading};\n }\n small {\n color: ${colors.subtleText};\n }\n`;\nexport default class AtlaskitThemeProvider extends Component {\n constructor(props) {\n super(props);\n /**\n * This function never changes its reference because it accesses\n * `this` in the function call - thereby sidestepping the need for\n * creating a new reference everytime theme state changes.\n * NOTE: When moving to hooks watch out for this regressing.\n */\n this.getThemeMode = () => ({ mode: this.state.theme[CHANNEL].mode });\n this.state = buildThemeState(props.mode);\n }\n getChildContext() {\n return { hasAtlaskitThemeProvider: true };\n }\n UNSAFE_componentWillMount() {\n if (!this.context.hasAtlaskitThemeProvider && exenv.canUseDOM) {\n const css = getStylesheetResetCSS(this.state);\n this.stylesheet = document.createElement('style');\n this.stylesheet.type = 'text/css';\n this.stylesheet.innerHTML = css;\n if (document && document.head) {\n document.head.appendChild(this.stylesheet);\n }\n }\n }\n UNSAFE_componentWillReceiveProps(newProps) {\n if (newProps.mode !== this.props.mode) {\n const newThemeState = buildThemeState(newProps.mode);\n if (this.stylesheet) {\n const css = getStylesheetResetCSS(newThemeState);\n this.stylesheet.innerHTML = css;\n }\n this.setState(newThemeState);\n }\n }\n componentWillUnmount() {\n if (this.stylesheet && document && document.head) {\n document.head.removeChild(this.stylesheet);\n delete this.stylesheet;\n }\n }\n render() {\n const { children } = this.props;\n const { theme } = this.state;\n return (\n /* Wrapping the new provider around the old one provides forward\n compatibility when using the old provider for styled components. This\n allows us to use components converted to use the new API with consumers\n using the old provider along side components that may still be using the\n old theming API. */\n React.createElement(Theme.Provider, { value: this.getThemeMode },\n React.createElement(ThemeProvider, { theme: theme },\n React.createElement(LegacyReset, null, children))));\n }\n}\nAtlaskitThemeProvider.defaultProps = {\n mode: DEFAULT_THEME_MODE,\n};\nAtlaskitThemeProvider.childContextTypes = {\n hasAtlaskitThemeProvider: PropTypes.bool,\n};\nAtlaskitThemeProvider.contextTypes = {\n hasAtlaskitThemeProvider: PropTypes.bool,\n};\n//# sourceMappingURL=AtlaskitThemeProvider.js.map","export default ({ children, props, theme }) => {\n const appearance = typeof props === 'object' ? 'default' : props;\n const merged = typeof props === 'object' ? { ...props } : {};\n Object.keys(theme).forEach(key => {\n if (!(key in merged)) {\n merged[key] = theme[key]({ appearance });\n }\n });\n return children(merged);\n};\n//# sourceMappingURL=Appearance.js.map","import React from 'react';\nimport styled, { css } from 'styled-components';\nimport * as colors from '../colors';\nimport { createTheme } from '../utils/createTheme';\nconst orTextColor = (preferred) => (p) => p[preferred] || p.textColor;\nconst Div = styled.div `\n ${(p) => css `\n background-color: ${p.backgroundColor};\n color: ${p.textColor};\n\n a {\n color: ${orTextColor('linkColor')};\n }\n a:hover {\n color: ${orTextColor('linkColorHover')};\n }\n a:active {\n color: ${orTextColor('linkColorActive')};\n }\n a:focus {\n outline-color: ${orTextColor('linkColorOutline')};\n }\n h1,\n h2,\n h3,\n h4,\n h5 {\n color: ${orTextColor('headingColor')};\n }\n h6 {\n color: ${orTextColor('subtleHeadingColor')};\n }\n small {\n color: ${orTextColor('subtleTextColor')};\n }\n `};\n`;\nexport const ResetTheme = createTheme(() => ({\n backgroundColor: colors.N0,\n linkColor: colors.B400,\n linkColorHover: colors.B300,\n linkColorActive: colors.B500,\n linkColorOutline: colors.B100,\n headingColor: colors.N800,\n subtleHeadingColor: colors.N200,\n subtleTextColor: colors.N200,\n textColor: colors.N900,\n}));\nexport function Reset(props) {\n return (React.createElement(ResetTheme.Provider, { value: props.theme },\n React.createElement(ResetTheme.Consumer, null, (tokens) => {\n return (React.createElement(Div, Object.assign({}, { ...tokens, mode: undefined }, props), props.children));\n })));\n}\n//# sourceMappingURL=Reset.js.map","import React from 'react';\nimport Theme from './components/Theme';\n// Pre-executes the (global) theme and passes it as a prop to the supplied component.\n// This is useful for ensuring that the current theme is accessible as props\n// in styled-components.\nexport function withTheme(InnerComponent) {\n return function ComponentWithTheme(props) {\n return (React.createElement(Theme.Consumer, null, (tokens) => (React.createElement(InnerComponent, Object.assign({}, props, { theme: tokens })))));\n };\n}\n//# sourceMappingURL=hoc.js.map","import * as colors from './colors';\nimport * as colorPalettes from './color-palettes';\nimport * as elevation from './elevation';\nimport * as typography from './typography';\nimport * as math from './utils/math';\nimport getTheme from './utils/getTheme';\nimport themed from './utils/themed';\nimport AtlaskitThemeProvider from './components/AtlaskitThemeProvider';\nexport { colors, colorPalettes, elevation, typography, math, getTheme, themed, AtlaskitThemeProvider, };\nexport { default as Appearance } from './components/Appearance';\n// backwards-compatible export with old Atlaskit case\nexport const AtlasKitThemeProvider = AtlaskitThemeProvider;\nexport * from './constants';\n// New API\nexport * from './components/Reset';\nexport { default } from './components/Theme';\nexport * from './hoc';\nexport * from './utils/createTheme';\n//# sourceMappingURL=index.js.map","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","'use strict';\n\nconst UPPERCASE = /[\\p{Lu}]/u;\nconst LOWERCASE = /[\\p{Ll}]/u;\nconst LEADING_CAPITAL = /^[\\p{Lu}](?![\\p{Lu}])/gu;\nconst IDENTIFIER = /([\\p{Alpha}\\p{N}_]|$)/u;\nconst SEPARATORS = /[_.\\- ]+/;\n\nconst LEADING_SEPARATORS = new RegExp('^' + SEPARATORS.source);\nconst SEPARATORS_AND_IDENTIFIER = new RegExp(SEPARATORS.source + IDENTIFIER.source, 'gu');\nconst NUMBERS_AND_IDENTIFIER = new RegExp('\\\\d+' + IDENTIFIER.source, 'gu');\n\nconst preserveCamelCase = (string, toLowerCase, toUpperCase) => {\n\tlet isLastCharLower = false;\n\tlet isLastCharUpper = false;\n\tlet isLastLastCharUpper = false;\n\n\tfor (let i = 0; i < string.length; i++) {\n\t\tconst character = string[i];\n\n\t\tif (isLastCharLower && UPPERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i) + '-' + string.slice(i);\n\t\t\tisLastCharLower = false;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = true;\n\t\t\ti++;\n\t\t} else if (isLastCharUpper && isLastLastCharUpper && LOWERCASE.test(character)) {\n\t\t\tstring = string.slice(0, i - 1) + '-' + string.slice(i - 1);\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = false;\n\t\t\tisLastCharLower = true;\n\t\t} else {\n\t\t\tisLastCharLower = toLowerCase(character) === character && toUpperCase(character) !== character;\n\t\t\tisLastLastCharUpper = isLastCharUpper;\n\t\t\tisLastCharUpper = toUpperCase(character) === character && toLowerCase(character) !== character;\n\t\t}\n\t}\n\n\treturn string;\n};\n\nconst preserveConsecutiveUppercase = (input, toLowerCase) => {\n\tLEADING_CAPITAL.lastIndex = 0;\n\n\treturn input.replace(LEADING_CAPITAL, m1 => toLowerCase(m1));\n};\n\nconst postProcess = (input, toUpperCase) => {\n\tSEPARATORS_AND_IDENTIFIER.lastIndex = 0;\n\tNUMBERS_AND_IDENTIFIER.lastIndex = 0;\n\n\treturn input.replace(SEPARATORS_AND_IDENTIFIER, (_, identifier) => toUpperCase(identifier))\n\t\t.replace(NUMBERS_AND_IDENTIFIER, m => toUpperCase(m));\n};\n\nconst camelCase = (input, options) => {\n\tif (!(typeof input === 'string' || Array.isArray(input))) {\n\t\tthrow new TypeError('Expected the input to be `string | string[]`');\n\t}\n\n\toptions = {\n\t\tpascalCase: false,\n\t\tpreserveConsecutiveUppercase: false,\n\t\t...options\n\t};\n\n\tif (Array.isArray(input)) {\n\t\tinput = input.map(x => x.trim())\n\t\t\t.filter(x => x.length)\n\t\t\t.join('-');\n\t} else {\n\t\tinput = input.trim();\n\t}\n\n\tif (input.length === 0) {\n\t\treturn '';\n\t}\n\n\tconst toLowerCase = options.locale === false ?\n\t\tstring => string.toLowerCase() :\n\t\tstring => string.toLocaleLowerCase(options.locale);\n\tconst toUpperCase = options.locale === false ?\n\t\tstring => string.toUpperCase() :\n\t\tstring => string.toLocaleUpperCase(options.locale);\n\n\tif (input.length === 1) {\n\t\treturn options.pascalCase ? toUpperCase(input) : toLowerCase(input);\n\t}\n\n\tconst hasUpperCase = input !== toLowerCase(input);\n\n\tif (hasUpperCase) {\n\t\tinput = preserveCamelCase(input, toLowerCase, toUpperCase);\n\t}\n\n\tinput = input.replace(LEADING_SEPARATORS, '');\n\n\tif (options.preserveConsecutiveUppercase) {\n\t\tinput = preserveConsecutiveUppercase(input, toLowerCase);\n\t} else {\n\t\tinput = toLowerCase(input);\n\t}\n\n\tif (options.pascalCase) {\n\t\tinput = toUpperCase(input.charAt(0)) + input.slice(1);\n\t}\n\n\treturn postProcess(input, toUpperCase);\n};\n\nmodule.exports = camelCase;\n// TODO: Remove this for the next major release\nmodule.exports.default = camelCase;\n","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","const themedBackground = {\n light: \"var(--ds-surface, #FFFFFF)\",\n dark: \"var(--ds-surface, #1B2638)\"\n};\n\n/**\n * Returns the background color depending on the passed through mode.\n * @param mode\n */\nexport const getBackground = (mode = 'light') => themedBackground[mode];","export const sizes = {\n small: '16px',\n medium: '24px',\n large: '32px',\n xlarge: '48px'\n};\nexport const sizeMap = {\n small: 'small',\n medium: 'medium',\n large: 'large',\n xlarge: 'xlarge'\n};\nexport const dimensions = {\n small: {\n width: sizes.small,\n height: sizes.small\n },\n medium: {\n width: sizes.medium,\n height: sizes.medium\n },\n large: {\n width: sizes.large,\n height: sizes.large\n },\n xlarge: {\n width: sizes.xlarge,\n height: sizes.xlarge\n }\n};","import { dimensions } from '../constants';\nimport { css } from '@emotion/react';\nexport const commonSVGStyles = {\n overflow: 'hidden',\n pointerEvents: 'none',\n /**\n * Stop-color doesn't properly apply in chrome when the inherited/current color changes.\n * We have to initially set stop-color to inherit (either via DOM attribute or an initial CSS\n * rule) and then override it with currentColor for the color changes to be picked up.\n */\n stop: {\n stopColor: 'currentColor'\n }\n};\nconst smallStyles = css(dimensions.small);\nconst mediumStyles = css(dimensions.medium);\nconst largeStyles = css(dimensions.large);\nconst xlargeStyles = css(dimensions.xlarge);\n\n// pre-built css style-size map\nexport const sizeStyleMap = {\n small: smallStyles,\n medium: mediumStyles,\n large: largeStyles,\n xlarge: xlargeStyles\n};\n\n/**\n * Returns the width of the icon's parent span. This function has\n * special behaviour to deal with icon-file-type specifically.\n *\n * The reality is the SVG still has its own dimensions, so this is\n * a secondary fallback which in 95% of cases is not required.\n * It's only really being kept to maintain backward compatability.\n */\nexport const getIconSize = ({\n width,\n height,\n size\n}) => {\n if (width && height) {\n return {\n width,\n height\n };\n }\n if (size) {\n return dimensions[size];\n }\n return undefined;\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { memo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { getBackground } from './utils';\nimport { commonSVGStyles, getIconSize } from './styles';\n\n/**\n * We are hiding these props from consumers as they're used to\n * hack around icon sizing specifically for icon-file-type.\n */\n\nconst iconStyles = css({\n display: 'inline-block',\n flexShrink: 0,\n lineHeight: 1,\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n ...commonSVGStyles,\n maxWidth: '100%',\n maxHeight: '100%',\n color: 'var(--icon-primary-color)',\n fill: 'var(--icon-secondary-color)',\n verticalAlign: 'bottom'\n }\n});\n/**\n * For windows high contrast mode\n */\nconst baseHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n filter: 'grayscale(1)',\n '--icon-primary-color': 'CanvasText',\n // foreground\n '--icon-secondary-color': 'Canvas' // background\n }\n }\n});\n\nconst primaryEqualsSecondaryHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n // if the primaryColor is the same as the secondaryColor we\n // set the --icon-primary-color to Canvas\n // this is usually to convey state i.e. Checkbox checked -> not checked\n '--icon-primary-color': 'Canvas' // foreground\n }\n }\n});\n\nconst secondaryTransparentHcmStyles = css({\n '@media screen and (forced-colors: active)': {\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n '--icon-secondary-color': 'transparent' // background\n }\n }\n});\n\n/**\n * __Icon__\n *\n * An icon is used as a visual representation of common actions and commands to provide context.\n *\n * - [Examples](https://atlaskit.atlassian.com/packages/design-system/icon)\n * - [Code](https://atlaskit.atlassian.com/packages/design-system/icon/docs/custom-icons)\n */\nexport const Icon = /*#__PURE__*/memo(function Icon(props) {\n const {\n glyph: Glyph,\n dangerouslySetGlyph,\n primaryColor = 'currentColor',\n secondaryColor,\n size,\n testId,\n label,\n width,\n height\n } = props;\n const glyphProps = dangerouslySetGlyph ? {\n dangerouslySetInnerHTML: {\n __html: dangerouslySetGlyph\n }\n } : {\n children: Glyph ? jsx(Glyph, {\n role: \"presentation\"\n }) : null\n };\n const dimensions = getIconSize({\n width,\n height,\n size\n });\n const {\n mode\n } = useGlobalTheme();\n return jsx(\"span\", _extends({\n \"data-testid\": testId,\n role: label ? 'img' : undefined,\n \"aria-label\": label ? label : undefined,\n \"aria-hidden\": label ? undefined : true,\n style: {\n '--icon-primary-color': primaryColor,\n '--icon-secondary-color': secondaryColor || getBackground(mode)\n }\n }, glyphProps, {\n css: [iconStyles, baseHcmStyles, primaryColor === secondaryColor && primaryEqualsSecondaryHcmStyles, secondaryColor === 'transparent' && secondaryTransparentHcmStyles,\n // NB: This can be resolved if this component, composes base SVG / and/or skeleton\n // We could then simplify how common styles are dealt with simply by encapsualting them\n // at their appropriate level and/or having a singular approach to css variables in the package\n dimensions &&\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n css({\n width: dimensions.width,\n height: dimensions.height,\n '> svg': dimensions\n })]\n }));\n});\nexport default Icon;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst AddIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nAddIcon.displayName = 'AddIcon';\nvar _default = AddIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst AppSwitcherIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nAppSwitcherIcon.displayName = 'AppSwitcherIcon';\nvar _default = AppSwitcherIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CheckCircleOutlineIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nCheckCircleOutlineIcon.displayName = 'CheckCircleOutlineIcon';\nvar _default = CheckCircleOutlineIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CheckCircleIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nCheckCircleIcon.displayName = 'CheckCircleIcon';\nvar _default = CheckCircleIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CrossCircleIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nCrossCircleIcon.displayName = 'CrossCircleIcon';\nvar _default = CrossCircleIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst CrossIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nCrossIcon.displayName = 'CrossIcon';\nvar _default = CrossIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst EditorPanelIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nEditorPanelIcon.displayName = 'EditorPanelIcon';\nvar _default = EditorPanelIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst EmailIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nEmailIcon.displayName = 'EmailIcon';\nvar _default = EmailIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst InfoIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nInfoIcon.displayName = 'InfoIcon';\nvar _default = InfoIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst RefreshIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nRefreshIcon.displayName = 'RefreshIcon';\nvar _default = RefreshIcon;\nexports.default = _default;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _base = require(\"@atlaskit/icon/base\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst WarningIcon = props => /*#__PURE__*/_react.default.createElement(_base.Icon, Object.assign({\n dangerouslySetGlyph: ``\n}, props));\n\nWarningIcon.displayName = 'WarningIcon';\nvar _default = WarningIcon;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _addClass = _interopRequireDefault(require(\"dom-helpers/class/addClass\"));\n\nvar _removeClass = _interopRequireDefault(require(\"dom-helpers/class/removeClass\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _addClass.default)(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return (0, _removeClass.default)(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](http://www.nganimate.org/) library, you should use it if you're\n * using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n *
\n * {\"I'll receive my-node-* classes\"}\n *
\n *
\n * \n *
\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity: 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**.\n */\n\n\nvar CSSTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n\n _this.onEnter = function (node, appearing) {\n var _this$getClassNames = _this.getClassNames(appearing ? 'appear' : 'enter'),\n className = _this$getClassNames.className;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, className);\n\n if (_this.props.onEnter) {\n _this.props.onEnter(node, appearing);\n }\n };\n\n _this.onEntering = function (node, appearing) {\n var _this$getClassNames2 = _this.getClassNames(appearing ? 'appear' : 'enter'),\n activeClassName = _this$getClassNames2.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onEntering) {\n _this.props.onEntering(node, appearing);\n }\n };\n\n _this.onEntered = function (node, appearing) {\n var appearClassName = _this.getClassNames('appear').doneClassName;\n\n var enterClassName = _this.getClassNames('enter').doneClassName;\n\n var doneClassName = appearing ? appearClassName + \" \" + enterClassName : enterClassName;\n\n _this.removeClasses(node, appearing ? 'appear' : 'enter');\n\n addClass(node, doneClassName);\n\n if (_this.props.onEntered) {\n _this.props.onEntered(node, appearing);\n }\n };\n\n _this.onExit = function (node) {\n var _this$getClassNames3 = _this.getClassNames('exit'),\n className = _this$getClassNames3.className;\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n addClass(node, className);\n\n if (_this.props.onExit) {\n _this.props.onExit(node);\n }\n };\n\n _this.onExiting = function (node) {\n var _this$getClassNames4 = _this.getClassNames('exit'),\n activeClassName = _this$getClassNames4.activeClassName;\n\n _this.reflowAndAddClass(node, activeClassName);\n\n if (_this.props.onExiting) {\n _this.props.onExiting(node);\n }\n };\n\n _this.onExited = function (node) {\n var _this$getClassNames5 = _this.getClassNames('exit'),\n doneClassName = _this$getClassNames5.doneClassName;\n\n _this.removeClasses(node, 'exit');\n\n addClass(node, doneClassName);\n\n if (_this.props.onExited) {\n _this.props.onExited(node);\n }\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + '-' : '';\n var className = isStringClassNames ? prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? className + '-active' : classNames[type + 'Active'];\n var doneClassName = isStringClassNames ? className + '-done' : classNames[type + 'Done'];\n return {\n className: className,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$getClassNames6 = this.getClassNames(type),\n className = _this$getClassNames6.className,\n activeClassName = _this$getClassNames6.activeClassName,\n doneClassName = _this$getClassNames6.doneClassName;\n\n className && removeClass(node, className);\n activeClassName && removeClass(node, activeClassName);\n doneClassName && removeClass(node, doneClassName);\n };\n\n _proto.reflowAndAddClass = function reflowAndAddClass(node, className) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n if (className) {\n /* eslint-disable no-unused-expressions */\n node && node.scrollTop;\n /* eslint-enable no-unused-expressions */\n\n addClass(node, className);\n }\n };\n\n _proto.render = function render() {\n var props = _extends({}, this.props);\n\n delete props.classNames;\n return _react.default.createElement(_Transition.default, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(_react.default.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, _Transition.default.propTypes, {\n /**\n * The animation classNames applied to the component as it enters, exits or\n * has finished the transition. A single name can be provided and it will be\n * suffixed for each stage: e.g.\n *\n * `classNames=\"fade\"` applies `fade-enter`, `fade-enter-active`,\n * `fade-enter-done`, `fade-exit`, `fade-exit-active`, `fade-exit-done`,\n * `fade-appear`, `fade-appear-active`, and `fade-appear-done`.\n *\n * **Note**: `fade-appear-done` and `fade-enter-done` will _both_ be applied.\n * This allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply an\n * epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: _PropTypes.classNamesShape,\n\n /**\n * A `` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' class is\n * applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit-active' is applied.\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nvar _default = CSSTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = require(\"react-dom\");\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\n/**\n * The `` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * \n *
I appear first
\n *
I replace the above
\n *
\n * ```\n */\nvar ReplaceTransition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n\n var child = _react.default.Children.toArray(children)[idx];\n\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n if (this.props[handler]) this.props[handler]((0, _reactDom.findDOMNode)(this));\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = _react.default.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return _react.default.createElement(_TransitionGroup.default, props, inProp ? _react.default.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : _react.default.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(_react.default.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: _propTypes.default.bool.isRequired,\n children: function children(props, propName) {\n if (_react.default.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nvar _default = ReplaceTransition;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _ChildMapping = require(\"./utils/ChildMapping\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n /**\n * The `` component manages a set of transition components\n * (`` and ``) in a list. Like with the transition\n * components, `` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the ``.\n *\n * Note that `` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\n};\n\nvar TransitionGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this))); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: {\n isMounting: !this.appeared\n }\n };\n };\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n this.mounted = true;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? (0, _ChildMapping.getInitialChildMapping)(nextProps, handleExited) : (0, _ChildMapping.getNextChildMapping)(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n };\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return children;\n }\n\n return _react.default.createElement(Component, props, children);\n };\n\n return TransitionGroup;\n}(_react.default.Component);\n\nTransitionGroup.childContextTypes = {\n transitionGroup: _propTypes.default.object.isRequired\n};\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `` renders a `
` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `
` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: _propTypes.default.any,\n\n /**\n * A set of `` components, that are toggled `in` and out as they\n * leave. the `` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `` as\n * with our `` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: _propTypes.default.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: _propTypes.default.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: _propTypes.default.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: _propTypes.default.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _CSSTransition = _interopRequireDefault(require(\"./CSSTransition\"));\n\nvar _ReplaceTransition = _interopRequireDefault(require(\"./ReplaceTransition\"));\n\nvar _TransitionGroup = _interopRequireDefault(require(\"./TransitionGroup\"));\n\nvar _Transition = _interopRequireDefault(require(\"./Transition\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n Transition: _Transition.default,\n TransitionGroup: _TransitionGroup.default,\n ReplaceTransition: _ReplaceTransition.default,\n CSSTransition: _CSSTransition.default\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\nexports.getInitialChildMapping = getInitialChildMapping;\nexports.getNextChildMapping = getNextChildMapping;\n\nvar _react = require(\"react\");\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && (0, _react.isValidElement)(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) _react.Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\n\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nfunction getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\n\nfunction getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!(0, _react.isValidElement)(child)) return;\n var hasPrev = key in prevChildMapping;\n var hasNext = key in nextChildMapping;\n var prevChild = prevChildMapping[key];\n var isLeaving = (0, _react.isValidElement)(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = (0, _react.cloneElement)(child, {\n in: false\n });\n } else if (hasNext && hasPrev && (0, _react.isValidElement)(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = (0, _react.cloneElement)(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(attr|calc|counters?|url)\\(/;\n var contentValues = ['normal', 'none', 'counter', 'open-quote', 'close-quote', 'no-open-quote', 'no-close-quote', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n console.error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar shouldWarnAboutInterpolatingClassNameFromCss = true;\n\nfunction handleInterpolation(mergedProps, registered, interpolation, couldBeSelectorInterpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result, couldBeSelectorInterpolation);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n\n if (process.env.NODE_ENV !== 'production' && couldBeSelectorInterpolation && shouldWarnAboutInterpolatingClassNameFromCss && cached !== undefined) {\n console.error('Interpolating a className from css`` is not recommended and will cause problems with composition.\\n' + 'Interpolating a className from css`` will be completely unsupported in a future major version of Emotion');\n shouldWarnAboutInterpolatingClassNameFromCss = false;\n }\n\n return cached !== undefined && !couldBeSelectorInterpolation ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i], false);\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error('Component selectors can only be used in conjunction with babel-plugin-emotion.');\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value, false);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*;/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings, false);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i], styles.charCodeAt(styles.length - 1) === 46);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { createElement, Fragment } from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/core';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme' && key !== 'innerRef';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Noop = function Noop() {\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var identifierName;\n var shouldForwardProp;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n shouldForwardProp = tag.__emotion_forwardProp && options.shouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && // $FlowFixMe\n options.shouldForwardProp(propName);\n } : options.shouldForwardProp;\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, context, ref) {\n return /*#__PURE__*/createElement(ThemeContext.Consumer, null, function (theme) {\n var finalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = theme;\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(context.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), context.registered, mergedProps);\n var rules = insertStyles(context, serialized, typeof finalTag === 'string');\n className += context.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(finalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref || props.innerRef;\n\n if (process.env.NODE_ENV !== 'production' && props.innerRef) {\n console.error('`innerRef` is deprecated and will be removed in a future major version of Emotion, please use the `ref` prop instead' + (identifierName === undefined ? '' : \" in the usage of `\" + identifierName + \"`\"));\n }\n\n var ele = /*#__PURE__*/createElement(finalTag, newProps);\n var possiblyStyleElement = /*#__PURE__*/createElement(Noop, null);\n\n\n return /*#__PURE__*/createElement(Fragment, null, possiblyStyleElement, ele);\n });\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, nextOptions !== undefined ? _objectSpread({}, options || {}, {}, nextOptions) : options).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport default createStyled;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport { memoize as default };\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport { isPropValid as default };\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport * as React from 'react';\nimport isPropValid from '@emotion/is-prop-valid';\nimport { withEmotionCache, ThemeContext } from '@emotion/react';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar testOmitPropsOnStringTag = isPropValid;\n\nvar testOmitPropsOnComponent = function testOmitPropsOnComponent(key) {\n return key !== 'theme';\n};\n\nvar getDefaultShouldForwardProp = function getDefaultShouldForwardProp(tag) {\n return typeof tag === 'string' && // 96 is one less than the char code\n // for \"a\" so this is checking that\n // it's a lowercase character\n tag.charCodeAt(0) > 96 ? testOmitPropsOnStringTag : testOmitPropsOnComponent;\n};\nvar composeShouldForwardProps = function composeShouldForwardProps(tag, options, isReal) {\n var shouldForwardProp;\n\n if (options) {\n var optionsShouldForwardProp = options.shouldForwardProp;\n shouldForwardProp = tag.__emotion_forwardProp && optionsShouldForwardProp ? function (propName) {\n return tag.__emotion_forwardProp(propName) && optionsShouldForwardProp(propName);\n } : optionsShouldForwardProp;\n }\n\n if (typeof shouldForwardProp !== 'function' && isReal) {\n shouldForwardProp = tag.__emotion_forwardProp;\n }\n\n return shouldForwardProp;\n};\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar createStyled = function createStyled(tag, options) {\n if (process.env.NODE_ENV !== 'production') {\n if (tag === undefined) {\n throw new Error('You are trying to create a styled element with an undefined component.\\nYou may have forgotten to import it.');\n }\n }\n\n var isReal = tag.__emotion_real === tag;\n var baseTag = isReal && tag.__emotion_base || tag;\n var identifierName;\n var targetClassName;\n\n if (options !== undefined) {\n identifierName = options.label;\n targetClassName = options.target;\n }\n\n var shouldForwardProp = composeShouldForwardProps(tag, options, isReal);\n var defaultShouldForwardProp = shouldForwardProp || getDefaultShouldForwardProp(baseTag);\n var shouldUseAs = !defaultShouldForwardProp('as');\n return function () {\n var args = arguments;\n var styles = isReal && tag.__emotion_styles !== undefined ? tag.__emotion_styles.slice(0) : [];\n\n if (identifierName !== undefined) {\n styles.push(\"label:\" + identifierName + \";\");\n }\n\n if (args[0] == null || args[0].raw === undefined) {\n styles.push.apply(styles, args);\n } else {\n if (process.env.NODE_ENV !== 'production' && args[0][0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[0][0]);\n var len = args.length;\n var i = 1;\n\n for (; i < len; i++) {\n if (process.env.NODE_ENV !== 'production' && args[0][i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles.push(args[i], args[0][i]);\n }\n } // $FlowFixMe: we need to cast StatelessFunctionalComponent to our PrivateStyledComponent class\n\n\n var Styled = withEmotionCache(function (props, cache, ref) {\n var FinalTag = shouldUseAs && props.as || baseTag;\n var className = '';\n var classInterpolations = [];\n var mergedProps = props;\n\n if (props.theme == null) {\n mergedProps = {};\n\n for (var key in props) {\n mergedProps[key] = props[key];\n }\n\n mergedProps.theme = React.useContext(ThemeContext);\n }\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, classInterpolations, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);\n className += cache.key + \"-\" + serialized.name;\n\n if (targetClassName !== undefined) {\n className += \" \" + targetClassName;\n }\n\n var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;\n var newProps = {};\n\n for (var _key in props) {\n if (shouldUseAs && _key === 'as') continue;\n\n if ( // $FlowFixMe\n finalShouldForwardProp(_key)) {\n newProps[_key] = props[_key];\n }\n }\n\n newProps.className = className;\n newProps.ref = ref;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof FinalTag === 'string'\n }), /*#__PURE__*/React.createElement(FinalTag, newProps));\n });\n Styled.displayName = identifierName !== undefined ? identifierName : \"Styled(\" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + \")\";\n Styled.defaultProps = tag.defaultProps;\n Styled.__emotion_real = Styled;\n Styled.__emotion_base = baseTag;\n Styled.__emotion_styles = styles;\n Styled.__emotion_forwardProp = shouldForwardProp;\n Object.defineProperty(Styled, 'toString', {\n value: function value() {\n if (targetClassName === undefined && process.env.NODE_ENV !== 'production') {\n return 'NO_COMPONENT_SELECTOR';\n } // $FlowFixMe: coerce undefined to string\n\n\n return \".\" + targetClassName;\n }\n });\n\n Styled.withComponent = function (nextTag, nextOptions) {\n return createStyled(nextTag, _extends({}, options, nextOptions, {\n shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)\n })).apply(void 0, styles);\n };\n\n return Styled;\n };\n};\n\nexport { createStyled as default };\n","import createStyled from '../base/dist/emotion-styled-base.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport 'react';\nimport '@emotion/is-prop-valid';\nimport '@emotion/react';\nimport '@emotion/utils';\nimport '@emotion/serialize';\nimport '@emotion/use-insertion-effect-with-fallbacks';\n\nvar tags = ['a', 'abbr', 'address', 'area', 'article', 'aside', 'audio', 'b', 'base', 'bdi', 'bdo', 'big', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'cite', 'code', 'col', 'colgroup', 'data', 'datalist', 'dd', 'del', 'details', 'dfn', 'dialog', 'div', 'dl', 'dt', 'em', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'iframe', 'img', 'input', 'ins', 'kbd', 'keygen', 'label', 'legend', 'li', 'link', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meta', 'meter', 'nav', 'noscript', 'object', 'ol', 'optgroup', 'option', 'output', 'p', 'param', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'script', 'section', 'select', 'small', 'source', 'span', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'time', 'title', 'tr', 'track', 'u', 'ul', 'var', 'video', 'wbr', // SVG\n'circle', 'clipPath', 'defs', 'ellipse', 'foreignObject', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'svg', 'text', 'tspan'];\n\nvar newStyled = createStyled.bind();\ntags.forEach(function (tagName) {\n // $FlowFixMe: we can ignore this because its exposed type is defined by the CreateStyled type\n newStyled[tagName] = newStyled(tagName);\n});\n\nexport { newStyled as default };\n","function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0)),n}function h(){n(2)}function y(n){return null==n||\"object\"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return\"production\"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b(\"Patches\"),n.u=[],n.s=[],n.v=r)}function g(n){O(n),n.p.forEach(S),n.p=null}function O(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.g=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.O||b(\"ES5\").S(e,r,o),o?(i[Q].P&&(g(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b(\"Patches\").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),g(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o,u=o,a=!1;3===e.i&&(u=new Set(o),o.clear(),a=!0),i(u,(function(r,i){return A(n,e,o,r,i,t,a)})),x(n,o,!1),t&&n.u&&b(\"Patches\").N(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s,v){if(\"production\"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var p=M(e,c,s&&i&&3!==i.i&&!u(i.R,a)?s.concat(a):void 0);if(f(o,a,p),!r(p))return;e.m=!1}else v&&o.add(c);if(t(c)&&!y(c)){if(!e.h.D&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function N(n,r,t){var e=s(r)?b(\"MapSet\").F(r,t):v(r)?b(\"MapSet\").T(r,t):n.O?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,R:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b(\"ES5\").J(r,t);return(t?t.A:_()).p.push(e),e}function R(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b(\"ES5\").K(u)))return u.t;u.I=!0,e=D(r,c),u.I=!1}else e=D(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function D(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function F(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return\"production\"!==process.env.NODE_ENV&&f(r),en.get(r,n)},set:function(r){var t=this[Q];\"production\"!==process.env.NODE_ENV&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),o=1;o1?t-1:0),o=1;o=0;e--){var i=t[e];if(0===i.path.length&&\"replace\"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b(\"Patches\").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);export default fn;export{un as Immer,pn as applyPatches,K as castDraft,$ as castImmutable,ln as createDraft,R as current,J as enableAllPlugins,F as enableES5,C as enableMapSet,T as enablePatches,dn as finishDraft,d as freeze,L as immerable,r as isDraft,t as isDraftable,H as nothing,e as original,fn as produce,cn as produceWithPatches,sn as setAutoFreeze,vn as setUseProxies};\n//# sourceMappingURL=immer.esm.js.map\n","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n};\r\nvar __defProp = Object.defineProperty;\r\nvar __defProps = Object.defineProperties;\r\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\r\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\r\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\r\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\r\nvar __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };\r\nvar __spreadValues = function (a, b) {\r\n for (var prop in b || (b = {}))\r\n if (__hasOwnProp.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n if (__getOwnPropSymbols)\r\n for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) {\r\n var prop = _c[_i];\r\n if (__propIsEnum.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n }\r\n return a;\r\n};\r\nvar __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };\r\nvar __async = function (__this, __arguments, generator) {\r\n return new Promise(function (resolve, reject) {\r\n var fulfilled = function (value) {\r\n try {\r\n step(generator.next(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var rejected = function (value) {\r\n try {\r\n step(generator.throw(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); };\r\n step((generator = generator.apply(__this, __arguments)).next());\r\n });\r\n};\r\n// src/index.ts\r\nimport { enableES5 } from \"immer\";\r\nexport * from \"redux\";\r\nimport { default as default2, current as current2, freeze, original, isDraft as isDraft4 } from \"immer\";\r\nimport { createSelector as createSelector2 } from \"reselect\";\r\n// src/createDraftSafeSelector.ts\r\nimport { current, isDraft } from \"immer\";\r\nimport { createSelector } from \"reselect\";\r\nvar createDraftSafeSelector = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var selector = createSelector.apply(void 0, args);\r\n var wrappedSelector = function (value) {\r\n var rest = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n rest[_i - 1] = arguments[_i];\r\n }\r\n return selector.apply(void 0, __spreadArray([isDraft(value) ? current(value) : value], rest));\r\n };\r\n return wrappedSelector;\r\n};\r\n// src/configureStore.ts\r\nimport { createStore, compose as compose2, applyMiddleware, combineReducers } from \"redux\";\r\n// src/devtoolsExtension.ts\r\nimport { compose } from \"redux\";\r\nvar composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {\r\n if (arguments.length === 0)\r\n return void 0;\r\n if (typeof arguments[0] === \"object\")\r\n return compose;\r\n return compose.apply(null, arguments);\r\n};\r\nvar devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {\r\n return function (noop2) {\r\n return noop2;\r\n };\r\n};\r\n// src/isPlainObject.ts\r\nfunction isPlainObject(value) {\r\n if (typeof value !== \"object\" || value === null)\r\n return false;\r\n var proto = Object.getPrototypeOf(value);\r\n if (proto === null)\r\n return true;\r\n var baseProto = proto;\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto);\r\n }\r\n return proto === baseProto;\r\n}\r\n// src/getDefaultMiddleware.ts\r\nimport thunkMiddleware from \"redux-thunk\";\r\n// src/utils.ts\r\nimport createNextState, { isDraftable } from \"immer\";\r\nfunction getTimeMeasureUtils(maxDelay, fnName) {\r\n var elapsed = 0;\r\n return {\r\n measureTime: function (fn) {\r\n var started = Date.now();\r\n try {\r\n return fn();\r\n }\r\n finally {\r\n var finished = Date.now();\r\n elapsed += finished - started;\r\n }\r\n },\r\n warnIfExceeded: function () {\r\n if (elapsed > maxDelay) {\r\n console.warn(fnName + \" took \" + elapsed + \"ms, which is more than the warning threshold of \" + maxDelay + \"ms. \\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\\nIt is disabled in production builds, so you don't need to worry about that.\");\r\n }\r\n }\r\n };\r\n}\r\nvar MiddlewareArray = /** @class */ (function (_super) {\r\n __extends(MiddlewareArray, _super);\r\n function MiddlewareArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, MiddlewareArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(MiddlewareArray, Symbol.species, {\r\n get: function () {\r\n return MiddlewareArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MiddlewareArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n MiddlewareArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return MiddlewareArray;\r\n}(Array));\r\nvar EnhancerArray = /** @class */ (function (_super) {\r\n __extends(EnhancerArray, _super);\r\n function EnhancerArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, EnhancerArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(EnhancerArray, Symbol.species, {\r\n get: function () {\r\n return EnhancerArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n EnhancerArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n EnhancerArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (EnhancerArray.bind.apply(EnhancerArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return EnhancerArray;\r\n}(Array));\r\nfunction freezeDraftable(val) {\r\n return isDraftable(val) ? createNextState(val, function () {\r\n }) : val;\r\n}\r\n// src/immutableStateInvariantMiddleware.ts\r\nvar isProduction = process.env.NODE_ENV === \"production\";\r\nvar prefix = \"Invariant failed\";\r\nfunction invariant(condition, message) {\r\n if (condition) {\r\n return;\r\n }\r\n if (isProduction) {\r\n throw new Error(prefix);\r\n }\r\n throw new Error(prefix + \": \" + (message || \"\"));\r\n}\r\nfunction stringify(obj, serializer, indent, decycler) {\r\n return JSON.stringify(obj, getSerialize(serializer, decycler), indent);\r\n}\r\nfunction getSerialize(serializer, decycler) {\r\n var stack = [], keys = [];\r\n if (!decycler)\r\n decycler = function (_, value) {\r\n if (stack[0] === value)\r\n return \"[Circular ~]\";\r\n return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\";\r\n };\r\n return function (key, value) {\r\n if (stack.length > 0) {\r\n var thisPos = stack.indexOf(this);\r\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);\r\n ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);\r\n if (~stack.indexOf(value))\r\n value = decycler.call(this, key, value);\r\n }\r\n else\r\n stack.push(value);\r\n return serializer == null ? value : serializer.call(this, key, value);\r\n };\r\n}\r\nfunction isImmutableDefault(value) {\r\n return typeof value !== \"object\" || value == null || Object.isFrozen(value);\r\n}\r\nfunction trackForMutations(isImmutable, ignorePaths, obj) {\r\n var trackedProperties = trackProperties(isImmutable, ignorePaths, obj);\r\n return {\r\n detectMutations: function () {\r\n return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);\r\n }\r\n };\r\n}\r\nfunction trackProperties(isImmutable, ignorePaths, obj, path) {\r\n if (ignorePaths === void 0) { ignorePaths = []; }\r\n if (path === void 0) { path = \"\"; }\r\n var tracked = { value: obj };\r\n if (!isImmutable(obj)) {\r\n tracked.children = {};\r\n for (var key in obj) {\r\n var childPath = path ? path + \".\" + key : key;\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue;\r\n }\r\n tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);\r\n }\r\n }\r\n return tracked;\r\n}\r\nfunction detectMutations(isImmutable, ignoredPaths, trackedProperty, obj, sameParentRef, path) {\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n if (sameParentRef === void 0) { sameParentRef = false; }\r\n if (path === void 0) { path = \"\"; }\r\n var prevObj = trackedProperty ? trackedProperty.value : void 0;\r\n var sameRef = prevObj === obj;\r\n if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\r\n return { wasMutated: true, path: path };\r\n }\r\n if (isImmutable(prevObj) || isImmutable(obj)) {\r\n return { wasMutated: false };\r\n }\r\n var keysToDetect = {};\r\n for (var key in trackedProperty.children) {\r\n keysToDetect[key] = true;\r\n }\r\n for (var key in obj) {\r\n keysToDetect[key] = true;\r\n }\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_1 = function (key) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n var result = detectMutations(isImmutable, ignoredPaths, trackedProperty.children[key], obj[key], sameRef, nestedPath);\r\n if (result.wasMutated) {\r\n return { value: result };\r\n }\r\n };\r\n for (var key in keysToDetect) {\r\n var state_1 = _loop_1(key);\r\n if (typeof state_1 === \"object\")\r\n return state_1.value;\r\n }\r\n return { wasMutated: false };\r\n}\r\nfunction createImmutableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (process.env.NODE_ENV === \"production\") {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore;\r\n ignoredPaths = ignoredPaths || ignore;\r\n var track = trackForMutations.bind(null, isImmutable, ignoredPaths);\r\n return function (_c) {\r\n var getState = _c.getState;\r\n var state = getState();\r\n var tracker = track(state);\r\n var result;\r\n return function (next) { return function (action) {\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"ImmutableStateInvariantMiddleware\");\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n invariant(!result.wasMutated, \"A state mutation was detected between dispatches, in the path '\" + (result.path || \"\") + \"'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n var dispatchedAction = next(action);\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n result.wasMutated && invariant(!result.wasMutated, \"A state mutation was detected inside a dispatch, in the path: \" + (result.path || \"\") + \". Take a look at the reducer(s) handling the action \" + stringify(action) + \". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n measureUtils.warnIfExceeded();\r\n return dispatchedAction;\r\n }; };\r\n };\r\n}\r\n// src/serializableStateInvariantMiddleware.ts\r\nfunction isPlain(val) {\r\n var type = typeof val;\r\n return val == null || type === \"string\" || type === \"boolean\" || type === \"number\" || Array.isArray(val) || isPlainObject(val);\r\n}\r\nfunction findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths, cache) {\r\n if (path === void 0) { path = \"\"; }\r\n if (isSerializable === void 0) { isSerializable = isPlain; }\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n var foundNestedSerializable;\r\n if (!isSerializable(value)) {\r\n return {\r\n keyPath: path || \"\",\r\n value: value\r\n };\r\n }\r\n if (typeof value !== \"object\" || value === null) {\r\n return false;\r\n }\r\n if (cache == null ? void 0 : cache.has(value))\r\n return false;\r\n var entries = getEntries != null ? getEntries(value) : Object.entries(value);\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n var _loop_2 = function (key, nestedValue) {\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths) {\r\n var hasMatches = ignoredPaths.some(function (ignored) {\r\n if (ignored instanceof RegExp) {\r\n return ignored.test(nestedPath);\r\n }\r\n return nestedPath === ignored;\r\n });\r\n if (hasMatches) {\r\n return \"continue\";\r\n }\r\n }\r\n if (!isSerializable(nestedValue)) {\r\n return { value: {\r\n keyPath: nestedPath,\r\n value: nestedValue\r\n } };\r\n }\r\n if (typeof nestedValue === \"object\") {\r\n foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundNestedSerializable) {\r\n return { value: foundNestedSerializable };\r\n }\r\n }\r\n };\r\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\r\n var _c = entries_1[_i], key = _c[0], nestedValue = _c[1];\r\n var state_2 = _loop_2(key, nestedValue);\r\n if (typeof state_2 === \"object\")\r\n return state_2.value;\r\n }\r\n if (cache && isNestedFrozen(value))\r\n cache.add(value);\r\n return false;\r\n}\r\nfunction isNestedFrozen(value) {\r\n if (!Object.isFrozen(value))\r\n return false;\r\n for (var _i = 0, _c = Object.values(value); _i < _c.length; _i++) {\r\n var nestedValue = _c[_i];\r\n if (typeof nestedValue !== \"object\" || nestedValue === null)\r\n continue;\r\n if (!isNestedFrozen(nestedValue))\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction createSerializableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (process.env.NODE_ENV === \"production\") {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? [\"meta.arg\", \"meta.baseQueryMeta\"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j, _k = options.disableCache, disableCache = _k === void 0 ? false : _k;\r\n var cache = !disableCache && WeakSet ? new WeakSet() : void 0;\r\n return function (storeAPI) { return function (next) { return function (action) {\r\n var result = next(action);\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"SerializableStateInvariantMiddleware\");\r\n if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {\r\n measureUtils.measureTime(function () {\r\n var foundActionNonSerializableValue = findNonSerializableValue(action, \"\", isSerializable, getEntries, ignoredActionPaths, cache);\r\n if (foundActionNonSerializableValue) {\r\n var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in an action, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the logic that dispatched this action: \", action, \"\\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)\", \"\\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)\");\r\n }\r\n });\r\n }\r\n if (!ignoreState) {\r\n measureUtils.measureTime(function () {\r\n var state = storeAPI.getState();\r\n var foundStateNonSerializableValue = findNonSerializableValue(state, \"\", isSerializable, getEntries, ignoredPaths, cache);\r\n if (foundStateNonSerializableValue) {\r\n var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in the state, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the reducer(s) handling this action type: \" + action.type + \".\\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)\");\r\n }\r\n });\r\n measureUtils.warnIfExceeded();\r\n }\r\n return result;\r\n }; }; };\r\n}\r\n// src/getDefaultMiddleware.ts\r\nfunction isBoolean(x) {\r\n return typeof x === \"boolean\";\r\n}\r\nfunction curryGetDefaultMiddleware() {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options);\r\n };\r\n}\r\nfunction getDefaultMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e;\r\n var middlewareArray = new MiddlewareArray();\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware);\r\n }\r\n else {\r\n middlewareArray.push(thunkMiddleware.withExtraArgument(thunk.extraArgument));\r\n }\r\n }\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (immutableCheck) {\r\n var immutableOptions = {};\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck;\r\n }\r\n middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\r\n }\r\n if (serializableCheck) {\r\n var serializableOptions = {};\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck;\r\n }\r\n middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\r\n }\r\n }\r\n return middlewareArray;\r\n}\r\n// src/configureStore.ts\r\nvar IS_PRODUCTION = process.env.NODE_ENV === \"production\";\r\nfunction configureStore(options) {\r\n var curriedGetDefaultMiddleware = curryGetDefaultMiddleware();\r\n var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h;\r\n var rootReducer;\r\n if (typeof reducer === \"function\") {\r\n rootReducer = reducer;\r\n }\r\n else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer);\r\n }\r\n else {\r\n throw new Error('\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');\r\n }\r\n var finalMiddleware = middleware;\r\n if (typeof finalMiddleware === \"function\") {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware);\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\"when using a middleware builder function, an array of middleware must be returned\");\r\n }\r\n }\r\n if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== \"function\"; })) {\r\n throw new Error(\"each middleware provided to configureStore must be a function\");\r\n }\r\n var middlewareEnhancer = applyMiddleware.apply(void 0, finalMiddleware);\r\n var finalCompose = compose2;\r\n if (devTools) {\r\n finalCompose = composeWithDevTools(__spreadValues({\r\n trace: !IS_PRODUCTION\r\n }, typeof devTools === \"object\" && devTools));\r\n }\r\n var defaultEnhancers = new EnhancerArray(middlewareEnhancer);\r\n var storeEnhancers = defaultEnhancers;\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = __spreadArray([middlewareEnhancer], enhancers);\r\n }\r\n else if (typeof enhancers === \"function\") {\r\n storeEnhancers = enhancers(defaultEnhancers);\r\n }\r\n var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);\r\n return createStore(rootReducer, preloadedState, composedEnhancer);\r\n}\r\n// src/createAction.ts\r\nfunction createAction(type, prepareAction) {\r\n function actionCreator() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (prepareAction) {\r\n var prepared = prepareAction.apply(void 0, args);\r\n if (!prepared) {\r\n throw new Error(\"prepareAction did not return an object\");\r\n }\r\n return __spreadValues(__spreadValues({\r\n type: type,\r\n payload: prepared.payload\r\n }, \"meta\" in prepared && { meta: prepared.meta }), \"error\" in prepared && { error: prepared.error });\r\n }\r\n return { type: type, payload: args[0] };\r\n }\r\n actionCreator.toString = function () { return \"\" + type; };\r\n actionCreator.type = type;\r\n actionCreator.match = function (action) { return action.type === type; };\r\n return actionCreator;\r\n}\r\nfunction isAction(action) {\r\n return isPlainObject(action) && \"type\" in action;\r\n}\r\nfunction isFSA(action) {\r\n return isAction(action) && typeof action.type === \"string\" && Object.keys(action).every(isValidKey);\r\n}\r\nfunction isValidKey(key) {\r\n return [\"type\", \"payload\", \"error\", \"meta\"].indexOf(key) > -1;\r\n}\r\nfunction getType(actionCreator) {\r\n return \"\" + actionCreator;\r\n}\r\n// src/createReducer.ts\r\nimport createNextState2, { isDraft as isDraft2, isDraftable as isDraftable2 } from \"immer\";\r\n// src/mapBuilders.ts\r\nfunction executeReducerBuilderCallback(builderCallback) {\r\n var actionsMap = {};\r\n var actionMatchers = [];\r\n var defaultCaseReducer;\r\n var builder = {\r\n addCase: function (typeOrActionCreator, reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addMatcher`\");\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n var type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\r\n if (type in actionsMap) {\r\n throw new Error(\"addCase cannot be called with two reducers for the same action type\");\r\n }\r\n actionsMap[type] = reducer;\r\n return builder;\r\n },\r\n addMatcher: function (matcher, reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n actionMatchers.push({ matcher: matcher, reducer: reducer });\r\n return builder;\r\n },\r\n addDefaultCase: function (reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addDefaultCase` can only be called once\");\r\n }\r\n }\r\n defaultCaseReducer = reducer;\r\n return builder;\r\n }\r\n };\r\n builderCallback(builder);\r\n return [actionsMap, actionMatchers, defaultCaseReducer];\r\n}\r\n// src/createReducer.ts\r\nfunction isStateFunction(x) {\r\n return typeof x === \"function\";\r\n}\r\nvar hasWarnedAboutObjectNotation = false;\r\nfunction createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {\r\n if (actionMatchers === void 0) { actionMatchers = []; }\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (typeof mapOrBuilderCallback === \"object\") {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true;\r\n console.warn(\"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\r\n }\r\n }\r\n }\r\n var _c = typeof mapOrBuilderCallback === \"function\" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2];\r\n var getInitialState;\r\n if (isStateFunction(initialState)) {\r\n getInitialState = function () { return freezeDraftable(initialState()); };\r\n }\r\n else {\r\n var frozenInitialState_1 = freezeDraftable(initialState);\r\n getInitialState = function () { return frozenInitialState_1; };\r\n }\r\n function reducer(state, action) {\r\n if (state === void 0) { state = getInitialState(); }\r\n var caseReducers = __spreadArray([\r\n actionsMap[action.type]\r\n ], finalActionMatchers.filter(function (_c) {\r\n var matcher = _c.matcher;\r\n return matcher(action);\r\n }).map(function (_c) {\r\n var reducer2 = _c.reducer;\r\n return reducer2;\r\n }));\r\n if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer];\r\n }\r\n return caseReducers.reduce(function (previousState, caseReducer) {\r\n if (caseReducer) {\r\n if (isDraft2(previousState)) {\r\n var draft = previousState;\r\n var result = caseReducer(draft, action);\r\n if (result === void 0) {\r\n return previousState;\r\n }\r\n return result;\r\n }\r\n else if (!isDraftable2(previousState)) {\r\n var result = caseReducer(previousState, action);\r\n if (result === void 0) {\r\n if (previousState === null) {\r\n return previousState;\r\n }\r\n throw Error(\"A case reducer on a non-draftable value must not return undefined\");\r\n }\r\n return result;\r\n }\r\n else {\r\n return createNextState2(previousState, function (draft) {\r\n return caseReducer(draft, action);\r\n });\r\n }\r\n }\r\n return previousState;\r\n }, state);\r\n }\r\n reducer.getInitialState = getInitialState;\r\n return reducer;\r\n}\r\n// src/createSlice.ts\r\nvar hasWarnedAboutObjectNotation2 = false;\r\nfunction getType2(slice, actionKey) {\r\n return slice + \"/\" + actionKey;\r\n}\r\nfunction createSlice(options) {\r\n var name = options.name;\r\n if (!name) {\r\n throw new Error(\"`name` is a required option for createSlice\");\r\n }\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n if (options.initialState === void 0) {\r\n console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\r\n }\r\n }\r\n var initialState = typeof options.initialState == \"function\" ? options.initialState : freezeDraftable(options.initialState);\r\n var reducers = options.reducers || {};\r\n var reducerNames = Object.keys(reducers);\r\n var sliceCaseReducersByName = {};\r\n var sliceCaseReducersByType = {};\r\n var actionCreators = {};\r\n reducerNames.forEach(function (reducerName) {\r\n var maybeReducerWithPrepare = reducers[reducerName];\r\n var type = getType2(name, reducerName);\r\n var caseReducer;\r\n var prepareCallback;\r\n if (\"reducer\" in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer;\r\n prepareCallback = maybeReducerWithPrepare.prepare;\r\n }\r\n else {\r\n caseReducer = maybeReducerWithPrepare;\r\n }\r\n sliceCaseReducersByName[reducerName] = caseReducer;\r\n sliceCaseReducersByType[type] = caseReducer;\r\n actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type);\r\n });\r\n function buildReducer() {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (typeof options.extraReducers === \"object\") {\r\n if (!hasWarnedAboutObjectNotation2) {\r\n hasWarnedAboutObjectNotation2 = true;\r\n console.warn(\"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\r\n }\r\n }\r\n }\r\n var _c = typeof options.extraReducers === \"function\" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f;\r\n var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType);\r\n return createReducer(initialState, function (builder) {\r\n for (var key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key]);\r\n }\r\n for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) {\r\n var m = actionMatchers_1[_i];\r\n builder.addMatcher(m.matcher, m.reducer);\r\n }\r\n if (defaultCaseReducer) {\r\n builder.addDefaultCase(defaultCaseReducer);\r\n }\r\n });\r\n }\r\n var _reducer;\r\n return {\r\n name: name,\r\n reducer: function (state, action) {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer(state, action);\r\n },\r\n actions: actionCreators,\r\n caseReducers: sliceCaseReducersByName,\r\n getInitialState: function () {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer.getInitialState();\r\n }\r\n };\r\n}\r\n// src/entities/entity_state.ts\r\nfunction getInitialEntityState() {\r\n return {\r\n ids: [],\r\n entities: {}\r\n };\r\n}\r\nfunction createInitialStateFactory() {\r\n function getInitialState(additionalState) {\r\n if (additionalState === void 0) { additionalState = {}; }\r\n return Object.assign(getInitialEntityState(), additionalState);\r\n }\r\n return { getInitialState: getInitialState };\r\n}\r\n// src/entities/state_selectors.ts\r\nfunction createSelectorsFactory() {\r\n function getSelectors(selectState) {\r\n var selectIds = function (state) { return state.ids; };\r\n var selectEntities = function (state) { return state.entities; };\r\n var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });\r\n var selectId = function (_, id) { return id; };\r\n var selectById = function (entities, id) { return entities[id]; };\r\n var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; });\r\n if (!selectState) {\r\n return {\r\n selectIds: selectIds,\r\n selectEntities: selectEntities,\r\n selectAll: selectAll,\r\n selectTotal: selectTotal,\r\n selectById: createDraftSafeSelector(selectEntities, selectId, selectById)\r\n };\r\n }\r\n var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities);\r\n return {\r\n selectIds: createDraftSafeSelector(selectState, selectIds),\r\n selectEntities: selectGlobalizedEntities,\r\n selectAll: createDraftSafeSelector(selectState, selectAll),\r\n selectTotal: createDraftSafeSelector(selectState, selectTotal),\r\n selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById)\r\n };\r\n }\r\n return { getSelectors: getSelectors };\r\n}\r\n// src/entities/state_adapter.ts\r\nimport createNextState3, { isDraft as isDraft3 } from \"immer\";\r\nfunction createSingleArgumentStateOperator(mutator) {\r\n var operator = createStateOperator(function (_, state) { return mutator(state); });\r\n return function operation(state) {\r\n return operator(state, void 0);\r\n };\r\n}\r\nfunction createStateOperator(mutator) {\r\n return function operation(state, arg) {\r\n function isPayloadActionArgument(arg2) {\r\n return isFSA(arg2);\r\n }\r\n var runMutator = function (draft) {\r\n if (isPayloadActionArgument(arg)) {\r\n mutator(arg.payload, draft);\r\n }\r\n else {\r\n mutator(arg, draft);\r\n }\r\n };\r\n if (isDraft3(state)) {\r\n runMutator(state);\r\n return state;\r\n }\r\n else {\r\n return createNextState3(state, runMutator);\r\n }\r\n };\r\n}\r\n// src/entities/utils.ts\r\nfunction selectIdValue(entity, selectId) {\r\n var key = selectId(entity);\r\n if (process.env.NODE_ENV !== \"production\" && key === void 0) {\r\n console.warn(\"The entity passed to the `selectId` implementation returned undefined.\", \"You should probably provide your own `selectId` implementation.\", \"The entity that was passed:\", entity, \"The `selectId` implementation:\", selectId.toString());\r\n }\r\n return key;\r\n}\r\nfunction ensureEntitiesArray(entities) {\r\n if (!Array.isArray(entities)) {\r\n entities = Object.values(entities);\r\n }\r\n return entities;\r\n}\r\nfunction splitAddedUpdatedEntities(newEntities, selectId, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var added = [];\r\n var updated = [];\r\n for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) {\r\n var entity = newEntities_1[_i];\r\n var id = selectIdValue(entity, selectId);\r\n if (id in state.entities) {\r\n updated.push({ id: id, changes: entity });\r\n }\r\n else {\r\n added.push(entity);\r\n }\r\n }\r\n return [added, updated];\r\n}\r\n// src/entities/unsorted_state_adapter.ts\r\nfunction createUnsortedStateAdapter(selectId) {\r\n function addOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (key in state.entities) {\r\n return;\r\n }\r\n state.ids.push(key);\r\n state.entities[key] = entity;\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) {\r\n var entity = newEntities_2[_i];\r\n addOneMutably(entity, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (!(key in state.entities)) {\r\n state.ids.push(key);\r\n }\r\n state.entities[key] = entity;\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) {\r\n var entity = newEntities_3[_i];\r\n setOneMutably(entity, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.ids = [];\r\n state.entities = {};\r\n addManyMutably(newEntities, state);\r\n }\r\n function removeOneMutably(key, state) {\r\n return removeManyMutably([key], state);\r\n }\r\n function removeManyMutably(keys, state) {\r\n var didMutate = false;\r\n keys.forEach(function (key) {\r\n if (key in state.entities) {\r\n delete state.entities[key];\r\n didMutate = true;\r\n }\r\n });\r\n if (didMutate) {\r\n state.ids = state.ids.filter(function (id) { return id in state.entities; });\r\n }\r\n }\r\n function removeAllMutably(state) {\r\n Object.assign(state, {\r\n ids: [],\r\n entities: {}\r\n });\r\n }\r\n function takeNewKey(keys, update, state) {\r\n var original2 = state.entities[update.id];\r\n var updated = Object.assign({}, original2, update.changes);\r\n var newKey = selectIdValue(updated, selectId);\r\n var hasNewKey = newKey !== update.id;\r\n if (hasNewKey) {\r\n keys[update.id] = newKey;\r\n delete state.entities[update.id];\r\n }\r\n state.entities[newKey] = updated;\r\n return hasNewKey;\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var newKeys = {};\r\n var updatesPerEntity = {};\r\n updates.forEach(function (update) {\r\n if (update.id in state.entities) {\r\n updatesPerEntity[update.id] = {\r\n id: update.id,\r\n changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes)\r\n };\r\n }\r\n });\r\n updates = Object.values(updatesPerEntity);\r\n var didMutateEntities = updates.length > 0;\r\n if (didMutateEntities) {\r\n var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;\r\n if (didMutateIds) {\r\n state.ids = Object.keys(state.entities);\r\n }\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n return {\r\n removeAll: createSingleArgumentStateOperator(removeAllMutably),\r\n addOne: createStateOperator(addOneMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n upsertMany: createStateOperator(upsertManyMutably),\r\n removeOne: createStateOperator(removeOneMutably),\r\n removeMany: createStateOperator(removeManyMutably)\r\n };\r\n}\r\n// src/entities/sorted_state_adapter.ts\r\nfunction createSortedStateAdapter(selectId, sort) {\r\n var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll;\r\n function addOneMutably(entity, state) {\r\n return addManyMutably([entity], state);\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });\r\n if (models.length !== 0) {\r\n merge(models, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n return setManyMutably([entity], state);\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n if (newEntities.length !== 0) {\r\n merge(newEntities, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.entities = {};\r\n state.ids = [];\r\n addManyMutably(newEntities, state);\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var appliedUpdates = false;\r\n for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) {\r\n var update = updates_1[_i];\r\n var entity = state.entities[update.id];\r\n if (!entity) {\r\n continue;\r\n }\r\n appliedUpdates = true;\r\n Object.assign(entity, update.changes);\r\n var newId = selectId(entity);\r\n if (update.id !== newId) {\r\n delete state.entities[update.id];\r\n state.entities[newId] = entity;\r\n }\r\n }\r\n if (appliedUpdates) {\r\n resortEntities(state);\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n function areArraysEqual(a, b) {\r\n if (a.length !== b.length) {\r\n return false;\r\n }\r\n for (var i = 0; i < a.length && i < b.length; i++) {\r\n if (a[i] === b[i]) {\r\n continue;\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n function merge(models, state) {\r\n models.forEach(function (model) {\r\n state.entities[selectId(model)] = model;\r\n });\r\n resortEntities(state);\r\n }\r\n function resortEntities(state) {\r\n var allEntities = Object.values(state.entities);\r\n allEntities.sort(sort);\r\n var newSortedIds = allEntities.map(selectId);\r\n var ids = state.ids;\r\n if (!areArraysEqual(ids, newSortedIds)) {\r\n state.ids = newSortedIds;\r\n }\r\n }\r\n return {\r\n removeOne: removeOne,\r\n removeMany: removeMany,\r\n removeAll: removeAll,\r\n addOne: createStateOperator(addOneMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertMany: createStateOperator(upsertManyMutably)\r\n };\r\n}\r\n// src/entities/create_adapter.ts\r\nfunction createEntityAdapter(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = __spreadValues({\r\n sortComparer: false,\r\n selectId: function (instance) { return instance.id; }\r\n }, options), selectId = _c.selectId, sortComparer = _c.sortComparer;\r\n var stateFactory = createInitialStateFactory();\r\n var selectorsFactory = createSelectorsFactory();\r\n var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);\r\n return __spreadValues(__spreadValues(__spreadValues({\r\n selectId: selectId,\r\n sortComparer: sortComparer\r\n }, stateFactory), selectorsFactory), stateAdapter);\r\n}\r\n// src/nanoid.ts\r\nvar urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\r\nvar nanoid = function (size) {\r\n if (size === void 0) { size = 21; }\r\n var id = \"\";\r\n var i = size;\r\n while (i--) {\r\n id += urlAlphabet[Math.random() * 64 | 0];\r\n }\r\n return id;\r\n};\r\n// src/createAsyncThunk.ts\r\nvar commonProperties = [\r\n \"name\",\r\n \"message\",\r\n \"stack\",\r\n \"code\"\r\n];\r\nvar RejectWithValue = /** @class */ (function () {\r\n function RejectWithValue(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return RejectWithValue;\r\n}());\r\nvar FulfillWithMeta = /** @class */ (function () {\r\n function FulfillWithMeta(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return FulfillWithMeta;\r\n}());\r\nvar miniSerializeError = function (value) {\r\n if (typeof value === \"object\" && value !== null) {\r\n var simpleError = {};\r\n for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) {\r\n var property = commonProperties_1[_i];\r\n if (typeof value[property] === \"string\") {\r\n simpleError[property] = value[property];\r\n }\r\n }\r\n return simpleError;\r\n }\r\n return { message: String(value) };\r\n};\r\nvar createAsyncThunk = (function () {\r\n function createAsyncThunk2(typePrefix, payloadCreator, options) {\r\n var fulfilled = createAction(typePrefix + \"/fulfilled\", function (payload, requestId, arg, meta) { return ({\r\n payload: payload,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"fulfilled\"\r\n })\r\n }); });\r\n var pending = createAction(typePrefix + \"/pending\", function (requestId, arg, meta) { return ({\r\n payload: void 0,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"pending\"\r\n })\r\n }); });\r\n var rejected = createAction(typePrefix + \"/rejected\", function (error, requestId, arg, payload, meta) { return ({\r\n payload: payload,\r\n error: (options && options.serializeError || miniSerializeError)(error || \"Rejected\"),\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: \"rejected\",\r\n aborted: (error == null ? void 0 : error.name) === \"AbortError\",\r\n condition: (error == null ? void 0 : error.name) === \"ConditionError\"\r\n })\r\n }); });\r\n var displayedWarning = false;\r\n var AC = typeof AbortController !== \"undefined\" ? AbortController : /** @class */ (function () {\r\n function class_1() {\r\n this.signal = {\r\n aborted: false,\r\n addEventListener: function () {\r\n },\r\n dispatchEvent: function () {\r\n return false;\r\n },\r\n onabort: function () {\r\n },\r\n removeEventListener: function () {\r\n },\r\n reason: void 0,\r\n throwIfAborted: function () {\r\n }\r\n };\r\n }\r\n class_1.prototype.abort = function () {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (!displayedWarning) {\r\n displayedWarning = true;\r\n console.info(\"This platform does not implement AbortController. \\nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.\");\r\n }\r\n }\r\n };\r\n return class_1;\r\n }());\r\n function actionCreator(arg) {\r\n return function (dispatch, getState, extra) {\r\n var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid();\r\n var abortController = new AC();\r\n var abortReason;\r\n var started = false;\r\n function abort(reason) {\r\n abortReason = reason;\r\n abortController.abort();\r\n }\r\n var promise2 = function () {\r\n return __async(this, null, function () {\r\n var _a, _b, finalAction, conditionResult, abortedPromise, err_1, skipDispatch;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 4, , 5]);\r\n conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra });\r\n if (!isThenable(conditionResult)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, conditionResult];\r\n case 1:\r\n conditionResult = _c.sent();\r\n _c.label = 2;\r\n case 2:\r\n if (conditionResult === false || abortController.signal.aborted) {\r\n throw {\r\n name: \"ConditionError\",\r\n message: \"Aborted due to condition callback returning false.\"\r\n };\r\n }\r\n started = true;\r\n abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener(\"abort\", function () { return reject({\r\n name: \"AbortError\",\r\n message: abortReason || \"Aborted\"\r\n }); }); });\r\n dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra })));\r\n return [4 /*yield*/, Promise.race([\r\n abortedPromise,\r\n Promise.resolve(payloadCreator(arg, {\r\n dispatch: dispatch,\r\n getState: getState,\r\n extra: extra,\r\n requestId: requestId,\r\n signal: abortController.signal,\r\n abort: abort,\r\n rejectWithValue: function (value, meta) {\r\n return new RejectWithValue(value, meta);\r\n },\r\n fulfillWithValue: function (value, meta) {\r\n return new FulfillWithMeta(value, meta);\r\n }\r\n })).then(function (result) {\r\n if (result instanceof RejectWithValue) {\r\n throw result;\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta);\r\n }\r\n return fulfilled(result, requestId, arg);\r\n })\r\n ])];\r\n case 3:\r\n finalAction = _c.sent();\r\n return [3 /*break*/, 5];\r\n case 4:\r\n err_1 = _c.sent();\r\n finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg);\r\n return [3 /*break*/, 5];\r\n case 5:\r\n skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\r\n if (!skipDispatch) {\r\n dispatch(finalAction);\r\n }\r\n return [2 /*return*/, finalAction];\r\n }\r\n });\r\n });\r\n }();\r\n return Object.assign(promise2, {\r\n abort: abort,\r\n requestId: requestId,\r\n arg: arg,\r\n unwrap: function () {\r\n return promise2.then(unwrapResult);\r\n }\r\n });\r\n };\r\n }\r\n return Object.assign(actionCreator, {\r\n pending: pending,\r\n rejected: rejected,\r\n fulfilled: fulfilled,\r\n typePrefix: typePrefix\r\n });\r\n }\r\n createAsyncThunk2.withTypes = function () { return createAsyncThunk2; };\r\n return createAsyncThunk2;\r\n})();\r\nfunction unwrapResult(action) {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload;\r\n }\r\n if (action.error) {\r\n throw action.error;\r\n }\r\n return action.payload;\r\n}\r\nfunction isThenable(value) {\r\n return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\r\n}\r\n// src/tsHelpers.ts\r\nvar hasMatchFunction = function (v) {\r\n return v && typeof v.match === \"function\";\r\n};\r\n// src/matchers.ts\r\nvar matches = function (matcher, action) {\r\n if (hasMatchFunction(matcher)) {\r\n return matcher.match(action);\r\n }\r\n else {\r\n return matcher(action);\r\n }\r\n};\r\nfunction isAnyOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.some(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction isAllOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.every(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction hasExpectedRequestMetadata(action, validStatus) {\r\n if (!action || !action.meta)\r\n return false;\r\n var hasValidRequestId = typeof action.meta.requestId === \"string\";\r\n var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;\r\n return hasValidRequestId && hasValidRequestStatus;\r\n}\r\nfunction isAsyncThunkArray(a) {\r\n return typeof a[0] === \"function\" && \"pending\" in a[0] && \"fulfilled\" in a[0] && \"rejected\" in a[0];\r\n}\r\nfunction isPending() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isPending()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejected() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejected()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejectedWithValue() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n var hasFlag = function (action) {\r\n return action && action.meta && action.meta.rejectedWithValue;\r\n };\r\n if (asyncThunks.length === 0) {\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejectedWithValue()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isFulfilled() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"fulfilled\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isFulfilled()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isAsyncThunkAction() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\", \"fulfilled\", \"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isAsyncThunkAction()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = [];\r\n for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) {\r\n var asyncThunk = asyncThunks_1[_i];\r\n matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled);\r\n }\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\n// src/listenerMiddleware/utils.ts\r\nvar assertFunction = function (func, expected) {\r\n if (typeof func !== \"function\") {\r\n throw new TypeError(expected + \" is not a function\");\r\n }\r\n};\r\nvar noop = function () {\r\n};\r\nvar catchRejection = function (promise2, onError) {\r\n if (onError === void 0) { onError = noop; }\r\n promise2.catch(onError);\r\n return promise2;\r\n};\r\nvar addAbortSignalListener = function (abortSignal, callback) {\r\n abortSignal.addEventListener(\"abort\", callback, { once: true });\r\n return function () { return abortSignal.removeEventListener(\"abort\", callback); };\r\n};\r\nvar abortControllerWithReason = function (abortController, reason) {\r\n var signal = abortController.signal;\r\n if (signal.aborted) {\r\n return;\r\n }\r\n if (!(\"reason\" in signal)) {\r\n Object.defineProperty(signal, \"reason\", {\r\n enumerable: true,\r\n value: reason,\r\n configurable: true,\r\n writable: true\r\n });\r\n }\r\n ;\r\n abortController.abort(reason);\r\n};\r\n// src/listenerMiddleware/exceptions.ts\r\nvar task = \"task\";\r\nvar listener = \"listener\";\r\nvar completed = \"completed\";\r\nvar cancelled = \"cancelled\";\r\nvar taskCancelled = \"task-\" + cancelled;\r\nvar taskCompleted = \"task-\" + completed;\r\nvar listenerCancelled = listener + \"-\" + cancelled;\r\nvar listenerCompleted = listener + \"-\" + completed;\r\nvar TaskAbortError = /** @class */ (function () {\r\n function TaskAbortError(code) {\r\n this.code = code;\r\n this.name = \"TaskAbortError\";\r\n this.message = task + \" \" + cancelled + \" (reason: \" + code + \")\";\r\n }\r\n return TaskAbortError;\r\n}());\r\n// src/listenerMiddleware/task.ts\r\nvar validateActive = function (signal) {\r\n if (signal.aborted) {\r\n throw new TaskAbortError(signal.reason);\r\n }\r\n};\r\nfunction raceWithSignal(signal, promise2) {\r\n var cleanup = noop;\r\n return new Promise(function (resolve, reject) {\r\n var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); };\r\n if (signal.aborted) {\r\n notifyRejection();\r\n return;\r\n }\r\n cleanup = addAbortSignalListener(signal, notifyRejection);\r\n promise2.finally(function () { return cleanup(); }).then(resolve, reject);\r\n }).finally(function () {\r\n cleanup = noop;\r\n });\r\n}\r\nvar runTask = function (task2, cleanUp) { return __async(void 0, null, function () {\r\n var value, error_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 3, 4, 5]);\r\n return [4 /*yield*/, Promise.resolve()];\r\n case 1:\r\n _c.sent();\r\n return [4 /*yield*/, task2()];\r\n case 2:\r\n value = _c.sent();\r\n return [2 /*return*/, {\r\n status: \"ok\",\r\n value: value\r\n }];\r\n case 3:\r\n error_1 = _c.sent();\r\n return [2 /*return*/, {\r\n status: error_1 instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\r\n error: error_1\r\n }];\r\n case 4:\r\n cleanUp == null ? void 0 : cleanUp();\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n}); };\r\nvar createPause = function (signal) {\r\n return function (promise2) {\r\n return catchRejection(raceWithSignal(signal, promise2).then(function (output) {\r\n validateActive(signal);\r\n return output;\r\n }));\r\n };\r\n};\r\nvar createDelay = function (signal) {\r\n var pause = createPause(signal);\r\n return function (timeoutMs) {\r\n return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); }));\r\n };\r\n};\r\n// src/listenerMiddleware/index.ts\r\nvar assign = Object.assign;\r\nvar INTERNAL_NIL_TOKEN = {};\r\nvar alm = \"listenerMiddleware\";\r\nvar createFork = function (parentAbortSignal) {\r\n var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); };\r\n return function (taskExecutor) {\r\n assertFunction(taskExecutor, \"taskExecutor\");\r\n var childAbortController = new AbortController();\r\n linkControllers(childAbortController);\r\n var result = runTask(function () { return __async(void 0, null, function () {\r\n var result2;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(parentAbortSignal);\r\n validateActive(childAbortController.signal);\r\n return [4 /*yield*/, taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal\r\n })];\r\n case 1:\r\n result2 = _c.sent();\r\n validateActive(childAbortController.signal);\r\n return [2 /*return*/, result2];\r\n }\r\n });\r\n }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); });\r\n return {\r\n result: createPause(parentAbortSignal)(result),\r\n cancel: function () {\r\n abortControllerWithReason(childAbortController, taskCancelled);\r\n }\r\n };\r\n };\r\n};\r\nvar createTakePattern = function (startListening, signal) {\r\n var take = function (predicate, timeout) { return __async(void 0, null, function () {\r\n var unsubscribe, tuplePromise, promises, output;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(signal);\r\n unsubscribe = function () {\r\n };\r\n tuplePromise = new Promise(function (resolve, reject) {\r\n var stopListening = startListening({\r\n predicate: predicate,\r\n effect: function (action, listenerApi) {\r\n listenerApi.unsubscribe();\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState()\r\n ]);\r\n }\r\n });\r\n unsubscribe = function () {\r\n stopListening();\r\n reject();\r\n };\r\n });\r\n promises = [\r\n tuplePromise\r\n ];\r\n if (timeout != null) {\r\n promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); }));\r\n }\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, , 3, 4]);\r\n return [4 /*yield*/, raceWithSignal(signal, Promise.race(promises))];\r\n case 2:\r\n output = _c.sent();\r\n validateActive(signal);\r\n return [2 /*return*/, output];\r\n case 3:\r\n unsubscribe();\r\n return [7 /*endfinally*/];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); };\r\n};\r\nvar getListenerEntryPropsFrom = function (options) {\r\n var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect;\r\n if (type) {\r\n predicate = createAction(type).match;\r\n }\r\n else if (actionCreator) {\r\n type = actionCreator.type;\r\n predicate = actionCreator.match;\r\n }\r\n else if (matcher) {\r\n predicate = matcher;\r\n }\r\n else if (predicate) {\r\n }\r\n else {\r\n throw new Error(\"Creating or removing a listener requires one of the known fields for matching an action\");\r\n }\r\n assertFunction(effect, \"options.listener\");\r\n return { predicate: predicate, type: type, effect: effect };\r\n};\r\nvar createListenerEntry = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect;\r\n var id = nanoid();\r\n var entry = {\r\n id: id,\r\n effect: effect,\r\n type: type,\r\n predicate: predicate,\r\n pending: new Set(),\r\n unsubscribe: function () {\r\n throw new Error(\"Unsubscribe not initialized\");\r\n }\r\n };\r\n return entry;\r\n};\r\nvar cancelActiveListeners = function (entry) {\r\n entry.pending.forEach(function (controller) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n });\r\n};\r\nvar createClearListenerMiddleware = function (listenerMap) {\r\n return function () {\r\n listenerMap.forEach(cancelActiveListeners);\r\n listenerMap.clear();\r\n };\r\n};\r\nvar safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) {\r\n try {\r\n errorHandler(errorToNotify, errorInfo);\r\n }\r\n catch (errorHandlerError) {\r\n setTimeout(function () {\r\n throw errorHandlerError;\r\n }, 0);\r\n }\r\n};\r\nvar addListener = createAction(alm + \"/add\");\r\nvar clearAllListeners = createAction(alm + \"/removeAll\");\r\nvar removeListener = createAction(alm + \"/remove\");\r\nvar defaultErrorHandler = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n console.error.apply(console, __spreadArray([alm + \"/error\"], args));\r\n};\r\nfunction createListenerMiddleware(middlewareOptions) {\r\n var _this = this;\r\n if (middlewareOptions === void 0) { middlewareOptions = {}; }\r\n var listenerMap = new Map();\r\n var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c;\r\n assertFunction(onError, \"onError\");\r\n var insertEntry = function (entry) {\r\n entry.unsubscribe = function () { return listenerMap.delete(entry.id); };\r\n listenerMap.set(entry.id, entry);\r\n return function (cancelOptions) {\r\n entry.unsubscribe();\r\n if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n };\r\n };\r\n var findListenerEntry = function (comparator) {\r\n for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) {\r\n var entry = _c[_i];\r\n if (comparator(entry)) {\r\n return entry;\r\n }\r\n }\r\n return void 0;\r\n };\r\n var startListening = function (options) {\r\n var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; });\r\n if (!entry) {\r\n entry = createListenerEntry(options);\r\n }\r\n return insertEntry(entry);\r\n };\r\n var stopListening = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate;\r\n var entry = findListenerEntry(function (entry2) {\r\n var matchPredicateOrType = typeof type === \"string\" ? entry2.type === type : entry2.predicate === predicate;\r\n return matchPredicateOrType && entry2.effect === effect;\r\n });\r\n if (entry) {\r\n entry.unsubscribe();\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n }\r\n return !!entry;\r\n };\r\n var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () {\r\n var internalTaskController, take, listenerError_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n internalTaskController = new AbortController();\r\n take = createTakePattern(startListening, internalTaskController.signal);\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, 3, 4, 5]);\r\n entry.pending.add(internalTaskController);\r\n return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, {\r\n getOriginalState: getOriginalState,\r\n condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); },\r\n take: take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra: extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: function () {\r\n listenerMap.set(entry.id, entry);\r\n },\r\n cancelActiveListeners: function () {\r\n entry.pending.forEach(function (controller, _, set) {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n set.delete(controller);\r\n }\r\n });\r\n }\r\n })))];\r\n case 2:\r\n _c.sent();\r\n return [3 /*break*/, 5];\r\n case 3:\r\n listenerError_1 = _c.sent();\r\n if (!(listenerError_1 instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError_1, {\r\n raisedBy: \"effect\"\r\n });\r\n }\r\n return [3 /*break*/, 5];\r\n case 4:\r\n abortControllerWithReason(internalTaskController, listenerCompleted);\r\n entry.pending.delete(internalTaskController);\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n var clearListenerMiddleware = createClearListenerMiddleware(listenerMap);\r\n var middleware = function (api) { return function (next) { return function (action) {\r\n if (!isAction(action)) {\r\n return next(action);\r\n }\r\n if (addListener.match(action)) {\r\n return startListening(action.payload);\r\n }\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware();\r\n return;\r\n }\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload);\r\n }\r\n var originalState = api.getState();\r\n var getOriginalState = function () {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(alm + \": getOriginalState can only be called synchronously\");\r\n }\r\n return originalState;\r\n };\r\n var result;\r\n try {\r\n result = next(action);\r\n if (listenerMap.size > 0) {\r\n var currentState = api.getState();\r\n var listenerEntries = Array.from(listenerMap.values());\r\n for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) {\r\n var entry = listenerEntries_1[_i];\r\n var runListener = false;\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState);\r\n }\r\n catch (predicateError) {\r\n runListener = false;\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: \"predicate\"\r\n });\r\n }\r\n if (!runListener) {\r\n continue;\r\n }\r\n notifyListener(entry, action, api, getOriginalState);\r\n }\r\n }\r\n }\r\n finally {\r\n originalState = INTERNAL_NIL_TOKEN;\r\n }\r\n return result;\r\n }; }; };\r\n return {\r\n middleware: middleware,\r\n startListening: startListening,\r\n stopListening: stopListening,\r\n clearListeners: clearListenerMiddleware\r\n };\r\n}\r\n// src/autoBatchEnhancer.ts\r\nvar SHOULD_AUTOBATCH = \"RTK_autoBatch\";\r\nvar prepareAutoBatched = function () { return function (payload) {\r\n var _c;\r\n return ({\r\n payload: payload,\r\n meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c)\r\n });\r\n}; };\r\nvar promise;\r\nvar queueMicrotaskShim = typeof queueMicrotask === \"function\" ? queueMicrotask.bind(typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : globalThis) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () {\r\n throw err;\r\n}, 0); }); };\r\nvar createQueueWithTimer = function (timeout) {\r\n return function (notify) {\r\n setTimeout(notify, timeout);\r\n };\r\n};\r\nvar rAF = typeof window !== \"undefined\" && window.requestAnimationFrame ? window.requestAnimationFrame : createQueueWithTimer(10);\r\nvar autoBatchEnhancer = function (options) {\r\n if (options === void 0) { options = { type: \"raf\" }; }\r\n return function (next) { return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var store = next.apply(void 0, args);\r\n var notifying = true;\r\n var shouldNotifyAtEndOfTick = false;\r\n var notificationQueued = false;\r\n var listeners = new Set();\r\n var queueCallback = options.type === \"tick\" ? queueMicrotaskShim : options.type === \"raf\" ? rAF : options.type === \"callback\" ? options.queueNotification : createQueueWithTimer(options.timeout);\r\n var notifyListeners = function () {\r\n notificationQueued = false;\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false;\r\n listeners.forEach(function (l) { return l(); });\r\n }\r\n };\r\n return Object.assign({}, store, {\r\n subscribe: function (listener2) {\r\n var wrappedListener = function () { return notifying && listener2(); };\r\n var unsubscribe = store.subscribe(wrappedListener);\r\n listeners.add(listener2);\r\n return function () {\r\n unsubscribe();\r\n listeners.delete(listener2);\r\n };\r\n },\r\n dispatch: function (action) {\r\n var _a;\r\n try {\r\n notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]);\r\n shouldNotifyAtEndOfTick = !notifying;\r\n if (shouldNotifyAtEndOfTick) {\r\n if (!notificationQueued) {\r\n notificationQueued = true;\r\n queueCallback(notifyListeners);\r\n }\r\n }\r\n return store.dispatch(action);\r\n }\r\n finally {\r\n notifying = true;\r\n }\r\n }\r\n });\r\n }; };\r\n};\r\n// src/index.ts\r\nenableES5();\r\nexport { EnhancerArray, MiddlewareArray, SHOULD_AUTOBATCH, TaskAbortError, addListener, autoBatchEnhancer, clearAllListeners, configureStore, createAction, createAsyncThunk, createDraftSafeSelector, createEntityAdapter, createImmutableStateInvariantMiddleware, createListenerMiddleware, default2 as createNextState, createReducer, createSelector2 as createSelector, createSerializableStateInvariantMiddleware, createSlice, current2 as current, findNonSerializableValue, freeze, getDefaultMiddleware, getType, isAction, isAllOf, isAnyOf, isAsyncThunkAction, isDraft4 as isDraft, isFSA as isFluxStandardAction, isFulfilled, isImmutableDefault, isPending, isPlain, isPlainObject, isRejected, isRejectedWithValue, miniSerializeError, nanoid, original, prepareAutoBatched, removeListener, unwrapResult };\r\n//# sourceMappingURL=redux-toolkit.esm.js.map","'use strict';\n\nfunction find(array, predicate, context) {\n if (typeof Array.prototype.find === 'function') {\n return array.find(predicate, context);\n }\n\n context = context || this;\n var length = array.length;\n var i;\n\n if (typeof predicate !== 'function') {\n throw new TypeError(predicate + ' is not a function');\n }\n\n for (i = 0; i < length; i++) {\n if (predicate.call(context, array[i], i, array)) {\n return array[i];\n }\n }\n}\n\nmodule.exports = find;\n","// Packages\nvar retrier = require('retry');\n\nfunction retry(fn, opts) {\n function run(resolve, reject) {\n var options = opts || {};\n var op;\n\n // Default `randomize` to true\n if (!('randomize' in options)) {\n options.randomize = true;\n }\n\n op = retrier.operation(options);\n\n // We allow the user to abort retrying\n // this makes sense in the cases where\n // knowledge is obtained that retrying\n // would be futile (e.g.: auth errors)\n\n function bail(err) {\n reject(err || new Error('Aborted'));\n }\n\n function onError(err, num) {\n if (err.bail) {\n bail(err);\n return;\n }\n\n if (!op.retry(err)) {\n reject(op.mainError());\n } else if (options.onRetry) {\n options.onRetry(err, num);\n }\n }\n\n function runAttempt(num) {\n var val;\n\n try {\n val = fn(bail, num);\n } catch (err) {\n onError(err, num);\n return;\n }\n\n Promise.resolve(val)\n .then(resolve)\n .catch(function catchIt(err) {\n onError(err, num);\n });\n }\n\n op.attempt(runAttempt);\n }\n\n return new Promise(run);\n}\n\nmodule.exports = retry;\n","\"use strict\";\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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = void 0;\nvar bind_1 = require(\"./bind\");\nfunction toOptions(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (typeof value === 'boolean') {\n return {\n capture: value,\n };\n }\n return value;\n}\nfunction getBinding(original, sharedOptions) {\n if (sharedOptions == null) {\n return original;\n }\n var binding = __assign(__assign({}, original), { options: __assign(__assign({}, toOptions(sharedOptions)), toOptions(original.options)) });\n return binding;\n}\nfunction bindAll(target, bindings, sharedOptions) {\n var unbinds = bindings.map(function (original) {\n var binding = getBinding(original, sharedOptions);\n return (0, bind_1.bind)(target, binding);\n });\n return function unbindAll() {\n unbinds.forEach(function (unbind) { return unbind(); });\n };\n}\nexports.bindAll = bindAll;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bind = void 0;\nfunction bind(target, _a) {\n var type = _a.type, listener = _a.listener, options = _a.options;\n target.addEventListener(type, listener, options);\n return function unbind() {\n target.removeEventListener(type, listener, options);\n };\n}\nexports.bind = bind;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = exports.bind = void 0;\nvar bind_1 = require(\"./bind\");\nObject.defineProperty(exports, \"bind\", { enumerable: true, get: function () { return bind_1.bind; } });\nvar bind_all_1 = require(\"./bind-all\");\nObject.defineProperty(exports, \"bindAll\", { enumerable: true, get: function () { return bind_all_1.bindAll; } });\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _gud = require('gud');\n\nvar _gud2 = _interopRequireDefault(_gud);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\n\n// Inlined Object.is polyfill.\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction objectIs(x, y) {\n if (x === y) {\n return x !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction createEventEmitter(value) {\n var handlers = [];\n return {\n on: function on(handler) {\n handlers.push(handler);\n },\n off: function off(handler) {\n handlers = handlers.filter(function (h) {\n return h !== handler;\n });\n },\n get: function get() {\n return value;\n },\n set: function set(newValue, changedBits) {\n value = newValue;\n handlers.forEach(function (handler) {\n return handler(value, changedBits);\n });\n }\n };\n}\n\nfunction onlyChild(children) {\n return Array.isArray(children) ? children[0] : children;\n}\n\nfunction createReactContext(defaultValue, calculateChangedBits) {\n var _Provider$childContex, _Consumer$contextType;\n\n var contextProp = '__create-react-context-' + (0, _gud2.default)() + '__';\n\n var Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n function Provider() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Provider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _Component.call.apply(_Component, [this].concat(args))), _this), _this.emitter = createEventEmitter(_this.props.value), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Provider.prototype.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[contextProp] = this.emitter, _ref;\n };\n\n Provider.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this.props.value !== nextProps.value) {\n var oldValue = this.props.value;\n var newValue = nextProps.value;\n var changedBits = void 0;\n\n if (objectIs(oldValue, newValue)) {\n changedBits = 0; // No change\n } else {\n changedBits = typeof calculateChangedBits === 'function' ? calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\n if (process.env.NODE_ENV !== 'production') {\n (0, _warning2.default)((changedBits & MAX_SIGNED_31_BIT_INT) === changedBits, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\n }\n\n changedBits |= 0;\n\n if (changedBits !== 0) {\n this.emitter.set(nextProps.value, changedBits);\n }\n }\n }\n };\n\n Provider.prototype.render = function render() {\n return this.props.children;\n };\n\n return Provider;\n }(_react.Component);\n\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[contextProp] = _propTypes2.default.object.isRequired, _Provider$childContex);\n\n var Consumer = function (_Component2) {\n _inherits(Consumer, _Component2);\n\n function Consumer() {\n var _temp2, _this2, _ret2;\n\n _classCallCheck(this, Consumer);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = _possibleConstructorReturn(this, _Component2.call.apply(_Component2, [this].concat(args))), _this2), _this2.state = {\n value: _this2.getValue()\n }, _this2.onUpdate = function (newValue, changedBits) {\n var observedBits = _this2.observedBits | 0;\n if ((observedBits & changedBits) !== 0) {\n _this2.setState({ value: _this2.getValue() });\n }\n }, _temp2), _possibleConstructorReturn(_this2, _ret2);\n }\n\n Consumer.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var observedBits = nextProps.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentDidMount = function componentDidMount() {\n if (this.context[contextProp]) {\n this.context[contextProp].on(this.onUpdate);\n }\n var observedBits = this.props.observedBits;\n\n this.observedBits = observedBits === undefined || observedBits === null ? MAX_SIGNED_31_BIT_INT // Subscribe to all changes by default\n : observedBits;\n };\n\n Consumer.prototype.componentWillUnmount = function componentWillUnmount() {\n if (this.context[contextProp]) {\n this.context[contextProp].off(this.onUpdate);\n }\n };\n\n Consumer.prototype.getValue = function getValue() {\n if (this.context[contextProp]) {\n return this.context[contextProp].get();\n } else {\n return defaultValue;\n }\n };\n\n Consumer.prototype.render = function render() {\n return onlyChild(this.props.children)(this.state.value);\n };\n\n return Consumer;\n }(_react.Component);\n\n Consumer.contextTypes = (_Consumer$contextType = {}, _Consumer$contextType[contextProp] = _propTypes2.default.object, _Consumer$contextType);\n\n\n return {\n Provider: Provider,\n Consumer: Consumer\n };\n}\n\nexports.default = createReactContext;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _implementation = require('./implementation');\n\nvar _implementation2 = _interopRequireDefault(_implementation);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _react2.default.createContext || _implementation2.default;\nmodule.exports = exports['default'];","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","import { getIn } from 'final-form';\n\n// \n\n/**\n * Predicate to identify inputs that can have focus() called on them\n */\nvar isFocusableInput = function isFocusableInput(wtf) {\n return !!(wtf && typeof wtf.focus === 'function');\n};\n\n// \n/**\n * Gets all the inputs inside all forms on the page\n */\n\nvar getAllInputs = function getAllInputs() {\n if (typeof document === 'undefined') {\n return [];\n }\n\n return Array.prototype.slice.call(document.forms).reduce(function (accumulator, form) {\n return accumulator.concat(Array.prototype.slice.call(form).filter(isFocusableInput));\n }, []);\n};\n\n// \n/**\n * Finds the input by looking if the name attribute path is existing in the errors object\n */\n\nvar findInput = function findInput(inputs, errors) {\n return inputs.find(function (input) {\n return input.name && getIn(errors, input.name);\n });\n};\n\n// \n\nvar noop = function noop() {};\n\nvar createDecorator = function createDecorator(getInputs, findInput$$1) {\n return function (form) {\n var focusOnFirstError = function focusOnFirstError(errors) {\n if (!getInputs) {\n getInputs = getAllInputs;\n }\n\n if (!findInput$$1) {\n findInput$$1 = findInput;\n }\n\n var firstInput = findInput$$1(getInputs(), errors);\n\n if (firstInput) {\n firstInput.focus();\n }\n }; // Save original submit function\n\n\n var originalSubmit = form.submit; // Subscribe to errors, and keep a local copy of them\n\n var state = {};\n var unsubscribe = form.subscribe(function (nextState) {\n state = nextState;\n }, {\n errors: true,\n submitErrors: true\n }); // What to do after submit\n\n var afterSubmit = function afterSubmit() {\n var _state = state,\n errors = _state.errors,\n submitErrors = _state.submitErrors;\n\n if (errors && Object.keys(errors).length) {\n focusOnFirstError(errors);\n } else if (submitErrors && Object.keys(submitErrors).length) {\n focusOnFirstError(submitErrors);\n }\n }; // Rewrite submit function\n\n\n form.submit = function () {\n var result = originalSubmit.call(form);\n\n if (result && typeof result.then === 'function') {\n // async\n result.then(afterSubmit, noop);\n } else {\n // sync\n afterSubmit();\n }\n\n return result;\n };\n\n return function () {\n unsubscribe();\n form.submit = originalSubmit;\n };\n };\n};\n\n// \n/**\n * Generates a function to get all the inputs in a form with the specified name\n */\n\nvar getFormInputs = function getFormInputs(name) {\n return function () {\n if (typeof document === 'undefined') {\n return [];\n } // $FlowFixMe\n\n\n var form = document.forms[name];\n return form && form.length ? Array.prototype.slice.call(form).filter(isFocusableInput) : []; // cast cheat to get from HTMLFormElement children to FocusableInput\n };\n};\n\n//\n\nexport default createDecorator;\nexport { getFormInputs };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\n\n// \nvar charCodeOfDot = \".\".charCodeAt(0);\nvar reEscapeChar = /\\\\(\\\\)?/g;\nvar rePropName = RegExp( // Match anything that isn't a dot or bracket.\n\"[^.[\\\\]]+\" + \"|\" + // Or match property names within brackets.\n\"\\\\[(?:\" + // Match a non-string expression.\n\"([^\\\"'][^[]*)\" + \"|\" + // Or match strings (supports escaping characters).\n\"([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2\" + \")\\\\]\" + \"|\" + // Or match \"\" as the space between consecutive dots or empty brackets.\n\"(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))\", \"g\");\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n\nvar stringToPath = function stringToPath(string) {\n var result = [];\n\n if (string.charCodeAt(0) === charCodeOfDot) {\n result.push(\"\");\n }\n\n string.replace(rePropName, function (match, expression, quote, subString) {\n var key = match;\n\n if (quote) {\n key = subString.replace(reEscapeChar, \"$1\");\n } else if (expression) {\n key = expression.trim();\n }\n\n result.push(key);\n });\n return result;\n};\n\nvar keysCache = {};\nvar keysRegex = /[.[\\]]+/;\n\nvar toPath = function toPath(key) {\n if (key === null || key === undefined || !key.length) {\n return [];\n }\n\n if (typeof key !== \"string\") {\n throw new Error(\"toPath() expects a string\");\n }\n\n if (keysCache[key] == null) {\n /**\n * The following patch fixes issue 456, introduced since v4.20.3:\n *\n * Before v4.20.3, i.e. in v4.20.2, a `key` like 'choices[]' would map to ['choices']\n * (e.g. an array of choices used where 'choices[]' is name attribute of an input of type checkbox).\n *\n * Since v4.20.3, a `key` like 'choices[]' would map to ['choices', ''] which is wrong and breaks\n * this kind of inputs e.g. in React.\n *\n * v4.20.3 introduced an unwanted breaking change, this patch fixes it, see the issue at the link below.\n *\n * @see https://github.com/final-form/final-form/issues/456\n */\n if (key.endsWith(\"[]\")) {\n // v4.20.2 (a `key` like 'choices[]' should map to ['choices'], which is fine).\n keysCache[key] = key.split(keysRegex).filter(Boolean);\n } else {\n // v4.20.3 (a `key` like 'choices[]' maps to ['choices', ''], which breaks applications relying on inputs like ``).\n keysCache[key] = stringToPath(key);\n }\n }\n\n return keysCache[key];\n};\n\n// \n\nvar getIn = function getIn(state, complexKey) {\n // Intentionally using iteration rather than recursion\n var path = toPath(complexKey);\n var current = state;\n\n for (var i = 0; i < path.length; i++) {\n var key = path[i];\n\n if (current === undefined || current === null || typeof current !== \"object\" || Array.isArray(current) && isNaN(key)) {\n return undefined;\n }\n\n current = current[key];\n }\n\n return current;\n};\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nvar setInRecursor = function setInRecursor(current, index, path, value, destroyArrays) {\n if (index >= path.length) {\n // end of recursion\n return value;\n }\n\n var key = path[index]; // determine type of key\n\n if (isNaN(key)) {\n var _extends2;\n\n // object set\n if (current === undefined || current === null) {\n var _ref;\n\n // recurse\n var _result2 = setInRecursor(undefined, index + 1, path, value, destroyArrays); // delete or create an object\n\n\n return _result2 === undefined ? undefined : (_ref = {}, _ref[key] = _result2, _ref);\n }\n\n if (Array.isArray(current)) {\n throw new Error(\"Cannot set a non-numeric property on an array\");\n } // current exists, so make a copy of all its values, and add/update the new one\n\n\n var _result = setInRecursor(current[key], index + 1, path, value, destroyArrays);\n\n if (_result === undefined) {\n var numKeys = Object.keys(current).length;\n\n if (current[key] === undefined && numKeys === 0) {\n // object was already empty\n return undefined;\n }\n\n if (current[key] !== undefined && numKeys <= 1) {\n // only key we had was the one we are deleting\n if (!isNaN(path[index - 1]) && !destroyArrays) {\n // we are in an array, so return an empty object\n return {};\n } else {\n return undefined;\n }\n }\n\n current[key];\n var _final = _objectWithoutPropertiesLoose(current, [key].map(_toPropertyKey));\n\n return _final;\n } // set result in key\n\n\n return _extends({}, current, (_extends2 = {}, _extends2[key] = _result, _extends2));\n } // array set\n\n\n var numericKey = Number(key);\n\n if (current === undefined || current === null) {\n // recurse\n var _result3 = setInRecursor(undefined, index + 1, path, value, destroyArrays); // if nothing returned, delete it\n\n\n if (_result3 === undefined) {\n return undefined;\n } // create an array\n\n\n var _array = [];\n _array[numericKey] = _result3;\n return _array;\n }\n\n if (!Array.isArray(current)) {\n throw new Error(\"Cannot set a numeric property on an object\");\n } // recurse\n\n\n var existingValue = current[numericKey];\n var result = setInRecursor(existingValue, index + 1, path, value, destroyArrays); // current exists, so make a copy of all its values, and add/update the new one\n\n var array = [].concat(current);\n\n if (destroyArrays && result === undefined) {\n array.splice(numericKey, 1);\n\n if (array.length === 0) {\n return undefined;\n }\n } else {\n array[numericKey] = result;\n }\n\n return array;\n};\n\nvar setIn = function setIn(state, key, value, destroyArrays) {\n if (destroyArrays === void 0) {\n destroyArrays = false;\n }\n\n if (state === undefined || state === null) {\n throw new Error(\"Cannot call setIn() with \" + String(state) + \" state\");\n }\n\n if (key === undefined || key === null) {\n throw new Error(\"Cannot call setIn() with \" + String(key) + \" key\");\n } // Recursive function needs to accept and return State, but public API should\n // only deal with Objects\n\n\n return setInRecursor(state, 0, toPath(key), value, destroyArrays);\n};\n\nvar FORM_ERROR = \"FINAL_FORM/form-error\";\nvar ARRAY_ERROR = \"FINAL_FORM/array-error\";\n\n// \n/**\n * Converts internal field state to published field state\n */\n\nfunction publishFieldState(formState, field) {\n var errors = formState.errors,\n initialValues = formState.initialValues,\n lastSubmittedValues = formState.lastSubmittedValues,\n submitErrors = formState.submitErrors,\n submitFailed = formState.submitFailed,\n submitSucceeded = formState.submitSucceeded,\n submitting = formState.submitting,\n values = formState.values;\n var active = field.active,\n blur = field.blur,\n change = field.change,\n data = field.data,\n focus = field.focus,\n modified = field.modified,\n modifiedSinceLastSubmit = field.modifiedSinceLastSubmit,\n name = field.name,\n touched = field.touched,\n validating = field.validating,\n visited = field.visited;\n var value = getIn(values, name);\n var error = getIn(errors, name);\n\n if (error && error[ARRAY_ERROR]) {\n error = error[ARRAY_ERROR];\n }\n\n var submitError = submitErrors && getIn(submitErrors, name);\n var initial = initialValues && getIn(initialValues, name);\n var pristine = field.isEqual(initial, value);\n var dirtySinceLastSubmit = !!(lastSubmittedValues && !field.isEqual(getIn(lastSubmittedValues, name), value));\n var valid = !error && !submitError;\n return {\n active: active,\n blur: blur,\n change: change,\n data: data,\n dirty: !pristine,\n dirtySinceLastSubmit: dirtySinceLastSubmit,\n error: error,\n focus: focus,\n initial: initial,\n invalid: !valid,\n length: Array.isArray(value) ? value.length : undefined,\n modified: modified,\n modifiedSinceLastSubmit: modifiedSinceLastSubmit,\n name: name,\n pristine: pristine,\n submitError: submitError,\n submitFailed: submitFailed,\n submitSucceeded: submitSucceeded,\n submitting: submitting,\n touched: touched,\n valid: valid,\n value: value,\n visited: visited,\n validating: validating\n };\n}\n\n// \nvar fieldSubscriptionItems = [\"active\", \"data\", \"dirty\", \"dirtySinceLastSubmit\", \"error\", \"initial\", \"invalid\", \"length\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitError\", \"submitFailed\", \"submitSucceeded\", \"submitting\", \"touched\", \"valid\", \"value\", \"visited\", \"validating\"];\n\n// \nvar shallowEqual = function shallowEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== \"object\" || !a || typeof b !== \"object\" || !b) {\n return false;\n }\n\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(b);\n\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key) || a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n};\n\n// \nfunction subscriptionFilter (dest, src, previous, subscription, keys, shallowEqualKeys) {\n var different = false;\n keys.forEach(function (key) {\n if (subscription[key]) {\n dest[key] = src[key];\n\n if (!previous || (~shallowEqualKeys.indexOf(key) ? !shallowEqual(src[key], previous[key]) : src[key] !== previous[key])) {\n different = true;\n }\n }\n });\n return different;\n}\n\n// \nvar shallowEqualKeys$1 = [\"data\"];\n/**\n * Filters items in a FieldState based on a FieldSubscription\n */\n\nvar filterFieldState = function filterFieldState(state, previousState, subscription, force) {\n var result = {\n blur: state.blur,\n change: state.change,\n focus: state.focus,\n name: state.name\n };\n var different = subscriptionFilter(result, state, previousState, subscription, fieldSubscriptionItems, shallowEqualKeys$1) || !previousState;\n return different || force ? result : undefined;\n};\n\n// \nvar formSubscriptionItems = [\"active\", \"dirty\", \"dirtyFields\", \"dirtyFieldsSinceLastSubmit\", \"dirtySinceLastSubmit\", \"error\", \"errors\", \"hasSubmitErrors\", \"hasValidationErrors\", \"initialValues\", \"invalid\", \"modified\", \"modifiedSinceLastSubmit\", \"pristine\", \"submitting\", \"submitError\", \"submitErrors\", \"submitFailed\", \"submitSucceeded\", \"touched\", \"valid\", \"validating\", \"values\", \"visited\"];\n\n// \nvar shallowEqualKeys = [\"touched\", \"visited\"];\n/**\n * Filters items in a FormState based on a FormSubscription\n */\n\nfunction filterFormState(state, previousState, subscription, force) {\n var result = {};\n var different = subscriptionFilter(result, state, previousState, subscription, formSubscriptionItems, shallowEqualKeys) || !previousState;\n return different || force ? result : undefined;\n}\n\n// \n\nvar memoize = function memoize(fn) {\n var lastArgs;\n var lastResult;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (!lastArgs || args.length !== lastArgs.length || args.some(function (arg, index) {\n return !shallowEqual(lastArgs[index], arg);\n })) {\n lastArgs = args;\n lastResult = fn.apply(void 0, args);\n }\n\n return lastResult;\n };\n};\n\nvar isPromise = (function (obj) {\n return !!obj && (typeof obj === \"object\" || typeof obj === \"function\") && typeof obj.then === \"function\";\n});\n\nvar version = \"4.20.9\";\n\nvar configOptions = [\"debug\", \"initialValues\", \"keepDirtyOnReinitialize\", \"mutators\", \"onSubmit\", \"validate\", \"validateOnBlur\"];\n\nvar tripleEquals = function tripleEquals(a, b) {\n return a === b;\n};\n\nvar hasAnyError = function hasAnyError(errors) {\n return Object.keys(errors).some(function (key) {\n var value = errors[key];\n\n if (value && typeof value === \"object\" && !(value instanceof Error)) {\n return hasAnyError(value);\n }\n\n return typeof value !== \"undefined\";\n });\n};\n\nfunction convertToExternalFormState(_ref) {\n var active = _ref.active,\n dirtySinceLastSubmit = _ref.dirtySinceLastSubmit,\n modifiedSinceLastSubmit = _ref.modifiedSinceLastSubmit,\n error = _ref.error,\n errors = _ref.errors,\n initialValues = _ref.initialValues,\n pristine = _ref.pristine,\n submitting = _ref.submitting,\n submitFailed = _ref.submitFailed,\n submitSucceeded = _ref.submitSucceeded,\n submitError = _ref.submitError,\n submitErrors = _ref.submitErrors,\n valid = _ref.valid,\n validating = _ref.validating,\n values = _ref.values;\n return {\n active: active,\n dirty: !pristine,\n dirtySinceLastSubmit: dirtySinceLastSubmit,\n modifiedSinceLastSubmit: modifiedSinceLastSubmit,\n error: error,\n errors: errors,\n hasSubmitErrors: !!(submitError || submitErrors && hasAnyError(submitErrors)),\n hasValidationErrors: !!(error || hasAnyError(errors)),\n invalid: !valid,\n initialValues: initialValues,\n pristine: pristine,\n submitting: submitting,\n submitFailed: submitFailed,\n submitSucceeded: submitSucceeded,\n submitError: submitError,\n submitErrors: submitErrors,\n valid: valid,\n validating: validating > 0,\n values: values\n };\n}\n\nfunction notifySubscriber(subscriber, subscription, state, lastState, filter, force) {\n var notification = filter(state, lastState, subscription, force);\n\n if (notification) {\n subscriber(notification);\n return true;\n }\n\n return false;\n}\n\nfunction notify(_ref2, state, lastState, filter, force) {\n var entries = _ref2.entries;\n Object.keys(entries).forEach(function (key) {\n var entry = entries[Number(key)]; // istanbul ignore next\n\n if (entry) {\n var subscription = entry.subscription,\n subscriber = entry.subscriber,\n notified = entry.notified;\n\n if (notifySubscriber(subscriber, subscription, state, lastState, filter, force || !notified)) {\n entry.notified = true;\n }\n }\n });\n}\n\nfunction createForm(config) {\n if (!config) {\n throw new Error(\"No config specified\");\n }\n\n var debug = config.debug,\n destroyOnUnregister = config.destroyOnUnregister,\n keepDirtyOnReinitialize = config.keepDirtyOnReinitialize,\n initialValues = config.initialValues,\n mutators = config.mutators,\n onSubmit = config.onSubmit,\n validate = config.validate,\n validateOnBlur = config.validateOnBlur;\n\n if (!onSubmit) {\n throw new Error(\"No onSubmit function specified\");\n }\n\n var state = {\n subscribers: {\n index: 0,\n entries: {}\n },\n fieldSubscribers: {},\n fields: {},\n formState: {\n asyncErrors: {},\n dirtySinceLastSubmit: false,\n modifiedSinceLastSubmit: false,\n errors: {},\n initialValues: initialValues && _extends({}, initialValues),\n invalid: false,\n pristine: true,\n submitting: false,\n submitFailed: false,\n submitSucceeded: false,\n resetWhileSubmitting: false,\n valid: true,\n validating: 0,\n values: initialValues ? _extends({}, initialValues) : {}\n },\n lastFormState: undefined\n };\n var inBatch = 0;\n var validationPaused = false;\n var validationBlocked = false;\n var preventNotificationWhileValidationPaused = false;\n var nextAsyncValidationKey = 0;\n var asyncValidationPromises = {};\n\n var clearAsyncValidationPromise = function clearAsyncValidationPromise(key) {\n return function (result) {\n delete asyncValidationPromises[key];\n return result;\n };\n };\n\n var changeValue = function changeValue(state, name, mutate) {\n var before = getIn(state.formState.values, name);\n var after = mutate(before);\n state.formState.values = setIn(state.formState.values, name, after) || {};\n };\n\n var renameField = function renameField(state, from, to) {\n if (state.fields[from]) {\n var _extends2, _extends3;\n\n state.fields = _extends({}, state.fields, (_extends2 = {}, _extends2[to] = _extends({}, state.fields[from], {\n name: to,\n // rebind event handlers\n blur: function blur() {\n return api.blur(to);\n },\n change: function change(value) {\n return api.change(to, value);\n },\n focus: function focus() {\n return api.focus(to);\n },\n lastFieldState: undefined\n }), _extends2));\n delete state.fields[from];\n state.fieldSubscribers = _extends({}, state.fieldSubscribers, (_extends3 = {}, _extends3[to] = state.fieldSubscribers[from], _extends3));\n delete state.fieldSubscribers[from];\n var value = getIn(state.formState.values, from);\n state.formState.values = setIn(state.formState.values, from, undefined) || {};\n state.formState.values = setIn(state.formState.values, to, value);\n delete state.lastFormState;\n }\n }; // bind state to mutators\n\n\n var getMutatorApi = function getMutatorApi(key) {\n return function () {\n // istanbul ignore next\n if (mutators) {\n // ^^ causes branch coverage warning, but needed to appease the Flow gods\n var mutatableState = {\n formState: state.formState,\n fields: state.fields,\n fieldSubscribers: state.fieldSubscribers,\n lastFormState: state.lastFormState\n };\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var returnValue = mutators[key](args, mutatableState, {\n changeValue: changeValue,\n getIn: getIn,\n renameField: renameField,\n resetFieldState: api.resetFieldState,\n setIn: setIn,\n shallowEqual: shallowEqual\n });\n state.formState = mutatableState.formState;\n state.fields = mutatableState.fields;\n state.fieldSubscribers = mutatableState.fieldSubscribers;\n state.lastFormState = mutatableState.lastFormState;\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n return returnValue;\n }\n };\n };\n\n var mutatorsApi = mutators ? Object.keys(mutators).reduce(function (result, key) {\n result[key] = getMutatorApi(key);\n return result;\n }, {}) : {};\n\n var runRecordLevelValidation = function runRecordLevelValidation(setErrors) {\n var promises = [];\n\n if (validate) {\n var errorsOrPromise = validate(_extends({}, state.formState.values)); // clone to avoid writing\n\n if (isPromise(errorsOrPromise)) {\n promises.push(errorsOrPromise.then(function (errors) {\n return setErrors(errors, true);\n }));\n } else {\n setErrors(errorsOrPromise, false);\n }\n }\n\n return promises;\n };\n\n var getValidators = function getValidators(field) {\n return Object.keys(field.validators).reduce(function (result, index) {\n var validator = field.validators[Number(index)]();\n\n if (validator) {\n result.push(validator);\n }\n\n return result;\n }, []);\n };\n\n var runFieldLevelValidation = function runFieldLevelValidation(field, setError) {\n var promises = [];\n var validators = getValidators(field);\n\n if (validators.length) {\n var error;\n validators.forEach(function (validator) {\n var errorOrPromise = validator(getIn(state.formState.values, field.name), state.formState.values, validator.length === 0 || validator.length === 3 ? publishFieldState(state.formState, state.fields[field.name]) : undefined);\n\n if (errorOrPromise && isPromise(errorOrPromise)) {\n field.validating = true;\n var promise = errorOrPromise.then(function (error) {\n if (state.fields[field.name]) {\n state.fields[field.name].validating = false;\n setError(error);\n }\n }); // errors must be resolved, not rejected\n\n promises.push(promise);\n } else if (!error) {\n // first registered validator wins\n error = errorOrPromise;\n }\n });\n setError(error);\n }\n\n return promises;\n };\n\n var runValidation = function runValidation(fieldChanged, callback) {\n if (validationPaused) {\n validationBlocked = true;\n callback();\n return;\n }\n\n var fields = state.fields,\n formState = state.formState;\n\n var safeFields = _extends({}, fields);\n\n var fieldKeys = Object.keys(safeFields);\n\n if (!validate && !fieldKeys.some(function (key) {\n return getValidators(safeFields[key]).length;\n })) {\n callback();\n return; // no validation rules\n } // pare down field keys to actually validate\n\n\n var limitedFieldLevelValidation = false;\n\n if (fieldChanged) {\n var changedField = safeFields[fieldChanged];\n\n if (changedField) {\n var validateFields = changedField.validateFields;\n\n if (validateFields) {\n limitedFieldLevelValidation = true;\n fieldKeys = validateFields.length ? validateFields.concat(fieldChanged) : [fieldChanged];\n }\n }\n }\n\n var recordLevelErrors = {};\n var asyncRecordLevelErrors = {};\n var fieldLevelErrors = {};\n var promises = [].concat(runRecordLevelValidation(function (errors, wasAsync) {\n if (wasAsync) {\n asyncRecordLevelErrors = errors || {};\n } else {\n recordLevelErrors = errors || {};\n }\n }), fieldKeys.reduce(function (result, name) {\n return result.concat(runFieldLevelValidation(fields[name], function (error) {\n fieldLevelErrors[name] = error;\n }));\n }, []));\n var hasAsyncValidations = promises.length > 0;\n var asyncValidationPromiseKey = ++nextAsyncValidationKey;\n var promise = Promise.all(promises).then(clearAsyncValidationPromise(asyncValidationPromiseKey)); // backwards-compat: add promise to submit-blocking promises iff there are any promises to await\n\n if (hasAsyncValidations) {\n asyncValidationPromises[asyncValidationPromiseKey] = promise;\n }\n\n var processErrors = function processErrors(afterAsync) {\n var merged = _extends({}, limitedFieldLevelValidation ? formState.errors : {}, recordLevelErrors, afterAsync ? asyncRecordLevelErrors // new async errors\n : formState.asyncErrors);\n\n var forEachError = function forEachError(fn) {\n fieldKeys.forEach(function (name) {\n if (fields[name]) {\n // make sure field is still registered\n // field-level errors take precedent over record-level errors\n var recordLevelError = getIn(recordLevelErrors, name);\n var errorFromParent = getIn(merged, name);\n var hasFieldLevelValidation = getValidators(safeFields[name]).length;\n var fieldLevelError = fieldLevelErrors[name];\n fn(name, hasFieldLevelValidation && fieldLevelError || validate && recordLevelError || (!recordLevelError && !limitedFieldLevelValidation ? errorFromParent : undefined));\n }\n });\n };\n\n forEachError(function (name, error) {\n merged = setIn(merged, name, error) || {};\n });\n forEachError(function (name, error) {\n if (error && error[ARRAY_ERROR]) {\n var existing = getIn(merged, name);\n var copy = [].concat(existing);\n copy[ARRAY_ERROR] = error[ARRAY_ERROR];\n merged = setIn(merged, name, copy);\n }\n });\n\n if (!shallowEqual(formState.errors, merged)) {\n formState.errors = merged;\n }\n\n if (afterAsync) {\n formState.asyncErrors = asyncRecordLevelErrors;\n }\n\n formState.error = recordLevelErrors[FORM_ERROR];\n };\n\n if (hasAsyncValidations) {\n // async validations are running, ensure validating is true before notifying\n state.formState.validating++;\n callback();\n } // process sync errors\n\n\n processErrors(false); // sync errors have been set. notify listeners while we wait for others\n\n callback();\n\n if (hasAsyncValidations) {\n var afterPromise = function afterPromise() {\n state.formState.validating--;\n callback();\n };\n\n promise.then(function () {\n if (nextAsyncValidationKey > asyncValidationPromiseKey) {\n // if this async validator has been superseded by another, ignore its results\n return;\n }\n\n processErrors(true);\n }).then(afterPromise, afterPromise);\n }\n };\n\n var notifyFieldListeners = function notifyFieldListeners(name) {\n if (inBatch) {\n return;\n }\n\n var fields = state.fields,\n fieldSubscribers = state.fieldSubscribers,\n formState = state.formState;\n\n var safeFields = _extends({}, fields);\n\n var notifyField = function notifyField(name) {\n var field = safeFields[name];\n var fieldState = publishFieldState(formState, field);\n var lastFieldState = field.lastFieldState;\n field.lastFieldState = fieldState;\n var fieldSubscriber = fieldSubscribers[name];\n\n if (fieldSubscriber) {\n notify(fieldSubscriber, fieldState, lastFieldState, filterFieldState, lastFieldState === undefined);\n }\n };\n\n if (name) {\n notifyField(name);\n } else {\n Object.keys(safeFields).forEach(notifyField);\n }\n };\n\n var markAllFieldsTouched = function markAllFieldsTouched() {\n Object.keys(state.fields).forEach(function (key) {\n state.fields[key].touched = true;\n });\n };\n\n var hasSyncErrors = function hasSyncErrors() {\n return !!(state.formState.error || hasAnyError(state.formState.errors));\n };\n\n var calculateNextFormState = function calculateNextFormState() {\n var fields = state.fields,\n formState = state.formState,\n lastFormState = state.lastFormState;\n\n var safeFields = _extends({}, fields);\n\n var safeFieldKeys = Object.keys(safeFields); // calculate dirty/pristine\n\n var foundDirty = false;\n var dirtyFields = safeFieldKeys.reduce(function (result, key) {\n var dirty = !safeFields[key].isEqual(getIn(formState.values, key), getIn(formState.initialValues || {}, key));\n\n if (dirty) {\n foundDirty = true;\n result[key] = true;\n }\n\n return result;\n }, {});\n var dirtyFieldsSinceLastSubmit = safeFieldKeys.reduce(function (result, key) {\n // istanbul ignore next\n var nonNullLastSubmittedValues = formState.lastSubmittedValues || {}; // || {} is for flow, but causes branch coverage complaint\n\n if (!safeFields[key].isEqual(getIn(formState.values, key), getIn(nonNullLastSubmittedValues, key))) {\n result[key] = true;\n }\n\n return result;\n }, {});\n formState.pristine = !foundDirty;\n formState.dirtySinceLastSubmit = !!(formState.lastSubmittedValues && Object.values(dirtyFieldsSinceLastSubmit).some(function (value) {\n return value;\n }));\n formState.modifiedSinceLastSubmit = !!(formState.lastSubmittedValues && // Object.values would treat values as mixed (facebook/flow#2221)\n Object.keys(safeFields).some(function (value) {\n return safeFields[value].modifiedSinceLastSubmit;\n }));\n formState.valid = !formState.error && !formState.submitError && !hasAnyError(formState.errors) && !(formState.submitErrors && hasAnyError(formState.submitErrors));\n var nextFormState = convertToExternalFormState(formState);\n\n var _safeFieldKeys$reduce = safeFieldKeys.reduce(function (result, key) {\n result.modified[key] = safeFields[key].modified;\n result.touched[key] = safeFields[key].touched;\n result.visited[key] = safeFields[key].visited;\n return result;\n }, {\n modified: {},\n touched: {},\n visited: {}\n }),\n modified = _safeFieldKeys$reduce.modified,\n touched = _safeFieldKeys$reduce.touched,\n visited = _safeFieldKeys$reduce.visited;\n\n nextFormState.dirtyFields = lastFormState && shallowEqual(lastFormState.dirtyFields, dirtyFields) ? lastFormState.dirtyFields : dirtyFields;\n nextFormState.dirtyFieldsSinceLastSubmit = lastFormState && shallowEqual(lastFormState.dirtyFieldsSinceLastSubmit, dirtyFieldsSinceLastSubmit) ? lastFormState.dirtyFieldsSinceLastSubmit : dirtyFieldsSinceLastSubmit;\n nextFormState.modified = lastFormState && shallowEqual(lastFormState.modified, modified) ? lastFormState.modified : modified;\n nextFormState.touched = lastFormState && shallowEqual(lastFormState.touched, touched) ? lastFormState.touched : touched;\n nextFormState.visited = lastFormState && shallowEqual(lastFormState.visited, visited) ? lastFormState.visited : visited;\n return lastFormState && shallowEqual(lastFormState, nextFormState) ? lastFormState : nextFormState;\n };\n\n var callDebug = function callDebug() {\n return debug && \"development\" !== \"production\" && debug(calculateNextFormState(), Object.keys(state.fields).reduce(function (result, key) {\n result[key] = state.fields[key];\n return result;\n }, {}));\n };\n\n var notifying = false;\n var scheduleNotification = false;\n\n var notifyFormListeners = function notifyFormListeners() {\n if (notifying) {\n scheduleNotification = true;\n } else {\n notifying = true;\n callDebug();\n\n if (!inBatch && !(validationPaused && preventNotificationWhileValidationPaused)) {\n var lastFormState = state.lastFormState;\n var nextFormState = calculateNextFormState();\n\n if (nextFormState !== lastFormState) {\n state.lastFormState = nextFormState;\n notify(state.subscribers, nextFormState, lastFormState, filterFormState);\n }\n }\n\n notifying = false;\n\n if (scheduleNotification) {\n scheduleNotification = false;\n notifyFormListeners();\n }\n }\n };\n\n var beforeSubmit = function beforeSubmit() {\n return Object.keys(state.fields).some(function (name) {\n return state.fields[name].beforeSubmit && state.fields[name].beforeSubmit() === false;\n });\n };\n\n var afterSubmit = function afterSubmit() {\n return Object.keys(state.fields).forEach(function (name) {\n return state.fields[name].afterSubmit && state.fields[name].afterSubmit();\n });\n };\n\n var resetModifiedAfterSubmit = function resetModifiedAfterSubmit() {\n return Object.keys(state.fields).forEach(function (key) {\n return state.fields[key].modifiedSinceLastSubmit = false;\n });\n }; // generate initial errors\n\n\n runValidation(undefined, function () {\n notifyFormListeners();\n });\n var api = {\n batch: function batch(fn) {\n inBatch++;\n fn();\n inBatch--;\n notifyFieldListeners();\n notifyFormListeners();\n },\n blur: function blur(name) {\n var fields = state.fields,\n formState = state.formState;\n var previous = fields[name];\n\n if (previous) {\n // can only blur registered fields\n delete formState.active;\n fields[name] = _extends({}, previous, {\n active: false,\n touched: true\n });\n\n if (validateOnBlur) {\n runValidation(name, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n } else {\n notifyFieldListeners();\n notifyFormListeners();\n }\n }\n },\n change: function change(name, value) {\n var fields = state.fields,\n formState = state.formState;\n\n if (getIn(formState.values, name) !== value) {\n changeValue(state, name, function () {\n return value;\n });\n var previous = fields[name];\n\n if (previous) {\n // only track modified for registered fields\n fields[name] = _extends({}, previous, {\n modified: true,\n modifiedSinceLastSubmit: !!formState.lastSubmittedValues\n });\n }\n\n if (validateOnBlur) {\n notifyFieldListeners();\n notifyFormListeners();\n } else {\n runValidation(name, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n }\n }\n },\n\n get destroyOnUnregister() {\n return !!destroyOnUnregister;\n },\n\n set destroyOnUnregister(value) {\n destroyOnUnregister = value;\n },\n\n focus: function focus(name) {\n var field = state.fields[name];\n\n if (field && !field.active) {\n state.formState.active = name;\n field.active = true;\n field.visited = true;\n notifyFieldListeners();\n notifyFormListeners();\n }\n },\n mutators: mutatorsApi,\n getFieldState: function getFieldState(name) {\n var field = state.fields[name];\n return field && field.lastFieldState;\n },\n getRegisteredFields: function getRegisteredFields() {\n return Object.keys(state.fields);\n },\n getState: function getState() {\n return calculateNextFormState();\n },\n initialize: function initialize(data) {\n var fields = state.fields,\n formState = state.formState;\n\n var safeFields = _extends({}, fields);\n\n var values = typeof data === \"function\" ? data(formState.values) : data;\n\n if (!keepDirtyOnReinitialize) {\n formState.values = values;\n }\n /**\n * Hello, inquisitive code reader! Thanks for taking the time to dig in!\n *\n * The following code is the way it is to allow for non-registered deep\n * field values to be set via initialize()\n */\n // save dirty values\n\n\n var savedDirtyValues = keepDirtyOnReinitialize ? Object.keys(safeFields).reduce(function (result, key) {\n var field = safeFields[key];\n var pristine = field.isEqual(getIn(formState.values, key), getIn(formState.initialValues || {}, key));\n\n if (!pristine) {\n result[key] = getIn(formState.values, key);\n }\n\n return result;\n }, {}) : {}; // update initalValues and values\n\n formState.initialValues = values;\n formState.values = values; // restore the dirty values\n\n Object.keys(savedDirtyValues).forEach(function (key) {\n formState.values = setIn(formState.values, key, savedDirtyValues[key]) || {};\n });\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n },\n isValidationPaused: function isValidationPaused() {\n return validationPaused;\n },\n pauseValidation: function pauseValidation(preventNotification) {\n if (preventNotification === void 0) {\n preventNotification = true;\n }\n\n validationPaused = true;\n preventNotificationWhileValidationPaused = preventNotification;\n },\n registerField: function registerField(name, subscriber, subscription, fieldConfig) {\n if (subscription === void 0) {\n subscription = {};\n }\n\n if (!state.fieldSubscribers[name]) {\n state.fieldSubscribers[name] = {\n index: 0,\n entries: {}\n };\n }\n\n var index = state.fieldSubscribers[name].index++; // save field subscriber callback\n\n state.fieldSubscribers[name].entries[index] = {\n subscriber: memoize(subscriber),\n subscription: subscription,\n notified: false\n }; // create initial field state if not exists\n\n var field = state.fields[name] || {\n active: false,\n afterSubmit: fieldConfig && fieldConfig.afterSubmit,\n beforeSubmit: fieldConfig && fieldConfig.beforeSubmit,\n data: fieldConfig && fieldConfig.data || {},\n isEqual: fieldConfig && fieldConfig.isEqual || tripleEquals,\n lastFieldState: undefined,\n modified: false,\n modifiedSinceLastSubmit: false,\n name: name,\n touched: false,\n valid: true,\n validateFields: fieldConfig && fieldConfig.validateFields,\n validators: {},\n validating: false,\n visited: false\n }; // Mutators can create a field in order to keep the field states\n // We must update this field when registerField is called afterwards\n\n field.blur = field.blur || function () {\n return api.blur(name);\n };\n\n field.change = field.change || function (value) {\n return api.change(name, value);\n };\n\n field.focus = field.focus || function () {\n return api.focus(name);\n };\n\n state.fields[name] = field;\n var haveValidator = false;\n var silent = fieldConfig && fieldConfig.silent;\n\n var notify = function notify() {\n if (silent && state.fields[name]) {\n notifyFieldListeners(name);\n } else {\n notifyFormListeners();\n notifyFieldListeners();\n }\n };\n\n if (fieldConfig) {\n haveValidator = !!(fieldConfig.getValidator && fieldConfig.getValidator());\n\n if (fieldConfig.getValidator) {\n state.fields[name].validators[index] = fieldConfig.getValidator;\n }\n\n var noValueInFormState = getIn(state.formState.values, name) === undefined;\n\n if (fieldConfig.initialValue !== undefined && (noValueInFormState || getIn(state.formState.values, name) === getIn(state.formState.initialValues, name)) // only initialize if we don't yet have any value for this field\n ) {\n state.formState.initialValues = setIn(state.formState.initialValues || {}, name, fieldConfig.initialValue);\n state.formState.values = setIn(state.formState.values, name, fieldConfig.initialValue);\n runValidation(undefined, notify);\n } // only use defaultValue if we don't yet have any value for this field\n\n\n if (fieldConfig.defaultValue !== undefined && fieldConfig.initialValue === undefined && getIn(state.formState.initialValues, name) === undefined && noValueInFormState) {\n state.formState.values = setIn(state.formState.values, name, fieldConfig.defaultValue);\n }\n }\n\n if (haveValidator) {\n runValidation(undefined, notify);\n } else {\n notify();\n }\n\n return function () {\n var validatorRemoved = false; // istanbul ignore next\n\n if (state.fields[name]) {\n // state.fields[name] may have been removed by a mutator\n validatorRemoved = !!(state.fields[name].validators[index] && state.fields[name].validators[index]());\n delete state.fields[name].validators[index];\n }\n\n var hasFieldSubscribers = !!state.fieldSubscribers[name];\n\n if (hasFieldSubscribers) {\n // state.fieldSubscribers[name] may have been removed by a mutator\n delete state.fieldSubscribers[name].entries[index];\n }\n\n var lastOne = hasFieldSubscribers && !Object.keys(state.fieldSubscribers[name].entries).length;\n\n if (lastOne) {\n delete state.fieldSubscribers[name];\n delete state.fields[name];\n\n if (validatorRemoved) {\n state.formState.errors = setIn(state.formState.errors, name, undefined) || {};\n }\n\n if (destroyOnUnregister) {\n state.formState.values = setIn(state.formState.values, name, undefined, true) || {};\n }\n }\n\n if (!silent) {\n if (validatorRemoved) {\n runValidation(undefined, function () {\n notifyFormListeners();\n notifyFieldListeners();\n });\n } else if (lastOne) {\n // values or errors may have changed\n notifyFormListeners();\n }\n }\n };\n },\n reset: function reset(initialValues) {\n if (initialValues === void 0) {\n initialValues = state.formState.initialValues;\n }\n\n if (state.formState.submitting) {\n state.formState.resetWhileSubmitting = true;\n }\n\n state.formState.submitFailed = false;\n state.formState.submitSucceeded = false;\n delete state.formState.submitError;\n delete state.formState.submitErrors;\n delete state.formState.lastSubmittedValues;\n api.initialize(initialValues || {});\n },\n\n /**\n * Resets all field flags (e.g. touched, visited, etc.) to their initial state\n */\n resetFieldState: function resetFieldState(name) {\n state.fields[name] = _extends({}, state.fields[name], {\n active: false,\n lastFieldState: undefined,\n modified: false,\n touched: false,\n valid: true,\n validating: false,\n visited: false\n });\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n },\n\n /**\n * Returns the form to a clean slate; that is:\n * - Clear all values\n * - Resets all fields to their initial state\n */\n restart: function restart(initialValues) {\n if (initialValues === void 0) {\n initialValues = state.formState.initialValues;\n }\n\n api.batch(function () {\n for (var name in state.fields) {\n api.resetFieldState(name);\n state.fields[name] = _extends({}, state.fields[name], {\n active: false,\n lastFieldState: undefined,\n modified: false,\n modifiedSinceLastSubmit: false,\n touched: false,\n valid: true,\n validating: false,\n visited: false\n });\n }\n\n api.reset(initialValues);\n });\n },\n resumeValidation: function resumeValidation() {\n validationPaused = false;\n preventNotificationWhileValidationPaused = false;\n\n if (validationBlocked) {\n // validation was attempted while it was paused, so run it now\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n }\n\n validationBlocked = false;\n },\n setConfig: function setConfig(name, value) {\n switch (name) {\n case \"debug\":\n debug = value;\n break;\n\n case \"destroyOnUnregister\":\n destroyOnUnregister = value;\n break;\n\n case \"initialValues\":\n api.initialize(value);\n break;\n\n case \"keepDirtyOnReinitialize\":\n keepDirtyOnReinitialize = value;\n break;\n\n case \"mutators\":\n mutators = value;\n\n if (value) {\n Object.keys(mutatorsApi).forEach(function (key) {\n if (!(key in value)) {\n delete mutatorsApi[key];\n }\n });\n Object.keys(value).forEach(function (key) {\n mutatorsApi[key] = getMutatorApi(key);\n });\n } else {\n Object.keys(mutatorsApi).forEach(function (key) {\n delete mutatorsApi[key];\n });\n }\n\n break;\n\n case \"onSubmit\":\n onSubmit = value;\n break;\n\n case \"validate\":\n validate = value;\n runValidation(undefined, function () {\n notifyFieldListeners();\n notifyFormListeners();\n });\n break;\n\n case \"validateOnBlur\":\n validateOnBlur = value;\n break;\n\n default:\n throw new Error(\"Unrecognised option \" + name);\n }\n },\n submit: function submit() {\n var formState = state.formState;\n\n if (formState.submitting) {\n return;\n }\n\n delete formState.submitErrors;\n delete formState.submitError;\n formState.lastSubmittedValues = _extends({}, formState.values);\n\n if (hasSyncErrors()) {\n markAllFieldsTouched();\n resetModifiedAfterSubmit();\n state.formState.submitFailed = true;\n notifyFormListeners();\n notifyFieldListeners();\n return; // no submit for you!!\n }\n\n var asyncValidationPromisesKeys = Object.keys(asyncValidationPromises);\n\n if (asyncValidationPromisesKeys.length) {\n // still waiting on async validation to complete...\n Promise.all(asyncValidationPromisesKeys.map(function (key) {\n return asyncValidationPromises[Number(key)];\n })).then(api.submit, console.error);\n return;\n }\n\n var submitIsBlocked = beforeSubmit();\n\n if (submitIsBlocked) {\n return;\n }\n\n var resolvePromise;\n var completeCalled = false;\n\n var complete = function complete(errors) {\n formState.submitting = false;\n var resetWhileSubmitting = formState.resetWhileSubmitting;\n\n if (resetWhileSubmitting) {\n formState.resetWhileSubmitting = false;\n }\n\n if (errors && hasAnyError(errors)) {\n formState.submitFailed = true;\n formState.submitSucceeded = false;\n formState.submitErrors = errors;\n formState.submitError = errors[FORM_ERROR];\n markAllFieldsTouched();\n } else {\n if (!resetWhileSubmitting) {\n formState.submitFailed = false;\n formState.submitSucceeded = true;\n }\n\n afterSubmit();\n }\n\n notifyFormListeners();\n notifyFieldListeners();\n completeCalled = true;\n\n if (resolvePromise) {\n resolvePromise(errors);\n }\n\n return errors;\n };\n\n formState.submitting = true;\n formState.submitFailed = false;\n formState.submitSucceeded = false;\n formState.lastSubmittedValues = _extends({}, formState.values);\n resetModifiedAfterSubmit(); // onSubmit is either sync, callback or async with a Promise\n\n var result = onSubmit(formState.values, api, complete);\n\n if (!completeCalled) {\n if (result && isPromise(result)) {\n // onSubmit is async with a Promise\n notifyFormListeners(); // let everyone know we are submitting\n\n notifyFieldListeners(); // notify fields also\n\n return result.then(complete, function (error) {\n complete();\n throw error;\n });\n } else if (onSubmit.length >= 3) {\n // must be async, so we should return a Promise\n notifyFormListeners(); // let everyone know we are submitting\n\n notifyFieldListeners(); // notify fields also\n\n return new Promise(function (resolve) {\n resolvePromise = resolve;\n });\n } else {\n // onSubmit is sync\n complete(result);\n }\n }\n },\n subscribe: function subscribe(subscriber, subscription) {\n if (!subscriber) {\n throw new Error(\"No callback given.\");\n }\n\n if (!subscription) {\n throw new Error(\"No subscription provided. What values do you want to listen to?\");\n }\n\n var memoized = memoize(subscriber);\n var subscribers = state.subscribers;\n var index = subscribers.index++;\n subscribers.entries[index] = {\n subscriber: memoized,\n subscription: subscription,\n notified: false\n };\n var nextFormState = calculateNextFormState();\n notifySubscriber(memoized, subscription, nextFormState, nextFormState, filterFormState, true);\n return function () {\n delete subscribers.entries[index];\n };\n }\n };\n return api;\n}\n\nexport { ARRAY_ERROR, FORM_ERROR, configOptions, createForm, fieldSubscriptionItems, formSubscriptionItems, getIn, setIn, version };\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.map = factory());\n}(this, (function () { 'use strict';\n\n // a timeout function that can be flushed and cancelled\n var flushable = function flushable(onComplete, delay) {\n var timeoutId = setTimeout(function () {\n timeoutId = null;\n onComplete(false);\n }, delay);\n\n var clearTimer = function clearTimer() {\n if (timeoutId) {\n clearTimeout(timeoutId);\n timeoutId = null;\n }\n };\n\n return {\n cancel: clearTimer,\n flush: function flush() {\n if (!timeoutId) {\n return;\n }\n\n clearTimer();\n onComplete(true);\n },\n pending: function pending() {\n return Boolean(timeoutId);\n }\n };\n };\n\n return flushable;\n\n})));\n","// @flow\n'use strict';\n\nvar key = '__global_unique_id__';\n\nmodule.exports = function() {\n return global[key] = (global[key] || 0) + 1;\n};\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","// the whatwg-fetch polyfill installs the fetch() function\n// on the global object (window or self)\n//\n// Return that as the export for use in Webpack, Browserify etc.\nrequire('whatwg-fetch');\nmodule.exports = self.fetch.bind(self);\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.
\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.
\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.
\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.
\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.
\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.
\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.
\n * It will read the variation of the `placement` property.
\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.
\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.
\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.
\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.
\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".
\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.
\n * These can be overridden using the `options` argument of Popper.js.
\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.
\n * By default, it is set to no-op.
\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.
\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","/**\n * Based on Kendo UI Core expression code \n */\n'use strict'\n\nfunction Cache(maxSize) {\n this._maxSize = maxSize\n this.clear()\n}\nCache.prototype.clear = function () {\n this._size = 0\n this._values = Object.create(null)\n}\nCache.prototype.get = function (key) {\n return this._values[key]\n}\nCache.prototype.set = function (key, value) {\n this._size >= this._maxSize && this.clear()\n if (!(key in this._values)) this._size++\n\n return (this._values[key] = value)\n}\n\nvar SPLIT_REGEX = /[^.^\\]^[]+|(?=\\[\\]|\\.\\.)/g,\n DIGIT_REGEX = /^\\d+$/,\n LEAD_DIGIT_REGEX = /^\\d/,\n SPEC_CHAR_REGEX = /[~`!#$%\\^&*+=\\-\\[\\]\\\\';,/{}|\\\\\":<>\\?]/g,\n CLEAN_QUOTES_REGEX = /^\\s*(['\"]?)(.*?)(\\1)\\s*$/,\n MAX_CACHE_SIZE = 512\n\nvar pathCache = new Cache(MAX_CACHE_SIZE),\n setCache = new Cache(MAX_CACHE_SIZE),\n getCache = new Cache(MAX_CACHE_SIZE)\n\nvar config\n\nmodule.exports = {\n Cache: Cache,\n\n split: split,\n\n normalizePath: normalizePath,\n\n setter: function (path) {\n var parts = normalizePath(path)\n\n return (\n setCache.get(path) ||\n setCache.set(path, function setter(obj, value) {\n var index = 0\n var len = parts.length\n var data = obj\n\n while (index < len - 1) {\n var part = parts[index]\n if (\n part === '__proto__' ||\n part === 'constructor' ||\n part === 'prototype'\n ) {\n return obj\n }\n\n data = data[parts[index++]]\n }\n data[parts[index]] = value\n })\n )\n },\n\n getter: function (path, safe) {\n var parts = normalizePath(path)\n return (\n getCache.get(path) ||\n getCache.set(path, function getter(data) {\n var index = 0,\n len = parts.length\n while (index < len) {\n if (data != null || !safe) data = data[parts[index++]]\n else return\n }\n return data\n })\n )\n },\n\n join: function (segments) {\n return segments.reduce(function (path, part) {\n return (\n path +\n (isQuoted(part) || DIGIT_REGEX.test(part)\n ? '[' + part + ']'\n : (path ? '.' : '') + part)\n )\n }, '')\n },\n\n forEach: function (path, cb, thisArg) {\n forEach(Array.isArray(path) ? path : split(path), cb, thisArg)\n },\n}\n\nfunction normalizePath(path) {\n return (\n pathCache.get(path) ||\n pathCache.set(\n path,\n split(path).map(function (part) {\n return part.replace(CLEAN_QUOTES_REGEX, '$2')\n })\n )\n )\n}\n\nfunction split(path) {\n return path.match(SPLIT_REGEX) || ['']\n}\n\nfunction forEach(parts, iter, thisArg) {\n var len = parts.length,\n part,\n idx,\n isArray,\n isBracket\n\n for (idx = 0; idx < len; idx++) {\n part = parts[idx]\n\n if (part) {\n if (shouldBeQuoted(part)) {\n part = '\"' + part + '\"'\n }\n\n isBracket = isQuoted(part)\n isArray = !isBracket && /^\\d+$/.test(part)\n\n iter.call(thisArg, part, isBracket, isArray, idx, parts)\n }\n }\n}\n\nfunction isQuoted(str) {\n return (\n typeof str === 'string' && str && [\"'\", '\"'].indexOf(str.charAt(0)) !== -1\n )\n}\n\nfunction hasLeadingNumber(part) {\n return part.match(LEAD_DIGIT_REGEX) && !part.match(DIGIT_REGEX)\n}\n\nfunction hasSpecialChars(part) {\n return SPEC_CHAR_REGEX.test(part)\n}\n\nfunction shouldBeQuoted(part) {\n return !isQuoted(part) && (hasLeadingNumber(part) || hasSpecialChars(part))\n}\n","\n\nexport default (function (fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return frameId;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(undefined, lastArgs);\n });\n\n return frameId;\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n var resultFn = wrapperFn;\n\n return resultFn;\n});","'use strict';\n\nfunction getText(rootChild) {\n var res = '';\n var rr = function rr(child) {\n if (typeof child === 'string' || typeof child === 'number') {\n res += child;\n } else if (Array.isArray(child)) {\n child.forEach(function (c) {\n return rr(c);\n });\n } else if (child && child.props) {\n var children = child.props.children;\n\n\n if (Array.isArray(children)) {\n children.forEach(function (c) {\n return rr(c);\n });\n } else {\n rr(children);\n }\n }\n };\n\n rr(rootChild);\n\n return res;\n}\n\nmodule.exports = getText;","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect = /*#__PURE__*/function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return /*#__PURE__*/React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\nvar hasElementType = typeof Element !== 'undefined';\n\nfunction equal(a, b) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n // end fast-deep-equal\n\n // start react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element && b instanceof Element)\n return a === b;\n\n // custom handling for React\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue;\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) return false;\n }\n }\n // end react-fast-compare\n\n // fast-deep-equal index.js 2.0.1\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function exportedEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if ((error.message && error.message.match(/stack|recursion/i)) || (error.number === -2146828260)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","import e,{createContext as t,useState as r,useRef as o,useEffect as n,useCallback as a,useMemo as c,useContext as i}from\"react\";\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */var s=function(){return s=Object.assign||function(e){for(var t,r=1,o=arguments.length;r0&&n[n.length-1])||6!==a[0]&&2!==a[0])){c=0;continue}if(3===a[0]&&(!n||a[1]>n[0]&&a[1] \"+f.SCRIPT_NOT_AVAILABLE)},onError:function(){m(\"Error loading google recaptcha script\")}}),function(){d(e,null==S?void 0:S.element)}}m(\" recaptcha key not provided\")}),[l,b,E,R,g,i,null==S?void 0:S.element]);var M=a((function(e){if(!C||!C.execute)throw new Error(\" Google Recaptcha has not been loaded\");return C.execute(x.current,{action:e})}),[C,x]),N=c((function(){return{executeRecaptcha:C?M:void 0,container:null==S?void 0:S.element}}),[M,C,null==S?void 0:S.element]);return e.createElement(v.Provider,{value:N},w)}var g=function(){return i(v)};function S(t){var r=this,o=t.action,a=t.onVerify,c=t.refreshReCaptcha,i=g();n((function(){var e=i.executeRecaptcha;if(e){u(r,void 0,void 0,(function(){var t;return l(this,(function(r){switch(r.label){case 0:return[4,e(o)];case 1:return t=r.sent(),a?(a(t),[2]):(m(\"Please define an onVerify function\"),[2])}}))}))}}),[o,a,c,i]);var s=i.container;return\"string\"==typeof s?e.createElement(\"div\",{id:s}):null}function w(e,t){return e(t={exports:{}},t.exports),t.exports\n/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */}var $=\"function\"==typeof Symbol&&Symbol.for,C=$?Symbol.for(\"react.element\"):60103,P=$?Symbol.for(\"react.portal\"):60106,x=$?Symbol.for(\"react.fragment\"):60107,E=$?Symbol.for(\"react.strict_mode\"):60108,R=$?Symbol.for(\"react.profiler\"):60114,M=$?Symbol.for(\"react.provider\"):60109,N=$?Symbol.for(\"react.context\"):60110,O=$?Symbol.for(\"react.async_mode\"):60111,_=$?Symbol.for(\"react.concurrent_mode\"):60111,T=$?Symbol.for(\"react.forward_ref\"):60112,j=$?Symbol.for(\"react.suspense\"):60113,L=$?Symbol.for(\"react.suspense_list\"):60120,k=$?Symbol.for(\"react.memo\"):60115,F=$?Symbol.for(\"react.lazy\"):60116,A=$?Symbol.for(\"react.block\"):60121,V=$?Symbol.for(\"react.fundamental\"):60117,z=$?Symbol.for(\"react.responder\"):60118,G=$?Symbol.for(\"react.scope\"):60119;function I(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case C:switch(e=e.type){case O:case _:case x:case R:case E:case j:return e;default:switch(e=e&&e.$$typeof){case N:case T:case F:case k:case M:return e;default:return t}}case P:return t}}}function D(e){return I(e)===_}var q={AsyncMode:O,ConcurrentMode:_,ContextConsumer:N,ContextProvider:M,Element:C,ForwardRef:T,Fragment:x,Lazy:F,Memo:k,Portal:P,Profiler:R,StrictMode:E,Suspense:j,isAsyncMode:function(e){return D(e)||I(e)===O},isConcurrentMode:D,isContextConsumer:function(e){return I(e)===N},isContextProvider:function(e){return I(e)===M},isElement:function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===C},isForwardRef:function(e){return I(e)===T},isFragment:function(e){return I(e)===x},isLazy:function(e){return I(e)===F},isMemo:function(e){return I(e)===k},isPortal:function(e){return I(e)===P},isProfiler:function(e){return I(e)===R},isStrictMode:function(e){return I(e)===E},isSuspense:function(e){return I(e)===j},isValidElementType:function(e){return\"string\"==typeof e||\"function\"==typeof e||e===x||e===_||e===R||e===E||e===j||e===L||\"object\"==typeof e&&null!==e&&(e.$$typeof===F||e.$$typeof===k||e.$$typeof===M||e.$$typeof===N||e.$$typeof===T||e.$$typeof===V||e.$$typeof===z||e.$$typeof===G||e.$$typeof===A)},typeOf:I},B=w((function(e,t){\"production\"!==process.env.NODE_ENV&&function(){var e=\"function\"==typeof Symbol&&Symbol.for,r=e?Symbol.for(\"react.element\"):60103,o=e?Symbol.for(\"react.portal\"):60106,n=e?Symbol.for(\"react.fragment\"):60107,a=e?Symbol.for(\"react.strict_mode\"):60108,c=e?Symbol.for(\"react.profiler\"):60114,i=e?Symbol.for(\"react.provider\"):60109,s=e?Symbol.for(\"react.context\"):60110,u=e?Symbol.for(\"react.async_mode\"):60111,l=e?Symbol.for(\"react.concurrent_mode\"):60111,f=e?Symbol.for(\"react.forward_ref\"):60112,p=e?Symbol.for(\"react.suspense\"):60113,d=e?Symbol.for(\"react.suspense_list\"):60120,y=e?Symbol.for(\"react.memo\"):60115,m=e?Symbol.for(\"react.lazy\"):60116,v=e?Symbol.for(\"react.block\"):60121,b=e?Symbol.for(\"react.fundamental\"):60117,h=e?Symbol.for(\"react.responder\"):60118,g=e?Symbol.for(\"react.scope\"):60119;function S(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:var d=e.type;switch(d){case u:case l:case n:case c:case a:case p:return d;default:var v=d&&d.$$typeof;switch(v){case s:case f:case m:case y:case i:return v;default:return t}}case o:return t}}}var w=u,$=l,C=s,P=i,x=r,E=f,R=n,M=m,N=y,O=o,_=c,T=a,j=p,L=!1;function k(e){return S(e)===l}t.AsyncMode=w,t.ConcurrentMode=$,t.ContextConsumer=C,t.ContextProvider=P,t.Element=x,t.ForwardRef=E,t.Fragment=R,t.Lazy=M,t.Memo=N,t.Portal=O,t.Profiler=_,t.StrictMode=T,t.Suspense=j,t.isAsyncMode=function(e){return L||(L=!0,console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")),k(e)||S(e)===u},t.isConcurrentMode=k,t.isContextConsumer=function(e){return S(e)===s},t.isContextProvider=function(e){return S(e)===i},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return S(e)===f},t.isFragment=function(e){return S(e)===n},t.isLazy=function(e){return S(e)===m},t.isMemo=function(e){return S(e)===y},t.isPortal=function(e){return S(e)===o},t.isProfiler=function(e){return S(e)===c},t.isStrictMode=function(e){return S(e)===a},t.isSuspense=function(e){return S(e)===p},t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===n||e===l||e===c||e===a||e===p||e===d||\"object\"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===y||e.$$typeof===i||e.$$typeof===s||e.$$typeof===f||e.$$typeof===b||e.$$typeof===h||e.$$typeof===g||e.$$typeof===v)},t.typeOf=S}()})),J=(B.AsyncMode,B.ConcurrentMode,B.ContextConsumer,B.ContextProvider,B.Element,B.ForwardRef,B.Fragment,B.Lazy,B.Memo,B.Portal,B.Profiler,B.StrictMode,B.Suspense,B.isAsyncMode,B.isConcurrentMode,B.isContextConsumer,B.isContextProvider,B.isElement,B.isForwardRef,B.isFragment,B.isLazy,B.isMemo,B.isPortal,B.isProfiler,B.isStrictMode,B.isSuspense,B.isValidElementType,B.typeOf,w((function(e){\"production\"===process.env.NODE_ENV?e.exports=q:e.exports=B}))),K={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},U={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},H={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Q={};function W(e){return J.isMemo(e)?H:Q[e.$$typeof]||K}Q[J.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Q[J.Memo]=H;var X=Object.defineProperty,Y=Object.getOwnPropertyNames,Z=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,re=Object.prototype;var oe=function e(t,r,o){if(\"string\"!=typeof r){if(re){var n=te(r);n&&n!==re&&e(t,n,o)}var a=Y(r);Z&&(a=a.concat(Z(r)));for(var c=W(t),i=W(r),s=0;s= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar sizerStyle = {\n\tposition: 'absolute',\n\ttop: 0,\n\tleft: 0,\n\tvisibility: 'hidden',\n\theight: 0,\n\toverflow: 'scroll',\n\twhiteSpace: 'pre'\n};\n\nvar INPUT_PROPS_BLACKLIST = ['extraWidth', 'injectStyles', 'inputClassName', 'inputRef', 'inputStyle', 'minWidth', 'onAutosize', 'placeholderIsMinWidth'];\n\nvar cleanInputProps = function cleanInputProps(inputProps) {\n\tINPUT_PROPS_BLACKLIST.forEach(function (field) {\n\t\treturn delete inputProps[field];\n\t});\n\treturn inputProps;\n};\n\nvar copyStyles = function copyStyles(styles, node) {\n\tnode.style.fontSize = styles.fontSize;\n\tnode.style.fontFamily = styles.fontFamily;\n\tnode.style.fontWeight = styles.fontWeight;\n\tnode.style.fontStyle = styles.fontStyle;\n\tnode.style.letterSpacing = styles.letterSpacing;\n\tnode.style.textTransform = styles.textTransform;\n};\n\nvar isIE = typeof window !== 'undefined' && window.navigator ? /MSIE |Trident\\/|Edge\\//.test(window.navigator.userAgent) : false;\n\nvar generateId = function generateId() {\n\t// we only need an auto-generated ID for stylesheet injection, which is only\n\t// used for IE. so if the browser is not IE, this should return undefined.\n\treturn isIE ? '_' + Math.random().toString(36).substr(2, 12) : undefined;\n};\n\nvar AutosizeInput = function (_Component) {\n\t_inherits(AutosizeInput, _Component);\n\n\t_createClass(AutosizeInput, null, [{\n\t\tkey: 'getDerivedStateFromProps',\n\t\tvalue: function getDerivedStateFromProps(props, state) {\n\t\t\tvar id = props.id;\n\n\t\t\treturn id !== state.prevId ? { inputId: id || generateId(), prevId: id } : null;\n\t\t}\n\t}]);\n\n\tfunction AutosizeInput(props) {\n\t\t_classCallCheck(this, AutosizeInput);\n\n\t\tvar _this = _possibleConstructorReturn(this, (AutosizeInput.__proto__ || Object.getPrototypeOf(AutosizeInput)).call(this, props));\n\n\t\t_this.inputRef = function (el) {\n\t\t\t_this.input = el;\n\t\t\tif (typeof _this.props.inputRef === 'function') {\n\t\t\t\t_this.props.inputRef(el);\n\t\t\t}\n\t\t};\n\n\t\t_this.placeHolderSizerRef = function (el) {\n\t\t\t_this.placeHolderSizer = el;\n\t\t};\n\n\t\t_this.sizerRef = function (el) {\n\t\t\t_this.sizer = el;\n\t\t};\n\n\t\t_this.state = {\n\t\t\tinputWidth: props.minWidth,\n\t\t\tinputId: props.id || generateId(),\n\t\t\tprevId: props.id\n\t\t};\n\t\treturn _this;\n\t}\n\n\t_createClass(AutosizeInput, [{\n\t\tkey: 'componentDidMount',\n\t\tvalue: function componentDidMount() {\n\t\t\tthis.mounted = true;\n\t\t\tthis.copyInputStyles();\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentDidUpdate',\n\t\tvalue: function componentDidUpdate(prevProps, prevState) {\n\t\t\tif (prevState.inputWidth !== this.state.inputWidth) {\n\t\t\t\tif (typeof this.props.onAutosize === 'function') {\n\t\t\t\t\tthis.props.onAutosize(this.state.inputWidth);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateInputWidth();\n\t\t}\n\t}, {\n\t\tkey: 'componentWillUnmount',\n\t\tvalue: function componentWillUnmount() {\n\t\t\tthis.mounted = false;\n\t\t}\n\t}, {\n\t\tkey: 'copyInputStyles',\n\t\tvalue: function copyInputStyles() {\n\t\t\tif (!this.mounted || !window.getComputedStyle) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar inputStyles = this.input && window.getComputedStyle(this.input);\n\t\t\tif (!inputStyles) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tcopyStyles(inputStyles, this.sizer);\n\t\t\tif (this.placeHolderSizer) {\n\t\t\t\tcopyStyles(inputStyles, this.placeHolderSizer);\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'updateInputWidth',\n\t\tvalue: function updateInputWidth() {\n\t\t\tif (!this.mounted || !this.sizer || typeof this.sizer.scrollWidth === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar newInputWidth = void 0;\n\t\t\tif (this.props.placeholder && (!this.props.value || this.props.value && this.props.placeholderIsMinWidth)) {\n\t\t\t\tnewInputWidth = Math.max(this.sizer.scrollWidth, this.placeHolderSizer.scrollWidth) + 2;\n\t\t\t} else {\n\t\t\t\tnewInputWidth = this.sizer.scrollWidth + 2;\n\t\t\t}\n\t\t\t// add extraWidth to the detected width. for number types, this defaults to 16 to allow for the stepper UI\n\t\t\tvar extraWidth = this.props.type === 'number' && this.props.extraWidth === undefined ? 16 : parseInt(this.props.extraWidth) || 0;\n\t\t\tnewInputWidth += extraWidth;\n\t\t\tif (newInputWidth < this.props.minWidth) {\n\t\t\t\tnewInputWidth = this.props.minWidth;\n\t\t\t}\n\t\t\tif (newInputWidth !== this.state.inputWidth) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tinputWidth: newInputWidth\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}, {\n\t\tkey: 'getInput',\n\t\tvalue: function getInput() {\n\t\t\treturn this.input;\n\t\t}\n\t}, {\n\t\tkey: 'focus',\n\t\tvalue: function focus() {\n\t\t\tthis.input.focus();\n\t\t}\n\t}, {\n\t\tkey: 'blur',\n\t\tvalue: function blur() {\n\t\t\tthis.input.blur();\n\t\t}\n\t}, {\n\t\tkey: 'select',\n\t\tvalue: function select() {\n\t\t\tthis.input.select();\n\t\t}\n\t}, {\n\t\tkey: 'renderStyles',\n\t\tvalue: function renderStyles() {\n\t\t\t// this method injects styles to hide IE's clear indicator, which messes\n\t\t\t// with input size detection. the stylesheet is only injected when the\n\t\t\t// browser is IE, and can also be disabled by the `injectStyles` prop.\n\t\t\tvar injectStyles = this.props.injectStyles;\n\n\t\t\treturn isIE && injectStyles ? _react2.default.createElement('style', { dangerouslySetInnerHTML: {\n\t\t\t\t\t__html: 'input#' + this.state.inputId + '::-ms-clear {display: none;}'\n\t\t\t\t} }) : null;\n\t\t}\n\t}, {\n\t\tkey: 'render',\n\t\tvalue: function render() {\n\t\t\tvar sizerValue = [this.props.defaultValue, this.props.value, ''].reduce(function (previousValue, currentValue) {\n\t\t\t\tif (previousValue !== null && previousValue !== undefined) {\n\t\t\t\t\treturn previousValue;\n\t\t\t\t}\n\t\t\t\treturn currentValue;\n\t\t\t});\n\n\t\t\tvar wrapperStyle = _extends({}, this.props.style);\n\t\t\tif (!wrapperStyle.display) wrapperStyle.display = 'inline-block';\n\n\t\t\tvar inputStyle = _extends({\n\t\t\t\tboxSizing: 'content-box',\n\t\t\t\twidth: this.state.inputWidth + 'px'\n\t\t\t}, this.props.inputStyle);\n\n\t\t\tvar inputProps = _objectWithoutProperties(this.props, []);\n\n\t\t\tcleanInputProps(inputProps);\n\t\t\tinputProps.className = this.props.inputClassName;\n\t\t\tinputProps.id = this.state.inputId;\n\t\t\tinputProps.style = inputStyle;\n\n\t\t\treturn _react2.default.createElement(\n\t\t\t\t'div',\n\t\t\t\t{ className: this.props.className, style: wrapperStyle },\n\t\t\t\tthis.renderStyles(),\n\t\t\t\t_react2.default.createElement('input', _extends({}, inputProps, { ref: this.inputRef })),\n\t\t\t\t_react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.sizerRef, style: sizerStyle },\n\t\t\t\t\tsizerValue\n\t\t\t\t),\n\t\t\t\tthis.props.placeholder ? _react2.default.createElement(\n\t\t\t\t\t'div',\n\t\t\t\t\t{ ref: this.placeHolderSizerRef, style: sizerStyle },\n\t\t\t\t\tthis.props.placeholder\n\t\t\t\t) : null\n\t\t\t);\n\t\t}\n\t}]);\n\n\treturn AutosizeInput;\n}(_react.Component);\n\nAutosizeInput.propTypes = {\n\tclassName: _propTypes2.default.string, // className for the outer element\n\tdefaultValue: _propTypes2.default.any, // default field value\n\textraWidth: _propTypes2.default.oneOfType([// additional width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tid: _propTypes2.default.string, // id to use for the input, can be set for consistent snapshots\n\tinjectStyles: _propTypes2.default.bool, // inject the custom stylesheet to hide clear UI, defaults to true\n\tinputClassName: _propTypes2.default.string, // className for the input element\n\tinputRef: _propTypes2.default.func, // ref callback for the input element\n\tinputStyle: _propTypes2.default.object, // css styles for the input element\n\tminWidth: _propTypes2.default.oneOfType([// minimum width for input element\n\t_propTypes2.default.number, _propTypes2.default.string]),\n\tonAutosize: _propTypes2.default.func, // onAutosize handler: function(newWidth) {}\n\tonChange: _propTypes2.default.func, // onChange handler: function(event) {}\n\tplaceholder: _propTypes2.default.string, // placeholder text\n\tplaceholderIsMinWidth: _propTypes2.default.bool, // don't collapse size to less than the placeholder\n\tstyle: _propTypes2.default.object, // css styles for the outer element\n\tvalue: _propTypes2.default.any // field value\n};\nAutosizeInput.defaultProps = {\n\tminWidth: 1,\n\tinjectStyles: true\n};\n\nexports.default = AutosizeInput;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _reactDom = require('react-dom');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NodeResolver = function (_Component) {\n _inherits(NodeResolver, _Component);\n\n function NodeResolver() {\n _classCallCheck(this, NodeResolver);\n\n return _possibleConstructorReturn(this, (NodeResolver.__proto__ || Object.getPrototypeOf(NodeResolver)).apply(this, arguments));\n }\n\n _createClass(NodeResolver, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.props.innerRef((0, _reactDom.findDOMNode)(this));\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.props.innerRef(null);\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return NodeResolver;\n}(_react.Component);\n\nexports.default = NodeResolver;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _NodeResolver = require('./NodeResolver');\n\nObject.defineProperty(exports, 'default', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_NodeResolver).default;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","import * as React from 'react';\nexport var ManagerReferenceNodeContext = React.createContext();\nexport var ManagerReferenceNodeSetterContext = React.createContext();\nexport function Manager(_ref) {\n var children = _ref.children;\n\n var _React$useState = React.useState(null),\n referenceNode = _React$useState[0],\n setReferenceNode = _React$useState[1];\n\n var hasUnmounted = React.useRef(false);\n React.useEffect(function () {\n return function () {\n hasUnmounted.current = true;\n };\n }, []);\n var handleSetReferenceNode = React.useCallback(function (node) {\n if (!hasUnmounted.current) {\n setReferenceNode(node);\n }\n }, []);\n return /*#__PURE__*/React.createElement(ManagerReferenceNodeContext.Provider, {\n value: referenceNode\n }, /*#__PURE__*/React.createElement(ManagerReferenceNodeSetterContext.Provider, {\n value: handleSetReferenceNode\n }, children));\n}","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.3\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n // START: Modifications:\n // Apply guards for `Object.create(null)` handling. See:\n // - https://github.com/FormidableLabs/react-fast-compare/issues/64\n // - https://github.com/epoberezkin/fast-deep-equal/issues/49\n if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString();\n // END: Modifications\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/**\n * React Router DOM v6.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { useRef, useState, useLayoutEffect, createElement, forwardRef, useCallback, useMemo } from 'react';\nimport { createBrowserHistory, createHashHistory } from 'history';\nimport { Router, useHref, createPath, useLocation, useResolvedPath, useNavigate } from 'react-router';\nexport { MemoryRouter, Navigate, NavigationType, Outlet, Route, Router, Routes, UNSAFE_LocationContext, UNSAFE_NavigationContext, UNSAFE_RouteContext, createPath, createRoutesFromChildren, generatePath, matchPath, matchRoutes, parsePath, renderMatches, resolvePath, useHref, useInRouterContext, useLocation, useMatch, useNavigate, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes } from 'react-router';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nconst _excluded = [\"onClick\", \"reloadDocument\", \"replace\", \"state\", \"target\", \"to\"],\n _excluded2 = [\"aria-current\", \"caseSensitive\", \"className\", \"end\", \"style\", \"to\", \"children\"];\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n} ////////////////////////////////////////////////////////////////////////////////\n// COMPONENTS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A `` for use in web browsers. Provides the cleanest URLs.\n */\nfunction BrowserRouter(_ref) {\n let {\n basename,\n children,\n window\n } = _ref;\n let historyRef = useRef();\n\n if (historyRef.current == null) {\n historyRef.current = createBrowserHistory({\n window\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = useState({\n action: history.action,\n location: history.location\n });\n useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\n/**\n * A `` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nfunction HashRouter(_ref2) {\n let {\n basename,\n children,\n window\n } = _ref2;\n let historyRef = useRef();\n\n if (historyRef.current == null) {\n historyRef.current = createHashHistory({\n window\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = useState({\n action: history.action,\n location: history.location\n });\n useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\n/**\n * A `` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter(_ref3) {\n let {\n basename,\n children,\n history\n } = _ref3;\n const [state, setState] = useState({\n action: history.action,\n location: history.location\n });\n useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\nif (process.env.NODE_ENV !== \"production\") {\n HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\n/**\n * The public API for rendering a history-aware
.\n */\nconst Link = /*#__PURE__*/forwardRef(function LinkWithRef(_ref4, ref) {\n let {\n onClick,\n reloadDocument,\n replace = false,\n state,\n target,\n to\n } = _ref4,\n rest = _objectWithoutPropertiesLoose(_ref4, _excluded);\n\n let href = useHref(to);\n let internalOnClick = useLinkClickHandler(to, {\n replace,\n state,\n target\n });\n\n function handleClick(event) {\n if (onClick) onClick(event);\n\n if (!event.defaultPrevented && !reloadDocument) {\n internalOnClick(event);\n }\n }\n\n return (\n /*#__PURE__*/\n // eslint-disable-next-line jsx-a11y/anchor-has-content\n createElement(\"a\", _extends({}, rest, {\n href: href,\n onClick: handleClick,\n ref: ref,\n target: target\n }))\n );\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n Link.displayName = \"Link\";\n}\n\n/**\n * A wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = /*#__PURE__*/forwardRef(function NavLinkWithRef(_ref5, ref) {\n let {\n \"aria-current\": ariaCurrentProp = \"page\",\n caseSensitive = false,\n className: classNameProp = \"\",\n end = false,\n style: styleProp,\n to,\n children\n } = _ref5,\n rest = _objectWithoutPropertiesLoose(_ref5, _excluded2);\n\n let location = useLocation();\n let path = useResolvedPath(to);\n let locationPathname = location.pathname;\n let toPathname = path.pathname;\n\n if (!caseSensitive) {\n locationPathname = locationPathname.toLowerCase();\n toPathname = toPathname.toLowerCase();\n }\n\n let isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(toPathname.length) === \"/\";\n let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n let className;\n\n if (typeof classNameProp === \"function\") {\n className = classNameProp({\n isActive\n });\n } else {\n // If the className prop is not a function, we use a default `active`\n // class for s that are active. In v5 `active` was the default\n // value for `activeClassName`, but we are removing that API and can still\n // use the old default behavior for a cleaner upgrade path and keep the\n // simple styling rules working as they currently do.\n className = [classNameProp, isActive ? \"active\" : null].filter(Boolean).join(\" \");\n }\n\n let style = typeof styleProp === \"function\" ? styleProp({\n isActive\n }) : styleProp;\n return /*#__PURE__*/createElement(Link, _extends({}, rest, {\n \"aria-current\": ariaCurrent,\n className: className,\n ref: ref,\n style: style,\n to: to\n }), typeof children === \"function\" ? children({\n isActive\n }) : children);\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n NavLink.displayName = \"NavLink\";\n} ////////////////////////////////////////////////////////////////////////////////\n// HOOKS\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Handles the click behavior for router `` components. This is useful if\n * you need to create custom `` components with the same click behavior we\n * use in our exported ``.\n */\n\n\nfunction useLinkClickHandler(to, _temp) {\n let {\n target,\n replace: replaceProp,\n state\n } = _temp === void 0 ? {} : _temp;\n let navigate = useNavigate();\n let location = useLocation();\n let path = useResolvedPath(to);\n return useCallback(event => {\n if (event.button === 0 && ( // Ignore everything but left clicks\n !target || target === \"_self\") && // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event) // Ignore clicks with modifier keys\n ) {\n event.preventDefault(); // If the URL hasn't changed, a regular will do a replace instead of\n // a push, so do the same here.\n\n let replace = !!replaceProp || createPath(location) === createPath(path);\n navigate(to, {\n replace,\n state\n });\n }\n }, [location, navigate, path, replaceProp, state, target, to]);\n}\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\n\nfunction useSearchParams(defaultInit) {\n process.env.NODE_ENV !== \"production\" ? warning(typeof URLSearchParams !== \"undefined\", \"You cannot use the `useSearchParams` hook in a browser that does not \" + \"support the URLSearchParams API. If you need to support Internet \" + \"Explorer 11, we recommend you load a polyfill such as \" + \"https://github.com/ungap/url-search-params\\n\\n\" + \"If you're unsure how to load polyfills, we recommend you check out \" + \"https://polyfill.io/v3/ which provides some recommendations about how \" + \"to load polyfills only for users that need them, instead of for every \" + \"user.\") : void 0;\n let defaultSearchParamsRef = useRef(createSearchParams(defaultInit));\n let location = useLocation();\n let searchParams = useMemo(() => {\n let searchParams = createSearchParams(location.search);\n\n for (let key of defaultSearchParamsRef.current.keys()) {\n if (!searchParams.has(key)) {\n defaultSearchParamsRef.current.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n }\n\n return searchParams;\n }, [location.search]);\n let navigate = useNavigate();\n let setSearchParams = useCallback((nextInit, navigateOptions) => {\n navigate(\"?\" + createSearchParams(nextInit), navigateOptions);\n }, [navigate]);\n return [searchParams, setSearchParams];\n}\n\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n * let searchParams = new URLSearchParams([\n * ['sort', 'name'],\n * ['sort', 'price']\n * ]);\n *\n * you can do:\n *\n * let searchParams = createSearchParams({\n * sort: ['name', 'price']\n * });\n */\nfunction createSearchParams(init) {\n if (init === void 0) {\n init = \"\";\n }\n\n return new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n let value = init[key];\n return memo.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n }, []));\n}\n\nexport { BrowserRouter, HashRouter, Link, NavLink, createSearchParams, HistoryRouter as unstable_HistoryRouter, useLinkClickHandler, useSearchParams };\n//# sourceMappingURL=index.js.map\n","/**\n * React Router v6.3.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { parsePath, createMemoryHistory, Action } from 'history';\nexport { Action as NavigationType, createPath, parsePath } from 'history';\nimport { createContext, useContext, useMemo, useRef, useEffect, useCallback, createElement, useState, useLayoutEffect, Children, isValidElement, Fragment } from 'react';\n\nconst NavigationContext = /*#__PURE__*/createContext(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n NavigationContext.displayName = \"Navigation\";\n}\n\nconst LocationContext = /*#__PURE__*/createContext(null);\n\nif (process.env.NODE_ENV !== \"production\") {\n LocationContext.displayName = \"Location\";\n}\n\nconst RouteContext = /*#__PURE__*/createContext({\n outlet: null,\n matches: []\n});\n\nif (process.env.NODE_ENV !== \"production\") {\n RouteContext.displayName = \"Route\";\n}\n\nfunction invariant(cond, message) {\n if (!cond) throw new Error(message);\n}\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\nconst alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n process.env.NODE_ENV !== \"production\" ? warning(false, message) : void 0;\n }\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/api#generatepath\n */\nfunction generatePath(path, params) {\n if (params === void 0) {\n params = {};\n }\n\n return path.replace(/:(\\w+)/g, (_, key) => {\n !(params[key] != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Missing \\\":\" + key + \"\\\" param\") : invariant(false) : void 0;\n return params[key];\n }).replace(/\\/*\\*$/, _ => params[\"*\"] == null ? \"\" : params[\"*\"].replace(/^\\/*/, \"/\"));\n}\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchroutes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n if (basename === void 0) {\n basename = \"/\";\n }\n\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(branches[i], pathname);\n }\n\n return matches;\n}\n\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n if (branches === void 0) {\n branches = [];\n }\n\n if (parentsMeta === void 0) {\n parentsMeta = [];\n }\n\n if (parentPath === void 0) {\n parentPath = \"\";\n }\n\n routes.forEach((route, index) => {\n let meta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n !meta.relativePath.startsWith(parentPath) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\") : invariant(false) : void 0;\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta); // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n\n if (route.children && route.children.length > 0) {\n !(route.index !== true) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\")) : invariant(false) : void 0;\n flattenRoutes(route.children, branches, routesMeta, path);\n } // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n\n\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n });\n return branches;\n}\n\nfunction rankRouteBranches(branches) {\n branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\n\nconst isSplat = s => s === \"*\";\n\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\n\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1] : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch(branch, pathname) {\n let {\n routesMeta\n } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath({\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end\n }, remainingPathname);\n if (!match) return null;\n Object.assign(matchedParams, match.params);\n let route = meta.route;\n matches.push({\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n route\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\n\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/api#matchpath\n */\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = {\n path: pattern,\n caseSensitive: false,\n end: true\n };\n }\n\n let [matcher, paramNames] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = paramNames.reduce((memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(captureGroups[index] || \"\", paramName);\n return memo;\n }, {});\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\n\nfunction compilePath(path, caseSensitive, end) {\n if (caseSensitive === void 0) {\n caseSensitive = false;\n }\n\n if (end === void 0) {\n end = true;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\")) : void 0;\n let paramNames = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_, paramName) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else {\n regexpSource += end ? \"\\\\/*$\" // When matching to the end, ignore trailing slashes\n : // Otherwise, match a word boundary or a proceeding /. The word boundary restricts\n // parent routes to matching only their own words and nothing more, e.g. parent\n // route \"/home\" should not match \"/home2\".\n // Additionally, allow paths starting with `.`, `-`, `~`, and url-encoded entities,\n // but do not consume the character in the matched path so they can match against\n // nested paths.\n \"(?:(?=[.~-]|%[0-9A-F]{2})|\\\\b|\\\\/|$)\";\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURIComponent(value, paramName) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n process.env.NODE_ENV !== \"production\" ? warning(false, \"The value for the URL param \\\"\" + paramName + \"\\\" will not be decoded because\" + (\" the string \\\"\" + value + \"\\\" is a malformed URL segment. This is probably\") + (\" due to a bad percent encoding (\" + error + \").\")) : void 0;\n return value;\n }\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/api#resolvepath\n */\n\n\nfunction resolvePath(to, fromPathname) {\n if (fromPathname === void 0) {\n fromPathname = \"/\";\n }\n\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\n\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction resolveTo(toArg, routePathnames, locationPathname) {\n let to = typeof toArg === \"string\" ? parsePath(toArg) : toArg;\n let toPathname = toArg === \"\" || to.pathname === \"\" ? \"/\" : to.pathname; // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n\n let from;\n\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\"); // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n } // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n\n\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from); // Ensure the pathname has a trailing slash if the original to value had one.\n\n if (toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\") && !path.pathname.endsWith(\"/\")) {\n path.pathname += \"/\";\n }\n\n return path;\n}\nfunction getToPathname(to) {\n // Empty strings should be treated the same as / paths\n return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n let nextChar = pathname.charAt(basename.length);\n\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(basename.length) || \"/\";\n}\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usehref\n */\n\nfunction useHref(to) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useHref() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n basename,\n navigator\n } = useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to);\n let joinedPathname = pathname;\n\n if (basename !== \"/\") {\n let toPathname = getToPathname(to);\n let endsWithSlash = toPathname != null && toPathname.endsWith(\"/\");\n joinedPathname = pathname === \"/\" ? basename + (endsWithSlash ? \"/\" : \"\") : joinPaths([basename, pathname]);\n }\n\n return navigator.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\n/**\n * Returns true if this component is a descendant of a .\n *\n * @see https://reactrouter.com/docs/en/v6/api#useinroutercontext\n */\n\nfunction useInRouterContext() {\n return useContext(LocationContext) != null;\n}\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/docs/en/v6/api#uselocation\n */\n\nfunction useLocation() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useLocation() may be used only in the context of a component.\") : invariant(false) : void 0;\n return useContext(LocationContext).location;\n}\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigationtype\n */\n\nfunction useNavigationType() {\n return useContext(LocationContext).navigationType;\n}\n/**\n * Returns true if the URL for the given \"to\" value matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * .\n *\n * @see https://reactrouter.com/docs/en/v6/api#usematch\n */\n\nfunction useMatch(pattern) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useMatch() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n pathname\n } = useLocation();\n return useMemo(() => matchPath(pattern, pathname), [pathname, pattern]);\n}\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\n/**\n * Returns an imperative method for changing the location. Used by s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#usenavigate\n */\nfunction useNavigate() {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useNavigate() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n basename,\n navigator\n } = useContext(NavigationContext);\n let {\n matches\n } = useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(matches.map(match => match.pathnameBase));\n let activeRef = useRef(false);\n useEffect(() => {\n activeRef.current = true;\n });\n let navigate = useCallback(function (to, options) {\n if (options === void 0) {\n options = {};\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(activeRef.current, \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\") : void 0;\n if (!activeRef.current) return;\n\n if (typeof to === \"number\") {\n navigator.go(to);\n return;\n }\n\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname);\n\n if (basename !== \"/\") {\n path.pathname = joinPaths([basename, path.pathname]);\n }\n\n (!!options.replace ? navigator.replace : navigator.push)(path, options.state);\n }, [basename, navigator, routePathnamesJson, locationPathname]);\n return navigate;\n}\nconst OutletContext = /*#__PURE__*/createContext(null);\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/docs/en/v6/api#useoutletcontext\n */\n\nfunction useOutletContext() {\n return useContext(OutletContext);\n}\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by to render child routes.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useoutlet\n */\n\nfunction useOutlet(context) {\n let outlet = useContext(RouteContext).outlet;\n\n if (outlet) {\n return /*#__PURE__*/createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n\n return outlet;\n}\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useparams\n */\n\nfunction useParams() {\n let {\n matches\n } = useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useresolvedpath\n */\n\nfunction useResolvedPath(to) {\n let {\n matches\n } = useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(matches.map(match => match.pathnameBase));\n return useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname), [to, routePathnamesJson, locationPathname]);\n}\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an to render their child route's\n * element.\n *\n * @see https://reactrouter.com/docs/en/v6/api#useroutes\n */\n\nfunction useRoutes(routes, locationArg) {\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n \"useRoutes() may be used only in the context of a component.\") : invariant(false) : void 0;\n let {\n matches: parentMatches\n } = useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n\n if (process.env.NODE_ENV !== \"production\") {\n // You won't get a warning about 2 different under a \n // without a trailing *, but this is a best-effort warning anyway since we\n // cannot even give the warning unless they land at the parent route.\n //\n // Example:\n //\n // \n // {/* This route path MUST end with /* because otherwise\n // it will never match /blog/post/123 */}\n // } />\n // } />\n // \n //\n // function Blog() {\n // return (\n // \n // } />\n // \n // );\n // }\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under ) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent to .\"));\n }\n\n let locationFromContext = useLocation();\n let location;\n\n if (locationArg) {\n var _parsedLocationArg$pa;\n\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"When overriding the location using `` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : invariant(false) : void 0;\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n\n let pathname = location.pathname || \"/\";\n let remainingPathname = parentPathnameBase === \"/\" ? pathname : pathname.slice(parentPathnameBase.length) || \"/\";\n let matches = matchRoutes(routes, {\n pathname: remainingPathname\n });\n\n if (process.env.NODE_ENV !== \"production\") {\n process.env.NODE_ENV !== \"production\" ? warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(matches == null || matches[matches.length - 1].route.element !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" does not have an element. \" + \"This means it will render an with a null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n }\n\n return _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase, match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase, match.pathnameBase])\n })), parentMatches);\n}\nfunction _renderMatches(matches, parentMatches) {\n if (parentMatches === void 0) {\n parentMatches = [];\n }\n\n if (matches == null) return null;\n return matches.reduceRight((outlet, match, index) => {\n return /*#__PURE__*/createElement(RouteContext.Provider, {\n children: match.route.element !== undefined ? match.route.element : outlet,\n value: {\n outlet,\n matches: parentMatches.concat(matches.slice(0, index + 1))\n }\n });\n }, null);\n}\n\n/**\n * A that stores all entries in memory.\n *\n * @see https://reactrouter.com/docs/en/v6/api#memoryrouter\n */\nfunction MemoryRouter(_ref) {\n let {\n basename,\n children,\n initialEntries,\n initialIndex\n } = _ref;\n let historyRef = useRef();\n\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex\n });\n }\n\n let history = historyRef.current;\n let [state, setState] = useState({\n action: history.action,\n location: history.location\n });\n useLayoutEffect(() => history.listen(setState), [history]);\n return /*#__PURE__*/createElement(Router, {\n basename: basename,\n children: children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\n\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/docs/en/v6/api#navigate\n */\nfunction Navigate(_ref2) {\n let {\n to,\n replace,\n state\n } = _ref2;\n !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n \" may be used only in the context of a component.\") : invariant(false) : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!useContext(NavigationContext).static, \" must not be used on the initial render in a . \" + \"This is a no-op, but you should modify your code so the is \" + \"only ever rendered in response to some user interaction or state change.\") : void 0;\n let navigate = useNavigate();\n useEffect(() => {\n navigate(to, {\n replace,\n state\n });\n });\n return null;\n}\n\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/docs/en/v6/api#outlet\n */\nfunction Outlet(props) {\n return useOutlet(props.context);\n}\n\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/docs/en/v6/api#route\n */\nfunction Route(_props) {\n process.env.NODE_ENV !== \"production\" ? invariant(false, \"A is only ever to be used as the child of element, \" + \"never rendered directly. Please wrap your in a .\") : invariant(false) ;\n}\n\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a directly. Instead, you'll render a\n * router that is more specific to your environment such as a \n * in web browsers or a for server rendering.\n *\n * @see https://reactrouter.com/docs/en/v6/api#router\n */\nfunction Router(_ref3) {\n let {\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = Action.Pop,\n navigator,\n static: staticProp = false\n } = _ref3;\n !!useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"You cannot render a inside another .\" + \" You should never have more than one in your app.\") : invariant(false) : void 0;\n let basename = normalizePathname(basenameProp);\n let navigationContext = useMemo(() => ({\n basename,\n navigator,\n static: staticProp\n }), [basename, navigator, staticProp]);\n\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n let location = useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n\n if (trailingPathname == null) {\n return null;\n }\n\n return {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n };\n }, [basename, pathname, search, hash, state, key]);\n process.env.NODE_ENV !== \"production\" ? warning(location != null, \" is not able to match the URL \" + (\"\\\"\" + pathname + search + hash + \"\\\" because it does not start with the \") + \"basename, so the won't render anything.\") : void 0;\n\n if (location == null) {\n return null;\n }\n\n return /*#__PURE__*/createElement(NavigationContext.Provider, {\n value: navigationContext\n }, /*#__PURE__*/createElement(LocationContext.Provider, {\n children: children,\n value: {\n location,\n navigationType\n }\n }));\n}\n\n/**\n * A container for a nested tree of elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/docs/en/v6/api#routes\n */\nfunction Routes(_ref4) {\n let {\n children,\n location\n } = _ref4;\n return useRoutes(createRoutesFromChildren(children), location);\n} ///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `` element or an array of them. Used internally by\n * `` to create a route config from its children.\n *\n * @see https://reactrouter.com/docs/en/v6/api#createroutesfromchildren\n */\n\nfunction createRoutesFromChildren(children) {\n let routes = [];\n Children.forEach(children, element => {\n if (! /*#__PURE__*/isValidElement(element)) {\n // Ignore non-elements. This allows people to more easily inline\n // conditionals in their route config.\n return;\n }\n\n if (element.type === Fragment) {\n // Transparently support React.Fragment and its children.\n routes.push.apply(routes, createRoutesFromChildren(element.props.children));\n return;\n }\n\n !(element.type === Route) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"[\" + (typeof element.type === \"string\" ? element.type : element.type.name) + \"] is not a component. All component children of must be a or \") : invariant(false) : void 0;\n let route = {\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n index: element.props.index,\n path: element.props.path\n };\n\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children);\n }\n\n routes.push(route);\n });\n return routes;\n}\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\n\nfunction renderMatches(matches) {\n return _renderMatches(matches);\n}\n\nexport { MemoryRouter, Navigate, Outlet, Route, Router, Routes, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RouteContext as UNSAFE_RouteContext, createRoutesFromChildren, generatePath, matchPath, matchRoutes, renderMatches, resolvePath, useHref, useInRouterContext, useLocation, useMatch, useNavigate, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRoutes };\n//# sourceMappingURL=index.js.map\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _exenv = require('exenv');\n\nvar _TouchScrollable = require('./TouchScrollable');\n\nvar _withLockSheet = require('./withLockSheet');\n\nvar _withLockSheet2 = _interopRequireDefault(_withLockSheet);\n\nvar _withTouchListeners = require('./withTouchListeners');\n\nvar _withTouchListeners2 = _interopRequireDefault(_withTouchListeners);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ScrollLock = function (_PureComponent) {\n _inherits(ScrollLock, _PureComponent);\n\n function ScrollLock() {\n _classCallCheck(this, ScrollLock);\n\n return _possibleConstructorReturn(this, (ScrollLock.__proto__ || Object.getPrototypeOf(ScrollLock)).apply(this, arguments));\n }\n\n _createClass(ScrollLock, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseDOM) return;\n this.initialHeight = window.innerHeight;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n var offset = window.innerHeight - this.initialHeight;\n\n // adjust scroll if the window has been resized since the lock was engaged\n // e.g. mobile safari dynamic chrome heights\n if (offset) {\n window.scrollTo(0, window.pageYOffset + offset);\n }\n\n // reset the initial height in case this scroll lock is used again\n this.initialHeight = window.innerHeight;\n }\n }, {\n key: 'render',\n value: function render() {\n var children = this.props.children;\n\n\n return children ? _react2.default.createElement(\n _TouchScrollable.TouchScrollable,\n null,\n children\n ) : null;\n }\n }]);\n\n return ScrollLock;\n}(_react.PureComponent);\n\n// attach the stylesheet and inject styles on [un]mount\n\n\nvar compose = (0, _utils.pipe)(_withTouchListeners2.default, _withLockSheet2.default);\nvar SheetLock = compose(ScrollLock);\n\n// toggle the lock based on `isActive` prop\nvar LockToggle = function LockToggle(props) {\n return props.isActive ? _react2.default.createElement(SheetLock, props) : props.children;\n};\n\nLockToggle.defaultProps = {\n accountForScrollbars: true,\n children: null,\n isActive: true\n};\n\nexports.default = LockToggle;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TouchScrollable = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _exenv = require('exenv');\n\nvar _utils = require('./utils');\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TouchScrollable = exports.TouchScrollable = function (_PureComponent) {\n _inherits(TouchScrollable, _PureComponent);\n\n function TouchScrollable() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, TouchScrollable);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = TouchScrollable.__proto__ || Object.getPrototypeOf(TouchScrollable)).call.apply(_ref, [this].concat(args))), _this), _this.getScrollableArea = function (ref) {\n _this.scrollableArea = ref;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(TouchScrollable, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseEventListeners) return;\n\n this.scrollableArea.addEventListener('touchstart', _utils.preventInertiaScroll, _utils.listenerOptions);\n this.scrollableArea.addEventListener('touchmove', _utils.allowTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (!_exenv.canUseEventListeners) return;\n\n this.scrollableArea.removeEventListener('touchstart', _utils.preventInertiaScroll, _utils.listenerOptions);\n this.scrollableArea.removeEventListener('touchmove', _utils.allowTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n children = _props.children,\n rest = _objectWithoutProperties(_props, ['children']);\n\n return typeof children === 'function' ? children(this.getScrollableArea) : (0, _react.cloneElement)(children, _extends({ ref: this.getScrollableArea }, rest));\n }\n }]);\n\n return TouchScrollable;\n}(_react.PureComponent);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ScrollLock = require('./ScrollLock');\n\nObject.defineProperty(exports, 'default', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_ScrollLock).default;\n }\n});\n\nvar _TouchScrollable = require('./TouchScrollable');\n\nObject.defineProperty(exports, 'TouchScrollable', {\n enumerable: true,\n get: function get() {\n return _TouchScrollable.TouchScrollable;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.pipe = exports.listenerOptions = undefined;\nexports.preventTouchMove = preventTouchMove;\nexports.allowTouchMove = allowTouchMove;\nexports.preventInertiaScroll = preventInertiaScroll;\nexports.isTouchDevice = isTouchDevice;\nexports.camelToKebab = camelToKebab;\nexports.parse = parse;\nexports.getPadding = getPadding;\nexports.getWindowHeight = getWindowHeight;\nexports.getDocumentHeight = getDocumentHeight;\nexports.makeStyleTag = makeStyleTag;\nexports.injectStyles = injectStyles;\nexports.insertStyleTag = insertStyleTag;\n\nvar _exenv = require('exenv');\n\nvar listenerOptions = exports.listenerOptions = {\n capture: false,\n passive: false\n};\n\n// ==============================\n// Touch Helpers\n// ==============================\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n\n return false;\n}\n\nfunction allowTouchMove(e) {\n var target = e.currentTarget;\n\n if (target.scrollHeight > target.clientHeight) {\n e.stopPropagation();\n return true;\n }\n\n e.preventDefault();\n return false;\n}\n\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n}\n\n// `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\nfunction isTouchDevice() {\n if (!_exenv.canUseDOM) return false;\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\n// ==============================\n// Misc.\n// ==============================\n\nfunction camelToKebab(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction parse(val) {\n return isNaN(val) ? val : val + 'px';\n}\n\n// Take a list of functions and return a function that applies the list of\n// functions from left to right\n\nvar pipeFns = function pipeFns(a, b) {\n return function () {\n return b(a.apply(undefined, arguments));\n };\n};\nvar pipe = exports.pipe = function pipe() {\n for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return fns.reduce(pipeFns);\n};\n\n// ==============================\n// Document Helpers\n// ==============================\n\nfunction getPadding() {\n if (!_exenv.canUseDOM) return 0;\n\n var paddingRight = parseInt(window.getComputedStyle(document.body).paddingRight, 10);\n var scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n return paddingRight + scrollbarWidth;\n}\n\nfunction getWindowHeight() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n\n if (_exenv.canUseDOM) {\n return window.innerHeight * multiplier;\n }\n}\n\nfunction getDocumentHeight() {\n if (_exenv.canUseDOM) {\n return document.body.clientHeight;\n }\n}\n\n// ==============================\n// Style Sheets\n// ==============================\n\nfunction makeStyleTag() {\n if (!_exenv.canUseDOM) return;\n\n var tag = document.createElement('style');\n tag.type = 'text/css';\n tag.setAttribute('data-react-scrolllock', '');\n\n return tag;\n}\nfunction injectStyles(tag, css) {\n if (!_exenv.canUseDOM) return;\n\n if (tag.styleSheet) {\n tag.styleSheet.cssText = css;\n } else {\n tag.appendChild(document.createTextNode(css));\n }\n}\nfunction insertStyleTag(tag) {\n if (!_exenv.canUseDOM) return;\n\n var head = document.head || document.getElementsByTagName('head')[0];\n\n head.appendChild(tag);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = withLockSheet;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction withLockSheet(WrappedComponent) {\n return function (_PureComponent) {\n _inherits(SheetProvider, _PureComponent);\n\n function SheetProvider() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, SheetProvider);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = SheetProvider.__proto__ || Object.getPrototypeOf(SheetProvider)).call.apply(_ref, [this].concat(args))), _this), _this.addSheet = function () {\n var styles = _this.getStyles();\n\n var sheet = (0, _utils.makeStyleTag)();\n if (!sheet) return;\n\n (0, _utils.injectStyles)(sheet, styles);\n (0, _utils.insertStyleTag)(sheet);\n\n _this.sheet = sheet;\n }, _this.getStyles = function () {\n var accountForScrollbars = _this.props.accountForScrollbars;\n\n\n var height = (0, _utils.getDocumentHeight)();\n var paddingRight = accountForScrollbars ? (0, _utils.getPadding)() : null;\n var styles = 'body {\\n box-sizing: border-box !important;\\n overflow: hidden !important;\\n position: relative !important;\\n ' + (height ? 'height: ' + height + 'px !important;' : '') + '\\n ' + (paddingRight ? 'padding-right: ' + paddingRight + 'px !important;' : '') + '\\n }';\n\n return styles;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(SheetProvider, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.addSheet();\n }\n }, {\n key: 'removeSheet',\n value: function removeSheet() {\n if (!this.sheet) return;\n\n // $FlowFixMe\n this.sheet.parentNode.removeChild(this.sheet);\n this.sheet = null;\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.removeSheet();\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(WrappedComponent, this.props);\n }\n }]);\n\n return SheetProvider;\n }(_react.PureComponent);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = withTouchListeners;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _exenv = require('exenv');\n\nvar _utils = require('./utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// Mobile Safari ignores { overflow: hidden } declaration on the body,\n// so we have to prevent touchmove events via JS\nfunction withTouchListeners(WrappedComponent) {\n return function (_PureComponent) {\n _inherits(TouchProvider, _PureComponent);\n\n function TouchProvider() {\n _classCallCheck(this, TouchProvider);\n\n return _possibleConstructorReturn(this, (TouchProvider.__proto__ || Object.getPrototypeOf(TouchProvider)).apply(this, arguments));\n }\n\n _createClass(TouchProvider, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (!_exenv.canUseDOM || !(0, _utils.isTouchDevice)()) return;\n\n document.addEventListener('touchmove', _utils.preventTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (!_exenv.canUseDOM || !(0, _utils.isTouchDevice)()) return;\n\n document.removeEventListener('touchmove', _utils.preventTouchMove, _utils.listenerOptions);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(WrappedComponent, this.props);\n }\n }]);\n\n return TouchProvider;\n }(_react.PureComponent);\n}","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _toConsumableArray from '@babel/runtime/helpers/esm/toConsumableArray';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component, PureComponent } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { jsx } from '@emotion/core';\nimport { findDOMNode } from 'react-dom';\nimport { c as clearIndicatorCSS, a as containerCSS, b as css, d as dropdownIndicatorCSS, g as groupCSS, e as groupHeadingCSS, i as indicatorsContainerCSS, f as indicatorSeparatorCSS, h as inputCSS, l as loadingIndicatorCSS, j as loadingMessageCSS, m as menuCSS, k as menuListCSS, n as menuPortalCSS, o as multiValueCSS, p as multiValueLabelCSS, q as multiValueRemoveCSS, r as noOptionsMessageCSS, s as optionCSS, t as placeholderCSS, u as css$1, v as valueContainerCSS, w as isTouchCapable, x as isMobileDevice, y as defaultComponents, z as classNames, A as isDocumentElement, B as exportedEqual, C as cleanValue, D as scrollIntoView, E as noop, M as MenuPlacer } from './index-75b02bac.browser.esm.js';\nimport _css from '@emotion/css';\n\nvar diacritics = [{\n base: 'A',\n letters: \"A\\u24B6\\uFF21\\xC0\\xC1\\xC2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\xC3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\xC4\\u01DE\\u1EA2\\xC5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F\"\n}, {\n base: 'AA',\n letters: \"\\uA732\"\n}, {\n base: 'AE',\n letters: \"\\xC6\\u01FC\\u01E2\"\n}, {\n base: 'AO',\n letters: \"\\uA734\"\n}, {\n base: 'AU',\n letters: \"\\uA736\"\n}, {\n base: 'AV',\n letters: \"\\uA738\\uA73A\"\n}, {\n base: 'AY',\n letters: \"\\uA73C\"\n}, {\n base: 'B',\n letters: \"B\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181\"\n}, {\n base: 'C',\n letters: \"C\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\xC7\\u1E08\\u0187\\u023B\\uA73E\"\n}, {\n base: 'D',\n letters: \"D\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779\"\n}, {\n base: 'DZ',\n letters: \"\\u01F1\\u01C4\"\n}, {\n base: 'Dz',\n letters: \"\\u01F2\\u01C5\"\n}, {\n base: 'E',\n letters: \"E\\u24BA\\uFF25\\xC8\\xC9\\xCA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\xCB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E\"\n}, {\n base: 'F',\n letters: \"F\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B\"\n}, {\n base: 'G',\n letters: \"G\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E\"\n}, {\n base: 'H',\n letters: \"H\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D\"\n}, {\n base: 'I',\n letters: \"I\\u24BE\\uFF29\\xCC\\xCD\\xCE\\u0128\\u012A\\u012C\\u0130\\xCF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197\"\n}, {\n base: 'J',\n letters: \"J\\u24BF\\uFF2A\\u0134\\u0248\"\n}, {\n base: 'K',\n letters: \"K\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2\"\n}, {\n base: 'L',\n letters: \"L\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780\"\n}, {\n base: 'LJ',\n letters: \"\\u01C7\"\n}, {\n base: 'Lj',\n letters: \"\\u01C8\"\n}, {\n base: 'M',\n letters: \"M\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C\"\n}, {\n base: 'N',\n letters: \"N\\u24C3\\uFF2E\\u01F8\\u0143\\xD1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4\"\n}, {\n base: 'NJ',\n letters: \"\\u01CA\"\n}, {\n base: 'Nj',\n letters: \"\\u01CB\"\n}, {\n base: 'O',\n letters: \"O\\u24C4\\uFF2F\\xD2\\xD3\\xD4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\xD5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\xD6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\xD8\\u01FE\\u0186\\u019F\\uA74A\\uA74C\"\n}, {\n base: 'OI',\n letters: \"\\u01A2\"\n}, {\n base: 'OO',\n letters: \"\\uA74E\"\n}, {\n base: 'OU',\n letters: \"\\u0222\"\n}, {\n base: 'P',\n letters: \"P\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754\"\n}, {\n base: 'Q',\n letters: \"Q\\u24C6\\uFF31\\uA756\\uA758\\u024A\"\n}, {\n base: 'R',\n letters: \"R\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782\"\n}, {\n base: 'S',\n letters: \"S\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784\"\n}, {\n base: 'T',\n letters: \"T\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786\"\n}, {\n base: 'TZ',\n letters: \"\\uA728\"\n}, {\n base: 'U',\n letters: \"U\\u24CA\\uFF35\\xD9\\xDA\\xDB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\xDC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244\"\n}, {\n base: 'V',\n letters: \"V\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245\"\n}, {\n base: 'VY',\n letters: \"\\uA760\"\n}, {\n base: 'W',\n letters: \"W\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72\"\n}, {\n base: 'X',\n letters: \"X\\u24CD\\uFF38\\u1E8A\\u1E8C\"\n}, {\n base: 'Y',\n letters: \"Y\\u24CE\\uFF39\\u1EF2\\xDD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE\"\n}, {\n base: 'Z',\n letters: \"Z\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762\"\n}, {\n base: 'a',\n letters: \"a\\u24D0\\uFF41\\u1E9A\\xE0\\xE1\\xE2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\xE3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\xE4\\u01DF\\u1EA3\\xE5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250\"\n}, {\n base: 'aa',\n letters: \"\\uA733\"\n}, {\n base: 'ae',\n letters: \"\\xE6\\u01FD\\u01E3\"\n}, {\n base: 'ao',\n letters: \"\\uA735\"\n}, {\n base: 'au',\n letters: \"\\uA737\"\n}, {\n base: 'av',\n letters: \"\\uA739\\uA73B\"\n}, {\n base: 'ay',\n letters: \"\\uA73D\"\n}, {\n base: 'b',\n letters: \"b\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253\"\n}, {\n base: 'c',\n letters: \"c\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\xE7\\u1E09\\u0188\\u023C\\uA73F\\u2184\"\n}, {\n base: 'd',\n letters: \"d\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A\"\n}, {\n base: 'dz',\n letters: \"\\u01F3\\u01C6\"\n}, {\n base: 'e',\n letters: \"e\\u24D4\\uFF45\\xE8\\xE9\\xEA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\xEB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD\"\n}, {\n base: 'f',\n letters: \"f\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C\"\n}, {\n base: 'g',\n letters: \"g\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F\"\n}, {\n base: 'h',\n letters: \"h\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265\"\n}, {\n base: 'hv',\n letters: \"\\u0195\"\n}, {\n base: 'i',\n letters: \"i\\u24D8\\uFF49\\xEC\\xED\\xEE\\u0129\\u012B\\u012D\\xEF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131\"\n}, {\n base: 'j',\n letters: \"j\\u24D9\\uFF4A\\u0135\\u01F0\\u0249\"\n}, {\n base: 'k',\n letters: \"k\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3\"\n}, {\n base: 'l',\n letters: \"l\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747\"\n}, {\n base: 'lj',\n letters: \"\\u01C9\"\n}, {\n base: 'm',\n letters: \"m\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F\"\n}, {\n base: 'n',\n letters: \"n\\u24DD\\uFF4E\\u01F9\\u0144\\xF1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5\"\n}, {\n base: 'nj',\n letters: \"\\u01CC\"\n}, {\n base: 'o',\n letters: \"o\\u24DE\\uFF4F\\xF2\\xF3\\xF4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\xF5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\xF6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\xF8\\u01FF\\u0254\\uA74B\\uA74D\\u0275\"\n}, {\n base: 'oi',\n letters: \"\\u01A3\"\n}, {\n base: 'ou',\n letters: \"\\u0223\"\n}, {\n base: 'oo',\n letters: \"\\uA74F\"\n}, {\n base: 'p',\n letters: \"p\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755\"\n}, {\n base: 'q',\n letters: \"q\\u24E0\\uFF51\\u024B\\uA757\\uA759\"\n}, {\n base: 'r',\n letters: \"r\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783\"\n}, {\n base: 's',\n letters: \"s\\u24E2\\uFF53\\xDF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B\"\n}, {\n base: 't',\n letters: \"t\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787\"\n}, {\n base: 'tz',\n letters: \"\\uA729\"\n}, {\n base: 'u',\n letters: \"u\\u24E4\\uFF55\\xF9\\xFA\\xFB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\xFC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289\"\n}, {\n base: 'v',\n letters: \"v\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C\"\n}, {\n base: 'vy',\n letters: \"\\uA761\"\n}, {\n base: 'w',\n letters: \"w\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73\"\n}, {\n base: 'x',\n letters: \"x\\u24E7\\uFF58\\u1E8B\\u1E8D\"\n}, {\n base: 'y',\n letters: \"y\\u24E8\\uFF59\\u1EF3\\xFD\\u0177\\u1EF9\\u0233\\u1E8F\\xFF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF\"\n}, {\n base: 'z',\n letters: \"z\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763\"\n}];\nvar anyDiacritic = new RegExp('[' + diacritics.map(function (d) {\n return d.letters;\n}).join('') + ']', 'g');\nvar diacriticToBase = {};\n\nfor (var i = 0; i < diacritics.length; i++) {\n var diacritic = diacritics[i];\n\n for (var j = 0; j < diacritic.letters.length; j++) {\n diacriticToBase[diacritic.letters[j]] = diacritic.base;\n }\n}\n\nvar stripDiacritics = function stripDiacritics(str) {\n return str.replace(anyDiacritic, function (match) {\n return diacriticToBase[match];\n });\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar trimString = function trimString(str) {\n return str.replace(/^\\s+|\\s+$/g, '');\n};\n\nvar defaultStringify = function defaultStringify(option) {\n return \"\".concat(option.label, \" \").concat(option.value);\n};\n\nvar createFilter = function createFilter(config) {\n return function (option, rawInput) {\n var _ignoreCase$ignoreAcc = _objectSpread({\n ignoreCase: true,\n ignoreAccents: true,\n stringify: defaultStringify,\n trim: true,\n matchFrom: 'any'\n }, config),\n ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,\n ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,\n stringify = _ignoreCase$ignoreAcc.stringify,\n trim = _ignoreCase$ignoreAcc.trim,\n matchFrom = _ignoreCase$ignoreAcc.matchFrom;\n\n var input = trim ? trimString(rawInput) : rawInput;\n var candidate = trim ? trimString(stringify(option)) : stringify(option);\n\n if (ignoreCase) {\n input = input.toLowerCase();\n candidate = candidate.toLowerCase();\n }\n\n if (ignoreAccents) {\n input = stripDiacritics(input);\n candidate = stripDiacritics(candidate);\n }\n\n return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;\n };\n};\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref = process.env.NODE_ENV === \"production\" ? {\n name: \"1laao21-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;\"\n} : {\n name: \"1laao21-a11yText\",\n styles: \"label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkExMXlUZXh0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFJIiwiZmlsZSI6IkExMXlUZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGZsb3dcbi8qKiBAanN4IGpzeCAqL1xuaW1wb3J0IHsgdHlwZSBFbGVtZW50Q29uZmlnIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsganN4IH0gZnJvbSAnQGVtb3Rpb24vY29yZSc7XG5cbi8vIEFzc2lzdGl2ZSB0ZXh0IHRvIGRlc2NyaWJlIHZpc3VhbCBlbGVtZW50cy4gSGlkZGVuIGZvciBzaWdodGVkIHVzZXJzLlxuY29uc3QgQTExeVRleHQgPSAocHJvcHM6IEVsZW1lbnRDb25maWc8J3NwYW4nPikgPT4gKFxuICA8c3BhblxuICAgIGNzcz17e1xuICAgICAgbGFiZWw6ICdhMTF5VGV4dCcsXG4gICAgICB6SW5kZXg6IDk5OTksXG4gICAgICBib3JkZXI6IDAsXG4gICAgICBjbGlwOiAncmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpJyxcbiAgICAgIGhlaWdodDogMSxcbiAgICAgIHdpZHRoOiAxLFxuICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICBwYWRkaW5nOiAwLFxuICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBBMTF5VGV4dDtcbiJdfQ== */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\nvar A11yText = function A11yText(props) {\n return jsx(\"span\", _extends({\n css: _ref\n }, props));\n};\n\nfunction DummyInput(_ref) {\n var inProp = _ref.in,\n out = _ref.out,\n onExited = _ref.onExited,\n appear = _ref.appear,\n enter = _ref.enter,\n exit = _ref.exit,\n innerRef = _ref.innerRef,\n emotion = _ref.emotion,\n props = _objectWithoutProperties(_ref, [\"in\", \"out\", \"onExited\", \"appear\", \"enter\", \"exit\", \"innerRef\", \"emotion\"]);\n\n return jsx(\"input\", _extends({\n ref: innerRef\n }, props, {\n css: /*#__PURE__*/_css({\n label: 'dummyInput',\n // get rid of any default styles\n background: 0,\n border: 0,\n fontSize: 'inherit',\n outline: 0,\n padding: 0,\n // important! without `width` browsers won't allow focus\n width: 1,\n // remove cursor on desktop\n color: 'transparent',\n // remove cursor on mobile whilst maintaining \"scroll into view\" behaviour\n left: -100,\n opacity: 0,\n position: 'relative',\n transform: 'scale(0)'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkR1bW15SW5wdXQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJNIiwiZmlsZSI6IkR1bW15SW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyBqc3ggfSBmcm9tICdAZW1vdGlvbi9jb3JlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRHVtbXlJbnB1dCh7XG4gIGluOiBpblByb3AsXG4gIG91dCxcbiAgb25FeGl0ZWQsXG4gIGFwcGVhcixcbiAgZW50ZXIsXG4gIGV4aXQsXG4gIGlubmVyUmVmLFxuICBlbW90aW9uLFxuICAuLi5wcm9wc1xufTogYW55KSB7XG4gIHJldHVybiAoXG4gICAgPGlucHV0XG4gICAgICByZWY9e2lubmVyUmVmfVxuICAgICAgey4uLnByb3BzfVxuICAgICAgY3NzPXt7XG4gICAgICAgIGxhYmVsOiAnZHVtbXlJbnB1dCcsXG4gICAgICAgIC8vIGdldCByaWQgb2YgYW55IGRlZmF1bHQgc3R5bGVzXG4gICAgICAgIGJhY2tncm91bmQ6IDAsXG4gICAgICAgIGJvcmRlcjogMCxcbiAgICAgICAgZm9udFNpemU6ICdpbmhlcml0JyxcbiAgICAgICAgb3V0bGluZTogMCxcbiAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgLy8gaW1wb3J0YW50ISB3aXRob3V0IGB3aWR0aGAgYnJvd3NlcnMgd29uJ3QgYWxsb3cgZm9jdXNcbiAgICAgICAgd2lkdGg6IDEsXG5cbiAgICAgICAgLy8gcmVtb3ZlIGN1cnNvciBvbiBkZXNrdG9wXG4gICAgICAgIGNvbG9yOiAndHJhbnNwYXJlbnQnLFxuXG4gICAgICAgIC8vIHJlbW92ZSBjdXJzb3Igb24gbW9iaWxlIHdoaWxzdCBtYWludGFpbmluZyBcInNjcm9sbCBpbnRvIHZpZXdcIiBiZWhhdmlvdXJcbiAgICAgICAgbGVmdDogLTEwMCxcbiAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKDApJyxcbiAgICAgIH19XG4gICAgLz5cbiAgKTtcbn1cbiJdfQ== */\")\n }));\n}\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar NodeResolver = /*#__PURE__*/function (_Component) {\n _inherits(NodeResolver, _Component);\n\n var _super = _createSuper(NodeResolver);\n\n function NodeResolver() {\n _classCallCheck(this, NodeResolver);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(NodeResolver, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.props.innerRef(findDOMNode(this));\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.props.innerRef(null);\n }\n }, {\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return NodeResolver;\n}(Component);\n\nvar STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];\nvar LOCK_STYLES = {\n boxSizing: 'border-box',\n // account for possible declaration `width: 100%;` on body\n overflow: 'hidden',\n position: 'relative',\n height: '100%'\n};\n\nfunction preventTouchMove(e) {\n e.preventDefault();\n}\nfunction allowTouchMove(e) {\n e.stopPropagation();\n}\nfunction preventInertiaScroll() {\n var top = this.scrollTop;\n var totalScroll = this.scrollHeight;\n var currentScroll = top + this.offsetHeight;\n\n if (top === 0) {\n this.scrollTop = 1;\n } else if (currentScroll === totalScroll) {\n this.scrollTop = top - 1;\n }\n} // `ontouchstart` check works on most browsers\n// `maxTouchPoints` works on IE10/11 and Surface\n\nfunction isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints;\n}\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar canUseDOM = !!( window.document && window.document.createElement);\nvar activeScrollLocks = 0;\n\nvar ScrollLock = /*#__PURE__*/function (_Component) {\n _inherits(ScrollLock, _Component);\n\n var _super = _createSuper$1(ScrollLock);\n\n function ScrollLock() {\n var _this;\n\n _classCallCheck(this, ScrollLock);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.originalStyles = {};\n _this.listenerOptions = {\n capture: false,\n passive: false\n };\n return _this;\n }\n\n _createClass(ScrollLock, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n if (!canUseDOM) return;\n var _this$props = this.props,\n accountForScrollbars = _this$props.accountForScrollbars,\n touchScrollTarget = _this$props.touchScrollTarget;\n var target = document.body;\n var targetStyle = target && target.style;\n\n if (accountForScrollbars) {\n // store any styles already applied to the body\n STYLE_KEYS.forEach(function (key) {\n var val = targetStyle && targetStyle[key];\n _this2.originalStyles[key] = val;\n });\n } // apply the lock styles and padding if this is the first scroll lock\n\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n var currentPadding = parseInt(this.originalStyles.paddingRight, 10) || 0;\n var clientWidth = document.body ? document.body.clientWidth : 0;\n var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;\n Object.keys(LOCK_STYLES).forEach(function (key) {\n var val = LOCK_STYLES[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n\n if (targetStyle) {\n targetStyle.paddingRight = \"\".concat(adjustedPadding, \"px\");\n }\n } // account for touch devices\n\n\n if (target && isTouchDevice()) {\n // Mobile Safari ignores { overflow: hidden } declaration on the body.\n target.addEventListener('touchmove', preventTouchMove, this.listenerOptions); // Allow scroll on provided target\n\n if (touchScrollTarget) {\n touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n touchScrollTarget.addEventListener('touchmove', allowTouchMove, this.listenerOptions);\n }\n } // increment active scroll locks\n\n\n activeScrollLocks += 1;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n var _this3 = this;\n\n if (!canUseDOM) return;\n var _this$props2 = this.props,\n accountForScrollbars = _this$props2.accountForScrollbars,\n touchScrollTarget = _this$props2.touchScrollTarget;\n var target = document.body;\n var targetStyle = target && target.style; // safely decrement active scroll locks\n\n activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any\n\n if (accountForScrollbars && activeScrollLocks < 1) {\n STYLE_KEYS.forEach(function (key) {\n var val = _this3.originalStyles[key];\n\n if (targetStyle) {\n targetStyle[key] = val;\n }\n });\n } // remove touch listeners\n\n\n if (target && isTouchDevice()) {\n target.removeEventListener('touchmove', preventTouchMove, this.listenerOptions);\n\n if (touchScrollTarget) {\n touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, this.listenerOptions);\n touchScrollTarget.removeEventListener('touchmove', allowTouchMove, this.listenerOptions);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return ScrollLock;\n}(Component);\n\nScrollLock.defaultProps = {\n accountForScrollbars: true\n};\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _ref$1 = process.env.NODE_ENV === \"production\" ? {\n name: \"1dsbpcp\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;\"\n} : {\n name: \"1dsbpcp\",\n styles: \"position:fixed;left:0;bottom:0;right:0;top:0;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNjcm9sbEJsb2NrLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZEVSIsImZpbGUiOiJTY3JvbGxCbG9jay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBmbG93XG4vKiogQGpzeCBqc3ggKi9cbmltcG9ydCB7IFB1cmVDb21wb25lbnQsIHR5cGUgRWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGpzeCB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuaW1wb3J0IE5vZGVSZXNvbHZlciBmcm9tICcuL05vZGVSZXNvbHZlcic7XG5pbXBvcnQgU2Nyb2xsTG9jayBmcm9tICcuL1Njcm9sbExvY2svaW5kZXgnO1xuXG50eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogRWxlbWVudDwqPixcbiAgaXNFbmFibGVkOiBib29sZWFuLFxufTtcbnR5cGUgU3RhdGUgPSB7XG4gIHRvdWNoU2Nyb2xsVGFyZ2V0OiBIVE1MRWxlbWVudCB8IG51bGwsXG59O1xuXG4vLyBOT1RFOlxuLy8gV2Ugc2hvdWxkbid0IG5lZWQgdGhpcyBhZnRlciB1cGRhdGluZyB0byBSZWFjdCB2MTYuMy4wLCB3aGljaCBpbnRyb2R1Y2VzOlxuLy8gLSBjcmVhdGVSZWYoKSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjcmVhdGVyZWZcbi8vIC0gZm9yd2FyZFJlZigpIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGZvcndhcmRyZWZcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2Nyb2xsQmxvY2sgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PFByb3BzLCBTdGF0ZT4ge1xuICBzdGF0ZSA9IHsgdG91Y2hTY3JvbGxUYXJnZXQ6IG51bGwgfTtcblxuICAvLyBtdXN0IGJlIGluIHN0YXRlIHRvIHRyaWdnZXIgYSByZS1yZW5kZXIsIG9ubHkgcnVucyBvbmNlIHBlciBpbnN0YW5jZVxuICBnZXRTY3JvbGxUYXJnZXQgPSAocmVmOiBIVE1MRWxlbWVudCkgPT4ge1xuICAgIGlmIChyZWYgPT09IHRoaXMuc3RhdGUudG91Y2hTY3JvbGxUYXJnZXQpIHJldHVybjtcbiAgICB0aGlzLnNldFN0YXRlKHsgdG91Y2hTY3JvbGxUYXJnZXQ6IHJlZiB9KTtcbiAgfTtcblxuICAvLyB0aGlzIHdpbGwgY2xvc2UgdGhlIG1lbnUgd2hlbiBhIHVzZXIgY2xpY2tzIG91dHNpZGVcbiAgYmx1clNlbGVjdElucHV0ID0gKCkgPT4ge1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGlzRW5hYmxlZCB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCB7IHRvdWNoU2Nyb2xsVGFyZ2V0IH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgLy8gYmFpbCBlYXJseSBpZiBub3QgZW5hYmxlZFxuICAgIGlmICghaXNFbmFibGVkKSByZXR1cm4gY2hpbGRyZW47XG5cbiAgICAvKlxuICAgICAqIERpdlxuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGJsb2NrcyBzY3JvbGxpbmcgb24gbm9uLWJvZHkgZWxlbWVudHMgYmVoaW5kIHRoZSBtZW51XG5cbiAgICAgKiBOb2RlUmVzb2x2ZXJcbiAgICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAgKiB3ZSBuZWVkIGEgcmVmZXJlbmNlIHRvIHRoZSBzY3JvbGxhYmxlIGVsZW1lbnQgdG8gXCJ1bmxvY2tcIiBzY3JvbGwgb25cbiAgICAgKiBtb2JpbGUgZGV2aWNlc1xuXG4gICAgICogU2Nyb2xsTG9ja1xuICAgICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgICAqIGFjdHVhbGx5IGRvZXMgdGhlIHNjcm9sbCBsb2NraW5nXG4gICAgICovXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLmJsdXJTZWxlY3RJbnB1dH1cbiAgICAgICAgICBjc3M9e3sgcG9zaXRpb246ICdmaXhlZCcsIGxlZnQ6IDAsIGJvdHRvbTogMCwgcmlnaHQ6IDAsIHRvcDogMCB9fVxuICAgICAgICAvPlxuICAgICAgICA8Tm9kZVJlc29sdmVyIGlubmVyUmVmPXt0aGlzLmdldFNjcm9sbFRhcmdldH0+e2NoaWxkcmVufTwvTm9kZVJlc29sdmVyPlxuICAgICAgICB7dG91Y2hTY3JvbGxUYXJnZXQgPyAoXG4gICAgICAgICAgPFNjcm9sbExvY2sgdG91Y2hTY3JvbGxUYXJnZXQ9e3RvdWNoU2Nyb2xsVGFyZ2V0fSAvPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ== */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1\n};\n\n// NOTE:\n// We shouldn't need this after updating to React v16.3.0, which introduces:\n// - createRef() https://reactjs.org/docs/react-api.html#reactcreateref\n// - forwardRef() https://reactjs.org/docs/react-api.html#reactforwardref\nvar ScrollBlock = /*#__PURE__*/function (_PureComponent) {\n _inherits(ScrollBlock, _PureComponent);\n\n var _super = _createSuper$2(ScrollBlock);\n\n function ScrollBlock() {\n var _this;\n\n _classCallCheck(this, ScrollBlock);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n touchScrollTarget: null\n };\n\n _this.getScrollTarget = function (ref) {\n if (ref === _this.state.touchScrollTarget) return;\n\n _this.setState({\n touchScrollTarget: ref\n });\n };\n\n _this.blurSelectInput = function () {\n if (document.activeElement) {\n document.activeElement.blur();\n }\n };\n\n return _this;\n }\n\n _createClass(ScrollBlock, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n isEnabled = _this$props.isEnabled;\n var touchScrollTarget = this.state.touchScrollTarget; // bail early if not enabled\n\n if (!isEnabled) return children;\n /*\n * Div\n * ------------------------------\n * blocks scrolling on non-body elements behind the menu\n * NodeResolver\n * ------------------------------\n * we need a reference to the scrollable element to \"unlock\" scroll on\n * mobile devices\n * ScrollLock\n * ------------------------------\n * actually does the scroll locking\n */\n\n return jsx(\"div\", null, jsx(\"div\", {\n onClick: this.blurSelectInput,\n css: _ref$1\n }), jsx(NodeResolver, {\n innerRef: this.getScrollTarget\n }, children), touchScrollTarget ? jsx(ScrollLock, {\n touchScrollTarget: touchScrollTarget\n }) : null);\n }\n }]);\n\n return ScrollBlock;\n}(PureComponent);\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar ScrollCaptor = /*#__PURE__*/function (_Component) {\n _inherits(ScrollCaptor, _Component);\n\n var _super = _createSuper$3(ScrollCaptor);\n\n function ScrollCaptor() {\n var _this;\n\n _classCallCheck(this, ScrollCaptor);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.isBottom = false;\n _this.isTop = false;\n _this.scrollTarget = void 0;\n _this.touchStart = void 0;\n\n _this.cancelScroll = function (event) {\n event.preventDefault();\n event.stopPropagation();\n };\n\n _this.handleEventDelta = function (event, delta) {\n var _this$props = _this.props,\n onBottomArrive = _this$props.onBottomArrive,\n onBottomLeave = _this$props.onBottomLeave,\n onTopArrive = _this$props.onTopArrive,\n onTopLeave = _this$props.onTopLeave;\n var _this$scrollTarget = _this.scrollTarget,\n scrollTop = _this$scrollTarget.scrollTop,\n scrollHeight = _this$scrollTarget.scrollHeight,\n clientHeight = _this$scrollTarget.clientHeight;\n var target = _this.scrollTarget;\n var isDeltaPositive = delta > 0;\n var availableScroll = scrollHeight - clientHeight - scrollTop;\n var shouldCancelScroll = false; // reset bottom/top flags\n\n if (availableScroll > delta && _this.isBottom) {\n if (onBottomLeave) onBottomLeave(event);\n _this.isBottom = false;\n }\n\n if (isDeltaPositive && _this.isTop) {\n if (onTopLeave) onTopLeave(event);\n _this.isTop = false;\n } // bottom limit\n\n\n if (isDeltaPositive && delta > availableScroll) {\n if (onBottomArrive && !_this.isBottom) {\n onBottomArrive(event);\n }\n\n target.scrollTop = scrollHeight;\n shouldCancelScroll = true;\n _this.isBottom = true; // top limit\n } else if (!isDeltaPositive && -delta > scrollTop) {\n if (onTopArrive && !_this.isTop) {\n onTopArrive(event);\n }\n\n target.scrollTop = 0;\n shouldCancelScroll = true;\n _this.isTop = true;\n } // cancel scroll\n\n\n if (shouldCancelScroll) {\n _this.cancelScroll(event);\n }\n };\n\n _this.onWheel = function (event) {\n _this.handleEventDelta(event, event.deltaY);\n };\n\n _this.onTouchStart = function (event) {\n // set touch start so we can calculate touchmove delta\n _this.touchStart = event.changedTouches[0].clientY;\n };\n\n _this.onTouchMove = function (event) {\n var deltaY = _this.touchStart - event.changedTouches[0].clientY;\n\n _this.handleEventDelta(event, deltaY);\n };\n\n _this.getScrollTarget = function (ref) {\n _this.scrollTarget = ref;\n };\n\n return _this;\n }\n\n _createClass(ScrollCaptor, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListening(this.scrollTarget);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListening(this.scrollTarget);\n }\n }, {\n key: \"startListening\",\n value: function startListening(el) {\n // bail early if no element is available to attach to\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('wheel', this.onWheel, false);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchstart', this.onTouchStart, false);\n }\n\n if (typeof el.addEventListener === 'function') {\n el.addEventListener('touchmove', this.onTouchMove, false);\n }\n }\n }, {\n key: \"stopListening\",\n value: function stopListening(el) {\n if (!el) return; // all the if statements are to appease Flow 😢\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('wheel', this.onWheel, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchstart', this.onTouchStart, false);\n }\n\n if (typeof el.removeEventListener === 'function') {\n el.removeEventListener('touchmove', this.onTouchMove, false);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(NodeResolver, {\n innerRef: this.getScrollTarget\n }, this.props.children);\n }\n }]);\n\n return ScrollCaptor;\n}(Component);\n\nfunction ScrollCaptorSwitch(_ref) {\n var _ref$isEnabled = _ref.isEnabled,\n isEnabled = _ref$isEnabled === void 0 ? true : _ref$isEnabled,\n props = _objectWithoutProperties(_ref, [\"isEnabled\"]);\n\n return isEnabled ? /*#__PURE__*/React.createElement(ScrollCaptor, props) : props.children;\n}\n\nvar instructionsAriaMessage = function instructionsAriaMessage(event) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var isSearchable = context.isSearchable,\n isMulti = context.isMulti,\n label = context.label,\n isDisabled = context.isDisabled,\n tabSelectsValue = context.tabSelectsValue;\n\n switch (event) {\n case 'menu':\n return \"Use Up and Down to choose options\".concat(isDisabled ? '' : ', press Enter to select the currently focused option', \", press Escape to exit the menu\").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', \".\");\n\n case 'input':\n return \"\".concat(label ? label : 'Select', \" is focused \").concat(isSearchable ? ',type to refine list' : '', \", press Down to open the menu, \").concat(isMulti ? ' press left to focus selected values' : '');\n\n case 'value':\n return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';\n }\n};\nvar valueEventAriaMessage = function valueEventAriaMessage(event, context) {\n var value = context.value,\n isDisabled = context.isDisabled;\n if (!value) return;\n\n switch (event) {\n case 'deselect-option':\n case 'pop-value':\n case 'remove-value':\n return \"option \".concat(value, \", deselected.\");\n\n case 'select-option':\n return isDisabled ? \"option \".concat(value, \" is disabled. Select another option.\") : \"option \".concat(value, \", selected.\");\n }\n};\nvar valueFocusAriaMessage = function valueFocusAriaMessage(_ref) {\n var focusedValue = _ref.focusedValue,\n getOptionLabel = _ref.getOptionLabel,\n selectValue = _ref.selectValue;\n return \"value \".concat(getOptionLabel(focusedValue), \" focused, \").concat(selectValue.indexOf(focusedValue) + 1, \" of \").concat(selectValue.length, \".\");\n};\nvar optionFocusAriaMessage = function optionFocusAriaMessage(_ref2) {\n var focusedOption = _ref2.focusedOption,\n getOptionLabel = _ref2.getOptionLabel,\n options = _ref2.options;\n return \"option \".concat(getOptionLabel(focusedOption), \" focused\").concat(focusedOption.isDisabled ? ' disabled' : '', \", \").concat(options.indexOf(focusedOption) + 1, \" of \").concat(options.length, \".\");\n};\nvar resultsAriaMessage = function resultsAriaMessage(_ref3) {\n var inputValue = _ref3.inputValue,\n screenReaderMessage = _ref3.screenReaderMessage;\n return \"\".concat(screenReaderMessage).concat(inputValue ? ' for search term ' + inputValue : '', \".\");\n};\n\nvar formatGroupLabel = function formatGroupLabel(group) {\n return group.label;\n};\nvar getOptionLabel = function getOptionLabel(option) {\n return option.label;\n};\nvar getOptionValue = function getOptionValue(option) {\n return option.value;\n};\nvar isOptionDisabled = function isOptionDisabled(option) {\n return !!option.isDisabled;\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar defaultStyles = {\n clearIndicator: clearIndicatorCSS,\n container: containerCSS,\n control: css,\n dropdownIndicator: dropdownIndicatorCSS,\n group: groupCSS,\n groupHeading: groupHeadingCSS,\n indicatorsContainer: indicatorsContainerCSS,\n indicatorSeparator: indicatorSeparatorCSS,\n input: inputCSS,\n loadingIndicator: loadingIndicatorCSS,\n loadingMessage: loadingMessageCSS,\n menu: menuCSS,\n menuList: menuListCSS,\n menuPortal: menuPortalCSS,\n multiValue: multiValueCSS,\n multiValueLabel: multiValueLabelCSS,\n multiValueRemove: multiValueRemoveCSS,\n noOptionsMessage: noOptionsMessageCSS,\n option: optionCSS,\n placeholder: placeholderCSS,\n singleValue: css$1,\n valueContainer: valueContainerCSS\n}; // Merge Utility\n// Allows consumers to extend a base Select with additional styles\n\nfunction mergeStyles(source) {\n var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // initialize with source styles\n var styles = _objectSpread$1({}, source); // massage in target styles\n\n\n Object.keys(target).forEach(function (key) {\n if (source[key]) {\n styles[key] = function (rsCss, props) {\n return target[key](source[key](rsCss, props), props);\n };\n } else {\n styles[key] = target[key];\n }\n });\n return styles;\n}\n\nvar colors = {\n primary: '#2684FF',\n primary75: '#4C9AFF',\n primary50: '#B2D4FF',\n primary25: '#DEEBFF',\n danger: '#DE350B',\n dangerLight: '#FFBDAD',\n neutral0: 'hsl(0, 0%, 100%)',\n neutral5: 'hsl(0, 0%, 95%)',\n neutral10: 'hsl(0, 0%, 90%)',\n neutral20: 'hsl(0, 0%, 80%)',\n neutral30: 'hsl(0, 0%, 70%)',\n neutral40: 'hsl(0, 0%, 60%)',\n neutral50: 'hsl(0, 0%, 50%)',\n neutral60: 'hsl(0, 0%, 40%)',\n neutral70: 'hsl(0, 0%, 30%)',\n neutral80: 'hsl(0, 0%, 20%)',\n neutral90: 'hsl(0, 0%, 10%)'\n};\nvar borderRadius = 4; // Used to calculate consistent margin/padding on elements\n\nvar baseUnit = 4; // The minimum height of the control\n\nvar controlHeight = 38; // The amount of space between the control and menu */\n\nvar menuGutter = baseUnit * 2;\nvar spacing = {\n baseUnit: baseUnit,\n controlHeight: controlHeight,\n menuGutter: menuGutter\n};\nvar defaultTheme = {\n borderRadius: borderRadius,\n colors: colors,\n spacing: spacing\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$4(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$4(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$4() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar defaultProps = {\n backspaceRemovesValue: true,\n blurInputOnSelect: isTouchCapable(),\n captureMenuScroll: !isTouchCapable(),\n closeMenuOnSelect: true,\n closeMenuOnScroll: false,\n components: {},\n controlShouldRenderValue: true,\n escapeClearsValue: false,\n filterOption: createFilter(),\n formatGroupLabel: formatGroupLabel,\n getOptionLabel: getOptionLabel,\n getOptionValue: getOptionValue,\n isDisabled: false,\n isLoading: false,\n isMulti: false,\n isRtl: false,\n isSearchable: true,\n isOptionDisabled: isOptionDisabled,\n loadingMessage: function loadingMessage() {\n return 'Loading...';\n },\n maxMenuHeight: 300,\n minMenuHeight: 140,\n menuIsOpen: false,\n menuPlacement: 'bottom',\n menuPosition: 'absolute',\n menuShouldBlockScroll: false,\n menuShouldScrollIntoView: !isMobileDevice(),\n noOptionsMessage: function noOptionsMessage() {\n return 'No options';\n },\n openMenuOnFocus: false,\n openMenuOnClick: true,\n options: [],\n pageSize: 5,\n placeholder: 'Select...',\n screenReaderStatus: function screenReaderStatus(_ref) {\n var count = _ref.count;\n return \"\".concat(count, \" result\").concat(count !== 1 ? 's' : '', \" available\");\n },\n styles: {},\n tabIndex: '0',\n tabSelectsValue: true\n};\nvar instanceId = 1;\n\nvar Select = /*#__PURE__*/function (_Component) {\n _inherits(Select, _Component);\n\n var _super = _createSuper$4(Select);\n\n // Misc. Instance Properties\n // ------------------------------\n // TODO\n // Refs\n // ------------------------------\n // Lifecycle\n // ------------------------------\n function Select(_props) {\n var _this;\n\n _classCallCheck(this, Select);\n\n _this = _super.call(this, _props);\n _this.state = {\n ariaLiveSelection: '',\n ariaLiveContext: '',\n focusedOption: null,\n focusedValue: null,\n inputIsHidden: false,\n isFocused: false,\n menuOptions: {\n render: [],\n focusable: []\n },\n selectValue: []\n };\n _this.blockOptionHover = false;\n _this.isComposing = false;\n _this.clearFocusValueOnUpdate = false;\n _this.commonProps = void 0;\n _this.components = void 0;\n _this.hasGroups = false;\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n _this.inputIsHiddenAfterUpdate = void 0;\n _this.instancePrefix = '';\n _this.openAfterFocus = false;\n _this.scrollToFocusedOptionOnUpdate = false;\n _this.userIsDragging = void 0;\n _this.controlRef = null;\n\n _this.getControlRef = function (ref) {\n _this.controlRef = ref;\n };\n\n _this.focusedOptionRef = null;\n\n _this.getFocusedOptionRef = function (ref) {\n _this.focusedOptionRef = ref;\n };\n\n _this.menuListRef = null;\n\n _this.getMenuListRef = function (ref) {\n _this.menuListRef = ref;\n };\n\n _this.inputRef = null;\n\n _this.getInputRef = function (ref) {\n _this.inputRef = ref;\n };\n\n _this.cacheComponents = function (components) {\n _this.components = defaultComponents({\n components: components\n });\n };\n\n _this.focus = _this.focusInput;\n _this.blur = _this.blurInput;\n\n _this.onChange = function (newValue, actionMeta) {\n var _this$props = _this.props,\n onChange = _this$props.onChange,\n name = _this$props.name;\n onChange(newValue, _objectSpread$2(_objectSpread$2({}, actionMeta), {}, {\n name: name\n }));\n };\n\n _this.setValue = function (newValue) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';\n var option = arguments.length > 2 ? arguments[2] : undefined;\n var _this$props2 = _this.props,\n closeMenuOnSelect = _this$props2.closeMenuOnSelect,\n isMulti = _this$props2.isMulti;\n\n _this.onInputChange('', {\n action: 'set-value'\n });\n\n if (closeMenuOnSelect) {\n _this.inputIsHiddenAfterUpdate = !isMulti;\n\n _this.onMenuClose();\n } // when the select value should change, we should reset focusedValue\n\n\n _this.clearFocusValueOnUpdate = true;\n\n _this.onChange(newValue, {\n action: action,\n option: option\n });\n };\n\n _this.selectOption = function (newValue) {\n var _this$props3 = _this.props,\n blurInputOnSelect = _this$props3.blurInputOnSelect,\n isMulti = _this$props3.isMulti;\n var selectValue = _this.state.selectValue;\n\n if (isMulti) {\n if (_this.isOptionSelected(newValue, selectValue)) {\n var candidate = _this.getOptionValue(newValue);\n\n _this.setValue(selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n }), 'deselect-option', newValue);\n\n _this.announceAriaLiveSelection({\n event: 'deselect-option',\n context: {\n value: _this.getOptionLabel(newValue)\n }\n });\n } else {\n if (!_this.isOptionDisabled(newValue, selectValue)) {\n _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);\n\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue)\n }\n });\n } else {\n // announce that option is disabled\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue),\n isDisabled: true\n }\n });\n }\n }\n } else {\n if (!_this.isOptionDisabled(newValue, selectValue)) {\n _this.setValue(newValue, 'select-option');\n\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue)\n }\n });\n } else {\n // announce that option is disabled\n _this.announceAriaLiveSelection({\n event: 'select-option',\n context: {\n value: _this.getOptionLabel(newValue),\n isDisabled: true\n }\n });\n }\n }\n\n if (blurInputOnSelect) {\n _this.blurInput();\n }\n };\n\n _this.removeValue = function (removedValue) {\n var selectValue = _this.state.selectValue;\n\n var candidate = _this.getOptionValue(removedValue);\n\n var newValue = selectValue.filter(function (i) {\n return _this.getOptionValue(i) !== candidate;\n });\n\n _this.onChange(newValue.length ? newValue : null, {\n action: 'remove-value',\n removedValue: removedValue\n });\n\n _this.announceAriaLiveSelection({\n event: 'remove-value',\n context: {\n value: removedValue ? _this.getOptionLabel(removedValue) : ''\n }\n });\n\n _this.focusInput();\n };\n\n _this.clearValue = function () {\n _this.onChange(null, {\n action: 'clear'\n });\n };\n\n _this.popValue = function () {\n var selectValue = _this.state.selectValue;\n var lastSelectedValue = selectValue[selectValue.length - 1];\n var newValue = selectValue.slice(0, selectValue.length - 1);\n\n _this.announceAriaLiveSelection({\n event: 'pop-value',\n context: {\n value: lastSelectedValue ? _this.getOptionLabel(lastSelectedValue) : ''\n }\n });\n\n _this.onChange(newValue.length ? newValue : null, {\n action: 'pop-value',\n removedValue: lastSelectedValue\n });\n };\n\n _this.getValue = function () {\n return _this.state.selectValue;\n };\n\n _this.cx = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));\n };\n\n _this.getOptionLabel = function (data) {\n return _this.props.getOptionLabel(data);\n };\n\n _this.getOptionValue = function (data) {\n return _this.props.getOptionValue(data);\n };\n\n _this.getStyles = function (key, props) {\n var base = defaultStyles[key](props);\n base.boxSizing = 'border-box';\n var custom = _this.props.styles[key];\n return custom ? custom(base, props) : base;\n };\n\n _this.getElementId = function (element) {\n return \"\".concat(_this.instancePrefix, \"-\").concat(element);\n };\n\n _this.getActiveDescendentId = function () {\n var menuIsOpen = _this.props.menuIsOpen;\n var _this$state = _this.state,\n menuOptions = _this$state.menuOptions,\n focusedOption = _this$state.focusedOption;\n if (!focusedOption || !menuIsOpen) return undefined;\n var index = menuOptions.focusable.indexOf(focusedOption);\n var option = menuOptions.render[index];\n return option && option.key;\n };\n\n _this.announceAriaLiveSelection = function (_ref2) {\n var event = _ref2.event,\n context = _ref2.context;\n\n _this.setState({\n ariaLiveSelection: valueEventAriaMessage(event, context)\n });\n };\n\n _this.announceAriaLiveContext = function (_ref3) {\n var event = _ref3.event,\n context = _ref3.context;\n\n _this.setState({\n ariaLiveContext: instructionsAriaMessage(event, _objectSpread$2(_objectSpread$2({}, context), {}, {\n label: _this.props['aria-label']\n }))\n });\n };\n\n _this.onMenuMouseDown = function (event) {\n if (event.button !== 0) {\n return;\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n _this.focusInput();\n };\n\n _this.onMenuMouseMove = function (event) {\n _this.blockOptionHover = false;\n };\n\n _this.onControlMouseDown = function (event) {\n var openMenuOnClick = _this.props.openMenuOnClick;\n\n if (!_this.state.isFocused) {\n if (openMenuOnClick) {\n _this.openAfterFocus = true;\n }\n\n _this.focusInput();\n } else if (!_this.props.menuIsOpen) {\n if (openMenuOnClick) {\n _this.openMenu('first');\n }\n } else {\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n _this.onMenuClose();\n }\n }\n\n if ( // $FlowFixMe\n event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {\n event.preventDefault();\n }\n };\n\n _this.onDropdownIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n if (_this.props.isDisabled) return;\n var _this$props4 = _this.props,\n isMulti = _this$props4.isMulti,\n menuIsOpen = _this$props4.menuIsOpen;\n\n _this.focusInput();\n\n if (menuIsOpen) {\n _this.inputIsHiddenAfterUpdate = !isMulti;\n\n _this.onMenuClose();\n } else {\n _this.openMenu('first');\n }\n\n event.preventDefault();\n event.stopPropagation();\n };\n\n _this.onClearIndicatorMouseDown = function (event) {\n // ignore mouse events that weren't triggered by the primary button\n if (event && event.type === 'mousedown' && event.button !== 0) {\n return;\n }\n\n _this.clearValue();\n\n event.stopPropagation();\n _this.openAfterFocus = false;\n\n if (event.type === 'touchend') {\n _this.focusInput();\n } else {\n setTimeout(function () {\n return _this.focusInput();\n });\n }\n };\n\n _this.onScroll = function (event) {\n if (typeof _this.props.closeMenuOnScroll === 'boolean') {\n if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {\n _this.props.onMenuClose();\n }\n } else if (typeof _this.props.closeMenuOnScroll === 'function') {\n if (_this.props.closeMenuOnScroll(event)) {\n _this.props.onMenuClose();\n }\n }\n };\n\n _this.onCompositionStart = function () {\n _this.isComposing = true;\n };\n\n _this.onCompositionEnd = function () {\n _this.isComposing = false;\n };\n\n _this.onTouchStart = function (_ref4) {\n var touches = _ref4.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n _this.initialTouchX = touch.clientX;\n _this.initialTouchY = touch.clientY;\n _this.userIsDragging = false;\n };\n\n _this.onTouchMove = function (_ref5) {\n var touches = _ref5.touches;\n var touch = touches && touches.item(0);\n\n if (!touch) {\n return;\n }\n\n var deltaX = Math.abs(touch.clientX - _this.initialTouchX);\n var deltaY = Math.abs(touch.clientY - _this.initialTouchY);\n var moveThreshold = 5;\n _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;\n };\n\n _this.onTouchEnd = function (event) {\n if (_this.userIsDragging) return; // close the menu if the user taps outside\n // we're checking on event.target here instead of event.currentTarget, because we want to assert information\n // on events on child elements, not the document (which we've attached this handler to).\n\n if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {\n _this.blurInput();\n } // reset move vars\n\n\n _this.initialTouchX = 0;\n _this.initialTouchY = 0;\n };\n\n _this.onControlTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onControlMouseDown(event);\n };\n\n _this.onClearIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onClearIndicatorMouseDown(event);\n };\n\n _this.onDropdownIndicatorTouchEnd = function (event) {\n if (_this.userIsDragging) return;\n\n _this.onDropdownIndicatorMouseDown(event);\n };\n\n _this.handleInputChange = function (event) {\n var inputValue = event.currentTarget.value;\n _this.inputIsHiddenAfterUpdate = false;\n\n _this.onInputChange(inputValue, {\n action: 'input-change'\n });\n\n if (!_this.props.menuIsOpen) {\n _this.onMenuOpen();\n }\n };\n\n _this.onInputFocus = function (event) {\n var _this$props5 = _this.props,\n isSearchable = _this$props5.isSearchable,\n isMulti = _this$props5.isMulti;\n\n if (_this.props.onFocus) {\n _this.props.onFocus(event);\n }\n\n _this.inputIsHiddenAfterUpdate = false;\n\n _this.announceAriaLiveContext({\n event: 'input',\n context: {\n isSearchable: isSearchable,\n isMulti: isMulti\n }\n });\n\n _this.setState({\n isFocused: true\n });\n\n if (_this.openAfterFocus || _this.props.openMenuOnFocus) {\n _this.openMenu('first');\n }\n\n _this.openAfterFocus = false;\n };\n\n _this.onInputBlur = function (event) {\n if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {\n _this.inputRef.focus();\n\n return;\n }\n\n if (_this.props.onBlur) {\n _this.props.onBlur(event);\n }\n\n _this.onInputChange('', {\n action: 'input-blur'\n });\n\n _this.onMenuClose();\n\n _this.setState({\n focusedValue: null,\n isFocused: false\n });\n };\n\n _this.onOptionHover = function (focusedOption) {\n if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {\n return;\n }\n\n _this.setState({\n focusedOption: focusedOption\n });\n };\n\n _this.shouldHideSelectedOptions = function () {\n var _this$props6 = _this.props,\n hideSelectedOptions = _this$props6.hideSelectedOptions,\n isMulti = _this$props6.isMulti;\n if (hideSelectedOptions === undefined) return isMulti;\n return hideSelectedOptions;\n };\n\n _this.onKeyDown = function (event) {\n var _this$props7 = _this.props,\n isMulti = _this$props7.isMulti,\n backspaceRemovesValue = _this$props7.backspaceRemovesValue,\n escapeClearsValue = _this$props7.escapeClearsValue,\n inputValue = _this$props7.inputValue,\n isClearable = _this$props7.isClearable,\n isDisabled = _this$props7.isDisabled,\n menuIsOpen = _this$props7.menuIsOpen,\n onKeyDown = _this$props7.onKeyDown,\n tabSelectsValue = _this$props7.tabSelectsValue,\n openMenuOnFocus = _this$props7.openMenuOnFocus;\n var _this$state2 = _this.state,\n focusedOption = _this$state2.focusedOption,\n focusedValue = _this$state2.focusedValue,\n selectValue = _this$state2.selectValue;\n if (isDisabled) return;\n\n if (typeof onKeyDown === 'function') {\n onKeyDown(event);\n\n if (event.defaultPrevented) {\n return;\n }\n } // Block option hover events when the user has just pressed a key\n\n\n _this.blockOptionHover = true;\n\n switch (event.key) {\n case 'ArrowLeft':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('previous');\n\n break;\n\n case 'ArrowRight':\n if (!isMulti || inputValue) return;\n\n _this.focusValue('next');\n\n break;\n\n case 'Delete':\n case 'Backspace':\n if (inputValue) return;\n\n if (focusedValue) {\n _this.removeValue(focusedValue);\n } else {\n if (!backspaceRemovesValue) return;\n\n if (isMulti) {\n _this.popValue();\n } else if (isClearable) {\n _this.clearValue();\n }\n }\n\n break;\n\n case 'Tab':\n if (_this.isComposing) return;\n\n if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused\n // option is already selected; it breaks the flow of navigation\n openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {\n return;\n }\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'Enter':\n if (event.keyCode === 229) {\n // ignore the keydown event from an Input Method Editor(IME)\n // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\n break;\n }\n\n if (menuIsOpen) {\n if (!focusedOption) return;\n if (_this.isComposing) return;\n\n _this.selectOption(focusedOption);\n\n break;\n }\n\n return;\n\n case 'Escape':\n if (menuIsOpen) {\n _this.inputIsHiddenAfterUpdate = false;\n\n _this.onInputChange('', {\n action: 'menu-close'\n });\n\n _this.onMenuClose();\n } else if (isClearable && escapeClearsValue) {\n _this.clearValue();\n }\n\n break;\n\n case ' ':\n // space\n if (inputValue) {\n return;\n }\n\n if (!menuIsOpen) {\n _this.openMenu('first');\n\n break;\n }\n\n if (!focusedOption) return;\n\n _this.selectOption(focusedOption);\n\n break;\n\n case 'ArrowUp':\n if (menuIsOpen) {\n _this.focusOption('up');\n } else {\n _this.openMenu('last');\n }\n\n break;\n\n case 'ArrowDown':\n if (menuIsOpen) {\n _this.focusOption('down');\n } else {\n _this.openMenu('first');\n }\n\n break;\n\n case 'PageUp':\n if (!menuIsOpen) return;\n\n _this.focusOption('pageup');\n\n break;\n\n case 'PageDown':\n if (!menuIsOpen) return;\n\n _this.focusOption('pagedown');\n\n break;\n\n case 'Home':\n if (!menuIsOpen) return;\n\n _this.focusOption('first');\n\n break;\n\n case 'End':\n if (!menuIsOpen) return;\n\n _this.focusOption('last');\n\n break;\n\n default:\n return;\n }\n\n event.preventDefault();\n };\n\n _this.buildMenuOptions = function (props, selectValue) {\n var _props$inputValue = props.inputValue,\n inputValue = _props$inputValue === void 0 ? '' : _props$inputValue,\n options = props.options;\n\n var toOption = function toOption(option, id) {\n var isDisabled = _this.isOptionDisabled(option, selectValue);\n\n var isSelected = _this.isOptionSelected(option, selectValue);\n\n var label = _this.getOptionLabel(option);\n\n var value = _this.getOptionValue(option);\n\n if (_this.shouldHideSelectedOptions() && isSelected || !_this.filterOption({\n label: label,\n value: value,\n data: option\n }, inputValue)) {\n return;\n }\n\n var onHover = isDisabled ? undefined : function () {\n return _this.onOptionHover(option);\n };\n var onSelect = isDisabled ? undefined : function () {\n return _this.selectOption(option);\n };\n var optionId = \"\".concat(_this.getElementId('option'), \"-\").concat(id);\n return {\n innerProps: {\n id: optionId,\n onClick: onSelect,\n onMouseMove: onHover,\n onMouseOver: onHover,\n tabIndex: -1\n },\n data: option,\n isDisabled: isDisabled,\n isSelected: isSelected,\n key: optionId,\n label: label,\n type: 'option',\n value: value\n };\n };\n\n return options.reduce(function (acc, item, itemIndex) {\n if (item.options) {\n // TODO needs a tidier implementation\n if (!_this.hasGroups) _this.hasGroups = true;\n var items = item.options;\n var children = items.map(function (child, i) {\n var option = toOption(child, \"\".concat(itemIndex, \"-\").concat(i));\n if (option) acc.focusable.push(child);\n return option;\n }).filter(Boolean);\n\n if (children.length) {\n var groupId = \"\".concat(_this.getElementId('group'), \"-\").concat(itemIndex);\n acc.render.push({\n type: 'group',\n key: groupId,\n data: item,\n options: children\n });\n }\n } else {\n var option = toOption(item, \"\".concat(itemIndex));\n\n if (option) {\n acc.render.push(option);\n acc.focusable.push(item);\n }\n }\n\n return acc;\n }, {\n render: [],\n focusable: []\n });\n };\n\n var _value = _props.value;\n _this.cacheComponents = memoizeOne(_this.cacheComponents, exportedEqual).bind(_assertThisInitialized(_this));\n\n _this.cacheComponents(_props.components);\n\n _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);\n\n var _selectValue = cleanValue(_value);\n\n _this.buildMenuOptions = memoizeOne(_this.buildMenuOptions, function (newArgs, lastArgs) {\n var _ref6 = newArgs,\n _ref7 = _slicedToArray(_ref6, 2),\n newProps = _ref7[0],\n newSelectValue = _ref7[1];\n\n var _ref8 = lastArgs,\n _ref9 = _slicedToArray(_ref8, 2),\n lastProps = _ref9[0],\n lastSelectValue = _ref9[1];\n\n return newSelectValue === lastSelectValue && newProps.inputValue === lastProps.inputValue && newProps.options === lastProps.options;\n }).bind(_assertThisInitialized(_this));\n\n var _menuOptions = _props.menuIsOpen ? _this.buildMenuOptions(_props, _selectValue) : {\n render: [],\n focusable: []\n };\n\n _this.state.menuOptions = _menuOptions;\n _this.state.selectValue = _selectValue;\n return _this;\n }\n\n _createClass(Select, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.startListeningComposition();\n this.startListeningToTouch();\n\n if (this.props.closeMenuOnScroll && document && document.addEventListener) {\n // Listen to all scroll events, and filter them out inside of 'onScroll'\n document.addEventListener('scroll', this.onScroll, true);\n }\n\n if (this.props.autoFocus) {\n this.focusInput();\n }\n }\n }, {\n key: \"UNSAFE_componentWillReceiveProps\",\n value: function UNSAFE_componentWillReceiveProps(nextProps) {\n var _this$props8 = this.props,\n options = _this$props8.options,\n value = _this$props8.value,\n menuIsOpen = _this$props8.menuIsOpen,\n inputValue = _this$props8.inputValue; // re-cache custom components\n\n this.cacheComponents(nextProps.components); // rebuild the menu options\n\n if (nextProps.value !== value || nextProps.options !== options || nextProps.menuIsOpen !== menuIsOpen || nextProps.inputValue !== inputValue) {\n var selectValue = cleanValue(nextProps.value);\n var menuOptions = nextProps.menuIsOpen ? this.buildMenuOptions(nextProps, selectValue) : {\n render: [],\n focusable: []\n };\n var focusedValue = this.getNextFocusedValue(selectValue);\n var focusedOption = this.getNextFocusedOption(menuOptions.focusable);\n this.setState({\n menuOptions: menuOptions,\n selectValue: selectValue,\n focusedOption: focusedOption,\n focusedValue: focusedValue\n });\n } // some updates should toggle the state of the input visibility\n\n\n if (this.inputIsHiddenAfterUpdate != null) {\n this.setState({\n inputIsHidden: this.inputIsHiddenAfterUpdate\n });\n delete this.inputIsHiddenAfterUpdate;\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var _this$props9 = this.props,\n isDisabled = _this$props9.isDisabled,\n menuIsOpen = _this$props9.menuIsOpen;\n var isFocused = this.state.isFocused;\n\n if ( // ensure focus is restored correctly when the control becomes enabled\n isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens\n isFocused && menuIsOpen && !prevProps.menuIsOpen) {\n this.focusInput();\n }\n\n if (isFocused && isDisabled && !prevProps.isDisabled) {\n // ensure select state gets blurred in case Select is programatically disabled while focused\n this.setState({\n isFocused: false\n }, this.onMenuClose);\n } // scroll the focused option into view if necessary\n\n\n if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {\n scrollIntoView(this.menuListRef, this.focusedOptionRef);\n this.scrollToFocusedOptionOnUpdate = false;\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.stopListeningComposition();\n this.stopListeningToTouch();\n document.removeEventListener('scroll', this.onScroll, true);\n }\n }, {\n key: \"onMenuOpen\",\n // ==============================\n // Consumer Handlers\n // ==============================\n value: function onMenuOpen() {\n this.props.onMenuOpen();\n }\n }, {\n key: \"onMenuClose\",\n value: function onMenuClose() {\n var _this$props10 = this.props,\n isSearchable = _this$props10.isSearchable,\n isMulti = _this$props10.isMulti;\n this.announceAriaLiveContext({\n event: 'input',\n context: {\n isSearchable: isSearchable,\n isMulti: isMulti\n }\n });\n this.onInputChange('', {\n action: 'menu-close'\n });\n this.props.onMenuClose();\n }\n }, {\n key: \"onInputChange\",\n value: function onInputChange(newValue, actionMeta) {\n this.props.onInputChange(newValue, actionMeta);\n } // ==============================\n // Methods\n // ==============================\n\n }, {\n key: \"focusInput\",\n value: function focusInput() {\n if (!this.inputRef) return;\n this.inputRef.focus();\n }\n }, {\n key: \"blurInput\",\n value: function blurInput() {\n if (!this.inputRef) return;\n this.inputRef.blur();\n } // aliased for consumers\n\n }, {\n key: \"openMenu\",\n value: function openMenu(focusOption) {\n var _this2 = this;\n\n var _this$state3 = this.state,\n selectValue = _this$state3.selectValue,\n isFocused = _this$state3.isFocused;\n var menuOptions = this.buildMenuOptions(this.props, selectValue);\n var _this$props11 = this.props,\n isMulti = _this$props11.isMulti,\n tabSelectsValue = _this$props11.tabSelectsValue;\n var openAtIndex = focusOption === 'first' ? 0 : menuOptions.focusable.length - 1;\n\n if (!isMulti) {\n var selectedIndex = menuOptions.focusable.indexOf(selectValue[0]);\n\n if (selectedIndex > -1) {\n openAtIndex = selectedIndex;\n }\n } // only scroll if the menu isn't already open\n\n\n this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);\n this.inputIsHiddenAfterUpdate = false;\n this.setState({\n menuOptions: menuOptions,\n focusedValue: null,\n focusedOption: menuOptions.focusable[openAtIndex]\n }, function () {\n _this2.onMenuOpen();\n\n _this2.announceAriaLiveContext({\n event: 'menu',\n context: {\n tabSelectsValue: tabSelectsValue\n }\n });\n });\n }\n }, {\n key: \"focusValue\",\n value: function focusValue(direction) {\n var _this$props12 = this.props,\n isMulti = _this$props12.isMulti,\n isSearchable = _this$props12.isSearchable;\n var _this$state4 = this.state,\n selectValue = _this$state4.selectValue,\n focusedValue = _this$state4.focusedValue; // Only multiselects support value focusing\n\n if (!isMulti) return;\n this.setState({\n focusedOption: null\n });\n var focusedIndex = selectValue.indexOf(focusedValue);\n\n if (!focusedValue) {\n focusedIndex = -1;\n this.announceAriaLiveContext({\n event: 'value'\n });\n }\n\n var lastIndex = selectValue.length - 1;\n var nextFocus = -1;\n if (!selectValue.length) return;\n\n switch (direction) {\n case 'previous':\n if (focusedIndex === 0) {\n // don't cycle from the start to the end\n nextFocus = 0;\n } else if (focusedIndex === -1) {\n // if nothing is focused, focus the last value first\n nextFocus = lastIndex;\n } else {\n nextFocus = focusedIndex - 1;\n }\n\n break;\n\n case 'next':\n if (focusedIndex > -1 && focusedIndex < lastIndex) {\n nextFocus = focusedIndex + 1;\n }\n\n break;\n }\n\n if (nextFocus === -1) {\n this.announceAriaLiveContext({\n event: 'input',\n context: {\n isSearchable: isSearchable,\n isMulti: isMulti\n }\n });\n }\n\n this.setState({\n inputIsHidden: nextFocus !== -1,\n focusedValue: selectValue[nextFocus]\n });\n }\n }, {\n key: \"focusOption\",\n value: function focusOption() {\n var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';\n var _this$props13 = this.props,\n pageSize = _this$props13.pageSize,\n tabSelectsValue = _this$props13.tabSelectsValue;\n var _this$state5 = this.state,\n focusedOption = _this$state5.focusedOption,\n menuOptions = _this$state5.menuOptions;\n var options = menuOptions.focusable;\n if (!options.length) return;\n var nextFocus = 0; // handles 'first'\n\n var focusedIndex = options.indexOf(focusedOption);\n\n if (!focusedOption) {\n focusedIndex = -1;\n this.announceAriaLiveContext({\n event: 'menu',\n context: {\n tabSelectsValue: tabSelectsValue\n }\n });\n }\n\n if (direction === 'up') {\n nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;\n } else if (direction === 'down') {\n nextFocus = (focusedIndex + 1) % options.length;\n } else if (direction === 'pageup') {\n nextFocus = focusedIndex - pageSize;\n if (nextFocus < 0) nextFocus = 0;\n } else if (direction === 'pagedown') {\n nextFocus = focusedIndex + pageSize;\n if (nextFocus > options.length - 1) nextFocus = options.length - 1;\n } else if (direction === 'last') {\n nextFocus = options.length - 1;\n }\n\n this.scrollToFocusedOptionOnUpdate = true;\n this.setState({\n focusedOption: options[nextFocus],\n focusedValue: null\n });\n this.announceAriaLiveContext({\n event: 'menu',\n context: {\n isDisabled: isOptionDisabled(options[nextFocus]),\n tabSelectsValue: tabSelectsValue\n }\n });\n }\n }, {\n key: \"getTheme\",\n // ==============================\n // Getters\n // ==============================\n value: function getTheme() {\n // Use the default theme if there are no customizations.\n if (!this.props.theme) {\n return defaultTheme;\n } // If the theme prop is a function, assume the function\n // knows how to merge the passed-in default theme with\n // its own modifications.\n\n\n if (typeof this.props.theme === 'function') {\n return this.props.theme(defaultTheme);\n } // Otherwise, if a plain theme object was passed in,\n // overlay it with the default theme.\n\n\n return _objectSpread$2(_objectSpread$2({}, defaultTheme), this.props.theme);\n }\n }, {\n key: \"getCommonProps\",\n value: function getCommonProps() {\n var clearValue = this.clearValue,\n cx = this.cx,\n getStyles = this.getStyles,\n getValue = this.getValue,\n setValue = this.setValue,\n selectOption = this.selectOption,\n props = this.props;\n var isMulti = props.isMulti,\n isRtl = props.isRtl,\n options = props.options;\n var hasValue = this.hasValue();\n return {\n cx: cx,\n clearValue: clearValue,\n getStyles: getStyles,\n getValue: getValue,\n hasValue: hasValue,\n isMulti: isMulti,\n isRtl: isRtl,\n options: options,\n selectOption: selectOption,\n setValue: setValue,\n selectProps: props,\n theme: this.getTheme()\n };\n }\n }, {\n key: \"getNextFocusedValue\",\n value: function getNextFocusedValue(nextSelectValue) {\n if (this.clearFocusValueOnUpdate) {\n this.clearFocusValueOnUpdate = false;\n return null;\n }\n\n var _this$state6 = this.state,\n focusedValue = _this$state6.focusedValue,\n lastSelectValue = _this$state6.selectValue;\n var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);\n\n if (lastFocusedIndex > -1) {\n var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);\n\n if (nextFocusedIndex > -1) {\n // the focused value is still in the selectValue, return it\n return focusedValue;\n } else if (lastFocusedIndex < nextSelectValue.length) {\n // the focusedValue is not present in the next selectValue array by\n // reference, so return the new value at the same index\n return nextSelectValue[lastFocusedIndex];\n }\n }\n\n return null;\n }\n }, {\n key: \"getNextFocusedOption\",\n value: function getNextFocusedOption(options) {\n var lastFocusedOption = this.state.focusedOption;\n return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];\n }\n }, {\n key: \"hasValue\",\n value: function hasValue() {\n var selectValue = this.state.selectValue;\n return selectValue.length > 0;\n }\n }, {\n key: \"hasOptions\",\n value: function hasOptions() {\n return !!this.state.menuOptions.render.length;\n }\n }, {\n key: \"countOptions\",\n value: function countOptions() {\n return this.state.menuOptions.focusable.length;\n }\n }, {\n key: \"isClearable\",\n value: function isClearable() {\n var _this$props14 = this.props,\n isClearable = _this$props14.isClearable,\n isMulti = _this$props14.isMulti; // single select, by default, IS NOT clearable\n // multi select, by default, IS clearable\n\n if (isClearable === undefined) return isMulti;\n return isClearable;\n }\n }, {\n key: \"isOptionDisabled\",\n value: function isOptionDisabled(option, selectValue) {\n return typeof this.props.isOptionDisabled === 'function' ? this.props.isOptionDisabled(option, selectValue) : false;\n }\n }, {\n key: \"isOptionSelected\",\n value: function isOptionSelected(option, selectValue) {\n var _this3 = this;\n\n if (selectValue.indexOf(option) > -1) return true;\n\n if (typeof this.props.isOptionSelected === 'function') {\n return this.props.isOptionSelected(option, selectValue);\n }\n\n var candidate = this.getOptionValue(option);\n return selectValue.some(function (i) {\n return _this3.getOptionValue(i) === candidate;\n });\n }\n }, {\n key: \"filterOption\",\n value: function filterOption(option, inputValue) {\n return this.props.filterOption ? this.props.filterOption(option, inputValue) : true;\n }\n }, {\n key: \"formatOptionLabel\",\n value: function formatOptionLabel(data, context) {\n if (typeof this.props.formatOptionLabel === 'function') {\n var inputValue = this.props.inputValue;\n var selectValue = this.state.selectValue;\n return this.props.formatOptionLabel(data, {\n context: context,\n inputValue: inputValue,\n selectValue: selectValue\n });\n } else {\n return this.getOptionLabel(data);\n }\n }\n }, {\n key: \"formatGroupLabel\",\n value: function formatGroupLabel(data) {\n return this.props.formatGroupLabel(data);\n } // ==============================\n // Mouse Handlers\n // ==============================\n\n }, {\n key: \"startListeningComposition\",\n // ==============================\n // Composition Handlers\n // ==============================\n value: function startListeningComposition() {\n if (document && document.addEventListener) {\n document.addEventListener('compositionstart', this.onCompositionStart, false);\n document.addEventListener('compositionend', this.onCompositionEnd, false);\n }\n }\n }, {\n key: \"stopListeningComposition\",\n value: function stopListeningComposition() {\n if (document && document.removeEventListener) {\n document.removeEventListener('compositionstart', this.onCompositionStart);\n document.removeEventListener('compositionend', this.onCompositionEnd);\n }\n }\n }, {\n key: \"startListeningToTouch\",\n // ==============================\n // Touch Handlers\n // ==============================\n value: function startListeningToTouch() {\n if (document && document.addEventListener) {\n document.addEventListener('touchstart', this.onTouchStart, false);\n document.addEventListener('touchmove', this.onTouchMove, false);\n document.addEventListener('touchend', this.onTouchEnd, false);\n }\n }\n }, {\n key: \"stopListeningToTouch\",\n value: function stopListeningToTouch() {\n if (document && document.removeEventListener) {\n document.removeEventListener('touchstart', this.onTouchStart);\n document.removeEventListener('touchmove', this.onTouchMove);\n document.removeEventListener('touchend', this.onTouchEnd);\n }\n }\n }, {\n key: \"constructAriaLiveMessage\",\n // ==============================\n // Renderers\n // ==============================\n value: function constructAriaLiveMessage() {\n var _this$state7 = this.state,\n ariaLiveContext = _this$state7.ariaLiveContext,\n selectValue = _this$state7.selectValue,\n focusedValue = _this$state7.focusedValue,\n focusedOption = _this$state7.focusedOption;\n var _this$props15 = this.props,\n options = _this$props15.options,\n menuIsOpen = _this$props15.menuIsOpen,\n inputValue = _this$props15.inputValue,\n screenReaderStatus = _this$props15.screenReaderStatus; // An aria live message representing the currently focused value in the select.\n\n var focusedValueMsg = focusedValue ? valueFocusAriaMessage({\n focusedValue: focusedValue,\n getOptionLabel: this.getOptionLabel,\n selectValue: selectValue\n }) : ''; // An aria live message representing the currently focused option in the select.\n\n var focusedOptionMsg = focusedOption && menuIsOpen ? optionFocusAriaMessage({\n focusedOption: focusedOption,\n getOptionLabel: this.getOptionLabel,\n options: options\n }) : ''; // An aria live message representing the set of focusable results and current searchterm/inputvalue.\n\n var resultsMsg = resultsAriaMessage({\n inputValue: inputValue,\n screenReaderMessage: screenReaderStatus({\n count: this.countOptions()\n })\n });\n return \"\".concat(focusedValueMsg, \" \").concat(focusedOptionMsg, \" \").concat(resultsMsg, \" \").concat(ariaLiveContext);\n }\n }, {\n key: \"renderInput\",\n value: function renderInput() {\n var _this$props16 = this.props,\n isDisabled = _this$props16.isDisabled,\n isSearchable = _this$props16.isSearchable,\n inputId = _this$props16.inputId,\n inputValue = _this$props16.inputValue,\n tabIndex = _this$props16.tabIndex,\n form = _this$props16.form;\n var Input = this.components.Input;\n var inputIsHidden = this.state.inputIsHidden;\n var id = inputId || this.getElementId('input'); // aria attributes makes the JSX \"noisy\", separated for clarity\n\n var ariaAttributes = {\n 'aria-autocomplete': 'list',\n 'aria-label': this.props['aria-label'],\n 'aria-labelledby': this.props['aria-labelledby']\n };\n\n if (!isSearchable) {\n // use a dummy input to maintain focus/blur functionality\n return /*#__PURE__*/React.createElement(DummyInput, _extends({\n id: id,\n innerRef: this.getInputRef,\n onBlur: this.onInputBlur,\n onChange: noop,\n onFocus: this.onInputFocus,\n readOnly: true,\n disabled: isDisabled,\n tabIndex: tabIndex,\n form: form,\n value: \"\"\n }, ariaAttributes));\n }\n\n var _this$commonProps = this.commonProps,\n cx = _this$commonProps.cx,\n theme = _this$commonProps.theme,\n selectProps = _this$commonProps.selectProps;\n return /*#__PURE__*/React.createElement(Input, _extends({\n autoCapitalize: \"none\",\n autoComplete: \"off\",\n autoCorrect: \"off\",\n cx: cx,\n getStyles: this.getStyles,\n id: id,\n innerRef: this.getInputRef,\n isDisabled: isDisabled,\n isHidden: inputIsHidden,\n onBlur: this.onInputBlur,\n onChange: this.handleInputChange,\n onFocus: this.onInputFocus,\n selectProps: selectProps,\n spellCheck: \"false\",\n tabIndex: tabIndex,\n form: form,\n theme: theme,\n type: \"text\",\n value: inputValue\n }, ariaAttributes));\n }\n }, {\n key: \"renderPlaceholderOrValue\",\n value: function renderPlaceholderOrValue() {\n var _this4 = this;\n\n var _this$components = this.components,\n MultiValue = _this$components.MultiValue,\n MultiValueContainer = _this$components.MultiValueContainer,\n MultiValueLabel = _this$components.MultiValueLabel,\n MultiValueRemove = _this$components.MultiValueRemove,\n SingleValue = _this$components.SingleValue,\n Placeholder = _this$components.Placeholder;\n var commonProps = this.commonProps;\n var _this$props17 = this.props,\n controlShouldRenderValue = _this$props17.controlShouldRenderValue,\n isDisabled = _this$props17.isDisabled,\n isMulti = _this$props17.isMulti,\n inputValue = _this$props17.inputValue,\n placeholder = _this$props17.placeholder;\n var _this$state8 = this.state,\n selectValue = _this$state8.selectValue,\n focusedValue = _this$state8.focusedValue,\n isFocused = _this$state8.isFocused;\n\n if (!this.hasValue() || !controlShouldRenderValue) {\n return inputValue ? null : /*#__PURE__*/React.createElement(Placeholder, _extends({}, commonProps, {\n key: \"placeholder\",\n isDisabled: isDisabled,\n isFocused: isFocused\n }), placeholder);\n }\n\n if (isMulti) {\n var selectValues = selectValue.map(function (opt, index) {\n var isOptionFocused = opt === focusedValue;\n return /*#__PURE__*/React.createElement(MultiValue, _extends({}, commonProps, {\n components: {\n Container: MultiValueContainer,\n Label: MultiValueLabel,\n Remove: MultiValueRemove\n },\n isFocused: isOptionFocused,\n isDisabled: isDisabled,\n key: \"\".concat(_this4.getOptionValue(opt)).concat(index),\n index: index,\n removeProps: {\n onClick: function onClick() {\n return _this4.removeValue(opt);\n },\n onTouchEnd: function onTouchEnd() {\n return _this4.removeValue(opt);\n },\n onMouseDown: function onMouseDown(e) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n data: opt\n }), _this4.formatOptionLabel(opt, 'value'));\n });\n return selectValues;\n }\n\n if (inputValue) {\n return null;\n }\n\n var singleValue = selectValue[0];\n return /*#__PURE__*/React.createElement(SingleValue, _extends({}, commonProps, {\n data: singleValue,\n isDisabled: isDisabled\n }), this.formatOptionLabel(singleValue, 'value'));\n }\n }, {\n key: \"renderClearIndicator\",\n value: function renderClearIndicator() {\n var ClearIndicator = this.components.ClearIndicator;\n var commonProps = this.commonProps;\n var _this$props18 = this.props,\n isDisabled = _this$props18.isDisabled,\n isLoading = _this$props18.isLoading;\n var isFocused = this.state.isFocused;\n\n if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {\n return null;\n }\n\n var innerProps = {\n onMouseDown: this.onClearIndicatorMouseDown,\n onTouchEnd: this.onClearIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(ClearIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderLoadingIndicator\",\n value: function renderLoadingIndicator() {\n var LoadingIndicator = this.components.LoadingIndicator;\n var commonProps = this.commonProps;\n var _this$props19 = this.props,\n isDisabled = _this$props19.isDisabled,\n isLoading = _this$props19.isLoading;\n var isFocused = this.state.isFocused;\n if (!LoadingIndicator || !isLoading) return null;\n var innerProps = {\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(LoadingIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderIndicatorSeparator\",\n value: function renderIndicatorSeparator() {\n var _this$components2 = this.components,\n DropdownIndicator = _this$components2.DropdownIndicator,\n IndicatorSeparator = _this$components2.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator\n\n if (!DropdownIndicator || !IndicatorSeparator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n return /*#__PURE__*/React.createElement(IndicatorSeparator, _extends({}, commonProps, {\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderDropdownIndicator\",\n value: function renderDropdownIndicator() {\n var DropdownIndicator = this.components.DropdownIndicator;\n if (!DropdownIndicator) return null;\n var commonProps = this.commonProps;\n var isDisabled = this.props.isDisabled;\n var isFocused = this.state.isFocused;\n var innerProps = {\n onMouseDown: this.onDropdownIndicatorMouseDown,\n onTouchEnd: this.onDropdownIndicatorTouchEnd,\n 'aria-hidden': 'true'\n };\n return /*#__PURE__*/React.createElement(DropdownIndicator, _extends({}, commonProps, {\n innerProps: innerProps,\n isDisabled: isDisabled,\n isFocused: isFocused\n }));\n }\n }, {\n key: \"renderMenu\",\n value: function renderMenu() {\n var _this5 = this;\n\n var _this$components3 = this.components,\n Group = _this$components3.Group,\n GroupHeading = _this$components3.GroupHeading,\n Menu = _this$components3.Menu,\n MenuList = _this$components3.MenuList,\n MenuPortal = _this$components3.MenuPortal,\n LoadingMessage = _this$components3.LoadingMessage,\n NoOptionsMessage = _this$components3.NoOptionsMessage,\n Option = _this$components3.Option;\n var commonProps = this.commonProps;\n var _this$state9 = this.state,\n focusedOption = _this$state9.focusedOption,\n menuOptions = _this$state9.menuOptions;\n var _this$props20 = this.props,\n captureMenuScroll = _this$props20.captureMenuScroll,\n inputValue = _this$props20.inputValue,\n isLoading = _this$props20.isLoading,\n loadingMessage = _this$props20.loadingMessage,\n minMenuHeight = _this$props20.minMenuHeight,\n maxMenuHeight = _this$props20.maxMenuHeight,\n menuIsOpen = _this$props20.menuIsOpen,\n menuPlacement = _this$props20.menuPlacement,\n menuPosition = _this$props20.menuPosition,\n menuPortalTarget = _this$props20.menuPortalTarget,\n menuShouldBlockScroll = _this$props20.menuShouldBlockScroll,\n menuShouldScrollIntoView = _this$props20.menuShouldScrollIntoView,\n noOptionsMessage = _this$props20.noOptionsMessage,\n onMenuScrollToTop = _this$props20.onMenuScrollToTop,\n onMenuScrollToBottom = _this$props20.onMenuScrollToBottom;\n if (!menuIsOpen) return null; // TODO: Internal Option Type here\n\n var render = function render(props) {\n // for performance, the menu options in state aren't changed when the\n // focused option changes so we calculate additional props based on that\n var isFocused = focusedOption === props.data;\n props.innerRef = isFocused ? _this5.getFocusedOptionRef : undefined;\n return /*#__PURE__*/React.createElement(Option, _extends({}, commonProps, props, {\n isFocused: isFocused\n }), _this5.formatOptionLabel(props.data, 'menu'));\n };\n\n var menuUI;\n\n if (this.hasOptions()) {\n menuUI = menuOptions.render.map(function (item) {\n if (item.type === 'group') {\n var type = item.type,\n group = _objectWithoutProperties(item, [\"type\"]);\n\n var headingId = \"\".concat(item.key, \"-heading\");\n return /*#__PURE__*/React.createElement(Group, _extends({}, commonProps, group, {\n Heading: GroupHeading,\n headingProps: {\n id: headingId,\n data: item.data\n },\n label: _this5.formatGroupLabel(item.data)\n }), item.options.map(function (option) {\n return render(option);\n }));\n } else if (item.type === 'option') {\n return render(item);\n }\n });\n } else if (isLoading) {\n var message = loadingMessage({\n inputValue: inputValue\n });\n if (message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(LoadingMessage, commonProps, message);\n } else {\n var _message = noOptionsMessage({\n inputValue: inputValue\n });\n\n if (_message === null) return null;\n menuUI = /*#__PURE__*/React.createElement(NoOptionsMessage, commonProps, _message);\n }\n\n var menuPlacementProps = {\n minMenuHeight: minMenuHeight,\n maxMenuHeight: maxMenuHeight,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition,\n menuShouldScrollIntoView: menuShouldScrollIntoView\n };\n var menuElement = /*#__PURE__*/React.createElement(MenuPlacer, _extends({}, commonProps, menuPlacementProps), function (_ref10) {\n var ref = _ref10.ref,\n _ref10$placerProps = _ref10.placerProps,\n placement = _ref10$placerProps.placement,\n maxHeight = _ref10$placerProps.maxHeight;\n return /*#__PURE__*/React.createElement(Menu, _extends({}, commonProps, menuPlacementProps, {\n innerRef: ref,\n innerProps: {\n onMouseDown: _this5.onMenuMouseDown,\n onMouseMove: _this5.onMenuMouseMove\n },\n isLoading: isLoading,\n placement: placement\n }), /*#__PURE__*/React.createElement(ScrollCaptorSwitch, {\n isEnabled: captureMenuScroll,\n onTopArrive: onMenuScrollToTop,\n onBottomArrive: onMenuScrollToBottom\n }, /*#__PURE__*/React.createElement(ScrollBlock, {\n isEnabled: menuShouldBlockScroll\n }, /*#__PURE__*/React.createElement(MenuList, _extends({}, commonProps, {\n innerRef: _this5.getMenuListRef,\n isLoading: isLoading,\n maxHeight: maxHeight\n }), menuUI))));\n }); // positioning behaviour is almost identical for portalled and fixed,\n // so we use the same component. the actual portalling logic is forked\n // within the component based on `menuPosition`\n\n return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/React.createElement(MenuPortal, _extends({}, commonProps, {\n appendTo: menuPortalTarget,\n controlElement: this.controlRef,\n menuPlacement: menuPlacement,\n menuPosition: menuPosition\n }), menuElement) : menuElement;\n }\n }, {\n key: \"renderFormField\",\n value: function renderFormField() {\n var _this6 = this;\n\n var _this$props21 = this.props,\n delimiter = _this$props21.delimiter,\n isDisabled = _this$props21.isDisabled,\n isMulti = _this$props21.isMulti,\n name = _this$props21.name;\n var selectValue = this.state.selectValue;\n if (!name || isDisabled) return;\n\n if (isMulti) {\n if (delimiter) {\n var value = selectValue.map(function (opt) {\n return _this6.getOptionValue(opt);\n }).join(delimiter);\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: value\n });\n } else {\n var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {\n return /*#__PURE__*/React.createElement(\"input\", {\n key: \"i-\".concat(i),\n name: name,\n type: \"hidden\",\n value: _this6.getOptionValue(opt)\n });\n }) : /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\"\n });\n return /*#__PURE__*/React.createElement(\"div\", null, input);\n }\n } else {\n var _value2 = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';\n\n return /*#__PURE__*/React.createElement(\"input\", {\n name: name,\n type: \"hidden\",\n value: _value2\n });\n }\n }\n }, {\n key: \"renderLiveRegion\",\n value: function renderLiveRegion() {\n if (!this.state.isFocused) return null;\n return /*#__PURE__*/React.createElement(A11yText, {\n \"aria-live\": \"polite\"\n }, /*#__PURE__*/React.createElement(\"span\", {\n id: \"aria-selection-event\"\n }, \"\\xA0\", this.state.ariaLiveSelection), /*#__PURE__*/React.createElement(\"span\", {\n id: \"aria-context\"\n }, \"\\xA0\", this.constructAriaLiveMessage()));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$components4 = this.components,\n Control = _this$components4.Control,\n IndicatorsContainer = _this$components4.IndicatorsContainer,\n SelectContainer = _this$components4.SelectContainer,\n ValueContainer = _this$components4.ValueContainer;\n var _this$props22 = this.props,\n className = _this$props22.className,\n id = _this$props22.id,\n isDisabled = _this$props22.isDisabled,\n menuIsOpen = _this$props22.menuIsOpen;\n var isFocused = this.state.isFocused;\n var commonProps = this.commonProps = this.getCommonProps();\n return /*#__PURE__*/React.createElement(SelectContainer, _extends({}, commonProps, {\n className: className,\n innerProps: {\n id: id,\n onKeyDown: this.onKeyDown\n },\n isDisabled: isDisabled,\n isFocused: isFocused\n }), this.renderLiveRegion(), /*#__PURE__*/React.createElement(Control, _extends({}, commonProps, {\n innerRef: this.getControlRef,\n innerProps: {\n onMouseDown: this.onControlMouseDown,\n onTouchEnd: this.onControlTouchEnd\n },\n isDisabled: isDisabled,\n isFocused: isFocused,\n menuIsOpen: menuIsOpen\n }), /*#__PURE__*/React.createElement(ValueContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/React.createElement(IndicatorsContainer, _extends({}, commonProps, {\n isDisabled: isDisabled\n }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());\n }\n }]);\n\n return Select;\n}(Component);\n\nSelect.defaultProps = defaultProps;\n\nexport { Select as S, defaultTheme as a, createFilter as c, defaultProps as d, mergeStyles as m };\n","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport { Component, createContext } from 'react';\nimport { jsx, keyframes, ClassNames } from '@emotion/core';\nimport { createPortal } from 'react-dom';\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _css from '@emotion/css';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport AutosizeInput from 'react-input-autosize';\n\n// ==============================\n// NO OP\n// ==============================\nvar noop = function noop() {};\n// Class Name Prefixer\n// ==============================\n\n/**\n String representation of component state for styling with class names.\n\n Expects an array of strings OR a string/object pair:\n - className(['comp', 'comp-arg', 'comp-arg-2'])\n @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'\n - className('comp', { some: true, state: false })\n @returns 'react-select__comp react-select__comp--some'\n*/\n\nfunction applyPrefixToName(prefix, name) {\n if (!name) {\n return prefix;\n } else if (name[0] === '-') {\n return prefix + name;\n } else {\n return prefix + '__' + name;\n }\n}\n\nfunction classNames(prefix, state, className) {\n var arr = [className];\n\n if (state && prefix) {\n for (var key in state) {\n if (state.hasOwnProperty(key) && state[key]) {\n arr.push(\"\".concat(applyPrefixToName(prefix, key)));\n }\n }\n }\n\n return arr.filter(function (i) {\n return i;\n }).map(function (i) {\n return String(i).trim();\n }).join(' ');\n} // ==============================\n// Clean Value\n// ==============================\n\nvar cleanValue = function cleanValue(value) {\n if (Array.isArray(value)) return value.filter(Boolean);\n if (_typeof(value) === 'object' && value !== null) return [value];\n return [];\n}; // ==============================\n// Handle Input Change\n// ==============================\n\nfunction handleInputChange(inputValue, actionMeta, onInputChange) {\n if (onInputChange) {\n var newValue = onInputChange(inputValue, actionMeta);\n if (typeof newValue === 'string') return newValue;\n }\n\n return inputValue;\n} // ==============================\n// Scroll Helpers\n// ==============================\n\nfunction isDocumentElement(el) {\n return [document.documentElement, document.body, window].indexOf(el) > -1;\n} // Normalized Scroll Top\n// ------------------------------\n\nfunction getScrollTop(el) {\n if (isDocumentElement(el)) {\n return window.pageYOffset;\n }\n\n return el.scrollTop;\n}\nfunction scrollTo(el, top) {\n // with a scroll distance, we perform scroll on the element\n if (isDocumentElement(el)) {\n window.scrollTo(0, top);\n return;\n }\n\n el.scrollTop = top;\n} // Get Scroll Parent\n// ------------------------------\n\nfunction getScrollParent(element) {\n var style = getComputedStyle(element);\n var excludeStaticParent = style.position === 'absolute';\n var overflowRx = /(auto|scroll)/;\n var docEl = document.documentElement; // suck it, flow...\n\n if (style.position === 'fixed') return docEl;\n\n for (var parent = element; parent = parent.parentElement;) {\n style = getComputedStyle(parent);\n\n if (excludeStaticParent && style.position === 'static') {\n continue;\n }\n\n if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {\n return parent;\n }\n }\n\n return docEl;\n} // Animated Scroll To\n// ------------------------------\n\n/**\n @param t: time (elapsed)\n @param b: initial value\n @param c: amount of change\n @param d: duration\n*/\n\nfunction easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n}\n\nfunction animatedScrollTo(element, to) {\n var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;\n var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;\n var start = getScrollTop(element);\n var change = to - start;\n var increment = 10;\n var currentTime = 0;\n\n function animateScroll() {\n currentTime += increment;\n var val = easeOutCubic(currentTime, start, change, duration);\n scrollTo(element, val);\n\n if (currentTime < duration) {\n window.requestAnimationFrame(animateScroll);\n } else {\n callback(element);\n }\n }\n\n animateScroll();\n} // Scroll Into View\n// ------------------------------\n\nfunction scrollIntoView(menuEl, focusedEl) {\n var menuRect = menuEl.getBoundingClientRect();\n var focusedRect = focusedEl.getBoundingClientRect();\n var overScroll = focusedEl.offsetHeight / 3;\n\n if (focusedRect.bottom + overScroll > menuRect.bottom) {\n scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));\n } else if (focusedRect.top - overScroll < menuRect.top) {\n scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));\n }\n} // ==============================\n// Get bounding client object\n// ==============================\n// cannot get keys using array notation with DOMRect\n\nfunction getBoundingClientObj(element) {\n var rect = element.getBoundingClientRect();\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left,\n right: rect.right,\n top: rect.top,\n width: rect.width\n };\n}\n// Touch Capability Detector\n// ==============================\n\nfunction isTouchCapable() {\n try {\n document.createEvent('TouchEvent');\n return true;\n } catch (e) {\n return false;\n }\n} // ==============================\n// Mobile Device Detector\n// ==============================\n\nfunction isMobileDevice() {\n try {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n } catch (e) {\n return false;\n }\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nfunction getMenuPlacement(_ref) {\n var maxHeight = _ref.maxHeight,\n menuEl = _ref.menuEl,\n minHeight = _ref.minHeight,\n placement = _ref.placement,\n shouldScroll = _ref.shouldScroll,\n isFixedPosition = _ref.isFixedPosition,\n theme = _ref.theme;\n var spacing = theme.spacing;\n var scrollParent = getScrollParent(menuEl);\n var defaultState = {\n placement: 'bottom',\n maxHeight: maxHeight\n }; // something went wrong, return default state\n\n if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when\n // the menu is rendered\n\n var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),\n scrollHeight = _scrollParent$getBoun.height;\n\n var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),\n menuBottom = _menuEl$getBoundingCl.bottom,\n menuHeight = _menuEl$getBoundingCl.height,\n menuTop = _menuEl$getBoundingCl.top;\n\n var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),\n containerTop = _menuEl$offsetParent$.top;\n\n var viewHeight = window.innerHeight;\n var scrollTop = getScrollTop(scrollParent);\n var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);\n var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);\n var viewSpaceAbove = containerTop - marginTop;\n var viewSpaceBelow = viewHeight - menuTop;\n var scrollSpaceAbove = viewSpaceAbove + scrollTop;\n var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;\n var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;\n var scrollUp = scrollTop + menuTop - marginTop;\n var scrollDuration = 160;\n\n switch (placement) {\n case 'auto':\n case 'bottom':\n // 1: the menu will fit, do nothing\n if (viewSpaceBelow >= menuHeight) {\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n }\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollDown, scrollDuration);\n } // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n\n var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;\n return {\n placement: 'bottom',\n maxHeight: constrainedHeight\n };\n } // 4. Forked beviour when there isn't enough space below\n // AUTO: flip the menu, render above\n\n\n if (placement === 'auto' || isFixedPosition) {\n // may need to be constrained after flipping\n var _constrainedHeight = maxHeight;\n var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;\n\n if (spaceAbove >= minHeight) {\n _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight\n };\n } // BOTTOM: allow browser to increase scrollable area and immediately set scroll\n\n\n if (placement === 'bottom') {\n scrollTo(scrollParent, scrollDown);\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n }\n\n break;\n\n case 'top':\n // 1: the menu will fit, do nothing\n if (viewSpaceAbove >= menuHeight) {\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 2: the menu will fit, if scrolled\n\n\n if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: maxHeight\n };\n } // 3: the menu will fit, if constrained\n\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,\n // so give them whatever is available below rather than the minHeight.\n\n if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {\n _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;\n }\n\n if (shouldScroll) {\n animatedScrollTo(scrollParent, scrollUp, scrollDuration);\n }\n\n return {\n placement: 'top',\n maxHeight: _constrainedHeight2\n };\n } // 4. not enough space, the browser WILL NOT increase scrollable area when\n // absolutely positioned element rendered above the viewport (only below).\n // Flip the menu, render below\n\n\n return {\n placement: 'bottom',\n maxHeight: maxHeight\n };\n\n default:\n throw new Error(\"Invalid placement provided \\\"\".concat(placement, \"\\\".\"));\n } // fulfil contract with flow: implicit return value of undefined\n\n\n return defaultState;\n} // Menu Component\n// ------------------------------\n\nfunction alignToControl(placement) {\n var placementToCSSProp = {\n bottom: 'top',\n top: 'bottom'\n };\n return placement ? placementToCSSProp[placement] : 'bottom';\n}\n\nvar coercePlacement = function coercePlacement(p) {\n return p === 'auto' ? 'bottom' : p;\n};\n\nvar menuCSS = function menuCSS(_ref2) {\n var _ref3;\n\n var placement = _ref2.placement,\n _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n spacing = _ref2$theme.spacing,\n colors = _ref2$theme.colors;\n return _ref3 = {\n label: 'menu'\n }, _defineProperty(_ref3, alignToControl(placement), '100%'), _defineProperty(_ref3, \"backgroundColor\", colors.neutral0), _defineProperty(_ref3, \"borderRadius\", borderRadius), _defineProperty(_ref3, \"boxShadow\", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), _defineProperty(_ref3, \"marginBottom\", spacing.menuGutter), _defineProperty(_ref3, \"marginTop\", spacing.menuGutter), _defineProperty(_ref3, \"position\", 'absolute'), _defineProperty(_ref3, \"width\", '100%'), _defineProperty(_ref3, \"zIndex\", 1), _ref3;\n};\nvar PortalPlacementContext = /*#__PURE__*/createContext({\n getPortalPlacement: null\n}); // NOTE: internal only\n\nvar MenuPlacer = /*#__PURE__*/function (_Component) {\n _inherits(MenuPlacer, _Component);\n\n var _super = _createSuper(MenuPlacer);\n\n function MenuPlacer() {\n var _this;\n\n _classCallCheck(this, MenuPlacer);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n maxHeight: _this.props.maxMenuHeight,\n placement: null\n };\n\n _this.getPlacement = function (ref) {\n var _this$props = _this.props,\n minMenuHeight = _this$props.minMenuHeight,\n maxMenuHeight = _this$props.maxMenuHeight,\n menuPlacement = _this$props.menuPlacement,\n menuPosition = _this$props.menuPosition,\n menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,\n theme = _this$props.theme;\n if (!ref) return; // DO NOT scroll if position is fixed\n\n var isFixedPosition = menuPosition === 'fixed';\n var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;\n var state = getMenuPlacement({\n maxHeight: maxMenuHeight,\n menuEl: ref,\n minHeight: minMenuHeight,\n placement: menuPlacement,\n shouldScroll: shouldScroll,\n isFixedPosition: isFixedPosition,\n theme: theme\n });\n var getPortalPlacement = _this.context.getPortalPlacement;\n if (getPortalPlacement) getPortalPlacement(state);\n\n _this.setState(state);\n };\n\n _this.getUpdatedProps = function () {\n var menuPlacement = _this.props.menuPlacement;\n var placement = _this.state.placement || coercePlacement(menuPlacement);\n return _objectSpread(_objectSpread({}, _this.props), {}, {\n placement: placement,\n maxHeight: _this.state.maxHeight\n });\n };\n\n return _this;\n }\n\n _createClass(MenuPlacer, [{\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n return children({\n ref: this.getPlacement,\n placerProps: this.getUpdatedProps()\n });\n }\n }]);\n\n return MenuPlacer;\n}(Component);\nMenuPlacer.contextType = PortalPlacementContext;\n\nvar Menu = function Menu(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menu', props),\n className: cx({\n menu: true\n }, className)\n }, innerProps, {\n ref: innerRef\n }), children);\n};\n// Menu List\n// ==============================\n\nvar menuListCSS = function menuListCSS(_ref4) {\n var maxHeight = _ref4.maxHeight,\n baseUnit = _ref4.theme.spacing.baseUnit;\n return {\n maxHeight: maxHeight,\n overflowY: 'auto',\n paddingBottom: baseUnit,\n paddingTop: baseUnit,\n position: 'relative',\n // required for offset[Height, Top] > keyboard scroll\n WebkitOverflowScrolling: 'touch'\n };\n};\nvar MenuList = function MenuList(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isMulti = props.isMulti,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('menuList', props),\n className: cx({\n 'menu-list': true,\n 'menu-list--is-multi': isMulti\n }, className),\n ref: innerRef\n }, innerProps), children);\n}; // ==============================\n// Menu Notices\n// ==============================\n\nvar noticeCSS = function noticeCSS(_ref5) {\n var _ref5$theme = _ref5.theme,\n baseUnit = _ref5$theme.spacing.baseUnit,\n colors = _ref5$theme.colors;\n return {\n color: colors.neutral40,\n padding: \"\".concat(baseUnit * 2, \"px \").concat(baseUnit * 3, \"px\"),\n textAlign: 'center'\n };\n};\n\nvar noOptionsMessageCSS = noticeCSS;\nvar loadingMessageCSS = noticeCSS;\nvar NoOptionsMessage = function NoOptionsMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('noOptionsMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--no-options': true\n }, className)\n }, innerProps), children);\n};\nNoOptionsMessage.defaultProps = {\n children: 'No options'\n};\nvar LoadingMessage = function LoadingMessage(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('loadingMessage', props),\n className: cx({\n 'menu-notice': true,\n 'menu-notice--loading': true\n }, className)\n }, innerProps), children);\n};\nLoadingMessage.defaultProps = {\n children: 'Loading...'\n}; // ==============================\n// Menu Portal\n// ==============================\n\nvar menuPortalCSS = function menuPortalCSS(_ref6) {\n var rect = _ref6.rect,\n offset = _ref6.offset,\n position = _ref6.position;\n return {\n left: rect.left,\n position: position,\n top: offset,\n width: rect.width,\n zIndex: 1\n };\n};\nvar MenuPortal = /*#__PURE__*/function (_Component2) {\n _inherits(MenuPortal, _Component2);\n\n var _super2 = _createSuper(MenuPortal);\n\n function MenuPortal() {\n var _this2;\n\n _classCallCheck(this, MenuPortal);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n _this2 = _super2.call.apply(_super2, [this].concat(args));\n _this2.state = {\n placement: null\n };\n\n _this2.getPortalPlacement = function (_ref7) {\n var placement = _ref7.placement;\n var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed\n\n if (placement !== initialPlacement) {\n _this2.setState({\n placement: placement\n });\n }\n };\n\n return _this2;\n }\n\n _createClass(MenuPortal, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n appendTo = _this$props2.appendTo,\n children = _this$props2.children,\n controlElement = _this$props2.controlElement,\n menuPlacement = _this$props2.menuPlacement,\n position = _this$props2.menuPosition,\n getStyles = _this$props2.getStyles;\n var isFixed = position === 'fixed'; // bail early if required elements aren't present\n\n if (!appendTo && !isFixed || !controlElement) {\n return null;\n }\n\n var placement = this.state.placement || coercePlacement(menuPlacement);\n var rect = getBoundingClientObj(controlElement);\n var scrollDistance = isFixed ? 0 : window.pageYOffset;\n var offset = rect[placement] + scrollDistance;\n var state = {\n offset: offset,\n position: position,\n rect: rect\n }; // same wrapper element whether fixed or portalled\n\n var menuWrapper = jsx(\"div\", {\n css: getStyles('menuPortal', state)\n }, children);\n return jsx(PortalPlacementContext.Provider, {\n value: {\n getPortalPlacement: this.getPortalPlacement\n }\n }, appendTo ? /*#__PURE__*/createPortal(menuWrapper, appendTo) : menuWrapper);\n }\n }]);\n\n return MenuPortal;\n}(Component);\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nfunction equal(a, b) {\n // fast-deep-equal index.js 2.0.1\n if (a === b) return true;\n\n if (a && b && _typeof(a) == 'object' && _typeof(b) == 'object') {\n var arrA = isArray(a),\n arrB = isArray(b),\n i,\n length,\n key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n\n for (i = length; i-- !== 0;) {\n if (!equal(a[i], b[i])) return false;\n }\n\n return true;\n }\n\n if (arrA != arrB) return false;\n var dateA = a instanceof Date,\n dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n var regexpA = a instanceof RegExp,\n regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length) {\n return false;\n }\n\n for (i = length; i-- !== 0;) {\n if (!hasProp.call(b, keys[i])) return false;\n } // end fast-deep-equal\n // Custom handling for React\n\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n\n if (key === '_owner' && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner.\n // _owner contains circular references\n // and is not needed when comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of a react element\n continue;\n } else {\n // all other properties should be traversed as usual\n if (!equal(a[key], b[key])) return false;\n }\n } // fast-deep-equal index.js 2.0.1\n\n\n return true;\n }\n\n return a !== a && b !== b;\n} // end fast-deep-equal\n\n\nfunction exportedEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (error.message && error.message.match(/stack|recursion/i)) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('Warning: react-fast-compare does not handle circular references.', error.name, error.message);\n return false;\n } // some other error. we should definitely know about these\n\n\n throw error;\n }\n}\n\nvar containerCSS = function containerCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isRtl = _ref.isRtl;\n return {\n label: 'container',\n direction: isRtl ? 'rtl' : null,\n pointerEvents: isDisabled ? 'none' : null,\n // cancel mouse events when disabled\n position: 'relative'\n };\n};\nvar SelectContainer = function SelectContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({\n css: getStyles('container', props),\n className: cx({\n '--is-disabled': isDisabled,\n '--is-rtl': isRtl\n }, className)\n }, innerProps), children);\n}; // ==============================\n// Value Container\n// ==============================\n\nvar valueContainerCSS = function valueContainerCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n alignItems: 'center',\n display: 'flex',\n flex: 1,\n flexWrap: 'wrap',\n padding: \"\".concat(spacing.baseUnit / 2, \"px \").concat(spacing.baseUnit * 2, \"px\"),\n WebkitOverflowScrolling: 'touch',\n position: 'relative',\n overflow: 'hidden'\n };\n};\nvar ValueContainer = function ValueContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n isMulti = props.isMulti,\n getStyles = props.getStyles,\n hasValue = props.hasValue;\n return jsx(\"div\", {\n css: getStyles('valueContainer', props),\n className: cx({\n 'value-container': true,\n 'value-container--is-multi': isMulti,\n 'value-container--has-value': hasValue\n }, className)\n }, children);\n}; // ==============================\n// Indicator Container\n// ==============================\n\nvar indicatorsContainerCSS = function indicatorsContainerCSS() {\n return {\n alignItems: 'center',\n alignSelf: 'stretch',\n display: 'flex',\n flexShrink: 0\n };\n};\nvar IndicatorsContainer = function IndicatorsContainer(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles;\n return jsx(\"div\", {\n css: getStyles('indicatorsContainer', props),\n className: cx({\n indicators: true\n }, className)\n }, children);\n};\n\nfunction _templateObject() {\n var data = _taggedTemplateLiteral([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"]);\n\n _templateObject = function _templateObject() {\n return data;\n };\n\n return data;\n}\n\nfunction _EMOTION_STRINGIFIED_CSS_ERROR__() { return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\"; }\n\nvar _ref2 = process.env.NODE_ENV === \"production\" ? {\n name: \"19bqh2r\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;\"\n} : {\n name: \"19bqh2r\",\n styles: \"display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0;\",\n map: \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */\",\n toString: _EMOTION_STRINGIFIED_CSS_ERROR__\n};\n\n// ==============================\n// Dropdown & Clear Icons\n// ==============================\nvar Svg = function Svg(_ref) {\n var size = _ref.size,\n props = _objectWithoutProperties(_ref, [\"size\"]);\n\n return jsx(\"svg\", _extends({\n height: size,\n width: size,\n viewBox: \"0 0 20 20\",\n \"aria-hidden\": \"true\",\n focusable: \"false\",\n css: _ref2\n }, props));\n};\n\nvar CrossIcon = function CrossIcon(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z\"\n }));\n};\nvar DownChevron = function DownChevron(props) {\n return jsx(Svg, _extends({\n size: 20\n }, props), jsx(\"path\", {\n d: \"M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z\"\n }));\n}; // ==============================\n// Dropdown & Clear Buttons\n// ==============================\n\nvar baseCSS = function baseCSS(_ref3) {\n var isFocused = _ref3.isFocused,\n _ref3$theme = _ref3.theme,\n baseUnit = _ref3$theme.spacing.baseUnit,\n colors = _ref3$theme.colors;\n return {\n label: 'indicatorContainer',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n ':hover': {\n color: isFocused ? colors.neutral80 : colors.neutral40\n }\n };\n};\n\nvar dropdownIndicatorCSS = baseCSS;\nvar DropdownIndicator = function DropdownIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({}, innerProps, {\n css: getStyles('dropdownIndicator', props),\n className: cx({\n indicator: true,\n 'dropdown-indicator': true\n }, className)\n }), children || jsx(DownChevron, null));\n};\nvar clearIndicatorCSS = baseCSS;\nvar ClearIndicator = function ClearIndicator(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({}, innerProps, {\n css: getStyles('clearIndicator', props),\n className: cx({\n indicator: true,\n 'clear-indicator': true\n }, className)\n }), children || jsx(CrossIcon, null));\n}; // ==============================\n// Separator\n// ==============================\n\nvar indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {\n var isDisabled = _ref4.isDisabled,\n _ref4$theme = _ref4.theme,\n baseUnit = _ref4$theme.spacing.baseUnit,\n colors = _ref4$theme.colors;\n return {\n label: 'indicatorSeparator',\n alignSelf: 'stretch',\n backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,\n marginBottom: baseUnit * 2,\n marginTop: baseUnit * 2,\n width: 1\n };\n};\nvar IndicatorSeparator = function IndicatorSeparator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"span\", _extends({}, innerProps, {\n css: getStyles('indicatorSeparator', props),\n className: cx({\n 'indicator-separator': true\n }, className)\n }));\n}; // ==============================\n// Loading\n// ==============================\n\nvar loadingDotAnimations = keyframes(_templateObject());\nvar loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {\n var isFocused = _ref5.isFocused,\n size = _ref5.size,\n _ref5$theme = _ref5.theme,\n colors = _ref5$theme.colors,\n baseUnit = _ref5$theme.spacing.baseUnit;\n return {\n label: 'loadingIndicator',\n color: isFocused ? colors.neutral60 : colors.neutral20,\n display: 'flex',\n padding: baseUnit * 2,\n transition: 'color 150ms',\n alignSelf: 'center',\n fontSize: size,\n lineHeight: 1,\n marginRight: size,\n textAlign: 'center',\n verticalAlign: 'middle'\n };\n};\n\nvar LoadingDot = function LoadingDot(_ref6) {\n var delay = _ref6.delay,\n offset = _ref6.offset;\n return jsx(\"span\", {\n css: /*#__PURE__*/_css({\n animation: \"\".concat(loadingDotAnimations, \" 1s ease-in-out \").concat(delay, \"ms infinite;\"),\n backgroundColor: 'currentColor',\n borderRadius: '1em',\n display: 'inline-block',\n marginLeft: offset ? '1em' : null,\n height: '1em',\n verticalAlign: 'top',\n width: '1em'\n }, process.env.NODE_ENV === \"production\" ? \"\" : \"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGljYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0xJIiwiZmlsZSI6ImluZGljYXRvcnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuLyoqIEBqc3gganN4ICovXG5pbXBvcnQgeyB0eXBlIE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBqc3gsIGtleWZyYW1lcyB9IGZyb20gJ0BlbW90aW9uL2NvcmUnO1xuXG5pbXBvcnQgdHlwZSB7IENvbW1vblByb3BzLCBUaGVtZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEcm9wZG93biAmIENsZWFyIEljb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgU3ZnID0gKHsgc2l6ZSwgLi4ucHJvcHMgfTogeyBzaXplOiBudW1iZXIgfSkgPT4gKFxuICA8c3ZnXG4gICAgaGVpZ2h0PXtzaXplfVxuICAgIHdpZHRoPXtzaXplfVxuICAgIHZpZXdCb3g9XCIwIDAgMjAgMjBcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgIGNzcz17e1xuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBmaWxsOiAnY3VycmVudENvbG9yJyxcbiAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICBzdHJva2U6ICdjdXJyZW50Q29sb3InLFxuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgfX1cbiAgICB7Li4ucHJvcHN9XG4gIC8+XG4pO1xuXG5leHBvcnQgY29uc3QgQ3Jvc3NJY29uID0gKHByb3BzOiBhbnkpID0+IChcbiAgPFN2ZyBzaXplPXsyMH0gey4uLnByb3BzfT5cbiAgICA8cGF0aCBkPVwiTTE0LjM0OCAxNC44NDljLTAuNDY5IDAuNDY5LTEuMjI5IDAuNDY5LTEuNjk3IDBsLTIuNjUxLTMuMDMwLTIuNjUxIDMuMDI5Yy0wLjQ2OSAwLjQ2OS0xLjIyOSAwLjQ2OS0xLjY5NyAwLTAuNDY5LTAuNDY5LTAuNDY5LTEuMjI5IDAtMS42OTdsMi43NTgtMy4xNS0yLjc1OS0zLjE1MmMtMC40NjktMC40NjktMC40NjktMS4yMjggMC0xLjY5N3MxLjIyOC0wLjQ2OSAxLjY5NyAwbDIuNjUyIDMuMDMxIDIuNjUxLTMuMDMxYzAuNDY5LTAuNDY5IDEuMjI4LTAuNDY5IDEuNjk3IDBzMC40NjkgMS4yMjkgMCAxLjY5N2wtMi43NTggMy4xNTIgMi43NTggMy4xNWMwLjQ2OSAwLjQ2OSAwLjQ2OSAxLjIyOSAwIDEuNjk4elwiIC8+XG4gIDwvU3ZnPlxuKTtcbmV4cG9ydCBjb25zdCBEb3duQ2hldnJvbiA9IChwcm9wczogYW55KSA9PiAoXG4gIDxTdmcgc2l6ZT17MjB9IHsuLi5wcm9wc30+XG4gICAgPHBhdGggZD1cIk00LjUxNiA3LjU0OGMwLjQzNi0wLjQ0NiAxLjA0My0wLjQ4MSAxLjU3NiAwbDMuOTA4IDMuNzQ3IDMuOTA4LTMuNzQ3YzAuNTMzLTAuNDgxIDEuMTQxLTAuNDQ2IDEuNTc0IDAgMC40MzYgMC40NDUgMC40MDggMS4xOTcgMCAxLjYxNS0wLjQwNiAwLjQxOC00LjY5NSA0LjUwMi00LjY5NSA0LjUwMi0wLjIxNyAwLjIyMy0wLjUwMiAwLjMzNS0wLjc4NyAwLjMzNXMtMC41Ny0wLjExMi0wLjc4OS0wLjMzNWMwIDAtNC4yODctNC4wODQtNC42OTUtNC41MDJzLTAuNDM2LTEuMTcgMC0xLjYxNXpcIiAvPlxuICA8L1N2Zz5cbik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRHJvcGRvd24gJiBDbGVhciBCdXR0b25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IHR5cGUgSW5kaWNhdG9yUHJvcHMgPSBDb21tb25Qcm9wcyAmIHtcbiAgLyoqIFRoZSBjaGlsZHJlbiB0byBiZSByZW5kZXJlZCBpbnNpZGUgdGhlIGluZGljYXRvci4gKi9cbiAgY2hpbGRyZW46IE5vZGUsXG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufTtcblxuY29uc3QgYmFzZUNTUyA9ICh7XG4gIGlzRm9jdXNlZCxcbiAgdGhlbWU6IHtcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gICAgY29sb3JzLFxuICB9LFxufTogSW5kaWNhdG9yUHJvcHMpID0+ICh7XG4gIGxhYmVsOiAnaW5kaWNhdG9yQ29udGFpbmVyJyxcbiAgY29sb3I6IGlzRm9jdXNlZCA/IGNvbG9ycy5uZXV0cmFsNjAgOiBjb2xvcnMubmV1dHJhbDIwLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIHBhZGRpbmc6IGJhc2VVbml0ICogMixcbiAgdHJhbnNpdGlvbjogJ2NvbG9yIDE1MG1zJyxcblxuICAnOmhvdmVyJzoge1xuICAgIGNvbG9yOiBpc0ZvY3VzZWQgPyBjb2xvcnMubmV1dHJhbDgwIDogY29sb3JzLm5ldXRyYWw0MCxcbiAgfSxcbn0pO1xuXG5leHBvcnQgY29uc3QgZHJvcGRvd25JbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IERyb3Bkb3duSW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2Ryb3Bkb3duSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnZHJvcGRvd24taW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8RG93bkNoZXZyb24gLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgY2xlYXJJbmRpY2F0b3JDU1MgPSBiYXNlQ1NTO1xuZXhwb3J0IGNvbnN0IENsZWFySW5kaWNhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGN4LCBnZXRTdHlsZXMsIGlubmVyUHJvcHMgfSA9IHByb3BzO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2NsZWFySW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnY2xlYXItaW5kaWNhdG9yJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lXG4gICAgICApfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbiB8fCA8Q3Jvc3NJY29uIC8+fVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTZXBhcmF0b3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG50eXBlIFNlcGFyYXRvclN0YXRlID0geyBpc0Rpc2FibGVkOiBib29sZWFuIH07XG5cbmV4cG9ydCBjb25zdCBpbmRpY2F0b3JTZXBhcmF0b3JDU1MgPSAoe1xuICBpc0Rpc2FibGVkLFxuICB0aGVtZToge1xuICAgIHNwYWNpbmc6IHsgYmFzZVVuaXQgfSxcbiAgICBjb2xvcnMsXG4gIH0sXG59OiBDb21tb25Qcm9wcyAmIFNlcGFyYXRvclN0YXRlKSA9PiAoe1xuICBsYWJlbDogJ2luZGljYXRvclNlcGFyYXRvcicsXG4gIGFsaWduU2VsZjogJ3N0cmV0Y2gnLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGlzRGlzYWJsZWQgPyBjb2xvcnMubmV1dHJhbDEwIDogY29sb3JzLm5ldXRyYWwyMCxcbiAgbWFyZ2luQm90dG9tOiBiYXNlVW5pdCAqIDIsXG4gIG1hcmdpblRvcDogYmFzZVVuaXQgKiAyLFxuICB3aWR0aDogMSxcbn0pO1xuXG5leHBvcnQgY29uc3QgSW5kaWNhdG9yU2VwYXJhdG9yID0gKHByb3BzOiBJbmRpY2F0b3JQcm9wcykgPT4ge1xuICBjb25zdCB7IGNsYXNzTmFtZSwgY3gsIGdldFN0eWxlcywgaW5uZXJQcm9wcyB9ID0gcHJvcHM7XG4gIHJldHVybiAoXG4gICAgPHNwYW5cbiAgICAgIHsuLi5pbm5lclByb3BzfVxuICAgICAgY3NzPXtnZXRTdHlsZXMoJ2luZGljYXRvclNlcGFyYXRvcicsIHByb3BzKX1cbiAgICAgIGNsYXNzTmFtZT17Y3goeyAnaW5kaWNhdG9yLXNlcGFyYXRvcic6IHRydWUgfSwgY2xhc3NOYW1lKX1cbiAgICAvPlxuICApO1xufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2FkaW5nXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuY29uc3QgbG9hZGluZ0RvdEFuaW1hdGlvbnMgPSBrZXlmcmFtZXNgXG4gIDAlLCA4MCUsIDEwMCUgeyBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7IG9wYWNpdHk6IDE7IH1cbmA7XG5cbmV4cG9ydCBjb25zdCBsb2FkaW5nSW5kaWNhdG9yQ1NTID0gKHtcbiAgaXNGb2N1c2VkLFxuICBzaXplLFxuICB0aGVtZToge1xuICAgIGNvbG9ycyxcbiAgICBzcGFjaW5nOiB7IGJhc2VVbml0IH0sXG4gIH0sXG59OiB7XG4gIGlzRm9jdXNlZDogYm9vbGVhbixcbiAgc2l6ZTogbnVtYmVyLFxuICB0aGVtZTogVGhlbWUsXG59KSA9PiAoe1xuICBsYWJlbDogJ2xvYWRpbmdJbmRpY2F0b3InLFxuICBjb2xvcjogaXNGb2N1c2VkID8gY29sb3JzLm5ldXRyYWw2MCA6IGNvbG9ycy5uZXV0cmFsMjAsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgcGFkZGluZzogYmFzZVVuaXQgKiAyLFxuICB0cmFuc2l0aW9uOiAnY29sb3IgMTUwbXMnLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxuICBmb250U2l6ZTogc2l6ZSxcbiAgbGluZUhlaWdodDogMSxcbiAgbWFyZ2luUmlnaHQ6IHNpemUsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gIHZlcnRpY2FsQWxpZ246ICdtaWRkbGUnLFxufSk7XG5cbnR5cGUgRG90UHJvcHMgPSB7IGRlbGF5OiBudW1iZXIsIG9mZnNldDogYm9vbGVhbiB9O1xuY29uc3QgTG9hZGluZ0RvdCA9ICh7IGRlbGF5LCBvZmZzZXQgfTogRG90UHJvcHMpID0+IChcbiAgPHNwYW5cbiAgICBjc3M9e3tcbiAgICAgIGFuaW1hdGlvbjogYCR7bG9hZGluZ0RvdEFuaW1hdGlvbnN9IDFzIGVhc2UtaW4tb3V0ICR7ZGVsYXl9bXMgaW5maW5pdGU7YCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ2N1cnJlbnRDb2xvcicsXG4gICAgICBib3JkZXJSYWRpdXM6ICcxZW0nLFxuICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICBtYXJnaW5MZWZ0OiBvZmZzZXQgPyAnMWVtJyA6IG51bGwsXG4gICAgICBoZWlnaHQ6ICcxZW0nLFxuICAgICAgdmVydGljYWxBbGlnbjogJ3RvcCcsXG4gICAgICB3aWR0aDogJzFlbScsXG4gICAgfX1cbiAgLz5cbik7XG5cbmV4cG9ydCB0eXBlIExvYWRpbmdJY29uUHJvcHMgPSB7XG4gIC8qKiBQcm9wcyB0aGF0IHdpbGwgYmUgcGFzc2VkIG9uIHRvIHRoZSBjaGlsZHJlbi4gKi9cbiAgaW5uZXJQcm9wczogYW55LFxuICAvKiogVGhlIGZvY3VzZWQgc3RhdGUgb2YgdGhlIHNlbGVjdC4gKi9cbiAgaXNGb2N1c2VkOiBib29sZWFuLFxuICAvKiogV2hldGhlciB0aGUgdGV4dCBpcyByaWdodCB0byBsZWZ0ICovXG4gIGlzUnRsOiBib29sZWFuLFxufSAmIENvbW1vblByb3BzICYge1xuICAgIC8qKiBTZXQgc2l6ZSBvZiB0aGUgY29udGFpbmVyLiAqL1xuICAgIHNpemU6IG51bWJlcixcbiAgfTtcbmV4cG9ydCBjb25zdCBMb2FkaW5nSW5kaWNhdG9yID0gKHByb3BzOiBMb2FkaW5nSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgY2xhc3NOYW1lLCBjeCwgZ2V0U3R5bGVzLCBpbm5lclByb3BzLCBpc1J0bCB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICB7Li4uaW5uZXJQcm9wc31cbiAgICAgIGNzcz17Z2V0U3R5bGVzKCdsb2FkaW5nSW5kaWNhdG9yJywgcHJvcHMpfVxuICAgICAgY2xhc3NOYW1lPXtjeChcbiAgICAgICAge1xuICAgICAgICAgIGluZGljYXRvcjogdHJ1ZSxcbiAgICAgICAgICAnbG9hZGluZy1pbmRpY2F0b3InOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWVcbiAgICAgICl9XG4gICAgPlxuICAgICAgPExvYWRpbmdEb3QgZGVsYXk9ezB9IG9mZnNldD17aXNSdGx9IC8+XG4gICAgICA8TG9hZGluZ0RvdCBkZWxheT17MTYwfSBvZmZzZXQgLz5cbiAgICAgIDxMb2FkaW5nRG90IGRlbGF5PXszMjB9IG9mZnNldD17IWlzUnRsfSAvPlxuICAgIDwvZGl2PlxuICApO1xufTtcbkxvYWRpbmdJbmRpY2F0b3IuZGVmYXVsdFByb3BzID0geyBzaXplOiA0IH07XG4iXX0= */\")\n });\n};\n\nvar LoadingIndicator = function LoadingIndicator(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isRtl = props.isRtl;\n return jsx(\"div\", _extends({}, innerProps, {\n css: getStyles('loadingIndicator', props),\n className: cx({\n indicator: true,\n 'loading-indicator': true\n }, className)\n }), jsx(LoadingDot, {\n delay: 0,\n offset: isRtl\n }), jsx(LoadingDot, {\n delay: 160,\n offset: true\n }), jsx(LoadingDot, {\n delay: 320,\n offset: !isRtl\n }));\n};\nLoadingIndicator.defaultProps = {\n size: 4\n};\n\nvar css = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n _ref$theme = _ref.theme,\n colors = _ref$theme.colors,\n borderRadius = _ref$theme.borderRadius,\n spacing = _ref$theme.spacing;\n return {\n label: 'control',\n alignItems: 'center',\n backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,\n borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,\n borderRadius: borderRadius,\n borderStyle: 'solid',\n borderWidth: 1,\n boxShadow: isFocused ? \"0 0 0 1px \".concat(colors.primary) : null,\n cursor: 'default',\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n minHeight: spacing.controlHeight,\n outline: '0 !important',\n position: 'relative',\n transition: 'all 100ms',\n '&:hover': {\n borderColor: isFocused ? colors.primary : colors.neutral30\n }\n };\n};\n\nvar Control = function Control(props) {\n var children = props.children,\n cx = props.cx,\n getStyles = props.getStyles,\n className = props.className,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n innerRef = props.innerRef,\n innerProps = props.innerProps,\n menuIsOpen = props.menuIsOpen;\n return jsx(\"div\", _extends({\n ref: innerRef,\n css: getStyles('control', props),\n className: cx({\n control: true,\n 'control--is-disabled': isDisabled,\n 'control--is-focused': isFocused,\n 'control--menu-is-open': menuIsOpen\n }, className)\n }, innerProps), children);\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar groupCSS = function groupCSS(_ref) {\n var spacing = _ref.theme.spacing;\n return {\n paddingBottom: spacing.baseUnit * 2,\n paddingTop: spacing.baseUnit * 2\n };\n};\n\nvar Group = function Group(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n Heading = props.Heading,\n headingProps = props.headingProps,\n label = props.label,\n theme = props.theme,\n selectProps = props.selectProps;\n return jsx(\"div\", {\n css: getStyles('group', props),\n className: cx({\n group: true\n }, className)\n }, jsx(Heading, _extends({}, headingProps, {\n selectProps: selectProps,\n theme: theme,\n getStyles: getStyles,\n cx: cx\n }), label), jsx(\"div\", null, children));\n};\n\nvar groupHeadingCSS = function groupHeadingCSS(_ref2) {\n var spacing = _ref2.theme.spacing;\n return {\n label: 'group',\n color: '#999',\n cursor: 'default',\n display: 'block',\n fontSize: '75%',\n fontWeight: '500',\n marginBottom: '0.25em',\n paddingLeft: spacing.baseUnit * 3,\n paddingRight: spacing.baseUnit * 3,\n textTransform: 'uppercase'\n };\n};\nvar GroupHeading = function GroupHeading(props) {\n var className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n theme = props.theme,\n selectProps = props.selectProps,\n cleanProps = _objectWithoutProperties(props, [\"className\", \"cx\", \"getStyles\", \"theme\", \"selectProps\"]);\n\n return jsx(\"div\", _extends({\n css: getStyles('groupHeading', _objectSpread$1({\n theme: theme\n }, cleanProps)),\n className: cx({\n 'group-heading': true\n }, className)\n }, cleanProps));\n};\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar inputCSS = function inputCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n margin: spacing.baseUnit / 2,\n paddingBottom: spacing.baseUnit / 2,\n paddingTop: spacing.baseUnit / 2,\n visibility: isDisabled ? 'hidden' : 'visible',\n color: colors.neutral80\n };\n};\n\nvar inputStyle = function inputStyle(isHidden) {\n return {\n label: 'input',\n background: 0,\n border: 0,\n fontSize: 'inherit',\n opacity: isHidden ? 0 : 1,\n outline: 0,\n padding: 0,\n color: 'inherit'\n };\n};\n\nvar Input = function Input(_ref2) {\n var className = _ref2.className,\n cx = _ref2.cx,\n getStyles = _ref2.getStyles,\n innerRef = _ref2.innerRef,\n isHidden = _ref2.isHidden,\n isDisabled = _ref2.isDisabled,\n theme = _ref2.theme,\n selectProps = _ref2.selectProps,\n props = _objectWithoutProperties(_ref2, [\"className\", \"cx\", \"getStyles\", \"innerRef\", \"isHidden\", \"isDisabled\", \"theme\", \"selectProps\"]);\n\n return jsx(\"div\", {\n css: getStyles('input', _objectSpread$2({\n theme: theme\n }, props))\n }, jsx(AutosizeInput, _extends({\n className: cx({\n input: true\n }, className),\n inputRef: innerRef,\n inputStyle: inputStyle(isHidden),\n disabled: isDisabled\n }, props)));\n};\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar multiValueCSS = function multiValueCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n borderRadius = _ref$theme.borderRadius,\n colors = _ref$theme.colors;\n return {\n label: 'multiValue',\n backgroundColor: colors.neutral10,\n borderRadius: borderRadius / 2,\n display: 'flex',\n margin: spacing.baseUnit / 2,\n minWidth: 0 // resolves flex/text-overflow bug\n\n };\n};\nvar multiValueLabelCSS = function multiValueLabelCSS(_ref2) {\n var _ref2$theme = _ref2.theme,\n borderRadius = _ref2$theme.borderRadius,\n colors = _ref2$theme.colors,\n cropWithEllipsis = _ref2.cropWithEllipsis;\n return {\n borderRadius: borderRadius / 2,\n color: colors.neutral80,\n fontSize: '85%',\n overflow: 'hidden',\n padding: 3,\n paddingLeft: 6,\n textOverflow: cropWithEllipsis ? 'ellipsis' : null,\n whiteSpace: 'nowrap'\n };\n};\nvar multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {\n var _ref3$theme = _ref3.theme,\n spacing = _ref3$theme.spacing,\n borderRadius = _ref3$theme.borderRadius,\n colors = _ref3$theme.colors,\n isFocused = _ref3.isFocused;\n return {\n alignItems: 'center',\n borderRadius: borderRadius / 2,\n backgroundColor: isFocused && colors.dangerLight,\n display: 'flex',\n paddingLeft: spacing.baseUnit,\n paddingRight: spacing.baseUnit,\n ':hover': {\n backgroundColor: colors.dangerLight,\n color: colors.danger\n }\n };\n};\nvar MultiValueGeneric = function MultiValueGeneric(_ref4) {\n var children = _ref4.children,\n innerProps = _ref4.innerProps;\n return jsx(\"div\", innerProps, children);\n};\nvar MultiValueContainer = MultiValueGeneric;\nvar MultiValueLabel = MultiValueGeneric;\nfunction MultiValueRemove(_ref5) {\n var children = _ref5.children,\n innerProps = _ref5.innerProps;\n return jsx(\"div\", innerProps, children || jsx(CrossIcon, {\n size: 14\n }));\n}\n\nvar MultiValue = function MultiValue(props) {\n var children = props.children,\n className = props.className,\n components = props.components,\n cx = props.cx,\n data = props.data,\n getStyles = props.getStyles,\n innerProps = props.innerProps,\n isDisabled = props.isDisabled,\n removeProps = props.removeProps,\n selectProps = props.selectProps;\n var Container = components.Container,\n Label = components.Label,\n Remove = components.Remove;\n return jsx(ClassNames, null, function (_ref6) {\n var css = _ref6.css,\n emotionCx = _ref6.cx;\n return jsx(Container, {\n data: data,\n innerProps: _objectSpread$3(_objectSpread$3({}, innerProps), {}, {\n className: emotionCx(css(getStyles('multiValue', props)), cx({\n 'multi-value': true,\n 'multi-value--is-disabled': isDisabled\n }, className))\n }),\n selectProps: selectProps\n }, jsx(Label, {\n data: data,\n innerProps: {\n className: emotionCx(css(getStyles('multiValueLabel', props)), cx({\n 'multi-value__label': true\n }, className))\n },\n selectProps: selectProps\n }, children), jsx(Remove, {\n data: data,\n innerProps: _objectSpread$3({\n className: emotionCx(css(getStyles('multiValueRemove', props)), cx({\n 'multi-value__remove': true\n }, className))\n }, removeProps),\n selectProps: selectProps\n }));\n });\n};\n\nMultiValue.defaultProps = {\n cropWithEllipsis: true\n};\n\nvar optionCSS = function optionCSS(_ref) {\n var isDisabled = _ref.isDisabled,\n isFocused = _ref.isFocused,\n isSelected = _ref.isSelected,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'option',\n backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',\n color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',\n cursor: 'default',\n display: 'block',\n fontSize: 'inherit',\n padding: \"\".concat(spacing.baseUnit * 2, \"px \").concat(spacing.baseUnit * 3, \"px\"),\n width: '100%',\n userSelect: 'none',\n WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n // provide some affordance on touch devices\n ':active': {\n backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)\n }\n };\n};\n\nvar Option = function Option(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n isFocused = props.isFocused,\n isSelected = props.isSelected,\n innerRef = props.innerRef,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('option', props),\n className: cx({\n option: true,\n 'option--is-disabled': isDisabled,\n 'option--is-focused': isFocused,\n 'option--is-selected': isSelected\n }, className),\n ref: innerRef\n }, innerProps), children);\n};\n\nvar placeholderCSS = function placeholderCSS(_ref) {\n var _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'placeholder',\n color: colors.neutral50,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n position: 'absolute',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar Placeholder = function Placeholder(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('placeholder', props),\n className: cx({\n placeholder: true\n }, className)\n }, innerProps), children);\n};\n\nvar css$1 = function css(_ref) {\n var isDisabled = _ref.isDisabled,\n _ref$theme = _ref.theme,\n spacing = _ref$theme.spacing,\n colors = _ref$theme.colors;\n return {\n label: 'singleValue',\n color: isDisabled ? colors.neutral40 : colors.neutral80,\n marginLeft: spacing.baseUnit / 2,\n marginRight: spacing.baseUnit / 2,\n maxWidth: \"calc(100% - \".concat(spacing.baseUnit * 2, \"px)\"),\n overflow: 'hidden',\n position: 'absolute',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n top: '50%',\n transform: 'translateY(-50%)'\n };\n};\n\nvar SingleValue = function SingleValue(props) {\n var children = props.children,\n className = props.className,\n cx = props.cx,\n getStyles = props.getStyles,\n isDisabled = props.isDisabled,\n innerProps = props.innerProps;\n return jsx(\"div\", _extends({\n css: getStyles('singleValue', props),\n className: cx({\n 'single-value': true,\n 'single-value--is-disabled': isDisabled\n }, className)\n }, innerProps), children);\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\nvar components = {\n ClearIndicator: ClearIndicator,\n Control: Control,\n DropdownIndicator: DropdownIndicator,\n DownChevron: DownChevron,\n CrossIcon: CrossIcon,\n Group: Group,\n GroupHeading: GroupHeading,\n IndicatorsContainer: IndicatorsContainer,\n IndicatorSeparator: IndicatorSeparator,\n Input: Input,\n LoadingIndicator: LoadingIndicator,\n Menu: Menu,\n MenuList: MenuList,\n MenuPortal: MenuPortal,\n LoadingMessage: LoadingMessage,\n NoOptionsMessage: NoOptionsMessage,\n MultiValue: MultiValue,\n MultiValueContainer: MultiValueContainer,\n MultiValueLabel: MultiValueLabel,\n MultiValueRemove: MultiValueRemove,\n Option: Option,\n Placeholder: Placeholder,\n SelectContainer: SelectContainer,\n SingleValue: SingleValue,\n ValueContainer: ValueContainer\n};\nvar defaultComponents = function defaultComponents(props) {\n return _objectSpread$4(_objectSpread$4({}, components), props.components);\n};\n\nexport { isDocumentElement as A, exportedEqual as B, cleanValue as C, scrollIntoView as D, noop as E, components as F, handleInputChange as G, MenuPlacer as M, containerCSS as a, css as b, clearIndicatorCSS as c, dropdownIndicatorCSS as d, groupHeadingCSS as e, indicatorSeparatorCSS as f, groupCSS as g, inputCSS as h, indicatorsContainerCSS as i, loadingMessageCSS as j, menuListCSS as k, loadingIndicatorCSS as l, menuCSS as m, menuPortalCSS as n, multiValueCSS as o, multiValueLabelCSS as p, multiValueRemoveCSS as q, noOptionsMessageCSS as r, optionCSS as s, placeholderCSS as t, css$1 as u, valueContainerCSS as v, isTouchCapable as w, isMobileDevice as x, defaultComponents as y, classNames as z };\n","import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport React, { Component } from 'react';\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\nvar defaultProps = {\n defaultInputValue: '',\n defaultMenuIsOpen: false,\n defaultValue: null\n};\n\nvar manageState = function manageState(SelectComponent) {\n var _class, _temp;\n\n return _temp = _class = /*#__PURE__*/function (_Component) {\n _inherits(StateManager, _Component);\n\n var _super = _createSuper(StateManager);\n\n function StateManager() {\n var _this;\n\n _classCallCheck(this, StateManager);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.select = void 0;\n _this.state = {\n inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,\n menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,\n value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue\n };\n\n _this.onChange = function (value, actionMeta) {\n _this.callProp('onChange', value, actionMeta);\n\n _this.setState({\n value: value\n });\n };\n\n _this.onInputChange = function (value, actionMeta) {\n // TODO: for backwards compatibility, we allow the prop to return a new\n // value, but now inputValue is a controllable prop we probably shouldn't\n var newValue = _this.callProp('onInputChange', value, actionMeta);\n\n _this.setState({\n inputValue: newValue !== undefined ? newValue : value\n });\n };\n\n _this.onMenuOpen = function () {\n _this.callProp('onMenuOpen');\n\n _this.setState({\n menuIsOpen: true\n });\n };\n\n _this.onMenuClose = function () {\n _this.callProp('onMenuClose');\n\n _this.setState({\n menuIsOpen: false\n });\n };\n\n return _this;\n }\n\n _createClass(StateManager, [{\n key: \"focus\",\n value: function focus() {\n this.select.focus();\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.select.blur();\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"getProp\",\n value: function getProp(key) {\n return this.props[key] !== undefined ? this.props[key] : this.state[key];\n } // FIXME: untyped flow code, return any\n\n }, {\n key: \"callProp\",\n value: function callProp(name) {\n if (typeof this.props[name] === 'function') {\n var _this$props;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n return (_this$props = this.props)[name].apply(_this$props, args);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n defaultInputValue = _this$props2.defaultInputValue,\n defaultMenuIsOpen = _this$props2.defaultMenuIsOpen,\n defaultValue = _this$props2.defaultValue,\n props = _objectWithoutProperties(_this$props2, [\"defaultInputValue\", \"defaultMenuIsOpen\", \"defaultValue\"]);\n\n return /*#__PURE__*/React.createElement(SelectComponent, _extends({}, props, {\n ref: function ref(_ref) {\n _this2.select = _ref;\n },\n inputValue: this.getProp('inputValue'),\n menuIsOpen: this.getProp('menuIsOpen'),\n onChange: this.onChange,\n onInputChange: this.onInputChange,\n onMenuClose: this.onMenuClose,\n onMenuOpen: this.onMenuOpen,\n value: this.getProp('value')\n }));\n }\n }]);\n\n return StateManager;\n }(Component), _class.defaultProps = defaultProps, _temp;\n};\n\nexport { manageState as m };\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import React from 'react';\nexport default React.createContext(null);","import * as React from 'react';\nimport { generateUID } from './uid';\nexport const createSource = (prefix = '') => ({\n value: 1,\n prefix: prefix,\n uid: generateUID(),\n});\nexport const counter = createSource();\nexport const source = React.createContext(createSource());\nexport const getId = (source) => source.value++;\nexport const getPrefix = (source) => (source ? source.prefix : '');\n","import * as React from 'react';\nimport { useContext, useState } from 'react';\nimport { counter, getId, getPrefix, source } from './context';\nconst generateUID = (context) => {\n const quartz = context || counter;\n const prefix = getPrefix(quartz);\n const id = getId(quartz);\n const uid = prefix + id;\n const gen = (item) => uid + quartz.uid(item);\n return { uid, gen };\n};\nconst useUIDState = () => {\n if (process.env.NODE_ENV !== 'production') {\n if (!('useContext' in React)) {\n throw new Error('Hooks API requires React 16.8+');\n }\n }\n const context = useContext(source);\n const [uid] = useState(() => generateUID(context));\n return uid;\n};\n/**\n * returns and unique id. SSR friendly\n * returns {String}\n * @see {@link UIDConsumer}\n * @see https://github.com/thearnica/react-uid#hooks-168\n * @example\n * const id = useUID();\n * id == 1; // for example\n */\nexport const useUID = () => {\n const { uid } = useUIDState();\n return uid;\n};\n/**\n * returns an uid generator\n * @see {@link UIDConsumer}\n * @see https://github.com/thearnica/react-uid#hooks-168\n * @example\n * const uid = useUIDSeed();\n * return (\n * <>\n * \n * \n * {data.map(item =>
...
\n * \n * )\n */\nexport const useUIDSeed = () => {\n const { gen } = useUIDState();\n return gen;\n};\n","module.exports = require('./lib/retry');","var RetryOperation = require('./retry_operation');\n\nexports.operation = function(options) {\n var timeouts = exports.timeouts(options);\n return new RetryOperation(timeouts, {\n forever: options && (options.forever || options.retries === Infinity),\n unref: options && options.unref,\n maxRetryTime: options && options.maxRetryTime\n });\n};\n\nexports.timeouts = function(options) {\n if (options instanceof Array) {\n return [].concat(options);\n }\n\n var opts = {\n retries: 10,\n factor: 2,\n minTimeout: 1 * 1000,\n maxTimeout: Infinity,\n randomize: false\n };\n for (var key in options) {\n opts[key] = options[key];\n }\n\n if (opts.minTimeout > opts.maxTimeout) {\n throw new Error('minTimeout is greater than maxTimeout');\n }\n\n var timeouts = [];\n for (var i = 0; i < opts.retries; i++) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n if (options && options.forever && !timeouts.length) {\n timeouts.push(this.createTimeout(i, opts));\n }\n\n // sort the array numerically ascending\n timeouts.sort(function(a,b) {\n return a - b;\n });\n\n return timeouts;\n};\n\nexports.createTimeout = function(attempt, opts) {\n var random = (opts.randomize)\n ? (Math.random() + 1)\n : 1;\n\n var timeout = Math.round(random * Math.max(opts.minTimeout, 1) * Math.pow(opts.factor, attempt));\n timeout = Math.min(timeout, opts.maxTimeout);\n\n return timeout;\n};\n\nexports.wrap = function(obj, options, methods) {\n if (options instanceof Array) {\n methods = options;\n options = null;\n }\n\n if (!methods) {\n methods = [];\n for (var key in obj) {\n if (typeof obj[key] === 'function') {\n methods.push(key);\n }\n }\n }\n\n for (var i = 0; i < methods.length; i++) {\n var method = methods[i];\n var original = obj[method];\n\n obj[method] = function retryWrapper(original) {\n var op = exports.operation(options);\n var args = Array.prototype.slice.call(arguments, 1);\n var callback = args.pop();\n\n args.push(function(err) {\n if (op.retry(err)) {\n return;\n }\n if (err) {\n arguments[0] = op.mainError();\n }\n callback.apply(this, arguments);\n });\n\n op.attempt(function() {\n original.apply(obj, args);\n });\n }.bind(obj, original);\n obj[method].options = options;\n }\n};\n","function RetryOperation(timeouts, options) {\n // Compatibility for the old (timeouts, retryForever) signature\n if (typeof options === 'boolean') {\n options = { forever: options };\n }\n\n this._originalTimeouts = JSON.parse(JSON.stringify(timeouts));\n this._timeouts = timeouts;\n this._options = options || {};\n this._maxRetryTime = options && options.maxRetryTime || Infinity;\n this._fn = null;\n this._errors = [];\n this._attempts = 1;\n this._operationTimeout = null;\n this._operationTimeoutCb = null;\n this._timeout = null;\n this._operationStart = null;\n this._timer = null;\n\n if (this._options.forever) {\n this._cachedTimeouts = this._timeouts.slice(0);\n }\n}\nmodule.exports = RetryOperation;\n\nRetryOperation.prototype.reset = function() {\n this._attempts = 1;\n this._timeouts = this._originalTimeouts.slice(0);\n}\n\nRetryOperation.prototype.stop = function() {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n if (this._timer) {\n clearTimeout(this._timer);\n }\n\n this._timeouts = [];\n this._cachedTimeouts = null;\n};\n\nRetryOperation.prototype.retry = function(err) {\n if (this._timeout) {\n clearTimeout(this._timeout);\n }\n\n if (!err) {\n return false;\n }\n var currentTime = new Date().getTime();\n if (err && currentTime - this._operationStart >= this._maxRetryTime) {\n this._errors.push(err);\n this._errors.unshift(new Error('RetryOperation timeout occurred'));\n return false;\n }\n\n this._errors.push(err);\n\n var timeout = this._timeouts.shift();\n if (timeout === undefined) {\n if (this._cachedTimeouts) {\n // retry forever, only keep last error\n this._errors.splice(0, this._errors.length - 1);\n timeout = this._cachedTimeouts.slice(-1);\n } else {\n return false;\n }\n }\n\n var self = this;\n this._timer = setTimeout(function() {\n self._attempts++;\n\n if (self._operationTimeoutCb) {\n self._timeout = setTimeout(function() {\n self._operationTimeoutCb(self._attempts);\n }, self._operationTimeout);\n\n if (self._options.unref) {\n self._timeout.unref();\n }\n }\n\n self._fn(self._attempts);\n }, timeout);\n\n if (this._options.unref) {\n this._timer.unref();\n }\n\n return true;\n};\n\nRetryOperation.prototype.attempt = function(fn, timeoutOps) {\n this._fn = fn;\n\n if (timeoutOps) {\n if (timeoutOps.timeout) {\n this._operationTimeout = timeoutOps.timeout;\n }\n if (timeoutOps.cb) {\n this._operationTimeoutCb = timeoutOps.cb;\n }\n }\n\n var self = this;\n if (this._operationTimeoutCb) {\n this._timeout = setTimeout(function() {\n self._operationTimeoutCb();\n }, self._operationTimeout);\n }\n\n this._operationStart = new Date().getTime();\n\n this._fn(this._attempts);\n};\n\nRetryOperation.prototype.try = function(fn) {\n console.log('Using RetryOperation.try() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = function(fn) {\n console.log('Using RetryOperation.start() is deprecated');\n this.attempt(fn);\n};\n\nRetryOperation.prototype.start = RetryOperation.prototype.try;\n\nRetryOperation.prototype.errors = function() {\n return this._errors;\n};\n\nRetryOperation.prototype.attempts = function() {\n return this._attempts;\n};\n\nRetryOperation.prototype.mainError = function() {\n if (this._errors.length === 0) {\n return null;\n }\n\n var counts = {};\n var mainError = null;\n var mainErrorCount = 0;\n\n for (var i = 0; i < this._errors.length; i++) {\n var error = this._errors[i];\n var message = error.message;\n var count = (counts[message] || 0) + 1;\n\n counts[message] = count;\n\n if (count >= mainErrorCount) {\n mainError = error;\n mainErrorCount = count;\n }\n }\n\n return mainError;\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, 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 return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { __extends, __read, __spread } from \"tslib\";\nimport AnalyticsEvent from './AnalyticsEvent';\nvar UIAnalyticsEvent = /** @class */ (function (_super) {\n __extends(UIAnalyticsEvent, _super);\n function UIAnalyticsEvent(props) {\n var _this = _super.call(this, props) || this;\n _this.clone = function () {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n return null;\n }\n var context = __spread(_this.context);\n var handlers = __spread(_this.handlers);\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new UIAnalyticsEvent({ context: context, handlers: handlers, payload: payload });\n };\n _this.fire = function (channel) {\n if (_this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n return;\n }\n _this.handlers.forEach(function (handler) { return handler(_this, channel); });\n _this.hasFired = true;\n };\n _this.context = props.context || [];\n _this.handlers = props.handlers || [];\n _this.hasFired = false;\n return _this;\n }\n UIAnalyticsEvent.prototype.update = function (updater) {\n if (this.hasFired) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n return this;\n }\n return _super.prototype.update.call(this, updater);\n };\n return UIAnalyticsEvent;\n}(AnalyticsEvent));\nexport default UIAnalyticsEvent;\n//# sourceMappingURL=UIAnalyticsEvent.js.map","import { __assign } from \"tslib\";\nvar AnalyticsEvent = /** @class */ (function () {\n function AnalyticsEvent(props) {\n var _this = this;\n this.clone = function () {\n // We stringify and parse here to get a hacky \"deep clone\" of the object.\n // This has some limitations in that it wont support functions, regexs, Maps, Sets, etc,\n // but none of those need to be represented in our payload, so we consider this fine\n var payload = JSON.parse(JSON.stringify(_this.payload));\n return new AnalyticsEvent({ payload: payload });\n };\n this.payload = props.payload;\n }\n AnalyticsEvent.prototype.update = function (updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = __assign(__assign({}, this.payload), updater);\n }\n return this;\n };\n return AnalyticsEvent;\n}());\nexport default AnalyticsEvent;\n//# sourceMappingURL=AnalyticsEvent.js.map","import { __assign, __extends, __read, __spread } from \"tslib\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\n/**\n * This component is used to grab the analytics functions off context.\n * It uses legacy context, but provides an API similar to 16.3 context.\n * This makes it easier to use with the forward ref API.\n */\nvar AnalyticsContextConsumer = /** @class */ (function (_super) {\n __extends(AnalyticsContextConsumer, _super);\n function AnalyticsContextConsumer(props) {\n var _this = _super.call(this, props) || this;\n /**\n * Store references to the original and patched event props so we can\n * determine when to update the patched props\n */\n _this.originalEventProps = {};\n _this.patchedEventProps = {};\n // Update patched event props only if the original props have changed\n _this.updatePatchedEventProps = function (props) {\n var changedPropCallbacks = Object.keys(_this.props.createEventMap).filter(function (p) { return _this.originalEventProps[p] !== props[p]; });\n if (changedPropCallbacks.length > 0) {\n _this.patchedEventProps = __assign(__assign({}, _this.patchedEventProps), _this.mapCreateEventsToProps(changedPropCallbacks, props));\n changedPropCallbacks.forEach(function (p) {\n _this.originalEventProps[p] = props[p];\n });\n }\n return _this.patchedEventProps;\n };\n _this.mapCreateEventsToProps = function (changedPropNames, props) {\n return changedPropNames.reduce(function (modified, propCallbackName) {\n var _a;\n var eventCreator = _this.props.createEventMap[propCallbackName];\n var providedCallback = props[propCallbackName];\n if (!['object', 'function'].includes(typeof eventCreator)) {\n return modified;\n }\n var modifiedCallback = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var analyticsEvent = typeof eventCreator === 'function'\n ? eventCreator(_this.createAnalyticsEvent, props)\n : _this.createAnalyticsEvent(eventCreator);\n if (providedCallback) {\n providedCallback.apply(void 0, __spread(args, [analyticsEvent]));\n }\n };\n return __assign(__assign({}, modified), (_a = {}, _a[propCallbackName] = modifiedCallback, _a));\n }, {});\n };\n _this.createAnalyticsEvent = function (payload) {\n var _a = _this.context, getAtlaskitAnalyticsEventHandlers = _a.getAtlaskitAnalyticsEventHandlers, getAtlaskitAnalyticsContext = _a.getAtlaskitAnalyticsContext;\n return new UIAnalyticsEvent({\n context: (typeof getAtlaskitAnalyticsContext === 'function' &&\n getAtlaskitAnalyticsContext()) ||\n [],\n handlers: (typeof getAtlaskitAnalyticsEventHandlers === 'function' &&\n getAtlaskitAnalyticsEventHandlers()) ||\n [],\n payload: payload,\n });\n };\n Object.keys(_this.props.createEventMap).forEach(function (p) {\n _this.originalEventProps[p] = props.wrappedComponentProps[p];\n });\n _this.patchedEventProps = _this.mapCreateEventsToProps(Object.keys(_this.props.createEventMap), props.wrappedComponentProps);\n return _this;\n }\n AnalyticsContextConsumer.prototype.render = function () {\n var patchedEventProps = this.updatePatchedEventProps(this.props.wrappedComponentProps);\n return this.props.children({\n createAnalyticsEvent: this.createAnalyticsEvent,\n patchedEventProps: patchedEventProps,\n });\n };\n AnalyticsContextConsumer.contextTypes = {\n getAtlaskitAnalyticsEventHandlers: PropTypes.func,\n getAtlaskitAnalyticsContext: PropTypes.func,\n };\n AnalyticsContextConsumer.defaultProps = {\n createEventMap: {},\n };\n return AnalyticsContextConsumer;\n}(React.Component));\nexport default AnalyticsContextConsumer;\n//# sourceMappingURL=AnalyticsContextConsumer.js.map","import { __assign } from \"tslib\";\nimport React from 'react';\nimport AnalyticsContextConsumer from './AnalyticsContextConsumer';\nvar withAnalyticsEvents = function (createEventMap) { return function (WrappedComponent) {\n var WithAnalyticsEvents = React.forwardRef(function (props, ref) { return (React.createElement(AnalyticsContextConsumer, { createEventMap: createEventMap, wrappedComponentProps: props }, function (_a) {\n var createAnalyticsEvent = _a.createAnalyticsEvent, patchedEventProps = _a.patchedEventProps;\n return (React.createElement(WrappedComponent, __assign({}, props, patchedEventProps, { createAnalyticsEvent: createAnalyticsEvent, ref: ref })));\n })); });\n // @ts-ignore\n WithAnalyticsEvents.displayName = \"WithAnalyticsEvents(\" + (WrappedComponent.displayName ||\n WrappedComponent.name) + \")\";\n return WithAnalyticsEvents;\n}; };\nexport default withAnalyticsEvents;\n//# sourceMappingURL=withAnalyticsEvents.js.map","export function getInitials(fullName: string): string {\n return fullName.split(/[^\\w]+/).reduce((result, part) => {\n if (result.length < 3 && part.length > 0) {\n return result + part[0].toUpperCase();\n } else {\n return result;\n }\n }, '');\n}\n","import Avatar from '@atlaskit/avatar';\nimport { colors, fontFamily } from '@atlaskit/theme';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getInitials } from '../utils/initials';\n\nexport type UserAvatarProps = {\n readonly userName: string;\n readonly avatarSrc?: string;\n readonly enableTooltip?: boolean;\n readonly isDisabled?: boolean;\n readonly isFocus?: boolean;\n};\n\nexport function UserAvatar({\n userName,\n avatarSrc,\n enableTooltip = false,\n isDisabled = false,\n isFocus = false\n}: UserAvatarProps) {\n if (avatarSrc !== undefined) {\n return (\n \n );\n } else {\n return (\n (\n
\n {getInitials(userName)}\n
\n )}\n name={userName}\n size=\"small\"\n isDisabled={isDisabled}\n isFocus={isFocus}\n enableTooltip={enableTooltip}\n />\n );\n }\n}\n\nconst Initials = styled.span`\n display: flex;\n align-items: center;\n justify-content: center;\n\n font-family: ${fontFamily};\n font-size: 10px;\n line-height: 10px;\n color: ${colors.N500};\n\n width: 100%;\n height: 100%;\n background-color: ${colors.N40};\n border-radius: 50%;\n`;\n","import { defineMessages } from 'react-intl';\n\nexport const messages = defineMessages({\n getStarted: {\n id: 'UserProfileDropdown.getStarted',\n defaultMessage: 'Get started with any product'\n },\n cloudProducts: {\n id: 'UserProfileDropdown.cloudProducts',\n defaultMessage: 'My cloud products'\n },\n cloudProductsMobile: {\n id: 'UserProfileDropdown.cloudProductsMobile',\n defaultMessage: 'MY CLOUD PRODUCTS'\n },\n activeSites: {\n id: 'UserProfileDropdown.activeSites',\n defaultMessage: 'Active in {sites} sites:'\n },\n profile: {\n id: 'UserProfileDropdown.profile',\n defaultMessage: 'Profile'\n },\n licenses: {\n id: 'UserProfileDropdown.licenses',\n defaultMessage: 'Licenses'\n },\n logOut: {\n id: 'UserProfileDropdown.logOut',\n defaultMessage: 'Log Out'\n },\n switchAccount: {\n id: 'UserProfileDropdown.switchAccount',\n defaultMessage: 'Switch Account'\n }\n});\n","import React from 'react';\n\nexport function BlankPointerImage() {\n return (\n \n );\n}\n","import { colors, fontFamily } from '@atlaskit/theme';\nimport React, { MouseEventHandler } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { messages } from '../messages';\nimport { BlankPointerImage } from './blank-pointer-image';\n\nexport type EmptyViewProps = {\n readonly getStartedUrl: string;\n readonly onGetStartedClick?: MouseEventHandler;\n};\n\nexport function EmptyView({\n getStartedUrl,\n onGetStartedClick\n}: EmptyViewProps) {\n return (\n \n \n {\n if (onGetStartedClick) {\n onGetStartedClick(event);\n }\n }}\n >\n \n \n \n );\n}\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n margin: 27px;\n`;\n\nconst Link = styled.a`\n margin: 15px 15px 0;\n\n color: ${colors.B400};\n text-decoration: none;\n cursor: pointer;\n font-family: ${fontFamily};\n font-size: 12px;\n line-height: 14px;\n text-align: center;\n`;\n","import { useContext, useRef } from 'react';\nimport { useCallbackOne } from 'use-memo-one';\nimport { AnalyticsReactContext, } from './AnalyticsReactContext';\nimport UIAnalyticsEvent from './UIAnalyticsEvent';\nvar noop = function () { return []; };\nexport function useAnalyticsEvents() {\n var analyticsContext = useContext(AnalyticsReactContext);\n var contextRef = useRef(analyticsContext);\n contextRef.current.getAtlaskitAnalyticsEventHandlers =\n analyticsContext.getAtlaskitAnalyticsEventHandlers;\n contextRef.current.getAtlaskitAnalyticsContext =\n analyticsContext.getAtlaskitAnalyticsContext;\n var createAnalyticsEvent = useCallbackOne(function (payload) {\n var getAtlaskitAnalyticsContext = contextRef.current.getAtlaskitAnalyticsContext || noop;\n var getAtlaskitAnalyticsEventHandlers = contextRef.current.getAtlaskitAnalyticsEventHandlers || noop;\n return new UIAnalyticsEvent({\n context: getAtlaskitAnalyticsContext(),\n handlers: getAtlaskitAnalyticsEventHandlers(),\n payload: payload,\n });\n }, []);\n return {\n createAnalyticsEvent: createAnalyticsEvent,\n };\n}\n//# sourceMappingURL=useAnalyticsEvents.js.map","import { __read, __spread } from \"tslib\";\nimport { useCallback, useRef, useEffect } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nexport var useCallbackWithAnalytics = function (method, payload, channel) {\n var createAnalyticsEvent = useAnalyticsEvents().createAnalyticsEvent;\n // given input might be new function/object each render\n // we optimise and store in refs so we can memoize the callback\n // and at the same time avoid stale values\n var methodRef = useRef(method);\n var payloadRef = useRef(payload);\n useEffect(function () {\n methodRef.current = method;\n payloadRef.current = payload;\n }, [method, payload]);\n return useCallback(function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var pload = typeof payloadRef.current === 'function'\n ? payloadRef.current.apply(payloadRef, __spread(args)) : payloadRef.current;\n createAnalyticsEvent(pload).fire(channel);\n methodRef.current.apply(methodRef, __spread(args));\n }, [createAnalyticsEvent, methodRef, payloadRef, channel]);\n};\n//# sourceMappingURL=useCallbackWithAnalytics.js.map","import camelCase from 'camelcase';\n\nexport const trackingData = {\n dropdownToggle: {\n eventType: 'track',\n eventContainer: 'globalNavProfile',\n eventComponent: 'DropdownMenu',\n event: 'clicked',\n magnoliaComponentId: null\n },\n siteLink: {\n eventType: 'track',\n eventContainer: 'globalNavProfile',\n eventComponent: 'SiteLink',\n event: 'clicked',\n magnoliaComponentId: null,\n productKey: null,\n atlOrigin: null\n }\n};\n\nexport const parseProductKey = (product: string) => {\n return camelCase(product);\n};\n\nexport const getParameterByName = (name: string, url: string) => {\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\n const regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)');\n const results = regex.exec(url);\n\n if (!results) {\n return null;\n }\n if (!results[2]) {\n return '';\n }\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n};\n","import ChevronDownIcon from '@atlaskit/icon/glyph/chevron-down';\nimport ChevronUpIcon from '@atlaskit/icon/glyph/chevron-up';\nimport React from 'react';\n\nexport type ChrevronProps = {\n readonly isOpen: boolean;\n};\n\nexport function Chevron({ isOpen }: ChrevronProps) {\n if (isOpen) {\n return ;\n } else {\n return ;\n }\n}\n","import {\n useCallbackWithAnalytics,\n withAnalyticsEvents,\n WithAnalyticsEventsProps\n} from '@atlaskit/analytics-next';\nimport { B400, N600 } from '@atlaskit/theme/colors';\nimport React, { MouseEvent } from 'react';\nimport styled from 'styled-components';\nimport { getParameterByName, parseProductKey, trackingData } from '../tracking';\n\nexport type SiteLinkProps = {\n readonly site: string;\n readonly name: string;\n readonly domRootId?: string;\n} & WithAnalyticsEventsProps;\n\nfunction SiteLink({ site, name, domRootId }: SiteLinkProps) {\n const { hostname } = new URL(site);\n const index = hostname.indexOf('.');\n\n const subdomain = hostname.substring(0, index);\n const rest = hostname.substring(index);\n\n const trackAndFollowUrl = (label: string, domain: string) => {\n const analyticsData = Object.assign(\n { ...trackingData.siteLink },\n {\n magnoliaComponentId: domRootId,\n atlOrigin: getParameterByName('atlOrigin', domain),\n productKey: parseProductKey(label)\n }\n );\n\n return useCallbackWithAnalytics((event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n window.location.assign(domain);\n }, analyticsData);\n };\n\n return (\n \n {subdomain}\n {rest}\n \n );\n}\n\nexport const Link = styled.a`\n color: ${N600};\n text-decoration: none;\n`;\n\nexport const SubDomain = styled.span`\n color: ${B400};\n`;\n\nexport default withAnalyticsEvents()(SiteLink);\n","import { N600, N800 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { messages } from '../messages';\nimport { default as SiteLinkWithAnalytics } from './site-link';\n\nexport type SiteListProps = {\n readonly sites: string[];\n readonly product: string;\n readonly domRootId?: string;\n};\n\nexport function SiteList({ sites, product, domRootId }: SiteListProps) {\n return (\n \n \n \n \n \n {sites.map((site) => (\n \n \n \n ))}\n \n \n );\n}\n\nexport const Message = styled.div`\n font-size: 10px;\n line-height: 16px;\n color: ${N800};\n`;\n\nconst Container = styled.div`\n margin: 6px 0;\n`;\n\nconst List = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n`;\n\nconst ListItem = styled.li`\n font-size: 10px;\n line-height: 16px;\n color: ${N600};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n","import {\n useCallbackWithAnalytics,\n withAnalyticsEvents,\n WithAnalyticsEventsProps\n} from '@atlaskit/analytics-next';\nimport { N20, N800 } from '@atlaskit/theme/colors';\nimport React, { MouseEvent, useState } from 'react';\nimport styled from 'styled-components';\nimport { getParameterByName, parseProductKey, trackingData } from '../tracking';\n\nimport { Chevron } from './chevron';\nimport { SiteList } from './site-list';\n\nexport type ProductDropdownItemProps = {\n readonly name: string;\n readonly icon: JSX.Element;\n readonly sites: string[];\n readonly domRootId?: string;\n} & WithAnalyticsEventsProps;\n\nexport type ProductDropdownItemState = {\n readonly isOpen: boolean;\n};\n\nexport function ProductDropdownItem({\n name,\n icon,\n sites,\n domRootId\n}: ProductDropdownItemProps): JSX.Element {\n const [isOpen, setIsOpen] = useState(false);\n const toggleOpen = () => setIsOpen(!isOpen);\n const singleSite = sites[0];\n\n const trackAndFollowUrl = (label: string, domain: string) => {\n const analyticsData = Object.assign(\n { ...trackingData.siteLink },\n {\n magnoliaComponentId: domRootId,\n atlOrigin: getParameterByName('atlOrigin', domain),\n productKey: parseProductKey(label)\n }\n );\n\n return useCallbackWithAnalytics((event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n window.location.assign(domain);\n }, analyticsData);\n };\n\n if (sites.length > 1) {\n return (\n \n
\n {icon}\n {name}\n \n
\n {isOpen ? (\n \n ) : null}\n
\n );\n } else {\n return (\n \n \n
\n {icon}\n {name}\n
\n \n
\n );\n }\n}\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: stretch;\n\n padding: 4px 12px;\n\n &:hover {\n background-color: ${N20};\n }\n`;\n\nconst ProductLink = styled.a`\n text-decoration: none;\n\n &:hover {\n text-decoration: none;\n }\n`;\n\nconst Header = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nconst ProductNameLabel = styled.span`\n margin-left: 8px;\n flex: 1;\n font-size: 12px;\n line-height: 14px;\n color: ${N800};\n`;\n\nexport default withAnalyticsEvents()(ProductDropdownItem);\n","import { N800 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\n\nimport { messages } from '../messages';\nimport { isNotEmpty } from '../utils/filters';\nimport {\n default as ProductDropdownItemWithAnalytics,\n ProductDropdownItemProps\n} from './product-dropdown-item';\n\nimport { UserProfileViewType } from '../user-profile-view';\n\nexport type ProductsViewProps = {\n readonly products: ProductDropdownItemProps[];\n readonly type?: UserProfileViewType;\n readonly domRootId?: string;\n};\n\nexport function ProductsView({ products, type, domRootId }: ProductsViewProps) {\n return (\n \n \n {type === 'wac-mobile' ? (\n
\n \n \n
\n ) : (\n \n )}\n
\n {products\n .filter(({ sites }) => isNotEmpty(sites))\n .map((product) => (\n \n ))}\n
\n );\n}\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: stretch;\n margin: 12px 0;\n`;\n\nconst MessageLabel = styled.span`\n margin-left: 12px;\n margin-bottom: 11px;\n font-size: 12px;\n line-height: 14px;\n color: ${N800};\n`;\n\nconst MessageLabelDivider = styled.hr`\n width: 64px;\n margin-left: 0px;\n`;\n","export function isNotEmpty(array: T[]): boolean {\n return array.length > 0;\n}\n","import { colors, fontFamily } from '@atlaskit/theme';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\nimport { messages } from '../messages';\n\nexport type UserNavProps = {\n readonly onSwitchAccountClick?: () => void;\n readonly onProfileClick: () => void;\n readonly onLicensesClick: () => void;\n readonly onLogOutClick?: () => void;\n};\n\nexport function UserNav({\n onSwitchAccountClick,\n onProfileClick,\n onLicensesClick,\n onLogOutClick\n}: UserNavProps): JSX.Element {\n if (onLogOutClick) {\n return (\n \n \n \n \n \n \n );\n } else {\n return (\n \n \n \n \n );\n }\n}\n\nconst Container = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n`;\n\nconst Button = styled.button`\n background: none;\n border: none;\n padding: 0;\n margin: 0;\n font: inherit;\n outline: inherit;\n\n color: ${colors.N600};\n text-decoration: none;\n font-family: ${fontFamily};\n font-size: 12px;\n line-height: 21px;\n cursor: pointer;\n`;\n","import Button from '@atlaskit/button';\nimport ChevronLeftLargeIcon from '@atlaskit/icon/glyph/chevron-left-large';\nimport CrossIcon from '@atlaskit/icon/glyph/cross';\nimport { colors, fontFamily } from '@atlaskit/theme';\nimport React from 'react';\nimport styled from 'styled-components';\n\nimport { UserAvatar } from './components/user-avatar';\nimport { EmptyView } from './components/empty-view';\nimport { ProductDropdownItemProps } from './components/product-dropdown-item';\nimport { ProductsView } from './components/products-view';\nimport { UserNav } from './components/user-nav';\n\nexport type UserProfileViewType = 'wac-desktop' | 'wac-mobile';\n\nexport type UserProfileViewProps = {\n readonly userName: string;\n readonly userEmail: string;\n readonly products: ProductDropdownItemProps[];\n\n readonly onSwitchAccountClick: () => void;\n readonly onProfileClick: () => void;\n readonly onLicensesClick: () => void;\n readonly onLogOutClick: () => void;\n\n readonly getStartedUrl: string;\n readonly onGetStartedClick?: () => void;\n readonly onMobileBackClick?: () => void;\n readonly onMobileCloseClick?: () => void;\n\n readonly avatarSrc?: string;\n readonly type?: UserProfileViewType;\n readonly domRootId?: string;\n};\n\nexport function UserProfileView({\n userName,\n userEmail,\n products,\n getStartedUrl,\n onGetStartedClick,\n onSwitchAccountClick,\n onProfileClick,\n onLicensesClick,\n onLogOutClick,\n onMobileBackClick,\n onMobileCloseClick,\n domRootId,\n avatarSrc,\n type = 'wac-desktop'\n}: UserProfileViewProps) {\n switch (type) {\n case 'wac-mobile':\n return (\n \n \n }\n onClick={() => onMobileBackClick && onMobileBackClick()}\n />\n \n {userName}\n {userEmail}\n \n }\n onClick={() => onMobileCloseClick && onMobileCloseClick()}\n />\n \n {products.length > 0 ? (\n \n ) : (\n \n )}\n \n \n \n \n );\n default:\n return (\n \n \n \n \n {userName}\n {userEmail}\n \n \n\n {products.length > 0 ? (\n \n ) : (\n \n )}\n
\n \n
\n
\n );\n }\n}\n\nconst RootContainer = styled.div`\n width: 190px;\n margin: -4px 0;\n font-family: ${fontFamily};\n`;\n\nconst RootContainerMobile = styled.div`\n width: 100%;\n margin: -4px 0;\n font-family: ${fontFamily};\n`;\n\nconst UserDetailsContainer = styled.div`\n display: flex;\n flex-flow: row nowrap;\n align-items: center;\n padding: 8px 14px;\n background-color: ${colors.N800};\n`;\n\nconst UserInfoContainer = styled.div`\n display: flex;\n flex-flow: column;\n margin-left: 8px;\n`;\n\nconst UserDetailsContainerMobile = styled.div`\n flex: 1;\n padding: 8px 14px;\n color: white;\n`;\n\nconst Footer = styled.div`\n margin: 12px;\n padding-top: 11px;\n border-top: 1px solid ${colors.N40};\n`;\n\nconst FooterMobile = styled.div`\n padding: 20px 15px;\n border-top: 1px solid ${colors.N40};\n background-color: ${colors.N20};\n`;\n\nconst UserNameLabel = styled.div`\n font-size: 15px;\n line-height: 18px;\n color: ${colors.N0};\n`;\n\nconst UserEmailLabel = styled.div`\n font-size: 10px;\n line-height: 12px;\n color: ${colors.N50};\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nconst UserNameLabelMobile = styled.div`\n font-size: 15px;\n line-height: 18px;\n color: black;\n`;\n\nconst UserEmailLabelMobile = styled.div`\n font-size: 10px;\n line-height: 12px;\n color: black;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`;\n\nconst TopRowContainer = styled.div`\n width: 100%;\n display: flex;\n border-bottom: 1px solid ${colors.N40};\n`;\n","import Avatar from '@atlaskit/avatar';\nimport { colors, fontFamily } from '@atlaskit/theme';\nimport React, { Component } from 'react';\nimport styled from 'styled-components';\n\nimport { getInitials } from '../utils/initials';\n\nexport type TriggerProps = {\n readonly userName: string;\n readonly isBorderVisible: boolean;\n readonly avatarSrc?: string;\n};\n\nexport class Trigger extends Component {\n public static defaultProps = {\n isBorderVisible: false\n };\n\n public render() {\n const { userName, avatarSrc, isBorderVisible } = this.props;\n if (avatarSrc !== undefined) {\n return (\n \n );\n } else {\n return (\n (\n
\n {getInitials(userName)}\n
\n )}\n name={userName}\n size=\"small\"\n isFocus={isBorderVisible}\n isInteractive\n />\n );\n }\n }\n}\n\nconst Initials = styled.span`\n display: flex;\n align-items: center;\n justify-content: center;\n\n font-family: ${fontFamily};\n font-size: 10px;\n line-height: 10px;\n color: ${colors.N500};\n\n width: 100%;\n height: 100%;\n background-color: ${colors.N40};\n border-radius: 50%;\n`;\n","import {\n withAnalyticsEvents,\n WithAnalyticsEventsProps\n} from '@atlaskit/analytics-next';\nimport DropdownMenu from '@atlaskit/dropdown-menu';\nimport React, { Component } from 'react';\nimport { UserProfileView } from './user-profile-view';\n\nimport { ProductDropdownItemProps } from './components/product-dropdown-item';\nimport { Trigger } from './components/trigger';\nimport { messages } from './messages';\nimport { trackingData } from './tracking';\n\nexport { ProductDropdownItemProps };\n\nexport type UserProfileDropdownProps = {\n readonly userName: string;\n readonly userEmail: string;\n readonly products: ProductDropdownItemProps[];\n readonly defaultOpen: boolean;\n\n readonly onSwitchAccountClick: () => void;\n readonly onProfileClick: () => void;\n readonly onLicensesClick: () => void;\n readonly onLogOutClick: () => void;\n\n readonly getStartedUrl: string;\n readonly onGetStartedClick?: () => void;\n readonly onMobileBackClick?: () => void;\n readonly onMobileCloseClick?: () => void;\n\n readonly avatarSrc?: string;\n readonly domRootId?: string;\n} & WithAnalyticsEventsProps;\n\nexport type UserProfileDropdownState = {\n readonly isOpen: boolean;\n};\n\nexport type onOpenChangeProps = {\n readonly event?: { [key: string]: unknown };\n} & UserProfileDropdownState;\n\nexport class UserProfileDropdown extends Component<\n UserProfileDropdownProps,\n UserProfileDropdownState\n> {\n public static defaultProps = {\n defaultOpen: false\n };\n\n public static messages = messages;\n\n public constructor(props: UserProfileDropdownProps) {\n super(props);\n\n this.state = {\n isOpen: props.defaultOpen\n };\n }\n\n public render() {\n const {\n userName,\n userEmail,\n products,\n avatarSrc,\n getStartedUrl,\n onGetStartedClick,\n onSwitchAccountClick,\n onProfileClick,\n onLicensesClick,\n onLogOutClick,\n onMobileBackClick,\n onMobileCloseClick,\n domRootId,\n createAnalyticsEvent,\n ...rest\n } = this.props;\n const { isOpen } = this.state;\n const trigger = (\n \n );\n\n const onOpenChange = ({ isOpen: open }: onOpenChangeProps) => {\n if (open === true && createAnalyticsEvent) {\n const analyticsData = Object.assign(trackingData.dropdownToggle, {\n magnoliaComponentId: domRootId\n });\n\n const analyticsEvent = createAnalyticsEvent(analyticsData);\n analyticsEvent.fire();\n }\n };\n\n return (\n \n \n \n );\n }\n}\n\nexport default withAnalyticsEvents()(UserProfileDropdown);\n","import Avatar from '@atlaskit/avatar';\nimport { colors, fontFamily } from '@atlaskit/theme';\nimport React, { Component } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport styled from 'styled-components';\n\nexport type MobileTriggerProps = {\n readonly userName: string;\n readonly avatarSrc?: string;\n readonly onClick?: () => void;\n readonly logOutUrl?: string;\n readonly logOutMessage?: FormattedMessage.MessageDescriptor;\n};\n\nexport class MobileTrigger extends Component {\n public render() {\n const { userName, avatarSrc, onClick, logOutUrl, logOutMessage } =\n this.props;\n if (avatarSrc !== undefined) {\n if (logOutUrl !== undefined && logOutMessage !== undefined) {\n return (\n {\n if (onClick) {\n onClick();\n window.location.assign(logOutUrl);\n }\n }}\n >\n \n
\n {userName}\n \n \n \n
\n \n );\n }\n\n return (\n {\n if (onClick) {\n onClick();\n }\n }}\n >\n \n {userName}\n \n );\n } else {\n return (\n {\n if (onClick) {\n onClick();\n }\n }}\n >\n \n {userName}\n \n );\n }\n }\n}\n\nconst AvatarContainer = styled.div`\n display: flex;\n align-items: center;\n font-family: ${fontFamily};\n font-size: 12px;\n line-height: 12px;\n color: ${colors.N500};\n cursor: pointer;\n`;\n\nconst UserNameLabel = styled.div`\n padding-left: 10px;\n`;\nconst DevopsUserName = styled.div`\n padding-left: 10px;\n color: ${colors.N30};\n font-weight: 700;\n`;\nconst DevOpsLogOut = styled.a`\n padding-left: 10px;\n text-decoration: none;\n font-weight: 500;\n color: ${colors.N30};\n span {\n margin-top: 4px;\n display: inline-block;\n color: ${colors.N30};\n text-decoration: underline;\n }\n`;\n","import { useEffect, useState } from 'react';\n\nexport function useDebounce(value: T, delay: number): T {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n return () => {\n clearTimeout(handler);\n };\n }, [value]);\n\n return debouncedValue;\n}\n","import { IStargateClient } from '@atlassiansox/asc-stargate';\nimport { useStargateClient } from '@atlassiansox/bxpkit-core';\nimport debounce from 'lodash.debounce';\nimport { Dispatch, SetStateAction, useEffect, useState } from 'react';\nimport { AnalyticsTrackType } from '../model';\n\nexport type SiteNameValidation = {\n readonly isValidating: boolean;\n readonly isValid: boolean;\n readonly message?: string;\n};\n\nexport function useSiteNameValidation(\n siteName: string,\n analyticsTrack: AnalyticsTrackType,\n isDeferredSiteNameEnabled?: boolean\n): SiteNameValidation {\n const [{ isValidating, isValid, message }, setValidation] =\n useState({\n isValidating: false,\n isValid: false\n });\n const stargateClient = useStargateClient();\n const re = /^[a-z0-9]+[a-z0-9-]+[a-z0-9]+$/;\n\n useEffect(() => {\n validateSiteNameDebounced.cancel();\n if (siteName.length === 0) {\n if (isDeferredSiteNameEnabled) {\n return setValidation({\n isValidating: false,\n isValid: true\n });\n } else if (isValid !== false) {\n return setValidation({\n isValidating: false,\n isValid: false,\n message: 'Site name is required'\n });\n } else {\n return;\n }\n } else if (siteName.length < 3) {\n return setValidation({\n isValidating: false,\n isValid: false,\n message:\n 'Your site name must be at least 3 characters long. Use only lowercase letters and numbers.'\n });\n } else if (siteName.length > 50) {\n return setValidation({\n isValidating: false,\n isValid: false,\n message: \"That's a bit too long — try something 50 characters or less.\"\n });\n } else if (!siteName.match(re)) {\n return setValidation({\n isValidating: false,\n isValid: false,\n message:\n 'Your site name must be at least 3 characters long. Use only lowercase letters and numbers.'\n });\n } else {\n setValidation({ isValidating: true, isValid: false });\n void validateSiteNameDebounced(\n siteName,\n setValidation,\n analyticsTrack,\n stargateClient\n );\n }\n }, [siteName]);\n\n return { isValidating, isValid, message };\n}\n\nconst validateSiteNameDebounced = debounce(validateSiteName, 1000, {\n trailing: true\n});\n\nasync function validateSiteName(\n siteName: string,\n setValidation: Dispatch>,\n analyticsTrack: AnalyticsTrackType,\n stargateClient: IStargateClient\n) {\n const { newRelic } = analyticsTrack;\n try {\n const { availability } = await stargateClient.checkCloudNameAvailability({\n cloudName: siteName\n });\n newRelic.trackAjax(\n 'react-signup-site-validation',\n { status: '200', apiUrl: 'site-availability-url' },\n true\n );\n switch (availability) {\n case 'AVAILABLE':\n return setValidation({ isValidating: false, isValid: true });\n default:\n return setValidation({\n isValidating: false,\n isValid: false,\n message: 'Site name is unavailable'\n });\n }\n } catch (error) {\n newRelic.trackAjax('react-signup-site-validation', error, false);\n return setValidation({\n isValidating: false,\n isValid: false,\n message: 'Network error'\n });\n }\n}\n","export const SIGN_UP_LOADING_START_MARK = 'SIGN_UP_LOADING_START_MARK';\nexport const DEVOPS_LOADING_START_MARK = 'DEVOPS_LOADING_START_MARK';\n\nexport function markSignUpLoadingStart() {\n performance.mark(SIGN_UP_LOADING_START_MARK);\n}\n\nexport function markDevopsLoadingStart() {\n performance.mark(DEVOPS_LOADING_START_MARK);\n}\n\nexport function getDevopsTimeToInteractive() {\n performance.measure(\n 'devopsTimeToInteractivePerformance',\n SIGN_UP_LOADING_START_MARK,\n DEVOPS_LOADING_START_MARK\n );\n\n return performance\n .getEntriesByType('measure')\n .find(\n (measureEntry) =>\n measureEntry.name === 'devopsTimeToInteractivePerformance'\n )?.duration;\n}\n","// Basic\nimport MetalClient, { envTypes, catalog } from '@atlassiansox/metal-client';\nimport { Environment, ENV_DEV, ENV_STAGING } from '@atlassiansox/bxpkit-core';\nimport { getDevopsTimeToInteractive } from './performance';\n\nimport packageJson from '../../package.json';\n\nconst productInfo = {\n metalId: '04e59420-3f82-40ee-acd2-44ceb2faeb68', // include your Metal ID\n version: packageJson.version, // The version of your application\n env: envTypes.PROD // env should be the env of your application else use Prod\n};\n\nif (Environment.getEnvironment() === ENV_DEV) {\n productInfo.env = envTypes.DEV;\n} else if (Environment.getEnvironment() === ENV_STAGING) {\n productInfo.env = envTypes.STAGING;\n}\n\nexport const metalClient = new MetalClient({ productInfo });\n\nexport function submitDevopsTimeToInteractive() {\n const devopsTTI = getDevopsTimeToInteractive();\n console.log(`devopsTTI ${devopsTTI}`);\n\n metalClient.metric.submit({\n name: catalog.performance.COMPONENT_INTERACTIVE,\n value: getDevopsTimeToInteractive(),\n page: 'signUp',\n component: 'signUp'\n });\n}\n","import { useEffect, useState } from 'react';\nimport { useStargateClient } from '@atlassiansox/bxpkit-core';\nimport { metalClient } from '../metrics';\nimport { catalog } from '@atlassiansox/metal-client';\n\nexport type SSOCheck = {\n readonly isCheckingSSO: boolean;\n readonly ssoRedirectUrl?: string;\n};\n\nenum AuthenticationMethodsType {\n PASSWORD = 'password',\n GOOGLE = 'google',\n SAML = 'saml',\n MICROSOFT = 'microsoft',\n APPLE = 'apple',\n SLACK = 'slack'\n}\n\ntype SSOCheckResponse = {\n readonly methods: AuthenticationMethod[];\n readonly userExists: boolean;\n};\n\ntype AuthenticationMethod = {\n readonly type: AuthenticationMethodsType;\n readonly redirect_to?: string;\n};\n\nexport type AuthenticationMethodsCheckOptions = {\n readonly email: string;\n readonly allowAuthenticationsMethodCheck?: boolean;\n};\n\nconst getAuthenticationMethod = (\n authenticationMethods: SSOCheckResponse\n): AuthenticationMethod | undefined => {\n if (\n !authenticationMethods?.methods ||\n authenticationMethods?.methods?.length === 0\n ) {\n return undefined;\n } else {\n const samlMethod = authenticationMethods.methods.find(\n (method: AuthenticationMethod) => {\n return (\n method.type === AuthenticationMethodsType.SAML ||\n method.type === AuthenticationMethodsType.GOOGLE\n );\n }\n );\n\n const passwordMethod = authenticationMethods.methods.find(\n (method: AuthenticationMethod) => {\n return method.type === AuthenticationMethodsType.PASSWORD;\n }\n );\n const userExists = authenticationMethods.userExists;\n\n if (userExists && passwordMethod) {\n return passwordMethod;\n }\n\n if (!passwordMethod && samlMethod) {\n return samlMethod;\n } else {\n return undefined;\n }\n }\n};\n\nexport function useAuthenticationMethodsCheck({\n email,\n allowAuthenticationsMethodCheck\n}: AuthenticationMethodsCheckOptions): SSOCheck {\n const [{ isCheckingSSO, ssoRedirectUrl }, setSSOValidation] =\n useState({\n isCheckingSSO: false\n });\n\n const stargateClient = useStargateClient();\n\n const getSSORedirectUrl = async (email: string) => {\n setSSOValidation({ isCheckingSSO: true });\n try {\n const response: any =\n await stargateClient.checkAuthenticationMethodsAvailable({\n email,\n successRedirect: window.location.href\n });\n const authenticationMethod = getAuthenticationMethod(response);\n\n if (authenticationMethod?.type === AuthenticationMethodsType.PASSWORD) {\n metalClient.error.submit({\n name: catalog.error.INPUT,\n page: 'sign-up',\n component: 'bxpkit-wac-sign-up-input-email'\n });\n setSSOValidation({\n isCheckingSSO: false,\n ssoRedirectUrl: 'exists'\n });\n } else {\n if (authenticationMethod?.redirect_to) {\n metalClient.error.submit({\n name: catalog.error.INPUT,\n page: 'sign-up',\n component: 'bxpkit-wac-sign-up-input-email'\n });\n }\n setSSOValidation({\n isCheckingSSO: false,\n ssoRedirectUrl: authenticationMethod?.redirect_to\n });\n }\n } catch (error: any) {\n metalClient.error.submit({\n name: catalog.error.INPUT,\n page: 'sign-up',\n component: 'bxpkit-wac-sign-up-input-email',\n error: { ...error }\n });\n setSSOValidation({\n isCheckingSSO: false,\n ssoRedirectUrl: 'error'\n });\n }\n };\n\n useEffect(() => {\n if (allowAuthenticationsMethodCheck) {\n getSSORedirectUrl(email);\n }\n }, [email, allowAuthenticationsMethodCheck]);\n\n return {\n isCheckingSSO,\n ssoRedirectUrl\n };\n}\n","import { ProductKey } from '@atlassiansox/bxpkit-core';\n\nexport const WAC_SIGNUP_FORM_KEY_BASE = 'WacSignupForm.';\nexport const SIGNUP_OFFERING_LABEL_KEY_BASE =\n WAC_SIGNUP_FORM_KEY_BASE + 'signupOffering';\nexport const TRIAL_DURATION_LABEL_KEY_BASE =\n SIGNUP_OFFERING_LABEL_KEY_BASE + 'TrialLengthText';\nexport const TRIAL_DURATION_LABEL_KEY_EXISTING_SITE =\n TRIAL_DURATION_LABEL_KEY_BASE + 'ExistingSite';\nexport const TRIAL_DURATION_LABEL_KEY_NEW_SITE =\n TRIAL_DURATION_LABEL_KEY_BASE + 'NewSite';\nexport const SIGNUP_OFFERING_LABEL_KEY_PREFIX =\n SIGNUP_OFFERING_LABEL_KEY_BASE + 'IncludesFeatures';\nexport const SIGNUP_SIDE_INFO_HEADER_PREFIX =\n WAC_SIGNUP_FORM_KEY_BASE + 'sideInfoHeader';\n\nexport const [\n CONFLUENCE,\n JIRA_CORE,\n JSW,\n JSD,\n OPSGENIE,\n BITBUCKET,\n STATUSPAGE,\n DEVELOPER_MODE,\n DEVOPS,\n TEAM_CENTRAL,\n JIRA_PRODUCT_DISCOVERY,\n COMPASS,\n BEACON\n] = [\n 'Confluence',\n 'JiraCore',\n 'JSW',\n 'JSD',\n 'Opsgenie',\n 'Bitbucket',\n 'Statuspage',\n 'DeveloperMode',\n 'Devops',\n 'TeamCentral',\n 'JiraProductDiscovery',\n 'Compass',\n 'Beacon'\n];\n\nexport const PRODUCT_NAMES = [\n JSD,\n OPSGENIE,\n BITBUCKET,\n STATUSPAGE,\n DEVELOPER_MODE,\n DEVOPS,\n CONFLUENCE,\n TEAM_CENTRAL,\n JSW,\n JIRA_PRODUCT_DISCOVERY,\n BEACON\n];\nexport const STANDARD_EDITION_LABEL_KEY = 'Standard';\nexport const FREE_EDITION_LABEL_KEY = 'Free';\nexport const PREMIUM_EDITION_LABEL_KEY = 'Premium';\nexport const BETA_EDITION_LABEL_KEY = 'Beta';\nexport const BUNDLE_LABEL_KEY = 'Bundle';\nexport const MIGRATION_USERS_LABEL_KEY = 'userTypeUsersLabel';\nexport const MIGRATION_AGENTS_LABEL_KEY = 'userTypeAgentsLabel';\nexport const EDITION_LABEL_ARRAY = [\n STANDARD_EDITION_LABEL_KEY,\n FREE_EDITION_LABEL_KEY,\n PREMIUM_EDITION_LABEL_KEY,\n BETA_EDITION_LABEL_KEY\n];\n\nconst SOCIAL_PROOF_KEY_PREFIX =\n 'WacSignupForm.signupOfferingIncludesFeaturesSocialProof';\n\nexport const SOCIAL_PROOF_TEXT_KEY_PREFIX = SOCIAL_PROOF_KEY_PREFIX + 'Text';\nexport const SOCIAL_PROOF_SUPPORT_IMAGE_KEY_PREFIX =\n SOCIAL_PROOF_KEY_PREFIX + 'Image';\nexport const SOCIAL_PROOF_HERO_IMAGE_KEY_PREFIX =\n SOCIAL_PROOF_KEY_PREFIX + 'HeroImage';\n\nexport const FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST = 'JSWFI';\nexport const FIRST_IMPRESSION_JIRA_SERVICE_DESK_FEATURE_LIST = 'JSDFI';\n\nexport const DEFERRED_SITENAME_AVAILABLE_PRODUCTS = [\n ProductKey.JIRA_SOFTWARE as string,\n ProductKey.CONFLUENCE as string,\n ProductKey.JIRA_SERVICE_MANAGEMENT as string,\n ProductKey.JIRA_WORK_MANAGEMENT as string\n];\n\nexport const DEFERRED_SITENAME_AVAILABLE_EDITIONS = [\n FREE_EDITION_LABEL_KEY.toLowerCase()\n];\n","import _ from 'lodash';\nimport { IncludesProductOptionsType, ProductKeysType } from '../model';\nimport { BITBUCKET, OPSGENIE, PRODUCT_NAMES } from './constants';\n\n/**\n * Given Product Key, return Product name\n */\n\nexport const getProductNameFromKey = (productKey: string): string => {\n const nameIdx = PRODUCT_NAMES.map((name: string) =>\n name.toLowerCase()\n ).findIndex((productName) => productKey.includes(productName));\n return nameIdx === -1 ? '' : PRODUCT_NAMES[nameIdx];\n};\n\n/**\n * Check for a matching productName within products\n */\n\nexport const includesProduct = ({\n products,\n productName\n}: IncludesProductOptionsType): boolean => {\n return products.some(({ product: productKey }) => {\n if (typeof productKey !== 'string') {\n return false;\n }\n return getProductNameFromKey(productKey) === productName;\n });\n};\n\nexport const onProductsRequireSitename = (productKeys: ProductKeysType[]) => {\n return productKeys\n .map(({ product: productKey }) => productKey)\n .map(getProductNameFromKey)\n .some((productName: string) => [BITBUCKET, OPSGENIE].includes(productName));\n};\n","import {\n getIsBundleBbJsw,\n getIsBundleDevops,\n ProductKey\n} from '@atlassiansox/bxpkit-core';\nimport _ from 'lodash';\nimport {\n GetEditionLabelsOptionsType,\n GetEditionLabelsReturnType,\n GetSideInfoHeaderOptionsType,\n GetTrialDurationSiteLabelOptionsType\n} from '../model';\nimport {\n BITBUCKET,\n BUNDLE_LABEL_KEY,\n DEVELOPER_MODE,\n DEVOPS,\n FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST,\n FREE_EDITION_LABEL_KEY,\n JIRA_CORE,\n JIRA_PRODUCT_DISCOVERY,\n JSD,\n JSW,\n OPSGENIE,\n SIGNUP_OFFERING_LABEL_KEY_PREFIX,\n SIGNUP_SIDE_INFO_HEADER_PREFIX,\n STATUSPAGE,\n TRIAL_DURATION_LABEL_KEY_EXISTING_SITE,\n TRIAL_DURATION_LABEL_KEY_NEW_SITE,\n WAC_SIGNUP_FORM_KEY_BASE\n} from './constants';\nimport { getProductNameFromKey } from './product-data';\nimport { BundleData } from './types';\n\n/**\n * Label for side-info header (if applicable)\n */\n\nexport const getSideInfoHeader = ({\n labels,\n productKeys,\n developerMode\n}: GetSideInfoHeaderOptionsType): string => {\n let contentKey = SIGNUP_SIDE_INFO_HEADER_PREFIX;\n\n if (getIsBundleBbJsw(productKeys)) {\n contentKey += BUNDLE_LABEL_KEY + JSW + BITBUCKET;\n }\n\n if (getIsBundleDevops(productKeys)) {\n contentKey += BUNDLE_LABEL_KEY + DEVOPS;\n }\n\n if (developerMode) {\n contentKey += BUNDLE_LABEL_KEY + DEVELOPER_MODE;\n }\n\n return labels[contentKey];\n};\n\n/**\n * Edition Labels, eg. 'Cloud Free', 'Cloud Premium'\n */\n\nexport const getEditionLabels = ({\n productKey,\n edition: originalEdition\n}: GetEditionLabelsOptionsType): GetEditionLabelsReturnType => {\n let editionLabel = `Cloud ${_.capitalize(\n originalEdition || FREE_EDITION_LABEL_KEY\n )}`;\n let featuresListEditionLabelKey = originalEdition || FREE_EDITION_LABEL_KEY;\n\n if (getProductNameFromKey(productKey) === BITBUCKET) {\n editionLabel = `Cloud ${_.capitalize(FREE_EDITION_LABEL_KEY)}`;\n featuresListEditionLabelKey = FREE_EDITION_LABEL_KEY;\n }\n\n if (getProductNameFromKey(productKey) === STATUSPAGE) {\n editionLabel = '';\n }\n\n return { editionLabel, featuresListEditionLabelKey };\n};\n\n/**\n * Trial duration text, eg. '1-month free cloud trial',\n * for existing sites\n *\n * Returns empty string for BB & Statuspage\n */\n\nexport const getTrialDurationExistingSiteLabel = ({\n productKey,\n labels\n}: GetTrialDurationSiteLabelOptionsType): string => {\n const productName = getProductNameFromKey(productKey);\n return productName === BITBUCKET || productName === STATUSPAGE\n ? ''\n : labels[TRIAL_DURATION_LABEL_KEY_EXISTING_SITE];\n};\n\n/**\n * Trial duration text, eg. '7-day free cloud trial',\n * for new sites\n *\n * Returns empty string for BB & Statuspage\n */\n\nexport const getTrialDurationNewSiteLabel = ({\n productKey,\n labels\n}: GetTrialDurationSiteLabelOptionsType): string => {\n const productName = getProductNameFromKey(productKey);\n return productName === BITBUCKET || productName === STATUSPAGE\n ? ''\n : labels[\n TRIAL_DURATION_LABEL_KEY_NEW_SITE +\n (productName === OPSGENIE ? OPSGENIE : '')\n ];\n};\n\n/**\n * Get list of features, eg. side-info
  • 's\n */\n\nexport type Labels = { [key: string]: string };\n\nexport type MigrationDataType = {\n readonly migrationSourceUuid: string;\n readonly migrationUserLimit: number;\n readonly migrationUserType: string;\n readonly migrationProductName: string;\n readonly migrationSites: string[];\n readonly invalidMigration: boolean;\n readonly claimedMigration: boolean;\n};\n\nexport type GetFeaturesListOptions = {\n readonly labels: Labels;\n readonly bundleData: BundleData;\n readonly featuresListEditionLabelKey: string;\n readonly migrationData?: MigrationDataType;\n readonly developerMode?: boolean;\n};\n\nexport const getFeaturesList = ({\n labels,\n bundleData,\n featuresListEditionLabelKey,\n migrationData,\n developerMode\n}: GetFeaturesListOptions): string => {\n const isBundle = bundleData.products.length > 1;\n const edition = _.capitalize(featuresListEditionLabelKey);\n const includesJiraServiceManagement = _.includes(\n _.map(\n bundleData.products,\n (product) => product.productKey === ProductKey.JIRA_SERVICE_DESK\n ),\n true\n );\n\n if (migrationData && migrationData.migrationSourceUuid) {\n const migrationFeatureList =\n labels[`${WAC_SIGNUP_FORM_KEY_BASE}migrationFeatureList`] || '';\n if (\n migrationData.migrationUserLimit &&\n migrationData.migrationUserType &&\n migrationData.migrationProductName\n ) {\n return migrationFeatureList\n .replace('{productName}', migrationData.migrationProductName)\n .replace('{usageLimit}', migrationData.migrationUserLimit.toString())\n .replace('{userType}', migrationData.migrationUserType);\n }\n return migrationFeatureList;\n }\n\n const primaryProductKey = bundleData.products[0].productKey;\n let productNameFromKey = getProductNameFromKey(primaryProductKey);\n\n // JSD Standalone\n if (primaryProductKey.includes(ProductKey.JIRA_SERVICE_DESK)) {\n productNameFromKey = JSD;\n }\n\n // Jira Core Standalone\n if (primaryProductKey.includes(ProductKey.JIRA_CORE)) {\n productNameFromKey = JIRA_CORE;\n }\n\n // Jira Software Standalone\n if (primaryProductKey.includes(ProductKey.JIRA_SOFTWARE)) {\n productNameFromKey = FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST;\n }\n\n // Free bundles that include JSD\n if (\n isBundle &&\n includesJiraServiceManagement &&\n edition === FREE_EDITION_LABEL_KEY\n ) {\n productNameFromKey = BUNDLE_LABEL_KEY + JSD;\n }\n\n // jira-software-bitbucket\n if (bundleData.bundleName === 'jira-software-bitbucket') {\n productNameFromKey = BUNDLE_LABEL_KEY + JSW + BITBUCKET;\n }\n\n // devops\n if (bundleData.bundleName === 'devops') {\n productNameFromKey = BUNDLE_LABEL_KEY + DEVOPS;\n }\n\n if (developerMode) {\n productNameFromKey = BUNDLE_LABEL_KEY + DEVELOPER_MODE;\n }\n\n // team central\n if (primaryProductKey.includes(ProductKey.TEAM_CENTRAL)) {\n productNameFromKey = 'TeamCentral';\n }\n\n // Jira Product Discovery\n if (primaryProductKey.includes(ProductKey.JIRA_PRODUCT_DISCOVERY)) {\n productNameFromKey = JIRA_PRODUCT_DISCOVERY;\n }\n\n return labels[\n SIGNUP_OFFERING_LABEL_KEY_PREFIX + edition + productNameFromKey\n ];\n};\n","import { ProductDataType } from '../model';\nimport { BundleData } from './types';\nimport _ from 'lodash';\nimport { FREE_EDITION_LABEL_KEY } from './constants';\n\nexport type GetBundleDataOptions = {\n readonly activeBundlesMap: { [key: string]: ProductDataType };\n readonly bundleName?: string;\n readonly productKeys?: string;\n readonly edition?: string;\n};\n\nexport function getBundleData({\n activeBundlesMap,\n bundleName,\n productKeys,\n edition\n}: GetBundleDataOptions): BundleData {\n let bundleData;\n\n if (bundleName && bundleName.length) {\n bundleData = getBundleDataByBundleName({\n activeBundlesMap,\n bundleName,\n edition\n });\n } else if (productKeys && productKeys.length) {\n bundleData = getBundleDataByProduct({\n activeBundlesMap,\n productKeys,\n edition\n });\n }\n\n // if all else fails, go with default\n if (!bundleData) {\n return {\n ...activeBundlesMap['default'],\n bundleName: 'default',\n edition: FREE_EDITION_LABEL_KEY.toLowerCase()\n };\n }\n\n return bundleData;\n}\n\nfunction getBundleDataByProduct({\n activeBundlesMap,\n productKeys,\n edition = FREE_EDITION_LABEL_KEY.toLowerCase()\n}: GetBundleDataOptions): BundleData | undefined {\n if (productKeys) {\n const entry = Object.entries(activeBundlesMap).find(\n ([_, rawBundleData]) => {\n return rawBundleData.bundleProductKeys === `${productKeys}`;\n }\n );\n\n if (entry) {\n const [bundleName, rawBundleData] = entry;\n return {\n ...rawBundleData,\n bundleName,\n edition\n };\n }\n }\n\n return undefined;\n}\n\nfunction getBundleDataByBundleName({\n activeBundlesMap,\n bundleName,\n edition = FREE_EDITION_LABEL_KEY.toLowerCase()\n}: GetBundleDataOptions): BundleData | undefined {\n if (bundleName) {\n const rawBundleData = activeBundlesMap[bundleName];\n if (rawBundleData) {\n return {\n ...rawBundleData,\n bundleName,\n edition\n };\n }\n }\n\n return undefined;\n}\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'WacSignupForm.';\nexport const messages = defineMessages({\n buttonText: {\n id: `${ID_PREFIX}submitCouponLabel`,\n defaultMessage: 'Agree'\n },\n startButtonText: {\n id: `${ID_PREFIX}submitN2ELabel`,\n defaultMessage: 'Agree and Start now'\n },\n startButtonTextChooseSignup: {\n id: `${ID_PREFIX}startButtonTextChooseSignup`,\n defaultMessage: 'Continue'\n },\n loginChooseSignup: {\n id: `${ID_PREFIX}loginChooseSignup`,\n defaultMessage:\n \"

    Trying to access Confluence? Log in

    \"\n },\n devopsButtonText: {\n id: `${ID_PREFIX}devopsButtonText`,\n defaultMessage: 'Sign up'\n },\n devopsStartButtonText: {\n id: `${ID_PREFIX}devopsStartButtonText`,\n defaultMessage: 'Sign up'\n },\n submitProcessingLabel: {\n id: `${ID_PREFIX}submitProcessingLabel`,\n defaultMessage: 'Starting...'\n },\n defaultWelcomeMessage: {\n id: `${ID_PREFIX}signupFormGreeting`,\n defaultMessage: 'Create your account'\n },\n personalizedWelcomeMessage: {\n id: `${ID_PREFIX}signupFormPersonalizedGreeting`,\n defaultMessage: 'Welcome back, {username}'\n },\n noCard: {\n id: `${ID_PREFIX}signupFormPostContent`,\n defaultMessage: 'NO CREDIT CARD REQUIRED'\n },\n alwaysFreeForUpto: {\n id: `${ID_PREFIX}alwaysFreeForUpto`,\n defaultMessage: 'Always free for up to 10 users.'\n },\n noCreditCardNeeded: {\n id: `${ID_PREFIX}noCreditCardNeeded`,\n defaultMessage: 'No credit card needed.'\n },\n eula: {\n id: `${ID_PREFIX}cloudEulaText`,\n defaultMessage:\n \"

    By clicking below, you agree to the Atlassian Cloud Terms of Service and Privacy Policy.

    \"\n },\n eulaCompass: {\n id: `${ID_PREFIX}eulaCompass`,\n defaultMessage:\n \"

    By signing up for this Early Access Program (“EAP”), you agree to the Atlassian Cloud Terms of Service (“TOS”) and acknowledge the Atlassian Privacy Policy

    \"\n },\n eulaCompassTooltip: {\n id: `${ID_PREFIX}eulaCompassTooltip`,\n defaultMessage:\n '

    The EAP products are considered “Beta Versions”, as set forth in Section 14 of the TOS and are subject to applicable terms, conditions, and disclaimers. Atlassian will use the information you provide on this sign-up form to contact you about the EAP program, including updates to the program, feedback requests, and offers.

    '\n },\n eulaChooseSignup: {\n id: `${ID_PREFIX}eulaChooseSignup`,\n defaultMessage:\n \"

    By clicking “Continue” below, you agree to the Atlassian Cloud Terms of Service and acknowledge the Atlassian Privacy Policy.

    \"\n },\n eulaCutSignupInHalf: {\n id: `${ID_PREFIX}eulaCutSignupInHalf`,\n defaultMessage: `

    By clicking \"Sign up\" below, you agree to the Atlassian Cloud Terms of Service and Privacy Policy.

    `\n },\n marketingConsent: {\n id: `${ID_PREFIX}marketingCommunicationsCheckboxSignupText`,\n defaultMessage: `Yes! I would like to receive promotional emails including product news, events and more from Atlassian and its affiliates.`\n },\n newSite: {\n id: `${ID_PREFIX}informMessageStartNewSiteSimplified`,\n defaultMessage: 'Start a new site'\n },\n createNewSite: {\n id: `${ID_PREFIX}createNewSite`,\n defaultMessage: 'Create a new site'\n },\n existingSite: {\n id: `${ID_PREFIX}existingSite`,\n defaultMessage: 'Use an existing site'\n },\n differentAcountSignin: {\n id: `${ID_PREFIX}informEmailLoggedInMsg`,\n defaultMessage:\n '

    Sign in with a different Atlassian account

    '\n },\n useDifferentAccountSignin: {\n id: `${ID_PREFIX}useDifferentAccountSignin`,\n defaultMessage:\n '

    Use a different Atlassian account

    '\n },\n developerMode: {\n id: `${ID_PREFIX}informMessageDeveloperWarning`,\n defaultMessage:\n '

    You are signing up for a free development instance of Atlassian Cloud.

    Free development instances are intended to be used for development and testing purposes only and has the usage limits noted below. Atlassian does not offer support for free development instances and reserves the right to delete such instances at any time without notice. Atlassian monitors the usage of such development instances and may cancel any instance being used in an unauthorized or unintended manner.

    • Jira Software, Jira Core: 5 users free
    • Jira Service Desk: 1 agent free
    • Confluence: 5 users free
    '\n },\n invalidMigrationSource: {\n id: `${ID_PREFIX}invalidMigrationSource`,\n defaultMessage:\n '

    Invalid trial activation

    It looks we weren\\'t able to activate your extended trial.

    Check with the site administrator, or login to my.atlassian.com to confirm your activation link is complete and correct, and that you have an eligible server or data center license.

    '\n },\n claimedMigrationSource: {\n id: `${ID_PREFIX}claimedMigrationSource`,\n defaultMessage:\n '

    Your extended trial has already been activated

    It looks like someone has already activated this trial.

    Log in to my.atlassian.com or contact your site administrator for more information.

    '\n },\n selectSite: {\n id: `${ID_PREFIX}selectSite`,\n defaultMessage: 'Select a site'\n },\n selectAccount: {\n id: `${ID_PREFIX}selectAccount`,\n defaultMessage: 'Select an account'\n },\n yourSite: {\n id: `${ID_PREFIX}siteNameN2ELabel`,\n defaultMessage: 'Your site'\n },\n siteNameLabel: {\n id: `${ID_PREFIX}siteNameLabel`,\n defaultMessage: 'Site name'\n },\n siteNameOptional: {\n id: `${ID_PREFIX}siteNameOptional`,\n defaultMessage: 'Site name (optional)'\n },\n siteNameOptionalMessageN2N: {\n id: `${ID_PREFIX}siteNameOptionalMessageN2N`,\n defaultMessage: `Don't worry, you can change this later.`\n },\n siteNameOptionalMessageN2E: {\n id: `${ID_PREFIX}siteNameOptionalMessageN2E`,\n defaultMessage: `Choose an existing site below, or create a new one.`\n },\n siteNameSuite: {\n id: `${ID_PREFIX}siteNameSuiteLabel`,\n defaultMessage: 'Name your suite'\n },\n siteNameSuiteDescription: {\n id: `${ID_PREFIX}siteNameSuiteDescriptionLabel`,\n defaultMessage: '* We’ll use this to name your site and workspaces'\n },\n email: {\n id: `${ID_PREFIX}emailLabel`,\n defaultMessage: 'Work email'\n },\n password: {\n id: `${ID_PREFIX}passwordLabel`,\n defaultMessage: 'Password'\n },\n firstName: {\n id: `${ID_PREFIX}firstNameLabel`,\n defaultMessage: 'First name'\n },\n lastName: {\n id: `${ID_PREFIX}lastNameLabel`,\n defaultMessage: 'Last name'\n },\n fullNameLabel: {\n id: `${ID_PREFIX}fullNameLabel`,\n defaultMessage: 'Full name'\n },\n gdprMessage: {\n id: `${ID_PREFIX}gdprMessage`,\n defaultMessage:\n 'Select the data center region to store your Opsgenie specific product data:'\n },\n errorValidationMessage: {\n id: `${ID_PREFIX}errorValidationMessage`,\n defaultMessage: 'Please review the highlighted fields below and try again.'\n },\n errorDomainLengthMinMsg: {\n id: `${ID_PREFIX}errorDomainLengthMinMsg`,\n defaultMessage:\n 'Your site name must be 3 or more lowercase letters and/or numbers. Hyphens are ok if they’re in the middle.'\n },\n errorDomainLengthMinMsgDeferredSiteName: {\n id: `${ID_PREFIX}errorDomainLengthMinMsgDeferredSiteName`,\n defaultMessage:\n 'Must be at least three characters (numerals or lowercase letters only). Can’t start or end with a hyphen (-).'\n },\n errorDomainLengthMaxMsg: {\n id: `${ID_PREFIX}errorDomainLengthMaxMsg`,\n defaultMessage:\n \"That's a bit too long — try something 50 characters or less.\"\n },\n errorDomainTakenMsg: {\n id: `${ID_PREFIX}errorDomainTakenMsg`,\n defaultMessage: 'This site is already taken.'\n },\n errorDomainTakenMsgDeferredSiteName: {\n id: `${ID_PREFIX}errorDomainTakenMsgDeferredSiteName`,\n defaultMessage: 'This site name is already taken.'\n },\n errorDomainIsAnnualMsg: {\n id: `${ID_PREFIX}errorDomainIsAnnualMsg`,\n defaultMessage:\n 'The Free plan is not yet available for annual subscriptions. Please select a site on a monthly subscription.'\n },\n errorFirstNameMsg: {\n id: `${ID_PREFIX}errorFirstNameMsg`,\n defaultMessage: 'Please enter your first name'\n },\n errorLastNameMsg: {\n id: `${ID_PREFIX}gdprMessage`,\n defaultMessage: 'Please enter your last name'\n },\n errorEmailInvalidMsg: {\n id: `${ID_PREFIX}errorEmailInvalidMsg`,\n defaultMessage: 'Please enter a valid email address'\n },\n errorEmailInUseMsg: {\n id: `${ID_PREFIX}errorEmailInUseMsg`,\n defaultMessage: `Oops, an Atlassian account with this email already exists. If you are the owner of this account, please login to continue.`\n },\n errorEmailInUseLoginToContinueMsg: {\n id: `${ID_PREFIX}errorEmailInUseLoginToContinueMsg`,\n defaultMessage: 'log in to continue'\n },\n errorPasswordMinMsg: {\n id: `${ID_PREFIX}errorPasswordMinMsg`,\n defaultMessage: 'Password must be at least 8 characters long'\n },\n errorCaptchaMsg: {\n id: `${ID_PREFIX}errorCaptchaMsg`,\n defaultMessage: 'Error with captcha verification'\n },\n warningTimeoutPending: {\n id: `${ID_PREFIX}warningTimeoutPending`,\n defaultMessage: 'Something went wrong. Wait a few minutes, then try again.'\n },\n warningNetworkError: {\n id: `${ID_PREFIX}warningNetworkError`,\n defaultMessage: 'Something went wrong. Please try again.'\n },\n errorTimeout: {\n id: `${ID_PREFIX}errorTimeout`,\n defaultMessage:\n 'It\\'s taking longer than expected to get you started. Please check your inbox to see if the order has completed successfully, or contact us.'\n },\n aaidMismatch: {\n id: `${ID_PREFIX}aaidMismatch`,\n defaultMessage:\n 'Something went wrong. Please refresh your page, then try again.'\n },\n helpTooltipText: {\n id: `${ID_PREFIX}helpTooltipText`,\n defaultMessage:\n 'Must be at least 3 lowercase characters, numbers and letters only.'\n },\n deferredSiteNameTooltipText: {\n id: `${ID_PREFIX}deferredSiteNameTooltipText`,\n defaultMessage:\n 'Your site name is the URL used to find your site, so try something your team will easily recognize.'\n },\n reCaptchaLegal: {\n id: `${ID_PREFIX}reCaptchaLegal`,\n defaultMessage:\n 'This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.'\n },\n infoBoxModal: {\n id: `${ID_PREFIX}infoBoxModal`,\n defaultMessage:\n 'A site is the unique URL where you access your Atlassian products–Confluence, Jira Software, Jira Service Desk, or Jira Core.

    You access Bitbucket Cloud account on bitbucket.org.'\n },\n infoBoxModalCta: {\n id: `${ID_PREFIX}infoBoxModalCta`,\n defaultMessage: 'Understand site and Bitbucket Cloud account'\n },\n infoBoxDefault: {\n id: `${ID_PREFIX}infoBoxDefault`,\n defaultMessage: ' '\n },\n infoBoxSite: {\n id: `${ID_PREFIX}infoBoxSite`,\n defaultMessage:\n \"You already have a site with other Atlassian products in which Jira Software will be added to. We'll create a new Bitbucket Cloud account for you using the same name.\"\n },\n infoBoxSiteJsw: {\n id: `${ID_PREFIX}infoBoxSiteJsw`,\n defaultMessage:\n 'Select an existing site below and we’ll create a new Bitbucket Cloud account for you using the same name.'\n },\n infoBoxBb: {\n id: `${ID_PREFIX}infoBoxBb`,\n defaultMessage:\n \"You already have a Bitbucket Cloud account. Create a new site for Jira Software and they'll be automatically integrated.\"\n },\n infoBoxSiteBb: {\n id: `${ID_PREFIX}infoBoxSiteBb`,\n defaultMessage:\n 'You already have a site with other Atlassian products in which Jira Software will be added to. You also have a Bitbucket Cloud account. They will be automatically integrated.'\n },\n jswTrialNotice: {\n id: `${ID_PREFIX}jswTrialNotice`,\n defaultMessage:\n \"You'll get a 1-month free trial of Jira Software for this site.\"\n },\n jsmConfluenceNotice: {\n id: `${ID_PREFIX}jsmConfluenceNotice`,\n defaultMessage:\n 'We recommend you add Jira Service Management to an existing Confluence site now since there will be no way to link them afterwards.'\n },\n yourBitbucketAccount: {\n id: `${ID_PREFIX}yourBitbucketAccount`,\n defaultMessage: 'Your Bitbucket Cloud account'\n },\n bitbucketAccountDuplicate: {\n id: `${ID_PREFIX}bitbucketAccountDuplicate`,\n defaultMessage:\n 'Check this box if you prefer a new account with the same name as the site below.'\n },\n dropdownWithJiraSoftware: {\n id: `${ID_PREFIX}dropdownWithJiraSoftware`,\n defaultMessage: 'Sites with Jira Software:'\n },\n dropdownWithoutJiraSoftware: {\n id: `${ID_PREFIX}dropdownWithoutJiraSoftware`,\n defaultMessage: 'Sites without Jira Software:'\n },\n dropdownWithRecommended: {\n id: `${ID_PREFIX}dropdownWithRecommended`,\n defaultMessage: 'RECOMMENDED SITES'\n },\n dropdownWithoutRecommended: {\n id: `${ID_PREFIX}dropdownWithoutRecommended`,\n defaultMessage: 'OTHER SITES'\n },\n errorName: {\n id: `${ID_PREFIX}errorName`,\n defaultMessage: 'Invalid name pattern.'\n },\n errorNameLength: {\n id: `${ID_PREFIX}errorNameLength`,\n defaultMessage: 'Full name must not be greater than 255 characters'\n },\n siteAdminManageError: {\n id: `${ID_PREFIX}siteAdminManageError`,\n defaultMessage:\n 'You do not have permission to manage this site. For further support, contact the site’s administrator.'\n },\n freeBreachInfoBoxConsiderTrial: {\n id: `${ID_PREFIX}freeBreachInfoBoxConsiderTrial`,\n defaultMessage: 'Consider a Standard trial'\n },\n freeBreachInfoBoxCopy: {\n id: `${ID_PREFIX}freeBreachInfoBoxCopy`,\n defaultMessage:\n \"

    This site is eligible for a 30-day trial of a Standard plan, with full-feature access for 5,000 users or agents.

    A trial lets your team use everything together. If you start a new site, it won't be integrated with your other products.

    \"\n },\n freeBreachInfoBoxStartTrialCta: {\n id: `${ID_PREFIX}freeBreachInfoBoxStartTrialCta`,\n defaultMessage: 'Start a 30-day trial'\n },\n freeBreachLimitExceededError: {\n id: `${ID_PREFIX}freeBreachLimitExceededError`,\n defaultMessage: 'This site has more users than Free allows.'\n },\n devopsCarouselEndTextOne: {\n id: `${ID_PREFIX}devopsCarouselEndTextOne`,\n defaultMessage:\n 'Check your inbox for useful information and guides to help you get started.'\n },\n devopsCarouselEndTextTwo: {\n id: `${ID_PREFIX}devopsCarouselEndTextTwo`,\n defaultMessage:\n 'Easily switch to other Atlassian Products directly from the navigation bar.'\n },\n devopsCarouselEndTextThree: {\n id: `${ID_PREFIX}devopsCarouselEndTextThree`,\n defaultMessage:\n 'Add your teammates to plan, track and release great software together.'\n },\n devopsCarouselButton: {\n id: `${ID_PREFIX}devopsCarouselButton`,\n defaultMessage: 'Go to {product}'\n },\n devopsCarouselEndHeading: {\n id: `${ID_PREFIX}devopsCarouselEndHeading`,\n defaultMessage: \"You're all set up!\"\n },\n devopsSignedInWelcomeMessage: {\n id: `${ID_PREFIX}devopsSignedInWelcomeMessage`,\n defaultMessage: \"Let's set up your DevOps suite\"\n },\n siteNameSuiteDescriptionDevops: {\n id: `${ID_PREFIX}siteNameSuiteDescriptionDevops`,\n defaultMessage: '* We’ll use this to name your suite and workspaces'\n },\n errorDomainTakenMsgDevops: {\n id: `${ID_PREFIX}errorDomainTakenMsgDevops`,\n defaultMessage: 'This suite is already taken.'\n },\n errorDomainLengthMinMsgDevops: {\n id: `${ID_PREFIX}errorDomainLengthMinMsgDevops`,\n defaultMessage:\n 'Your suite name must be 3 or more lowercase letters and/or numbers. Hyphens are ok if they’re in the middle.'\n },\n eulaDevops: {\n id: `${ID_PREFIX}eulaDevops`,\n defaultMessage:\n \"

    By signing up, you agree to the Atlassian Cloud Terms of Service and Privacy Policy.

    \"\n },\n helpTooltipTextDevops: {\n id: `${ID_PREFIX}helpTooltipTextDevops`,\n defaultMessage:\n 'Choose a name for the sites and workspaces that will make up your suite. Most teams use their company or organization.'\n },\n opsgenieDataStorageInfoBoxCopy: {\n id: `${ID_PREFIX}opsgenieDataStorageInfoBoxCopy`,\n defaultMessage:\n '

    Some of your data is automatically stored in the US. Learn more

    '\n },\n heading: {\n id: `${ID_PREFIX}signupOfferingIncludesFeaturesSignupFormHeading`,\n defaultMessage: 'Start now'\n },\n subheading: {\n id: `${ID_PREFIX}signupOfferingIncludesFeaturesSignupFormSubheading`,\n defaultMessage: ''\n },\n greeting: {\n id: `${ID_PREFIX}signupFormPersonalizedGreeting`,\n defaultMessage: 'Welcome back, {username}'\n },\n cloudStandard: {\n id: `${ID_PREFIX}cloudStandard`,\n defaultMessage: 'Cloud Standard'\n },\n cloudPremium: {\n id: `${ID_PREFIX}cloudPremium`,\n defaultMessage: 'Cloud Premium'\n },\n cloudFree: {\n id: `${ID_PREFIX}cloudFree`,\n defaultMessage: 'Cloud Free'\n },\n ssoCheck: {\n id: `${ID_PREFIX}errorSsoInUse`,\n defaultMessage:\n 'You must use single sign-on to access your account and continue signing up for your product. Login to continue.'\n },\n localeError: {\n id: `${ID_PREFIX}localeError`,\n defaultMessage: 'We stand with Ukraine'\n },\n localeErrorMessage: {\n id: `${ID_PREFIX}localeErrorMessage`,\n defaultMessage:\n 'Following the Russian invasion of Ukraine, we are pausing the sale of new software in Russia and Belarus.'\n },\n localeErrorButton: {\n id: `${ID_PREFIX}localeErrorButton`,\n defaultMessage: 'Learn more'\n },\n beaconRequireProducts: {\n id: `${ID_PREFIX}beaconRequireProducts`,\n defaultMessage:\n 'Beacon requires one or more Atlassian products. Since there are no products associated with this account, switch accounts above or explore our Atlassian suite.'\n },\n beaconExplore: {\n id: `${ID_PREFIX}beaconExplore`,\n defaultMessage: 'Explore Atlassian products'\n }\n});\n\nexport const getTranslatableError = (\n error: string,\n isDevops?: boolean,\n isDeferredSiteName?: boolean\n) => {\n switch (error) {\n case 'Please enter a valid email address':\n return messages.errorEmailInvalidMsg;\n case 'Password must be at least 8 characters':\n return messages.errorPasswordMinMsg;\n case 'Your site name must be at least 3 characters long. Use only lowercase letters and numbers.':\n if (isDevops) {\n return messages.errorDomainLengthMinMsgDevops;\n } else if (isDeferredSiteName) {\n return messages.errorDomainLengthMinMsgDeferredSiteName;\n } else {\n return messages.errorDomainLengthMinMsg;\n }\n case \"That's a bit too long — try something 50 characters or less.\":\n return messages.errorDomainLengthMaxMsg;\n case 'Invalid name pattern.':\n return messages.errorName;\n case 'Site name is unavailable':\n if (isDevops) {\n return messages.errorDomainTakenMsgDevops;\n } else if (isDeferredSiteName) {\n return messages.errorDomainTakenMsgDeferredSiteName;\n } else {\n return messages.errorDomainTakenMsg;\n }\n case 'An Atlassian account exists for this email address':\n return messages.errorEmailInUseMsg;\n case 'warningTimeoutPending':\n return messages.warningTimeoutPending;\n case 'errorTimeout':\n return messages.errorTimeout;\n case 'accountIdMisMatch':\n return messages.aaidMismatch;\n default:\n return { defaultMessage: error, id: `${ID_PREFIX}errorFallThrough` };\n }\n};\n","import { messages } from '../messages';\nimport { BundleData } from './types';\nimport ReactIntl from 'react-intl';\n\nexport interface PageHeaderLabelsParameters {\n readonly labels: {\n [key: string]: string;\n };\n readonly bundleData: BundleData;\n readonly skip?: boolean;\n}\n\nexport type PageHeaderLabels = {\n heading: ReactIntl.FormattedMessage.MessageDescriptor;\n subheading: ReactIntl.FormattedMessage.MessageDescriptor;\n};\n\nexport const getPageHeaderLabels = ({\n labels,\n bundleData,\n skip\n}: PageHeaderLabelsParameters): PageHeaderLabels => {\n if (skip) {\n return {\n heading: messages.heading,\n subheading: messages.subheading\n };\n }\n const editionLabelFragment = getEditionLabelFragment(bundleData.edition);\n const productLabelFragment = getProductLabelFragment(bundleData);\n\n const headingLabel = `${messages.heading.id}${editionLabelFragment}${productLabelFragment}`;\n const subheadingLabel = `${messages.subheading.id}${editionLabelFragment}${productLabelFragment}`;\n\n return {\n heading: {\n id: headingLabel,\n defaultMessage: labels[headingLabel] || messages.heading.defaultMessage\n },\n subheading: {\n id: subheadingLabel,\n defaultMessage:\n labels[subheadingLabel] || messages.subheading.defaultMessage\n }\n };\n};\n\nexport const getEditionLabelFragment = (edition: string) => {\n const matcher: Array<[RegExp, string]> = [\n [/free/gi, 'Free'],\n [/standard/gi, 'Standard'],\n [/premium/gi, 'Standard'],\n [/.*/, 'Free']\n ];\n\n const [, label] = matcher.find(([regex]) => regex.test(edition)) || [];\n return label;\n};\n\nconst JSD_KEY = 'jira-servicedesk.ondemand';\n\nexport const getProductLabelFragment = (bundleData: BundleData) => {\n switch (bundleData.products[0].productKey) {\n case JSD_KEY:\n return 'JSD';\n default:\n return '';\n }\n};\n","import { SitesType } from '@atlassiansox/asc-stargate';\nimport {\n AsyncResult,\n Environment,\n getFirstName,\n getLastName,\n ProductKey,\n Url,\n useAISAvailableProducts,\n useMe,\n useStargateClient\n} from '@atlassiansox/bxpkit-core';\nimport { useEffect, useState } from 'react';\nimport { UserDataType } from '../model';\nimport { isResponseError } from '../utility';\n\n/**\n * Hook that provides user info relevant to signup\n */\n\nexport const useUserInfo = () => {\n const [userInfo, setUserInfo] = useState();\n\n const meDataAsync = useMe();\n const aisAvailableProducts = useAISAvailableProducts({\n includeInvalidBitbucketSite: true\n });\n\n const stargateClient = useStargateClient();\n\n useEffect(() => {\n if (\n AsyncResult.isPending(meDataAsync) ||\n AsyncResult.isPending(aisAvailableProducts)\n ) {\n return;\n }\n\n const meData = meDataAsync.catch(() => null).value;\n\n // check XSRF for logged out user, redirect to identity if 401 - in response to HOT-102965\n if (!meData) {\n stargateClient.getSignupServerXsrfToken().catch((e) => {\n if (isResponseError(e) && e.response.status === 401) {\n const identityQueryParams = new URLSearchParams({\n continue: Url.getUrl()\n });\n const redirectUrl = `${Environment.getIdentityBaseUrl()}/login?${identityQueryParams}`;\n window.location.assign(redirectUrl);\n }\n });\n }\n\n let sitesData = aisAvailableProducts.catch(() => null).value;\n let name = meData?.name;\n if (name !== undefined && name.includes('@')) {\n name = name.split('@')[0];\n }\n // Customer has BB if they have adminAccess to a site with BB\n const hasBitbucket = (sitesData || [])\n .filter((site: SitesType) => site?.adminAccess)\n .some((site) => {\n return site.products.some((product) => {\n return product === ProductKey.BITBUCKET;\n });\n });\n\n sitesData =\n sitesData &&\n sitesData.filter((site) => {\n return !['bitbucket', 'Bitbucket'].includes(site.displayName);\n });\n\n setUserInfo({\n isLoggedIn: !!meData,\n email: meData?.email || null,\n fullName: meData?.name || null,\n firstName: getFirstName(name) || undefined,\n lastName: getLastName(name) || null,\n sites: sitesData || null,\n extendedTrialOverridableSites: null,\n picture: meData?.picture || null,\n accountId: meData?.accountId || null,\n hasBitbucket\n });\n }, [meDataAsync, aisAvailableProducts]);\n\n return userInfo;\n};\n","import { ProductDataType } from '../model';\n\nexport type BundleData = ProductDataType & {\n readonly bundleName: string;\n readonly edition: string;\n};\n\nexport type AvailableProductsSite = {\n readonly adminAccess: boolean;\n readonly cloudId: string;\n readonly products: string[];\n readonly url: string;\n readonly displayName: string;\n readonly avatarUrl?: string;\n readonly isVertigo?: boolean;\n};\n\n// to get status code from stargate error\nexport type ResponseError = Error & {\n response: Response;\n};\n\n// to check if response is available in error\nexport function isResponseError(error: unknown): error is ResponseError {\n return (\n error instanceof Error &&\n typeof (error as ResponseError).response === 'object'\n );\n}\n","import {\n HamletClientConstructorType,\n HamletClientInterface,\n HamletClientOptionsType,\n HamletPricingRequestType,\n HamletPricingResponseType,\n ResendVerificationEmailRequestType,\n ResendVerificationEmailResponseType\n} from '../../model/check-email-page';\n\nconst DEFAULT_BASE_URL =\n 'https://wac.stg.internal.atlassian.com//apis/stg/hamlet';\n\n/**\n * This class is extremely similar to the Hamlet client within the asc-cofs package. This class was created here,\n * rather than adding the appropriate functionality to the asc-cofs package itself, just because this was the path of\n * least resistance when creating this bxpkit package.\n */\nexport const HamletClient: HamletClientConstructorType = class HamletClientClass\n implements HamletClientInterface\n{\n private readonly baseUrl: string;\n\n constructor({ baseUrl = DEFAULT_BASE_URL }: HamletClientOptionsType = {}) {\n this.baseUrl = baseUrl;\n }\n\n async hamletPricing({\n productKeys,\n licenseType = 'evaluation',\n requestingApplication = 'WAC',\n monthsValid = '1'\n }: HamletPricingRequestType): Promise {\n const productKeysParam =\n productKeys.length > 0\n ? `&${productKeys.map((p) => `productKey=${p}`).join('&')}`\n : '';\n\n const url =\n `${this.baseUrl}/1.0/public/pricing/query?licenseType=${licenseType}` +\n `${productKeysParam}&requestingApplication=${requestingApplication}` +\n `&monthsValid=${monthsValid}` +\n `&cacheBuster=${new Date().getTime()}`;\n\n return await fetch(url, {\n method: 'GET',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n }\n })\n .then((response) => response.json())\n .catch(() => {\n return { products: [] };\n });\n }\n\n /**\n * If pagePath exists, use /sendVerify, else use /verify\n * @param resendData - R.E.D Object\n */\n\n sendEmail(\n resendData: ResendVerificationEmailRequestType\n ): Promise {\n if (resendData?.pagePath) {\n return this.resendVerificationEmail(resendData);\n } else {\n return this.sendVerificationEmail(resendData);\n }\n }\n\n /**\n * Typical resend endpoint, used in most cases\n */\n\n async sendVerificationEmail({\n cloudName,\n email,\n primaryProduct\n }: ResendVerificationEmailRequestType): Promise {\n const url =\n `${this.baseUrl}/1.0/public/aid/verify?` +\n `email=${encodeURIComponent(email || '')}&` +\n `accountName=${encodeURIComponent(cloudName || '')}&` +\n `primaryProduct=${encodeURIComponent(primaryProduct || '')}`;\n\n return await fetch(url, { method: 'POST' })\n .then((response) => {\n return {\n success: response.ok,\n status: response.status\n };\n })\n .catch(() => {\n return {\n success: false,\n status: 400\n };\n });\n }\n\n /**\n * Resend endpoint used if pagePath exists, used for:\n * - when sitename is auto-generated (except for social login case) (pagePath = 'rename/site')\n * - Confluence account set up flow (pagePath = 'account/setup')\n */\n\n async resendVerificationEmail({\n cloudId,\n cloudName,\n email,\n pagePath,\n requestId\n }: ResendVerificationEmailRequestType): Promise {\n return await fetch(`${this.baseUrl}/1.0/public/aid/sendVerify`, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({\n accountName: cloudName,\n cloudId,\n cloudName: cloudName ? encodeURIComponent(cloudName) : undefined,\n email,\n pagePath: pagePath ? encodeURIComponent(pagePath) : undefined,\n requestId\n })\n })\n .then((response) => {\n return {\n success: response.ok,\n status: response.status\n };\n })\n .catch(() => {\n return {\n success: false,\n status: 400\n };\n });\n }\n};\n","import { useReducer } from 'react';\nimport { HamletClient } from '../service/check-email-page/mini-hamlet-client';\n\nimport {\n CheckEmailAnalyticsInterface,\n ResendVerificationEmailRequestType\n} from '../model/check-email-page';\n\nexport enum ResendEmailStatuses {\n 'NO_STATUS',\n 'REQUESTING',\n 'SUCCESS',\n 'FAILURE'\n}\n\nenum ResendEmailActions {\n 'SEND_REQUEST',\n 'SUCCESS',\n 'FAILURE'\n}\n\nexport type ResendEmailState = {\n status: ResendEmailStatuses;\n error?: string;\n};\n\ntype ResendEmailAction = {\n type: ResendEmailActions;\n error?: string;\n};\n\nconst initialState: ResendEmailState = {\n status: ResendEmailStatuses.NO_STATUS,\n error: undefined\n};\n\n/**\n * useReducer requires these parameters, but TS won't allow us to have 'state' here unused.\n * Instead, we can use _state to indicate to TS that we're alright with not using this variable, but then\n * TSLint complains about our variable name not matching the required format, so we're disabling that rule here.\n */\n/* tslint:disable-next-line:variable-name */\nconst reducer = (_state: ResendEmailState, action: ResendEmailAction) => {\n switch (action.type) {\n case ResendEmailActions.SEND_REQUEST:\n return {\n ...initialState,\n status: ResendEmailStatuses.REQUESTING\n };\n case ResendEmailActions.SUCCESS:\n return {\n ...initialState,\n status: ResendEmailStatuses.SUCCESS\n };\n case ResendEmailActions.FAILURE:\n return {\n ...initialState,\n status: ResendEmailStatuses.FAILURE,\n error: action.error\n };\n }\n};\n\ninterface UseResendEmailAPIProps {\n baseUrl?: string;\n checkEmailAnalyticsService: CheckEmailAnalyticsInterface;\n}\n\nconst useResendEmailAPI = ({\n baseUrl,\n checkEmailAnalyticsService\n}: UseResendEmailAPIProps) => {\n const client = new HamletClient({ baseUrl });\n const [state, dispatch] = useReducer(reducer, initialState);\n\n const triggerResendEmail = (\n resendEmailData: ResendVerificationEmailRequestType\n ) => {\n dispatch({ type: ResendEmailActions.SEND_REQUEST });\n\n return client.sendEmail(resendEmailData).then((data) => {\n if (data?.status === 200) {\n checkEmailAnalyticsService.resendApiSuccess();\n }\n if (data?.status === 204) {\n checkEmailAnalyticsService.resendApiNoContent();\n }\n if (data?.status === 304) {\n checkEmailAnalyticsService.resendApiAlreadyVerified();\n }\n\n if (data.success) {\n dispatch({ type: ResendEmailActions.SUCCESS });\n return true;\n }\n\n checkEmailAnalyticsService.resendApiFailure();\n dispatch({ type: ResendEmailActions.FAILURE });\n return false;\n });\n };\n\n return { state, triggerResendEmail };\n};\n\nexport default useResendEmailAPI;\n","import { useEffect, useState } from 'react';\n\nexport type ResendEmailData = {\n cloudId?: string;\n cloudName?: string;\n email?: string;\n pagePath?: string;\n requestId?: string;\n resendCount: number;\n shouldEnable: boolean;\n primaryProduct?: string;\n};\n\nconst useResendEmailData = (): [ResendEmailData, () => void] => {\n const [cloudId, setCloudId] = useState();\n const [cloudName, setCloudName] = useState();\n const [email, setEmail] = useState();\n const [primaryProduct, setPrimaryProduct] = useState();\n const [pagePath, setPagePath] = useState();\n const [requestId, setRequestId] = useState();\n const [resendCount, setResendCount] = useState(0);\n const [shouldEnable, setShouldEnable] = useState(false);\n\n const setResendEmailData = (rawData: string | null) => {\n try {\n const parsedData = JSON.parse(rawData || '{}');\n setCloudId(parsedData.cloudId);\n setCloudName(decodeURIComponent(parsedData.cloudName || ''));\n setEmail(decodeURIComponent(parsedData.email || ''));\n setPrimaryProduct(decodeURIComponent(parsedData.primaryProduct || ''));\n setPagePath(parsedData.pagePath);\n setRequestId(parsedData.requestId);\n setResendCount(parsedData.resendCount || 0);\n setShouldEnable(isValidData(parsedData));\n } catch (e) {\n setCloudId(undefined);\n setCloudName(undefined);\n setEmail(undefined);\n setPrimaryProduct(undefined);\n setPagePath(undefined);\n setRequestId(undefined);\n setResendCount(0);\n setShouldEnable(false);\n }\n };\n\n const isValidData = (data: ResendEmailData): boolean => {\n return Boolean(\n data.cloudId &&\n data.cloudName &&\n data.email &&\n data.pagePath &&\n data.requestId &&\n data.primaryProduct\n );\n };\n\n const incrementCount = () => {\n setResendCount(resendCount + 1);\n };\n\n useEffect(() => {\n const rawData = sessionStorage.getItem('r.e.d');\n\n if (rawData) {\n try {\n setResendEmailData(atob(rawData));\n } catch {\n setResendEmailData(null);\n }\n }\n }, []);\n\n // update all data in sessionStorage whenever it changes.\n useEffect(() => {\n const data: ResendEmailData = {\n cloudId,\n cloudName: encodeURIComponent(cloudName || ''),\n email: encodeURIComponent(email || ''),\n pagePath,\n requestId,\n resendCount,\n shouldEnable,\n primaryProduct\n };\n if (isValidData(data)) {\n sessionStorage.setItem('r.e.d', btoa(JSON.stringify(data)));\n }\n }, [\n cloudId,\n cloudName,\n email,\n pagePath,\n requestId,\n resendCount,\n primaryProduct\n ]);\n\n return [\n {\n cloudId,\n cloudName,\n email,\n pagePath,\n requestId,\n resendCount,\n shouldEnable,\n primaryProduct\n },\n incrementCount\n ];\n};\n\nexport default useResendEmailData;\n","declare global {\n interface Window {\n grecaptcha: {\n execute: (wigitId?: any) => any;\n render: (val?: any, data?: any) => any;\n reset: (wigitId?: any) => any;\n };\n }\n}\n\nimport { ProductKey as ProductKeys } from '@atlassiansox/bxpkit-core';\nimport type { AnalyticsTrackType, Product } from '@atlassiansox/bxpkit-core';\nimport { InjectedIntlProps } from 'react-intl';\nimport { OriginAnalytics } from './email-field';\nimport { FirstImpressionsImageUrlsType } from './first-impressions';\nimport { MigrationDataType } from './utils';\nimport { SetStateAction } from 'react';\n\nexport { AnalyticsTrackType, ProductKeys, Product };\n\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class SubmitErrorIDType {\n public static ERROR_TIMEOUT(\n error_id: string\n ): SetStateAction {\n return `

    Something went wrong on our end. Please try again. If this keeps happening, contact support. (Issue ID for Atlassian use: ${error_id})

    ` as SetStateAction;\n }\n}\n\nexport enum SubmitErrorType {\n NO_ERROR = '',\n WARNING_TIMEOUT_PENDING = 'warningTimeoutPending',\n ERROR_TIMEOUT = 'errorTimeout',\n AAID_MISMATCH = 'accountIdMisMatch'\n}\n\nexport enum ResendEmailType {\n RESEND_DATA = 'r.e.d'\n}\n\nexport enum ChooseSignupExperimentVariants {\n VARIANT1 = 'variant_without_login',\n VARIANT2 = 'variant_with_login',\n CONTROL = 'control',\n UNENROLLED = 'unenrolled'\n}\n\nexport type ConsentsObject = {\n key: string;\n displayedText: unknown;\n granted: boolean;\n};\n\nexport type Consent = {\n site: string | null;\n locale: string | null;\n formUrl: string | null;\n consents: ConsentsObject[];\n};\n\nexport type WacSignupFormState = {\n email: string | null;\n firstName: string | null;\n lastName: string | null;\n displayName?: string | null;\n password?: string | null;\n cloudName: string | null;\n bbName: string | null;\n dataRegion?: string | null;\n timezone: string | null;\n products: Product[];\n consent: Consent;\n isExistingSitePickerN2E: boolean | null;\n isLoggedIn: boolean | null;\n selectedSite: Sites | null;\n migrationId: string | null;\n isSubmitting: boolean;\n isSSOValid: boolean;\n cloudNameLength?: number;\n};\n\nexport type Sites = {\n readonly adminAccess: boolean;\n readonly cloudId: string;\n readonly displayName: string;\n readonly url: string | null;\n readonly products: string[];\n readonly productsAndEditions?: ProductsAndEditions[];\n};\n\nexport type ProductsAndEditions = {\n readonly productKey: string;\n readonly productEdition: string;\n};\n\nexport type UserInfo = {\n readonly firstName: string | undefined;\n readonly fullName: string | null;\n readonly lastName: string | null;\n readonly email: string | null;\n readonly sites: Sites[] | null;\n readonly isLoggedIn: boolean | false;\n readonly extendedTrialOverridableSites: string[] | null;\n readonly accountId: string | null;\n};\n\nexport type BitbucketTeam = {\n readonly username: string;\n readonly uuid: string;\n};\n\nexport type BitbucketWorkspace = {\n // owner: has admin access, collaborator: has write access\n readonly permission: 'owner' | 'member' | 'collaborator';\n readonly user: WorkspaceUserType;\n readonly workspace: WorkspaceType;\n readonly last_accessed: string | null;\n readonly type: string;\n readonly links: Record;\n readonly added_on: string | null;\n};\nexport type WorkspaceUserType = {\n readonly display_name: string;\n readonly account_id: string;\n readonly links: Record;\n readonly nickname: string;\n readonly type: string;\n readonly uuid: string;\n};\n\nexport type WorkspaceType = {\n readonly name: string;\n readonly type: string;\n readonly uuid: string;\n readonly links: Record;\n readonly slug: string;\n};\n\nexport type BitbucketWorkspaces = {\n readonly size: number;\n readonly values: BitbucketWorkspace[];\n};\n\nexport type ProductPayloadObject = {\n readonly accountName?: string | null;\n readonly edition?: string | null;\n readonly product?: string | null;\n readonly productKey?: string | null;\n};\n\nexport type OptimizelyCohortsType = {\n readonly experimentId: string;\n readonly cohortId: string;\n};\n\nexport type WacSignupFormProps = {\n readonly productKeys: Product[];\n readonly bitbucketWorkspaces?: BitbucketWorkspaces;\n readonly hideFullName: boolean;\n readonly showEmail: boolean;\n readonly userInfo?: UserInfo;\n readonly marketingConsentRequired: boolean;\n readonly signInAccountUrl: string;\n readonly switchAccountUrl: string;\n readonly originAnalyticsAttributes: OriginAnalytics;\n readonly reCaptchaKey: string;\n readonly devMode: boolean;\n readonly migrationData?: MigrationDataType;\n readonly isStaging: boolean;\n readonly wacEnvUrl: string;\n readonly locale: string;\n readonly templateId?: { templateId: string };\n readonly optimizelyCohorts?: OptimizelyCohortsType[];\n readonly analyticsTrack: AnalyticsTrackType;\n readonly formExistingSiteShown: (val: boolean) => void;\n readonly deferSiteNameCreation: boolean;\n readonly defaultErrorType?: SubmitErrorType;\n readonly enableFreeBreachTest: boolean;\n readonly simulateFreeBreachState?: boolean;\n readonly spProduct?: string;\n readonly hideGreeting?: boolean;\n readonly outlineOnFocus?: boolean;\n readonly fadeOnDisable?: boolean;\n readonly popOverError?: boolean;\n readonly enableFieldProgression?: boolean;\n readonly showWarningIcon?: boolean;\n readonly selectedSiteId?: string;\n readonly hideCaptchaEula?: boolean;\n readonly enableResendEmail?: boolean;\n readonly enableCarouselEndCard?: boolean;\n readonly firstImpressionsImageUrls?: FirstImpressionsImageUrlsType;\n readonly siteRenamePageUrl: string;\n readonly enableSkipRecaptcha?: boolean;\n readonly cutSignUpStepsInHalfRedirectPathname?: string;\n};\n\nexport type WacSignupFormWithIntlProps = WacSignupFormProps & InjectedIntlProps;\n\nexport type HandleSubmitType = {\n readonly payload: WacSignupFormState;\n readonly activateProducts?: boolean;\n readonly cloudId?: string;\n readonly isJswIncluded?: boolean | null;\n readonly gRecaptchaResponse?: string | null;\n readonly productEdition?: string | null;\n};\n\n/**\n * userInfo\n */\n\nexport type UserSubmitCheckType = {\n readonly accountId: string | null;\n};\n","export const sanitizeLastName = (lastName: string | null): string => {\n return lastName || '.';\n};\n","import { ChooseSignupExperimentVariants } from '../../../../model';\n\nexport function isUserInChooseSignupVariants(\n enableChooseSignup?: ChooseSignupExperimentVariants\n): boolean {\n return (\n enableChooseSignup !== undefined &&\n (enableChooseSignup == ChooseSignupExperimentVariants.VARIANT1 ||\n enableChooseSignup == ChooseSignupExperimentVariants.VARIANT2)\n );\n}\n\nexport function isUserInChooseSignupLoginVariant(\n enableChooseSignup?: ChooseSignupExperimentVariants\n) {\n return (\n enableChooseSignup !== undefined &&\n enableChooseSignup == ChooseSignupExperimentVariants.VARIANT2\n );\n}\n","import { AnyAction } from '@reduxjs/toolkit';\nimport { AppDispatch, RootState } from '../';\nimport { N2NFieldsType } from '../../layouts/devops-screen/types';\n\ntype N2NFieldProgressActionType = {\n readonly type: string;\n readonly payload?: {\n readonly fieldName: 'email' | 'password' | 'fullName' | 'sitenameNew';\n readonly isPopulated: boolean;\n };\n};\n\n// Actions\nconst INPUT_POPULATED_EMAIL = 'n2n-field-progress/INPUT_POPULATED_EMAIL';\nconst INPUT_POPULATED_PASSWORD = 'n2n-field-progress/INPUT_POPULATED_PASSWORD';\nconst INPUT_POPULATED_FULL_NAME =\n 'n2n-field-progress/INPUT_POPULATED_FULL_NAME';\n\n// Initial State\nconst initialState: N2NFieldsType = {\n email: false,\n password: false,\n fullName: false,\n sitenameNew: false\n};\n\n// Reducer\nexport const n2nFieldProgressReducer = (\n state = initialState,\n action: N2NFieldProgressActionType\n): N2NFieldsType => {\n switch (action.type) {\n case INPUT_POPULATED_EMAIL:\n case INPUT_POPULATED_PASSWORD:\n case INPUT_POPULATED_FULL_NAME:\n return Object.assign({}, state, {\n [action?.payload?.fieldName as string]: action?.payload?.isPopulated\n });\n default:\n return state;\n }\n};\n\n// Thunks\nexport function updateN2NFieldProgressEmail(payload: boolean) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldProgress: { email }\n } = getState();\n if (email !== payload) {\n dispatch({\n type: INPUT_POPULATED_EMAIL,\n payload: {\n fieldName: 'email',\n isPopulated: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldProgressPassword(payload: boolean) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldProgress: { password }\n } = getState();\n if (password !== payload) {\n dispatch({\n type: INPUT_POPULATED_PASSWORD,\n payload: {\n fieldName: 'password',\n isPopulated: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldProgressFullName(payload: boolean) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldProgress: { fullName }\n } = getState();\n if (fullName !== payload) {\n dispatch({\n type: INPUT_POPULATED_FULL_NAME,\n payload: {\n fieldName: 'fullName',\n isPopulated: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n","import { AnyAction } from '@reduxjs/toolkit';\nimport { AppDispatch, RootState } from '../';\nimport { ValidationStateType } from '../../layouts/devops-screen/types';\n\ntype N2NFieldValidationType = {\n readonly email?: ValidationStateType;\n readonly password?: ValidationStateType;\n readonly fullName?: ValidationStateType;\n readonly sitenameNew?: ValidationStateType;\n};\n\ntype N2NFieldValidationActionType = {\n readonly type: string;\n readonly payload?: {\n readonly fieldName: 'email' | 'password' | 'fullName' | 'sitenameNew';\n readonly validationState?: ValidationStateType;\n };\n};\n\n// Actions\nconst INPUT_VALIDATION_EMAIL = 'n2n-field-validation/INPUT_VALIDATION_EMAIL';\nconst INPUT_VALIDATION_PASSWORD =\n 'n2n-field-validation/INPUT_VALIDATION_PASSWORD';\nconst INPUT_VALIDATION_FULL_NAME =\n 'n2n-field-validation/INPUT_VALIDATION_FULL_NAME';\nconst INPUT_VALIDATION_SITENAME =\n 'n2n-field-validation/INPUT_VALIDATION_SITENAME';\n\n// Initial State\nconst initialState: N2NFieldValidationType = {\n email: undefined,\n password: undefined,\n fullName: undefined,\n sitenameNew: undefined\n};\n\n// Reducer\nexport const n2nFieldValidationReducer = (\n state = initialState,\n action: N2NFieldValidationActionType\n): N2NFieldValidationType => {\n switch (action.type) {\n case INPUT_VALIDATION_EMAIL:\n case INPUT_VALIDATION_PASSWORD:\n case INPUT_VALIDATION_FULL_NAME:\n case INPUT_VALIDATION_SITENAME:\n return Object.assign({}, state, {\n [action?.payload?.fieldName as string]: action?.payload?.validationState\n });\n default:\n return state;\n }\n};\n\n// Thunks\nexport function updateN2NFieldValidationEmail(payload: ValidationStateType) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldValidation: { email }\n } = getState();\n if (email !== payload) {\n dispatch({\n type: INPUT_VALIDATION_EMAIL,\n payload: {\n fieldName: 'email',\n validationState: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldValidationPassword(payload: ValidationStateType) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldValidation: { password }\n } = getState();\n if (password !== payload) {\n dispatch({\n type: INPUT_VALIDATION_PASSWORD,\n payload: {\n fieldName: 'password',\n validationState: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldValidationFullName(payload: ValidationStateType) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldValidation: { fullName }\n } = getState();\n if (fullName !== payload) {\n dispatch({\n type: INPUT_VALIDATION_FULL_NAME,\n payload: {\n fieldName: 'fullName',\n validationState: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n\nexport function updateN2NFieldValidationSitename(payload: ValidationStateType) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldValidation: { sitenameNew }\n } = getState();\n if (sitenameNew !== payload) {\n dispatch({\n type: INPUT_VALIDATION_SITENAME,\n payload: {\n fieldName: 'sitenameNew',\n validationState: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n","type LoggedInFormValidType = {\n readonly isValid: boolean;\n};\ntype LoggedInFormValidActionType = {\n readonly type: string;\n readonly payload?: LoggedInFormValidType;\n};\n\n// Actions\nconst SET_FORM_VALID = 'logged-in-form-valid/SET_FORM_VALID';\n\n// Initial State\nconst initialState: LoggedInFormValidType = {\n isValid: false\n};\n\n// Reducer\nexport const loggedInFormValidReducer = (\n state = initialState,\n action: LoggedInFormValidActionType\n): LoggedInFormValidType => {\n switch (action.type) {\n case SET_FORM_VALID:\n return Object.assign({}, state, { isValid: action.payload?.isValid });\n default:\n return state;\n }\n};\n\n// Action Creators\nexport function updateLoggedInFormValid(\n isValid: boolean\n): LoggedInFormValidActionType {\n return {\n type: SET_FORM_VALID,\n payload: {\n isValid\n }\n };\n}\n","import { ProductKey } from '@atlassiansox/bxpkit-core';\nimport { ProductPayloadType } from '../../layouts/devops-screen/types';\n\ntype LoggedInFormDataConsentType = {\n readonly marketingConsent?: boolean;\n};\n\ntype LoggedInFormDataProductType = {\n readonly cloudName?: string;\n readonly productsNew?: ProductPayloadType[];\n readonly productsExisting?: ProductKey[];\n readonly bbWorkspaceName?: string;\n};\n\ntype SubmitType =\n | undefined\n | 'shouldSubmit'\n | 'submitting'\n | 'success'\n | 'failure';\n\ntype LoggedInFormDataSubmitType = {\n readonly submitStatus: SubmitType;\n};\n\ntype LoggedInFormDataFreeBreachType = {\n readonly isSiteInFreeBreach: boolean;\n};\n\nexport type LoggedInFormDataType = LoggedInFormDataConsentType &\n LoggedInFormDataProductType &\n LoggedInFormDataSubmitType &\n LoggedInFormDataFreeBreachType;\n\ntype LoggedInFormDataActionType = {\n readonly type: string;\n readonly payload?: Partial | LoggedInFormDataType;\n};\n\n// Actions\nconst UPDATE_PRODUCTS = 'logged-in-form-data/UPDATE_PRODUCTS';\nconst UPDATE_CONSENT = 'logged-in-form-data/UPDATE_CONSENT';\nconst UPDATE_SUBMIT = 'logged-in-form-data/UPDATE_SUBMIT';\nconst UPDATE_FREE_BREACH = 'logged-in-form-data/UPDATE_FREE_BREACH';\n\n// Initial State\nconst initialState: LoggedInFormDataType = {\n cloudName: undefined,\n productsNew: undefined,\n productsExisting: undefined,\n marketingConsent: undefined,\n bbWorkspaceName: undefined,\n isSiteInFreeBreach: false,\n submitStatus: undefined\n};\n\n// Reducer\nexport const loggedInFormDataReducer = (\n state = initialState,\n action: LoggedInFormDataActionType\n): LoggedInFormDataType => {\n switch (action.type) {\n case UPDATE_PRODUCTS:\n return Object.assign({}, state, action.payload);\n case UPDATE_CONSENT:\n return {\n ...state,\n marketingConsent: action.payload?.marketingConsent\n };\n case UPDATE_SUBMIT:\n return {\n ...state,\n submitStatus: action.payload?.submitStatus\n };\n case UPDATE_FREE_BREACH:\n return {\n ...state,\n isSiteInFreeBreach: action.payload?.isSiteInFreeBreach || false\n };\n default:\n return state;\n }\n};\n\n// Action Creators\nexport function updateLoggedInFormDataProducts(\n payload: LoggedInFormDataProductType\n): LoggedInFormDataActionType {\n return {\n type: UPDATE_PRODUCTS,\n payload\n };\n}\n\nexport function updateLoggedInFormDataConsent(\n payload: LoggedInFormDataConsentType\n): LoggedInFormDataActionType {\n return {\n type: UPDATE_CONSENT,\n payload\n };\n}\n\nexport function updateLoggedInFormDataSubmitStatus(\n submitStatus: SubmitType\n): LoggedInFormDataActionType {\n return {\n type: UPDATE_SUBMIT,\n payload: {\n submitStatus\n }\n };\n}\n\nexport function updateLoggedInFormDataFreeBreach(\n isSiteInFreeBreach: boolean\n): LoggedInFormDataActionType {\n return {\n type: UPDATE_FREE_BREACH,\n payload: {\n isSiteInFreeBreach\n }\n };\n}\n","import { SanitizedFormattedHtmlMessageProps } from '@atlassiansox/bxpkit-core';\n\ntype SharedFormDataType = {\n readonly goToProductUrl: string;\n readonly submitErrorMessage?: SanitizedFormattedHtmlMessageProps;\n readonly resendEmailAddress: string;\n};\n\ntype SharedFormDataActionType = {\n readonly type: string;\n readonly payload?: Partial | SharedFormDataType;\n};\n\n// Actions\nconst UPDATE_GOTO_PRODUCT_URL = 'shared-form-data/UPDATE_GOTO_PRODUCT_URL';\nconst UPDATE_SUBMIT_ERROR_MESSAGE =\n 'shared-form-data/UPDATE_SUBMIT_ERROR_MESSAGE';\nconst UPDATE_RESEND_EMAIL_ADDRESS =\n 'shared-form-data/UPDATE_RESEND_EMAIL_ADDRESS';\n// Initial State\nconst initialState: SharedFormDataType = {\n goToProductUrl: '',\n submitErrorMessage: undefined,\n resendEmailAddress: ''\n};\n\n// Reducer\nexport const sharedFormDataReducer = (\n state = initialState,\n action: SharedFormDataActionType\n): SharedFormDataType => {\n switch (action.type) {\n case UPDATE_GOTO_PRODUCT_URL:\n return {\n ...state,\n goToProductUrl: action.payload?.goToProductUrl || ''\n };\n case UPDATE_SUBMIT_ERROR_MESSAGE:\n return {\n ...state,\n submitErrorMessage: action.payload?.submitErrorMessage\n };\n case UPDATE_RESEND_EMAIL_ADDRESS:\n return {\n ...state,\n resendEmailAddress: action.payload?.resendEmailAddress || ''\n };\n default:\n return state;\n }\n};\n\n// Action Creators\nexport function updateSharedFormDataGoToProductUrl(\n goToProductUrl: string\n): SharedFormDataActionType {\n return {\n type: UPDATE_GOTO_PRODUCT_URL,\n payload: {\n goToProductUrl\n }\n };\n}\n\nexport function updateSharedFormDataResendEmailAddress(\n resendEmailAddress: string\n): SharedFormDataActionType {\n return {\n type: UPDATE_RESEND_EMAIL_ADDRESS,\n payload: {\n resendEmailAddress\n }\n };\n}\n\nexport function updateSharedFormDataSubmitErrorMessage(\n submitErrorMessage: undefined | SanitizedFormattedHtmlMessageProps\n): SharedFormDataActionType {\n return {\n type: UPDATE_SUBMIT_ERROR_MESSAGE,\n payload: {\n submitErrorMessage\n }\n };\n}\n","import { AnyAction } from '@reduxjs/toolkit';\nimport { AppDispatch, RootState } from '../';\nimport { ValidationStateType } from '../../layouts/devops-screen/types';\n\ntype N2NDeferredPasswordFieldValidationType = {\n readonly email?: ValidationStateType;\n readonly fullName?: ValidationStateType;\n};\n\ntype N2NDeferredPasswordFieldValidationActionType = {\n readonly type: string;\n readonly payload?: {\n readonly fieldName: 'email' | 'fullName';\n readonly validationState?: ValidationStateType;\n };\n};\n\n// Actions\nconst INPUT_VALIDATION_EMAIL = 'n2n-field-validation/INPUT_VALIDATION_EMAIL';\nconst INPUT_VALIDATION_FULL_NAME =\n 'n2n-field-validation/INPUT_VALIDATION_FULL_NAME';\n\n// Initial State\nconst initialState: N2NDeferredPasswordFieldValidationType = {\n email: undefined,\n fullName: undefined\n};\n\n// Reducer\nexport const n2nDeferredPasswordFieldValidationReducer = (\n state = initialState,\n action: N2NDeferredPasswordFieldValidationActionType\n): N2NDeferredPasswordFieldValidationType => {\n switch (action.type) {\n case INPUT_VALIDATION_EMAIL:\n case INPUT_VALIDATION_FULL_NAME:\n return Object.assign({}, state, {\n [action?.payload?.fieldName as string]: action?.payload?.validationState\n });\n default:\n return state;\n }\n};\n\n// Thunks\nexport function updateN2NDeferredPasswordFieldValidationEmail(\n payload: ValidationStateType\n) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldValidation: { email }\n } = getState();\n if (email !== payload) {\n dispatch({\n type: INPUT_VALIDATION_EMAIL,\n payload: {\n fieldName: 'email',\n validationState: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n\nexport function updateN2NDeferredPasswordFieldValidationFullName(\n payload: ValidationStateType\n) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldValidation: { fullName }\n } = getState();\n if (fullName !== payload) {\n dispatch({\n type: INPUT_VALIDATION_FULL_NAME,\n payload: {\n fieldName: 'fullName',\n validationState: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n","import { AnyAction } from '@reduxjs/toolkit';\nimport { AppDispatch, RootState } from '../';\nimport { N2NDeferredPasswordFieldsType } from '../../layouts/devops-screen/types';\n\ntype N2NDeferredPasswordFieldProgressActionType = {\n readonly type: string;\n readonly payload?: {\n readonly fieldName: 'email' | 'fullName';\n readonly isPopulated: boolean;\n };\n};\n\n// Actions\nconst INPUT_POPULATED_EMAIL = 'n2n-field-progress/INPUT_POPULATED_EMAIL';\nconst INPUT_POPULATED_FULL_NAME =\n 'n2n-field-progress/INPUT_POPULATED_FULL_NAME';\n\n// Initial State\nconst initialState: N2NDeferredPasswordFieldsType = {\n email: false,\n fullName: false\n};\n\n// Reducer\nexport const n2nDeferredPasswordFieldProgressReducer = (\n state = initialState,\n action: N2NDeferredPasswordFieldProgressActionType\n): N2NDeferredPasswordFieldsType => {\n switch (action.type) {\n case INPUT_POPULATED_EMAIL:\n case INPUT_POPULATED_FULL_NAME:\n return Object.assign({}, state, {\n [action?.payload?.fieldName as string]: action?.payload?.isPopulated\n });\n default:\n return state;\n }\n};\n\n// Thunks\nexport function updateN2NDeferredPasswordFieldProgressEmail(payload: boolean) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldProgress: { email }\n } = getState();\n if (email !== payload) {\n dispatch({\n type: INPUT_POPULATED_EMAIL,\n payload: {\n fieldName: 'email',\n isPopulated: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n\nexport function updateN2NDeferredPasswordFieldProgressFullName(\n payload: boolean\n) {\n return ((dispatch: AppDispatch, getState: () => RootState) => {\n const {\n n2nFieldProgress: { fullName }\n } = getState();\n if (fullName !== payload) {\n dispatch({\n type: INPUT_POPULATED_FULL_NAME,\n payload: {\n fieldName: 'fullName',\n isPopulated: payload\n }\n });\n }\n }) as unknown as AnyAction;\n}\n","type LoggedInFormInputType = {\n readonly isNewSiteInput: boolean;\n};\ntype LoggedInFormInputActionType = {\n readonly type: string;\n readonly payload?: LoggedInFormInputType;\n};\n\n// Actions\nconst SET_FORM_INPUT = 'logged-in-form-input/SET_FORM_INPUT';\n\n// Initial State\nconst initialState: LoggedInFormInputType = {\n isNewSiteInput: true\n};\n\n// Reducer\nexport const loggedInFormInputReducer = (\n state = initialState,\n action: LoggedInFormInputActionType\n): LoggedInFormInputType => {\n switch (action.type) {\n case SET_FORM_INPUT:\n return Object.assign({}, state, {\n isNewSiteInput: action.payload?.isNewSiteInput\n });\n default:\n return state;\n }\n};\n\n// Action Creators\nexport function updateLoggedInFormInput(\n isNewSiteInput: boolean\n): LoggedInFormInputActionType {\n return {\n type: SET_FORM_INPUT,\n payload: {\n isNewSiteInput\n }\n };\n}\n","import {\n DEFERRED_SITENAME_AVAILABLE_PRODUCTS,\n DEFERRED_SITENAME_AVAILABLE_EDITIONS\n} from '../../utility';\nimport { AppDispatch, RootState, FeatureFlagState } from '../';\nimport { ProductKeysType, ProductKey } from '@atlassiansox/bxpkit-core';\n\ntype DeferredSiteNameType = {\n readonly isEnabled: boolean;\n};\n\ntype DeferredSiteNameThunkType = {\n readonly featureFlags: FeatureFlagState;\n readonly productKeys: ProductKeysType[];\n};\n\ntype DeferredSiteNameActionType = {\n readonly type: string;\n readonly payload?: DeferredSiteNameType &\n DeferredSiteNameThunkType &\n ProductKeysType[];\n};\n\n// Actions\nexport const SET_STATUS = 'deferred-sitename/SET_STATUS';\n\n// Initial State\nexport const initialState: DeferredSiteNameType = {\n isEnabled: false\n};\n\n// Reducer\nexport const deferredSiteNameReducer = (\n state = initialState,\n action: DeferredSiteNameActionType\n): DeferredSiteNameType => {\n switch (action.type) {\n case SET_STATUS:\n const isEnabled =\n action.payload?.featureFlags.enableDeferredSiteName &&\n action.payload?.productKeys &&\n action.payload?.productKeys.length > 0 &&\n (action.payload?.productKeys[0].product === ProductKey.JIRA_SOFTWARE ||\n action.payload?.productKeys[0].product === ProductKey.CONFLUENCE) &&\n action.payload?.productKeys.filter(\n (p: ProductKeysType) =>\n p.product &&\n DEFERRED_SITENAME_AVAILABLE_PRODUCTS.includes(p.product) &&\n p.edition &&\n DEFERRED_SITENAME_AVAILABLE_EDITIONS.includes(p.edition)\n ).length === action.payload.productKeys.length;\n return { ...state, isEnabled: !!isEnabled };\n default:\n return state;\n }\n};\n\n// Thunks\nexport function updateDeferredSiteNameStatus() {\n return (dispatch: AppDispatch, getState: () => RootState) => {\n const { featureFlags, productKeys } = getState();\n dispatch({ type: SET_STATUS, payload: { featureFlags, productKeys } });\n };\n}\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport type { RootState } from '../store';\nimport { ChooseSignupExperimentVariants } from '../../model';\n\nexport type FeatureFlagState = {\n readonly enableTintinMvp: boolean;\n readonly provisionSecondPartyApps: boolean;\n readonly enableDeferredSiteName: boolean;\n readonly enableDeferredFullName: boolean;\n readonly enableBundlesAfterSignup?: boolean;\n readonly enableAllowBundlesExistingSites?: boolean;\n readonly enableDefaultExpandedEmail?: boolean;\n readonly enableUseCodeAWSContent?: boolean;\n readonly enableChooseSignup?: ChooseSignupExperimentVariants;\n readonly enableCutSignUpStepsInHalf?: boolean;\n};\n\nconst initialState = {\n enableTintinMvp: false,\n provisionSecondPartyApps: false,\n enableDeferredSiteName: false,\n enableDeferredFullName: false,\n enableBundlesAfterSignup: false,\n enableAllowBundlesExistingSites: false,\n enableDefaultExpandedEmail: false,\n enableUseCodeAWSContent: false,\n enableChooseSignup: ChooseSignupExperimentVariants.UNENROLLED,\n enableCutSignUpStepsInHalf: false\n} as FeatureFlagState;\n\nconst sliceFeatureFlags = createSlice({\n name: 'featureFlags',\n initialState,\n reducers: {\n updateFeatureFlags(state, action: PayloadAction>) {\n return { ...state, ...action.payload };\n }\n }\n});\n\n// export actions\nexport const { updateFeatureFlags } = sliceFeatureFlags.actions;\n// optional - convenience function / state selector for minimal consumer syntax\nexport const selectFeatureFlags = (state: RootState) => state.featureFlags;\n// export named reducer (for nicer syntax in store)\nexport const { reducer: reducerFeatureFlags } = sliceFeatureFlags;\n","import { createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { ProductKeysType } from '../../model';\n\nconst initialState: ProductKeysType[] = [];\n\nconst sliceProductKeys = createSlice({\n name: 'productKeys',\n initialState,\n reducers: {\n updateProductKeys(state, action: PayloadAction) {\n state = action.payload;\n return state;\n }\n }\n});\n\n// export actions\nexport const { updateProductKeys } = sliceProductKeys.actions;\n// export named reducer (for nicer syntax in store)\nexport const { reducer: reducerProductKeys } = sliceProductKeys;\n","import { configureStore } from '@reduxjs/toolkit';\nimport {\n loggedInFormDataReducer as loggedInFormData,\n loggedInFormInputReducer as formInputSelection,\n loggedInFormValidReducer as loggedInFormValid,\n n2nDeferredPasswordFieldProgressReducer as n2nDeferredPasswordProgress,\n n2nDeferredPasswordFieldValidationReducer as n2nDeferredPasswordFieldValidation,\n n2nFieldProgressReducer as n2nFieldProgress,\n n2nFieldValidationReducer as n2nFieldValidation,\n sharedFormDataReducer as sharedFormData\n} from './ducks-devops';\nimport { deferredSiteNameReducer as deferredSiteName } from './ducks-experimentation';\nimport { reducerFeatureFlags, reducerProductKeys } from './slice';\n\nconst store = configureStore({\n reducer: {\n // ------ Global Redux Slices --\n featureFlags: reducerFeatureFlags,\n productKeys: reducerProductKeys,\n // ------ Devops ducks ------\n n2nFieldProgress,\n n2nFieldValidation,\n n2nDeferredPasswordFieldValidation,\n n2nDeferredPasswordProgress,\n loggedInFormValid,\n loggedInFormData,\n sharedFormData,\n formInputSelection,\n // ------ Experimentation ducks ------\n deferredSiteName\n },\n devTools: {\n name: '@atlassiansox/bxpkit-wac-sign-up/global'\n }\n});\n\n// Infer the `RootState` and `AppDispatch` types from the store itself\nexport type RootState = ReturnType;\n// Inferred type: {posts: PostsState, comments: CommentsState, users: UsersState}\nexport type AppDispatch = typeof store.dispatch;\n\nexport default store;\n","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return
    {store.getState()}
    \r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
    {store.getState()}
    \r\n * }\r\n */\n\nexport var useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
    \r\n * {value}\r\n * \r\n *
    \r\n * )\r\n * }\r\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
    {counter}
    \r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","import { TypedUseSelectorHook, useDispatch, useSelector } from 'react-redux';\nimport { AppDispatch, RootState } from './store';\n\n// Use throughout your app instead of plain `useDispatch` and `useSelector`\nexport const useAppDispatch = () => useDispatch();\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\n","import _ from 'lodash';\nimport React, {\n createContext,\n PropsWithChildren,\n useContext,\n useEffect,\n useMemo,\n useState\n} from 'react';\n\nimport {\n BitbucketWorkspace,\n BitbucketWorkspaces,\n Product,\n ProductKeys,\n Sites,\n SubmitErrorType,\n WacSignupFormProps,\n WacSignupFormState\n} from '../model';\n\nimport { getIsBundleBbJsw, getIsBundleDevops } from '@atlassiansox/bxpkit-core';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport { messages } from '../messages/sign-up-form';\n\nimport { sanitizeLastName } from '../layouts/legacy/view/utility';\nimport { useAppSelector } from '../redux';\nimport { useCutSignUpStepsInHalfForPaid } from '.';\n\nfunction isSitesDefined(sites?: Sites[] | null): sites is Sites[] {\n return !!sites;\n}\n\nfunction isOpsgenieIncluded(productKeys: Product[]) {\n return _.includes(\n _.map(\n productKeys,\n (productKey: Product) => productKey.product === ProductKeys.OPSGENIE\n ),\n true\n );\n}\n\nexport function isProductIncluded(productKeys: Product[], product: string) {\n return _.includes(\n _.map(productKeys, (productKey: Product) => productKey.product),\n product\n );\n}\n\nexport function cleanseNonAdminWorkspaces(\n bitbucketWorkspaces: BitbucketWorkspaces\n) {\n const purifiedData: BitbucketWorkspace[] = _.filter(\n bitbucketWorkspaces.values,\n (workspace: BitbucketWorkspace) => workspace.permission === 'owner'\n );\n return purifiedData;\n}\n\nexport const SignUpFormUIStateContext = createContext({\n productKeys: [] as Product[],\n bitbucketWorkspaces: {\n size: 0,\n values: [] as BitbucketWorkspace[]\n },\n hideFullName: false,\n showEmail: false,\n userInfo: {\n firstName: '',\n fullName: '',\n lastName: '',\n email: '',\n sites: [] as Sites[],\n isLoggedIn: false,\n extendedTrialOverridableSites: [] as string[],\n accountId: ''\n },\n marketingConsentRequired: false,\n signInAccountUrl: '',\n switchAccountUrl: '',\n originAnalyticsAttributes: {\n signInUser: null,\n switchUser: null\n },\n reCaptchaKey: '',\n devMode: false,\n migrationData: {\n migrationSourceUuid: '',\n migrationUserLimit: 0,\n migrationUserType: '',\n migrationProductName: '',\n migrationSites: [],\n invalidMigration: false,\n claimedMigration: false\n },\n isStaging: false,\n wacEnvUrl: '',\n locale: '',\n templateId: { templateId: '' },\n optimizelyCohorts: [],\n analyticsTrack: {\n newRelic: {\n action: () => undefined,\n attribute: () => undefined,\n trackAjax: () => undefined\n },\n optimizely: () => undefined,\n segment: () => undefined\n },\n formExistingSiteShown: () => undefined,\n deferSiteNameCreation: false,\n defaultErrorType: SubmitErrorType.NO_ERROR,\n enableFreeBreachTest: false,\n simulateFreeBreachState: false,\n spProduct: '',\n hideGreeting: false,\n outlineOnFocus: false,\n fadeOnDisable: false,\n popOverError: false,\n enableFieldProgression: false,\n showWarningIcon: false,\n selectedSiteId: '',\n hideCaptchaEula: false,\n enableResendEmail: false,\n enableCarouselEndCard: false,\n firstImpressionsImageUrls: {\n backgroundImage: '',\n jiraSoftware: {\n heroImage: '',\n socialProofImage: ''\n },\n jiraServiceDesk: {\n heroImage: '',\n socialProofImage: ''\n },\n confluence: {\n heroImage: '',\n socialProofImage: ''\n },\n jiraCore: {\n heroImage: '',\n socialProofImage: ''\n },\n teamCentral: {\n heroImage: '',\n socialProofImage: ''\n },\n jiraProductDiscovery: {\n heroImage: '',\n socialProofImage: ''\n },\n compass: {\n heroImage: '',\n socialProofImage: ''\n },\n fabric: {\n heroImage: '',\n socialProofImage: ''\n },\n beacon: {\n heroImage: '',\n socialProofImage: ''\n },\n jira: {\n heroImage: '',\n socialProofImage: ''\n }\n },\n siteRenamePageUrl: '',\n enableSkipRecaptcha: false\n});\n\nexport type SignUpFormUIStateProviderProps = PropsWithChildren<{\n readonly signUpFormProps: WacSignupFormProps;\n}>;\n\nexport function SignUpFormUIStateProvider({\n signUpFormProps,\n children\n}: SignUpFormUIStateProviderProps) {\n return (\n \n {children}\n \n );\n}\n\nexport type PickableExistingSitesOptions = {\n productKeys: Product[];\n isBundleBBJSW: boolean;\n isBundleDevops: boolean;\n isTeamCentral: boolean;\n isJpd: boolean;\n isCompass: boolean;\n isOpsgenie: boolean;\n sitesToFilter: Sites[];\n extendedTrialOverridableSites: string[] | null;\n};\n\nexport function getPickableExistingSites({\n productKeys,\n isBundleBBJSW = false,\n isBundleDevops = false,\n isTeamCentral = false,\n isJpd = false,\n isCompass = false,\n isOpsgenie = false,\n sitesToFilter,\n extendedTrialOverridableSites = []\n}: PickableExistingSitesOptions): Sites[] {\n // filter user's sites excluding sites with target products being signed up for\n const defaultProductKeys = productKeys.map((product) => product.product);\n\n // filter user's sites excluding sites with target products being signed up for,\n const targetProductKeys = productKeys.map((product) => product.product);\n\n const hasExtendedTrialOverride = (cloudId: string): boolean => {\n return (\n (extendedTrialOverridableSites &&\n extendedTrialOverridableSites.includes(cloudId)) ||\n false\n );\n };\n\n let pickableSites: Sites[] = [];\n if (isBundleBBJSW) {\n // BB/JSW: only filter out SP/OG, not JSW: user must\n // be able to add BB workspace to JSW site)\n const bbJswFilteredProductKeys: string[] = [\n ProductKeys.STATUSPAGE,\n ProductKeys.OPSGENIE\n ];\n\n // filter out non admin sites for bbjsw\n const adminSites = sitesToFilter.filter((site) => site.adminAccess);\n\n pickableSites = adminSites.filter((site) => {\n const sitesMatch = site.products.map((product) => {\n return !bbJswFilteredProductKeys.includes(product);\n });\n return !sitesMatch.includes(false);\n });\n } else if (isOpsgenie) {\n // OG: also filter out JSM\n targetProductKeys.push(ProductKeys.JIRA_SERVICE_DESK);\n targetProductKeys.push(ProductKeys.STATUSPAGE);\n pickableSites = sitesToFilter.filter((site) => {\n const sitesMatch = site.products.map((product) => {\n return !targetProductKeys.includes(product);\n });\n return !sitesMatch.includes(false);\n });\n } else if (isBundleDevops) {\n // filter out non admin sites for devops\n const adminSites = sitesToFilter.filter((site) => site.adminAccess);\n targetProductKeys.push(ProductKeys.STATUSPAGE);\n targetProductKeys.push(ProductKeys.OPSGENIE);\n pickableSites = adminSites.filter((site) => {\n return (\n !_.some(site.products, (product: string) =>\n targetProductKeys.includes(product)\n ) || hasExtendedTrialOverride(site.cloudId)\n );\n });\n } else if (isTeamCentral || isJpd || isCompass) {\n // do not filter out sites containing OG or SP\n pickableSites = sitesToFilter.filter((site) => {\n // BXPSU-1394: For JPD signup, filter sandbox sites b/c issues with sandbox provisioning\n // TC-5859: also filter out sandbox sites for Atlas signup\n const isSandboxSite = /sandbox-\\d{3}/.test(site.displayName);\n if ((isTeamCentral || isJpd) && isSandboxSite) {\n return false;\n }\n return (\n !_.some(site.products, (product: string) =>\n defaultProductKeys.includes(product)\n ) || hasExtendedTrialOverride(site.cloudId)\n );\n });\n } else {\n // default filtering\n pickableSites = sitesToFilter.filter((site) => {\n return (\n !_.some(site.products, (product: string) =>\n targetProductKeys.includes(product)\n ) || hasExtendedTrialOverride(site.cloudId)\n );\n });\n }\n\n return pickableSites;\n}\n\nexport function removeExistingPremiumJSMSites({\n isJsm,\n isFree,\n pickableSites\n}: {\n isJsm: boolean;\n isFree: boolean;\n pickableSites: Sites[];\n}) {\n const JSMProductKeys = [\n `${ProductKeys.JIRA_SERVICE_DESK}`,\n `${ProductKeys.JIRA_SERVICE_MANAGEMENT}`\n ];\n if (isJsm && !isFree) {\n pickableSites = pickableSites.filter((site) => {\n const toFilter = site?.productsAndEditions?.filter(\n ({ productKey, productEdition }) => {\n const existingPremiumJSMSite =\n JSMProductKeys.includes(productKey) &&\n productEdition.toLowerCase() === 'premium';\n return existingPremiumJSMSite;\n }\n );\n\n return !toFilter?.length;\n });\n }\n\n return pickableSites;\n}\n\nexport function useSignUpFormUIState() {\n const signUpFormProps = useContext(SignUpFormUIStateContext);\n\n const { featureFlags, deferredSiteName } = useAppSelector((store) => store);\n\n const { enableDeferredFullName, enableDefaultExpandedEmail } = featureFlags;\n\n const isCutSignUpStepsInHalfEnabled = useCutSignUpStepsInHalfForPaid();\n\n const {\n devMode,\n migrationData,\n userInfo,\n bitbucketWorkspaces,\n marketingConsentRequired,\n productKeys,\n isStaging,\n locale,\n deferSiteNameCreation,\n templateId,\n enableResendEmail = false,\n enableCarouselEndCard = false,\n defaultErrorType = SubmitErrorType.NO_ERROR\n } = signUpFormProps;\n\n const welcomeMessage =\n userInfo && userInfo.firstName\n ? messages.personalizedWelcomeMessage\n : messages.defaultWelcomeMessage;\n\n const signupSource = new URLSearchParams(window.location.search).get(\n 'signupSource'\n );\n const bitbucketPreferred = signupSource === 'bbbundle' ? true : false;\n\n const initialState: WacSignupFormState = {\n email: null,\n firstName: null,\n lastName: null,\n displayName: null,\n password: null,\n cloudName: null,\n bbName: null,\n dataRegion: 'US',\n timezone: null,\n products: [],\n consent: {\n site: null,\n locale: null,\n formUrl: null,\n consents: [\n {\n key: 'termsOfService',\n displayedText: messages.eula.defaultMessage,\n granted: true\n },\n {\n key: 'privacyPolicy',\n displayedText: messages.eula.defaultMessage,\n granted: true\n },\n {\n key: 'generalMarketingOptIn',\n displayedText: messages.marketingConsent.defaultMessage,\n granted: false\n }\n ]\n },\n isExistingSitePickerN2E: false,\n isLoggedIn: false,\n selectedSite: null,\n migrationId: null,\n isSubmitting: false,\n isSSOValid: false,\n cloudNameLength: 0\n };\n const signupOrigin = new OriginTracing({ product: 'wac-sign-up' });\n const [showResendEmail, setShowResendEmail] = useState(false);\n const [showDevopsCarouselEnd, setShowDevopsCarouselEnd] = useState(false);\n const [goToURL, setGoToURL] = useState('');\n const resendEmail = {\n setShowResendEmail,\n enableResendEmail,\n enableCarouselEndCard,\n setShowDevopsCarouselEnd,\n setGoToURL\n };\n\n const [isBbCopyEnabled, setIsBbCopyEnabled] = useState(false);\n const bbWorkspaces = bitbucketWorkspaces?.values\n ? cleanseNonAdminWorkspaces(bitbucketWorkspaces)\n : [];\n const bbWorkspacesTotal = bbWorkspaces.length || 0;\n let buttonText = messages.buttonText;\n let startButtonText = messages.startButtonText;\n\n // @todo: refactor to a function\n const isOpsgenie = isOpsgenieIncluded(productKeys);\n const isStatuspage = isProductIncluded(productKeys, ProductKeys.STATUSPAGE);\n const isTeamCentral = isProductIncluded(\n productKeys,\n ProductKeys.TEAM_CENTRAL\n );\n const isJsw = isProductIncluded(productKeys, ProductKeys.JIRA_SOFTWARE);\n const isJsm = isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_DESK);\n const isJwm = isProductIncluded(productKeys, ProductKeys.JIRA_CORE);\n const isJpd = isProductIncluded(\n productKeys,\n ProductKeys.JIRA_PRODUCT_DISCOVERY\n );\n const isCompass = isProductIncluded(productKeys, ProductKeys.COMPASS);\n const isBeacon = isProductIncluded(productKeys, ProductKeys.BEACON);\n const isBundleBBJSW = getIsBundleBbJsw(productKeys);\n const isBundleDevops = getIsBundleDevops(productKeys);\n const isFree = productKeys.length > 0 && productKeys[0].edition === 'free';\n // suppress User Segmentation Screen for Jira Template Signups\n const hideUserSegmentation = !!(templateId && (isJsw || isJsm || isJwm));\n\n let isSitePickerDisabled = false;\n if (isBundleDevops) {\n // use Devops submit button text\n buttonText = messages.devopsButtonText;\n startButtonText = messages.devopsStartButtonText;\n\n // Devops EAP only allows creating new sites. Remove this for Devops GA:\n isSitePickerDisabled = true;\n }\n\n let productsExisting: string[] = [];\n if (isBundleBBJSW && bbWorkspacesTotal > 0) {\n productsExisting = [ProductKeys.BITBUCKET];\n }\n if (isBundleBBJSW && userInfo && userInfo.sites) {\n userInfo.sites.map((site: Sites) => {\n productsExisting = [...productsExisting, ...site.products];\n });\n }\n\n let hideAsterisks = true;\n let pickableSites: Sites[] = [];\n let intialEmail = '';\n\n if (!marketingConsentRequired) {\n initialState.consent.consents[2].granted = true;\n initialState.consent.consents[2].displayedText = 'general consent implied';\n }\n\n if (userInfo && userInfo.firstName && userInfo.email) {\n // N2E\n const { firstName, email, lastName } = userInfo;\n initialState.firstName = firstName;\n initialState.lastName = sanitizeLastName(lastName);\n initialState.displayName = `${firstName} ${initialState.lastName}`.trim();\n intialEmail = email;\n initialState.email = email;\n initialState.isLoggedIn = true;\n initialState.migrationId = migrationData\n ? migrationData.migrationSourceUuid\n : null;\n\n delete initialState.password;\n\n !isOpsgenie\n ? delete initialState.dataRegion\n : (initialState.dataRegion = 'US');\n\n if (isSitesDefined(userInfo?.sites) && userInfo.sites.length > 0) {\n if (userInfo.sites.length === 1) {\n initialState.cloudName = userInfo.sites[0].displayName;\n initialState.selectedSite = userInfo.sites[0];\n }\n\n if (bbWorkspaces.length > 0) {\n initialState.bbName = bbWorkspaces[0].workspace.name;\n }\n\n pickableSites = getPickableExistingSites({\n productKeys,\n isBundleBBJSW,\n isBundleDevops,\n isTeamCentral,\n isJpd,\n isCompass,\n isOpsgenie,\n sitesToFilter: userInfo.sites,\n extendedTrialOverridableSites: userInfo.extendedTrialOverridableSites\n });\n\n pickableSites = removeExistingPremiumJSMSites({\n isJsm,\n isFree,\n pickableSites\n });\n }\n }\n\n initialState.consent.locale = locale;\n initialState.consent.site = 'atlassian';\n initialState.consent.formUrl = window.location.href;\n initialState.timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n initialState.products = productKeys;\n\n // if BB preferred then ensure BB is the primary product\n if (bitbucketPreferred && isBundleBBJSW) {\n initialState.products = [...initialState.products].sort((a, b) =>\n (a.product || '').localeCompare(b.product || '')\n );\n }\n\n initialState.isExistingSitePickerN2E = !devMode && pickableSites.length > 0;\n\n const [signupState, setSignupState] = useState(initialState);\n const [pollingLoaderShown, setPollingLoaderShown] = useState(false);\n const [shouldShowUseExisting, setShouldShowUseExisting] = useState(\n !devMode && !_.isEmpty(pickableSites)\n );\n const [isValidSiteName, setIsValidSiteName] = useState(false);\n const [submitError, setSubmitError] = useState(defaultErrorType);\n const [selectedSiteIsInBreachOfFree, setSelectedSiteIsInBreachOfFree] =\n useState(false);\n const [\n disableSignInWhileTestingFreeBreach,\n setDisableSignInWhileTestingFreeBreach\n ] = useState(false);\n\n useEffect(() => {\n if (\n isBbCopyEnabled &&\n !signupState.isExistingSitePickerN2E &&\n signupState.cloudName &&\n signupState.bbName !== signupState.cloudName\n ) {\n setSignupState({\n ...signupState,\n bbName: signupState.cloudName || ''\n });\n }\n if (\n isBbCopyEnabled &&\n signupState.isExistingSitePickerN2E &&\n signupState.selectedSite &&\n signupState.bbName !== signupState.selectedSite?.displayName\n ) {\n setSignupState({\n ...signupState,\n bbName: signupState.selectedSite?.displayName || ''\n });\n }\n }, [\n isBbCopyEnabled,\n signupState.cloudName,\n signupState.selectedSite,\n signupState.isExistingSitePickerN2E\n ]);\n\n useEffect(() => {\n const n2eAvailable = !!(\n !devMode &&\n pickableSites.length > 0 &&\n userInfo &&\n isSitesDefined(userInfo?.sites) &&\n userInfo.sites.length > 0\n );\n setSignupState({\n ...signupState,\n products: productKeys,\n isExistingSitePickerN2E: n2eAvailable,\n // @ts-ignore\n selectedSite: n2eAvailable ? userInfo.sites[0] : null,\n cloudName: n2eAvailable\n ? // @ts-ignore\n userInfo.sites[0].displayName\n : signupState.isExistingSitePickerN2E\n ? ''\n : signupState.cloudName\n });\n setShouldShowUseExisting(!devMode && !_.isEmpty(pickableSites));\n }, [productKeys]);\n\n const siteNameAfter = useMemo(() => {\n if (isOpsgenie && !isBundleDevops) {\n return '.app.opsgenie.com';\n }\n if (isStaging) {\n return '.jira-dev.com';\n } else {\n return '.atlassian.net';\n }\n }, [signupState.dataRegion]);\n\n const isValid = useMemo(() => {\n return (\n signupState.email !== null &&\n signupState.email !== '' &&\n ((signupState.displayName !== null && signupState.displayName !== '') ||\n enableDeferredFullName ||\n enableDefaultExpandedEmail ||\n isCutSignUpStepsInHalfEnabled) &&\n ((signupState.cloudName !== null && signupState.cloudName !== '') ||\n deferSiteNameCreation ||\n (deferredSiteName.isEnabled && signupState.cloudNameLength === 0)) &&\n !signupState.isSSOValid\n );\n }, [signupState]);\n\n const isValidChooseSignup = useMemo(() => {\n return (\n signupState.email !== null &&\n signupState.email !== '' &&\n !signupState.isSSOValid\n );\n }, [signupState]);\n\n const isValidN2E = useMemo(() => {\n return (\n signupState.email !== null &&\n signupState.email !== '' &&\n signupState.firstName !== null &&\n signupState.firstName !== '' &&\n signupState.lastName !== null &&\n signupState.lastName !== '' &&\n ((userInfo && userInfo.email !== '' && userInfo.email !== null) ||\n (signupState.password !== null && signupState.password !== '')) &&\n signupState.cloudName !== null &&\n signupState.cloudName !== '' &&\n isValidSiteName &&\n !signupState.isSSOValid\n );\n }, [signupState, isValidSiteName]);\n\n return {\n signupState,\n setSignupState,\n pollingLoaderShown,\n setPollingLoaderShown,\n showResendEmail,\n setShowResendEmail,\n intialEmail,\n showDevopsCarouselEnd,\n setShowDevopsCarouselEnd,\n goToURL,\n setGoToURL,\n resendEmail,\n isBbCopyEnabled,\n setIsBbCopyEnabled,\n bbWorkspaces,\n bbWorkspacesTotal,\n isOpsgenie,\n isStatuspage,\n isTeamCentral,\n isBundleBBJSW,\n isBundleDevops,\n isCompass,\n isBeacon,\n isJpd,\n isFree,\n buttonText,\n startButtonText,\n isSitePickerDisabled,\n productsExisting,\n hideAsterisks,\n pickableSites,\n shouldShowUseExisting,\n isValidSiteName,\n setIsValidSiteName,\n submitError,\n setSubmitError,\n selectedSiteIsInBreachOfFree,\n setSelectedSiteIsInBreachOfFree,\n disableSignInWhileTestingFreeBreach,\n setDisableSignInWhileTestingFreeBreach,\n siteNameAfter,\n isValid,\n isValidChooseSignup,\n isValidN2E,\n initialState,\n welcomeMessage,\n signUpFormProps,\n hideUserSegmentation,\n signupOrigin\n };\n}\n\n//\n","import React, {\n createContext,\n useContext,\n useMemo,\n PropsWithChildren\n} from 'react';\nimport { Url } from '@atlassiansox/bxpkit-core';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\nimport {\n EDITION_LABEL_ARRAY,\n FREE_EDITION_LABEL_KEY,\n STANDARD_EDITION_LABEL_KEY,\n PREMIUM_EDITION_LABEL_KEY,\n BETA_EDITION_LABEL_KEY\n} from '../utility';\n\nexport type Platform = 'ccp' | 'hams' | 'routing';\nconst PLATFORM_OPTIONS = ['ccp', 'hams', 'routing'] as Platform[];\n\nexport type SignUpFormConfig = {\n readonly bundle?: string;\n readonly product?: string;\n readonly edition?: string;\n readonly templateId?: string;\n readonly migrationSourceUuid?: string;\n readonly developer?: string;\n readonly src?: string;\n readonly useCcpPlatform: boolean;\n readonly platform: Platform;\n};\n\nexport type SignUpFormConfigContextProps = {\n readonly bundleOverride?: string;\n readonly productOverride?: string;\n readonly editionOverride?: string;\n};\n\nexport const SignUpConfigContext = createContext(\n {}\n);\n\nexport function SignUpConfigContextProvider({\n children,\n ...props\n}: PropsWithChildren) {\n return (\n \n {children}\n \n );\n}\n\nfunction buildSignUpFormConfig(\n bundleOverride?: string,\n productOverride?: string,\n editionOverride?: string,\n productParam?: string,\n bundleParam?: string,\n editionParam?: string,\n templateIdParam?: string,\n developerParam?: string,\n migrationSourceUuidParam?: string,\n srcParam?: string,\n platformParam?: string\n) {\n // figure out what the product key is\n let product;\n if (productOverride && productOverride.length > 0) {\n product = productOverride.replace(\n ProductKey.JIRA_SERVICE_MANAGEMENT,\n ProductKey.JIRA_SERVICE_DESK\n );\n } else if (productParam && productParam.length > 0) {\n product = productParam.replace(\n ProductKey.JIRA_SERVICE_MANAGEMENT,\n ProductKey.JIRA_SERVICE_DESK\n );\n }\n\n // figure out what the bundle name is\n let bundle;\n if (bundleOverride && bundleOverride.length > 0) {\n bundle = bundleOverride;\n } else if (bundleParam && bundleParam.length > 0) {\n bundle = bundleParam.split('.')[0];\n }\n\n // either product (product key), or bundle (bundle name), should exist, not both\n if (bundle && bundle.length) {\n product = undefined;\n } else if (product && product.length) {\n bundle = undefined;\n }\n // if nothing is provided, set bundle to 'default', which is Jira Software\n else {\n bundle = 'default';\n }\n\n // add edition data\n let edition;\n if (editionOverride && editionOverride.length > 0) {\n edition = EDITION_LABEL_ARRAY.some(\n (label) => label.toLowerCase() === editionOverride\n )\n ? editionOverride\n : FREE_EDITION_LABEL_KEY.toLowerCase();\n } else if (editionParam && editionParam.length > 0) {\n edition = EDITION_LABEL_ARRAY.some(\n (label) => label.toLowerCase() === editionParam\n )\n ? editionParam\n : FREE_EDITION_LABEL_KEY.toLowerCase();\n } else {\n edition = FREE_EDITION_LABEL_KEY.toLowerCase();\n }\n\n // adjust edition based on migrationSourceUuid query parameter\n // should either be standard or premium; always correct free to standard\n if (\n migrationSourceUuidParam &&\n migrationSourceUuidParam.length > 0 &&\n edition !== STANDARD_EDITION_LABEL_KEY.toLowerCase() &&\n edition !== PREMIUM_EDITION_LABEL_KEY.toLowerCase()\n ) {\n edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n }\n\n // Developer Instances should always be Standard Edition\n if (developerParam) {\n edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n }\n // SPICE-448: Prototype products - Point A alpha or beta products\n if (bundle === ProductKey.COMPASS || product === ProductKey.COMPASS) {\n edition = BETA_EDITION_LABEL_KEY.toLowerCase();\n }\n\n let platform = 'routing' as Platform;\n let useCcpPlatform = false;\n if (platformParam) {\n const platformParamLowerCase = platformParam.toLowerCase() as Platform;\n if (platformParamLowerCase === 'ccp') {\n useCcpPlatform = true;\n }\n\n if (PLATFORM_OPTIONS.includes(platformParamLowerCase)) {\n platform = platformParamLowerCase;\n }\n }\n\n return {\n bundle,\n edition,\n product,\n migrationSourceUuid: migrationSourceUuidParam,\n templateId: templateIdParam,\n developer: developerParam,\n src: srcParam,\n useCcpPlatform,\n platform\n };\n}\n\nexport function useSignUpFormConfig(): SignUpFormConfig {\n const { bundleOverride, productOverride, editionOverride } =\n useContext(SignUpConfigContext);\n\n const {\n product: productParam,\n bundle: bundleParam,\n edition: editionParam,\n templateId: templateIdParam,\n developer: developerParam,\n migrationSourceUuid: migrationSourceUuidParam,\n src: srcParam,\n platform: platformParam\n } = Url.getUrlParams() || {};\n\n return useMemo(\n () =>\n buildSignUpFormConfig(\n bundleOverride,\n productOverride,\n editionOverride,\n productParam,\n bundleParam,\n editionParam,\n templateIdParam,\n developerParam,\n migrationSourceUuidParam,\n srcParam,\n platformParam\n ),\n [\n bundleOverride,\n productOverride,\n editionOverride,\n productParam,\n bundleParam,\n editionParam,\n templateIdParam,\n developerParam,\n migrationSourceUuidParam,\n srcParam,\n platformParam\n ]\n );\n}\n","import React, { createContext, useContext, PropsWithChildren } from 'react';\n\nexport type SignUpFormGlobalConfiguration = {\n readonly confirmationPageUrl: string;\n readonly checkEmailPageUrl: string;\n readonly newUserSignupRedirectUrl?: string;\n};\n\nexport type SignUpFormGlobalConfigurationContextProps = {\n readonly confirmationPageUrl?: string;\n readonly checkEmailPageUrl?: string;\n readonly newUserSignupRedirectUrl?: string;\n};\n\nexport const SignUpGlobalConfigurationContext =\n createContext({});\n\nexport function SignUpGlobalConfigurationContextProvider({\n children,\n ...props\n}: PropsWithChildren) {\n return (\n \n {children}\n \n );\n}\n\nexport function useSignUpFormGlobalConfiguration(): SignUpFormGlobalConfiguration {\n const { confirmationPageUrl, checkEmailPageUrl, newUserSignupRedirectUrl } =\n useContext(SignUpGlobalConfigurationContext);\n\n return {\n confirmationPageUrl:\n confirmationPageUrl ?? '/wac/ondemand/signup/confirmation',\n checkEmailPageUrl: checkEmailPageUrl ?? '/wac/ondemand/signup/checkemail',\n newUserSignupRedirectUrl: newUserSignupRedirectUrl\n };\n}\n","import { ProductKey, Url } from '@atlassiansox/bxpkit-core';\nimport { useSignUpFormConfig } from '.';\nimport { useAppSelector } from '../redux';\nimport { FREE_EDITION_LABEL_KEY } from '../utility';\n\n/**\n * useCutSignupStepsInHalf\n *\n * Hook that determines whether or not to render Cut sign up steps in half experiment on embedded sign-up form.\n * Checks for cut-sign-up-steps-in-half feature flag,\n * ensures that bundles-after-signup applies only to JSW embedded sign-up form and edition is free\n * @returns boolean\n */\nexport function useCutSignUpStepsInHalfForPaid() {\n const { product, edition, bundle } = useSignUpFormConfig();\n const { enableCutSignUpStepsInHalf } = useAppSelector(\n ({ featureFlags }) => featureFlags\n );\n\n return (\n !!enableCutSignUpStepsInHalf &&\n (product === ProductKey.JIRA_SOFTWARE || bundle === 'jira-software') &&\n edition === FREE_EDITION_LABEL_KEY.toLowerCase()\n );\n}\n\nexport function useCutSignUpStepsInHalfForNonPaid() {\n const { product, edition, bundle } = useSignUpFormConfig();\n const { signupSource, templateId } = Url.getUrlParams() || {};\n const { enableCutSignUpStepsInHalf } = useAppSelector(\n ({ featureFlags }) => featureFlags\n );\n\n return (\n !!enableCutSignUpStepsInHalf &&\n (product === ProductKey.JIRA_SOFTWARE || bundle === 'jira-software') &&\n edition === FREE_EDITION_LABEL_KEY.toLowerCase() &&\n (signupSource === 'jiraBundle' || templateId !== undefined)\n );\n}\n","// ideally this would be fetched from ../constants but that causes a\n// circular dep loop. This will be refactored as part of a breaking\n// change in the future.\nconst DEFAULT_THEME_MODE = 'light';\nconst THEME_MODES = ['light', 'dark'];\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if ('__ATLASKIT_THEME__' in props.theme) {\n return props.theme.__ATLASKIT_THEME__;\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return { mode: DEFAULT_THEME_MODE };\n}\n//# sourceMappingURL=getTheme.js.map","/* eslint-disable prefer-rest-params */\nimport getTheme from './getTheme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return (props) => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value)\n return value; // TS believes value can be undefined\n }\n }\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return (props) => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value)\n return value;\n }\n return '';\n };\n}\n//# sourceMappingURL=themed.js.map","import themed from './utils/themed';\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n// Themed colors\nexport const background = themed({ light: N0, dark: DN30 });\nexport const backgroundActive = themed({ light: B50, dark: B75 });\nexport const backgroundHover = themed({ light: N30, dark: DN70 });\nexport const backgroundOnLayer = themed({ light: N0, dark: DN50 });\nexport const text = themed({ light: N900, dark: DN600 });\nexport const textHover = themed({ light: N800, dark: DN600 });\nexport const textActive = themed({ light: B400, dark: B400 });\nexport const subtleText = themed({ light: N200, dark: DN300 });\nexport const placeholderText = themed({ light: N100, dark: DN200 });\nexport const heading = themed({ light: N800, dark: DN600 });\nexport const subtleHeading = themed({ light: N200, dark: DN300 });\nexport const codeBlock = themed({ light: N20, dark: DN50 });\nexport const link = themed({ light: B400, dark: B100 });\nexport const linkHover = themed({ light: B300, dark: B200 });\nexport const linkActive = themed({ light: B500, dark: B100 });\nexport const linkOutline = themed({ light: B100, dark: B200 });\nexport const primary = themed({ light: B400, dark: B100 });\nexport const blue = themed({ light: B400, dark: B100 });\nexport const teal = themed({ light: T300, dark: T200 });\nexport const purple = themed({ light: P300, dark: P100 });\nexport const red = themed({ light: R300, dark: R300 });\nexport const yellow = themed({ light: Y300, dark: Y300 });\nexport const green = themed({ light: G300, dark: G300 });\nexport const skeleton = () => N20A;\n//# sourceMappingURL=colors.js.map","import { N700, N900 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\n\nexport const FormHeaderRoot = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: flex-start;\n`;\n\ninterface FormHeaderHeadingProps {\n isGreeting: boolean;\n}\n\nexport const FormHeaderHeading = styled.p`\n font-size: ${(props) => (props.isGreeting ? '24px' : '36px')};\n line-height: 40px;\n font-family: 'Charlie Display';\n margin: 0;\n margin-bottom: 0;\n font-weight: 500;\n word-break: break-all;\n`;\n\nexport const ChooseSignupFormHeaderHeading = styled.h2`\n font-size: 36px;\n line-height: 44px;\n font-family: 'Charlie Display';\n margin: 0;\n margin-bottom: 13px;\n font-weight: 500;\n word-break: break-all;\n color: ${N700};\n`;\n\nexport const FormHeaderSubheading = styled.p`\n font-size: 16px;\n line-height: 24px;\n letter-spacing: 0.03em;\n font-family: 'Charlie Display';\n margin: 0;\n text-align: center;\n`;\n\nexport const ChooseSignupFormHeaderSubheading = styled.p`\n font-size: 16px;\n line-height: 24px;\n font-weight: 400;\n letter-spacing: 0.03em;\n font-family: 'Charlie Display';\n color: ${N900};\n margin-top: 0;\n margin-bottom: 0;\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useCutSignUpStepsInHalfForPaid } from '../../../../hook';\nimport { messages } from '../../../../messages';\nimport type { UserDataType } from '../../../../model';\nimport {\n ChooseSignupFormHeaderHeading,\n ChooseSignupFormHeaderSubheading,\n FormHeaderHeading,\n FormHeaderRoot,\n FormHeaderSubheading\n} from './styled';\n\nexport interface SignUpFormHeaderProps {\n heading: FormattedMessage.MessageDescriptor;\n subheading: FormattedMessage.MessageDescriptor;\n userInfo: UserDataType;\n}\n\nfunction SignUpFormHeader({\n heading,\n subheading,\n userInfo\n}: SignUpFormHeaderProps) {\n const shouldShowGreeting = userInfo?.isLoggedIn;\n const shouldShowSubheading =\n Boolean(subheading.defaultMessage) && !userInfo?.isLoggedIn;\n const isCutSignUpStepsInHalfEnabled = useCutSignUpStepsInHalfForPaid();\n return (\n \n {isCutSignUpStepsInHalfEnabled ? (\n \n \n \n ) : (\n \n {shouldShowGreeting ? (\n \n ) : (\n \n )}\n \n )}\n {isCutSignUpStepsInHalfEnabled && shouldShowSubheading && (\n \n \n \n )}\n {isCutSignUpStepsInHalfEnabled && (\n \n \n \n )}\n {!isCutSignUpStepsInHalfEnabled && shouldShowSubheading && (\n \n \n \n )}\n \n );\n}\n\nexport default SignUpFormHeader;\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'WacSignupForm.';\n\nexport const messages = defineMessages({\n heading: {\n id: `${ID_PREFIX}signupOfferingIncludesFeaturesSignupFormHeading`,\n defaultMessage: 'Start now'\n },\n subheading: {\n id: `${ID_PREFIX}signupOfferingIncludesFeaturesSignupFormSubheading`,\n defaultMessage: ''\n },\n greeting: {\n id: `${ID_PREFIX}signupFormPersonalizedGreeting`,\n defaultMessage: 'Welcome back, {username}'\n }\n});\n","import { useMemo } from 'react';\nimport {\n getEditionLabelFragment,\n getProductLabelFragment\n} from '../utility/sign-up-form-header';\nimport { ProductKeysType } from '../../../../model';\nimport { messages } from './messages';\n\nexport interface UseFormHeaderLabelsParams {\n edition: string;\n labels: {\n [key: string]: string;\n };\n productKeys: ProductKeysType[];\n skip?: boolean;\n useBundleHeaderOverride?: boolean;\n}\n\nexport const useFormHeaderLabels = ({\n labels,\n edition,\n productKeys,\n skip,\n useBundleHeaderOverride\n}: UseFormHeaderLabelsParams) => {\n const { heading, subheading } = useMemo(() => {\n if (skip) {\n return {\n heading: messages.heading,\n subheading: messages.subheading\n };\n }\n const editionLabelFragment = getEditionLabelFragment(edition);\n const productLabelFragment = getProductLabelFragment(productKeys);\n const bundleHeaderOverrideOrEmpty = useBundleHeaderOverride\n ? 'BundlesLayout'\n : '';\n\n const headingLabel = `${messages.heading.id}${editionLabelFragment}${productLabelFragment}${bundleHeaderOverrideOrEmpty}`;\n const subheadingLabel = `${messages.subheading.id}${editionLabelFragment}${productLabelFragment}${bundleHeaderOverrideOrEmpty}`;\n return {\n heading: {\n id: headingLabel,\n defaultMessage: labels[headingLabel] || messages.heading.defaultMessage\n },\n subheading: {\n id: subheadingLabel,\n defaultMessage:\n labels[subheadingLabel] || messages.subheading.defaultMessage\n }\n };\n }, []);\n\n return { heading, subheading };\n};\n","export const getEditionLabelFragment = (edition: string) => {\n const matcher: Array<[RegExp, string]> = [\n [/free/gi, 'Free'],\n [/standard/gi, 'Standard'],\n [/premium/gi, 'Standard'],\n [/.*/, 'Free']\n ];\n\n const [, label] = matcher.find(([regex]) => regex.test(edition)) || [];\n return label;\n};\n","import { ProductKeysType } from '../../../../../model';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\n\nexport const getProductLabelFragment = (productKeys: ProductKeysType[]) => {\n const [{ product: productKey }] = productKeys;\n switch (productKey) {\n case ProductKey.JIRA_SERVICE_DESK:\n case ProductKey.JIRA_SERVICE_MANAGEMENT:\n return 'JSD';\n case ProductKey.JIRA_PRODUCT_DISCOVERY:\n return 'JiraProductDiscovery';\n case ProductKey.COMPASS:\n return 'Beta';\n case ProductKey.TEAM_CENTRAL:\n return 'Atlas';\n case ProductKey.FABRIC:\n return 'Fabric';\n case ProductKey.BEACON:\n return 'Beacon';\n default:\n return '';\n }\n};\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'WacSignupForm.';\nexport const messages = defineMessages({\n socialSignUpButtonContinueWithGoogle: {\n id: `${ID_PREFIX}socialSignUpButtonContinueWithGoogle`,\n defaultMessage: 'Continue with Google'\n },\n socialSignUpButtonContinueWithMicrosoft: {\n id: `${ID_PREFIX}socialSignUpButtonContinueWithMicrosoft`,\n defaultMessage: 'Continue with Microsoft'\n },\n socialSignUpButtonSignUpWithEmail: {\n id: `${ID_PREFIX}socialSignUpButtonSignUpWithEmail`,\n defaultMessage: 'Sign up with email'\n },\n socialSignUpButtonSignUpWithGoogle: {\n id: `${ID_PREFIX}socialSignUpButtonSignUpWithGoogle`,\n defaultMessage: 'Sign up with Google'\n }\n});\n","import { N500 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\n\nconst text =\n \"Charlie Text, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nexport const SocialButtonIcon = styled.img`\n height: 18px;\n width: 18px;\n margin-right: 8px;\n margin-bottom: 0;\n`;\n\nexport const DefaultButton = styled.div`\n height: 39px;\n width: 100%;\n border-radius: 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: ${N500};\n cursor: pointer;\n font-weight: 500;\n box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n\n margin: 0px 0px 20px 0px;\n padding: 0;\n border: 0;\n font-size: 100%;\n vertical-align: baseline;\n font-family: ${text};\n font-style: normal;\n background-color: #e8e9ee;\n`;\n\nexport const SocialButton = styled.a`\n text-decoration: none;\n height: 39px;\n width: 100%;\n border-radius: 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: ${N500};\n :hover{\n color: ${N500}\n text-decoration: none;\n }\n cursor: pointer;\n font-weight: 500;\n box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n background-color: #FFF;\n\n margin: 0px 0px 20px 0px;\n padding: 0;\n border: 0;\n font-size: 100%;\n vertical-align: baseline;\n font-family: ${text};\n font-style: normal;\n`;\n\nexport const SocialButtonDefaultExpandedEmail = styled.a`\n text-decoration: none;\n height: 40px;\n width: 100%;\n border-radius: 3px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: ${N500};\n :hover{\n color: ${N500}\n text-decoration: none;\n }\n cursor: pointer;\n font-weight: 500;\n box-shadow: rgba(0, 0, 0, 0.2) 1px 1px 5px 0 !important;\n background-color: #FFF;\n\n margin: 40px 0px 24px 0px;\n padding: 0;\n border: 0;\n font-size: 100%;\n vertical-align: baseline;\n font-family: ${text};\n font-style: normal;\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useCutSignUpStepsInHalfForPaid } from '../../../../hook';\nimport { useAppSelector } from '../../../../redux';\nimport { messages } from './messages';\nimport {\n DefaultButton,\n SocialButton,\n SocialButtonDefaultExpandedEmail,\n SocialButtonIcon\n} from './styled';\n\nexport type SocialSignUpButtonProps = {\n readonly href?: string;\n readonly buttonType: string;\n readonly onClick?: () => void;\n readonly className?: string;\n readonly id?: string;\n};\n\nfunction SocialSignUpButton(props: SocialSignUpButtonProps) {\n const { href, buttonType, onClick, id, className } = props;\n const { enableDefaultExpandedEmail } = useAppSelector(\n (state) => state.featureFlags\n );\n const isCutSignUpStepsInHalfEnabled = useCutSignUpStepsInHalfForPaid();\n let btn;\n switch (buttonType) {\n case 'google':\n {\n enableDefaultExpandedEmail && !isCutSignUpStepsInHalfEnabled\n ? (btn = (\n \n {' '}\n \n \n ))\n : (btn = (\n \n {' '}\n \n \n ));\n }\n\n break;\n case 'microsoft':\n btn = (\n \n {' '}\n \n \n );\n break;\n default:\n btn = (\n \n \n \n );\n break;\n }\n\n return btn;\n}\n\nexport default SocialSignUpButton;\n","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(value, analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","function abort(event) {\n event.preventDefault();\n event.stopPropagation();\n}\nconst tabKeyCode = 9;\nfunction onKey(event) {\n // Allowing tab so that a user can move focus away\n if (event.keyCode === tabKeyCode) {\n return;\n }\n abort(event);\n}\nconst block = {\n onMouseDownCapture: abort,\n onMouseUpCapture: abort,\n // because we have tabIndex = -1 when disabled,\n // keyboard events can only occur when there is an overlay\n onKeyDownCapture: onKey,\n onKeyUpCapture: onKey,\n onTouchStartCapture: abort,\n onTouchEndCapture: abort,\n onPointerDownCapture: abort,\n onPointerUpCapture: abort,\n onClickCapture: abort,\n // Just smashing the existing onClick for good measure\n onClick: abort\n};\nconst doNotBlock = {};\nexport default function blockEvents({\n isInteractive\n}) {\n return isInteractive ? doNotBlock : block;\n}","import * as colors from '@atlaskit/theme/colors';\n// Hard coding the active rgba color value rather than using a helper to convert it\n// With helper it would be: hex2rgba(colors.B75, 0.6)\nconst fadedB75 = 'rgba(179, 212, 255, 0.6)';\nconst values = {\n // Default appearance\n background: {\n default: {\n default: {\n light: `var(--ds-background-neutral, ${colors.N20A})`,\n dark: `var(--ds-background-neutral, ${colors.DN70})`\n },\n hover: {\n light: `var(--ds-background-neutral-hovered, ${colors.N30A})`,\n dark: `var(--ds-background-neutral-hovered, ${colors.DN60})`\n },\n active: {\n light: `var(--ds-background-neutral-pressed, ${fadedB75})`,\n dark: `var(--ds-background-neutral-pressed, ${colors.B75})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n primary: {\n default: {\n light: `var(--ds-background-brand-bold, ${colors.B400})`,\n dark: `var(--ds-background-brand-bold, ${colors.B100})`\n },\n hover: {\n light: `var(--ds-background-brand-bold-hovered, ${colors.B300})`,\n dark: `var(--ds-background-brand-bold-hovered, ${colors.B75})`\n },\n active: {\n light: `var(--ds-background-brand-bold-pressed, ${colors.B500})`,\n dark: `var(--ds-background-brand-bold-pressed, ${colors.B200})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n warning: {\n default: {\n light: `var(--ds-background-warning-bold, ${colors.Y300})`,\n dark: `var(--ds-background-warning-bold, ${colors.Y300})`\n },\n hover: {\n light: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`,\n dark: `var(--ds-background-warning-bold-hovered, ${colors.Y200})`\n },\n active: {\n light: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`,\n dark: `var(--ds-background-warning-bold-pressed, ${colors.Y400})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.Y400})`,\n dark: `var(--ds-background-selected, ${colors.Y400})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.Y400})`,\n dark: `var(--ds-background-selected, ${colors.Y400})`\n }\n },\n danger: {\n default: {\n light: `var(--ds-background-danger-bold, ${colors.R400})`,\n dark: `var(--ds-background-danger-bold, ${colors.R400})`\n },\n hover: {\n light: `var(--ds-background-danger-bold-hovered, ${colors.R300})`,\n dark: `var(--ds-background-danger-bold-hovered, ${colors.R300})`\n },\n active: {\n light: `var(--ds-background-danger-bold-pressed, ${colors.R500})`,\n dark: `var(--ds-background-danger-bold-pressed, ${colors.R500})`\n },\n disabled: {\n light: `var(--ds-background-disabled, ${colors.N20A})`,\n dark: `var(--ds-background-disabled, ${colors.DN70})`\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.R500})`,\n dark: `var(--ds-background-selected, ${colors.R500})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.R500})`,\n dark: `var(--ds-background-selected, ${colors.R500})`\n }\n },\n link: {\n default: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n }\n },\n subtle: {\n default: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n hover: {\n light: `var(--ds-background-neutral-subtle-hovered, ${colors.N30A})`,\n dark: `var(--ds-background-neutral-subtle-hovered, ${colors.DN60})`\n },\n active: {\n light: `var(--ds-background-neutral-subtle-pressed, ${fadedB75})`,\n dark: `var(--ds-background-neutral-subtle-pressed, ${colors.B75})`\n },\n disabled: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.DN0})`\n }\n },\n 'subtle-link': {\n default: {\n light: \"var(--ds-background-neutral-subtle, none)\",\n dark: \"var(--ds-background-neutral-subtle, none)\"\n },\n selected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n },\n focusSelected: {\n light: `var(--ds-background-selected, ${colors.N700})`,\n dark: `var(--ds-background-selected, ${colors.N20})`\n }\n }\n },\n color: {\n default: {\n default: {\n light: `var(--ds-text, ${colors.N500})`,\n dark: `var(--ds-text, ${colors.DN400})`\n },\n active: {\n light: `var(--ds-text, ${colors.B400})`,\n dark: `var(--ds-text, ${colors.B400})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n primary: {\n default: {\n light: `var(--ds-text-inverse, ${colors.N0})`,\n dark: `var(--ds-text-inverse, ${colors.DN30})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n warning: {\n default: {\n light: `var(--ds-text-warning-inverse, ${colors.N800})`,\n dark: `var(--ds-text-warning-inverse, ${colors.N800})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N800})`,\n dark: `var(--ds-text-selected, ${colors.N800})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N800})`,\n dark: `var(--ds-text-selected, ${colors.N800})`\n }\n },\n danger: {\n default: {\n light: `var(--ds-text-inverse, ${colors.N0})`,\n dark: `var(--ds-text-inverse, ${colors.N0})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN30})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N0})`,\n dark: `var(--ds-text-selected, ${colors.N0})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N0})`,\n dark: `var(--ds-text-selected, ${colors.N0})`\n }\n },\n link: {\n default: {\n light: `var(--ds-link, ${colors.B400})`,\n dark: `var(--ds-link, ${colors.B100})`\n },\n hover: {\n light: `var(--ds-link, ${colors.B300})`,\n dark: `var(--ds-link, ${colors.B75})`\n },\n active: {\n light: `var(--ds-link-pressed, ${colors.B500})`,\n dark: `var(--ds-link-pressed, ${colors.B200})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.N700})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.N700})`\n }\n },\n subtle: {\n default: {\n light: `var(--ds-text, ${colors.N500})`,\n dark: `var(--ds-text, ${colors.DN400})`\n },\n active: {\n light: `var(--ds-text, ${colors.B400})`,\n dark: `var(--ds-text, ${colors.B400})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n },\n 'subtle-link': {\n default: {\n light: `var(--ds-text-subtle, ${colors.N200})`,\n dark: `var(--ds-text-subtle, ${colors.DN400})`\n },\n hover: {\n light: `var(--ds-text-subtle, ${colors.N90})`,\n dark: `var(--ds-text-subtle, ${colors.B50})`\n },\n active: {\n light: `var(--ds-text, ${colors.N400})`,\n dark: `var(--ds-text, ${colors.DN300})`\n },\n disabled: {\n light: `var(--ds-text-disabled, ${colors.N70})`,\n dark: `var(--ds-text-disabled, ${colors.DN100})`\n },\n selected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n },\n focusSelected: {\n light: `var(--ds-text-selected, ${colors.N20})`,\n dark: `var(--ds-text-selected, ${colors.DN400})`\n }\n }\n }\n};\nexport default values;","import { css } from '@emotion/react';\nimport { borderRadius as getBorderRadius, fontSize as getFontSize,\n// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports\ngridSize as getGridSize } from '@atlaskit/theme/constants';\nimport colors from './colors';\nconst borderRadius = getBorderRadius();\nconst gridSize = getGridSize();\nconst fontSize = getFontSize();\n\n// ## Button layout\n//\n// /------------------------------------------------------------------------------------------------------------------\\\n// | → | ← | | → | ← | | → | ← | | → | ← |\n// | 10px → | ← 2px | icon | 2px → | ← 2px | | 2px → | ← 2px | icon | 2px → | ← 10px |\n// | padding | margin | before | margin | margin | content | margin | margin | after | margin | padding |\n// | (12px total) | | (4px total) | | (4px total) | | (12px total) |\n// | → | ← | | → | ← | | → | ← | | → | ← |\n// \\------------------------------------------------------------------------------------------------------------------/\n// ↑ ↑\n// Margins don't collapse with inline-flex\n//\nconst heights = {\n default: `${gridSize * 4 / fontSize}em`,\n // 32px\n compact: `${gridSize * 3 / fontSize}em`,\n none: 'auto'\n};\nconst lineHeights = {\n default: heights.default,\n compact: heights.compact,\n none: 'inherit'\n};\nconst padding = {\n // 10px gutter\n default: `0 ${gridSize + gridSize / 4}px`,\n compact: `0 ${gridSize + gridSize / 4}px`,\n none: '0'\n};\nconst singleIconPadding = {\n // 2px gutter\n compact: `0 ${gridSize / 4}px`,\n default: `0 ${gridSize / 4}px`,\n none: '0'\n};\nconst verticalAlign = {\n default: 'middle',\n compact: 'middle',\n none: 'baseline'\n};\nconst innerMargin = {\n content: `0 ${gridSize / 4}px`,\n icon: `0 ${gridSize / 4}px`\n};\nfunction getColor({\n group,\n key,\n mode\n}) {\n const rule = group[key] || group.default;\n return rule[mode];\n}\nfunction getColors({\n appearance,\n key,\n mode\n}) {\n return {\n background: getColor({\n group: colors.background[appearance],\n key,\n mode\n }),\n // Needing to add !important to overcome specificity issue caused by deprecated AtlaskitThemeProvider\n color: `${getColor({\n group: colors.color[appearance],\n key,\n mode\n })} !important`\n };\n}\nexport function getCss({\n appearance,\n spacing,\n mode,\n isSelected,\n shouldFitContainer,\n isOnlySingleIcon\n}) {\n const baseColors = getColors({\n appearance,\n key: isSelected ? 'selected' : 'default',\n mode\n });\n return {\n // 0px margin added to css-reset\n alignItems: 'baseline',\n borderWidth: 0,\n borderRadius,\n boxSizing: 'border-box',\n display: 'inline-flex',\n fontSize: 'inherit',\n fontStyle: 'normal',\n // Chrome recently changed button so that they use 'arial' as the font family\n fontFamily: 'inherit',\n fontWeight: 500,\n // margin for button has been applied to css reset\n maxWidth: '100%',\n // Needed to position overlay\n position: 'relative',\n textAlign: 'center',\n textDecoration: 'none',\n transition: 'background 0.1s ease-out, box-shadow 0.15s cubic-bezier(0.47, 0.03, 0.49, 1.38)',\n whiteSpace: 'nowrap',\n // dynamic styles\n ...baseColors,\n cursor: 'pointer',\n height: heights[spacing],\n lineHeight: lineHeights[spacing],\n padding: isOnlySingleIcon ? singleIconPadding[spacing] : padding[spacing],\n verticalAlign: verticalAlign[spacing],\n width: shouldFitContainer ? '100%' : 'auto',\n // justifyContent required for shouldFitContainer buttons with an icon inside\n justifyContent: 'center',\n // Note: we cannot disable pointer events when there is an overlay.\n // That would be easy for styling, but it would start letting events through on disabled buttons\n\n // Disabling visited styles (just using the base colors)\n '&:visited': {\n ...baseColors\n },\n '&:hover': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'hover',\n mode\n }),\n textDecoration: !isSelected && (appearance === 'link' || appearance === 'subtle-link') ? 'underline' : 'inherit',\n // background, box-shadow\n transitionDuration: '0s, 0.15s'\n },\n // giving active styles preference by listing them after focus\n '&:active': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'active',\n mode\n }),\n // background, box-shadow\n transitionDuration: '0s, 0s'\n },\n // preventDefault prevents regular active styles from applying in Firefox\n '&[data-firefox-is-active=\"true\"]': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'active',\n mode\n }),\n // background, box-shadow\n transitionDuration: '0s, 0s'\n },\n // Giving disabled styles preference over active by listing them after.\n // Not using '&:disabled' because :disabled is not a valid state for all element types\n // so we are targeting the attribute\n // Attributes have the same specificity a pseudo classes so we are overriding :disabled here\n '&[disabled]': {\n // always using 'disabled' even when selected\n ...getColors({\n appearance,\n key: 'disabled',\n mode\n }),\n cursor: 'not-allowed',\n textDecoration: 'none'\n },\n '&[data-has-overlay=\"true\"]': {\n cursor: 'default',\n textDecoration: 'none'\n },\n // disabling hover and active color changes when there is an overlay, but the button is not disabled\n '&[data-has-overlay=\"true\"]:not([disabled]):hover, &[data-has-overlay=\"true\"]:not([disabled]):active': {\n ...getColors({\n appearance,\n key: isSelected ? 'selected' : 'default',\n mode\n })\n },\n '&::-moz-focus-inner': {\n border: 0,\n margin: 0,\n padding: 0\n }\n };\n}\n\n// inline-flex child\nexport function getIconStyle({\n spacing\n}) {\n return css({\n display: 'flex',\n // icon size cannot grow and shrink\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n margin: spacing === 'none' ? 0 : innerMargin.icon,\n flexGrow: 0,\n flexShrink: 0,\n alignSelf: 'center',\n fontSize: 0,\n lineHeight: 0,\n userSelect: 'none'\n });\n}\n\n// inline-flex child\nexport function getContentStyle({\n spacing\n}) {\n return css({\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage-spacing\n margin: spacing === 'none' ? 0 : innerMargin.content,\n // content can grow and shrink\n flexGrow: 1,\n flexShrink: 1,\n // ellipsis for overflow text\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n });\n}\nexport function getFadingCss({\n hasOverlay\n}) {\n return css({\n opacity: hasOverlay ? 0 : 1,\n transition: 'opacity 0.3s'\n });\n}\nexport const overlayCss = {\n // stretching to full width / height of button\n // this is important as we need it to still block\n // event if clicking in the button's own padding\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n // Putting all children in the center\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center'\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport React, { useCallback, useContext, useEffect, useRef } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport noop from '@atlaskit/ds-lib/noop';\nimport useAutoFocus from '@atlaskit/ds-lib/use-auto-focus';\nimport FocusRing from '@atlaskit/focus-ring';\n// eslint-disable-next-line no-duplicate-imports\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { N500 } from '@atlaskit/theme/colors';\nimport blockEvents from './block-events';\nimport { getContentStyle, getFadingCss, getIconStyle, overlayCss } from './css';\n\n// Disabled buttons will still publish events for nested elements in webkit.\n// We are disabling pointer events on child elements so that\n// the button will always be the target of events\n// Note: firefox does not have this behaviour for child elements\nconst noPointerEventsOnChildrenCss = {\n '> *': {\n pointerEvents: 'none'\n }\n};\nexport default /*#__PURE__*/React.forwardRef(function ButtonBase(props, ref) {\n const {\n appearance = 'default',\n buttonCss,\n spacing = 'default',\n autoFocus = false,\n isDisabled = false,\n shouldFitContainer = false,\n isSelected = false,\n iconBefore,\n iconAfter,\n children,\n className,\n href,\n overlay,\n tabIndex = 0,\n type = !href ? 'button' : undefined,\n onMouseDown: providedOnMouseDown = noop,\n onClick: providedOnClick = noop,\n // use the provided component prop,\n // else default to anchor if there is a href, and button if there is no href\n component: Component = href ? 'a' : 'button',\n testId,\n interactionName,\n // I don't think this should be in button, but for now it is\n analyticsContext,\n ...rest\n } = props;\n const ourRef = useRef();\n const setRef = useCallback(node => {\n ourRef.current = node;\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n\n // @ts-ignore\n ref.current = node;\n }, [ourRef, ref]);\n\n // Cross browser auto focusing is pretty broken, so we are doing it ourselves\n useAutoFocus(ourRef, autoFocus);\n const interactionContext = useContext(InteractionContext);\n const handleClick = useCallback((e, analyticsEvent) => {\n interactionContext && interactionContext.tracePress(interactionName, e.timeStamp);\n providedOnClick(e, analyticsEvent);\n }, [providedOnClick, interactionContext, interactionName]);\n const onClick = usePlatformLeafEventHandler({\n fn: handleClick,\n action: 'clicked',\n componentName: 'button',\n packageName: \"@atlaskit/button\",\n packageVersion: \"16.7.5\",\n analyticsData: analyticsContext\n });\n\n // Button currently calls preventDefault, which is not standard button behaviour\n const onMouseDown = useCallback(event => {\n event.preventDefault();\n providedOnMouseDown(event);\n }, [providedOnMouseDown]);\n\n // Lose focus when becoming disabled (standard button behaviour)\n useEffect(() => {\n const el = ourRef.current;\n if (isDisabled && el && el === document.activeElement) {\n el.blur();\n }\n }, [isDisabled]);\n\n // we are 'disabling' input with a button when there is an overlay\n const hasOverlay = Boolean(overlay);\n const fadeCss = css(getFadingCss({\n hasOverlay\n }));\n const isInteractive = !isDisabled && !hasOverlay;\n\n /**\n * HACK: Spinner needs to have different colours in the \"new\" tokens design compared to the old design.\n * For now, while we support both, these styles reach into Spinner when a theme is set, applies the right color.\n * Ticket to remove: https://product-fabric.atlassian.net/browse/DSP-2067\n */\n var spinnerHackCss = {};\n if (isSelected || isDisabled || appearance === 'warning') {\n spinnerHackCss = {\n '[data-theme] & circle': {\n stroke: `${isSelected || isDisabled ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-warning-inverse, ${N500})`} !important`\n }\n };\n }\n return jsx(FocusRing, null, jsx(Component, _extends({}, rest, {\n css: [buttonCss, isInteractive ? null : noPointerEventsOnChildrenCss],\n className: className,\n ref: setRef,\n onClick: onClick,\n onMouseDown: onMouseDown,\n disabled: isDisabled,\n href: isInteractive ? href : undefined\n // using undefined so that the property doesn't exist when false\n ,\n \"data-has-overlay\": hasOverlay ? true : undefined,\n \"data-testid\": testId,\n type: type\n // Adding a tab index so element is always focusable, even when not a \n \n \n \n \n \n \n );\n}\nconst Root = styled.div`\n margin: 10px 10px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\nconst ContactUs = styled.div`\n div {\n a {\n color: #0065ff;\n text-decoration: none;\n cursor: pointer;\n }\n }\n`;\nconst Bar = styled.div`\n width: 130px;\n border-bottom: 1px solid #dfe1e6;\n height: 1px;\n margin-top: 20px;\n margin-bottom: 10px;\n`;\n","import { Environment, Url } from '@atlassiansox/bxpkit-core';\nimport { Storage } from '@atlassiansox/bxpkit-core';\nimport type { AnalyticsTrackType } from '@atlassiansox/bxpkit-core';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport { SignupLayoutAnalyticsType } from '../../model';\n\n/**\n * Analytics Singleton for Signup Layout\n */\n\nexport class SignupLayoutAnalytics {\n public static instance: SignupLayoutAnalytics;\n\n public instance?: SignupLayoutAnalytics;\n public isLoggedIn: boolean;\n public analyticsTrack: AnalyticsTrackType;\n public queryParameters: { [key: string]: string };\n public performanceStartTime?: number;\n public signInUserOrigin?: OriginTracing;\n public switchUserOrigin?: OriginTracing;\n public signInAccountUrl = '';\n public switchAccountUrl = '';\n public originAnalyticsAttributes?: any;\n\n public constructor({\n isLoggedIn,\n analyticsTrack,\n performanceStartTime\n }: SignupLayoutAnalyticsType) {\n this.isLoggedIn = isLoggedIn;\n this.analyticsTrack = analyticsTrack;\n this.performanceStartTime = performanceStartTime;\n this.queryParameters = Url.getUrlParams() || {};\n\n if (SignupLayoutAnalytics.instance) {\n // only use 1/first-created instance (this is a singleton)\n return SignupLayoutAnalytics.instance;\n }\n\n SignupLayoutAnalytics.instance = this;\n this._initOrigin();\n this._onloadAnalytics();\n }\n\n /**\n * Initialize Origin ID Tracing values\n */\n\n public _initOrigin() {\n this.signInUserOrigin = new OriginTracing({ product: 'wac-signup-login' });\n this.switchUserOrigin = new OriginTracing({ product: 'wac-signup-switch' });\n\n this.signInAccountUrl = Environment.getIdSigninUrl(\n this.signInUserOrigin.encode(),\n undefined,\n this.queryParameters['continue']\n );\n this.switchAccountUrl = Environment.getIdSwitchUserUrl(\n this.switchUserOrigin.encode()\n );\n\n this.originAnalyticsAttributes = {\n signInUser: this.signInUserOrigin.toAnalyticsAttributes({\n hasGeneratedId: true\n }),\n switchUser: this.switchUserOrigin.toAnalyticsAttributes({\n hasGeneratedId: true\n })\n };\n }\n\n /**\n * Events to fired when the component has mounted\n */\n\n public _onloadAnalytics() {\n const { segment, newRelic } = this.analyticsTrack;\n\n segment('bxp.try.signup.reactversionshown', {});\n newRelic.attribute('isReact', true);\n newRelic.attribute(\n 'anonymous_id',\n (Storage.getCookie('ajs_anonymous_id') || '').replace(/\"/g, '')\n );\n ['edition', 'product', 'bundle', 'coupon'].forEach((paramName) =>\n newRelic.attribute(\n paramName,\n this.queryParameters[paramName] || `no ${paramName}`\n )\n );\n\n // performance\n if (this.performanceStartTime) {\n const performanceDuration = performance.now() - this.performanceStartTime;\n segment('bxp.formCloudSignup.timeToFormReady', {\n performanceDuration,\n isLoggedIn: this.isLoggedIn\n });\n newRelic.attribute('isLoggedIn', this.isLoggedIn);\n newRelic.action('bxp.formCloudSignup.timeToFormReady', {\n performanceDuration,\n isLoggedIn: this.isLoggedIn\n });\n }\n }\n\n /**\n * Getters\n */\n\n public getOriginTraces() {\n return {\n signInAccountUrl: this.signInAccountUrl || '',\n switchAccountUrl: this.switchAccountUrl || '',\n originAnalyticsAttributes: this.originAnalyticsAttributes\n };\n }\n\n /**\n * Custom Events/Attributes\n */\n\n public setIsMigration(isMigration: boolean) {\n const { newRelic } = this.analyticsTrack;\n newRelic.attribute('isMigration', isMigration);\n }\n\n public trackBbSignupPerf() {\n const { segment } = this.analyticsTrack;\n if (this.performanceStartTime) {\n const performanceDuration = performance.now() - this.performanceStartTime;\n segment('bxp.formCloudSignup.timeToFormReadyBitbucketTeams', {\n performanceDuration,\n isLoggedIn: this.isLoggedIn\n });\n }\n }\n}\n","export const WAC_SIGNUP_FORM_KEY_BASE = 'WacSignupForm.';\nexport const SIGNUP_OFFERING_LABEL_KEY_BASE =\n WAC_SIGNUP_FORM_KEY_BASE + 'signupOffering';\nexport const TRIAL_DURATION_LABEL_KEY_BASE =\n SIGNUP_OFFERING_LABEL_KEY_BASE + 'TrialLengthText';\nexport const TRIAL_DURATION_LABEL_KEY_EXISTING_SITE =\n TRIAL_DURATION_LABEL_KEY_BASE + 'ExistingSite';\nexport const TRIAL_DURATION_LABEL_KEY_NEW_SITE =\n TRIAL_DURATION_LABEL_KEY_BASE + 'NewSite';\nexport const SIGNUP_OFFERING_LABEL_KEY_PREFIX =\n SIGNUP_OFFERING_LABEL_KEY_BASE + 'IncludesFeatures';\nexport const SIGNUP_SIDE_INFO_HEADER_PREFIX =\n WAC_SIGNUP_FORM_KEY_BASE + 'sideInfoHeader';\n\nexport const [\n CONFLUENCE,\n JIRA_CORE,\n JSW,\n JSD,\n OPSGENIE,\n BITBUCKET,\n STATUSPAGE,\n DEVELOPER_MODE,\n DEVOPS,\n TEAM_CENTRAL,\n JIRA_PRODUCT_DISCOVERY,\n COMPASS,\n FABRIC,\n BEACON,\n JIRA_FAMILY\n] = [\n 'Confluence',\n 'JiraCore',\n 'JSW',\n 'JSD',\n 'Opsgenie',\n 'Bitbucket',\n 'Statuspage',\n 'DeveloperMode',\n 'Devops',\n 'Townsquare',\n 'JiraProductDiscovery',\n 'Compass',\n 'Canvas',\n 'Beacon',\n 'Jira'\n];\n\nexport const PRODUCT_NAMES = [\n JSD,\n OPSGENIE,\n BITBUCKET,\n STATUSPAGE,\n DEVELOPER_MODE,\n DEVOPS,\n CONFLUENCE,\n TEAM_CENTRAL,\n JSW,\n JIRA_PRODUCT_DISCOVERY,\n COMPASS,\n FABRIC,\n BEACON\n];\nexport const STANDARD_EDITION_LABEL_KEY = 'Standard';\nexport const FREE_EDITION_LABEL_KEY = 'Free';\nexport const PREMIUM_EDITION_LABEL_KEY = 'Premium';\nexport const BETA_EDITION_LABEL_KEY = 'Beta';\nexport const STANDARD_EDITION_HALP_PROMO_KEY = 'Halp'; // SPICE-738 JSM promo for existing HALP users\nexport const BUNDLE_LABEL_KEY = 'Bundle';\nexport const MIGRATION_USERS_LABEL_KEY = 'userTypeUsersLabel';\nexport const MIGRATION_AGENTS_LABEL_KEY = 'userTypeAgentsLabel';\nexport const EDITION_LABEL_ARRAY = [\n STANDARD_EDITION_LABEL_KEY,\n FREE_EDITION_LABEL_KEY,\n PREMIUM_EDITION_LABEL_KEY,\n STANDARD_EDITION_HALP_PROMO_KEY\n];\n\nconst SOCIAL_PROOF_KEY_PREFIX =\n 'WacSignupForm.signupOfferingIncludesFeaturesSocialProof';\n\nexport const SOCIAL_PROOF_TEXT_KEY_PREFIX = SOCIAL_PROOF_KEY_PREFIX + 'Text';\nexport const SOCIAL_PROOF_SUPPORT_IMAGE_KEY_PREFIX =\n SOCIAL_PROOF_KEY_PREFIX + 'Image';\nexport const SOCIAL_PROOF_HERO_IMAGE_KEY_PREFIX =\n SOCIAL_PROOF_KEY_PREFIX + 'HeroImage';\n\nexport const FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST = 'JSWFI';\nexport const FIRST_IMPRESSION_JIRA_SERVICE_DESK_FEATURE_LIST = 'JSDFI';\n","import { Environment } from '@atlassiansox/bxpkit-core';\nimport { SignupLayoutAnalytics } from '..';\nimport {\n CheckExtendedTrialAvailabilityOptionsType,\n CheckExtendedTrialAvailabilityResponseType,\n GetMigrationDataOptionsType,\n MigrationDataType,\n SitesType\n} from '../../model';\nimport {\n MIGRATION_AGENTS_LABEL_KEY,\n MIGRATION_USERS_LABEL_KEY,\n WAC_SIGNUP_FORM_KEY_BASE\n} from '../../layouts/legacy/view/utility/sign-up-layout-container/constants';\n\nexport const getMigrationData = async ({\n queryParameters,\n analyticsTrack,\n productKeys,\n userInfo,\n labels\n}: GetMigrationDataOptionsType): Promise => {\n const analytics = new SignupLayoutAnalytics({\n analyticsTrack,\n isLoggedIn: userInfo?.isLoggedIn\n });\n const migrationSourceUuid = queryParameters.hasOwnProperty(\n 'migrationSourceUuid'\n )\n ? queryParameters.migrationSourceUuid\n : null;\n let product = null;\n let sites: SitesType = null;\n\n if (\n migrationSourceUuid &&\n userInfo.email &&\n userInfo.sites &&\n productKeys &&\n productKeys.length > 0 &&\n productKeys[0].productContent\n ) {\n product = productKeys[0].productContent[0];\n sites = userInfo.sites || [];\n } else {\n return Promise.resolve(null);\n }\n\n const humanUsageType = (usageType: string) => {\n switch (usageType) {\n case 'remote-agent-tier':\n case 'bamboo-agent-tier':\n case 'servicedesk-agent-tier':\n return labels[\n `${WAC_SIGNUP_FORM_KEY_BASE}${MIGRATION_AGENTS_LABEL_KEY}`\n ];\n default:\n return labels[\n `${WAC_SIGNUP_FORM_KEY_BASE}${MIGRATION_USERS_LABEL_KEY}`\n ];\n }\n };\n\n const cloudIds = sites ? sites.map((site) => site.cloudId) : null;\n\n if (!product?.productKey || !cloudIds) {\n return Promise.resolve(null);\n }\n\n const data = await checkExtendedTrialAvailability({\n migrationSourceUuid,\n productKey: product.productKey,\n cloudIds\n }).catch((err: Error) => {\n // tslint:disable-next-line:no-console\n console.log(err);\n return null;\n });\n\n if (!data) {\n return Promise.resolve(null);\n }\n\n const status = data.cloudCreation;\n\n const eligibleSites = data.sites\n ? Object.keys(data.sites).filter((cloudId) => data.sites[cloudId].available)\n : [];\n\n analytics.setIsMigration(true);\n return Promise.resolve({\n migrationSourceUuid,\n migrationUserLimit: data.usageLimit || 0,\n migrationUserType: humanUsageType(data.usageType),\n migrationProductName: product.productName,\n migrationSites: eligibleSites,\n invalidMigration: !status.available,\n claimedMigration: status.reason === 'ALREADY_CLAIMED'\n });\n};\n\nconst checkExtendedTrialAvailability = async ({\n migrationSourceUuid,\n productKey,\n cloudIds\n}: CheckExtendedTrialAvailabilityOptionsType): Promise => {\n const url = `${Environment.getHamletUrl()}/1.0/public/account/${migrationSourceUuid}/extendedTrial/availability`;\n const options = {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n productKey,\n cloudIds\n }),\n withCredentials: true\n };\n\n const response = await fetch(url, options);\n if (response.ok) {\n return Promise.resolve(response.json());\n } else {\n return Promise.resolve();\n }\n};\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = { ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n\n this.payload = props.payload;\n }\n\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n\n if (typeof updater === 'object') {\n this.payload = { ...this.payload,\n ...updater\n };\n }\n\n return this;\n }\n\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n\n return null;\n }\n\n const context = [...this.context];\n const handlers = [...this.handlers];\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n\n return;\n }\n\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n\n return this;\n }\n\n return super.update(updater);\n }\n\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, 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 return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\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;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","export var SIZES_MAP = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96,\n};\nexport var DEFAULT_SIZE = SIZES_MAP.small;\n//# sourceMappingURL=constants.js.map","import { __makeTemplateObject } from \"tslib\";\nimport styled, { keyframes, css } from 'styled-components';\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to use dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"], [\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"]))),\n enterRotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n from { transform: rotate(50deg); }\\n to { transform: rotate(230deg); }\\n \"], [\"\\n from { transform: rotate(50deg); }\\n to { transform: rotate(230deg); }\\n \"]))),\n leaveRotate: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n from { transform: rotate(230deg); }\\n to { transform: rotate(510deg); }\\n \"], [\"\\n from { transform: rotate(230deg); }\\n to { transform: rotate(510deg); }\\n \"]))),\n leaveOpacity: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n from { opacity: 1; }\\n to { opacity: 0; }\\n \"], [\"\\n from { opacity: 1; }\\n to { opacity: 0; }\\n \"]))),\n};\nexport var getContainerAnimation = function (_a) {\n var delay = _a.delay, phase = _a.phase;\n if (phase === 'DELAY') {\n /* This hides the spinner and allows us to use animationend events to move to the next phase in\n * the same way we do with the other lifecycle stages */\n return css(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n animation: \", \"s \", \";\\n \"], [\"\\n animation: \", \"s \", \";\\n \"])), delay, keyframeNames.noop);\n }\n if (phase === 'ENTER' || phase === 'IDLE') {\n return css(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n animation: 1s ease-in-out forwards \", \";\\n \"], [\"\\n animation: 1s ease-in-out forwards \", \";\\n \"])), keyframeNames.enterRotate);\n }\n if (phase === 'LEAVE') {\n return css(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n animation: 0.53s ease-in-out forwards \", \",\\n 0.2s ease-in-out 0.33s \", \";\\n \"], [\"\\n animation: 0.53s ease-in-out forwards \", \",\\n 0.2s ease-in-out 0.33s \", \";\\n \"])), keyframeNames.leaveRotate, keyframeNames.leaveOpacity);\n }\n return '';\n};\nvar getSize = function (_a) {\n var size = _a.size;\n return size + \"px\";\n};\nvar Container = styled.span(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n \", \"\\n display: flex;\\n height: \", \";\\n width: \", \";\\n\\n /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n * they complete their exit animations. This rules hides the spinner if another one has been\\n * added. */\\n div + & {\\n display: none;\\n }\\n\"], [\"\\n \", \"\\n display: flex;\\n height: \", \";\\n width: \", \";\\n\\n /* Rapidly creating and removing spinners will result in multiple spinners being visible while\\n * they complete their exit animations. This rules hides the spinner if another one has been\\n * added. */\\n div + & {\\n display: none;\\n }\\n\"])), getContainerAnimation, getSize, getSize);\nContainer.displayName = 'SpinnerContainer';\nexport default Container;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n//# sourceMappingURL=styledContainer.js.map","import { __makeTemplateObject, __rest } from \"tslib\";\nimport styled, { css, keyframes } from 'styled-components';\nimport { themed } from '@atlaskit/theme/components';\nimport { N500, N0 } from '@atlaskit/theme/colors';\nimport { SIZES_MAP } from './constants';\nvar getStrokeWidth = function (size) { return Math.round(size / 10); };\nvar getStrokeCircumference = function (size) {\n var strokeWidth = getStrokeWidth(size);\n var strokeRadius = size / 2 - strokeWidth / 2;\n return Math.PI * strokeRadius * 2;\n};\n/* Define keyframes statically to prevent a perfomance issue in styled components v1 where the keyframes function\n * does not cache previous values resulting in each spinner injecting the same keyframe definition\n * in the DOM.\n * This can be reverted to dynamic keyframes when we upgrade to styled components v2\n */\nvar keyframeNames = {\n noop: keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"], [\"\\n from { opacity: 0; }\\n to { opacity: 0; }\\n \"]))),\n rotate: keyframes(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n to { transform: rotate(360deg); }\\n \"], [\"\\n to { transform: rotate(360deg); }\\n \"]))),\n enterOpacity: keyframes(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n from { opacity: 0; }\\n to { opacity: 1; }\\n \"], [\"\\n from { opacity: 0; }\\n to { opacity: 1; }\\n \"]))),\n smallEnterStroke: keyframes(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(SIZES_MAP.small), getStrokeCircumference(SIZES_MAP.small) *\n 0.8),\n mediumEnterStroke: keyframes(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(SIZES_MAP.medium), getStrokeCircumference(SIZES_MAP.medium) *\n 0.8),\n largeEnterStroke: keyframes(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(SIZES_MAP.large), getStrokeCircumference(SIZES_MAP.large) *\n 0.8),\n xlargeEnterStroke: keyframes(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \",\n \"px; }\\n \"])), getStrokeCircumference(SIZES_MAP.xlarge), getStrokeCircumference(SIZES_MAP.xlarge) *\n 0.8),\n};\n/* If a standard size is used, we can use one of our statically defined keyframes, otherwise\n * we're forced to dynamically create the keyframe and incur a performance cost.\n */\nvar getEnterStrokeKeyframe = function (size) {\n var standardSizeName = Object.keys(SIZES_MAP).find(function (sizeName) { return size === SIZES_MAP[sizeName]; });\n if (standardSizeName) {\n return keyframeNames[standardSizeName + \"EnterStroke\"];\n }\n var circumference = getStrokeCircumference(size);\n return keyframes(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"], [\"\\n from { stroke-dashoffset: \", \"px; }\\n to { stroke-dashoffset: \", \"px; }\\n \"])), circumference, circumference * 0.8);\n};\nvar spinnerColor = themed({ light: N500, dark: N0 });\nvar spinnerColorInverted = themed({ light: N0, dark: N0 });\nexport var getStrokeColor = function (_a) {\n var invertColor = _a.invertColor, props = __rest(_a, [\"invertColor\"]);\n return invertColor ? spinnerColorInverted(props) : spinnerColor(props);\n};\nexport var svgStyles = css(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \",\n \";\\n\"])), function (props) {\n var circumference = getStrokeCircumference(props.size);\n var animation = function (animProps) {\n var baseAnimation = '0.86s cubic-bezier(0.4, 0.15, 0.6, 0.85) infinite';\n if (animProps.phase === 'ENTER') {\n return css(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n animation: \", \" \", \",\\n 0.8s ease-in-out \", \",\\n 0.2s ease-in-out \", \";\\n \"], [\"\\n animation: \", \" \", \",\\n 0.8s ease-in-out \", \",\\n 0.2s ease-in-out \", \";\\n \"])), baseAnimation, keyframeNames.rotate, getEnterStrokeKeyframe(animProps.size), keyframeNames.enterOpacity);\n }\n return css(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n animation: \", \" \", \";\\n \"], [\"\\n animation: \", \" \", \";\\n \"])), baseAnimation, keyframeNames.rotate);\n };\n return css(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n \", \"\\n fill: none;\\n stroke: \", \";\\n stroke-dasharray: \", \"px;\\n stroke-dashoffset: \", \"px;\\n stroke-linecap: round;\\n stroke-width: \", \"px;\\n transform-origin: center;\\n \"], [\"\\n \", \"\\n fill: none;\\n stroke: \", \";\\n stroke-dasharray: \", \"px;\\n stroke-dashoffset: \", \"px;\\n stroke-linecap: round;\\n stroke-width: \", \"px;\\n transform-origin: center;\\n \"])), animation, getStrokeColor, circumference, circumference * 0.8, getStrokeWidth(props.size));\n});\nvar Svg = styled.svg(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), svgStyles);\nSvg.displayName = 'SpinnerSvg';\nexport default Svg;\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;\n//# sourceMappingURL=styledSvg.js.map","import { __extends, __makeTemplateObject } from \"tslib\";\nimport React, { Component } from 'react';\nimport { Transition } from 'react-transition-group';\nimport styled from 'styled-components';\nimport { SIZES_MAP, DEFAULT_SIZE } from './constants';\nimport Container from './styledContainer';\nimport Svg from './styledSvg';\nvar Outer = styled.span(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: inline-block;\\n vertical-align: middle;\\n\"], [\"\\n display: inline-block;\\n vertical-align: middle;\\n\"])));\nOuter.displayName = 'Outer';\nvar Spinner = /** @class */ (function (_super) {\n __extends(Spinner, _super);\n function Spinner(props) {\n var _this = _super.call(this, props) || this;\n _this.transitionNode = null;\n _this.enter = function () {\n var delay = _this.props.delay;\n if (delay) {\n _this.setState({ phase: 'DELAY' });\n }\n else {\n _this.setState({ phase: 'ENTER' });\n }\n };\n _this.idle = function () {\n _this.setState({ phase: 'IDLE' });\n };\n _this.exit = function () {\n _this.setState({ phase: 'LEAVE' });\n };\n _this.endListener = function (node, done) {\n var executeCallback = function (event) {\n // ignore animation events on the glyph\n if (event.target.tagName === 'svg') {\n return;\n }\n if (_this.state.phase === 'DELAY') {\n _this.setState({ phase: 'ENTER' });\n _this.endListener(node, done);\n }\n else {\n done();\n }\n return node && node.removeEventListener('animationend', executeCallback);\n };\n // FIX - jest-emotion doesn't recognise the DOM node so it can't add\n // the eventListener in the @atlaskit/button tests.\n // Should be fixed when we move to emotion@10\n if (node && node.addEventListener) {\n return node.addEventListener('animationend', executeCallback);\n }\n return done();\n };\n _this.validateSize = function () {\n var size = _this.props.size;\n var spinnerSize = SIZES_MAP[size] || size;\n return typeof spinnerSize === 'number' ? spinnerSize : DEFAULT_SIZE;\n };\n _this.state = {\n phase: '',\n };\n return _this;\n }\n Spinner.prototype.render = function () {\n var _this = this;\n var phase = this.state.phase;\n var _a = this.props, delay = _a.delay, invertColor = _a.invertColor, isCompleting = _a.isCompleting, testId = _a.testId;\n var size = this.validateSize();\n var strokeWidth = Math.round(size / 10);\n var strokeRadius = size / 2 - strokeWidth / 2;\n return (React.createElement(Outer, null,\n React.createElement(Transition, { addEndListener: this.endListener, appear: true, in: !isCompleting, mountOnEnter: true, unmountOnExit: true, onEnter: this.enter, onEntered: this.idle, onExit: this.exit, onExited: function () { return _this.props.onComplete(); }, timeout: 0, ref: function (node) {\n _this.transitionNode = node;\n } },\n React.createElement(Container, { delay: delay / 1000, phase: phase, size: size, \"data-testid\": testId },\n React.createElement(Svg, { focusable: \"false\", height: size, invertColor: invertColor, phase: phase, size: size, viewBox: \"0 0 \" + size + \" \" + size, width: size, xmlns: \"http://www.w3.org/2000/svg\" },\n React.createElement(\"circle\", { cx: size / 2, cy: size / 2, r: strokeRadius }))))));\n };\n Spinner.defaultProps = {\n delay: 100,\n isCompleting: false,\n invertColor: false,\n onComplete: function () { },\n size: 'medium',\n };\n return Spinner;\n}(Component));\nexport default Spinner;\nvar templateObject_1;\n//# sourceMappingURL=index.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(value, analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { B100, B75, DN10, DN200, DN30, DN40, DN600, DN90, N0, N10, N100, N200, N30, N40, N70, N900 } from '@atlaskit/theme/colors';\nexport const disabledBackgroundColor = {\n light: `var(--ds-background-disabled, ${N10})`,\n dark: `var(--ds-background-disabled, ${DN10})`\n};\nexport const defaultBackgroundColor = {\n light: `var(--ds-background-input, ${N10})`,\n dark: `var(--ds-background-input, ${DN10})`\n};\nexport const defaultBackgroundColorFocus = {\n light: `var(--ds-background-input-pressed, ${N0})`,\n dark: `var(--ds-background-input-pressed, ${DN10})`\n};\nexport const defaultBackgroundColorHover = {\n light: `var(--ds-background-input-hovered, ${N30})`,\n dark: `var(--ds-background-input-hovered, ${DN30})`\n};\nexport const defaultBorderColor = {\n light: `var(--ds-border-input, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? N100 : N40})`,\n dark: `var(--ds-border-input, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? DN200 : DN40})`\n};\nexport const defaultBorderColorFocus = {\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B75})`\n};\nexport const subtleBorderColorHover = {\n light: \"var(--ds-border-input, transparent)\",\n dark: \"var(--ds-border-input, transparent)\"\n};\nexport const transparent = {\n light: 'transparent',\n dark: 'transparent'\n};\nexport const textColor = {\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n};\nexport const disabledTextColor = {\n light: `var(--ds-text-disabled, ${N70})`,\n dark: `var(--ds-text-disabled, ${DN90})`\n};\nexport const placeholderTextColor = {\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n};","import { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { R400 } from '@atlaskit/theme/colors';\nimport { codeFontFamily, fontFamily, fontSize as getFontSize,\n// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports\ngridSize as getGridSize } from '@atlaskit/theme/constants';\nimport * as componentTokens from './component-tokens';\nconst fontSize = getFontSize();\nconst gridSize = getGridSize();\nconst disabledRules = {\n light: {\n backgroundColor: componentTokens.disabledBackgroundColor.light,\n backgroundColorHover: componentTokens.disabledBackgroundColor.light,\n borderColor: componentTokens.disabledBackgroundColor.light,\n textColor: componentTokens.disabledTextColor.light\n },\n dark: {\n backgroundColor: componentTokens.disabledBackgroundColor.dark,\n backgroundColorHover: componentTokens.disabledBackgroundColor.dark,\n borderColor: componentTokens.disabledBackgroundColor.dark,\n textColor: componentTokens.disabledTextColor.dark\n }\n};\nconst invalidRules = {\n light: {\n // ----\n backgroundColor: componentTokens.defaultBackgroundColor.light,\n backgroundColorHover: componentTokens.defaultBackgroundColorHover.light,\n // ^--- the above values aren't used directly they remain because its exposed by the `textFieldColors` export\n backgroundColorFocus: componentTokens.defaultBackgroundColorFocus.light,\n borderColor: `var(--ds-border-danger, ${R400})`,\n borderColorFocus: componentTokens.defaultBorderColorFocus.light\n },\n dark: {\n // ----\n backgroundColor: componentTokens.defaultBackgroundColor.dark,\n backgroundColorHover: componentTokens.defaultBackgroundColorHover.dark,\n // ^--- the above values aren't used directly they remain because its exposed by the `textFieldColors` export\n backgroundColorFocus: componentTokens.defaultBackgroundColorFocus.dark,\n borderColor: `var(--ds-border-danger, ${R400})`,\n borderColorFocus: componentTokens.defaultBorderColorFocus.dark\n }\n};\nconst backgroundColor = {\n standard: componentTokens.defaultBackgroundColor,\n subtle: componentTokens.transparent,\n none: componentTokens.transparent\n};\nconst backgroundColorFocus = {\n standard: componentTokens.defaultBackgroundColorFocus,\n subtle: componentTokens.defaultBackgroundColorFocus,\n none: componentTokens.transparent\n};\nconst backgroundColorHover = {\n standard: componentTokens.defaultBackgroundColorHover,\n subtle: componentTokens.defaultBackgroundColorHover,\n none: componentTokens.transparent\n};\nconst borderColor = {\n standard: componentTokens.defaultBorderColor,\n subtle: componentTokens.transparent,\n none: componentTokens.transparent\n};\nconst borderColorFocus = {\n standard: componentTokens.defaultBorderColorFocus,\n subtle: componentTokens.defaultBorderColorFocus,\n none: componentTokens.transparent\n};\nconst borderColorHover = {\n standard: componentTokens.defaultBorderColor,\n subtle: componentTokens.subtleBorderColorHover,\n none: componentTokens.transparent\n};\nconst getContainerTextBgAndBorderColor = (appearance, mode) => ({\n backgroundColor: backgroundColor[appearance][mode],\n borderColor: borderColor[appearance][mode],\n color: componentTokens.textColor[mode],\n cursor: 'text',\n '&:hover:not([data-disabled])': {\n backgroundColor: backgroundColorHover[appearance][mode],\n borderColor: borderColorHover[appearance][mode]\n },\n '&:focus-within:not([data-disabled])': {\n backgroundColor: backgroundColorFocus[appearance][mode],\n borderColor: borderColorFocus[appearance][mode],\n boxShadow: getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? `inset 0 0 0 1px ${borderColorFocus[appearance][mode]}` : undefined\n },\n '&[data-disabled]': {\n color: disabledRules[mode].textColor,\n cursor: 'not-allowed',\n // Disabled background and border styles should not be applied to components that\n // have either no background or transparent background to begin with\n ...(appearance === 'standard' && {\n backgroundColor: disabledRules[mode].backgroundColor,\n borderColor: disabledRules[mode].borderColor\n })\n },\n '&[data-invalid], &[data-invalid]:hover': {\n borderColor: invalidRules[mode].borderColor,\n boxShadow: getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? `inset 0 0 0 1px ${invalidRules[mode].borderColor}` : undefined\n },\n '&[data-invalid]:focus-within': {\n backgroundColor: invalidRules[mode].backgroundColorFocus,\n borderColor: invalidRules[mode].borderColorFocus,\n boxShadow: getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? `inset 0 0 0 1px ${invalidRules[mode].borderColorFocus}` : undefined\n },\n '@media screen and (-ms-high-contrast: active)': {\n '&[data-invalid]:focus-within': {\n borderColor: 'Highlight'\n },\n '&:focus-within': {\n borderColor: 'Highlight'\n },\n '&[data-disabled]': {\n borderColor: 'GrayText'\n }\n }\n});\nconst widthMap = {\n xsmall: 80,\n small: 160,\n medium: 240,\n large: 320,\n xlarge: 480\n};\nconst getMaxWidth = width => !width ? `100%` : width in widthMap ? widthMap[width] : +width;\nexport const containerStyles = (appearance, mode, width) => ({\n alignItems: 'center',\n ...getContainerTextBgAndBorderColor(appearance, mode),\n borderRadius: 3,\n borderWidth: getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? 1 : 2,\n // add 1px padding on both top and bottom to keep the same overall height after border reduced from 2px to 1px under feature flag\n ...(getBooleanFF('platform.design-system-team.update-border-input_ff9l1') && appearance !== 'none' ? {\n padding: '1px 0'\n } : {}),\n borderStyle: appearance === 'none' ? 'none' : 'solid',\n boxSizing: 'border-box',\n display: 'flex',\n flex: '1 1 100%',\n fontSize,\n justifyContent: 'space-between',\n maxWidth: getMaxWidth(width),\n overflow: 'hidden',\n transition: `background-color 0.2s ease-in-out, border-color 0.2s ease-in-out`,\n wordWrap: 'break-word',\n verticalAlign: 'top',\n pointerEvents: 'auto'\n});\nexport const inputStyles = mode => ({\n backgroundColor: 'transparent',\n border: 0,\n boxSizing: 'border-box',\n color: 'inherit',\n cursor: 'inherit',\n fontSize,\n minWidth: '0',\n outline: 'none',\n width: '100%',\n lineHeight: gridSize * 2.5 / fontSize,\n fontFamily: fontFamily(),\n '&[data-monospaced]': {\n fontFamily: codeFontFamily()\n },\n '&[data-compact]': {\n padding: `${gridSize / 2}px ${gridSize - 2}px`,\n height: `${(gridSize * 3.5 / fontSize).toFixed(2)}em`\n },\n '&:not([data-compact])': {\n padding: `${gridSize}px ${gridSize - 2}px`,\n height: `${(gridSize * 4.5 / fontSize).toFixed(2)}em`\n },\n '&[disabled]': {\n // Safari (WebKit) adds a -webkit-text-fill-color style to disabled inputs\n // which takes priority over color and makes the text unreadable. Need to\n // override it with the color we want.\n WebkitTextFillColor: disabledRules[mode].textColor\n },\n // Hide the clear indicator on Edge (Windows only)\n '&::-ms-clear': {\n display: 'none'\n },\n '&:invalid': {\n boxShadow: 'none'\n },\n '&::placeholder': {\n color: componentTokens.placeholderTextColor[mode],\n '&:disabled': {\n color: disabledRules[mode].textColor\n }\n },\n '@media screen and (-ms-high-contrast: active)': {\n '&[disabled]': {\n color: 'GrayText'\n }\n }\n});\n\n// TODO: Remove when removing legacy theming.\nexport const textFieldColors = {\n backgroundColor,\n backgroundColorFocus,\n backgroundColorHover,\n borderColor,\n borderColorFocus,\n borderColorHover,\n placeholderTextColor: componentTokens.placeholderTextColor,\n textColor: componentTokens.textColor,\n invalidRules,\n disabledRules\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport React, { forwardRef, memo, useCallback, useMemo, useRef } from 'react';\nimport { jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { containerStyles as getContainerStyles, inputStyles as getInputStyles } from './styles';\nconst analyticsParams = {\n componentName: 'textField',\n packageName: \"@atlaskit/textfield\",\n packageVersion: \"5.5.0\"\n};\nconst Textfield = /*#__PURE__*/forwardRef((props, ref) => {\n const {\n appearance = 'standard',\n isCompact = false,\n isDisabled = false,\n isInvalid = false,\n isRequired = false,\n isReadOnly = false,\n isMonospaced = false,\n width,\n elemAfterInput,\n elemBeforeInput,\n testId,\n onFocus,\n onBlur,\n onMouseDown,\n className,\n ...spreadProps\n } = props;\n const inputRef = useRef(null);\n const {\n mode\n } = useGlobalTheme();\n const handleOnFocus = usePlatformLeafEventHandler({\n fn: event => {\n onFocus && onFocus(event);\n },\n action: 'focused',\n ...analyticsParams\n });\n const handleOnBlur = usePlatformLeafEventHandler({\n fn: event => {\n onBlur && onBlur(event);\n },\n action: 'blurred',\n ...analyticsParams\n });\n const handleOnMouseDown = useCallback(event => {\n // Running e.preventDefault() on the INPUT prevents double click behaviour\n // Sadly we needed this cast as the target type is being correctly set\n const target = event.target;\n if (target.tagName !== 'INPUT') {\n event.preventDefault();\n }\n if (inputRef && inputRef.current && !isDisabled && document.activeElement !== inputRef.current) {\n inputRef.current.focus();\n }\n onMouseDown && onMouseDown(event);\n }, [onMouseDown, isDisabled]);\n const setInputRef = useCallback(inputElement => {\n inputRef.current = inputElement;\n if (!ref) {\n return;\n }\n if (typeof ref === 'object') {\n // This is a blunder on the part of @types/react\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/31065\n // .current should be assignable\n // @ts-expect-error\n ref.current = inputElement;\n }\n if (typeof ref === 'function') {\n ref(inputElement);\n }\n }, [ref]);\n const containerStyles = useMemo(() => getContainerStyles(appearance, mode, width), [appearance, mode, width]);\n const inputStyle = useMemo(() => getInputStyles(mode), [mode]);\n return (\n // We use event bubbling here to listen to any child element mouse down event.\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n jsx(\"div\", {\n \"data-disabled\": isDisabled ? isDisabled : undefined,\n \"data-invalid\": isInvalid ? isInvalid : undefined,\n \"data-ds--text-field--container\": true,\n \"data-testid\": testId && `${testId}-container`,\n onMouseDown: handleOnMouseDown\n // TODO: When removing legacy theming fix this.\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: containerStyles,\n className: className\n }, elemBeforeInput, jsx(\"input\", _extends({}, spreadProps, {\n \"data-compact\": isCompact ? isCompact : undefined,\n \"data-monospaced\": isMonospaced ? isMonospaced : undefined,\n \"data-ds--text-field--input\": true,\n \"data-testid\": testId,\n \"aria-invalid\": isInvalid ? isInvalid : undefined,\n disabled: isDisabled,\n readOnly: isReadOnly,\n required: isRequired,\n onBlur: handleOnBlur,\n onFocus: handleOnFocus,\n ref: setInputRef\n // TODO: When removing legacy theming fix this.\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: inputStyle\n })), elemAfterInput)\n );\n});\nTextfield.displayName = 'Textfield';\n\n/**\n * __Textfield__\n *\n * A text field is an input that allows a user to write or edit text.\n *\n * - [Examples](https://atlassian.design/components/textfield/examples)\n * - [Code](https://atlassian.design/components/textfield/code)\n * - [Usage](https://atlassian.design/components/textfield/usage)\n */\nexport default /*#__PURE__*/memo(Textfield);\n// The above generic is used to let ERTC know what props to extract.\n// See: https://github.com/atlassian/extract-react-types/issues/201","import {\n B100,\n B300,\n B400,\n B50,\n G300,\n linkHover,\n N0,\n N20,\n N200,\n N400,\n N500,\n N60,\n N600,\n N700,\n N80,\n N800,\n N90,\n N900,\n R400\n} from '@atlaskit/theme/colors';\nimport { TooltipPrimitive } from '@atlaskit/tooltip';\nimport styled from '@emotion/styled';\nimport React from 'react';\n\nconst text =\n \"Charlie Text, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nconst display =\n \"Charlie Display, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nconst product =\n \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nconst WacSignupFormContainer = styled.form`\n box-sizing: border-box;\n font-family: ${text};\n font-weight: 500;\n max-width: 400px;\n * {\n box-sizing: border-box;\n }\n`;\nconst ResendEmailContainer = styled.div`\n box-sizing: border-box;\n font-family: ${text};\n font-weight: 500;\n max-width: 536px;\n min-height: 564px;\n margin: 0 auto;\n * {\n box-sizing: border-box;\n }\n`;\n\nconst StyledPassword = styled.div`\n opacity: ${(props) => {\n if (props.isDisabled && props.fadeOnDisable) {\n return 0.4;\n }\n return 1;\n }};\n div {\n div:nth-child(2) {\n padding: 4px;\n }\n }\n`;\n\nconst FieldContainer = styled.div`\n position: relative;\n margin-bottom: 16px;\n`;\n\ninterface FieldErrorStateProps {\n showError: boolean;\n}\nconst FieldErrorState = styled.div`\n padding: 0;\n background-color: ${(props) => {\n if (props.showError) {\n return R400;\n } else {\n return 'transparent';\n }\n }};\n border-radius: 3px;\n`;\n\nconst FullNameFieldWrapper = styled.div`\n position: relative;\n margin-bottom: 16px;\n`;\n\nconst TwoColumnFieldGroup = styled.div`\n display: grid;\n grid-template-columns: 1fr 1fr;\n grid-column-gap: 16px;\n`;\n\ninterface NameProps {\n isValid: boolean;\n val: string;\n isDisabled?: boolean;\n fadeOnDisable?: boolean;\n outlineOnFocus?: boolean;\n isFocused?: boolean;\n}\nconst NameFieldGroup = styled.div`\n transition: all 0.1s linear 0s;\n opacity: ${(props) => {\n if (props.isDisabled && props.fadeOnDisable) {\n return 0.4;\n }\n return 1;\n }};\n > div {\n border-color: ${(props) => {\n if (props.isDisabled) {\n return `${N60} !important`;\n }\n if (props.isValid && props.val.length > 0) {\n return '#36b37e';\n } else if (!props.isValid) {\n return R400;\n }\n if (props.outlineOnFocus && props.isFocused) {\n return `${B100}`;\n }\n return N60;\n }};\n background: ${N0} !important;\n }\n`;\n\nconst Input = styled.input`\n border: 2px solid ${N60};\n border-radius: 4px;\n color: ${N700};\n display: inline-block;\n font-size: 1rem;\n outline: none;\n padding: 8px;\n width: 100%;\n &.field-error {\n border-color: ${R400};\n }\n`;\n\nexport const InfoIcon = styled.div`\n height: 24px;\n svg {\n margin: 0;\n }\n div {\n display: none;\n }\n :hover {\n div {\n display: block;\n }\n }\n`;\n\nconst Label = styled.label`\n transition: all 0.1s linear 0s;\n opacity: ${(props) => {\n if (props.isDisabled && props.fadeOnDisable) {\n return 0.4;\n }\n return 1;\n }};\n span {\n color: ${N500};\n display: inline-block;\n font-size: 0.875rem;\n font-weight: 500;\n margin-bottom: 5px;\n line-height: normal;\n ::after {\n color: ${R400};\n content: '*';\n display: inline-block;\n padding-left: 4px;\n\n .no-asterisks & {\n content: '';\n }\n }\n }\n display: flex;\n`;\n\nconst LabelDefaultExpandedEmail = styled.label`\n transition: all 0.1s linear 0s;\n opacity: ${(props) => {\n if (props.isDisabled && props.fadeOnDisable) {\n return 0.4;\n }\n return 1;\n }};\n span {\n color: ${N500};\n display: inline-block;\n font-size: 0.875rem;\n font-weight: 500;\n margin-bottom: 4px;\n line-height: normal;\n ::after {\n color: ${R400};\n content: '*';\n display: inline-block;\n padding-left: 5px;\n\n .no-asterisks & {\n content: '';\n }\n }\n }\n display: flex;\n`;\n\nconst ChooseSignupLabel = styled.label`\n transition: all 0.1s linear 0s;\n opacity: ${(props) => {\n if (props.isDisabled && props.fadeOnDisable) {\n return 0.4;\n }\n return 1;\n }};\n span {\n color: ${N800};\n display: inline-block;\n font-size: 12px;\n font-weight: 400;\n margin-bottom: 4px;\n line-height: 18px;\n ::after {\n color: ${R400};\n content: '*';\n display: inline-block;\n padding-left: 5px;\n\n .no-asterisks & {\n content: '';\n }\n }\n }\n display: flex;\n`;\n\nconst InputDescription = styled.div`\n color: ${N500};\n font-weight: 400;\n font-size: 12px;\n margin: 3px 0px;\n`;\n\nconst DropdownTrigger = styled.div`\n font-family: ${text};\n text-align: left;\n font-size: 14px;\n span: {\n fontsize: '14px';\n }\n`;\n\n// Atlaskit dropdown button theme prop\nconst DropdownButtonStyle = {\n width: '100%',\n background: N0,\n appearance: 'none',\n cursor: 'pointer',\n fontSize: '14px',\n color: text,\n paddingTop: '6px',\n paddingBottom: '6px',\n borderColor: N60,\n borderRadius: '3px',\n borderWidth: '2px',\n borderStyle: 'solid'\n};\n\nconst JswTrialNotice = styled.div`\n font-size: 12px;\n font-weight: 400;\n color: ${text};\n margin: 6px 0 4px;\n\n span {\n min-width: 28px;\n vertical-align: middle;\n }\n`;\n\nconst DropdownButtonStyleOpen = {\n background: N20,\n borderColor: B100\n};\n\nconst SiteNameAfter = styled.div`\n padding-right: 8px;\n display: flex;\n font-size: 16px;\n align-items: center;\n justify-content: flex-end;\n width: auto;\n color: #7a869a;\n font-weight: 400;\n svg {\n margin-bottom: 0px;\n }\n span {\n display: flex;\n align-items: center;\n min-width: 24px;\n }\n`;\nconst SiteNameAfterRadioList = styled.div`\n padding-right: 8px;\n display: flex;\n font-size: 14px;\n align-items: center;\n justify-content: flex-start;\n width: auto;\n color: #7a869a;\n svg {\n margin-bottom: 0px;\n }\n span {\n display: flex;\n align-items: center;\n }\n`;\nconst SiteNameAfterLabel = styled.span`\n font-size: 14px !important;\n white-space: nowrap;\n padding-right: 8px;\n`;\n\nconst EmailAfter = styled.div`\n padding-right: 8px;\n display: flex;\n font-size: 16px;\n align-items: center;\n svg {\n margin-bottom: 0px;\n }\n`;\ninterface SharedProps {\n readonly isValid?: boolean;\n readonly textInput?: string;\n readonly hasAccount?: boolean;\n readonly isEmpty?: boolean;\n readonly isFocused?: boolean;\n readonly isDisabled?: boolean;\n readonly popOverError?: boolean; // popover error style type\n readonly outlineOnFocus?: boolean; // blue outline on focus\n readonly fadeOnDisable?: boolean; // fade entire field if disabled\n readonly children?: React.ReactNode;\n readonly className?: string;\n readonly onClick?: (event: any) => void;\n}\n\nconst SuccessTextfieldWrapper = styled.div`\n .errorMessage {\n background-color: white !important;\n }\n #site-field {\n padding-right: 0px;\n }\n > div {\n transition: all 0.1s linear 0s;\n max-height: 40px;\n opacity: ${(props) => {\n if (props.isDisabled && props.fadeOnDisable) {\n return 0.4;\n }\n return 1;\n }};\n background: ${N0};\n background: ${(props) => {\n if (props.hasAccount) {\n return `${N20} !important;`;\n }\n return `${N0};`;\n }};\n border-color: ${(props) => {\n if (props.isEmpty || props.hasAccount || props.isDisabled) {\n if (props.outlineOnFocus && props.isFocused) {\n return `${B100} !important`; // blue\n }\n return `${N60} !important`; // dark-grey\n }\n if (props.isValid) {\n return `${G300} !important`; // green\n }\n return `${R400} !important`; // red\n }};\n }\n > input {\n background: ${(props) => {\n if (props.hasAccount) {\n return '#F4F5F7';\n }\n return '#FFFFFF';\n }};\n }\n`;\n\nconst ChooseSignupSuccessTextfieldWrapper = styled.div`\n .errorMessage {\n background-color: white !important;\n }\n #site-field {\n padding-right: 0px;\n }\n > div {\n transition: all 0.1s linear 0s;\n max-height: 40px;\n opacity: ${(props) => {\n if (props.isDisabled && props.fadeOnDisable) {\n return 0.4;\n }\n return 1;\n }};\n background: ${N0};\n background: ${(props) => {\n if (props.hasAccount) {\n return `${N20} !important;`;\n }\n return `${N0};`;\n }};\n border-color: ${(props) => {\n if (props.isValid) {\n return `${G300} !important`; // green\n }\n if (props.isFocused || props.hasAccount || props.isDisabled) {\n if (props.outlineOnFocus) {\n return `${B100} !important`; // blue\n }\n return `${N60} !important`; // dark-grey\n }\n return `${R400} !important`; // red\n }};\n }\n > input {\n background: ${(props) => {\n if (props.hasAccount) {\n return '#F4F5F7';\n }\n return '#FFFFFF';\n }};\n }\n`;\n\nconst ErrorTextfieldWrapper = styled.div`\n > div {\n border-color: ${R400}!important;\n }\n`;\n\nconst CompoundField = styled.div`\n transition: all 0.1s linear 0s;\n display: grid;\n grid-template-columns: max-content 1fr;\n margin-bottom: 5px;\n border-radius: 3px 0 0 3px;\n opacity: ${(props) => {\n if (props.isDisabled && props.fadeOnDisable) {\n return 0.4;\n }\n return 1;\n }};\n > div {\n > div {\n transition: all 0.1s linear 0s;\n border-right: none;\n border-radius: 3px 0 0 3px;\n background: ${N0} !important;\n border-color: ${(props) => {\n if (props.isEmpty || props.isDisabled) {\n if (props.outlineOnFocus && props.isFocused) {\n return `${B100} !important`;\n }\n return `${N60} !important`;\n }\n if (props.isValid) {\n return `${G300} !important`;\n }\n return `${R400}`;\n }};\n }\n }\n\n > label {\n > span {\n margin: 0;\n }\n }\n\n .domain-name-tooltip-trigger {\n border-color: ${B400};\n border-right: 1px solid;\n border-radius: 3px;\n }\n .domain-name-tooltip-trigger-devops {\n background: ${N0};\n border-color: ${N0};\n box-shadow: 0px 3px 5px rgba(9, 30, 66, 0.2),\n 0px 0px 1px rgba(9, 30, 66, 0.31);\n border-radius: 3px;\n }\n`;\n\nexport const PasswordCompoundField = styled(CompoundField)`\n display: flex;\n .full-width {\n width: 100%;\n }\n`;\n\nconst CompoundInput = styled(Input)`\n @supports (display: grid) {\n border-radius: 4px 0 0 4px;\n border-right: none;\n margin: 0;\n min-height: 40px;\n padding-right: 0;\n }\n`;\n\nconst CompoundInputSegment = styled.div`\n @supports (display: grid) {\n transition: all 0.1s linear 0s;\n border: 2px solid ${N60};\n border-radius: 0 4px 4px 0;\n border-color: ${(props) => {\n if (props.isEmpty || props.isDisabled) {\n if (props.outlineOnFocus && props.isFocused) {\n return `${B100} !important`;\n }\n return `${N60} !important`;\n }\n if (props.isValid) {\n return `${G300} !important`;\n }\n return `${R400} !important`;\n }};\n border-left: none;\n display: flex;\n align-items: center;\n height: 100%;\n padding: 4px 8px;\n &.field-error {\n border-color: ${R400};\n }\n }\n`;\n\nconst ErrorMessage = styled.div`\n color: ${R400};\n font-weight: 400;\n margin: 6px 0;\n font-size: 12px;\n line-height: 12px;\n\n a {\n text-decoration: none;\n color: ${B400};\n\n &:hover {\n text-decoration: underline;\n color: ${B300};\n }\n }\n\n ${(props) =>\n props.popOverError &&\n `\n position: absolute;\n display: ${props.isDisabled && props.fadeOnDisable ? 'none' : 'grid'};\n justify-items: center;\n align-items: start;\n width: 100%;\n margin: 0;\n z-index: 9;\n color: ${N900};\n background: transparent !important;\n\n span {\n padding: 7px;\n background: white;\n box-shadow: 0px 0px 1px rgba(9, 30, 66, 0.31), 0px 3px 5px rgba(9, 30, 66, 0.2);\n border-radius: 3px;\n margin-top: 2px;\n max-width: 90%;\n line-height: 1.2em;\n }\n `}\n`;\n\nfunction ErrorMessageWithDefaultClassName({\n className,\n ...props\n}: SharedProps) {\n return (\n \n {props.children}\n \n );\n}\n\nexport const RadioGroupWrapper = styled.div`\n line-height: 1;\n margin-bottom: 12px;\n\n svg {\n margin: 0;\n }\n`;\n\nexport const RadioGroupSpacedWrapper = styled.div`\n line-height: 1;\n margin-top: 12px;\n margin-bottom: 12px;\n\n svg {\n margin: 0;\n }\n`;\n\nexport const RadioWrapper = styled.div`\n display: flex;\n & label {\n flex-direction: row;\n align-items: center;\n }\n`;\n\nconst InfoMessage = styled.div`\n color: ${N700};\n font-size: 0.875rem;\n font-weight: 400;\n margin-top: 6px;\n`;\n\nconst Cursor = styled.div`\n cursor: ${(props) =>\n props.isDisabled && props.fadeOnDisable ? 'not-allowed' : 'pointer'};\n display: flex;\n align-items: center;\n margin-top: 0;\n @supports (display: grid) {\n display: flex;\n align-items: center;\n }\n`;\n\nconst SvgContainer = styled.div`\n svg {\n display: block;\n margin-bottom: 0;\n }\n`;\n\nconst AttentionContainer = styled.div`\n width: 0;\n height: 0;\n left: -29px;\n position: relative;\n top: 6px;\n svg {\n display: block;\n margin-bottom: 0;\n }\n`;\n\nconst Domain = styled.div`\n color: ${N80};\n font-family: ${display};\n font-size: 1rem;\n letter-spacing: 1px;\n`;\n\nconst ToolTipContainer = styled.div`\n position: relative;\n display: none;\n @supports (display: grid) {\n display: block;\n }\n`;\n\nconst ToolTipText = styled.div`\n background: ${N0};\n border: 1px solid ${B400};\n border-radius: 2px;\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);\n color: ${N800};\n font-family: ${text};\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.42857143;\n padding: 12px;\n position: absolute;\n left: 6px;\n top: 25px;\n width: 298px;\n`;\n\nconst DomainToolTip = styled.div`\n cursor: pointer;\n margin: 0 6px;\n svg {\n height: 18px;\n width: 18px;\n }\n`;\n\nconst AppRegionContainer = styled.div`\n color: ${N700};\n display: grid;\n grid-template-columns: min-content min-content;\n grid-column-gap: 16px;\n margin-bottom: 24px;\n div {\n display: grid;\n grid-template-columns: min-content min-content;\n grid-column-gap: 8px;\n }\n`;\n\nconst CheckboxContainer = styled.div`\n color: ${N700};\n display: grid;\n grid-template-columns: min-content 1fr;\n grid-column-gap: 8px;\n font-size: 0.875rem;\n margin-bottom: 16px;\n &.hidden {\n grid-template-columns: 1fr;\n .checkbox {\n display: none;\n }\n }\n .full-width {\n grid-column: 1 / 3;\n }\n p {\n font-size: 0.875rem;\n line-height: 1.25;\n margin: 0;\n }\n`;\n\nconst SmallPrint = styled.div`\n color: ${N500};\n font-size: 0.75rem;\n margin-bottom: 16px;\n &.compact {\n margin-bottom: 4px;\n }\n p {\n font-size: 0.75rem;\n line-height: 1.25;\n margin: 0;\n }\n`;\nconst ButtonSpinner = styled.div`\n display: inline-block;\n margin-right: 12px;\n margin-left: -28px;\n`;\n\nconst Button = styled.button`\n border: none;\n border-radius: 3px;\n background-color: ${B400};\n color: ${N0};\n cursor: pointer;\n font-size: 1rem;\n font-weight: 500;\n font-family: ${text};\n min-height: 40px;\n width: 100%;\n &:hover {\n background: ${B300};\n }\n &:active {\n background-color: #0047b3;\n }\n &[disabled] {\n cursor: not-allowed;\n background-color: #0047b3;\n }\n`;\n\nconst CapsPrint = styled.div`\n color: ${N500};\n font-size: 0.875rem;\n margin-bottom: 16px;\n margin-top: 8px;\n text-align: center;\n text-transform: uppercase;\n @media (min-width: 540px) {\n margin-top: 16px;\n }\n`;\n\nconst CaptchaContainer = styled.div`\n margin-bottom: 16px;\n`;\n\ninterface WelcomDivProps {\n readonly headerStyle?: boolean;\n}\n\nconst WelcomeDiv = styled.div`\n font-size: 1.25rem;\n line-height: 1.2;\n margin-bottom: 30px;\n letter-spacing: 0.3px;\n font-family: ${display};\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n font-weight: 500;\n\n ${(props) =>\n props.headerStyle &&\n `\n color: ${N600};\n text-align: center;\n font-size: 32px;\n line-height: 40px;\n\n @media only screen and (max-width: 769px) {\n font-size: 28px;\n text-align: left;\n }\n `}\n`;\n\nexport const WelcomeDivDevops = styled.div`\n max-width: 300px;\n margin: 0 auto;\n text-align: center;\n`;\n\nexport const StyledInfoBoxWrapper = styled.div`\n margin: 12px auto 26px;\n`;\n\nconst InfoBoxContainer = styled.div`\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background-color: ${B50};\n padding: 12px 16px;\n border-radius: 3px;\n margin-bottom: 12px;\n`;\n\ninterface InfoBoxContentProps {\n readonly fontSize?: string;\n}\n\nconst InfoBoxContent = styled.div`\n width: 93%;\n\n .title {\n font-weight: 500;\n }\n\n p {\n font-size: ${({ fontSize }) => {\n if (fontSize) {\n return fontSize;\n } else {\n return '12px';\n }\n }};\n font-weight: 400;\n line-height: 17px;\n margin: 0 0 12px 0;\n color: ${text};\n\n &.link {\n display: inline-block;\n color: ${B400};\n cursor: pointer;\n\n &:hover {\n color: ${linkHover};\n }\n }\n\n &:last-child {\n margin: 0;\n }\n }\n`;\n\nconst ModalContents = styled.div`\n position: relative;\n font-family: ${text};\n font-size: 14px;\n color: ${text};\n padding: 18px 0;\n\n .message {\n padding-right: 24px;\n line-height: 22px;\n }\n\n a {\n color: ${text};\n text-decoration: none;\n font-weight: 500;\n\n &:focus {\n outline: none;\n }\n }\n\n .exit {\n position: absolute;\n top: 8px;\n right: -12px;\n cursor: pointer;\n }\n`;\n\nconst ReCaptchaEula = styled.div`\n margin-top: 40px;\n font-size: 12px;\n color: ${N200};\n line-height: 16px;\n text-align: center;\n > * {\n margin-block-start: 0;\n > a {\n color: ${N200};\n text-decoration: underline;\n }\n }\n}\n`;\n\nconst ReCaptchaEulaDefaultExpandedEmail = styled.div`\n margin-top: 32px;\n margin-bottom: 8px;\n font-size: 12px;\n color: ${N200};\n line-height: 16px;\n text-align: center;\n font-weight: 400;\n > * {\n margin-block-start: 0;\n > a {\n color: ${N200};\n text-decoration: underline;\n }\n }\n}\n`;\n\nconst ReCaptchaEulaChooseSignup = styled.div`\n position: absolute;\n bottom: 60px;\n font-size: 12px;\n color: ${N800};\n line-height: 18px;\n text-align: center;\n font-weight: 400;\n width: 320px;\n font-family: Charlie Text;\n > * {\n margin-block-start: 0;\n > a {\n color: ${B400};\n text-decoration: underline;\n }\n }\n @media only screen and (max-width: 768px) {\n position: relative;\n }\n @media only screen and (max-height: 918px) {\n position: unset;\n }\n}\n`;\n\nconst Eula = styled.div`\n font-size: 12px;\n line-height: 16px;\n color: ${N200};\n vertical-align: middle;\n padding: 0 0 5px 0;\n font-family: ${text};\n font-weight: 400;\n\n a {\n color: ${B400};\n text-decoration: none;\n cursor: pointer;\n }\n\n p {\n font-size: 12px;\n line-height: 16px;\n margin-bottom: 24px;\n margin-top: 0;\n\n &.eula-compass {\n p {\n display: inline;\n }\n }\n }\n\n div {\n display: inline;\n }\n\n .tooltip {\n color: ${B400};\n cursor: pointer;\n }\n`;\n\nconst EulaDefaultExpandedEmail = styled.div`\n font-size: 12px;\n line-height: 16px;\n color: ${N200};\n vertical-align: middle;\n padding: 0;\n font-family: ${text};\n font-weight: 400;\n\n a {\n color: ${B400};\n text-decoration: none;\n cursor: pointer;\n }\n\n p {\n font-size: 12px;\n line-height: 16px;\n margin-bottom: 16px;\n margin-top: 0;\n\n &.eula-compass {\n p {\n display: inline;\n }\n }\n }\n\n div {\n display: inline;\n }\n\n .tooltip {\n color: ${B400};\n cursor: pointer;\n }\n`;\n\nconst EulaChooseSignup = styled.div`\n font-size: 12px;\n line-height: 18px;\n color: ${N400};\n vertical-align: middle;\n padding: 0;\n font-family: ${text};\n font-weight: 400;\n margin-bottom: 8px;\n margin-top: 40px;\n\n a {\n color: ${B400};\n text-decoration: none;\n cursor: pointer;\n }\n\n p {\n font-size: 12px;\n line-height: 18px;\n margin-bottom: 0px !important;\n\n &.eula-compass {\n p {\n display: inline;\n }\n }\n }\n\n div {\n display: inline;\n }\n\n .tooltip {\n color: ${B400};\n cursor: pointer;\n }\n`;\n\nexport const RequiredFieldMessage = styled.div`\n font-size: 12px;\n line-height: 16px;\n color: #6c798f;\n vertical-align: middle;\n padding: 0 0 5px 0;\n font-family: ${text};\n font-weight: 400;\n`;\n\nexport const UnderLabelMessage = styled.div`\n font-size: 12px;\n line-height: 16px;\n color: ${N800};\n vertical-align: middle;\n padding: 0 0 8px 0;\n font-family: ${text};\n font-weight: 400;\n`;\n\nconst TooltipDialog = styled(TooltipPrimitive)`\n font-family: ${text};\n box-sizing: content-box;\n border-radius: 4px;\n padding: 8px 12px;\n max-width: 330px;\n background: #0e0e0e;\n color: ${N0};\n font-size: 14px;\n font-weight: 500;\n\n p {\n margin: 0;\n }\n\n @media only screen and (max-width: 375px) {\n max-width: 300px;\n }\n`;\nconst SigninWithDiffAccount = styled.div`\n font-size: 12px;\n line-height: 16px;\n color: #6c798f;\n vertical-align: middle;\n padding: 5px 0;\n font-family: ${text};\n font-weight: 500;\n > * {\n > * {\n margin-block-start: 0;\n margin-bottom: 0px;\n > a {\n color: ${B400};\n text-decoration: none;\n }\n }\n }\n`;\n\nconst SitePickerToggle = styled.span`\n display: block;\n font-size: 12px;\n line-height: 16px;\n color: ${B400};\n vertical-align: middle;\n padding: 5px 0;\n margin: 0 0 0 0;\n font-family: ${text};\n font-weight: 500;\n cursor: pointer;\n`;\n\nconst NoCard = styled.div`\n margin-top: 15px;\n font-weight: 500;\n margin-bottom: 0;\n text-align: center;\n font-size: 0.875rem;\n letter-spacing: 1px;\n line-height: 1.25;\n font-family: ${display};\n font-style: normal;\n`;\n\nconst NoCardDefaultExpandedEmail = styled.div`\n margin-top: 32px;\n font-weight: 500;\n margin-bottom: 0;\n text-align: center;\n font-size: 0.875rem;\n letter-spacing: 1px;\n line-height: 1.25;\n font-family: ${display};\n font-style: normal;\n`;\n\nconst NoCardChooseSignup = styled.div`\n font-weight: 600;\n margin-bottom: 8px;\n text-align: center;\n font-size: 0.8rem;\n letter-spacing: 1px;\n line-height: 18px;\n font-family: ${display};\n font-style: normal;\n color: ${N90};\n`;\n\nconst MarketingConsent = styled.div`\n > label {\n > span {\n border: none !important;\n padding: 0 !important;\n border-radius: 3px;\n margin-bottom: 12px;\n line-height: 20px;\n font-size: 100%;\n vertical-align: baseline;\n font-family: ${display};\n font-style: normal;\n font-size: 13px;\n letter-spacing: 0.3px;\n }\n }\n`;\n\nconst DeveloperModeDiv = styled.div`\n font-family: ${display};\n font-style: normal;\n border: 1px solid ${N60};\n color: #6c798f;\n border-radius: 6px;\n margin: 20px 0;\n padding: 16px 30px 16px 38px;\n font-size: 14px;\n position: relative;\n h4 {\n font-style: inherit;\n font-family: inherit;\n color: #6c798f;\n font-size: 14px;\n line-height: 20px;\n font-weight: 500;\n }\n p {\n color: inherit;\n font-size: inherit;\n line-height: 20px;\n font-weight: normal;\n font-family: inherit;\n font-style: inherit;\n margin-bottom: 0;\n }\n ul {\n list-style-type: disc;\n margin-bottom: 8px;\n padding-left: 20px;\n }\n`;\nconst MigrationSourceDiv = styled.div`\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n vertical-align: baseline;\n font-family: ${text}\n font-style: normal;\n span {\n > div {\n font-size: 1.25rem;\n line-height: 1.2;\n margin-bottom: 24px;\n font-weight: 500;\n font-family: inherit;\n font-style: inherit;\n }\n > p {\n font-size: 1rem;\n line-height: 24px;\n margin-bottom: 24px;\n font-family: inherit;\n font-style: inherit;\n font-weight: normal;\n > a {\n color: ${B400};\n text-decoration: none;\n vertical-align: baseline;\n font-family: inherit;\n font-style: inherit;\n font-weight: inherit;\n }\n }\n }\n`;\n\nconst SitePickerTextfieldWrapper = styled.div`\n > div {\n max-height: 40px;\n background: ${N20} !important;\n border-color: ${N60} !important;\n }\n\n svg {\n margin-bottom: 0;\n }\n`;\n\nconst BitbucketAccountCheckbox = styled.div`\n font-size: 12px;\n font-weight: 400;\n color: ${text};\n max-width: 390px;\n margin-top: 4px;\n`;\n\nconst RadioLabel = styled.div`\n display: flex;\n font-weight: 400;\n font-size: 14px;\n line-height: 18px;\n flex-direction: column;\n color: ${N900};\n font-family: ${text}\n font-style: normal;\n`;\n\nconst DevopsCarouselRadioGroup = styled.div`\n margin-top: 27px;\n label {\n margin-bottom: 15px;\n font-size: 14px;\n line-height: 24px;\n color: ${N800};\n font-family: ${text}\n font-style: normal;\n }\n`;\nconst DevopsCarouselWorkspaces = styled.div`\n width: 204px;\n`;\nconst DevopsCarouselSites = styled.div`\n width: 204px;\n`;\n\nexport {\n text,\n display,\n product,\n WacSignupFormContainer,\n StyledPassword,\n FieldContainer,\n FieldErrorState,\n FullNameFieldWrapper,\n TwoColumnFieldGroup,\n NameFieldGroup,\n Input,\n Label,\n LabelDefaultExpandedEmail,\n ChooseSignupLabel,\n InputDescription,\n DropdownTrigger,\n DropdownButtonStyle,\n JswTrialNotice,\n DropdownButtonStyleOpen,\n SiteNameAfter,\n SiteNameAfterRadioList,\n SiteNameAfterLabel,\n EmailAfter,\n SuccessTextfieldWrapper,\n ChooseSignupSuccessTextfieldWrapper,\n ErrorTextfieldWrapper,\n CompoundField,\n CompoundInput,\n CompoundInputSegment,\n ErrorMessage,\n ErrorMessageWithDefaultClassName,\n InfoMessage,\n Cursor,\n SvgContainer,\n AttentionContainer,\n Domain,\n ToolTipContainer,\n ToolTipText,\n DomainToolTip,\n AppRegionContainer,\n CheckboxContainer,\n SmallPrint,\n ButtonSpinner,\n Button,\n CapsPrint,\n CaptchaContainer,\n WelcomeDiv,\n InfoBoxContainer,\n InfoBoxContent,\n ModalContents,\n ReCaptchaEula,\n ReCaptchaEulaDefaultExpandedEmail,\n ReCaptchaEulaChooseSignup,\n Eula,\n EulaDefaultExpandedEmail,\n EulaChooseSignup,\n SigninWithDiffAccount,\n SitePickerToggle,\n NoCard,\n NoCardDefaultExpandedEmail,\n NoCardChooseSignup,\n MarketingConsent,\n DeveloperModeDiv,\n MigrationSourceDiv,\n SitePickerTextfieldWrapper,\n BitbucketAccountCheckbox,\n RadioLabel,\n ResendEmailContainer,\n DevopsCarouselRadioGroup,\n DevopsCarouselWorkspaces,\n DevopsCarouselSites,\n TooltipDialog\n};\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport CheckCircleOutlineIcon from '@atlaskit/icon/glyph/check-circle-outline';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport Spinner from '@atlaskit/spinner';\nimport Textfield from '@atlaskit/textfield';\nimport {\n MarieSchemaAnalytics,\n SanitizedFormattedHtmlMessage\n} from '@atlassiansox/bxpkit-core';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport {\n useAuthenticationMethodsCheck,\n useCutSignUpStepsInHalfForPaid,\n useDebounce,\n useEmailValidation\n} from '../../../../../hook';\nimport {\n getTranslatableError,\n messages\n} from '../../../../../messages/sign-up-form';\nimport { EmailFieldPropsType } from '../../../../../model/email-field';\nimport { useAppSelector } from '../../../../../redux';\nimport { isUserInChooseSignupVariants } from '../../utility';\nimport {\n EmailAfter,\n ErrorMessageWithDefaultClassName,\n FieldContainer,\n Label,\n LabelDefaultExpandedEmail,\n ChooseSignupLabel,\n SigninWithDiffAccount,\n ChooseSignupSuccessTextfieldWrapper,\n SuccessTextfieldWrapper\n} from './styled';\n\nexport function EmailField({\n onEmailChange,\n initialEmail,\n signInAccountUrl,\n switchAccountUrl,\n originAnalyticsAttributes,\n analyticsTrack,\n wacEnvUrl,\n isStaging,\n isDisabled,\n outlineOnFocus,\n fadeOnDisable,\n popOverError,\n showWarningIcon,\n onSSOCheckValid,\n isDeferredSiteNameEnabled,\n isFocusedChooseSignup,\n setIsFocusedChooseSignup,\n showError,\n setShowError\n}: EmailFieldPropsType) {\n const { enableDefaultExpandedEmail, enableChooseSignup } = useAppSelector(\n (state) => state.featureFlags\n );\n\n const isUserEnrolledInChooseSignupExperimentVariants =\n isUserInChooseSignupVariants(enableChooseSignup);\n const isCutSignUpStepsInHalfEnabled = useCutSignUpStepsInHalfForPaid();\n\n const { segment } = analyticsTrack;\n const baseUrl = `${wacEnvUrl}${isStaging ? '/apis/stg' : ''}/hamlet`;\n const hasInitialEmail = (initialEmail && initialEmail !== '') || false;\n const [alreadySentValid, setAlreadySentValid] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const [email, setEmail] = useState(initialEmail ? initialEmail : '');\n\n const { setUserEmail } = useContext(MarieSchemaAnalytics);\n const { isValid, message, isValidating } = useEmailValidation({\n email: useDebounce(email, 125),\n baseUrl,\n hasInitialEmail,\n isUserEnrolledInChooseSignupExperimentVariants\n });\n\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n const emailExistsOrSSOAnalytics = () => {\n createAnalyticsEvent({\n eventName: 'wac-signup-existing-user-signin',\n eventComponent: 'button',\n event: 'clicked'\n }).fire();\n };\n\n const { ssoRedirectUrl, isCheckingSSO } = useAuthenticationMethodsCheck({\n email: useDebounce(email, 125),\n allowAuthenticationsMethodCheck: isValid && !hasInitialEmail\n });\n\n const removeSpaces = (str: string) => {\n return str.replace(/\\s/g, '');\n };\n\n const buildErrorMessage = (ssoRedirectUrl: string): JSX.Element => {\n if (ssoRedirectUrl === 'error') {\n return (\n \n );\n } else if (ssoRedirectUrl === 'exists') {\n return (\n \n );\n } else {\n return (\n \n );\n }\n };\n\n if (!isValid && message) {\n // TODO: tracking and analytics, bxp.formCloudSignup.emailValidationFailure\n }\n const handleSignInUserAccount = (event: any) => {\n if (!event.target || !event.target.href) {\n return;\n }\n\n event.preventDefault();\n if (signInAccountUrl) {\n const signInOriginAttributes = originAnalyticsAttributes.signInUser || {};\n segment('wac-signup-existing-user-signin', signInOriginAttributes);\n\n window.location.assign(signInAccountUrl);\n } else {\n segment('wac-signup-existing-user-signin-error', {});\n }\n };\n\n const handleSwitchUserAccount = (event: any) => {\n if (!event.target || !event.target.href) {\n return;\n }\n\n event.preventDefault();\n if (switchAccountUrl) {\n const switchUserOriginAttributes =\n originAnalyticsAttributes.switchUser || {};\n segment('wac-signup-existing-user-switch', switchUserOriginAttributes);\n\n window.location.assign(switchAccountUrl);\n } else {\n segment('wac-signup-existing-user-switch-error', {});\n }\n };\n\n useEffect(() => {\n if (ssoRedirectUrl || isCheckingSSO) {\n onSSOCheckValid(true);\n } else {\n onSSOCheckValid(false);\n }\n }, [ssoRedirectUrl, isCheckingSSO]);\n\n useEffect(() => {\n !isValidating && !!isValid ? onEmailChange(email) : onEmailChange('');\n\n if (!isValidating && !!isValid && !alreadySentValid) {\n // marie schema hash email for context\n setUserEmail(email);\n setShowError(true);\n //\n setAlreadySentValid(true);\n }\n }, [email, isValid]);\n\n return (\n \n {enableDefaultExpandedEmail ? (\n \n \n \n ) : isUserEnrolledInChooseSignupExperimentVariants ? (\n \n \n \n ) : (\n \n )}\n {isUserEnrolledInChooseSignupExperimentVariants ? (\n \n {\n setIsFocusedChooseSignup(true);\n setShowError(false);\n }}\n onBlur={() => {\n setIsFocusedChooseSignup(false);\n setShowError(true);\n }}\n onChange={(event: any) => {\n setEmail(removeSpaces(event.currentTarget.value));\n }}\n elemAfterInput={\n \n {!isCheckingSSO &&\n !ssoRedirectUrl &&\n initialEmail === '' &&\n isValid ? (\n \n ) : (isValid === false &&\n showError &&\n !isFocusedChooseSignup) ||\n ssoRedirectUrl ? (\n showWarningIcon && (\n \n )\n ) : isValidating || isCheckingSSO ? (\n \n ) : null}\n \n }\n />\n {message && showError && !isFocusedChooseSignup && (\n \n \n \n )}\n\n {isValid && !isCheckingSSO && ssoRedirectUrl && (\n
    \n \n {buildErrorMessage(ssoRedirectUrl)}\n \n
    \n )}\n \n ) : (\n \n setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n onChange={(event: any) => {\n setEmail(removeSpaces(event.currentTarget.value));\n }}\n elemAfterInput={\n \n {!isCheckingSSO &&\n !ssoRedirectUrl &&\n initialEmail === '' &&\n isValid ? (\n \n ) : (isValid === false && email !== '') || ssoRedirectUrl ? (\n showWarningIcon && (\n \n )\n ) : isValidating || isCheckingSSO ? (\n \n ) : null}\n \n }\n />\n {message && (\n \n \n \n )}\n\n {isValid && !isCheckingSSO && ssoRedirectUrl && (\n
    \n \n {buildErrorMessage(ssoRedirectUrl)}\n \n
    \n )}\n \n )}\n {!!switchAccountUrl && hasInitialEmail && (\n \n {isDeferredSiteNameEnabled ? (\n \n ) : (\n \n )}\n \n )}\n
    \n );\n}\n\nexport default injectIntl(EmailField);\n","import { useEffect, useState } from 'react';\n\nexport type EmailValidation = {\n readonly isValidating: boolean;\n readonly isValid?: boolean;\n readonly message?: string;\n};\n\nexport type EmailValidationOptions = {\n readonly email: string;\n readonly baseUrl: string;\n readonly hasInitialEmail: boolean;\n readonly isUserEnrolledInChooseSignupExperimentVariants: boolean;\n};\n\nexport function useEmailValidation({\n email,\n hasInitialEmail,\n isUserEnrolledInChooseSignupExperimentVariants\n}: EmailValidationOptions): EmailValidation {\n const [{ isValidating, isValid, message }, setValidation] =\n useState({\n isValidating: false\n });\n\n useEffect(() => {\n if (hasInitialEmail) {\n return setValidation({\n isValidating: false,\n isValid: true,\n message: undefined\n });\n }\n const emailPart = (email || '').split('@');\n\n const re =\n /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if (email.length === 0) {\n return setValidation({\n isValidating: false,\n isValid: false,\n message: isUserEnrolledInChooseSignupExperimentVariants\n ? 'Please enter a valid email address'\n : undefined\n });\n } else if (\n !re.test(email) ||\n emailPart[0].length > 64 ||\n emailPart[1].split('.').some((domainPart) => domainPart.length > 63)\n ) {\n return setValidation({\n isValidating: false,\n isValid: false,\n message: 'Please enter a valid email address'\n });\n } else {\n setValidation({\n isValidating: false,\n isValid: true,\n message: undefined\n });\n }\n }, [email]);\n\n return {\n isValidating,\n isValid,\n message\n };\n}\n","import React from 'react';\nimport { SvgContainer } from '../components/styled';\n\nexport type TooltipIconProps = {\n readonly fillColor?: string;\n};\n\nexport function TooltipIcon({ fillColor }: TooltipIconProps) {\n return (\n \n \n \n \n \n );\n}\n","import CheckCircleOutlineIcon from '@atlaskit/icon/glyph/check-circle-outline';\nimport EditorPanelIcon from '@atlaskit/icon/glyph/editor/panel';\nimport WarningIcon from '@atlaskit/icon/glyph/warning';\nimport Spinner from '@atlaskit/spinner';\nimport Textfield from '@atlaskit/textfield';\nimport { B400, N0, N50, N800 } from '@atlaskit/theme/colors';\nimport { MarieSchemaAnalytics } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport { debounce } from 'lodash';\nimport React, { useContext, useEffect, useMemo, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { useSiteNameValidation } from '../../../../../hook';\nimport {\n getTranslatableError,\n messages\n} from '../../../../../messages/sign-up-form';\nimport {\n AnalyticsTrackType,\n Sites\n} from '../../../../../model/wac-signup-form';\nimport { TooltipIcon } from '../Icons/tooltip-icon';\nimport {\n CompoundField,\n ErrorMessageWithDefaultClassName,\n FieldContainer,\n InfoIcon,\n InputDescription,\n Label,\n SiteNameAfter,\n SiteNameAfterLabel,\n SitePickerToggle,\n SuccessTextfieldWrapper,\n UnderLabelMessage\n} from './styled';\n\nexport type SiteNameProps = {\n readonly onSiteNameChange: (siteName: string, siteNameLength: number) => void;\n readonly onSiteNameUseExisting: () => void;\n readonly sites: Sites[] | null;\n readonly siteNameAfter: string;\n readonly wacEnvUrl: string;\n readonly analyticsTrack: AnalyticsTrackType;\n readonly shouldShowUseExisting: boolean;\n readonly setIsValidSiteName: (val: boolean) => void;\n readonly isDisabled: boolean;\n readonly fadeOnDisable?: boolean;\n readonly outlineOnFocus?: boolean;\n readonly popOverError?: boolean;\n readonly showWarningIcon?: boolean;\n readonly isSuiteSignup?: boolean;\n readonly showInfoIcon?: boolean;\n readonly isDeferredSiteNameEnabled?: boolean;\n setExposedToDeferSitename: (exposed: boolean) => void;\n};\n\nexport function useDocumentClick(\n value: boolean,\n callback: React.Dispatch>,\n ignoreClass: string\n) {\n useEffect(() => {\n const handleClick = (event: any) => {\n let isIgnored = false;\n if (event && event.target && event.target.classList) {\n isIgnored = event.target.classList.contains(ignoreClass);\n }\n\n if (value && !isIgnored) {\n callback(!value);\n }\n };\n document.addEventListener('click', handleClick);\n return () => {\n document.removeEventListener('click', handleClick);\n };\n }, [value, callback, ignoreClass]);\n}\n\ninterface ToolTipProps {\n readonly isDisabled?: boolean;\n readonly fadeOnDisable?: boolean;\n}\n\nexport const DomainToolTip = styled.div`\n cursor: ${(props) =>\n props.isDisabled && props.fadeOnDisable ? 'not-allowed' : 'pointer'};\n margin: 0 3px;\n border-radius: 3px;\n svg {\n height: 14px;\n width: 14px;\n }\n`;\nexport const ToolTipText = styled.div`\n display: ${(props) =>\n props.isDisabled && props.fadeOnDisable ? 'none' : 'block'};\n background: ${N0};\n border: 1px solid ${B400};\n border-radius: 2px;\n box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);\n color: ${N800};\n font-family: inherit;\n font-size: 0.875rem;\n font-weight: 400;\n line-height: 1.42857143;\n padding: 12px;\n z-index: 1;\n position: absolute;\n left: 6px;\n top: 25px;\n max-width: 298px;\n`;\n\nexport const ToolTipContainer = styled.div`\n position: relative;\n z-index: 11;\n display: none;\n @supports (display: grid) {\n display: flex;\n align-items: center;\n }\n`;\n\nconst sendErrorEvent = debounce((segment, message, isValidating) => {\n if (isValidating && message) {\n sendErrorEvent(segment, message, isValidating);\n } else if (message) {\n segment('bxp.formCloudSignup.siteValidationError', { message });\n }\n}, 3000);\n\nexport function SiteNameField({\n onSiteNameChange,\n onSiteNameUseExisting,\n sites,\n siteNameAfter,\n shouldShowUseExisting,\n setIsValidSiteName,\n analyticsTrack,\n isDisabled,\n fadeOnDisable,\n outlineOnFocus,\n popOverError,\n showWarningIcon,\n isSuiteSignup,\n isDeferredSiteNameEnabled,\n setExposedToDeferSitename\n}: SiteNameProps) {\n useEffect(() => {\n setExposedToDeferSitename(true);\n }, []);\n\n const checkIsDisabled = () => {\n // ensure isDisabled can be set when form is submitting,\n // otherwise check the field progress state\n return isDisabled;\n };\n const { segment } = analyticsTrack;\n\n const labelMessage = useMemo(() => {\n if (isSuiteSignup) {\n return messages.siteNameSuite;\n } else if (isDeferredSiteNameEnabled) {\n return messages.siteNameOptional;\n } else {\n return messages.yourSite;\n }\n }, [isSuiteSignup, isDeferredSiteNameEnabled]);\n\n const [siteName, setSiteName] = useState(\n sites !== null && sites[0] ? sites[0].displayName : ''\n );\n const [toolTipOpen, setToolTipOpen] = useState(false);\n const [isFocused, setIsFocused] = useState(false);\n const [fieldDisabled, setFieldDisabled] = useState(checkIsDisabled());\n const { isValid, message, isValidating } = useSiteNameValidation(\n siteName,\n analyticsTrack,\n isDeferredSiteNameEnabled\n );\n const toolTipTrigger = 'domain-name-tooltip-trigger';\n\n useDocumentClick(toolTipOpen, setToolTipOpen, toolTipTrigger);\n const { setSuiteName } = useContext(MarieSchemaAnalytics);\n\n useEffect(() => {\n isValid\n ? onSiteNameChange(siteName, siteName.length)\n : onSiteNameChange('', siteName.length);\n setIsValidSiteName(isValid);\n\n if (!isValid) {\n sendErrorEvent(segment, message, isValidating);\n } else {\n setSuiteName(siteName);\n sendErrorEvent.cancel();\n }\n\n setFieldDisabled(checkIsDisabled());\n }, [siteName, isValid, message, isDisabled]);\n\n return (\n \n \n \n \n {\n if (fieldDisabled) {\n return;\n }\n if (!toolTipOpen) {\n segment('bxp.formCloudSignup.toolTipDisplayed', {});\n }\n setToolTipOpen(!toolTipOpen);\n }}\n >\n {!isSuiteSignup && (\n \n )}\n \n {toolTipOpen ? (\n \n {isDeferredSiteNameEnabled ? (\n \n ) : (\n \n )}\n \n ) : null}\n \n \n {isDeferredSiteNameEnabled && (\n \n \n \n )}\n \n setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n style={{ height: 'inherit', width: '100%' }}\n onChange={(event: any) => {\n setSiteName(event.currentTarget.value);\n }}\n elemAfterInput={\n \n {siteNameAfter}\n {isValid && siteName !== '' && !isValidating ? (\n \n ) : isValid === false && siteName !== '' && !isValidating ? (\n showWarningIcon && (\n \n )\n ) : isValidating ? (\n \n ) : null}\n \n }\n />\n {message && (\n \n \n \n )}\n \n\n {isSuiteSignup && (\n \n \n \n )}\n\n {shouldShowUseExisting && (\n {\n if (!fieldDisabled) {\n onSiteNameUseExisting();\n }\n }}\n >\n \n \n )}\n \n );\n}\n","// from https://facebook.github.io/react/docs/higher-order-components.html\nvar getDisplayName = function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n};\n\nexport default getDisplayName;","// There are cases where the context is not available, such as when a dropdown item is used\n// inside @atlaskit/navigation. For this reason we have this helper function which safely calls\n// the context functions if they are available.\nexport default (function (instance, contextKey) {\n return function (fnToCall) {\n var _instance$context$con;\n\n if (!instance.context[contextKey]) {\n return null;\n }\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return (_instance$context$con = instance.context[contextKey])[fnToCall].apply(_instance$context$con, args);\n };\n});","var prefix = function prefix(key) {\n return \"@atlaskit-private-do-not-use/dropdown-menu:\".concat(key);\n};\n\nexport var focusManagerContext = prefix('focus-manager');\nexport var selectionCacheContext = prefix('selection-cache');\nexport var selectionManagerContext = prefix('selection-manager');\nexport var clickManagerContext = prefix('click-manager');","import styled, { css } from 'styled-components';\nimport { N60A } from '@atlaskit/theme/colors';\nimport { getThemeStyle, themeNamespace } from '../util/theme';\n\nvar getItemState = function getItemState(stateName) {\n return function (_ref) {\n var theme = _ref.theme;\n var stateStyles = getThemeStyle(theme[themeNamespace], stateName);\n return css([\"\\n background-color: \", \";\\n color: \", \";\\n fill: \", \";\\n text-decoration: none;\\n\\n &:focus {\\n color: \", \";\\n }\\n \"], stateStyles.background, stateStyles.text, stateStyles.background, stateStyles.text);\n };\n};\n\nvar getPadding = function getPadding(_ref2) {\n var isCompact = _ref2.isCompact,\n theme = _ref2.theme,\n description = _ref2.description;\n var paddingKey = isCompact ? 'compact' : 'default';\n\n var _getThemeStyle = getThemeStyle(theme[themeNamespace], paddingKey, 'padding'),\n _getThemeStyle$bottom = _getThemeStyle.bottom,\n bottom = _getThemeStyle$bottom === void 0 ? 0 : _getThemeStyle$bottom,\n _getThemeStyle$left = _getThemeStyle.left,\n left = _getThemeStyle$left === void 0 ? 0 : _getThemeStyle$left,\n _getThemeStyle$right = _getThemeStyle.right,\n right = _getThemeStyle$right === void 0 ? 0 : _getThemeStyle$right,\n _getThemeStyle$top = _getThemeStyle.top,\n top = _getThemeStyle$top === void 0 ? 0 : _getThemeStyle$top;\n\n var adjustedTop = typeof top === 'function' ? top() : top;\n var adjustedBottom = typeof bottom === 'function' ? bottom() : bottom; // Subtract the 1px padding-bottom added to the content and description elements\n // to maintain original height\n\n adjustedTop = Math.max(description ? adjustedTop - 1 : adjustedTop, 0);\n adjustedBottom = Math.max(adjustedBottom - 1, 0);\n return css([\"\\n padding: \", \"px \", \"px \", \"px \", \"px;\\n \"], adjustedTop, right, adjustedBottom, left);\n};\n\nvar getHeightStyles = function getHeightStyles(_ref3) {\n var isCompact = _ref3.isCompact,\n theme = _ref3.theme;\n var heightKey = isCompact ? 'compact' : 'default';\n var height = getThemeStyle(theme[themeNamespace], heightKey, 'height');\n return height ? css([\"\\n height: \", \"px;\\n \"], height) : '';\n};\n\nvar getWidthStyles = function getWidthStyles(_ref4) {\n var isCompact = _ref4.isCompact,\n theme = _ref4.theme;\n var widthKey = isCompact ? 'compact' : 'default';\n var width = getThemeStyle(theme[themeNamespace], widthKey, 'width');\n\n if (!width) {\n return '';\n }\n\n return typeof width === 'number' ? css([\"\\n width: \", \"px;\\n \"], width) : css([\"\\n width: \", \";\\n \"], width);\n}; // This function is responsible for drawing any focus styles for the element\n\n\nvar getInteractiveStyles = function getInteractiveStyles(_ref5) {\n var theme = _ref5.theme,\n isDisabled = _ref5.isDisabled,\n isDragging = _ref5.isDragging,\n isSelected = _ref5.isSelected;\n\n if (isDragging) {\n return css([\"\\n \", \" box-shadow: 0 4px 8px -2px \", \",\\n 0 0 1px \", \";\\n \"], getItemState('dragging'), N60A, N60A);\n }\n\n var standardFocus = css([\"\\n &:focus {\\n box-shadow: 0 0 0 2px\\n \", \" inset;\\n text-decoration: none;\\n }\\n \"], getThemeStyle(theme[themeNamespace], 'outline', 'focus'));\n\n if (isDisabled) {\n return css([\"\\n cursor: not-allowed;\\n \", \" \", \";\\n \"], getItemState('disabled'), standardFocus);\n }\n\n if (isSelected) {\n return css([\"\\n \", \" &:hover {\\n \", \";\\n }\\n\\n &:active {\\n \", \";\\n }\\n\\n \", \";\\n \"], getItemState('selected'), getItemState('hover'), getItemState('active'), standardFocus);\n }\n\n return css([\"\\n &:hover {\\n \", \";\\n }\\n\\n &:active {\\n \", \";\\n }\\n\\n \", \";\\n \"], getItemState('hover'), getItemState('active'), standardFocus);\n}; // This is the main item style. It is defined as a basic style variable so it can\n// later be applied to different component types (span / a / custom link component)\n\n\nexport var ItemBase = function ItemBase(_ref6) {\n var theme = _ref6.theme;\n return css([\"\\n && {\\n align-items: center;\\n border-radius: \", \"px;\\n box-sizing: border-box;\\n cursor: pointer;\\n display: \", \";\\n flex: none;\\n \", \" \", \" \", \" \", \" \", \" &:focus {\\n /* focus shadow drawn by getInteractiveStyles */\\n\\n outline: none;\\n /* relative position prevents bgcolor of a hovered element from\\n obfuscating focus ring of a focused sibling element */\\n position: relative;\\n }\\n }\\n\"], getThemeStyle(theme[themeNamespace], 'borderRadius'), function (_ref7) {\n var isHidden = _ref7.isHidden;\n return isHidden ? 'none' : 'flex';\n }, getItemState('default'), getPadding, getInteractiveStyles, getHeightStyles, getWidthStyles);\n}; // Given some optional link-related props, returns the relevant styled\n// component. For links, it styles the linkComponent if provided, otherwise\n// falling back to a styled tag. If no href is present, a styled \n// is returned. When we upgrade to styled-components@2.x we will be able to\n// simplify this by taking advantage of the withComponent() functionality.\n\nvar styledRootElement = function styledRootElement(_ref8) {\n var href = _ref8.href,\n linkComponent = _ref8.linkComponent;\n\n if (linkComponent) {\n return styled(linkComponent).withConfig({\n displayName: \"Item\",\n componentId: \"z6qfkt-0\"\n })([\"\\n \", \";\\n \"], ItemBase);\n }\n\n if (href) {\n return styled.a.withConfig({\n displayName: \"Item\",\n componentId: \"z6qfkt-1\"\n })([\"\\n \", \";\\n \"], ItemBase);\n }\n\n return styled.span.withConfig({\n displayName: \"Item\",\n componentId: \"z6qfkt-2\"\n })([\"\\n \", \";\\n \"], ItemBase);\n};\n\nexport default styledRootElement;","import styled, { css } from 'styled-components';\nimport { fontSize, fontSizeSmall } from '@atlaskit/theme/constants';\nimport { getThemeStyle, themeNamespace, compactSmallFontSize, compactLineHeight } from '../util/theme'; // Checkbox/Radio wrapper -- sits left of the children\n\nexport var InputWrapper = styled.span.withConfig({\n displayName: \"ItemParts__InputWrapper\",\n componentId: \"sc-14xek3m-0\"\n})([\"\\n display: flex;\\n margin: 0 2px;\\n\"]); // Elements injected before/after the children\n\nvar BeforeAfterBase = styled.span.withConfig({\n displayName: \"ItemParts__BeforeAfterBase\",\n componentId: \"sc-14xek3m-1\"\n})([\"\\n align-items: center;\\n display: flex;\\n flex-shrink: 0;\\n /* Fix windows line-height issue */\\n padding-bottom: 1px;\\n\"]);\n\nvar getBeforeSpacing = function getBeforeSpacing(_ref) {\n var isCompact = _ref.isCompact,\n theme = _ref.theme;\n var spaceKey = isCompact ? 'compact' : 'default';\n var space = getThemeStyle(theme[themeNamespace], spaceKey, 'beforeItemSpacing');\n return css([\"\\n margin-right: \", \"px;\\n \"], space);\n};\n\nexport var Before = styled(BeforeAfterBase).withConfig({\n displayName: \"ItemParts__Before\",\n componentId: \"sc-14xek3m-2\"\n})([\"\\n \", \";\\n\"], getBeforeSpacing);\n\nvar getAfterSpacing = function getAfterSpacing(_ref2) {\n var isCompact = _ref2.isCompact,\n theme = _ref2.theme;\n var spaceKey = isCompact ? 'compact' : 'default';\n var space = getThemeStyle(theme[themeNamespace], spaceKey, 'afterItemSpacing');\n return css([\"\\n margin-left: \", \"px;\\n \"], space);\n};\n\nexport var After = styled(BeforeAfterBase).withConfig({\n displayName: \"ItemParts__After\",\n componentId: \"sc-14xek3m-3\"\n})([\"\\n \", \";\\n\"], getAfterSpacing); // Alignment and layout for the children\n\nexport var ContentWrapper = styled.span.withConfig({\n displayName: \"ItemParts__ContentWrapper\",\n componentId: \"sc-14xek3m-4\"\n})([\"\\n display: flex;\\n flex-direction: column;\\n flex-grow: 1;\\n margin: 0;\\n overflow: hidden;\\n\\n &:first-child {\\n margin: 0;\\n }\\n\"]);\nexport var Content = styled.span.withConfig({\n displayName: \"ItemParts__Content\",\n componentId: \"sc-14xek3m-5\"\n})([\"\\n display: block;\\n flex: 1 1 auto;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: \", \";\\n line-height: \", \";\\n /* Fix windows line-height issue */\\n padding-bottom: 1px;\\n\"], function (_ref3) {\n var allowMultiline = _ref3.allowMultiline;\n return allowMultiline ? 'normal' : 'nowrap';\n}, 16 / fontSize());\n\nvar getColorStyle = function getColorStyle(_ref4) {\n var isDisabled = _ref4.isDisabled,\n theme = _ref4.theme;\n\n if (isDisabled) {\n return css([\"\\n color: \", \";\\n \"], getThemeStyle(theme[themeNamespace], 'secondaryText', 'disabled'));\n }\n\n return css([\"\\n color: \", \";\\n\\n /* This detects hover on the grandparent. Saves us having to maintain isHovered\\n state in the grandparent. */\\n *:hover > * > & {\\n color: \", \";\\n }\\n\\n *:active > * > & {\\n color: \", \";\\n }\\n \"], getThemeStyle(theme[themeNamespace], 'secondaryText', 'default'), function () {\n return getThemeStyle(theme[themeNamespace], 'secondaryText', 'hover');\n }, function () {\n return getThemeStyle(theme[themeNamespace], 'secondaryText', 'active');\n });\n};\n\nvar getDescriptionFontStyles = function getDescriptionFontStyles(_ref5) {\n var isCompact = _ref5.isCompact;\n var descriptionFontSize = isCompact ? compactSmallFontSize : fontSizeSmall();\n var lineHeight = isCompact ? compactLineHeight : 14 / descriptionFontSize;\n return css([\"\\n font-size: \", \"px;\\n line-height: \", \";\\n /* Fix windows line-height issue */\\n padding-bottom: 1px;\\n \"], descriptionFontSize, lineHeight);\n}; // Description is a block element below the children, like a subtitle\n\n\nexport var Description = styled.span.withConfig({\n displayName: \"ItemParts__Description\",\n componentId: \"sc-14xek3m-6\"\n})([\"\\n flex: 1 1 auto;\\n overflow: hidden;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n \", \" \", \";\\n\"], getColorStyle, getDescriptionFontStyles);","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport styledRootElement from '../styled/Item';\nimport { Before, After, Content, ContentWrapper, Description } from '../styled/ItemParts';\n\nvar Item =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(Item, _Component);\n\n function Item(props) {\n var _this;\n\n _classCallCheck(this, Item);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Item).call(this, props)); // The type of element rendered at the root of render() can vary based on the `href`\n // and `linkComponent` props provided. We generate this component here to avoid re-\n // generating the component inside render(). This is for performance reasons, and also\n // allows us to avoid generating a new `ref` for the root element each render().\n\n _defineProperty(_assertThisInitialized(_this), \"setRef\", function (ref) {\n _this.ref = ref;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"href\", function () {\n return _this.props.isDisabled ? null : _this.props.href;\n });\n\n _this.rootComponent = styledRootElement({\n href: _this.href(),\n linkComponent: props.linkComponent\n });\n return _this;\n }\n\n _createClass(Item, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.ref && this.props.autoFocus) {\n this.ref.focus();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props = this.props,\n _onClick = _this$props.onClick,\n _onKeyDown = _this$props.onKeyDown,\n isCompact = _this$props.isCompact,\n isDisabled = _this$props.isDisabled,\n isDragging = _this$props.isDragging,\n isHidden = _this$props.isHidden,\n isSelected = _this$props.isSelected,\n onMouseEnter = _this$props.onMouseEnter,\n onMouseLeave = _this$props.onMouseLeave,\n role = _this$props.role,\n dnd = _this$props.dnd,\n otherProps = _objectWithoutProperties(_this$props, [\"onClick\", \"onKeyDown\", \"isCompact\", \"isDisabled\", \"isDragging\", \"isHidden\", \"isSelected\", \"onMouseEnter\", \"onMouseLeave\", \"role\", \"dnd\"]);\n\n var Root = this.rootComponent;\n var dragHandleProps = dnd && dnd.dragHandleProps || null;\n var patchedEventHandlers = {\n onClick: function onClick(event) {\n // rbd will use event.preventDefault() to block clicks that are used\n // as a part of the drag and drop lifecycle.\n if (event.defaultPrevented) {\n return;\n }\n\n if (!isDisabled && _onClick) {\n _onClick(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n // rbd 11.x support\n if (dragHandleProps && dragHandleProps.onMouseDown) {\n dragHandleProps.onMouseDown(event);\n } // We want to prevent the item from getting focus when clicked\n\n\n event.preventDefault();\n },\n onKeyDown: function onKeyDown(event) {\n // swallowing keyboard events on the element while dragging\n // rbd should already be doing this - but we are being really clear here\n if (isDragging) {\n return;\n } // rbd 11.x support\n\n\n if (dragHandleProps && dragHandleProps.onKeyDown) {\n dragHandleProps.onKeyDown(event);\n } // if default is prevented - do not fire other handlers\n // this can happen if the event is used for drag and drop by rbd\n\n\n if (event.defaultPrevented) {\n return;\n } // swallowing event if disabled\n\n\n if (isDisabled) {\n return;\n }\n\n if (!_onKeyDown) {\n return;\n }\n\n _onKeyDown(event);\n }\n };\n\n var patchedInnerRef = function patchedInnerRef(ref) {\n _this2.setRef(ref); // give rbd the inner ref too\n\n\n if (dnd && dnd.innerRef) {\n dnd.innerRef(ref);\n }\n };\n\n return React.createElement(Root, _extends({\n \"aria-disabled\": isDisabled,\n href: this.href(),\n isCompact: isCompact,\n isDisabled: isDisabled,\n isDragging: isDragging,\n isHidden: isHidden,\n isSelected: isSelected,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n role: role,\n tabIndex: isDisabled || isHidden || this.props.href ? null : 0,\n target: this.props.target,\n title: this.props.title,\n innerRef: patchedInnerRef\n }, dnd && dnd.draggableProps, dragHandleProps, patchedEventHandlers, otherProps), !!this.props.elemBefore && React.createElement(Before, {\n isCompact: isCompact\n }, this.props.elemBefore), React.createElement(ContentWrapper, null, React.createElement(Content, {\n allowMultiline: this.props.shouldAllowMultiline\n }, this.props.children), !!this.props.description && React.createElement(Description, {\n isCompact: this.props.isCompact,\n isDisabled: this.props.isDisabled\n }, this.props.description)), !!this.props.elemAfter && React.createElement(After, {\n isCompact: isCompact\n }, this.props.elemAfter));\n }\n }]);\n\n return Item;\n}(Component);\n\n_defineProperty(Item, \"defaultProps\", {\n autoFocus: false,\n description: '',\n isCompact: false,\n isDisabled: false,\n isHidden: false,\n role: 'button',\n shouldAllowMultiline: false\n});\n\nexport { Item as default };","import Item, { withItemFocus, withItemClick } from '@atlaskit/item';\nexport default withItemClick(withItemFocus(Item));","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\n// We currently need to keep the dropdown open if an item with `href` is clicked, to avoid the\n// analytics package to track the href value without the event target disappearing. Without this\n// requirement, we could just use a native click event all the way up to DropdownMenuStateless,\n// and could get rid of this HOC and DropdownItemClickManager.\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport getDisplayName from '../../util/getDisplayName';\nimport safeContextCall from '../../util/safeContextCall';\nimport { clickManagerContext } from '../../util/contextNamespace'; // HOC that typically wraps @atlaskit/item\n\nvar withItemClick = function withItemClick(WrappedItem) {\n var _class, _temp;\n\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inherits(WithItemClick, _Component);\n\n function WithItemClick() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, WithItemClick);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithItemClick)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"callContextFn\", safeContextCall(_assertThisInitialized(_this), clickManagerContext));\n\n _defineProperty(_assertThisInitialized(_this), \"shouldCloseAfterClick\", function () {\n return !_this.props.isDisabled && !_this.props.href;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n _this.props.onClick(event);\n\n if (_this.shouldCloseAfterClick()) {\n _this.callContextFn('itemClicked');\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleKeyDown\", function (event) {\n if (_this.props.onKeyDown) {\n _this.props.onKeyDown(event);\n } else if (event.key === 'Space' || event.key === 'Enter') {\n _this.handleClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(WithItemClick, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n otherProps = _objectWithoutProperties(_this$props, [\"children\"]);\n\n return React.createElement(WrappedItem, _extends({}, otherProps, {\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown\n }), children);\n }\n }]);\n\n return WithItemClick;\n }(Component), _defineProperty(_class, \"displayName\", \"WithItemClick(\".concat(getDisplayName(WrappedItem), \")\")), _defineProperty(_class, \"defaultProps\", {\n onClick: function onClick() {}\n }), _defineProperty(_class, \"contextTypes\", _defineProperty({}, clickManagerContext, PropTypes.object)), _temp;\n};\n\nexport default withItemClick;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport uuid from 'uuid';\nimport getDisplayName from '../../util/getDisplayName';\nimport safeContextCall from '../../util/safeContextCall';\nimport { focusManagerContext } from '../../util/contextNamespace'; // HOC that typically wraps @atlaskit/item\n\nvar withItemFocus = function withItemFocus(WrappedComponent) {\n var _class, _temp;\n\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inherits(WithItemFocus, _Component);\n\n function WithItemFocus() {\n var _getPrototypeOf2;\n\n var _this;\n\n _classCallCheck(this, WithItemFocus);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(WithItemFocus)).call.apply(_getPrototypeOf2, [this].concat(args)));\n\n _defineProperty(_assertThisInitialized(_this), \"contextId\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"callContextFn\", safeContextCall(_assertThisInitialized(_this), focusManagerContext));\n\n _defineProperty(_assertThisInitialized(_this), \"isFocusable\", function () {\n return !_this.props.isDisabled && !_this.props.isHidden;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handleFocus\", function () {\n if (_this.isFocusable()) {\n _this.callContextFn('itemFocused', _this.contextId);\n }\n });\n\n return _this;\n }\n\n _createClass(WithItemFocus, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!this.isFocusable()) {\n return;\n }\n\n this.contextId = uuid();\n this.callContextFn('registerItem', this.contextId, ReactDOM.findDOMNode(this) // eslint-disable-line react/no-find-dom-node\n );\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n if (!this.isFocusable()) {\n return;\n }\n\n this.callContextFn('updateItem', this.contextId, ReactDOM.findDOMNode(this) // eslint-disable-line react/no-find-dom-node\n );\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.isFocusable()) {\n this.callContextFn('deregisterItem', this.contextId);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n otherProps = _objectWithoutProperties(_this$props, [\"children\"]);\n\n return React.createElement(WrappedComponent, _extends({\n onFocus: this.handleFocus,\n role: \"menuitem\"\n }, otherProps), children);\n }\n }]);\n\n return WithItemFocus;\n }(Component), _defineProperty(_class, \"displayName\", \"WithItemFocus(\".concat(getDisplayName(WrappedComponent), \")\")), _defineProperty(_class, \"contextTypes\", _defineProperty({}, focusManagerContext, PropTypes.object)), _temp;\n};\n\nexport default withItemFocus;","import styled, { css } from 'styled-components';\nimport { fontSizeSmall } from '@atlaskit/theme/constants';\nimport { getThemeStyle, gridSize, themeNamespace } from '../util/theme';\n\nvar getPadding = function getPadding(_ref) {\n var isCompact = _ref.isCompact,\n theme = _ref.theme;\n var paddingType = isCompact ? 'compact' : 'default';\n\n var _getThemeStyle = getThemeStyle(theme[themeNamespace], paddingType, 'padding'),\n _getThemeStyle$bottom = _getThemeStyle.bottom,\n bottom = _getThemeStyle$bottom === void 0 ? 0 : _getThemeStyle$bottom,\n _getThemeStyle$left = _getThemeStyle.left,\n left = _getThemeStyle$left === void 0 ? 0 : _getThemeStyle$left,\n _getThemeStyle$right = _getThemeStyle.right,\n right = _getThemeStyle$right === void 0 ? 0 : _getThemeStyle$right,\n _getThemeStyle$top = _getThemeStyle.top,\n top = _getThemeStyle$top === void 0 ? 0 : _getThemeStyle$top;\n\n return css([\"\\n padding: \", \"px \", \"px \", \"px \", \"px;\\n \"], top, right, bottom, left);\n}; // eslint-disable-next-line import/prefer-default-export\n\n\nvar GroupTitle = styled.div.withConfig({\n displayName: \"ItemGroup__GroupTitle\",\n componentId: \"ofbfv9-0\"\n})([\"\\n align-items: center;\\n color: \", \";\\n display: flex;\\n flex: 1 1 auto;\\n \", \";\\n\"], function (_ref2) {\n var theme = _ref2.theme;\n return getThemeStyle(theme[themeNamespace], 'secondaryText', 'default');\n}, getPadding);\nGroupTitle.displayName = 'ItemGroupTitle';\nvar GroupTitleAfter = styled.div.withConfig({\n displayName: \"ItemGroup__GroupTitleAfter\",\n componentId: \"ofbfv9-1\"\n})([\"\\n flex: 0 0 auto;\\n margin-right: -\", \"px;\\n\"], gridSize / 2);\nGroupTitleAfter.displayName = 'ItemGroupTitleAfter';\nvar GroupTitleText = styled.div.withConfig({\n displayName: \"ItemGroup__GroupTitleText\",\n componentId: \"ofbfv9-2\"\n})([\"\\n flex: 1 1 auto;\\n font-size: \", \"px;\\n line-height: 1;\\n text-transform: uppercase;\\n /* Required for children to truncate */\\n min-width: 0;\\n\"], fontSizeSmall);\nGroupTitleText.displayName = 'ItemGroupTitleText';\nexport { GroupTitle, GroupTitleAfter, GroupTitleText };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport textContent from 'react-addons-text-content';\nimport { GroupTitle, GroupTitleText, GroupTitleAfter } from '../styled/ItemGroup';\n\nvar ItemGroup =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(ItemGroup, _Component);\n\n function ItemGroup() {\n _classCallCheck(this, ItemGroup);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ItemGroup).apply(this, arguments));\n }\n\n _createClass(ItemGroup, [{\n key: \"render\",\n value: function render() {\n var _this = this;\n\n var _this$props = this.props,\n children = _this$props.children,\n elemAfter = _this$props.elemAfter,\n isCompact = _this$props.isCompact,\n title = _this$props.title,\n label = _this$props.label,\n innerRef = _this$props.innerRef,\n role = _this$props.role;\n\n var ariaLabel = function () {\n if (label) {\n return textContent(label);\n }\n\n if (title) {\n return textContent(title);\n }\n\n return '';\n }();\n\n return React.createElement(\"div\", {\n \"aria-label\": ariaLabel,\n role: role,\n ref: innerRef\n }, title ? React.createElement(GroupTitle, {\n \"aria-hidden\": \"true\",\n isCompact: isCompact\n }, React.createElement(GroupTitleText, null, title), elemAfter ? React.createElement(GroupTitleAfter, {\n innerRef: function innerRef(r) {\n _this.headingAfterElement = r;\n }\n }, elemAfter) : null) : null, children);\n }\n }]);\n\n return ItemGroup;\n}(Component);\n\n_defineProperty(ItemGroup, \"defaultProps\", {\n role: 'group'\n});\n\nexport { ItemGroup as default };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React, { Component } from 'react';\nimport { ItemGroup } from '@atlaskit/item';\n\nvar DropdownItemGroup =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(DropdownItemGroup, _Component);\n\n function DropdownItemGroup() {\n _classCallCheck(this, DropdownItemGroup);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(DropdownItemGroup).apply(this, arguments));\n }\n\n _createClass(DropdownItemGroup, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n elemAfter = _this$props.elemAfter,\n title = _this$props.title;\n return React.createElement(ItemGroup, {\n elemAfter: elemAfter,\n title: title,\n role: \"menu\"\n }, children);\n }\n }]);\n\n return DropdownItemGroup;\n}(Component);\n\nexport { DropdownItemGroup as default };","import DropdownMenu, {\n DropdownItem,\n DropdownItemGroup\n} from '@atlaskit/dropdown-menu';\nimport CheckCircleIcon from '@atlaskit/icon/glyph/check-circle';\nimport Textfield from '@atlaskit/textfield';\nimport { G300 } from '@atlaskit/theme/colors';\nimport _ from 'lodash';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport {\n AnalyticsTrackType,\n Product,\n ProductKeys,\n Sites\n} from '../../../../../model/wac-signup-form';\nimport { InfoBox } from './';\n\nimport {\n isProductIncluded,\n useSignUpFormUIState,\n useSitePermission\n} from '../../../../../hook';\nimport {\n DomainToolTip,\n ToolTipText,\n ToolTipContainer,\n useDocumentClick\n} from './site-name-field';\nimport { B400, N50 } from '@atlaskit/theme/colors';\nimport { TooltipIcon } from '../Icons/tooltip-icon';\n\nimport {\n CompoundField,\n DropdownButtonStyle,\n DropdownButtonStyleOpen,\n DropdownTrigger,\n ErrorMessageWithDefaultClassName,\n FieldContainer,\n FieldErrorState,\n JswTrialNotice,\n Label,\n SiteNameAfter,\n SiteNameAfterLabel,\n SitePickerTextfieldWrapper,\n SitePickerToggle,\n StyledInfoBoxWrapper,\n UnderLabelMessage\n} from './styled';\n\nexport type SitePickerProps = {\n onSiteNameChange: (selectedSite: Sites, cloudName: string) => void;\n onSiteNameStartNew: () => void;\n sites: Sites[];\n isBundleActive: boolean;\n siteNameAfter: string;\n analyticsTrack: AnalyticsTrackType;\n isFree: boolean;\n setIsValidSiteName: (val: boolean) => void;\n isDisabled: boolean;\n showFreeLimitExceededError: boolean;\n selectedSiteId: string;\n productKeys: Product[];\n isDeferredSiteNameEnabled?: boolean;\n fadeOnDisable?: boolean;\n};\n\nexport type FormattedSite = {\n readonly name: string;\n readonly value: string;\n readonly products?: string[];\n};\n\nexport type FormattedProduct = {\n readonly title: FormattedMessage.MessageDescriptor;\n readonly sites: FormattedSite[];\n};\n\ntype OnOpenChangeProps = {\n readonly isOpen: boolean;\n readonly event?: { [key: string]: any };\n};\n\nconst getSiteById = (cloudId: string, sites: Sites[]) => {\n const matchedSites = sites.filter((site) => site.cloudId === cloudId);\n return matchedSites.length > 0 ? matchedSites[0] : sites[0];\n};\n\nexport const isSelectedSiteValid = (\n sitesByCategory: {\n [key: string]: FormattedProduct;\n },\n siteId: string\n) => {\n return (\n sitesByCategory?.withJiraSoftware?.sites?.find(\n (site) => site.value === siteId\n ) ||\n sitesByCategory?.withoutJiraSoftware?.sites?.find(\n (site) => site.value === siteId\n )\n );\n};\n\nfunction productKeyToSplitSitesBy(productKeys: Product[]) {\n if (\n isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_DESK) ||\n isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_MANAGEMENT)\n ) {\n return {\n siteKey: ProductKeys.CONFLUENCE,\n recommendedSitesTitle: messages.dropdownWithRecommended,\n otherSitesTitle: messages.dropdownWithoutRecommended\n };\n } else {\n return {\n siteKey: ProductKeys.JIRA_SOFTWARE,\n recommendedSitesTitle: messages.dropdownWithJiraSoftware,\n otherSitesTitle: messages.dropdownWithoutJiraSoftware\n };\n }\n}\nexport function orderSpecificProductFirstSort(\n a: FormattedSite,\n b: FormattedSite\n) {\n if (\n a?.products?.includes(ProductKeys.CONFLUENCE) &&\n !b?.products?.includes(ProductKeys.CONFLUENCE)\n ) {\n return -1;\n }\n if (\n !a?.products?.includes(ProductKeys.CONFLUENCE) &&\n b?.products?.includes(ProductKeys.CONFLUENCE)\n ) {\n return 1;\n }\n if (\n a?.products?.includes(ProductKeys.CONFLUENCE) &&\n b?.products?.includes(ProductKeys.CONFLUENCE)\n ) {\n return 0;\n }\n return 0;\n}\n\nexport function SitePickerField({\n isBundleActive,\n sites,\n siteNameAfter,\n onSiteNameStartNew,\n onSiteNameChange,\n setIsValidSiteName,\n isFree,\n isDisabled,\n showFreeLimitExceededError = false,\n selectedSiteId,\n productKeys,\n isDeferredSiteNameEnabled,\n fadeOnDisable,\n analyticsTrack\n}: SitePickerProps) {\n // const isSiteAdmin = false; // TODO change to use hook\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const [activeSite, setActiveSite] = useState(sites[0]);\n const [triggerText, setTriggerText] = useState({ ...messages.selectSite });\n const [hideJswTrialNotice, setHideJswTrialNotice] = useState(true);\n const [showConfluenceNotice, setShowConfluenceNotice] = useState(false);\n const [isLoaded, setIsLoaded] = useState(false);\n const [toolTipOpen, setToolTipOpen] = useState(false);\n const { isBeacon } = useSignUpFormUIState();\n const { isPermitted, isValidating } = useSitePermission(\n activeSite.cloudId,\n isBundleActive\n );\n\n const showSiteSwitcher = sites.length > 1;\n const isJsm =\n isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_DESK) ||\n isProductIncluded(productKeys, ProductKeys.JIRA_SERVICE_MANAGEMENT);\n const hasSitesWithConfluence = sites.some((site) => {\n return site?.products.some((p) => p === ProductKeys.CONFLUENCE);\n });\n\n const toolTipTrigger = 'domain-name-tooltip-trigger';\n useDocumentClick(toolTipOpen, setToolTipOpen, toolTipTrigger);\n\n const { segment } = analyticsTrack;\n\n const useRecomendedSitesInDropdown = isBundleActive || isJsm;\n\n const categorizedSitesData = useMemo(() => {\n const siteKeyDataToSplitBy = productKeyToSplitSitesBy(productKeys);\n const sitesByCategory: { [key: string]: FormattedProduct } = {\n withRecommendedSite: {\n title: siteKeyDataToSplitBy.recommendedSitesTitle,\n sites: []\n },\n withoutRecommendedSite: {\n title: siteKeyDataToSplitBy.otherSitesTitle,\n sites: []\n }\n };\n\n sites = _.sortBy(sites, ['displayName']);\n\n const addSiteToResult = (hasJsw: boolean, site: FormattedSite) => {\n if (hasJsw) {\n sitesByCategory.withRecommendedSite.sites.push(site);\n } else {\n sitesByCategory.withoutRecommendedSite.sites.push(site);\n }\n };\n\n sites.map((site) => {\n addSiteToResult(site.products.includes(siteKeyDataToSplitBy.siteKey), {\n value: site.cloudId,\n name: site.displayName,\n products: site.products\n });\n });\n\n const displaySitesFromAllCategories =\n sitesByCategory.withRecommendedSite.sites.length > 0 &&\n sitesByCategory.withoutRecommendedSite.sites.length > 0;\n\n const displayOnlySitesContainingJiraSoftware =\n sitesByCategory.withRecommendedSite.sites.length > 0 &&\n sitesByCategory.withoutRecommendedSite.sites.length === 0;\n\n const displayOnlySitesMissingJiraSoftware =\n sitesByCategory.withRecommendedSite.sites.length === 0 &&\n sitesByCategory.withoutRecommendedSite.sites.length > 0;\n\n return {\n sitesByCategory,\n displaySitesFromAllCategories,\n displayOnlySitesContainingJiraSoftware,\n displayOnlySitesMissingJiraSoftware\n };\n }, [sites]);\n\n useEffect(() => {\n if (isLoaded) {\n if (selectedSiteId) {\n const found = isSelectedSiteValid(\n categorizedSitesData.sitesByCategory,\n selectedSiteId\n );\n if (found) {\n handleDropdownItemClick(found);\n return;\n }\n }\n if (categorizedSitesData.sitesByCategory?.withRecommendedSite?.sites[0]) {\n handleDropdownItemClick(\n categorizedSitesData.sitesByCategory.withRecommendedSite.sites[0]\n );\n } else if (\n categorizedSitesData.sitesByCategory?.withoutRecommendedSite?.sites[0]\n ) {\n handleDropdownItemClick(\n categorizedSitesData.sitesByCategory.withoutRecommendedSite.sites[0]\n );\n }\n if (isJsm) {\n const confluenceOrderedFirst = [\n ...categorizedSitesData.sitesByCategory.withRecommendedSite.sites,\n ...categorizedSitesData.sitesByCategory.withoutRecommendedSite.sites\n ].sort(orderSpecificProductFirstSort);\n handleDropdownItemClick(confluenceOrderedFirst[0]);\n }\n } else {\n setIsLoaded(true);\n }\n }, [isLoaded]);\n\n useEffect(() => {\n if (isJsm) {\n const siteHasConf = activeSite?.products.some(\n (p) => p === ProductKeys.CONFLUENCE\n );\n setShowConfluenceNotice(\n !siteHasConf && hasSitesWithConfluence && !showFreeLimitExceededError\n );\n }\n }, [activeSite]);\n\n useEffect(() => {\n setIsValidSiteName(isPermitted);\n }, [isPermitted]);\n\n const trigger = (\n \n \n \n );\n\n const handleDropdownItemClick = ({ name, value }: FormattedSite) => {\n const selectedSite = getSiteById(value, sites);\n onSiteNameChange(selectedSite, selectedSite.displayName);\n setActiveSite(selectedSite);\n setTriggerText(\n Object.assign({}, messages.selectSite, {\n defaultMessage: name + siteNameAfter\n })\n );\n setHideJswTrialNotice(\n isFree || selectedSite.products.includes(ProductKeys.JIRA_SOFTWARE)\n );\n };\n\n const triggerButtonTheme = () => {\n const buttonStyles = !isDropdownOpen\n ? DropdownButtonStyle\n : Object.assign({}, DropdownButtonStyle, DropdownButtonStyleOpen);\n return {\n buttonStyles,\n spinnerStyles: {}\n };\n };\n\n const dropDownItems = (sitesData: FormattedSite[]) => {\n return sitesData.map((site: FormattedSite) => {\n return (\n handleDropdownItemClick(site)}\n >\n {site.name + siteNameAfter}\n \n );\n });\n };\n\n return (\n \n \n \n {isDeferredSiteNameEnabled && (\n \n {\n if (isDisabled) {\n return;\n }\n if (!toolTipOpen) {\n segment('bxp.formCloudSignup.toolTipDisplayed', {});\n }\n setToolTipOpen(!toolTipOpen);\n }}\n >\n \n \n {toolTipOpen && (\n \n \n \n )}\n \n )}\n \n {isDeferredSiteNameEnabled && (\n \n \n \n )}\n \n {showSiteSwitcher && (\n \n setIsDropdownOpen(isOpen)\n }\n >\n {useRecomendedSitesInDropdown && (\n <>\n {categorizedSitesData.displaySitesFromAllCategories && (\n <>\n \n }\n >\n {dropDownItems(\n categorizedSitesData.sitesByCategory.withRecommendedSite\n .sites\n )}\n \n \n }\n >\n {dropDownItems(\n categorizedSitesData.sitesByCategory\n .withoutRecommendedSite.sites\n )}\n \n \n )}\n {categorizedSitesData.displayOnlySitesContainingJiraSoftware &&\n dropDownItems(\n categorizedSitesData.sitesByCategory.withRecommendedSite\n .sites\n )}\n {categorizedSitesData.displayOnlySitesMissingJiraSoftware &&\n dropDownItems(\n categorizedSitesData.sitesByCategory.withoutRecommendedSite\n .sites\n )}\n \n )}\n {!useRecomendedSitesInDropdown && [\n ...dropDownItems(\n categorizedSitesData.sitesByCategory.withRecommendedSite.sites\n ),\n ...dropDownItems(\n categorizedSitesData.sitesByCategory.withoutRecommendedSite\n .sites\n )\n ]}\n \n )}\n\n {!showSiteSwitcher && (\n \n \n {siteNameAfter}\n \n }\n />\n \n )}\n \n\n {isPermitted && !hideJswTrialNotice && isBundleActive && (\n \n \n \n \n )}\n\n {!isPermitted && (\n \n \n \n )}\n\n {showFreeLimitExceededError && (\n \n \n \n )}\n\n {!isBeacon && ( // Beacon cannot be used to create new site, so disable the toggle\n {\n if (!isDisabled) {\n onSiteNameStartNew();\n }\n }}\n >\n {isDeferredSiteNameEnabled ? (\n \n ) : (\n \n )}\n \n )}\n\n {showConfluenceNotice && (\n \n \n

    \n \n

    \n
    \n
    \n )}\n
    \n );\n}\n","import { useEffect, useState } from 'react';\nimport { useStargateClient } from '@atlassiansox/bxpkit-core';\nimport { GetUserPermissionsIsPermittedRequestPermissionId } from '@atlassiansox/asc-stargate';\n\nexport type SitePermission = {\n readonly isValidating: boolean;\n readonly isPermitted: boolean;\n};\n\nexport function useSitePermission(\n siteId: string,\n isBBJSW: boolean\n): SitePermission {\n const stargateClient = useStargateClient();\n if (!isBBJSW) {\n return { isValidating: false, isPermitted: true };\n }\n const [{ isValidating, isPermitted }, setValidation] =\n useState({\n isValidating: false,\n isPermitted: true\n });\n\n const checkPermissions = async () => {\n await stargateClient\n .getUserPermissionsIsPermitted({\n permissionId: GetUserPermissionsIsPermittedRequestPermissionId.MANAGE,\n resourceId: `ari:cloud:platform::site/${siteId}`,\n dontRequirePrincipalInSite: true\n })\n .then((response) => {\n if (response.permitted) {\n return setValidation({\n isValidating: false,\n isPermitted: true\n });\n } else {\n return setValidation({\n isValidating: false,\n isPermitted: false\n });\n }\n })\n .catch(() => {\n return setValidation({\n isValidating: false,\n isPermitted: false\n });\n });\n };\n\n useEffect(() => {\n setValidation({ isValidating: true, isPermitted: true });\n checkPermissions().catch(console.error);\n }, [siteId]);\n\n return { isValidating, isPermitted };\n}\n","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","export const presetSizes = {\n xsmall: 8,\n small: 16,\n medium: 24,\n large: 48,\n xlarge: 96\n};","/** @jsx jsx */\nimport React, { useContext, useEffect, useLayoutEffect as useRealLayoutEffect } from 'react';\nimport { css, jsx, keyframes } from '@emotion/react';\nimport InteractionContext from '@atlaskit/interaction-context';\nimport { DN500, DN900, N0, N500 } from '@atlaskit/theme/colors';\nimport { useGlobalTheme } from '@atlaskit/theme/components';\nimport { presetSizes } from './constants';\n/**\n * Returns the appropriate circle stroke color.\n */\nfunction getStrokeColor({\n mode,\n appearance\n}) {\n if (mode === 'light') {\n return appearance === 'inherit' ? `var(--ds-icon-subtle, ${N500})` : `var(--ds-icon-inverse, ${N0})`;\n }\n return appearance === 'inherit' ? `var(--ds-icon-subtle, ${DN900})` : `var(--ds-icon-inverse, ${DN500})`;\n}\nconst rotate = keyframes({\n to: {\n transform: 'rotate(360deg)'\n }\n});\nconst rotateStyles = css({\n animation: `${rotate} 0.86s infinite`,\n animationTimingFunction: 'cubic-bezier(0.4, 0.15, 0.6, 0.85)',\n transformOrigin: 'center'\n});\n\n/**\n * There are three parts to the load in animation:\n * 1. Fade in\n * 2. Accelerated spin\n * 3. Stretch the spinner line\n */\nconst loadIn = keyframes({\n from: {\n transform: 'rotate(50deg)',\n opacity: 0,\n strokeDashoffset: 60\n },\n to: {\n transform: 'rotate(230deg)',\n opacity: 1,\n strokeDashoffset: 50\n }\n});\nconst loadInStyles = css({\n animation: `${loadIn} 1s ease-in-out`,\n /**\n * When the animation completes, stay at the last frame of the animation.\n */\n animationFillMode: 'forwards',\n /**\n * We are going to animate this in.\n */\n opacity: 0\n});\nconst wrapperStyles = css({\n display: 'inline-flex',\n /**\n * Align better inline with text.\n */\n verticalAlign: 'middle'\n});\nconst circleStyles = css({\n fill: 'none',\n strokeDasharray: 60,\n strokeDashoffset: 'inherit',\n strokeLinecap: 'round',\n strokeWidth: 1.5,\n '@media screen and (forced-colors: active)': {\n filter: 'grayscale(100%)',\n stroke: 'CanvasText'\n }\n});\n\n/**\n * `useLayoutEffect` is being used in SSR safe form. On the server, this work doesn’t need to run.\n * `useEffect` is used in-place, because `useEffect` is not run on the server and it matches types\n * which makes things simpler than doing an `isServer` check or a `null` check.\n *\n * @see https://hello.atlassian.net/wiki/spaces/DST/pages/2081696628/DSTDACI-010+-+Interaction+Tracing+hooks+in+DS+components\n */\nconst useLayoutEffect = typeof window === 'undefined' ? useEffect : useRealLayoutEffect;\nexport default /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function Spinner({\n testId,\n appearance = 'inherit',\n delay = 0,\n size: providedSize = 'medium',\n interactionName\n}, ref) {\n const size = typeof providedSize === 'number' ? providedSize : presetSizes[providedSize];\n const animationDelay = `${delay}ms`;\n const {\n mode\n } = useGlobalTheme();\n const stroke = getStrokeColor({\n mode,\n appearance\n });\n const context = useContext(InteractionContext);\n useLayoutEffect(() => {\n if (context != null) {\n return context.hold(interactionName);\n }\n }, [context, interactionName]);\n\n /**\n * The Spinner animation uses a combination of two\n * css animations on two separate elements.\n */\n return jsx(\"span\", {\n /**\n * This span exists to off-load animations from the circle element,\n * which were causing performance issues (style recalculations)\n * on Safari and older versions of Chrome.\n *\n * This can be removed and styles placed back on the circle element once\n * Safari fixes this bug and off-loads rendering to the GPU from the CPU.\n */\n css: [wrapperStyles, rotateStyles],\n \"data-testid\": testId && `${testId}-wrapper`,\n style: {\n animationDelay,\n width: size,\n height: size\n }\n }, jsx(\"svg\", {\n height: size,\n width: size,\n viewBox: \"0 0 16 16\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"data-testid\": testId,\n ref: ref,\n css: loadInStyles,\n style: {\n animationDelay\n }\n }, jsx(\"circle\", {\n cx: \"8\",\n cy: \"8\",\n r: \"7\",\n css: circleStyles,\n style: {\n stroke\n }\n })));\n}));","import React from 'react';\nimport Spinner from '@atlaskit/spinner';\nfunction getSpinnerAppearance({\n appearance,\n isDisabled,\n isSelected\n}) {\n if (isDisabled) {\n return 'inherit';\n }\n if (isSelected) {\n return 'invert';\n }\n if (appearance === 'primary' || appearance === 'danger') {\n return 'invert';\n }\n return 'inherit';\n}\nexport default function LoadingSpinner({\n spacing = 'default',\n ...rest\n}) {\n const size = spacing === 'default' ? 'medium' : 'small';\n return /*#__PURE__*/React.createElement(Spinner, {\n size: size,\n appearance: getSpinnerAppearance(rest)\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React from 'react';\nimport Button from './button';\nimport LoadingSpinner from './shared/loading-spinner';\n/**\n * __Loading button__\n *\n * A small wrapper around Button that allows you to show an @atlaskit/spinner as an overlay on the button when you set an isLoading prop to true.\n *\n * - [Examples](https://atlassian.design/components/button/examples#loading-button)\n */\nconst LoadingButton = /*#__PURE__*/React.forwardRef(function LoadingButton({\n isLoading = false,\n ...rest\n}, ref) {\n // Button already has React.memo, so just leaning on that\n return /*#__PURE__*/React.createElement(Button, _extends({}, rest, {\n ref: ref,\n overlay: isLoading ? /*#__PURE__*/React.createElement(LoadingSpinner, rest) : null\n }));\n});\n\n// Tools including enzyme rely on components having a display name\nLoadingButton.displayName = 'LoadingButton';\nexport default LoadingButton;","import { useCallbackWithAnalytics } from '@atlaskit/analytics-next';\nimport { LoadingButton } from '@atlaskit/button';\nimport { N30, N80 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { text } from './styled';\n\nexport const StyledSubmitButton = styled(LoadingButton)`\n font-family: ${text};\n font-weight: 500;\n svg {\n margin: 0;\n }\n\n :hover {\n background-color: #0049b0;\n }\n\n :disabled,\n :disabled:hover {\n color: ${N80} !important;\n background-color: ${N30};\n opacity: 0.6;\n }\n &.devops {\n margin-top: 30px;\n }\n`;\n\nexport const SubmitButton = ({ label = '', ...props }) => {\n const handler = useCallbackWithAnalytics(() => undefined, {\n eventName: 'reactSignUpFormSubmitButtonClicked',\n data: {\n event: 'clicked', // event verb, in past tense (eg, \"clicked\")\n eventComponent: 'submitButton', // name of component being interacted with, in camelCase\n label,\n uuid: 'reactSignUpFormSubmitButton' // required for Magnolia events, unique id for a given component if available\n }\n });\n\n return (\n \n {props.children}\n \n );\n};\n","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\nexport const useCallbackWithAnalytics = (method, payload, channel) => {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n const methodRef = useTrackedRef(method);\n const payloadRef = useTrackedRef(payload);\n return useCallback((...args) => {\n const pload = typeof payloadRef.current === 'function' ? payloadRef.current(...args) : payloadRef.current;\n createAnalyticsEvent(pload).fire(channel);\n methodRef.current(...args);\n }, [createAnalyticsEvent, methodRef, payloadRef, channel]);\n};","import Textfield from '@atlaskit/textfield';\nimport React, { useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport {\n ErrorMessageWithDefaultClassName,\n FullNameFieldWrapper,\n Label,\n NameFieldGroup\n} from './styled';\n\nexport type DisplayNameProps = {\n readonly onNameChange: (displayName: string | null) => void;\n readonly displayname: string | null | undefined;\n readonly isDisabled: boolean;\n readonly fadeOnDisable?: boolean;\n readonly outlineOnFocus?: boolean;\n readonly popOverError?: boolean;\n};\n\nconst nonValidNamePattern =\n /((http(s)?|ftp|callto|mailto|skype|magnet):)|www\\.|:\\/\\/|@|\\$|^\\s+$/i;\n\nexport function DisplayNameField({\n onNameChange,\n displayname,\n isDisabled,\n fadeOnDisable,\n popOverError,\n outlineOnFocus\n}: DisplayNameProps) {\n const checkIsDisabled = () => {\n // ensure isDisabled can be set when form is submitting,\n return isDisabled;\n };\n const [alreadySentValid, setAlreadySentValid] = useState(false);\n const [displayName, setDisplayName] = useState(\n displayname ? displayname : ''\n );\n const [isValidDisplayName, setIsValidDisplayName] = useState(true);\n const [isWithinMaxLength, setIsWithinMaxLength] = useState(true);\n const [isDisplayNameFocused, setIsDisplayNameFocused] = useState(false);\n const [fieldDisabled, setFieldDisabled] = useState(checkIsDisabled());\n\n useEffect(() => {\n isValidDisplayName && isWithinMaxLength\n ? onNameChange(displayName)\n : onNameChange('');\n\n if (\n isValidDisplayName &&\n isWithinMaxLength &&\n displayName.length > 0 &&\n !alreadySentValid\n ) {\n setAlreadySentValid(true);\n }\n }, [displayName]);\n\n useEffect(() => {\n setFieldDisabled(checkIsDisabled());\n }, [isDisabled]);\n\n const updateDisplayName = (event: React.FormEvent) => {\n const value: string = event.currentTarget.value;\n setDisplayName(event.currentTarget.value);\n setIsValidDisplayName(true);\n setIsWithinMaxLength(true);\n\n if (value.match(nonValidNamePattern)) {\n setIsValidDisplayName(false);\n } else if (value.length > 255) {\n setIsWithinMaxLength(false);\n }\n };\n\n return (\n \n \n \n setIsDisplayNameFocused(true)}\n onBlur={() => setIsDisplayNameFocused(false)}\n />\n \n {!isValidDisplayName && (\n \n \n \n )}\n {!isWithinMaxLength && (\n \n \n \n )}\n \n );\n}\n","import InfoIcon from '@atlaskit/icon/glyph/info';\nimport { B400 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { InfoBoxContainer, InfoBoxContent } from './styled';\n\nexport type InfoBoxProps = {\n readonly children: React.ReactNode;\n readonly fontSize?: string;\n};\n\nexport function InfoBox({ children, fontSize }: InfoBoxProps) {\n return (\n \n \n {children}\n \n );\n}\n","import CrossIcon from '@atlaskit/icon/glyph/cross';\nimport ModalDialog, { ModalTransition } from '@atlaskit/modal-dialog';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React, { useEffect, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport {\n AnalyticsTrackType,\n BitbucketWorkspaces,\n ProductKeys\n} from '../../../../../model/wac-signup-form';\nimport { InfoBox } from './info-box';\nimport { ModalContents } from './styled';\n\nexport type BitbucketJiraInfoBoxProps = {\n readonly productsExisting: string[];\n analyticsTrack: AnalyticsTrackType;\n bitbucketWorkspaces?: BitbucketWorkspaces;\n};\n\nexport function BitbucketJiraInfoBox({\n productsExisting,\n analyticsTrack,\n bitbucketWorkspaces\n}: BitbucketJiraInfoBoxProps) {\n const { segment } = analyticsTrack;\n\n let hasOtherProducts = false;\n let hasBitBucket = false;\n let hasJiraSoftware = false;\n let infoText: FormattedMessage.MessageDescriptor = messages.infoBoxDefault;\n\n const [isModalOpen, setModalBoxOpen] = useState(false);\n\n productsExisting.map((productKey) => {\n switch (productKey) {\n case ProductKeys.BITBUCKET:\n hasBitBucket = true;\n break;\n case ProductKeys.JIRA_SOFTWARE:\n hasJiraSoftware = true;\n break;\n default:\n hasOtherProducts = true;\n }\n });\n\n useEffect(() => {\n if (!!bitbucketWorkspaces) {\n let userstate = '';\n if (hasOtherProducts && !hasBitBucket && !hasJiraSoftware) {\n userstate = 'noBB_noJSW_yesOtherSite';\n segment('bxp.try.signup.initialversionshown', { userstate });\n } else if (hasJiraSoftware && !hasBitBucket) {\n userstate = 'noBB_yesJSW';\n segment('bxp.try.signup.initialversionshown', { userstate });\n } else if (!hasOtherProducts && hasBitBucket && hasJiraSoftware) {\n userstate = 'yesBB_yesJSW_noOtherSite';\n segment('bxp.try.signup.initialversionshown', { userstate });\n } else if (hasBitBucket && !hasJiraSoftware && !hasOtherProducts) {\n userstate = 'yesBB_noJSW_noOtherSite';\n segment('bxp.try.signup.initialversionshown', { userstate });\n } else if (hasOtherProducts && hasBitBucket && !hasJiraSoftware) {\n userstate = 'yesBB_noJSW_yesOtherSite';\n segment('bxp.try.signup.initialversionshown', { userstate });\n } else if (hasOtherProducts && hasBitBucket && hasJiraSoftware) {\n userstate = 'yesBB_yesJSW_yesOtherSite';\n segment('bxp.try.signup.initialversionshown', { userstate });\n }\n }\n }, [bitbucketWorkspaces]);\n\n if (hasOtherProducts && !hasBitBucket && !hasJiraSoftware) {\n infoText = messages.infoBoxSite;\n } else if (hasJiraSoftware && !hasBitBucket) {\n infoText = messages.infoBoxSiteJsw;\n } else if (!hasOtherProducts && hasBitBucket && hasJiraSoftware) {\n infoText = messages.infoBoxBb;\n } else if (hasBitBucket && !hasJiraSoftware && !hasOtherProducts) {\n infoText = messages.infoBoxBb;\n } else if (hasOtherProducts && hasBitBucket && !hasJiraSoftware) {\n infoText = messages.infoBoxSiteBb;\n } else if (hasOtherProducts && hasBitBucket && hasJiraSoftware) {\n infoText = messages.infoBoxSiteBb;\n }\n\n if (!(infoText.defaultMessage && infoText.defaultMessage.length > 1)) {\n return null;\n } else {\n return (\n \n

    \n \n

    \n

    setModalBoxOpen(true)}>\n \n

    \n \n {isModalOpen && (\n setModalBoxOpen(false)} width=\"370px\">\n \n
    \n \n
    \n setModalBoxOpen(false)}>\n \n \n
    \n
    \n )}\n
    \n
    \n );\n }\n}\n","import 'isomorphic-fetch';\nimport { Product, ProductKeys } from '../../model/wac-signup-form';\n\nexport type FreeBreachTestPayloadType = {\n readonly cloudId: string;\n readonly productKeys: string[];\n readonly wacEnvUrl: string;\n};\n\nexport type BreachStatusType = {\n readonly isInBreachOfFree: boolean;\n};\n\nconst FREE_BREACH_PRODUCTS = [\n ProductKeys.JIRA_SOFTWARE,\n ProductKeys.JIRA_SERVICE_DESK,\n ProductKeys.JIRA_CORE,\n ProductKeys.CONFLUENCE\n];\n\nexport function computeFreeTrialRedirectURL(selectedSiteId: string) {\n const { origin, pathname, search } = window.location;\n const searchParams = new URLSearchParams(search);\n searchParams.set('edition', 'standard');\n searchParams.set('selectedSiteId', selectedSiteId);\n return `${origin}${pathname}?${searchParams.toString()}`;\n}\n\nexport function productsCanBeInBreachOfFree(products: Product[]) {\n const productsCanBeInBreach = products.reduce(\n (allProductsAreEligible: boolean, product: Product) => {\n return (\n allProductsAreEligible &&\n FREE_BREACH_PRODUCTS.includes(product.product as ProductKeys) &&\n product.edition === 'free'\n );\n },\n true\n );\n\n return productsCanBeInBreach;\n}\n\nexport async function checkBreachStatus({\n cloudId,\n productKeys,\n wacEnvUrl\n}: FreeBreachTestPayloadType) {\n const postBody = {\n cloudId,\n productKeys\n };\n\n const options = {\n headers: {\n 'content-type': 'application/json'\n },\n method: 'POST',\n body: JSON.stringify(postBody)\n };\n const breachStatusResponse = await fetch(\n `${wacEnvUrl}/endpoint/cloud/expand-free-validation`,\n options\n );\n\n const breachStatus = (await breachStatusResponse.json()) as BreachStatusType;\n\n return breachStatus.isInBreachOfFree;\n}\n","import { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport type { AnalyticsTrackType } from '../../../../../model/wac-signup-form';\nimport { computeFreeTrialRedirectURL } from '../../../../../service/sign-up-form/free-breach';\nimport { InfoBox } from './info-box';\n\nexport type BreachInfoBoxProps = {\n analyticsTrack: AnalyticsTrackType;\n selectedSiteId: string;\n};\n\nexport function BreachInfoBox({\n analyticsTrack,\n selectedSiteId\n}: BreachInfoBoxProps) {\n const freeTrialRedirectURL = computeFreeTrialRedirectURL(selectedSiteId);\n return (\n \n

    \n \n

    \n \n {\n analyticsTrack.segment('bxpSignupFreeUserBreachStart30DayTrial', {\n selectedSiteId\n });\n window.location.href = freeTrialRedirectURL;\n }}\n >\n \n

    \n
    \n );\n}\n","import { Checkbox } from '@atlaskit/checkbox';\nimport DropdownMenu, { DropdownItem } from '@atlaskit/dropdown-menu';\nimport Textfield from '@atlaskit/textfield';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport type {\n AnalyticsTrackType,\n BitbucketWorkspace,\n WorkspaceType\n} from '../../../../../model/wac-signup-form';\nimport {\n BitbucketAccountCheckbox,\n CompoundField,\n DropdownButtonStyle,\n DropdownButtonStyleOpen,\n DropdownTrigger,\n FieldContainer,\n Label,\n SitePickerTextfieldWrapper\n} from './styled';\n\nexport type BitbucketAccountPickerProps = {\n bbWorkspaces: BitbucketWorkspace[];\n bbWorkspacesTotal: number;\n bbNameOverride: string;\n selectedSite: string | null;\n sitesCount: number;\n onAccountChange: (accountName: string) => void;\n bbAccountCopy: (isEnabled: boolean) => void;\n analyticsTrack: AnalyticsTrackType;\n isValidSiteName: boolean;\n isDisabled: boolean;\n};\n\ntype OnOpenChangeProps = {\n readonly isOpen: boolean;\n readonly isDisabled: boolean;\n readonly event?: { [key: string]: any };\n};\n\nexport function BitbucketAccountPicker({\n bbWorkspaces,\n bbAccountCopy,\n bbNameOverride,\n onAccountChange,\n selectedSite,\n sitesCount,\n isValidSiteName,\n isDisabled\n}: BitbucketAccountPickerProps) {\n const [isCopyChecked, setIsCopyChecked] = useState(false);\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\n const [triggerText, setTriggerText] = useState({ ...messages.selectAccount });\n const [isCheckboxDisabled, setIsCheckboxDisabled] = useState(sitesCount > 1);\n const [bbAccountName, setBbAccountName] = useState('');\n\n useMemo(() => {\n if (selectedSite && selectedSite.length > 0) {\n setIsCheckboxDisabled(false);\n }\n if (!isValidSiteName) {\n setIsCheckboxDisabled(true);\n }\n }, [selectedSite, isValidSiteName]);\n\n useEffect(() => {\n if (!isValidSiteName) {\n setIsCopyChecked(false);\n bbAccountCopy(false);\n }\n }, [isValidSiteName]);\n\n useEffect(() => {\n if (bbWorkspaces?.[0]?.workspace?.name) {\n handleDropdownItemClick(bbWorkspaces[0].workspace);\n }\n }, []);\n\n const triggerButtonTheme = () => {\n const buttonStyles = !isDropdownOpen\n ? DropdownButtonStyle\n : Object.assign({}, DropdownButtonStyle, DropdownButtonStyleOpen);\n return {\n buttonStyles,\n spinnerStyles: {}\n };\n };\n\n const handleCopyAccount = () => {\n setIsCopyChecked(!isCopyChecked);\n\n bbAccountCopy(!isCopyChecked);\n if (isCopyChecked) {\n onAccountChange(bbAccountName);\n }\n };\n\n const handleDropdownItemClick = ({ name }: WorkspaceType) => {\n setTriggerText(\n Object.assign({}, messages.selectAccount, { defaultMessage: name })\n );\n onAccountChange(name);\n setBbAccountName(name);\n };\n\n const trigger = (\n \n \n \n );\n\n return (\n \n \n \n \n\n {isCopyChecked && (\n \n \n \n )}\n\n {!isCopyChecked && bbWorkspaces.length === 1 && (\n \n \n \n )}\n {!isCopyChecked && bbWorkspaces.length > 1 && (\n \n setIsDropdownOpen(isOpen)\n }\n >\n {bbWorkspaces.map((workspace) => {\n return (\n handleDropdownItemClick(workspace.workspace)}\n >\n {workspace.workspace.name}\n \n );\n })}\n \n )}\n {\n \n }\n isChecked={isCopyChecked}\n onChange={() => handleCopyAccount()}\n name=\"checkbox-basic\"\n isDisabled={isCheckboxDisabled || isDisabled}\n />\n \n }\n \n );\n}\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport const isAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof AnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'AnalyticsEvent';\n};\nexport default class AnalyticsEvent {\n constructor(props) {\n _defineProperty(this, \"_isAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n // just a shallow clone, don't change sub refs unless you want to\n // affect the original's too\n const payload = {\n ...this.payload\n };\n return new AnalyticsEvent({\n payload\n });\n });\n this.payload = props.payload;\n }\n update(updater) {\n if (typeof updater === 'function') {\n this.payload = updater(this.payload);\n }\n if (typeof updater === 'object') {\n this.payload = {\n ...this.payload,\n ...updater\n };\n }\n return this;\n }\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport AnalyticsEvent from './AnalyticsEvent';\nexport const isUIAnalyticsEvent = obj => {\n var _obj$constructor;\n return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||\n // Backwards compatibility with older analytics-next packages\n (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';\n};\nexport default class UIAnalyticsEvent extends AnalyticsEvent {\n constructor(props) {\n super(props);\n _defineProperty(this, \"_isUIAnalyticsEvent\", true);\n _defineProperty(this, \"clone\", () => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot clone an event after it's been fired.\");\n }\n return null;\n }\n const context = [...this.context];\n const handlers = [...this.handlers];\n\n /**\n * A hacky \"deep clone\" of the object. This is limited in that it wont\n * support functions, regexs, Maps, Sets, etc, but none of those need to\n * be represented in our payload.\n */\n const payload = JSON.parse(JSON.stringify(this.payload));\n return new UIAnalyticsEvent({\n context,\n handlers,\n payload\n });\n });\n _defineProperty(this, \"fire\", channel => {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn('Cannot fire an event twice.');\n }\n return;\n }\n this.handlers.forEach(handler => handler(this, channel));\n this.hasFired = true;\n });\n this.context = props.context || [];\n this.handlers = props.handlers || [];\n this.hasFired = false;\n }\n update(updater) {\n if (this.hasFired) {\n if (process.env.NODE_ENV !== 'production' && !process.env.CI) {\n // eslint-disable-next-line no-console\n console.warn(\"Cannot update an event after it's been fired.\");\n }\n return this;\n }\n return super.update(updater);\n }\n}","import { useContext } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nexport const useAnalyticsContext = () => {\n return useContext(AnalyticsReactContext);\n};","import { useEffect, useRef } from 'react';\nexport const useTrackedRef = value => {\n const ref = useRef(value);\n useEffect(() => {\n ref.current = value;\n }, [value]);\n return ref;\n};","import { useCallback } from 'react';\nimport { useAnalyticsEvents } from './useAnalyticsEvents';\nimport { useTrackedRef } from './useTrackedRef';\n// WARNING: This hook will only function correctly for leaf node components - as in\n// no children inside the component will require analytics themselves.\n// Ignoring this warning will mean the analytics context of child components will not\n// include the context of this component, .e.g, lost data.\n// If you are going to have child components that require analytics use withAnalytics\n// or AnalyticsContext component instead.\nexport function usePlatformLeafEventHandler({\n fn,\n action,\n componentName,\n actionSubject,\n packageName,\n packageVersion,\n analyticsData\n}) {\n const {\n createAnalyticsEvent\n } = useAnalyticsEvents();\n\n // We put analyticsData and fn in a ref so that we don't need to break\n // memoization.\n // Generally these could be defined by consumers inline\n // and so we do this to avoid breaking memoization of useCallback\n const dataRef = useTrackedRef(analyticsData);\n const fnRef = useTrackedRef(fn);\n const handler = useCallback(value => {\n const analyticsEvent = createAnalyticsEvent({\n action,\n actionSubject: actionSubject || componentName,\n attributes: {\n componentName,\n packageName,\n packageVersion\n }\n });\n\n // To avoid wrapping this component in AnalyticsContext we manually\n // push the parent context's meta data into the context.\n // Note: this new 'context'\n const context = {\n componentName,\n packageName,\n packageVersion,\n ...dataRef.current\n };\n analyticsEvent.context.push(context);\n\n // fire an event on the atlaskit channel\n const clone = analyticsEvent.clone();\n if (clone) {\n clone.fire('atlaskit');\n }\n fnRef.current(value, analyticsEvent);\n }, [\n // These are strings and won't change\n action, componentName, actionSubject, packageName, packageVersion,\n // This function is memoized in the context\n createAnalyticsEvent,\n // these are a stable ref because of the useTrackedRef hook\n dataRef, fnRef]);\n return handler;\n}","import { useCallbackOne } from 'use-memo-one';\nimport UIAnalyticsEvent from '../events/UIAnalyticsEvent';\nimport { useAnalyticsContext } from './useAnalyticsContext';\nexport function useAnalyticsEvents() {\n const analyticsContext = useAnalyticsContext();\n const createAnalyticsEvent = useCallbackOne(payload => {\n return new UIAnalyticsEvent({\n context: analyticsContext.getAtlaskitAnalyticsContext(),\n handlers: analyticsContext.getAtlaskitAnalyticsEventHandlers(),\n payload\n });\n }, [analyticsContext]);\n return {\n createAnalyticsEvent\n };\n}","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","import { createTheme } from '../utils/create-theme';\n\n// Create default global light theme\nconst {\n Provider,\n Consumer,\n useTheme\n} = createTheme(() => ({\n mode: 'light'\n}));\nexport { useTheme as useGlobalTheme };\nexport default {\n Provider,\n Consumer\n};","import React, { createContext, useCallback, useContext } from 'react';\n/**\n * createTheme is used to create a set of Providers and Consumers for theming components.\n * - Takes a default theme function; this theme function gets a set of props, and returns tokens\n * based on those props. An example of this default theme function is one that produces the standard\n * appearance of the component\n * - Returns three things - a Provider that allow for additional themes to be applied, a Consumer\n * that can get the current theme and fetch it, and a custom hook - useTheme which provides an alternate (although functionally the same) API\n * to the Consumer.\n */\nexport function createTheme(defaultGetTokens) {\n const emptyThemeFn = (getTokens, props) => getTokens(props);\n\n /**\n * Internally, Theme uses React Context, with internal providers and consumers.\n * The React Context passes only a function that gets props, and turns them into tokens. This\n * function gets mixed as more Providers with their own themes are added. This mixed function\n * is ultimately picked up by Consumers, which implement a context consumer internally to fetch\n * the theme.\n */\n const ThemeContext = /*#__PURE__*/createContext(defaultGetTokens);\n function useTheme(themeProps) {\n const theme = useContext(ThemeContext);\n const themeFn = theme || emptyThemeFn;\n const tokens = themeFn(themeProps);\n return tokens;\n }\n\n // The Theme Consumer takes a function as its child - this function takes tokens, and the\n // return value is generally a set of nodes with the tokens applied appropriately.\n function Consumer(props) {\n const {\n children,\n ...themeProps\n } = props;\n\n // @ts-ignore See issue for more info: https://github.com/Microsoft/TypeScript/issues/10727\n // Argument of type 'Pick ReactNode; }, Exclude>' is not assignable to parameter of type 'ThemeProps'.ts(2345)\n const tokens = useTheme(themeProps);\n // We add a fragment to ensure we don't break people upgrading.\n // Previously they may have been able to pass in undefined without things blowing up.\n return /*#__PURE__*/React.createElement(React.Fragment, null, children(tokens));\n }\n\n /**\n * The Theme Provider takes regular nodes as its children, but also takes a *theme function*\n * - The theme function takes a set of props, as well as a function (getTokens) that can turn props into tokens.\n * - The getTokens function isn't called immediately - instead the props are passed\n * through a mix of parent theming functions\n * Children of this provider will receive this mixed theme\n */\n function Provider(props) {\n const themeFn = useContext(ThemeContext);\n const valueFn = props.value || emptyThemeFn;\n const mixedFn = useCallback(themeProps => valueFn(themeFn, themeProps), [themeFn, valueFn]);\n return /*#__PURE__*/React.createElement(ThemeContext.Provider, {\n value: mixedFn\n }, props.children);\n }\n return {\n Consumer,\n Provider,\n useTheme\n };\n}","import { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { B100, B200, B300, B400, B50, B75, DN10, DN200, DN30, DN80, DN90, N10, N100, N20, N30, N40, N70, R300 } from '@atlaskit/theme/colors';\nconst radioThemeColors = {\n light: {\n background: `var(--ds-background-input, ${N10})`,\n backgroundHover: `var(--ds-background-input-hovered, ${N30})`,\n backgroundActive: `var(--ds-background-input-pressed, ${N30})`,\n backgroundChecked: `var(--ds-background-brand-bold, ${B400})`,\n backgroundCheckedHover: `var(--ds-background-brand-bold-hovered, ${B300})`,\n backgroundCheckedActive: `var(--ds-background-brand-bold-pressed, ${B50})`,\n backgroundDisabled: `var(--ds-background-disabled, ${N20})`,\n dotChecked: `var(--ds-icon-inverse, ${N10})`,\n dotDisabled: `var(--ds-icon-disabled, ${N70})`,\n dotActive: `var(--ds-icon-inverse, ${B400})`,\n border: `var(--ds-border-input, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? N100 : N40})`,\n borderHover: `var(--ds-border-input, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? N100 : N40})`,\n borderDisabled: `var(--ds-border-disabled, ${N20})`,\n borderFocus: `var(--ds-border-focused, ${B100})`\n },\n dark: {\n background: `var(--ds-background-input, ${DN10})`,\n backgroundHover: `var(--ds-background-input-hovered, ${DN30})`,\n backgroundActive: `var(--ds-background-input-pressed, ${B200})`,\n backgroundChecked: `var(--ds-background-brand-bold, ${B400})`,\n backgroundCheckedHover: `var(--ds-background-brand-bold-hovered, ${B75})`,\n backgroundCheckedActive: `var(--ds-background-brand-bold-pressed, ${B200})`,\n backgroundDisabled: `var(--ds-background-disabled, ${DN10})`,\n dotChecked: `var(--ds-icon-inverse, ${DN10})`,\n dotDisabled: `var(--ds-icon-disabled, ${DN90})`,\n dotActive: `var(--ds-icon-inverse, ${DN10})`,\n border: `var(--ds-border-input, ${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? DN200 : DN80})`,\n borderHover: `var(--ds-border-input, ${DN200})`,\n borderDisabled: `var(--ds-border-disabled, ${DN10})`,\n borderFocus: `var(--ds-border-focused, ${B75})`\n }\n};\nexport default function getRadioCustomProperties(mode) {\n const radioColors = radioThemeColors[mode];\n return {\n '--local-background': radioColors.background,\n '--local-background-active': radioColors.backgroundActive,\n '--local-background-checked': radioColors.backgroundChecked,\n '--local-background-checked-active': radioColors.backgroundCheckedActive,\n '--local-background-checked-hover': radioColors.backgroundCheckedHover,\n '--local-background-disabled': radioColors.backgroundDisabled,\n '--local-background-hover': radioColors.backgroundHover,\n '--local-border': radioColors.border,\n '--local-border-disabled': radioColors.borderDisabled,\n '--local-border-hover': radioColors.borderHover,\n '--local-border-focus': radioColors.borderFocus,\n '--local-dot-active': radioColors.dotActive,\n '--local-dot-checked': radioColors.dotChecked,\n '--local-dot-disabled': radioColors.dotDisabled,\n '--local-invalid': `var(--ds-icon-danger, ${R300})`\n };\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\nimport { forwardRef, memo, useMemo } from 'react';\nimport { css, jsx } from '@emotion/react';\nimport { usePlatformLeafEventHandler } from '@atlaskit/analytics-next/usePlatformLeafEventHandler';\nimport __noop from '@atlaskit/ds-lib/noop';\nimport { getBooleanFF } from '@atlaskit/platform-feature-flags';\nimport { DN600, N80, N900 } from '@atlaskit/theme/colors';\nimport GlobalTheme from '@atlaskit/theme/components';\nimport { fontFamily as getFontFamily } from '@atlaskit/theme/constants';\nimport getRadioCustomProperties from './styles';\nconst packageName = \"@atlaskit/radio\";\nconst packageVersion = \"5.6.1\";\nconst fontFamily = getFontFamily();\nconst noop = __noop;\nconst labelPaddingStyles = css({\n padding: `${\"var(--ds-space-025, 2px)\"} ${\"var(--ds-space-050, 4px)\"}`\n});\nconst labelStyles = css({\n display: 'flex',\n boxSizing: 'border-box',\n position: 'relative',\n alignItems: 'flex-start',\n fontFamily: fontFamily,\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '&[data-disabled]': {\n color: `var(--ds-text-disabled, ${N80})`,\n cursor: 'not-allowed'\n }\n});\nconst lightLabelStyles = css({\n color: `var(--ds-text, ${N900})`\n});\nconst darkLabelStyles = css({\n color: `var(--ds-text, ${DN600})`\n});\nconst radioStyles = css({\n display: 'flex',\n // TODO https://product-fabric.atlassian.net/browse/DSP-10507 revisit and remove the scale of 14/24\n /*\n The circle should be 14px * 14px centred in a 24px * 24px box.\n This is inclusive of a 2px border and inner circle with 2px radius.\n There is a Chrome bug that makes the circle become an oval and the\n inner circle not be centred at various zoom levels. This bug is fixed\n in all browsers if a scale of 14/24 is applied.\n */\n width: '24px',\n height: '24px',\n margin: \"var(--ds-space-0, 0px)\",\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n backgroundColor: 'var(--radio-background-color)',\n /* Border should multiply by 24/14 to offset scale, a scale of 12 / 7 is to fix a Chrome bug that makes the circle become an oval and the\n inner circle not be centred at various zoom levels */\n border: `${getBooleanFF('platform.design-system-team.update-border-input_ff9l1') ? '1px' : 'calc(2px * 12 / 7)'} solid var(--radio-border-color)`,\n borderRadius: '50%',\n MozAppearance: 'none',\n outline: 'none',\n /*\n Change the variables --radio-background-color, --radio-border-color,\n -radio-dot-color and -radio-dot-opacity according to user interactions.\n All other variables are constant\n */\n '--radio-background-color': 'var(--local-background)',\n '--radio-border-color': 'var(--local-border)',\n '--radio-dot-color': 'var(--local-dot-checked)',\n '--radio-dot-opacity': 0,\n /* 24px * 7 / 12 === 14px height and width */\n transform: 'scale(calc(7 / 12))',\n transition: 'border-color 0.2s ease-in-out, background-color 0.2s ease-in-out',\n verticalAlign: 'top',\n WebkitAppearance: 'none',\n '&::after': {\n /* Height and width should by 4px, multiply by 24/14 to offset scale */\n width: 'calc(4px * 12 / 7)',\n height: 'calc(4px * 12 / 7)',\n position: 'absolute',\n background: 'var(--radio-dot-color)',\n borderRadius: '50%',\n content: \"''\",\n opacity: 'var(--radio-dot-opacity)',\n transition: 'background-color 0.2s ease-in-out, opacity 0.2s ease-in-out'\n },\n '&:hover': {\n '--radio-background-color': 'var(--local-background-hover)',\n '--radio-border-color': 'var(local-border-hover)'\n },\n '&:active': {\n '--radio-background-color': 'var(--local-background-active)'\n },\n '&:focus': {\n '--radio-border-color': 'var(--local-border-focus)'\n },\n '&:checked': {\n '--radio-background-color': 'var(--local-background-checked)',\n '--radio-border-color': 'var(--local-background-checked)',\n '--radio-dot-opacity': 1\n },\n '&:checked:hover': {\n '--radio-background-color': 'var(--local-background-checked-hover)',\n '--radio-border-color': 'var(--local-background-checked-hover)'\n },\n '&:checked:active': {\n '--radio-background-color': 'var(--local-background-checked-active)',\n '--radio-border-color': 'var(--local-border-hover)',\n '--radio-dot-color': 'var(--local-dot-active)'\n },\n '&:checked:focus': {\n '--radio-border-color': 'var(--local-border-focus)'\n },\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '&[data-invalid], &:checked[data-invalid]': {\n '--radio-border-color': 'var(--local-invalid)'\n },\n '&:disabled, &:disabled:hover, &:disabled:focus, &:disabled:active, &:disabled[data-invalid]': {\n cursor: 'not-allowed',\n '--radio-background-color': 'var(--local-background-disabled)',\n '--radio-border-color': 'var(--local-border-disabled)',\n '--radio-dot-color': 'var(--local-dot-disabled)'\n }\n});\nconst RadioWithMode = /*#__PURE__*/forwardRef(function Radio(props, ref) {\n const {\n ariaLabel,\n isDisabled = false,\n isRequired,\n isInvalid = false,\n isChecked = false,\n label,\n mode,\n name,\n onChange = noop,\n value,\n testId,\n analyticsContext,\n // events and all other input props\n ...rest\n } = props;\n const onChangeAnalytics = usePlatformLeafEventHandler({\n fn: onChange,\n action: 'changed',\n analyticsData: analyticsContext,\n componentName: 'radio',\n packageName,\n packageVersion\n });\n const radioCustomProperties = useMemo(() => css(getRadioCustomProperties(mode)), [mode]);\n return (\n // https://product-fabric.atlassian.net/browse/DST-1971\n // eslint-disable-next-line jsx-a11y/label-has-associated-control,jsx-a11y/label-has-for\n jsx(\"label\", {\n \"data-testid\": testId && `${testId}--radio-label`,\n \"data-disabled\": isDisabled ? 'true' : undefined\n // TODO these will no longer be dynamic styles when legacy theming removed\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: [labelStyles, mode === 'light' ? lightLabelStyles : darkLabelStyles]\n }, jsx(\"input\", _extends({}, rest, {\n \"aria-label\": ariaLabel,\n checked: isChecked,\n disabled: isDisabled,\n name: name,\n onChange: onChangeAnalytics,\n required: isRequired,\n type: \"radio\",\n value: value,\n \"data-testid\": testId && `${testId}--radio-input`\n // isInvalid is used in a nonstandard way so cannot\n // use :invalid selector\n ,\n \"data-invalid\": isInvalid ? 'true' : undefined\n // TODO radioCustomProperties can be defined at top of file when legacy theming removed\n // eslint-disable-next-line @repo/internal/react/consistent-css-prop-usage\n ,\n css: [radioStyles, radioCustomProperties],\n ref: ref\n })), label ? jsx(\"span\", {\n css: labelPaddingStyles\n }, label) : null)\n );\n});\n\n/**\n * __Radio__\n *\n * A radio input allows users to select only one option from a number of choices. Radio is generally displayed in a radio group.\n *\n * - [Examples](https://atlassian.design/components/radio/examples)\n * - [Code](https://atlassian.design/components/radio/code)\n * - [Usage](https://atlassian.design/components/radio/usage)\n */\nconst Radio = /*#__PURE__*/memo( /*#__PURE__*/forwardRef(function Radio(props, ref) {\n return jsx(GlobalTheme.Consumer, null, ({\n mode\n }) => jsx(RadioWithMode, _extends({}, props, {\n ref: ref,\n mode: mode\n })));\n}));\nexport default Radio;","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { useCallback, useState } from 'react';\nimport noop from '@atlaskit/ds-lib/noop';\nimport Radio from './radio';\nconst noOptions = [];\nexport default function RadioGroup(props) {\n const {\n onChange,\n options = noOptions,\n value: propValue,\n defaultValue,\n isDisabled,\n isRequired,\n isInvalid,\n onInvalid = noop,\n name,\n analyticsContext,\n ['aria-labelledby']: ariaLabelledBy\n } = props;\n const [selectedValue, setSelectedValue] = useState(propValue !== undefined ? propValue : defaultValue);\n const onRadioChange = useCallback((e, analyticsEvent) => {\n setSelectedValue(e.currentTarget.value);\n if (onChange) {\n onChange(e, analyticsEvent);\n }\n }, [onChange]);\n\n // If propValue is provided than act as a controlled component\n // If not then act as an uncontrolled component using the value from state\n const value = typeof propValue !== 'undefined' ? propValue : selectedValue;\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"radiogroup\",\n \"aria-labelledby\": ariaLabelledBy\n }, options.map(({\n ...optionProps\n }, index) => {\n if (typeof isDisabled !== 'undefined') {\n optionProps.isDisabled = isDisabled;\n }\n const isChecked = value != null && optionProps.value === value;\n return /*#__PURE__*/React.createElement(Radio, _extends({}, optionProps, {\n name: name || optionProps.name,\n key: index,\n onChange: onRadioChange,\n onInvalid: onInvalid,\n isInvalid: isChecked && isInvalid,\n isChecked: isChecked,\n isRequired: isRequired,\n analyticsContext: analyticsContext\n }));\n }));\n}","import { RadioGroup } from '@atlaskit/radio';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport type { AnalyticsTrackType } from '../../../../../model/wac-signup-form';\nimport { InfoBox } from './info-box';\n\nimport { Label, RadioGroupWrapper } from './styled';\n\nexport type GdprLocationProps = {\n onLocationChange: (gdprLocation: string | null) => void;\n analyticsTrack: AnalyticsTrackType;\n};\nconst gdprData = [\n { name: 'gdprDataUS', value: 'US', label: 'US' },\n { name: 'gdprDataEU', value: 'EU', label: 'EU' }\n];\n\nexport function GdprLocation({\n onLocationChange,\n analyticsTrack\n}: GdprLocationProps) {\n const { segment } = analyticsTrack;\n\n return (\n <>\n \n \n {\n segment('wac-signup-gdpr-selected', { value: event.target.value });\n onLocationChange(event.target.value);\n }}\n />\n \n \n \n \n \n );\n}\n","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nconst ContextTypes = {\n getAtlaskitAnalyticsContext: PropTypes.func,\n getAtlaskitAnalyticsEventHandlers: PropTypes.func\n};\n\nconst noop = () => []; // eslint-disable-next-line @repo/internal/react/no-class-components\n\n\nclass AnalyticsContext extends Component {\n constructor(props) {\n super(props);\n\n _defineProperty(this, \"getChildContext\", () => ({\n getAtlaskitAnalyticsContext: this.getAnalyticsContext\n }));\n\n _defineProperty(this, \"getAnalyticsContext\", () => {\n const {\n data\n } = this.props;\n const {\n getAtlaskitAnalyticsContext = noop\n } = this.context;\n return [...getAtlaskitAnalyticsContext(), data];\n });\n\n _defineProperty(this, \"getAnalyticsEventHandlers\", () => {\n const {\n getAtlaskitAnalyticsEventHandlers = noop\n } = this.context;\n return getAtlaskitAnalyticsEventHandlers();\n });\n\n this.contextValue = {\n getAtlaskitAnalyticsContext: this.getAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers\n };\n }\n\n render() {\n const {\n children\n } = this.props;\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: this.contextValue\n }, children);\n }\n\n}\n\n_defineProperty(AnalyticsContext, \"contextTypes\", ContextTypes);\n\n_defineProperty(AnalyticsContext, \"childContextTypes\", ContextTypes);\n\nexport default AnalyticsContext;","var _process$env;\n\nimport LegacyAnalyticsContext from './LegacyAnalyticsContext';\nimport ModernAnalyticsContext from './ModernAnalyticsContext';\nlet ExportedAnalyticsContext;\n\nif (typeof process !== 'undefined' && process !== null && (_process$env = process.env) !== null && _process$env !== void 0 && _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']) {\n ExportedAnalyticsContext = ModernAnalyticsContext;\n} else {\n ExportedAnalyticsContext = LegacyAnalyticsContext;\n}\n\nexport default ExportedAnalyticsContext;","import React, { useCallback, useMemo } from 'react';\nimport { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';\nimport { useAnalyticsContext } from '../../hooks/useAnalyticsContext';\nimport { useTrackedRef } from '../../hooks/useTrackedRef';\n\nconst AnalyticsContext = ({\n data,\n children\n}) => {\n const dataRef = useTrackedRef(data);\n const analyticsContext = useAnalyticsContext();\n const getAtlaskitAnalyticsContext = useCallback(() => {\n return [...analyticsContext.getAtlaskitAnalyticsContext(), dataRef.current];\n }, [analyticsContext, dataRef]);\n const value = useMemo(() => ({\n getAtlaskitAnalyticsContext,\n getAtlaskitAnalyticsEventHandlers: analyticsContext.getAtlaskitAnalyticsEventHandlers\n }), [analyticsContext, getAtlaskitAnalyticsContext]);\n return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {\n value: value\n }, children);\n};\n\nexport default AnalyticsContext;","import { AnalyticsContext } from '@atlaskit/analytics-next';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport { MigrationSourceDiv, WacSignupFormContainer } from './styled';\n\nexport type MigrationSourceProps = {\n readonly isClaimedMigration: boolean;\n};\n\nexport function MigrationSource({ isClaimedMigration }: MigrationSourceProps) {\n return (\n \n \n \n {isClaimedMigration && (\n \n )}\n\n {!isClaimedMigration && (\n \n )}\n \n \n \n );\n}\n","import {\n CreateUIAnalyticsEvent,\n UIAnalyticsEvent\n} from '@atlaskit/analytics-next';\nimport {\n ProductKeys,\n BitbucketWorkspace,\n Sites,\n ProductPayloadObject\n} from '../../model/wac-signup-form';\nimport {\n NewRelicTracking,\n OptimizelyType,\n SegmentType\n} from '@atlassiansox/bxpkit-core';\nimport { uniq } from 'lodash';\nimport { DeferSitenameCohort } from '../../layouts/legacy/view/utility/get-defer-sitename-experiment-cohort';\nimport { Environment } from '@atlassiansox/bxpkit-core';\nimport {\n MarieSchemaAnalyticsType,\n Product\n} from '@atlassiansox/bxpkit-core/src';\n\ntype CreateSolutionStatsEventType = {\n readonly workspaceUuid?: string;\n readonly signUpFormUIState: { [key: string]: any };\n readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\n\n/**\n * This function returns an analytics-next event for\n * tracking which products were provisioned vs existing,\n * as well as the primary cloudId & any existing instance IDs\n * in the cloud provisioning (or activateProducts) request.\n *\n * @param signUpFormUIState - complete signup form UIState object\n * @param createAnalyticsEvent - analytics-next function, to be passed in from UI\n */\n\nexport function createSolutionStatsEvent({\n signUpFormUIState,\n createAnalyticsEvent\n}: CreateSolutionStatsEventType): UIAnalyticsEvent | undefined {\n const {\n signupState,\n isBbCopyEnabled,\n bbWorkspaces,\n productsExisting,\n pickableSites,\n isBundleBBJSW,\n isBundleDevops\n } = signUpFormUIState;\n\n if (!isBundleDevops && !isBundleBBJSW) {\n return;\n }\n\n let isNewSiteProvisioned = false;\n const isN2NAtlassian = productsExisting.length === 0;\n const isNewBitbucketWorkspace = isBbCopyEnabled || bbWorkspaces.length === 0;\n const signupUrl = window?.location?.href || '';\n const targetCloudId = signupState?.selectedSite?.cloudId || null;\n\n const existingProducts = uniq(productsExisting);\n let existingInstanceIds: string[] = [];\n let provisionedProducts: string[] = [];\n\n // gather all existing instance IDs\n if (bbWorkspaces && bbWorkspaces.length > 0) {\n existingInstanceIds = existingInstanceIds.concat(\n bbWorkspaces.map(\n (workspace: BitbucketWorkspace) => workspace?.workspace?.uuid\n )\n );\n }\n if (pickableSites && pickableSites.length > 0) {\n existingInstanceIds = existingInstanceIds.concat(\n pickableSites.map((site: Sites) => site?.cloudId)\n );\n }\n\n if (isBundleBBJSW) {\n // either existing sitepicker is not rendered, or a site\n // was selected without JSW included\n isNewSiteProvisioned =\n !signupState.isExistingSitePickerN2E ||\n (signupState?.selectedSite?.products &&\n !signupState?.selectedSite?.products.includes(\n ProductKeys.JIRA_SOFTWARE\n ));\n\n // potentially provisioned products for BB/JSW\n provisionedProducts = [\n ProductKeys.JIRA_SOFTWARE,\n ProductKeys.BITBUCKET\n ].map((key) => key.toString());\n\n // filter out provisioned products if existing products were used\n if (!isNewSiteProvisioned) {\n provisionedProducts = provisionedProducts.filter(\n (key) => key != ProductKeys.JIRA_SOFTWARE\n );\n }\n\n if (!isNewBitbucketWorkspace) {\n provisionedProducts = provisionedProducts.filter(\n (key) => key != ProductKeys.BITBUCKET\n );\n }\n }\n\n existingInstanceIds = uniq(existingInstanceIds);\n\n return createAnalyticsEvent({\n eventName: 'bxp.formCloudSignup.solutionStats',\n event: 'clicked',\n eventComponent: 'button',\n data: {\n isN2NAtlassian,\n signupUrl,\n existingProducts,\n provisionedProducts,\n existingInstanceIds,\n isNewSiteProvisioned,\n targetCloudId,\n provisionedCloudId: null\n }\n });\n}\n\nexport type TrackSignupButtonClickedOptions = {\n context: MarieSchemaAnalyticsType;\n buttonLabel: string | undefined;\n createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\nexport const trackSignupButtonClicked = ({\n context,\n buttonLabel,\n createAnalyticsEvent\n}: TrackSignupButtonClickedOptions) => {\n const eventName = 'bxp.formCloudSignup.signup-button-clicked';\n const data = {\n eventType: 'track',\n eventContainer: 'signUpForm',\n event: 'clicked',\n eventComponent: 'button',\n uuid: '6707236536632157',\n label: buttonLabel,\n productKey: context.productKey,\n productsOffered: context.productsOffered,\n loginUserDetected: context.loginUserDetected,\n userEmail: context.userEmail,\n suiteName: context.suiteName,\n productEdition: context.productEdition,\n productPlatform: context.productPlatform,\n schemaVersion: context.schemaVersion\n };\n\n context?.analyticsTrack?.segment(eventName, data);\n createAnalyticsEvent({ eventName, data }).fire();\n};\n\nexport type TrackN2ESubmitOptions = {\n cloudId: string | undefined;\n products: Product[] | null;\n segment: SegmentType;\n};\nexport const trackN2ESubmit = ({\n cloudId,\n products,\n segment\n}: TrackN2ESubmitOptions) => {\n segment('bxp.formCloudSignup.N2ESubmit', {\n cloudId,\n products,\n signupUrl: window.location.href\n });\n};\n\nexport type TrackN2ESubmitOptions2 = {\n cloudId: string;\n products: Product[];\n signupUrl: string;\n accountId: string;\n createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\nexport const trackN2ESubmit2 = ({\n cloudId,\n products,\n signupUrl,\n accountId,\n createAnalyticsEvent\n}: TrackN2ESubmitOptions2) => {\n createAnalyticsEvent({\n eventName: 'bxp.formCloudSignup.N2ESubmit',\n event: 'clicked',\n eventComponent: 'button',\n targetCloudId: cloudId,\n provisionedProducts: products,\n signupUrl,\n aaid: accountId\n }).fire();\n};\n\nexport type TrackRecaptchaErrorOptions = {\n segment: SegmentType;\n};\nexport const trackRecaptchaError = ({\n segment\n}: TrackRecaptchaErrorOptions) => {\n segment('bxp.formCloudSignup.reCaptchaError', {});\n};\n\nexport type TrackSubmitWithCaptchaOptions = {\n newRelic: NewRelicTracking;\n};\nexport const trackSubmitWithCaptcha = ({\n newRelic\n}: TrackSubmitWithCaptchaOptions) => {\n newRelic.action('bxp.formCloudSignup.submitWithCaptcha', '');\n};\n\nexport type TrackSignUpFormSubmitSucceededOptions = {\n createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\nexport const trackSignUpFormSubmitSucceeded = ({\n createAnalyticsEvent\n}: TrackSignUpFormSubmitSucceededOptions) => {\n createAnalyticsEvent({\n eventName: 'reactSignUpFormSubmitSucceeded',\n data: {\n event: 'submitSucceeded', // event verb, in past tense (eg, \"clicked\")\n uuid: 'reactSignUpForm' // required for Magnolia events, unique id for a given component if available\n }\n }).fire();\n};\n\nexport type TrackSignUpFormSubmitFailedOptions = {\n createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\nexport const trackSignUpFormSubmitFailed = ({\n createAnalyticsEvent\n}: TrackSignUpFormSubmitFailedOptions) => {\n createAnalyticsEvent({\n eventName: 'reactSignUpFormSubmitFailed',\n data: {\n event: 'submitFailed', // event verb, in past tense (eg, \"clicked\")\n uuid: 'reactSignUpForm' // required for Magnolia events, unique id for a given component if available\n }\n }).fire();\n};\n\nexport type TrackSignupContextTooLargeOptions = {\n contextLength: number;\n newRelic: NewRelicTracking;\n};\nexport const trackSignupContextTooLarge = ({\n contextLength,\n newRelic\n}: TrackSignupContextTooLargeOptions) => {\n newRelic.action(\n 'bxp.formCloudSignup.signupContextTooLarge',\n contextLength.toString()\n );\n};\n\nexport type TrackActivateProductsSubmitOptions = {\n activateProducts: boolean;\n segment: SegmentType;\n};\nexport const trackActivateProductsSubmit = ({\n activateProducts,\n segment\n}: TrackActivateProductsSubmitOptions) => {\n segment('bxp.formCloudSignup.activateProductsSubmit', {\n activateProducts\n });\n};\n\nexport type TrackFormSubmitOptions = {\n isLoggedIn: boolean | undefined;\n segment: SegmentType;\n newRelic: NewRelicTracking;\n optimizely: OptimizelyType;\n};\nexport const trackFormSubmit = ({\n isLoggedIn,\n segment,\n newRelic,\n optimizely\n}: TrackFormSubmitOptions) => {\n segment('bxp.formCloudSignup.formSubmit', {\n type: isLoggedIn ? 'N2E' : 'N2N'\n });\n newRelic.action('bxp.formCloudSignup.formSubmit', isLoggedIn ? 'N2E' : 'N2N');\n optimizely('cart-cloud.submitted');\n};\n\nexport type TrackProgressPollInvalidOptions = {\n segment: SegmentType;\n};\nexport const trackProgressPollInvalid = ({\n segment\n}: TrackProgressPollInvalidOptions) => {\n segment('bxp.formCloudSignup.progressPollInvalid', { label: 'cloudName' });\n};\n\nexport type TrackWaitedSignupPageSubmitMoreThan15S = {\n newRelic: NewRelicTracking;\n segment: SegmentType;\n};\nexport const trackWaitedSignupPageSubmitMoreThan15SOptions = ({\n newRelic,\n segment\n}: TrackWaitedSignupPageSubmitMoreThan15S) => {\n const eventName = 'bxp.formCloudSignup.waitedSignupPageSubmit>15s';\n newRelic.action(eventName, '');\n segment(eventName, {});\n};\n\nexport type TrackWaitedSignupPageSubmitMoreThan60SOptions = {\n newRelic: NewRelicTracking;\n segment: SegmentType;\n};\nexport const trackWaitedSignupPageSubmitMoreThan60S = ({\n newRelic,\n segment\n}: TrackWaitedSignupPageSubmitMoreThan60SOptions) => {\n const eventName = 'bxp.formCloudSignup.waitedSignupPageSubmit>60s';\n newRelic.action(eventName, '');\n segment(eventName, {});\n};\n\nexport type TrackProgressUriErrOptions = {\n err: any;\n newRelic: NewRelicTracking;\n segment: SegmentType;\n};\nexport const trackProgressUriErr = ({\n err,\n newRelic,\n segment\n}: TrackProgressUriErrOptions) => {\n const eventName = 'bxp.formCloudSignup.progressUri';\n segment(eventName, { err });\n newRelic.trackAjax(eventName, err, false);\n};\n\nexport type TrackProgressUriOptions = {\n response: any;\n newRelic: NewRelicTracking;\n};\nexport const trackProgressUri = ({\n response,\n newRelic\n}: TrackProgressUriOptions) => {\n newRelic.trackAjax('bxp.formCloudSignup.progressUri', response, true);\n};\n\nexport type TrackProgressPollMissingOptions = {\n segment: SegmentType;\n};\nexport const trackProgressPollMissing = ({\n segment\n}: TrackProgressPollMissingOptions) => {\n segment('bxp.formCloudSignup.progressPollMissing', { label: 'body' });\n};\n\nexport type TrackSubmitSuccessOptions = {\n isLoggedIn: boolean;\n segment: SegmentType;\n optimizely: OptimizelyType;\n};\nexport const trackSubmitSuccess = ({\n isLoggedIn,\n segment,\n optimizely\n}: TrackSubmitSuccessOptions) => {\n segment('bxp.formCloudSignup.submitSuccess', {\n type: isLoggedIn ? 'N2E' : 'N2N'\n });\n segment('bxp.formCloudSignup.confirmedEvaluation', {});\n optimizely('cart-cloud.completed-checkout-step.complete-signup-page');\n};\n\nexport type TrackGoToBitbucketOptions = {\n newRelic: NewRelicTracking;\n};\nexport const trackGoToBitbucket = ({ newRelic }: TrackGoToBitbucketOptions) => {\n newRelic.action('bxp.formCloudSignup.goToBitbucket', '');\n};\n\nexport type TrackGoToJSWOptions = {\n newRelic: NewRelicTracking;\n};\nexport const trackGoToJSW = ({ newRelic }: TrackGoToJSWOptions) => {\n newRelic.action('bxp.formCloudSignup.goToJSW', '');\n};\n\nexport type TrackProgressPollErrorOptions = {\n label: string;\n segment: SegmentType;\n};\nexport const trackProgressPollError = ({\n label,\n segment\n}: TrackProgressPollErrorOptions) => {\n segment('bxp.formCloudSignup.progressPollError', { label });\n};\n\nexport type TrackSubmitSuccessProductsOptions = {\n products: ProductPayloadObject[];\n isLoggedIn: boolean;\n segment: SegmentType;\n optimizely: OptimizelyType;\n};\nexport const trackSubmitSuccessProducts = ({\n products,\n isLoggedIn,\n segment,\n optimizely\n}: TrackSubmitSuccessProductsOptions) => {\n segment('bxp.formCloudSignup.submitSuccess', {\n type: isLoggedIn ? 'N2E' : 'N2N'\n });\n optimizely('cart-cloud.completed-checkout-step.complete-signup-page');\n products.forEach((p) => optimizely(`cart-cloud.added-product.${p.product}`));\n};\n\ninterface TrackDeferSitenameSignups {\n isSitenameSpecified: boolean;\n isSiteNew: boolean;\n numberOfExistingUserSites: number;\n optionalSitenameFeatureCohort: DeferSitenameCohort;\n sitename: string | null;\n userId: string;\n}\n\n// add to atlassian-service-clients if this gets productionized\nexport const trackDeferSitenameSignups = ({\n isSitenameSpecified,\n isSiteNew,\n optionalSitenameFeatureCohort,\n numberOfExistingUserSites,\n sitename,\n userId\n}: TrackDeferSitenameSignups) => {\n fetch(\n `${Environment.getApiPrivateUrl()}/bxp/signup/analytics/deferred-sitename-signup`,\n {\n method: 'POST',\n headers: [['Content-Type', 'application/json']],\n body: JSON.stringify({\n action: 'provisioningInitiated',\n actionSubject: 'product',\n product: 'marketing',\n attributes: {\n isSiteNew,\n isSitenameSpecified,\n numberOfExistingUserSites,\n optionalSitenameFeatureCohort,\n sitename\n },\n userId,\n tenantId: 'tenantId',\n tenantIdType: 'tenantIdType'\n })\n }\n ).catch((err) => console.log(err));\n};\n\nexport interface TrackExposedToDeferSitename {\n createAnalyticsEvent: CreateUIAnalyticsEvent;\n value: DeferSitenameCohort;\n products: string[];\n}\n\nexport const trackExposedToDeferSitename = ({\n createAnalyticsEvent,\n value,\n products\n}: TrackExposedToDeferSitename) =>\n createAnalyticsEvent({\n action: 'exposed',\n actionSubject: 'feature',\n product: 'marketing',\n attributes: {\n flagKey: 'economy.growth.defer-site-name.experiment',\n value,\n growthInitiative: 'signup',\n products\n }\n }).fire();\n","import { UIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport { AppKey, Url } from '@atlassiansox/bxpkit-core';\nimport 'isomorphic-fetch';\nimport Cookies from 'js-cookie';\nimport type {\n AnalyticsTrackType,\n ConsentsObject,\n ProductPayloadObject\n} from '../../model';\n\nimport { ResendEmailType, SubmitErrorType } from '../../model';\nimport {\n trackGoToBitbucket,\n trackGoToJSW,\n trackProgressPollError,\n trackProgressPollInvalid,\n trackProgressPollMissing,\n trackProgressUri,\n trackProgressUriErr,\n trackSubmitSuccess,\n trackSubmitSuccessProducts,\n trackWaitedSignupPageSubmitMoreThan15SOptions,\n trackWaitedSignupPageSubmitMoreThan60S\n} from './analytics';\n\nconst URL_JSW_STAGE = 'jira-dev.com';\nconst URL_JSW_PROD = 'atlassian.net';\n\nconst URL_BB_STAGE = 'https://integration.bb-inf.net';\nconst URL_BB_PROD = 'https://bitbucket.org';\n\nexport const URL_BITBUCKET_BUNDLE_PAGE = 'software/bitbucket/bundle';\n\nexport type FormSubmitN2NType = {\n readonly payload: FormPayloadType | FormPayloadActivateProducts;\n readonly wacEnvUrl: string;\n readonly confirmationPageUrl: string;\n readonly checkEmailPageUrl: string;\n readonly isStaging: boolean;\n readonly isLoggedIn?: boolean;\n readonly isJswIncluded?: boolean | null;\n readonly isOpsgenieIncluded?: boolean | null;\n readonly dataRegion?: string | null;\n readonly setPollingLoaderShown: (val: boolean) => void;\n readonly analyticsTrack: AnalyticsTrackType;\n readonly setSubmitError: (val: SubmitErrorType) => void;\n readonly resendEmail?: ResendEmailScreenType;\n readonly solutionStatsEvent?: UIAnalyticsEvent;\n readonly hideUserSegmentation?: boolean;\n readonly isAppProvisioningEligible?: boolean;\n};\n\nexport type FormSubmitDeferredPasswordType = {\n readonly email: string | null;\n readonly displayName: string | null | undefined;\n readonly continueUrl: string | null;\n readonly isStaging: boolean | null;\n readonly setPollingLoaderShown: (val: boolean) => void;\n readonly analyticsTrack: AnalyticsTrackType;\n readonly setSubmitError: (val: SubmitErrorType) => void;\n};\n\nexport type ResendEmailScreenType = {\n readonly enableResendEmail: boolean;\n readonly setShowResendEmail: (val: boolean) => void;\n readonly setShowDevopsCarouselEnd: (val: boolean) => void;\n readonly setGoToURL: (val: string) => void;\n readonly enableCarouselEndCard: boolean;\n};\n\nexport type GoToJSWType = {\n readonly isStaging: boolean;\n readonly jswName: string;\n readonly resendEmail?: ResendEmailScreenType;\n};\n\nexport type GoToBitbucketType = {\n readonly isStaging: boolean;\n readonly resendEmail?: ResendEmailScreenType;\n};\n\ntype PollForSuccessType = {\n readonly analyticsTrack: AnalyticsTrackType;\n readonly confirmationPageUrl: string;\n readonly checkEmailPageUrl: string;\n readonly isStaging: boolean;\n readonly wacEnvUrl: string;\n readonly isLoggedIn: boolean;\n readonly progressUri: string;\n readonly cloudName: string | null;\n readonly products: ProductPayloadObject[];\n readonly setSubmitError: (val: SubmitErrorType) => void;\n readonly setPollingLoaderShown: (val: boolean) => void;\n readonly isJswIncluded?: boolean | null;\n readonly isOpsgenieIncluded?: boolean | null;\n readonly dataRegion?: string | null;\n readonly resendEmail?: ResendEmailScreenType;\n readonly solutionStatsEvent?: UIAnalyticsEvent;\n readonly hideUserSegmentation?: boolean;\n readonly isAppProvisioningEligible?: boolean;\n};\n\nexport type FormPayloadActivateProducts = {\n activateProducts?: boolean;\n products: ProductPayloadObject[];\n cloudId?: string;\n cloudName: string | null;\n advancedSettings?: {\n [key: string]: number | boolean | string | Record;\n };\n signupContext?: string;\n};\n\nexport type FormPayloadType = {\n adminUsername: string;\n gRecaptchaResponse?: string;\n cloudName: string | null;\n email: string | null;\n timezone: string | null;\n firstName: string | null;\n lastName: string | null;\n adminPassword?: string | null;\n signupContext?: string;\n dataRegion?: string;\n consent: {\n site: string | null;\n locale: string | null;\n formUrl: string | null;\n consents: ConsentsObject[];\n };\n} & FormPayloadActivateProducts;\n\nconst localStorageGet = (key: string): string => {\n try {\n return localStorage.getItem(key) || '';\n } catch (e) {\n return '';\n }\n};\n\n// N2N anon user\nfunction goToCheckEmail(\n wacEnvUrl: string,\n checkEmailPageUrl: string,\n cloudName: string,\n products: string,\n analyticsTrack: AnalyticsTrackType,\n resendEmail?: ResendEmailScreenType\n) {\n const splitPath = checkEmailPageUrl?.split('/');\n\n if (splitPath && splitPath.length >= 2 && splitPath[1].includes('wac')) {\n // remove contextual path if applicable\n splitPath.splice(0, 2);\n checkEmailPageUrl = `/${splitPath.join('/')}`;\n }\n\n const { newRelic, segment } = analyticsTrack;\n\n newRelic.action('apollo.signup.redirect-to-check-email', '');\n segment('bxp.formCloudSignup.navigatedToCheckEmail', {});\n\n const queryParams = {\n accountName: cloudName,\n products\n };\n\n // if (features.enableAutogenSiteName) {\n // delete queryParams.accountName;\n // }\n // setResendEmailParams(cloudId, requestId);\n\n if (resendEmail?.enableResendEmail) {\n resendEmail.setShowResendEmail(true);\n return;\n }\n const urlParams = csvParams(queryParams);\n const nextUrl = `${wacEnvUrl}${checkEmailPageUrl}/?${urlParams}`;\n window.location.assign(nextUrl);\n return;\n}\n\nfunction goToBitbucket({ isStaging, resendEmail }: GoToBitbucketType) {\n const nextUrl = `${\n isStaging ? URL_BB_STAGE : URL_BB_PROD\n }/dashboard/overview`;\n if (resendEmail?.enableCarouselEndCard) {\n resendEmail.setGoToURL(nextUrl);\n return resendEmail.setShowDevopsCarouselEnd(true);\n }\n window.location.assign(nextUrl);\n}\n\nfunction goToJSW({ isStaging, jswName, resendEmail }: GoToJSWType) {\n const nextUrl = `https://${jswName}.${\n isStaging ? URL_JSW_STAGE : URL_JSW_PROD\n }`;\n if (resendEmail?.enableCarouselEndCard) {\n resendEmail.setGoToURL(nextUrl);\n return resendEmail.setShowDevopsCarouselEnd(true);\n }\n window.location.assign(nextUrl);\n}\n\nexport function generateRenameUrl(\n wacEnvUrl: string,\n cloudId: string,\n progressUri: string,\n redirectUrl: string,\n siteRenamePageUrl: string,\n isPermitted?: boolean\n) {\n const queryParams: any = {\n cloudId,\n requestId: getRequestId(progressUri),\n redirecturl: encodeURIComponent(redirectUrl),\n isPermitted\n };\n return `${wacEnvUrl}${siteRenamePageUrl}?${csvParams(queryParams)}`;\n}\n\n// Allow for product developers to connect to staging instance\nexport const isTestTenantByName = (\n isStaging: boolean,\n cloudName: string | null\n) => {\n // testing tenant pattern: atl-vertigo--jira-jira-branch-foo--bar\n const TEST_TENANT_PATTERN =\n /^atl-vertigo--(((?:jira|j|rolex|stg)+-jira-branch-[^-]+--)|(conf-(conf|stg)-proxy-\\w+--[\\w-]+)).*$/;\n return isStaging && cloudName && TEST_TENANT_PATTERN.test(cloudName);\n};\n\ntype GenerateConfirmationUrlOptions = {\n readonly wacEnvUrl: string;\n readonly confirmationPageUrl: string;\n readonly cloudId: string;\n readonly progressUri: string;\n readonly cloudName: string;\n readonly products: string;\n readonly isOpsgenieIncluded?: boolean | null;\n readonly dataRegion?: string | null;\n readonly analyticsTrack?: AnalyticsTrackType;\n readonly bbBundlePreferred?: boolean;\n readonly isDevops?: boolean;\n readonly isSimpleSignup?: boolean;\n readonly hideUserSegmentation?: boolean;\n readonly isAppProvisioningEligible?: boolean;\n};\n\n// Generates the post-email confirmation url for verfied users\nexport function generateConfirmationUrl({\n wacEnvUrl,\n confirmationPageUrl,\n cloudId,\n progressUri,\n cloudName,\n products,\n isOpsgenieIncluded,\n dataRegion,\n analyticsTrack,\n bbBundlePreferred,\n isDevops,\n isSimpleSignup,\n hideUserSegmentation,\n isAppProvisioningEligible\n}: GenerateConfirmationUrlOptions) {\n // code for removing the /wac/ part of url if applicable\n const splitPath = confirmationPageUrl?.split('/');\n\n if (splitPath && splitPath.length >= 2 && splitPath[1].includes('wac')) {\n // remove contextual path if applicable\n splitPath.splice(0, 2);\n confirmationPageUrl = `/${splitPath.join('/')}`;\n }\n\n if (analyticsTrack) {\n const { newRelic, segment } = analyticsTrack;\n\n newRelic.action('apollo.signup.redirect-to-confirmation', '');\n segment('bxp.formCloudSignup.navigatedToConfirmation', {});\n }\n\n const queryParams: any = {\n ondemandurl: cloudName,\n cloudId,\n requestId: getRequestId(progressUri)\n };\n\n queryParams.products = products.length > 1 ? products : undefined;\n\n if (isOpsgenieIncluded) {\n queryParams.dataRegion = dataRegion === 'EU' ? 'europe' : 'main';\n }\n\n const queryParameters = Url.getUrlParams() || {};\n if (isDevops) {\n if (queryParameters.hasOwnProperty('signupSource')) {\n queryParams.signupSource = queryParameters.signupSource;\n }\n queryParams.isFoundingAdmin = true;\n }\n\n if (isSimpleSignup) {\n if (queryParameters.hasOwnProperty('signupSource')) {\n queryParams.signupSource = queryParameters.signupSource;\n }\n queryParams.isFoundingAdmin = true;\n }\n\n if (\n queryParameters.hasOwnProperty('signupSource') &&\n queryParameters.signupSource === 'confluenceBundle'\n ) {\n queryParams.signupSource = queryParameters.signupSource;\n }\n\n // If BB is the preferred signup, it should be ordered first in the product param\n if (bbBundlePreferred) {\n queryParams.products = queryParams.products.split(',').sort().join();\n }\n\n // If this is a Jira Template signup, User Segmentation Screen should be hidden\n if (hideUserSegmentation) {\n queryParams.hideUserSegmentation = true;\n }\n\n if (isAppProvisioningEligible === true) {\n queryParams.provisionApp = true;\n const appKeyIncluded = queryParams.products\n .split(',')\n .map((key: string) => {\n return Object.values(AppKey).includes(key as AppKey);\n });\n if (appKeyIncluded.includes(true)) {\n const indx = appKeyIncluded.indexOf(true);\n queryParams.appKey = queryParams.products.split(',')[indx];\n }\n }\n\n const urlParams = csvParams(queryParams);\n const nextUrl = `${wacEnvUrl}${confirmationPageUrl}/?${urlParams}`;\n return nextUrl;\n}\n\nexport function pollForSuccess({\n analyticsTrack,\n confirmationPageUrl,\n checkEmailPageUrl,\n isStaging,\n wacEnvUrl,\n isLoggedIn,\n progressUri,\n cloudName,\n products,\n setSubmitError,\n setPollingLoaderShown,\n isJswIncluded,\n solutionStatsEvent,\n isOpsgenieIncluded,\n dataRegion,\n resendEmail,\n hideUserSegmentation,\n isAppProvisioningEligible\n}: PollForSuccessType) {\n const { segment, newRelic, optimizely } = analyticsTrack;\n\n const signupSource = new URLSearchParams(window.location.search).get(\n 'signupSource'\n );\n const bitbucketBundlePreferred = signupSource === 'bbbundle' ? true : false;\n\n let secondsPassed = 0;\n if (!cloudName) {\n trackProgressPollInvalid({ segment });\n return;\n }\n const poll = setInterval(async () => {\n secondsPassed++;\n if (secondsPassed === 15) {\n trackWaitedSignupPageSubmitMoreThan15SOptions({\n newRelic,\n segment\n });\n setSubmitError(SubmitErrorType.WARNING_TIMEOUT_PENDING);\n }\n if (secondsPassed === 60) {\n trackWaitedSignupPageSubmitMoreThan60S({\n newRelic,\n segment\n });\n setSubmitError(SubmitErrorType.ERROR_TIMEOUT);\n clearInterval(poll);\n setPollingLoaderShown(false);\n }\n const response = await fetch(`${progressUri}`, {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json'\n },\n credentials: 'include'\n }).catch((err) => {\n clearInterval(poll);\n trackProgressUriErr({ err, newRelic, segment });\n return err;\n });\n\n trackProgressUri({ newRelic, response });\n const body = response.status === 200 ? await response.json() : null;\n if (!body) {\n clearInterval(poll);\n trackProgressPollMissing({ segment });\n }\n\n if (body) {\n const statusActivate = body.bestStatuses.ACTIVATE_PRODUCT;\n const statusSignup =\n body.bestStatuses.HAMS_CREATE_CLOUD !== 'SKIPPED'\n ? body.bestStatuses.HAMS_CREATE_CLOUD\n : body.bestStatuses.BAG_CREATE_CLOUD;\n\n if (body.cloudId && solutionStatsEvent) {\n if (solutionStatsEvent?.payload?.data?.isNewSiteProvisioned) {\n solutionStatsEvent.update({\n data: Object.assign({}, solutionStatsEvent?.payload?.data, {\n provisionedCloudId: body?.cloudId,\n targetCloudId: body?.cloudId\n })\n });\n }\n solutionStatsEvent.fire();\n }\n\n if (statusActivate && body.completed) {\n clearInterval(poll);\n\n if (body.successful) {\n trackSubmitSuccess({ isLoggedIn, segment, optimizely });\n\n if (isJswIncluded || bitbucketBundlePreferred) {\n trackGoToBitbucket({ newRelic });\n return goToBitbucket({ isStaging, resendEmail });\n } else {\n trackGoToJSW({ newRelic });\n // Give JSW an extra second before redirect\n return setTimeout(\n () => goToJSW({ isStaging, jswName: cloudName, resendEmail }),\n 1000\n );\n }\n } else {\n trackProgressPollError({\n label: 'body',\n segment\n });\n }\n // TODO: else if successful === false, throw error/show in UI\n }\n\n switch (statusSignup) {\n case 'COMPLETE_SUCCESS':\n case 'COMPLETE_MANUAL_SUCCESS':\n clearInterval(poll);\n\n const cloudId = body.cloudId;\n const productParam = products.map((p) => p.product).join(',');\n\n // TODO if (!cloudId) throw Error;\n if (!cloudId) {\n trackProgressPollMissing({ segment });\n } else {\n trackSubmitSuccessProducts({\n products,\n isLoggedIn,\n segment,\n optimizely\n });\n }\n\n if (isLoggedIn) {\n const confirmURL = generateConfirmationUrl({\n wacEnvUrl,\n confirmationPageUrl,\n cloudId,\n progressUri,\n cloudName,\n products: productParam,\n isOpsgenieIncluded,\n dataRegion,\n analyticsTrack,\n bbBundlePreferred: bitbucketBundlePreferred,\n hideUserSegmentation,\n isAppProvisioningEligible\n });\n // devops carousel\n if (resendEmail?.enableCarouselEndCard) {\n resendEmail.setShowDevopsCarouselEnd(true);\n return resendEmail.setGoToURL(confirmURL);\n }\n return window.location.assign(confirmURL);\n } else {\n return goToCheckEmail(\n wacEnvUrl,\n checkEmailPageUrl,\n cloudName,\n productParam,\n analyticsTrack,\n resendEmail\n );\n }\n\n case 'COMPLETE_ERROR':\n clearInterval(poll);\n trackProgressPollError({\n label: statusSignup,\n segment\n });\n // TODO: show error on frontend\n\n return;\n }\n }\n }, 1000);\n}\n\nexport async function formSubmitN2N({\n payload,\n wacEnvUrl,\n confirmationPageUrl,\n checkEmailPageUrl,\n isStaging,\n isLoggedIn,\n isJswIncluded,\n solutionStatsEvent,\n isOpsgenieIncluded,\n dataRegion,\n setPollingLoaderShown,\n analyticsTrack,\n setSubmitError,\n resendEmail,\n hideUserSegmentation,\n isAppProvisioningEligible\n}: FormSubmitN2NType) {\n const { segment, newRelic } = analyticsTrack;\n setPollingLoaderShown(true);\n\n const submitUrl = isLoggedIn\n ? `https://${\n isStaging ? 'wac.stg.internal.' : 'www.'\n }atlassian.com/gateway/api/cloud/signup`\n : `${wacEnvUrl}/endpoint/cloud/signupAnon`;\n try {\n const response = await fetch(submitUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'atl-cookies': JSON.stringify({\n _ga: Cookies.get('_ga') || '',\n seg_xid: localStorageGet('seg_xid'),\n __atl_path: Cookies.get('__atl_path') || '',\n ajs_anonymous_id: Cookies.get('ajs_anonymous_id') || '',\n optimizelyBuckets: Cookies.get('optimizelyBuckets') || '',\n optimizelySegments: Cookies.get('optimizelySegments') || '',\n optimizelyEndUserId: Cookies.get('optimizelyEndUserId') || ''\n })\n },\n body: JSON.stringify(payload),\n credentials: 'include'\n });\n\n if (response.ok && response.status === 200) {\n newRelic.trackAjax('cofs_create_cloud_bxp_react', response, true);\n const body = await response.json();\n\n // when site name creation is differed the payload wont have a cloudName to pass to the poll function\n // the response from the fetch will include the auto gen site name to be used as the cloudName\n // without a cloudName it wont redirect to the email confirmation or the rename page\n let cloudName = null;\n if (payload?.signupContext?.match('autogenSiteName')) {\n cloudName = body.cloudName;\n } else {\n cloudName = payload.cloudName;\n }\n\n // set r.e.d session key for reading by email verification component\n if ('email' in payload) {\n // ensure payload is type FormPayloadType\n const resendData = Object.assign(\n {},\n {\n cloudName: encodeURIComponent(cloudName || ''),\n cloudId: body.cloudId || '',\n requestId: body.progressUri ? getRequestId(body.progressUri) : '',\n email: encodeURIComponent(payload.email || ''),\n primaryProduct: encodeURIComponent(\n payload?.products[0]?.product || ''\n )\n }\n );\n sessionStorage.setItem(\n ResendEmailType.RESEND_DATA,\n window.btoa(JSON.stringify(resendData))\n );\n }\n\n pollForSuccess({\n isLoggedIn: isLoggedIn || false,\n confirmationPageUrl,\n checkEmailPageUrl,\n progressUri: body.progressUri,\n products: payload.products,\n analyticsTrack,\n isStaging,\n wacEnvUrl,\n cloudName,\n setSubmitError,\n setPollingLoaderShown,\n isJswIncluded,\n isOpsgenieIncluded,\n dataRegion,\n resendEmail,\n solutionStatsEvent,\n hideUserSegmentation,\n isAppProvisioningEligible\n });\n\n return response;\n }\n if (!response.ok || response.status !== 200) {\n let body = '';\n try {\n body = await response.json();\n } catch (e) {\n body = 'Unable to parse response as JSON';\n sessionStorage.removeItem(ResendEmailType.RESEND_DATA);\n }\n newRelic.trackAjax('cofs_create_cloud_bxp_react', response, false);\n segment('bxp.formCloudSignup.submitError', {\n type: isLoggedIn ? 'N2E' : 'N2N',\n body\n });\n setPollingLoaderShown(false);\n setSubmitError(SubmitErrorType.ERROR_TIMEOUT);\n return Promise.reject(response);\n }\n return Promise.reject();\n } catch (error) {\n setPollingLoaderShown(false);\n setSubmitError(SubmitErrorType.ERROR_TIMEOUT);\n newRelic.trackAjax('cofs_create_cloud_bxp_react', error, false);\n segment('bxp.formCloudSignup.submitError', {\n type: isLoggedIn ? 'N2E' : 'N2N',\n error: JSON.stringify(error)\n });\n sessionStorage.removeItem(ResendEmailType.RESEND_DATA);\n return Promise.reject(error);\n }\n}\n\nfunction csvParams(queryParams: any) {\n return Object.keys(queryParams)\n .map((key) => key + '=' + queryParams[key])\n .join('&');\n}\n\nfunction getRequestId(progressUri: string) {\n const pattern = new RegExp(/cloud\\/[\\w-]+\\/status\\/([\\w-]+)$/);\n const matches = pattern.exec(progressUri);\n return matches ? matches[1] : '';\n}\n","export default function warn(s) {\n console.warn('[react-ga]', s);\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport warn from '../utils/console/warn';\nvar NEWTAB = '_blank';\nvar MIDDLECLICK = 1;\n\nvar OutboundLink = /*#__PURE__*/function (_Component) {\n _inherits(OutboundLink, _Component);\n\n var _super = _createSuper(OutboundLink);\n\n function OutboundLink() {\n var _this;\n\n _classCallCheck(this, OutboundLink);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n\n _defineProperty(_assertThisInitialized(_this), \"handleClick\", function (event) {\n var _this$props = _this.props,\n target = _this$props.target,\n eventLabel = _this$props.eventLabel,\n to = _this$props.to,\n onClick = _this$props.onClick,\n trackerNames = _this$props.trackerNames;\n var eventMeta = {\n label: eventLabel\n };\n var sameTarget = target !== NEWTAB;\n var normalClick = !(event.ctrlKey || event.shiftKey || event.metaKey || event.button === MIDDLECLICK);\n\n if (sameTarget && normalClick) {\n event.preventDefault();\n OutboundLink.trackLink(eventMeta, function () {\n window.location.href = to;\n }, trackerNames);\n } else {\n OutboundLink.trackLink(eventMeta, function () {}, trackerNames);\n }\n\n if (onClick) {\n onClick(event);\n }\n });\n\n return _this;\n }\n\n _createClass(OutboundLink, [{\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n href = _this$props2.to,\n target = _this$props2.target,\n oldProps = _objectWithoutProperties(_this$props2, [\"to\", \"target\"]);\n\n var props = _objectSpread(_objectSpread({}, oldProps), {}, {\n target: target,\n href: href,\n onClick: this.handleClick\n });\n\n if (target === NEWTAB) {\n props.rel = \"\".concat(props.rel ? props.rel : '', \" noopener noreferrer\").trim();\n }\n\n delete props.eventLabel;\n delete props.trackerNames;\n return /*#__PURE__*/React.createElement('a', props);\n }\n }]);\n\n return OutboundLink;\n}(Component);\n\n_defineProperty(OutboundLink, \"trackLink\", function () {\n warn('ga tracking not enabled');\n});\n\nexport { OutboundLink as default };\nOutboundLink.propTypes = {\n eventLabel: PropTypes.string.isRequired,\n target: PropTypes.string,\n to: PropTypes.string,\n onClick: PropTypes.func,\n trackerNames: PropTypes.arrayOf(PropTypes.string)\n};\nOutboundLink.defaultProps = {\n target: null,\n to: null,\n onClick: null,\n trackerNames: null\n};","import warn from './console/warn';\nimport mightBeEmail from './mightBeEmail';\nvar redacted = 'REDACTED (Potential Email Address)';\nexport default function redactEmail(string) {\n if (mightBeEmail(string)) {\n warn('This arg looks like an email address, redacting.');\n return redacted;\n }\n\n return string;\n}","// GA strings need to have leading/trailing whitespace trimmed, and not all\n// browsers have String.prototoype.trim().\nexport default function trim(s) {\n return s && s.toString().replace(/^\\s+|\\s+$/g, '');\n}","/**\n * To Title Case 2.1 - http://individed.com/code/to-title-case/\n * Copyright 2008-2013 David Gouch. Licensed under the MIT License.\n * https://github.com/gouch/to-title-case\n */\nimport trim from './trim';\nvar smallWords = /^(a|an|and|as|at|but|by|en|for|if|in|nor|of|on|or|per|the|to|vs?\\.?|via)$/i; // test\n\nexport default function toTitleCase(string) {\n return trim(string).replace(/[A-Za-z0-9\\u00C0-\\u00FF]+[^\\s-]*/g, function (match, index, title) {\n if (index > 0 && index + match.length !== title.length && match.search(smallWords) > -1 && title.charAt(index - 2) !== ':' && (title.charAt(index + match.length) !== '-' || title.charAt(index - 1) === '-') && title.charAt(index - 1).search(/[^\\s-]/) < 0) {\n return match.toLowerCase();\n }\n\n if (match.substr(1).search(/[A-Z]|\\../) > -1) {\n return match;\n }\n\n return match.charAt(0).toUpperCase() + match.substr(1);\n });\n}","var isLoaded = false;\nexport default function (options) {\n if (isLoaded) return;\n isLoaded = true;\n var gaAddress = 'https://www.google-analytics.com/analytics.js';\n\n if (options && options.gaAddress) {\n gaAddress = options.gaAddress;\n } else if (options && options.debug) {\n gaAddress = 'https://www.google-analytics.com/analytics_debug.js';\n }\n\n var onerror = options && options.onerror; // https://developers.google.com/analytics/devguides/collection/analyticsjs/\n\n /* eslint-disable */\n\n (function (i, s, o, g, r, a, m) {\n i['GoogleAnalyticsObject'] = r;\n i[r] = i[r] || function () {\n (i[r].q = i[r].q || []).push(arguments);\n }, i[r].l = 1 * new Date();\n a = s.createElement(o), m = s.getElementsByTagName(o)[0];\n a.async = 1;\n a.src = g;\n a.onerror = onerror;\n m.parentNode.insertBefore(a, m);\n })(window, document, 'script', gaAddress, 'ga');\n /* eslint-enable */\n\n}","export default function log(s) {\n console.info('[react-ga]', s);\n}","export var gaCalls = [];\nexport default {\n calls: gaCalls,\n ga: function ga() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n gaCalls.push([].concat(args));\n },\n resetCalls: function resetCalls() {\n gaCalls.length = 0;\n }\n};","function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\n/**\n * React Google Analytics Module\n *\n * @package react-ga\n * @author Adam Lofting \n * Atul Varma \n */\n\n/**\n * Utilities\n */\nimport format from './utils/format';\nimport removeLeadingSlash from './utils/removeLeadingSlash';\nimport trim from './utils/trim';\nimport loadGA from './utils/loadGA';\nimport warn from './utils/console/warn';\nimport log from './utils/console/log';\nimport TestModeAPI from './utils/testModeAPI';\n\nvar _isNotBrowser = typeof window === 'undefined' || typeof document === 'undefined';\n\nvar _debug = false;\nvar _titleCase = true;\nvar _testMode = false;\nvar _alwaysSendToDefaultTracker = true;\nvar _redactEmail = true;\n\nvar internalGa = function internalGa() {\n var _window;\n\n if (_testMode) return TestModeAPI.ga.apply(TestModeAPI, arguments);\n if (_isNotBrowser) return false;\n if (!window.ga) return warn('ReactGA.initialize must be called first or GoogleAnalytics should be loaded manually');\n return (_window = window).ga.apply(_window, arguments);\n};\n\nfunction _format(s) {\n return format(s, _titleCase, _redactEmail);\n}\n\nfunction _gaCommand(trackerNames) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var command = args[0];\n\n if (typeof internalGa === 'function') {\n if (typeof command !== 'string') {\n warn('ga command must be a string');\n return;\n }\n\n if (_alwaysSendToDefaultTracker || !Array.isArray(trackerNames)) internalGa.apply(void 0, args);\n\n if (Array.isArray(trackerNames)) {\n trackerNames.forEach(function (name) {\n internalGa.apply(void 0, _toConsumableArray([\"\".concat(name, \".\").concat(command)].concat(args.slice(1))));\n });\n }\n }\n}\n\nfunction _initialize(gaTrackingID, options) {\n if (!gaTrackingID) {\n warn('gaTrackingID is required in initialize()');\n return;\n }\n\n if (options) {\n if (options.debug && options.debug === true) {\n _debug = true;\n }\n\n if (options.titleCase === false) {\n _titleCase = false;\n }\n\n if (options.redactEmail === false) {\n _redactEmail = false;\n }\n\n if (options.useExistingGa) {\n return;\n }\n }\n\n if (options && options.gaOptions) {\n internalGa('create', gaTrackingID, options.gaOptions);\n } else {\n internalGa('create', gaTrackingID, 'auto');\n }\n}\n\nexport function addTrackers(configsOrTrackingId, options) {\n if (Array.isArray(configsOrTrackingId)) {\n configsOrTrackingId.forEach(function (config) {\n if (_typeof(config) !== 'object') {\n warn('All configs must be an object');\n return;\n }\n\n _initialize(config.trackingId, config);\n });\n } else {\n _initialize(configsOrTrackingId, options);\n }\n\n return true;\n}\nexport function initialize(configsOrTrackingId, options) {\n if (options && options.testMode === true) {\n _testMode = true;\n } else {\n if (_isNotBrowser) {\n return;\n }\n\n if (!options || options.standardImplementation !== true) loadGA(options);\n }\n\n _alwaysSendToDefaultTracker = options && typeof options.alwaysSendToDefaultTracker === 'boolean' ? options.alwaysSendToDefaultTracker : true;\n addTrackers(configsOrTrackingId, options);\n}\n/**\n * ga:\n * Returns the original GA object.\n */\n\nexport function ga() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (args.length > 0) {\n internalGa.apply(void 0, args);\n\n if (_debug) {\n log(\"called ga('arguments');\");\n log(\"with arguments: \".concat(JSON.stringify(args)));\n }\n }\n\n return window.ga;\n}\n/**\n * set:\n * GA tracker set method\n * @param {Object} fieldsObject - a field/value pair or a group of field/value pairs on the tracker\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function set(fieldsObject, trackerNames) {\n if (!fieldsObject) {\n warn('`fieldsObject` is required in .set()');\n return;\n }\n\n if (_typeof(fieldsObject) !== 'object') {\n warn('Expected `fieldsObject` arg to be an Object');\n return;\n }\n\n if (Object.keys(fieldsObject).length === 0) {\n warn('empty `fieldsObject` given to .set()');\n }\n\n _gaCommand(trackerNames, 'set', fieldsObject);\n\n if (_debug) {\n log(\"called ga('set', fieldsObject);\");\n log(\"with fieldsObject: \".concat(JSON.stringify(fieldsObject)));\n }\n}\n/**\n * send:\n * Clone of the low level `ga.send` method\n * WARNING: No validations will be applied to this\n * @param {Object} fieldObject - field object for tracking different analytics\n * @param {Array} trackerNames - trackers to send the command to\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function send(fieldObject, trackerNames) {\n _gaCommand(trackerNames, 'send', fieldObject);\n\n if (_debug) {\n log(\"called ga('send', fieldObject);\");\n log(\"with fieldObject: \".concat(JSON.stringify(fieldObject)));\n log(\"with trackers: \".concat(JSON.stringify(trackerNames)));\n }\n}\n/**\n * pageview:\n * Basic GA pageview tracking\n * @param {String} path - the current page page e.g. '/about'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n * @param {String} title - (optional) the page title e. g. 'My Website'\n */\n\nexport function pageview(rawPath, trackerNames, title) {\n if (!rawPath) {\n warn('path is required in .pageview()');\n return;\n }\n\n var path = trim(rawPath);\n\n if (path === '') {\n warn('path cannot be an empty string in .pageview()');\n return;\n }\n\n var extraFields = {};\n\n if (title) {\n extraFields.title = title;\n }\n\n if (typeof ga === 'function') {\n _gaCommand(trackerNames, 'send', _objectSpread({\n hitType: 'pageview',\n page: path\n }, extraFields));\n\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n var extraLog = '';\n\n if (title) {\n extraLog = \" and title: \".concat(title);\n }\n\n log(\"with path: \".concat(path).concat(extraLog));\n }\n }\n}\n/**\n * modalview:\n * a proxy to basic GA pageview tracking to consistently track\n * modal views that are an equivalent UX to a traditional pageview\n * @param {String} modalName e.g. 'add-or-edit-club'\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function modalview(rawModalName, trackerNames) {\n if (!rawModalName) {\n warn('modalName is required in .modalview(modalName)');\n return;\n }\n\n var modalName = removeLeadingSlash(trim(rawModalName));\n\n if (modalName === '') {\n warn('modalName cannot be an empty string or a single / in .modalview()');\n return;\n }\n\n if (typeof ga === 'function') {\n var path = \"/modal/\".concat(modalName);\n\n _gaCommand(trackerNames, 'send', 'pageview', path);\n\n if (_debug) {\n log(\"called ga('send', 'pageview', path);\");\n log(\"with path: \".concat(path));\n }\n }\n}\n/**\n * timing:\n * GA timing\n * @param args.category {String} required\n * @param args.variable {String} required\n * @param args.value {Int} required\n * @param args.label {String} required\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function timing() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref.category,\n variable = _ref.variable,\n value = _ref.value,\n label = _ref.label;\n\n var trackerNames = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof ga === 'function') {\n if (!category || !variable || typeof value !== 'number') {\n warn('args.category, args.variable ' + 'AND args.value are required in timing() ' + 'AND args.value has to be a number');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'timing',\n timingCategory: _format(category),\n timingVar: _format(variable),\n timingValue: value\n };\n\n if (label) {\n fieldObject.timingLabel = _format(label);\n }\n\n send(fieldObject, trackerNames);\n }\n}\n/**\n * event:\n * GA event tracking\n * @param args.category {String} required\n * @param args.action {String} required\n * @param args.label {String} optional\n * @param args.value {Int} optional\n * @param args.nonInteraction {boolean} optional\n * @param args.transport {string} optional\n * @param {{action: string, category: string}} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function event() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n category = _ref2.category,\n action = _ref2.action,\n label = _ref2.label,\n value = _ref2.value,\n nonInteraction = _ref2.nonInteraction,\n transport = _ref2.transport,\n args = _objectWithoutProperties(_ref2, [\"category\", \"action\", \"label\", \"value\", \"nonInteraction\", \"transport\"]);\n\n var trackerNames = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof ga === 'function') {\n // Simple Validation\n if (!category || !action) {\n warn('args.category AND args.action are required in event()');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: _format(category),\n eventAction: _format(action)\n }; // Optional Fields\n\n if (label) {\n fieldObject.eventLabel = _format(label);\n }\n\n if (typeof value !== 'undefined') {\n if (typeof value !== 'number') {\n warn('Expected `args.value` arg to be a Number.');\n } else {\n fieldObject.eventValue = value;\n }\n }\n\n if (typeof nonInteraction !== 'undefined') {\n if (typeof nonInteraction !== 'boolean') {\n warn('`args.nonInteraction` must be a boolean.');\n } else {\n fieldObject.nonInteraction = nonInteraction;\n }\n }\n\n if (typeof transport !== 'undefined') {\n if (typeof transport !== 'string') {\n warn('`args.transport` must be a string.');\n } else {\n if (['beacon', 'xhr', 'image'].indexOf(transport) === -1) {\n warn('`args.transport` must be either one of these values: `beacon`, `xhr` or `image`');\n }\n\n fieldObject.transport = transport;\n }\n }\n\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'dimension'.length) === 'dimension';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n });\n Object.keys(args).filter(function (key) {\n return key.substr(0, 'metric'.length) === 'metric';\n }).forEach(function (key) {\n fieldObject[key] = args[key];\n }); // Send to GA\n\n send(fieldObject, trackerNames);\n }\n}\n/**\n * exception:\n * GA exception tracking\n * @param args.description {String} optional\n * @param args.fatal {boolean} optional\n * @param {Array} trackerNames - (optional) a list of extra trackers to run the command on\n */\n\nexport function exception(_ref3, trackerNames) {\n var description = _ref3.description,\n fatal = _ref3.fatal;\n\n if (typeof ga === 'function') {\n // Required Fields\n var fieldObject = {\n hitType: 'exception'\n }; // Optional Fields\n\n if (description) {\n fieldObject.exDescription = _format(description);\n }\n\n if (typeof fatal !== 'undefined') {\n if (typeof fatal !== 'boolean') {\n warn('`args.fatal` must be a boolean.');\n } else {\n fieldObject.exFatal = fatal;\n }\n } // Send to GA\n\n\n send(fieldObject, trackerNames);\n }\n}\nexport var plugin = {\n /**\n * require:\n * GA requires a plugin\n * @param name {String} e.g. 'ecommerce' or 'myplugin'\n * @param options {Object} optional e.g {path: '/log', debug: true}\n * @param trackerName {String} optional e.g 'trackerName'\n */\n require: function require(rawName, options, trackerName) {\n if (typeof ga === 'function') {\n // Required Fields\n if (!rawName) {\n warn('`name` is required in .require()');\n return;\n }\n\n var name = trim(rawName);\n\n if (name === '') {\n warn('`name` cannot be an empty string in .require()');\n return;\n }\n\n var requireString = trackerName ? \"\".concat(trackerName, \".require\") : 'require'; // Optional Fields\n\n if (options) {\n if (_typeof(options) !== 'object') {\n warn('Expected `options` arg to be an Object');\n return;\n }\n\n if (Object.keys(options).length === 0) {\n warn('Empty `options` given to .require()');\n }\n\n ga(requireString, name, options);\n\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"', \").concat(JSON.stringify(options)));\n }\n } else {\n ga(requireString, name);\n\n if (_debug) {\n log(\"called ga('require', '\".concat(name, \"');\"));\n }\n }\n }\n },\n\n /**\n * execute:\n * GA execute action for plugin\n * Takes variable number of arguments\n * @param pluginName {String} e.g. 'ecommerce' or 'myplugin'\n * @param action {String} e.g. 'addItem' or 'myCustomAction'\n * @param actionType {String} optional e.g. 'detail'\n * @param payload {Object} optional e.g { id: '1x5e', name : 'My product to track' }\n */\n execute: function execute(pluginName, action) {\n var payload;\n var actionType;\n\n for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n args[_key3 - 2] = arguments[_key3];\n }\n\n if (args.length === 1) {\n payload = args[0];\n } else {\n actionType = args[0];\n payload = args[1];\n }\n\n if (typeof ga === 'function') {\n if (typeof pluginName !== 'string') {\n warn('Expected `pluginName` arg to be a String.');\n } else if (typeof action !== 'string') {\n warn('Expected `action` arg to be a String.');\n } else {\n var command = \"\".concat(pluginName, \":\").concat(action);\n payload = payload || null;\n\n if (actionType && payload) {\n ga(command, actionType, payload);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"actionType: \\\"\".concat(actionType, \"\\\" with payload: \").concat(JSON.stringify(payload)));\n }\n } else if (payload) {\n ga(command, payload);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n log(\"with payload: \".concat(JSON.stringify(payload)));\n }\n } else {\n ga(command);\n\n if (_debug) {\n log(\"called ga('\".concat(command, \"');\"));\n }\n }\n }\n }\n }\n};\n/**\n * outboundLink:\n * GA outboundLink tracking\n * @param args.label {String} e.g. url, or 'Create an Account'\n * @param {function} hitCallback - Called after processing a hit.\n */\n\nexport function outboundLink(args, hitCallback, trackerNames) {\n if (typeof hitCallback !== 'function') {\n warn('hitCallback function is required');\n return;\n }\n\n if (typeof ga === 'function') {\n // Simple Validation\n if (!args || !args.label) {\n warn('args.label is required in outboundLink()');\n return;\n } // Required Fields\n\n\n var fieldObject = {\n hitType: 'event',\n eventCategory: 'Outbound',\n eventAction: 'Click',\n eventLabel: _format(args.label)\n };\n var safetyCallbackCalled = false;\n\n var safetyCallback = function safetyCallback() {\n // This prevents a delayed response from GA\n // causing hitCallback from being fired twice\n safetyCallbackCalled = true;\n hitCallback();\n }; // Using a timeout to ensure the execution of critical application code\n // in the case when the GA server might be down\n // or an ad blocker prevents sending the data\n // register safety net timeout:\n\n\n var t = setTimeout(safetyCallback, 250);\n\n var clearableCallbackForGA = function clearableCallbackForGA() {\n clearTimeout(t);\n\n if (!safetyCallbackCalled) {\n hitCallback();\n }\n };\n\n fieldObject.hitCallback = clearableCallbackForGA; // Send to GA\n\n send(fieldObject, trackerNames);\n } else {\n // if ga is not defined, return the callback so the application\n // continues to work as expected\n setTimeout(hitCallback, 0);\n }\n}\nexport var testModeAPI = TestModeAPI;\nexport default {\n initialize: initialize,\n ga: ga,\n set: set,\n send: send,\n pageview: pageview,\n modalview: modalview,\n timing: timing,\n event: event,\n exception: exception,\n plugin: plugin,\n outboundLink: outboundLink,\n testModeAPI: TestModeAPI\n};","import redactEmail from './redactEmail';\nimport toTitleCase from './toTitleCase';\nexport default function format() {\n var s = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var titleCase = arguments.length > 1 ? arguments[1] : undefined;\n var redactingEmail = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _str = s || '';\n\n if (titleCase) {\n _str = toTitleCase(s);\n }\n\n if (redactingEmail) {\n _str = redactEmail(_str);\n }\n\n return _str;\n}","// See if s could be an email address. We don't want to send personal data like email.\n// https://support.google.com/analytics/answer/2795983?hl=en\nexport default function mightBeEmail(s) {\n // There's no point trying to validate rfc822 fully, just look for ...@...\n return typeof s === 'string' && s.indexOf('@') !== -1;\n}","export default function removeLeadingSlash(string) {\n if (string.substring(0, 1) === '/') {\n return string.substring(1);\n }\n\n return string;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport UnboundOutboundLink from './components/OutboundLink';\nimport * as Defaults from './core';\nvar initialize = Defaults.initialize;\nexport { initialize };\nvar addTrackers = Defaults.addTrackers;\nexport { addTrackers };\nvar ga = Defaults.ga;\nexport { ga };\nvar set = Defaults.set;\nexport { set };\nvar send = Defaults.send;\nexport { send };\nvar pageview = Defaults.pageview;\nexport { pageview };\nvar modalview = Defaults.modalview;\nexport { modalview };\nvar timing = Defaults.timing;\nexport { timing };\nvar event = Defaults.event;\nexport { event };\nvar exception = Defaults.exception;\nexport { exception };\nvar plugin = Defaults.plugin;\nexport { plugin };\nvar outboundLink = Defaults.outboundLink;\nexport { outboundLink };\nvar testModeAPI = Defaults.testModeAPI;\nexport { testModeAPI };\nUnboundOutboundLink.origTrackLink = UnboundOutboundLink.trackLink;\nUnboundOutboundLink.trackLink = Defaults.outboundLink;\nexport var OutboundLink = UnboundOutboundLink;\nexport default _objectSpread(_objectSpread({}, Defaults), {}, {\n OutboundLink: OutboundLink\n});","import {\n CartServiceInterface,\n CheckEmailAnalyticsInterface,\n GetCheckEmailAnalyticsServiceOptions,\n HamletClientInterface\n} from '../../model/check-email-page';\nimport { CheckEmailAnalytics } from './analytics';\nimport { CartService } from './cart-service';\nimport { HamletClient } from './mini-hamlet-client';\n\nexport * from './analytics';\nexport * from './cart-service';\nexport * from './mini-hamlet-client';\n\nlet hamletClient: HamletClientInterface;\nlet cartService: CartServiceInterface;\nlet checkEmailAnalytics: CheckEmailAnalyticsInterface;\n\nexport function getCheckEmailAnalyticsService({\n baseUrl,\n analyticsTrack,\n productKeys,\n googleAnalyticsId\n}: GetCheckEmailAnalyticsServiceOptions) {\n if (!checkEmailAnalytics) {\n hamletClient = new HamletClient({ baseUrl });\n cartService = new CartService({ productKeys, hamletClient });\n checkEmailAnalytics = new CheckEmailAnalytics({\n analyticsTrack,\n googleAnalyticsId,\n cartService\n });\n }\n return checkEmailAnalytics;\n}\n","import { ProductKey, Url } from '@atlassiansox/bxpkit-core';\nimport { extend } from 'lodash';\nimport {\n CartServiceContructorType,\n CartServiceInterface,\n HamletClientInterface,\n HamletPricingResponseType,\n HamletProductType\n} from '../../model/check-email-page';\n\nexport const CartService: CartServiceContructorType = class CartServiceClass\n implements CartServiceInterface\n{\n private readonly client: HamletClientInterface;\n private readonly productKeysProp?: string[];\n private products: HamletProductType[];\n\n constructor({\n productKeys,\n hamletClient\n }: {\n productKeys?: string[];\n hamletClient: HamletClientInterface;\n }) {\n this.client = hamletClient;\n this.productKeysProp = productKeys;\n this.products = [];\n }\n\n /**\n * Return cart products\n */\n\n getProducts(): Promise {\n return new Promise(async (resolve) => {\n if (this.products.length > 0) {\n return resolve(this.products);\n } else {\n this.products = await this._load();\n resolve(this.products);\n }\n });\n }\n\n /**\n * Loads cart data from Hamlet Pricing\n */\n\n async _load(): Promise {\n const queryProducts = [\n ProductKey.JIRA_SOFTWARE,\n ProductKey.JIRA_SERVICE_DESK,\n ProductKey.JIRA_CORE,\n ProductKey.JIRA_ROADMAPS,\n ProductKey.JIRA_BONFIRE,\n ProductKey.JIRA_REFAPP,\n ProductKey.CONFLUENCE,\n ProductKey.CONFLUENCE_PLUGIN_QUESTIONS,\n ProductKey.CONFLUENCE_TEAM_CALENDARS\n ];\n\n const pricingData = await this.client.hamletPricing({\n productKeys: queryProducts,\n licenseType: 'evaluation',\n requestingApplication: 'WAC',\n monthsValid: '1'\n });\n\n // parse\n const products = this._parseProducts(pricingData);\n return Promise.resolve(products);\n }\n\n /**\n * Parse products into cart\n */\n\n _parseProducts(pricingData: HamletPricingResponseType): HamletProductType[] {\n const result: any[] = [];\n if (pricingData?.products?.length === 0) {\n return result;\n }\n const productCatalog = pricingData.products;\n const urlProducts: { [key: string]: number } = {};\n\n // read unitCount and products query string parameters\n const queryParams = Url.getUrlParams();\n const unitCounts = queryParams?.unitCount\n ? queryParams.unitCount.split(',')\n : [10];\n let queryParamProducts = [];\n // check query string params for products\n if (queryParams?.products) {\n queryParamProducts = queryParams?.products.split(',');\n }\n // if props exist for productKeys, those have priority\n if (this.productKeysProp && this.productKeysProp.length > 0) {\n queryParamProducts = this.productKeysProp;\n }\n\n // create a map of products/unit counts for each item in querystring\n for (let i = 0, iLen = queryParamProducts.length; i < iLen; i++) {\n const product = queryParamProducts[i];\n let count = 0;\n\n if (unitCounts.length === 1) {\n if (\n product === ProductKey.JIRA_SOFTWARE ||\n product === ProductKey.CONFLUENCE\n ) {\n count = parseInt(unitCounts[0], 10);\n }\n } else if (unitCounts.length === queryParamProducts.length) {\n count = parseInt(unitCounts[i], 10);\n }\n\n urlProducts[product] = count;\n }\n\n // check if product is orderable, if so then add it to the cart\n Object.keys(urlProducts).map((key) => {\n let orderable = null;\n const productUnitCount = urlProducts[key];\n const productHamlet = productCatalog.filter((p) => {\n return p.productKey === key;\n })[0];\n\n if (productHamlet) {\n if (\n productHamlet.parentKey === 'atlassian.ondemand' ||\n productHamlet.productType === 'HOSTED_ADDON' ||\n productUnitCount !== 0\n ) {\n orderable = productHamlet.orderableItems.filter((item) => {\n return item.unitCount === productUnitCount;\n })[0];\n }\n if (!orderable) {\n orderable =\n productHamlet.monthly.length > 0\n ? productHamlet.monthly[0]\n : productHamlet.orderableItems[0];\n }\n }\n\n if (productHamlet && orderable) {\n result.push(\n extend({}, orderable, {\n amount: orderable?.renewalAmount,\n mpac: productHamlet.marketplaceAddon === true,\n productKey: productHamlet.productKey,\n name: productHamlet.productDescription,\n saleType: 'EVALUATION'\n })\n );\n }\n });\n\n return result;\n }\n};\n","import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport { Storage, Url } from '@atlassiansox/bxpkit-core';\nimport type { AnalyticsTrackType } from '@atlassiansox/bxpkit-core';\nimport ReactGA from 'react-ga';\nimport { CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES } from '../../model/check-email-page';\nimport {\n CartServiceInterface,\n CheckEmailAnalyticsContructorType,\n CheckEmailAnalyticsInterface,\n CheckEmailAnalyticsOptionsType\n} from '../../model/check-email-page';\n\n/**\n * Analytics service for Check Email Component\n */\n\nexport const CheckEmailAnalytics: CheckEmailAnalyticsContructorType = class CheckEmailAnalyticsClass\n implements CheckEmailAnalyticsInterface\n{\n public baseUrl?: string;\n public analyticsTrack?: AnalyticsTrackType;\n public cartService: CartServiceInterface;\n\n public constructor({\n analyticsTrack,\n cartService,\n googleAnalyticsId = ''\n }: CheckEmailAnalyticsOptionsType) {\n this.analyticsTrack = analyticsTrack;\n this.cartService = cartService;\n\n ReactGA.initialize(googleAnalyticsId, {\n testMode: process?.env?.NODE_ENV === 'test'\n });\n void this._onloadEvents();\n if (!this.analyticsTrack) {\n // tslint:disable-next-line: no-console\n console.warn('Check Email Component: analytics disabled');\n }\n }\n\n /**\n * All events that should fire on load\n */\n\n public async _onloadEvents() {\n const googleApps =\n Url.getParameterByName('googleappsintegration') === 'true';\n\n if (this.analyticsTrack) {\n const { segment, optimizely } = this.analyticsTrack;\n const products = await this.cartService.getProducts();\n\n const completedOrderDetails: any = [];\n optimizely('cart-cloud.viewed-checkout-step.view-confirmation-page');\n\n products.map((product) => {\n // add to cart events\n const detailsAddToCart = {\n id: product.productKey,\n label: `${product.productKey}.cloud`,\n name: product.name,\n description: product.description,\n sku: product.orderableItemId,\n category: 'cart-cloud',\n saleType: product.saleType,\n core_funnel: true\n };\n segment('Added Product', detailsAddToCart);\n optimizely('added-product.' + detailsAddToCart.id);\n\n // confirmed eval event(s)\n const detailsConfirmedEval = {\n id: product.productKey,\n sku: product.orderableItemId,\n name: product.name,\n description: product.description,\n saleType: 'EVALUATION',\n category: 'cart-cloud',\n core_funnel: false,\n label: `${product.productKey}.cloud`,\n lead_score: '',\n licenses: '',\n platform: 'cloud',\n product: product.name,\n start_date: new Date(),\n _atl_path: Storage.getCookie('__atl_path'),\n _sio: Storage.getCookie('_sio')\n };\n segment('Confirmed Evaluation', detailsConfirmedEval);\n optimizely(\n 'cart-cloud.confirmed-evaluation.' + detailsConfirmedEval.id\n );\n\n // save for completed order event\n completedOrderDetails.push({\n id: product.productKey,\n sku: product.orderableItemId,\n name: product.name,\n description: product.description,\n saleType: 'EVALUATION'\n });\n });\n\n // order event with everything in-cart\n if (completedOrderDetails.length > 0) {\n segment('Completed Order', {\n type: 'ONDEMAND_TRIAL',\n googleApps: googleApps.toString(),\n products: completedOrderDetails\n });\n }\n\n if (googleApps) {\n segment('Confirm Google Apps', {\n category: 'cart-cloud',\n label: 'google-apps',\n core_funnel: false\n });\n }\n }\n\n ReactGA.event({\n category: 'cart-cloud',\n action: 'Viewed Checkout Step',\n label: 'view-confirmation-page',\n nonInteraction: true\n });\n\n return Promise.resolve();\n }\n\n /**\n * User selects resend email button\n */\n\n public clickResendButton(createAnalyticsEvent: CreateUIAnalyticsEvent) {\n createAnalyticsEvent({\n action: 'clicked',\n name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.RESEND_EMAIL_CLICKED\n }).fire();\n\n if (this.analyticsTrack) {\n const { segment, optimizely } = this.analyticsTrack;\n segment('Click resend email', {});\n optimizely('resend-email-page.Click resend email');\n }\n\n ReactGA.event({\n category: 'Signup',\n action: 'Clicked',\n label: 'resend-verification-email'\n });\n }\n\n /**\n * track no-content/204 status\n */\n\n public resendApiNoContent() {\n if (this.analyticsTrack) {\n const { segment, optimizely } = this.analyticsTrack;\n segment('Resend api returned no content', {});\n optimizely('resend-email-page.Resend api returned no content');\n }\n }\n\n /**\n * track already verified/304 status\n */\n\n public resendApiAlreadyVerified() {\n if (this.analyticsTrack) {\n const { segment, optimizely } = this.analyticsTrack;\n segment('Resend api account already verified', {});\n optimizely('resend-email-page.Resend api account already verified');\n }\n }\n\n /**\n * track resend API failures\n */\n\n public resendApiFailure() {\n if (this.analyticsTrack) {\n const { segment, optimizely } = this.analyticsTrack;\n segment('Resend api fail', {});\n optimizely('resend-email-page.Resend api fail');\n }\n }\n\n /**\n * track success/200 status\n */\n\n public resendApiSuccess() {\n if (this.analyticsTrack) {\n const { segment, optimizely } = this.analyticsTrack;\n segment('Resend api success', {});\n optimizely('resend-email-page.Resend api success');\n }\n }\n\n /**\n * User selects contact link\n */\n\n public contactLinkAnalytics(createAnalyticsEvent: CreateUIAnalyticsEvent) {\n createAnalyticsEvent({\n action: 'clicked',\n name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.CONTACT_LINK_CLICKED\n }).fire();\n\n if (this.analyticsTrack) {\n const { segment, optimizely } = this.analyticsTrack;\n segment('Click contact us', {});\n optimizely('resend-email-page.Click contact us');\n }\n }\n\n /**\n * User selects create a new account link\n */\n\n public navigateBack(\n event: React.MouseEvent,\n createAnalyticsEvent: CreateUIAnalyticsEvent\n ) {\n event.preventDefault();\n\n createAnalyticsEvent({\n action: 'clicked',\n name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.CREATE_NEW_ACCOUNT_CLICKED\n }).fire();\n\n if (this.analyticsTrack) {\n const { segment, optimizely } = this.analyticsTrack;\n segment('Click change email', {});\n optimizely('resend-email-page.Click change email');\n }\n\n window.history.back();\n }\n};\n\ndeclare global {\n interface Window {\n ga: any;\n }\n}\n","import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';\nimport type { AnalyticsTrackType } from '@atlassiansox/bxpkit-core';\n\nexport const CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES = {\n CREATE_NEW_ACCOUNT_CLICKED: 'check_email_page_create_new_account_clicked',\n CONTACT_LINK_CLICKED: 'check_email_page_contact_link_clicked',\n RESEND_EMAIL_CLICKED: 'check_email_page_resend_email_clicked',\n RESEND_EMAIL_API_SUCCESS: 'check_email_page_resend_email_api_success',\n RESEND_EMAIL_API_FAILURE: 'check_email_page_resend_email_api_failure'\n};\n\nexport type GetCheckEmailAnalyticsServiceOptions = {\n readonly baseUrl?: string;\n readonly productKeys?: string[];\n readonly analyticsTrack?: AnalyticsTrackType;\n readonly googleAnalyticsId?: string;\n};\n\nexport interface CheckEmailPagePropsType {\n readonly layout?: 'default' | 'devops';\n readonly baseUrl?: string;\n readonly productKeys?: string[];\n readonly analyticsTrack?: AnalyticsTrackType;\n readonly hideHeader?: boolean;\n}\n\nexport type CheckEmailPageLayoutPropsType = {\n readonly email: string;\n readonly shouldEnable: boolean;\n readonly baseUrl?: string;\n readonly hideHeader?: boolean;\n readonly checkEmailAnalyticsService: CheckEmailAnalyticsInterface;\n};\n\nexport type CheckEmailAnalyticsOptionsType = {\n readonly productKeys?: string[];\n readonly analyticsTrack?: AnalyticsTrackType;\n readonly cartService: CartServiceInterface;\n readonly googleAnalyticsId?: string;\n};\n\nexport type ResendVerificationEmailRequestType = {\n readonly cloudId?: string;\n readonly cloudName?: string;\n readonly email?: string;\n readonly pagePath?: string;\n readonly requestId?: string;\n readonly primaryProduct?: string;\n};\n\nexport type HamletClientOptionsType = {\n readonly baseUrl?: string;\n};\n\nexport type ResendVerificationEmailResponseType = {\n readonly success: boolean;\n readonly status: number;\n};\n\nexport type HamletPricingRequestType = {\n readonly productKeys: string[];\n readonly licenseType?: string;\n readonly monthsValid?: string | number;\n readonly requestingApplication?: string;\n};\n\nexport type HamletOrderableItemsType = {\n readonly amount: number;\n readonly description: string;\n readonly edition: unknown;\n readonly editionDescription: string;\n readonly editionId: string;\n readonly editionType: string;\n readonly editionTypeIsDeprecated: boolean;\n readonly enterprise: boolean;\n readonly licenseType: string;\n readonly monthsValid: number;\n readonly orderableItemId: string;\n readonly publiclyAvailable: boolean;\n readonly renewalAmount: number;\n readonly renewalFrequency: string;\n readonly saleType: string;\n readonly sku: unknown;\n readonly starter: boolean;\n readonly unitCount: number;\n readonly unitLabel: string;\n};\n\nexport type HamletMonthlyType = {\n readonly editionType: string;\n readonly editionTypeIsDeprecated: boolean;\n readonly price: number;\n readonly unitBlockSize: number;\n readonly unitLabel: string;\n readonly unitLimit: number;\n readonly unitStart: number;\n readonly renewalAmount: number;\n};\n\nexport type HamletProductsType = {\n readonly annual: unknown[];\n readonly billingType: string;\n readonly contactSalesForAdditionalPricing: boolean;\n readonly dataCenter: boolean;\n readonly discountOptOut: boolean;\n readonly lastModified: string;\n readonly marketplaceAddon: boolean;\n readonly parentDescription: string;\n readonly parentKey: string;\n readonly productDescription: string;\n readonly productKey: string;\n readonly productType: string;\n readonly userCountEnforced: boolean;\n readonly monthly: HamletMonthlyType[];\n readonly orderableItems: HamletOrderableItemsType[];\n};\n\nexport type HamletPricingResponseType = {\n readonly currency: string;\n readonly products: HamletProductsType[];\n};\n\nexport type HamletProductType = {\n readonly name: string;\n} & (HamletOrderableItemsType & HamletMonthlyType & HamletProductsType);\n\nexport type HamletClientConstructorType = new ({\n baseUrl\n}: HamletClientOptionsType) => HamletClientInterface;\n\nexport interface HamletClientInterface {\n hamletPricing({\n productKeys,\n licenseType,\n requestingApplication,\n monthsValid\n }: HamletPricingRequestType): Promise;\n\n sendEmail(\n resendData: ResendVerificationEmailRequestType\n ): Promise;\n\n sendVerificationEmail({\n cloudName,\n email\n }: ResendVerificationEmailRequestType): Promise;\n\n resendVerificationEmail({\n cloudId,\n cloudName,\n email,\n pagePath,\n requestId\n }: ResendVerificationEmailRequestType): Promise;\n}\n\nexport type CartServiceOptionstype = {\n productKeys?: string[];\n hamletClient: HamletClientInterface;\n};\n\nexport type CartServiceContructorType = new ({\n productKeys,\n hamletClient\n}: CartServiceOptionstype) => CartServiceInterface;\n\nexport interface CartServiceInterface {\n getProducts(): Promise;\n _load(): Promise;\n _parseProducts(pricingData: HamletPricingResponseType): HamletProductType[];\n}\n\nexport type CheckEmailAnalyticsContructorType = new ({\n cartService,\n analyticsTrack\n}: CheckEmailAnalyticsOptionsType) => CheckEmailAnalyticsInterface;\n\nexport interface CheckEmailAnalyticsInterface {\n gaId?: string;\n baseUrl?: string;\n analyticsTrack?: AnalyticsTrackType;\n cartService: CartServiceInterface;\n _onloadEvents(): Promise;\n clickResendButton(createAnalyticsEvent: CreateUIAnalyticsEvent): void;\n resendApiNoContent(): void;\n resendApiAlreadyVerified(): void;\n resendApiFailure(): void;\n resendApiSuccess(): void;\n contactLinkAnalytics(createAnalyticsEvent: CreateUIAnalyticsEvent): void;\n navigateBack(\n event: React.MouseEvent,\n createAnalyticsEvent: CreateUIAnalyticsEvent\n ): void;\n}\n","/**\n * These are the default parameters for LogoProps if the user does not specify values.\n */\nexport const defaultLogoParams = {\n iconColor: 'inherit',\n iconGradientStart: 'inherit',\n iconGradientStop: 'inherit',\n label: '',\n size: 'medium',\n textColor: 'currentColor'\n};\n\n/**\n * The props for the that takes the svg and turns it into a component.\n */\n\nexport const sizes = {\n xsmall: 16,\n small: 24,\n medium: 32,\n large: 40,\n xlarge: 48\n};\n\n/**\n * In order to pass linting rules, these props were renamed to be more descriptive i.e. props renamed to LogoProps and\n * defaultParams to defaultLogoParams. However, this is a breaking change as it is a file with public entry points. The code\n * below is here to keep Logo backwards compatible.\n * See the ticket here: https://product-fabric.atlassian.net/browse/DSP-4086.\n *\n * Note that some consumers are accessing this using like so: import { Props } from '@atlaskit/logo/constants', this should\n * still work despite `LogoProps` being in a different types.tsx file.\n *\n */\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-175 Internal documentation for deprecation (no external access)} This has been renamed, please import `LogoProps` instead.\n */\n// eslint-disable-next-line @repo/internal/react/consistent-types-definitions\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-176 Internal documentation for deprecation (no external access)} This has been renamed, please import `defaultLogoParams` instead.\n */\nexport const DefaultProps = defaultLogoParams;","import deprecationWarning from '@atlaskit/ds-lib/deprecation-warning';\nimport { B100, N30A, skeleton as skeletonColor } from './colors';\nexport const CHANNEL = '__ATLASKIT_THEME__';\nexport const DEFAULT_THEME_MODE = 'light';\nexport const THEME_MODES = ['light', 'dark'];\n\n/*\n These theme values are expressed as functions so that if we decide to make\n them dependent on props in the future, it wouldn't require a significant\n refactor everywhere they are being used.\n*/\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('border.radius.100', '3px')` instead.\n */\nexport const borderRadius = () => 3;\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated Use `token('space.100', '8px')` instead with any of the space tokens.\n * Available space tokens can be found on {@link https://atlassian.design/foundations/spacing/#scale}\n */\nexport const gridSize = () => 8;\nexport const fontSize = () => 14;\nexport const fontSizeSmall = () => 11;\nexport const fontFamily = () => `-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif`;\nexport const codeFontFamily = () => `'SFMono-Medium', 'SF Mono', 'Segoe UI Mono', 'Roboto Mono', 'Ubuntu Mono', Menlo, Consolas, Courier, monospace`;\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const focusRing = (color = `var(--ds-border-focused, ${B100})`, outlineWidth = gridSize() / 4) => {\n deprecationWarning('@atlaskit/theme', 'focus ring mixin', 'Please use `@atlaskit/focus-ring` instead.');\n return `\n &:focus {\n outline: none;\n box-shadow: 0px 0px 0px ${outlineWidth}px ${color};\n }\n`;\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/focus-ring` instead.\n */\nexport const noFocusRing = () => `\n box-shadow: none;\n`;\nexport const layers = {\n card: () => 100,\n navigation: () => 200,\n dialog: () => 300,\n layer: () => 400,\n blanket: () => 500,\n modal: () => 510,\n flag: () => 600,\n spotlight: () => 700,\n tooltip: () => 800\n};\n\n// eslint-disable-next-line @atlaskit/design-system/use-visually-hidden\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const visuallyHidden = () => {\n deprecationWarning('@atlaskit/theme', 'visually hidden mixin', 'Please use `@atlaskit/visually-hidden` instead.');\n return {\n border: '0 !important',\n clip: 'rect(1px, 1px, 1px, 1px) !important',\n height: '1px !important',\n overflow: 'hidden !important',\n padding: '0 !important',\n position: 'absolute !important',\n width: '1px !important',\n whiteSpace: 'nowrap !important'\n };\n};\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * Please use `@atlaskit/visually-hidden`\n */\nexport const assistive = visuallyHidden;\n\n/**\n * These styles are mirrored in:\n * packages/design-system/menu/src/internal/components/skeleton-shimmer.tsx\n *\n * Please update both.\n */\nexport const skeletonShimmer = () => ({\n css: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`,\n animationDuration: '1.5s',\n animationIterationCount: 'infinite',\n animationTimingFunction: 'linear',\n animationDirection: 'alternate'\n },\n keyframes: {\n from: {\n backgroundColor: `var(--ds-skeleton, ${skeletonColor()})`\n },\n to: {\n backgroundColor: `var(--ds-skeleton-subtle, ${N30A})`\n }\n }\n});","import { CHANNEL, DEFAULT_THEME_MODE, THEME_MODES } from '../constants';\n// Resolves the different types of theme objects in the current API\nexport default function getTheme(props) {\n if (props && props.theme) {\n // Theme is the global Atlaskit theme\n if (CHANNEL in props.theme) {\n return props.theme[CHANNEL];\n }\n // User has provided alternative modes\n else if ('mode' in props.theme && THEME_MODES.includes(props.theme.mode)) {\n return props.theme;\n }\n }\n // If format not supported (or no theme provided), return standard theme\n return {\n mode: DEFAULT_THEME_MODE\n };\n}","/* eslint-disable prefer-rest-params */\n\nimport getTheme from './get-theme';\n// Unpack custom variants, and get correct value for the current theme\nfunction themedVariants(variantProp, variants) {\n return props => {\n const theme = getTheme(props);\n if (props && props[variantProp] && variants) {\n const modes = variants[props[variantProp]];\n if (modes && modes[theme.mode]) {\n const value = modes[theme.mode];\n if (value) {\n return value;\n } // TS believes value can be undefined\n }\n }\n\n return '';\n };\n}\nexport default function themed(modesOrVariant, variantModes) {\n if (typeof modesOrVariant === 'string') {\n return themedVariants(modesOrVariant, variantModes);\n }\n const modes = modesOrVariant;\n return props => {\n // Get theme from the user's props\n const theme = getTheme(props);\n // User isn't required to provide both light and dark values\n if (theme.mode in modes) {\n const value = modes[theme.mode]; // TS believes value can be undefined\n if (value) {\n return value;\n }\n }\n return '';\n };\n}","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\n\nimport themed from './utils/themed';\n\n// Reds\nexport const R50 = '#FFEBE6';\nexport const R75 = '#FFBDAD';\nexport const R100 = '#FF8F73';\nexport const R200 = '#FF7452';\nexport const R300 = '#FF5630';\nexport const R400 = '#DE350B';\nexport const R500 = '#BF2600';\n\n// Yellows\nexport const Y50 = '#FFFAE6';\nexport const Y75 = '#FFF0B3';\nexport const Y100 = '#FFE380';\nexport const Y200 = '#FFC400';\nexport const Y300 = '#FFAB00';\nexport const Y400 = '#FF991F';\nexport const Y500 = '#FF8B00';\n\n// Greens\nexport const G50 = '#E3FCEF';\nexport const G75 = '#ABF5D1';\nexport const G100 = '#79F2C0';\nexport const G200 = '#57D9A3';\nexport const G300 = '#36B37E';\nexport const G400 = '#00875A';\nexport const G500 = '#006644';\n\n// Blues\nexport const B50 = '#DEEBFF';\nexport const B75 = '#B3D4FF';\nexport const B100 = '#4C9AFF';\nexport const B200 = '#2684FF';\nexport const B300 = '#0065FF';\nexport const B400 = '#0052CC';\nexport const B500 = '#0747A6';\n\n// Purples\nexport const P50 = '#EAE6FF';\nexport const P75 = '#C0B6F2';\nexport const P100 = '#998DD9';\nexport const P200 = '#8777D9';\nexport const P300 = '#6554C0';\nexport const P400 = '#5243AA';\nexport const P500 = '#403294';\n\n// Teals\nexport const T50 = '#E6FCFF';\nexport const T75 = '#B3F5FF';\nexport const T100 = '#79E2F2';\nexport const T200 = '#00C7E6';\nexport const T300 = '#00B8D9';\nexport const T400 = '#00A3BF';\nexport const T500 = '#008DA6';\n\n// Neutrals\nexport const N0 = '#FFFFFF';\nexport const N10 = '#FAFBFC';\nexport const N20 = '#F4F5F7';\nexport const N30 = '#EBECF0';\nexport const N40 = '#DFE1E6';\nexport const N50 = '#C1C7D0';\nexport const N60 = '#B3BAC5';\nexport const N70 = '#A5ADBA';\nexport const N80 = '#97A0AF';\nexport const N90 = '#8993A4';\nexport const N100 = '#7A869A';\nexport const N200 = '#6B778C';\nexport const N300 = '#5E6C84';\nexport const N400 = '#505F79';\nexport const N500 = '#42526E';\nexport const N600 = '#344563';\nexport const N700 = '#253858';\nexport const N800 = '#172B4D';\n\n// ATTENTION: update the tints if you update this\nexport const N900 = '#091E42';\n\n// Each tint is made of N900 and an alpha channel\nexport const N10A = 'rgba(9, 30, 66, 0.02)';\nexport const N20A = 'rgba(9, 30, 66, 0.04)';\nexport const N30A = 'rgba(9, 30, 66, 0.08)';\nexport const N40A = 'rgba(9, 30, 66, 0.13)';\nexport const N50A = 'rgba(9, 30, 66, 0.25)';\nexport const N60A = 'rgba(9, 30, 66, 0.31)';\nexport const N70A = 'rgba(9, 30, 66, 0.36)';\nexport const N80A = 'rgba(9, 30, 66, 0.42)';\nexport const N90A = 'rgba(9, 30, 66, 0.48)';\nexport const N100A = 'rgba(9, 30, 66, 0.54)';\nexport const N200A = 'rgba(9, 30, 66, 0.60)';\nexport const N300A = 'rgba(9, 30, 66, 0.66)';\nexport const N400A = 'rgba(9, 30, 66, 0.71)';\nexport const N500A = 'rgba(9, 30, 66, 0.77)';\nexport const N600A = 'rgba(9, 30, 66, 0.82)';\nexport const N700A = 'rgba(9, 30, 66, 0.89)';\nexport const N800A = 'rgba(9, 30, 66, 0.95)';\n\n// Dark Mode Neutrals\nexport const DN900 = '#E6EDFA';\nexport const DN800 = '#DCE5F5';\nexport const DN700 = '#CED9EB';\nexport const DN600 = '#B8C7E0';\nexport const DN500 = '#ABBBD6';\nexport const DN400 = '#9FB0CC';\nexport const DN300 = '#8C9CB8';\nexport const DN200 = '#7988A3';\nexport const DN100 = '#67758F';\nexport const DN90 = '#56637A';\nexport const DN80 = '#455166';\nexport const DN70 = '#3B475C';\nexport const DN60 = '#313D52';\nexport const DN50 = '#283447';\nexport const DN40 = '#202B3D';\nexport const DN30 = '#1B2638';\nexport const DN20 = '#121A29';\nexport const DN10 = '#0E1624';\n\n// ATTENTION: update the tints if you update this\nexport const DN0 = '#0D1424';\n\n// Each dark tint is made of DN0 and an alpha channel\nexport const DN800A = 'rgba(13, 20, 36, 0.06)';\nexport const DN700A = 'rgba(13, 20, 36, 0.14)';\nexport const DN600A = 'rgba(13, 20, 36, 0.18)';\nexport const DN500A = 'rgba(13, 20, 36, 0.29)';\nexport const DN400A = 'rgba(13, 20, 36, 0.36)';\nexport const DN300A = 'rgba(13, 20, 36, 0.40)';\nexport const DN200A = 'rgba(13, 20, 36, 0.47)';\nexport const DN100A = 'rgba(13, 20, 36, 0.53)';\nexport const DN90A = 'rgba(13, 20, 36, 0.63)';\nexport const DN80A = 'rgba(13, 20, 36, 0.73)';\nexport const DN70A = 'rgba(13, 20, 36, 0.78)';\nexport const DN60A = 'rgba(13, 20, 36, 0.81)';\nexport const DN50A = 'rgba(13, 20, 36, 0.85)';\nexport const DN40A = 'rgba(13, 20, 36, 0.89)';\nexport const DN30A = 'rgba(13, 20, 36, 0.92)';\nexport const DN20A = 'rgba(13, 20, 36, 0.95)';\nexport const DN10A = 'rgba(13, 20, 36, 0.97)';\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface')` instead.\n */\nexport const background = themed({\n light: `var(--ds-surface, ${N0})`,\n dark: `var(--ds-surface, ${DN30})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.selected')` instead.\n */\nexport const backgroundActive = themed({\n light: `var(--ds-background-selected, ${B50})`,\n dark: `var(--ds-background-selected, ${B75})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.neutral.hovered')` instead.\n */\nexport const backgroundHover = themed({\n light: `var(--ds-background-neutral-hovered, ${N30})`,\n dark: `var(--ds-background-neutral-hovered, ${DN70})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('elevation.surface.overlay')` instead.\n */\nexport const backgroundOnLayer = themed({\n light: `var(--ds-surface-overlay, ${N0})`,\n dark: `var(--ds-surface-overlay, ${DN50})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const text = themed({\n light: `var(--ds-text, ${N900})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const textHover = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.selected')` instead.\n */\nexport const textActive = themed({\n light: `var(--ds-text-selected, ${B400})`,\n dark: `var(--ds-text-selected, ${B400})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use token('color.text.subtlest', N200) instead. Use DN200 as the fallback color for dark mode.\n */\nexport const placeholderText = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text')` instead.\n */\nexport const heading = themed({\n light: `var(--ds-text, ${N800})`,\n dark: `var(--ds-text, ${DN600})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.text.subtlest')` instead.\n */\nexport const subtleHeading = themed({\n light: `var(--ds-text-subtlest, ${N200})`,\n dark: `var(--ds-text-subtlest, ${DN300})`\n});\nexport const codeBlock = themed({\n light: N20,\n dark: DN50\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link')` instead.\n */\nexport const link = themed({\n light: `var(--ds-link, ${B400})`,\n dark: `var(--ds-link, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkHover = themed({\n light: `var(--ds-link-pressed, ${B300})`,\n dark: `var(--ds-link-pressed, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.link.pressed')` instead.\n */\nexport const linkActive = themed({\n light: `var(--ds-link-pressed, ${B500})`,\n dark: `var(--ds-link-pressed, ${B100})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.border.focused')` instead.\n */\nexport const linkOutline = themed({\n light: `var(--ds-border-focused, ${B100})`,\n dark: `var(--ds-border-focused, ${B200})`\n});\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.background.brand.bold')` instead.\n */\nexport const primary = themed({\n light: `var(--ds-background-brand-bold, ${B400})`,\n dark: `var(--ds-background-brand-bold, ${B100})`\n});\nexport const blue = themed({\n light: B400,\n dark: B100\n});\nexport const teal = themed({\n light: T300,\n dark: T200\n});\nexport const purple = themed({\n light: P300,\n dark: P100\n});\nexport const red = themed({\n light: R300,\n dark: R300\n});\nexport const yellow = themed({\n light: Y300,\n dark: Y300\n});\nexport const green = themed({\n light: G300,\n dark: G300\n});\n\n/**\n * @deprecated {@link https://hello.atlassian.net/browse/ENGHEALTH-386 Internal documentation for deprecation (no external access)}\n * @deprecated use `token('color.skeleton')` instead.\n */\nexport const skeleton = () => `var(--ds-skeleton, ${N20A})`;","/* eslint-disable @atlaskit/design-system/ensure-design-token-usage */\nimport { B200, B400, N0, N100, N400, N50, N600, N800 } from '@atlaskit/theme/colors';\n// TODO: This is where we need to add tokens for all appearance color values\nexport const getColorsFromAppearance = appearance => {\n let iconGradientStart, iconGradientStop, iconColor, textColor, atlassianLogoTextColor;\n switch (appearance) {\n case 'brand':\n iconGradientStart = B400;\n iconGradientStop = B200;\n iconColor = B200;\n textColor = `var(--ds-text, ${N800})`;\n // This is only used for the top level Atlassian wordmark (see AtlassianLogo\n // or AtlassianStartLogo for example), and is only different for the Brand\n // appearance - a bold brand color. For other appearances,\n // atlassianLogoTextColor is the same as textColor.\n atlassianLogoTextColor = B400;\n break;\n case 'neutral':\n iconGradientStart = N600;\n iconGradientStop = N100;\n iconColor = N100;\n textColor = N400;\n atlassianLogoTextColor = N400;\n break;\n case 'inverse':\n iconGradientStart = N50;\n iconGradientStop = N0;\n iconColor = N0;\n textColor = `var(--ds-text-inverse, ${N0})`;\n atlassianLogoTextColor = `var(--ds-text-inverse, ${N0})`;\n break;\n }\n return {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n atlassianLogoTextColor\n };\n};","import _extends from \"@babel/runtime/helpers/extends\";\n/** @jsx jsx */\n\nimport { css, jsx } from '@emotion/react';\nimport { sizes } from './constants';\nconst CSS_VAR_COLOR = '--logo-color';\nconst CSS_VAR_FILL = '--logo-fill';\nconst baseWrapperStyles = css({\n display: 'inline-block',\n position: 'relative',\n color: `var(${CSS_VAR_COLOR})`,\n fill: `var(${CSS_VAR_FILL})`,\n lineHeight: 1,\n userSelect: 'none',\n whiteSpace: 'normal',\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n '> svg': {\n height: '100%',\n fill: 'inherit'\n }\n});\nconst stopColorStyles = css({\n // eslint-disable-next-line @repo/internal/styles/no-nested-styles\n stop: {\n stopColor: 'currentColor'\n }\n});\nconst sizeStyles = Object.entries(sizes).reduce((acc, [key, val]) => {\n acc[key] = css({\n height: `${val}px`\n });\n return acc;\n}, {});\n\n/**\n * __Wrapper__\n *\n * An internal component used by `@atlaskit/logo` to render logo SVGs with correct styles.\n */\nconst Wrapper = ({\n label,\n svg,\n size,\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n testId: userDefinedTestId,\n ...rest\n}) => {\n const shouldApplyStopColor = iconGradientStart === 'inherit' && iconGradientStop === 'inherit' && appearance === undefined;\n const testId = userDefinedTestId && `${userDefinedTestId}--wrapper`;\n return jsx(\"span\", _extends({\n css: [baseWrapperStyles, shouldApplyStopColor && stopColorStyles, size && sizeStyles[size]],\n \"data-testid\": testId,\n style: {\n [CSS_VAR_COLOR]: iconColor,\n [CSS_VAR_FILL]: textColor\n },\n \"aria-label\": label ? label : undefined,\n role: label ? 'img' : undefined,\n dangerouslySetInnerHTML: {\n __html: svg\n }\n // eslint-disable-next-line @repo/internal/react/no-unsafe-spread-props\n }, rest));\n};\nexport default Wrapper;","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n // We treat the word \"Atlassian\" differently to normal product logos, it has a bold brand look\n atlassianLogoTextColor: textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Atlassian logo__\n *\n * The Atlassian logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianLogo = ({\n appearance,\n label = 'Atlassian',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","import React from 'react';\n\nconst InboxImg: React.FC = (props) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {'Incoming'}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default InboxImg;\n","import { defineMessages } from 'react-intl';\n\nconst ID_PREFIX = 'WacSignupForm.';\nexport const messages = defineMessages({\n header: {\n id: `${ID_PREFIX}header`,\n defaultMessage: 'Great, check your inbox'\n },\n devopsHeader: {\n id: `${ID_PREFIX}devopsHeader`,\n defaultMessage: 'Your suite is ready!'\n },\n devopsSubHeader: {\n id: `${ID_PREFIX}devopsSubHeader`,\n defaultMessage: 'Activate your account to log in'\n },\n devopsNoResendNoEmail: {\n id: `${ID_PREFIX}devopsNoResendNoEmail`,\n defaultMessage:\n \"
    Didn't receive an email from us?
    Check your spam folder or try resending the email below.\"\n },\n devopsEmailSent: {\n id: `${ID_PREFIX}devopsEmailSent`,\n defaultMessage:\n \"We've sent an email to
    {email}
    with a link to activate your account.\"\n },\n resendEmailLineOne: {\n id: `${ID_PREFIX}resendEmailLineOne`,\n defaultMessage: \"We've emailed a verification link to:\"\n },\n resendEmailLineTwo: {\n id: `${ID_PREFIX}resendEmailLineTwo`,\n defaultMessage: 'It will expire shortly, so verify soon.'\n },\n resendEmailCheckSpam: {\n id: `${ID_PREFIX}resendEmailCheckSpam`,\n defaultMessage: 'Remember to check your spam folder.'\n },\n resendEmailAction: {\n id: `${ID_PREFIX}resendEmailAction`,\n defaultMessage: 'Resend Email'\n },\n resendEmailChangeEmail: {\n id: `${ID_PREFIX}resendEmailChangeEmail`,\n defaultMessage: 'Need to change your email address?'\n },\n resendEmailChangeEmailAction: {\n id: `${ID_PREFIX}resendEmailChangeEmailAction`,\n defaultMessage: \"You'll need to create a new account.\"\n },\n resendEmailStillNoEmail: {\n id: `${ID_PREFIX}resendEmailStillNoEmail`,\n defaultMessage: 'Still not getting the email? We can help.'\n },\n resendEmailCreateAHelpTicket: {\n id: `${ID_PREFIX}resendEmailCreateAHelpTicket`,\n defaultMessage: 'Create a help ticket.'\n },\n noResendNoEmail: {\n id: `${ID_PREFIX}noResendNoEmail`,\n defaultMessage: \"Didn't receive an email from us?\"\n },\n noResendEmailConfirmation: {\n id: `${ID_PREFIX}noResendEmailConfirmation`,\n defaultMessage:\n 'Email confirmation helps us to ensure your data will always be safe.'\n },\n noResendContactUsHtml: {\n id: `${ID_PREFIX}noResendContactUsHtml`,\n defaultMessage: '
    Contact us.'\n }\n});\n","import { N20A, N500, N600, N800 } from '@atlaskit/theme/colors';\nimport { keyframes } from '@emotion/react';\nimport styled from '@emotion/styled';\n\nexport const CharlieDisplayFontStack =\n \"'Charlie Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif;\";\n\nexport const CharlieTextFontStack =\n \"'Charlie Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif;\";\n\nexport const Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: 0px;\n align-items: center;\n font-family: ${CharlieTextFontStack};\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n color: #091e42;\n letter-spacing: 0.05em;\n\n a {\n text-decoration: none !important;\n }\n\n a:hover {\n text-decoration: underline !important;\n }\n\n svg {\n margin-bottom: 0 !important;\n }\n`;\n\nexport const Header = styled.span`\n padding: 25px 0;\n font-weight: 600;\n font-family: ${CharlieDisplayFontStack};\n font-size: 1.25em;\n line-height: 1.2;\n letter-spacing: unset;\n color: #172b4d;\n`;\nexport const DevopsHeader = styled.span`\n font-size: 32px;\n line-height: 40px;\n font-family: ${CharlieDisplayFontStack};\n color: ${N600};\n font-weight: 400;\n text-align: center;\n display: flex;\n flex-direction: column;\n padding-bottom: 20px;\n\n @media only screen and (max-width: 769px) {\n font-size: 24px;\n line-height: 28px;\n padding-bottom: 16px;\n }\n\n span:first-child {\n padding-bottom: 14px;\n }\n\n @media only screen and (max-width: 424px) {\n max-width: 266px;\n }\n`;\nexport const DevopsImageWrapper = styled.div`\n width: 225px;\n padding-bottom: 25px;\n display: flex;\n justify-content: center;\n margin-top: 35px;\n\n @media only screen and (max-width: 769px) {\n margin-top: 16px;\n padding-bottom: 20px;\n }\n`;\nexport const ImageWrapper = styled.div`\n width: 225px;\n padding-bottom: 25px;\n`;\n\nexport const Group = styled.div`\n display: flex;\n flex-direction: column;\n padding-bottom: 25px;\n align-items: center;\n`;\n\nexport const Bold = styled.span`\n font-weight: 900;\n`;\n\nexport const RotationKeyframes = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n`;\n\nexport const Devopsgroup = styled.div`\n display: flex;\n flex-direction: column;\n padding-bottom: 0px;\n align-items: center;\n text-align: center;\n max-width: 422px;\n\n @media only screen and (max-width: 769px) {\n max-width: 300px;\n }\n`;\nexport const DevopsText = styled.p`\n font-family: ${CharlieTextFontStack};\n color: ${N800};\n div {\n font-weight: 600;\n display: contents;\n\n @media only screen and (max-width: 769px) {\n display: block;\n }\n }\n\n &.break div {\n @media only screen and (max-width: 769px) {\n padding-bottom: 10px;\n }\n }\n`;\nexport const DevopsButtonGroup = styled.div`\n margin-top: 20px;\n margin-bottom: 20px;\n button {\n background: ${N20A};\n border-radius: 3px;\n padding: 6px 12px;\n }\n span {\n color: ${N500};\n font-size: 14px;\n line-height: 20px;\n font-family: ${CharlieTextFontStack};\n }\n`;\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport CheckCircleIcon from '@atlaskit/icon/glyph/check-circle';\nimport CrossCircleIcon from '@atlaskit/icon/glyph/cross-circle';\nimport RefreshIcon from '@atlaskit/icon/glyph/refresh';\nimport { G300, R300 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\n\nimport useResendEmailAPI, {\n ResendEmailStatuses\n} from '../../../../../../hook/useResendEmailAPI';\nimport useResendEmailData from '../../../../../../hook/useResendEmailData';\nimport { CheckEmailAnalyticsInterface } from '../../../../../../model/check-email-page';\nimport { CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES } from '../../../../../../model/check-email-page';\nimport { messages } from '../../messages';\nimport { CharlieDisplayFontStack, RotationKeyframes } from '../../styled';\n\nconst RESEND_ATTEMPT_LIMIT = 3;\n\nconst StyledButton = styled(Button)`\n font-family: ${CharlieDisplayFontStack} !important;\n line-height: 15px !important;\n`;\n\nconst Container = styled.div`\n position: relative;\n`;\n\nconst IconContainer = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n position: absolute;\n right: -36px;\n top: 50%;\n transform: translateY(-50%);\n height: 32px;\n width: 32px;\n`;\n\nconst Rotation = styled.div`\n animation: ${RotationKeyframes} 1.25s linear 0s infinite;\n`;\n\ninterface ResendEmailButtonProps {\n baseUrl?: string;\n checkEmailAnalyticsService: CheckEmailAnalyticsInterface;\n}\n\nconst ResendEmailButton: React.FC = ({\n baseUrl,\n checkEmailAnalyticsService\n}) => {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const [resendEmailData, incrementResendCount] = useResendEmailData();\n const { state: resendEmailState, triggerResendEmail } = useResendEmailAPI({\n baseUrl,\n checkEmailAnalyticsService\n });\n\n if (\n resendEmailData.resendCount > RESEND_ATTEMPT_LIMIT ||\n resendEmailData.resendCount < 0\n ) {\n return (\n <>\n \n \n \n \n \n );\n }\n\n const onClick = () => {\n const newCount = resendEmailData.resendCount + 1;\n if (newCount > RESEND_ATTEMPT_LIMIT) {\n return incrementResendCount();\n }\n\n checkEmailAnalyticsService.clickResendButton(createAnalyticsEvent);\n\n triggerResendEmail(resendEmailData).then((success) => {\n if (success) {\n incrementResendCount();\n createAnalyticsEvent({\n action: 'resendEmail',\n name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.RESEND_EMAIL_API_SUCCESS\n }).fire();\n } else {\n createAnalyticsEvent({\n action: 'resendEmail',\n name: CHECK_EMAIL_PAGE_TRACKING_EVENT_NAMES.RESEND_EMAIL_API_FAILURE\n }).fire();\n }\n });\n };\n\n const Icon = () => {\n switch (resendEmailState.status) {\n case ResendEmailStatuses.SUCCESS:\n return (\n \n );\n case ResendEmailStatuses.FAILURE:\n return (\n \n );\n default:\n return null;\n }\n };\n\n return (\n \n \n \n \n ) : undefined\n }\n >\n \n \n \n \n \n \n );\n};\n\nexport default injectIntl(ResendEmailButton);\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport { AtlassianLogo } from '@atlaskit/logo';\nimport { B400, B200 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { FormattedHTMLMessage, FormattedMessage } from 'react-intl';\nimport { CheckEmailPageLayoutPropsType } from '../../../../../model/check-email-page';\nimport { InboxImage, ResendEmailButton } from '../components';\nimport { messages } from '../messages';\nimport { Bold, Group, Header, ImageWrapper, Wrapper } from '../styled';\n\nexport function LayoutDefault({\n email,\n shouldEnable,\n baseUrl,\n checkEmailAnalyticsService\n}: CheckEmailPageLayoutPropsType) {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n let pageContent = (\n <>\n
    \n \n {\n ' ' /* without this single space, these two strings sit too close together. */\n }\n \n checkEmailAnalyticsService.contactLinkAnalytics(\n createAnalyticsEvent\n )\n }\n >\n \n \n
    \n \n \n );\n\n if (shouldEnable) {\n pageContent = (\n <>\n \n \n {email}\n \n \n \n \n \n \n \n \n \n \n \n \n \n checkEmailAnalyticsService.navigateBack(e, createAnalyticsEvent)\n }\n >\n \n \n \n \n );\n }\n\n return (\n \n \n
    \n \n
    \n \n \n \n {pageContent}\n
    \n );\n}\n","import React from 'react';\n\nconst EnvelopeImg: React.FC = (props) => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\nexport default EnvelopeImg;\n","import React from 'react';\nimport { FormattedHTMLMessage, FormattedMessage } from 'react-intl';\nimport { CheckEmailPageLayoutPropsType } from '../../../../../model/check-email-page';\nimport { ResendEmailButton } from '../components';\nimport EnvelopeImg from '../components/EnvelopeImage';\nimport { messages } from '../messages';\nimport {\n DevopsButtonGroup,\n Devopsgroup,\n DevopsHeader,\n DevopsImageWrapper,\n DevopsText,\n Wrapper\n} from '../styled';\n\nexport function LayoutDevops({\n email,\n baseUrl,\n hideHeader,\n checkEmailAnalyticsService\n}: CheckEmailPageLayoutPropsType) {\n const DevopsResendPage = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n\n return (\n \n \n {!hideHeader && }\n \n \n\n {DevopsResendPage}\n \n );\n}\n","import React from 'react';\nimport { injectIntl } from 'react-intl';\nimport { useResendEmailData } from '../../../../hook';\nimport { CheckEmailPagePropsType } from '../../../../model/check-email-page';\nimport { getCheckEmailAnalyticsService } from '../../../../service/check-email-page';\nimport { LayoutDefault, LayoutDevops } from './container';\n\n// UA ID detected on current checkemail page\nconst googleAnalyticsId = 'UA-6032469-23';\n\nexport const CheckEmailPage: React.FC = ({\n layout,\n baseUrl,\n analyticsTrack,\n productKeys,\n hideHeader\n}) => {\n const [{ email = '', shouldEnable }, {}] = useResendEmailData();\n const props = Object.assign(\n {},\n {\n baseUrl,\n email,\n shouldEnable,\n hideHeader\n }\n );\n\n const checkEmailAnalyticsService = getCheckEmailAnalyticsService({\n analyticsTrack,\n baseUrl,\n productKeys,\n googleAnalyticsId\n });\n\n return (() => {\n switch (layout) {\n case 'devops':\n return (\n \n );\n case 'default':\n default:\n return (\n \n );\n }\n })();\n};\n\nexport default injectIntl(CheckEmailPage);\n","import React from 'react';\nimport { SvgContainer } from '../components/styled';\n\nexport type UnionIcon = {};\n\nexport function UnionIcon({}: UnionIcon) {\n return (\n \n \n \n \n \n \n );\n}\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport AppSwitcherIcon from '@atlaskit/icon/glyph/app-switcher';\nimport EmailIcon from '@atlaskit/icon/glyph/email';\nimport { MarieSchemaAnalytics } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React, { useContext } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport { UnionIcon } from '../Icons/UnionIcon';\n\nexport type CarouselEndProps = {\n readonly isBundleDevops: boolean;\n readonly goToProduct: string;\n};\n\nexport function CarouselEnd({ isBundleDevops, goToProduct }: CarouselEndProps) {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const product = isBundleDevops ? 'Jira' : 'Devops';\n const context = useContext(MarieSchemaAnalytics);\n const buttonId = 'go-to-jira-42074419682455333';\n const buttonClick = () => {\n context?.analyticsTrack?.segment(`bxp.formCloudSignup.go-to-jira-button`, {\n eventType: 'track',\n eventContainer: 'carouselEnd',\n event: 'clicked',\n eventComponent: 'button',\n label: `Go to ${product}`,\n uuid: '42074419682455333',\n productKey: context.productKey,\n productsOffered: context.productsOffered,\n loginUserDetected: context.loginUserDetected,\n userEmail: context.userEmail,\n suiteName: context.suiteName,\n productEdition: context.productEdition,\n productPlatform: context.productPlatform,\n schemaVersion: context.schemaVersion\n });\n createAnalyticsEvent({\n eventName: 'bxp.formCloudSignup.go-to-jira-button',\n data: {\n event: 'clicked',\n uuid: '42074419682455333',\n eventType: 'track',\n eventContainer: 'carouselEnd',\n eventComponent: 'button',\n label: `Go to ${product}`,\n productKey: context.productKey,\n productsOffered: context.productsOffered,\n loginUserDetected: context.loginUserDetected,\n userEmail: context.userEmail,\n suiteName: context.suiteName,\n productEdition: context.productEdition,\n productPlatform: context.productPlatform,\n schemaVersion: context.schemaVersion\n }\n }).fire();\n\n window.location.assign(goToProduct);\n };\n return (\n
    \n \n {' '}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n );\n}\nconst DevopsCarouselEndGroup = styled.div`\n display: flex;\n margin: 0 auto 20px auto;\n max-width: 280px;\n`;\nconst DevopsCarouselEndText = styled.div`\n font-size: 14px;\n line-height: 20px;\n margin-left: 15px;\n font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n font-style: normal;\n`;\nconst DevOpsCarouselEndHeading = styled.div`\n font-family: Charlie Display;\n font-size: 32px;\n line-height: 30px;\n text-align: center;\n margin-bottom: 60px;\n`;\nconst DevOpsCarouselEndButton = styled.div`\n text-align: center;\n margin-top: 70px;\n`;\n","import React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport { WelcomeDivDevops } from './styled';\n\nexport type FormWelcomeMessageProps = {\n readonly isBundleDevops: boolean;\n readonly isLoggedIn: boolean | undefined;\n readonly welcomeMessage: any;\n readonly username: string | null;\n};\n\nexport function FormWelcomeMessage({\n isBundleDevops,\n isLoggedIn,\n welcomeMessage,\n username\n}: FormWelcomeMessageProps) {\n if (isBundleDevops && isLoggedIn) {\n return (\n \n \n \n );\n }\n return ;\n}\n","declare global {\n interface Window {\n cmsPageVariant?: string;\n }\n}\n\nexport type DeferSitenameCohort = 'variant-1' | 'control' | 'non-enrolled';\n\nconst cmsPageVariants = new Map([\n ['defer_sitename_confluence_treatment', 'variant-1'],\n ['defer_sitename_jsw_treatment', 'variant-1'],\n ['defer_sitename_confluence_control', 'control'],\n ['defer_sitename_jsw_control', 'control'],\n ['defer_sitename_confluence_non-enrolled', 'non-enrolled'],\n ['defer_sitename_jsw_non-enrolled', 'non-enrolled']\n]);\n\nexport function getDeferSitenameExperimentCohort(): DeferSitenameCohort {\n if (window?.cmsPageVariant && cmsPageVariants.has(window.cmsPageVariant)) {\n return cmsPageVariants.get(window.cmsPageVariant) as DeferSitenameCohort;\n }\n\n return 'non-enrolled';\n}\n","import { Environment } from '@atlassiansox/bxpkit-core';\n\ntype nextUrlOptions = {\n accountName: string | null;\n product?: string;\n products?: string; // CutSignUpStepsInHalf experiment: for confirmation page redirecturl\n bundle?: string;\n edition?: string;\n signupSource?: string;\n hideUserSegmentation?: string;\n templateId?: string;\n platform?: string;\n cut50?: string;\n};\n\n// Returns a url to redirect the user to after submitting the form\nexport const nextUrl = (options: nextUrlOptions) => (url: string) => {\n let href;\n\n const splitPath = url.split('/');\n\n if (url.startsWith('http')) {\n href = new URL(url);\n } else if (url[1]?.includes('wac')) {\n splitPath.splice(0, 2);\n href = new URL(\n `${Environment.getWacIntegrationUrl()}/${splitPath.join('/')}`\n );\n } else {\n href = new URL(window.location.href);\n href.pathname = url;\n }\n const params = href.searchParams;\n\n Object.entries(options)\n .filter(([_key, value]) => value)\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n .forEach(([key, value]) => params.set(key, value!));\n\n href.search = params.toString();\n return href.toString();\n};\n","import Tooltip from '@atlaskit/tooltip';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport {\n useCutSignUpStepsInHalfForPaid,\n useSignUpFormUIState\n} from '../../../../../hook';\nimport { messages } from '../../../../../messages';\nimport { TooltipDialog } from './styled';\n\nexport function EulaComponent() {\n const { isCompass, isBeacon } = useSignUpFormUIState();\n const isCutSignUpStepsInHalfEnabled = useCutSignUpStepsInHalfForPaid();\n if (isCompass || isBeacon) {\n return (\n

    \n \n \n }\n >\n  ⓘ\n \n

    \n );\n }\n\n return isCutSignUpStepsInHalfEnabled ? (\n \n ) : (\n \n );\n}\n","import { useAnalyticsEvents } from '@atlaskit/analytics-next';\nimport Button from '@atlaskit/button';\nimport { Checkbox } from '@atlaskit/checkbox';\nimport {\n AppKey,\n Environment,\n MarieSchemaAnalytics,\n SanitizedFormattedHtmlMessage,\n Url,\n useBXPExpressClient,\n useStargateClient,\n OfferingCatalog\n} from '@atlassiansox/bxpkit-core';\nimport { Base64 } from 'js-base64';\nimport { useAppSelector } from '../../../../redux';\nimport {\n trackActivateProductsSubmit,\n trackDeferSitenameSignups,\n trackFormSubmit,\n trackN2ESubmit,\n trackN2ESubmit2,\n trackRecaptchaError,\n trackSignupButtonClicked,\n trackSignupContextTooLarge,\n trackSignUpFormSubmitFailed,\n trackSignUpFormSubmitSucceeded,\n trackSubmitWithCaptcha\n} from '../../../../service/sign-up-form/analytics';\nimport { checkProductEdition } from '../../../../service/sign-up-form/product-edition';\n\nimport _ from 'lodash';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { useGoogleReCaptcha } from 'react-google-recaptcha-v3';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport {\n getTranslatableError,\n messages\n} from '../../../../messages/sign-up-form';\nimport {\n HandleSubmitType,\n Product,\n ProductKeys,\n ProductPayloadObject,\n Sites,\n SubmitErrorType,\n SubmitErrorIDType,\n WacSignupFormWithIntlProps\n} from '../../../../model/wac-signup-form';\nimport { createSolutionStatsEvent } from '../../../../service/sign-up-form/analytics';\nimport {\n FormPayloadActivateProducts,\n formSubmitN2N,\n isTestTenantByName,\n pollForSuccess\n} from '../../../../service/sign-up-form/form-submit';\nimport {\n checkBreachStatus,\n productsCanBeInBreachOfFree\n} from '../../../../service/sign-up-form/free-breach';\nimport { CheckEmailPage } from '../check-email-page';\nimport {\n BitbucketAccountPicker,\n BitbucketJiraInfoBox,\n BreachInfoBox,\n DisplayNameField,\n EmailField,\n GdprLocation,\n InfoBox,\n MigrationSource,\n SiteNameField,\n SitePickerField,\n SubmitButton\n} from './components';\nimport { CarouselEnd } from './components/carousel-end';\nimport { FormWelcomeMessage } from './components/form-welcome-message';\nimport {\n ErrorMessageWithDefaultClassName,\n Eula,\n EulaChooseSignup,\n EulaDefaultExpandedEmail,\n MarketingConsent,\n NoCard,\n NoCardDefaultExpandedEmail,\n ReCaptchaEula,\n ReCaptchaEulaDefaultExpandedEmail,\n ResendEmailContainer,\n WacSignupFormContainer,\n WelcomeDiv\n} from './components/styled';\n\nimport {\n useCutSignUpStepsInHalfForPaid,\n useSignUpFormConfig,\n useSignUpFormGlobalConfiguration,\n useSignUpFormUIState,\n useSiteNameGeneration\n} from '../../../../hook';\n\nimport { useDeferSitenameExposed } from '../../../../hook/use-defer-sitename-exposed';\nimport { getDeferSitenameExperimentCohort } from '../utility/get-defer-sitename-experiment-cohort';\nimport { nextUrl } from '../utility/new-url';\nimport { isUserInChooseSignupVariants } from '../utility';\nimport { EulaComponent } from './components/eula-component';\nimport { isNotUndefined } from '@atlassiansox/bxp-shared-utils';\n\nconst offeringCatalog = new OfferingCatalog(Environment.getEnvironment());\n\nfunction getOpsgenieAdvancedSettings(dataRegion?: string | null) {\n return {\n advancedSettings: {\n additionalProvisioningData: {\n dataRegion: dataRegion === 'EU' ? 'europe' : 'main'\n },\n initialProductURL:\n dataRegion === 'EU'\n ? 'atlassian-app.eu.opsgenie.com'\n : 'atlassian-app.opsgenie.com'\n }\n };\n}\n// shipit-55 SHPLV-364\ntype MakeAppInstallTypes = {\n readonly siteName: string;\n readonly appKey: string;\n readonly xsrfToken: string;\n};\n\nfunction getBillingAdvancedSettings() {\n const queryParameters = Url.getUrlParams() || {};\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const additionalProvisioningData: { [key: string]: any } = {};\n\n if (queryParameters.hasOwnProperty('billingMode')) {\n additionalProvisioningData.billingMode = queryParameters.billingMode;\n }\n if (queryParameters.hasOwnProperty('billingCode')) {\n additionalProvisioningData.billingCode = queryParameters.billingCode;\n }\n\n return {\n advancedSettings: {\n additionalProvisioningData\n }\n };\n}\n\nexport function getBitbucketAdvancedSettings(\n isStaging: boolean,\n existingUser?: boolean | null\n) {\n const suppressEmail = existingUser ? undefined : true;\n const advancedSettingsObject = {\n advancedSettings: {\n initialProductURL: isStaging ? 'integration.bb-inf.net' : 'bitbucket.org',\n additionalProvisioningData: {\n signupLocation: 'WAC'\n }\n }\n };\n if (suppressEmail !== undefined) {\n Object.assign(advancedSettingsObject.advancedSettings, { suppressEmail });\n }\n return advancedSettingsObject;\n}\n\nexport function getBitbucketSignupAction(\n createBB: boolean,\n createJSW: boolean\n) {\n const createdJSW = createJSW ? 'created-jira-software.ondemand' : '';\n const createdBB = createBB ? 'created-bitbucket.ondemand' : '';\n const signupUrl = window?.location?.href || '';\n\n return {\n advancedSettings: {\n additionalProvisioningData: {\n signupUrl,\n signupAction: `${createdBB}${\n createBB && createJSW ? '-' : ''\n }${createdJSW}`\n }\n }\n };\n}\n\nexport function getStatuspageAdvancedSettings(\n isStaging: boolean,\n spProduct?: string\n) {\n return {\n advancedSettings: {\n initialProductURL: isStaging\n ? 'manage.statuspagestaging.com'\n : 'manage.statuspage.io',\n additionalProvisioningData: {\n signupLocation: 'WAC',\n spProduct: spProduct || 'public'\n }\n }\n };\n}\n\nexport function getDevopsAdvancedSettings() {\n return {\n advancedSettings: {\n additionalProvisioningData: {\n dataRegion: 'main',\n signupDevops: true\n }\n }\n };\n}\n\nexport function getRequestId(progressUri: string) {\n const pattern = new RegExp(/cloud\\/[\\w-]+\\/status\\/([\\w-]+)$/);\n const matches = pattern.exec(progressUri);\n return matches ? matches[1] : '';\n}\n\nexport function shouldSkipRecaptcha(email: string) {\n const botTestPattern =\n /(bottest@usersinbuckets.com|bottest@atl-paid-dev.com|bottest@bxpwpi.com)$/;\n return botTestPattern.test(email);\n}\n\nexport function WacSignupForm(formProps: WacSignupFormWithIntlProps) {\n const {\n devMode,\n migrationData,\n showEmail,\n hideFullName,\n userInfo,\n bitbucketWorkspaces,\n marketingConsentRequired,\n signInAccountUrl,\n switchAccountUrl,\n originAnalyticsAttributes,\n productKeys,\n isStaging,\n wacEnvUrl,\n analyticsTrack,\n formExistingSiteShown = () => undefined,\n deferSiteNameCreation,\n templateId,\n optimizelyCohorts,\n enableFreeBreachTest = false,\n simulateFreeBreachState = false,\n spProduct,\n hideGreeting = false,\n outlineOnFocus = false,\n popOverError = false,\n fadeOnDisable = false,\n showWarningIcon = false,\n hideCaptchaEula = false,\n selectedSiteId = '',\n siteRenamePageUrl,\n enableSkipRecaptcha = true,\n intl,\n cutSignUpStepsInHalfRedirectPathname\n } = formProps;\n\n const {\n edition: editionOverride,\n useCcpPlatform,\n platform\n } = useSignUpFormConfig();\n const { featureFlags, deferredSiteName } = useAppSelector((store) => store);\n const {\n enableTintinMvp,\n provisionSecondPartyApps,\n enableDeferredFullName,\n enableAllowBundlesExistingSites,\n enableDefaultExpandedEmail,\n enableChooseSignup\n } = featureFlags;\n\n const { createAnalyticsEvent } = useAnalyticsEvents();\n const stargateClient = useStargateClient();\n const signUpFormUIState = useSignUpFormUIState();\n\n const signupSource = new URLSearchParams(window.location.search).get(\n 'signupSource'\n );\n const bitbucketPreferred = signupSource === 'bbbundle' ? true : false;\n\n const { newRelic, optimizely, segment } = analyticsTrack;\n const context = useContext(MarieSchemaAnalytics);\n\n const { confirmationPageUrl, checkEmailPageUrl, newUserSignupRedirectUrl } =\n useSignUpFormGlobalConfiguration();\n\n const generatedCloudName = useSiteNameGeneration();\n\n const [exposedToDeferSitename, setExposedToDeferSitename] =\n useState(false);\n\n //choose signup experiment flags\n const isUserEnrolledInChooseSignupExperimentVariants =\n isUserInChooseSignupVariants(enableChooseSignup);\n const isCutSignUpStepsInHalfEnabled = useCutSignUpStepsInHalfForPaid();\n const [isFocusedChooseSignup, setIsFocusedChooseSignup] = useState(true);\n const [showError, setShowError] = useState(\n !!isUserEnrolledInChooseSignupExperimentVariants\n );\n\n useEffect(() => {\n const cartedProducts = productKeys.map((k) => k.product);\n\n segment('bxp.formCloudSignup.viewedCheckoutStep', {\n productAttributes: {\n cartedProducts,\n intendedProduct: cartedProducts[0]\n }\n });\n segment('bxp.formCloudSignup.addedProduct', {\n cartedProducts\n });\n\n optimizely('cart-cloud.viewed-checkout-step.view-signup-page');\n cartedProducts.forEach((product) =>\n optimizely(`cart-cloud.added-product.${product}`)\n );\n }, []);\n\n useDeferSitenameExposed({\n createAnalyticsEvent,\n products: signUpFormUIState.signupState.products.map(\n (product) => product?.product as string\n ),\n exposedToDeferSitename\n });\n\n if (migrationData && migrationData.invalidMigration) {\n return (\n \n );\n }\n\n // SHIPIT55\n const bxpExpressClient = useBXPExpressClient();\n\n function wrappedClientReq({\n siteName,\n appKey,\n xsrfToken\n }: MakeAppInstallTypes) {\n return new Promise(async (resolve) => {\n const response = await bxpExpressClient\n .marketplaceAppInstall({\n siteName,\n appKey,\n xsrfToken\n })\n .catch((err) => err);\n resolve(response);\n });\n }\n\n useEffect(() => {\n // free-breach-test\n if (\n enableFreeBreachTest &&\n signUpFormUIState.signupState.selectedSite &&\n signUpFormUIState.signupState.products &&\n productsCanBeInBreachOfFree(signUpFormUIState.signupState.products)\n ) {\n signUpFormUIState.setDisableSignInWhileTestingFreeBreach(true);\n checkBreachStatus({\n cloudId: signUpFormUIState.signupState.selectedSite.cloudId,\n productKeys: signUpFormUIState.signupState.products.map(\n (productKey) => productKey.product\n ) as string[],\n wacEnvUrl\n })\n .then((siteInBreach: boolean) => {\n segment('bxpSignupFreeUserBreachSitePickerInBreach', {\n selectedSiteId: signUpFormUIState.signupState.selectedSite?.cloudId\n });\n signUpFormUIState.setSelectedSiteIsInBreachOfFree(siteInBreach);\n signUpFormUIState.setDisableSignInWhileTestingFreeBreach(false);\n })\n .catch((exception) => {\n segment('bxpSignupFreeUserBreachSitePickerError', {\n exception: JSON.stringify(exception)\n });\n });\n\n if (simulateFreeBreachState) {\n segment('bxpSignupFreeUserBreachSitePickerInBreach', {\n selectedSiteId: signUpFormUIState.signupState.selectedSite?.cloudId\n });\n signUpFormUIState.setSelectedSiteIsInBreachOfFree(true);\n }\n }\n }, [\n signUpFormUIState.isBbCopyEnabled,\n signUpFormUIState.signupState.cloudName,\n signUpFormUIState.signupState.selectedSite,\n signUpFormUIState.signupState.isExistingSitePickerN2E,\n enableFreeBreachTest\n ]);\n\n const findIfJswIncluded = (cloudId: string | undefined): boolean => {\n const siteProducts = userInfo?.sites?.filter(\n (site) => site.cloudId === cloudId\n )[0].products;\n\n if (!siteProducts || !cloudId) {\n return false;\n }\n\n return siteProducts.includes(ProductKeys.JIRA_SOFTWARE);\n };\n\n const handleSubmit = async ({\n payload,\n activateProducts = false,\n cloudId = '',\n isJswIncluded,\n gRecaptchaResponse,\n productEdition\n }: HandleSubmitType) => {\n if (!payload || !payload.products || payload.products.length < 1) {\n return false;\n }\n let referrerHash;\n if (sessionStorage) {\n referrerHash = sessionStorage.getItem('sContext');\n }\n\n const rHashDecoded = decodeURIComponent(\n escape(window.atob(referrerHash || ''))\n );\n const combinedHash = window.btoa(\n unescape(\n encodeURIComponent(\n [\n rHashDecoded,\n document.referrer.replace('|', ''),\n gRecaptchaResponse\n ].join('|')\n )\n )\n );\n\n let payloadProducts = payload.products.map(\n (p: Product): ProductPayloadObject => {\n const returnObj = {\n accountName: payload.cloudName || undefined\n };\n\n // We do not set edition for Opsgenie\n if (p.product !== 'opsgenie') {\n Object.assign(returnObj, { edition: editionOverride || p.edition });\n }\n if (\n p.product === ProductKeys.JIRA_SOFTWARE &&\n signUpFormUIState.isBundleBBJSW\n ) {\n Object.assign(returnObj, {\n edition: productEdition || 'free'\n });\n }\n\n if (signUpFormUIState.signupState.migrationId) {\n Object.assign(returnObj, {\n migrationSourceUuid: signUpFormUIState.signupState.migrationId,\n edition:\n p.edition !== 'standard' && p.edition !== 'premium'\n ? 'standard'\n : p.edition\n });\n }\n\n return {\n ...returnObj,\n [`product${activateProducts ? 'Key' : ''}`]: p.product\n };\n }\n );\n\n // shipit55 apps bundle SHPLV-364\n const productsIncludesApps = payloadProducts\n .map(({ product }) => {\n return Object.values(AppKey).includes(product as AppKey);\n })\n .includes(true);\n\n if (productsIncludesApps) {\n payloadProducts = _.remove(payloadProducts, ({ product }) => {\n return !Object.values(AppKey).includes(product as AppKey);\n });\n }\n\n // Check if 2nd Party App Provisioning Eligibility applies:\n // Redirect if conditions are met (single-product JSW Free Edition\n // New Site signups, no template/dev/migration signups).\n const isAppProvisioningEligible =\n provisionSecondPartyApps &&\n !devMode &&\n !templateId &&\n !migrationData &&\n payloadProducts.length === 1 &&\n payloadProducts.map(({ edition }) => edition).includes('free') &&\n payloadProducts\n .map(({ product }) => product)\n .includes(ProductKeys.JIRA_SOFTWARE);\n\n const isTestTenant = isTestTenantByName(isStaging, payload.cloudName);\n\n const cofsPayload = {\n adminUsername: 'admin',\n cloudName:\n payload.cloudName ||\n (deferredSiteName.isEnabled ? generatedCloudName : null),\n adminPassword: payload.password,\n email: payload.email,\n timezone: payload.timezone,\n firstName: payload.firstName,\n lastName: payload.lastName,\n products: payloadProducts,\n consent: payload.consent,\n gRecaptchaResponse: combinedHash,\n advancedSettings: {}\n };\n\n const signupContext = {};\n if (templateId) {\n Object.assign(signupContext, { templateId });\n }\n if (deferSiteNameCreation && !signUpFormUIState.signupState.isLoggedIn) {\n if (signUpFormUIState.isStatuspage) {\n // For statuspage, do not include the page path so the user\n // will be directed straight to Statuspage\n Object.assign(signupContext, {\n autogenSiteName: 1\n });\n } else {\n Object.assign(signupContext, {\n pagePath: siteRenamePageUrl,\n autogenSiteName: 1\n });\n }\n cofsPayload.cloudName = null;\n }\n if (optimizelyCohorts) {\n Object.assign(signupContext, { optimizelyCohorts });\n }\n if (isTestTenant) {\n Object.assign(cofsPayload, { testingPurposes: true });\n }\n // 2nd party app provision skip integration screen in product\n if (isAppProvisioningEligible) {\n Object.assign(signupContext, { skipIntegrationsSurvey: true });\n }\n\n const MAX_SIGNUP_CONTEXT_LENGTH = 8192;\n const signupContextString: string = JSON.stringify(signupContext);\n if (signupContextString.length <= MAX_SIGNUP_CONTEXT_LENGTH) {\n Object.assign(cofsPayload, {\n signupContext: signupContextString\n });\n } else {\n trackSignupContextTooLarge({\n contextLength: signupContextString.length,\n newRelic\n });\n }\n\n const activateProductsPayload = {\n products: payloadProducts,\n cloudName: payload.cloudName\n };\n // suppress emails if you are not a confluence only sign up\n if (\n !(\n payload.products.length === 1 &&\n payload.products[0].product === ProductKeys.CONFLUENCE\n )\n ) {\n Object.assign(cofsPayload, { advancedSettings: { suppressEmail: true } });\n Object.assign(activateProductsPayload, {\n advancedSettings: { suppressEmail: true }\n });\n }\n const bbWorkSpace = signUpFormUIState.bbWorkspaces.filter(\n (obj) => obj.workspace.name === payload.bbName\n )[0];\n const workspaceUuid = bbWorkSpace?.workspace?.uuid;\n\n trackActivateProductsSubmit({\n activateProducts,\n segment\n });\n\n if (activateProducts) {\n Object.assign(activateProductsPayload, { activateProducts }, { cloudId });\n if (!signUpFormUIState.isBbCopyEnabled && bbWorkSpace !== undefined) {\n Object.assign(activateProductsPayload, {\n advancedSettings: {\n additionalProvisioningData: {\n workspaceUuid\n }\n }\n });\n }\n if (signUpFormUIState.isBundleBBJSW) {\n _.merge(\n activateProductsPayload,\n getBitbucketSignupAction(\n bbWorkSpace === undefined,\n !payload?.isExistingSitePickerN2E ||\n (payload?.selectedSite?.products &&\n !payload?.selectedSite?.products.includes(\n ProductKeys.JIRA_SOFTWARE\n )) ||\n false\n )\n );\n }\n if (signUpFormUIState.isOpsgenie) {\n _.merge(\n activateProductsPayload,\n getOpsgenieAdvancedSettings(signUpFormUIState.signupState.dataRegion)\n );\n }\n if (bitbucketPreferred) {\n _.merge(\n activateProductsPayload,\n getBitbucketAdvancedSettings(isStaging, payload?.isLoggedIn)\n );\n }\n\n if (signUpFormUIState.isStatuspage) {\n _.merge(\n activateProductsPayload,\n getStatuspageAdvancedSettings(isStaging, spProduct)\n );\n }\n\n _.merge(activateProductsPayload, getBillingAdvancedSettings());\n\n const solutionStatsEvent = signUpFormUIState.isBundleBBJSW\n ? createSolutionStatsEvent({\n createAnalyticsEvent,\n signUpFormUIState\n })\n : undefined;\n\n return formSubmitN2N({\n payload: activateProductsPayload,\n wacEnvUrl,\n confirmationPageUrl,\n checkEmailPageUrl,\n isStaging,\n isLoggedIn: userInfo?.isLoggedIn,\n isJswIncluded,\n solutionStatsEvent,\n isOpsgenieIncluded: signUpFormUIState.isOpsgenie,\n dataRegion: payload.dataRegion,\n setPollingLoaderShown: signUpFormUIState.setPollingLoaderShown,\n analyticsTrack,\n setSubmitError: signUpFormUIState.setSubmitError,\n resendEmail: signUpFormUIState.resendEmail,\n hideUserSegmentation: signUpFormUIState.hideUserSegmentation\n });\n }\n\n if (!signUpFormUIState.isBbCopyEnabled && bbWorkSpace !== undefined) {\n Object.assign(cofsPayload, {\n advancedSettings: {\n additionalProvisioningData: {\n workspaceUuid\n }\n }\n });\n _.merge(\n cofsPayload,\n getBitbucketSignupAction(\n bbWorkSpace === undefined,\n !payload?.isExistingSitePickerN2E ||\n (payload?.selectedSite?.products &&\n !payload?.selectedSite?.products.includes(\n ProductKeys.JIRA_SOFTWARE\n )) ||\n false\n )\n );\n }\n\n // for Devops payloads, avoid setting initialProductURL\n // (gets set otherwise if a payload includes OG)\n if (signUpFormUIState.isBundleDevops) {\n _.merge(cofsPayload, getDevopsAdvancedSettings());\n } else if (signUpFormUIState.isOpsgenie) {\n _.merge(\n cofsPayload,\n getOpsgenieAdvancedSettings(signUpFormUIState.signupState.dataRegion)\n );\n }\n if (signUpFormUIState.isBundleBBJSW && bbWorkSpace === undefined) {\n _.merge(\n cofsPayload,\n getBitbucketSignupAction(\n bbWorkSpace === undefined,\n !payload?.isExistingSitePickerN2E ||\n (payload?.selectedSite?.products &&\n !payload?.selectedSite?.products.includes(\n ProductKeys.JIRA_SOFTWARE\n )) ||\n false\n )\n );\n }\n if (bitbucketPreferred) {\n _.merge(\n cofsPayload,\n getBitbucketAdvancedSettings(isStaging, payload?.isLoggedIn)\n );\n }\n if (signUpFormUIState.isStatuspage) {\n _.merge(cofsPayload, getStatuspageAdvancedSettings(isStaging, spProduct));\n }\n\n _.merge(cofsPayload, getBillingAdvancedSettings());\n\n // Pass in known Experiment Key to COFS to activate Standard Developer license\n if (devMode) {\n const DEVELOPER_EXPERIMENT_KEY = 'PUR-7747';\n Object.assign(cofsPayload, {\n experiment: {\n experimentKey: DEVELOPER_EXPERIMENT_KEY\n }\n });\n }\n\n if (signUpFormUIState.hideUserSegmentation) {\n _.merge(cofsPayload, {\n advancedSettings: {\n additionalProvisioningData: {\n hideUserSegmentation: true\n }\n }\n });\n }\n\n trackFormSubmit({\n isLoggedIn: userInfo?.isLoggedIn,\n segment,\n newRelic,\n optimizely\n });\n\n const solutionStatsEvent = signUpFormUIState.isBundleBBJSW\n ? createSolutionStatsEvent({\n createAnalyticsEvent,\n signUpFormUIState\n })\n : undefined;\n\n if (!userInfo?.isLoggedIn) {\n const displayName = signUpFormUIState.signupState.displayName || '';\n const product = productKeys.map((p) => p.product).join(',');\n\n const url = nextUrl({\n accountName: payload.cloudName,\n product\n });\n\n const { email } = signUpFormUIState.signupState;\n let redirectTo = url(newUserSignupRedirectUrl || window.location.href);\n signUpFormUIState.setPollingLoaderShown(true);\n\n if (isCutSignUpStepsInHalfEnabled) {\n redirectTo = cutSignUpStepsInHalfRedirectPathname\n ? `${Environment.getWacIntegrationUrl()}${cutSignUpStepsInHalfRedirectPathname}`\n : redirectTo;\n }\n\n return stargateClient\n .userSignup({\n displayName,\n email: email as string,\n redirectTo,\n locale: intl?.locale || 'en',\n gRecaptchaResponse: gRecaptchaResponse || ''\n })\n .then(() => {\n sessionStorage.setItem(\n 'r.e.d',\n Base64.encode(JSON.stringify({ email, displayName, redirectTo }))\n );\n window.location.assign(url(checkEmailPageUrl));\n })\n .catch((err) => {\n console.log(err);\n signUpFormUIState.setSubmitError(SubmitErrorType.ERROR_TIMEOUT);\n });\n } else if (enableTintinMvp) {\n if (payload.products.length) {\n const ccpProducts = payload.products\n .map(({ product, edition }) => {\n // apps and product bundles SHIPit-55 SHPLV-364, we dont want it to try to look up app keys\n if (Object.values(AppKey).includes(product as AppKey)) {\n return;\n }\n return offeringCatalog.mapProductKeyAndEditionToCcpProduct({\n productKey: product as ProductKeys,\n edition: edition as string\n });\n })\n .filter((p) => p !== undefined);\n\n const siteName =\n (signUpFormUIState.signupState.cloudName as string) ||\n (deferredSiteName.isEnabled ? generatedCloudName : '');\n\n signUpFormUIState.setPollingLoaderShown(true);\n\n trackDeferSitenameSignups({\n isSiteNew: !signUpFormUIState.signupState.isExistingSitePickerN2E,\n isSitenameSpecified: !!signUpFormUIState.signupState?.cloudName,\n numberOfExistingUserSites: signUpFormUIState.pickableSites.length,\n optionalSitenameFeatureCohort: getDeferSitenameExperimentCohort(),\n sitename: siteName,\n userId: signUpFormUIState?.signUpFormProps?.userInfo?.accountId || ''\n });\n\n return stargateClient\n .activateProduct({\n email: signUpFormUIState.signupState.email as string,\n displayName: signUpFormUIState.signupState.displayName as string,\n // @ts-ignore\n ccpProducts,\n siteName,\n timezone: signUpFormUIState.signupState.timezone as string,\n useCcpPlatform,\n consent: payload.consent,\n platform,\n signupContext: signupContextString,\n advancedSettings: cofsPayload.advancedSettings,\n ...(isTestTenant && { testingPurposes: true })\n })\n .then((res) => {\n // **NOTE** With rollout integration, the response may be a COFS response, provisionRequestId may not exist, see below\n const requestId = res.metadata?.provisionRequestId;\n const products = payload.products\n ?.map(({ product }) => product)\n .join(',');\n\n if (res.service === 'ccp') {\n // Route user to CCP Confirmation page\n let redirectUrl = `${confirmationPageUrl}?platform=ccp&provisioningRequestId=${requestId}&ondemandurl=${siteName}&products=${products}`;\n\n if (res.cloudId) {\n redirectUrl += `&cloudId=${res.cloudId}`;\n }\n\n if (signupSource === 'confluenceBundle') {\n redirectUrl += `&signupSource=${signupSource}`;\n }\n\n window.location.assign(redirectUrl);\n } else {\n // Use older COFS logic to poll for successful status,\n // which then routes to confirmation page\n\n const progressUri = res.progressUri as string;\n\n // **NOTE*** maybe want a track event here if progressUri doesn't exist?\n\n pollForSuccess({\n isLoggedIn: true,\n confirmationPageUrl,\n checkEmailPageUrl,\n progressUri,\n products: payload.products as ProductPayloadObject[],\n analyticsTrack,\n isStaging,\n wacEnvUrl,\n cloudName: siteName,\n setSubmitError: signUpFormUIState.setSubmitError,\n setPollingLoaderShown: signUpFormUIState.setPollingLoaderShown,\n isJswIncluded,\n isOpsgenieIncluded: signUpFormUIState.isOpsgenie,\n dataRegion: signUpFormUIState.signupState.dataRegion,\n resendEmail: undefined, // **NOTE** used for Devops signups that won't work in CCP yet\n solutionStatsEvent,\n hideUserSegmentation: false, // **NOTE** used for Jira Templates which I dont think will work in CCP yet\n isAppProvisioningEligible // **NOTE** won't work in CCP yet\n });\n }\n })\n .catch((error) => {\n // **NOTE** We probably want a gas event so we can track these?\n console.log(error);\n const error_id = error.response.headers.get('atl-traceid');\n signUpFormUIState.setSubmitError(\n SubmitErrorIDType.ERROR_TIMEOUT(error_id)\n );\n });\n }\n }\n\n return formSubmitN2N({\n payload: cofsPayload,\n wacEnvUrl,\n confirmationPageUrl,\n checkEmailPageUrl,\n isStaging,\n solutionStatsEvent,\n isLoggedIn: userInfo?.isLoggedIn,\n isOpsgenieIncluded: signUpFormUIState.isOpsgenie,\n dataRegion: payload.dataRegion,\n setPollingLoaderShown: signUpFormUIState.setPollingLoaderShown,\n analyticsTrack,\n setSubmitError: signUpFormUIState.setSubmitError,\n resendEmail: signUpFormUIState.resendEmail,\n hideUserSegmentation: signUpFormUIState.hideUserSegmentation,\n isAppProvisioningEligible\n });\n };\n\n const { executeRecaptcha } = useGoogleReCaptcha();\n\n const handleSubmitWithRecaptcha = async (\n handleSubmitProps: HandleSubmitType\n ) => {\n if (!executeRecaptcha) {\n return;\n }\n\n let token: string;\n\n try {\n token = await executeRecaptcha('userSignup');\n } catch (error) {\n trackRecaptchaError({ segment });\n throw error;\n }\n\n if (token) {\n trackSubmitWithCaptcha({ newRelic });\n\n try {\n await handleSubmit({\n ...handleSubmitProps,\n gRecaptchaResponse: token\n });\n\n trackSignUpFormSubmitSucceeded({\n createAnalyticsEvent\n });\n } catch (error) {\n trackSignUpFormSubmitFailed({\n createAnalyticsEvent\n });\n }\n }\n };\n\n const handleStartN2E = async (\n products: Product[],\n site: Sites,\n migrationId: string | null\n ) => {\n if (products.length && site.cloudId && site.url) {\n const siteDomain = site.url.replace('https://', '');\n //SHIPIt-55 SHPLV-364\n const productsIncludesApps = products\n .map(({ product }) => {\n return Object.values(AppKey).includes(product as AppKey);\n })\n .includes(true);\n\n if (provisionSecondPartyApps && productsIncludesApps) {\n // @ts-ignore\n const appKey = products.find(({ product }) => {\n return Object.values(AppKey).includes(product as AppKey);\n }).product;\n const xsrfToken = await bxpExpressClient.getXsrfToken();\n const siteName = site.url.replace('https://', '').split('.')[0];\n await wrappedClientReq({\n siteName,\n // @ts-ignore\n appKey,\n xsrfToken\n });\n }\n\n if (products.length > 1) {\n const { cloudId } = site;\n const siteName = siteDomain.split('.')[0];\n const productString = context.productsOffered.join(',');\n\n if (enableAllowBundlesExistingSites) {\n const productsEditions =\n products.map(({ product, edition }) => {\n return offeringCatalog.mapProductKeyAndEditionToCcpProduct({\n productKey: product as ProductKeys,\n edition: edition as string\n });\n }) ?? [];\n\n const offeringKeys = productsEditions\n .map((item) => item.offeringId)\n .join(',');\n\n const ccpHamsStatus = await stargateClient.getCcpHamsStatus({\n offeringKeys,\n cloudId\n });\n\n if (ccpHamsStatus.service === 'CCP') {\n const ccp = await stargateClient.getLicenceInformationStatus({\n cloudId\n });\n const primaryProductCCP = Object.values(ccp.products ?? {}).find(\n (prod) =>\n !!prod.ccpTransactionAccountId && !!prod.ccpEntitlementId\n );\n\n if (primaryProductCCP) {\n const res = await Promise.all(\n productsEditions.map(async (product) => {\n return await stargateClient.postProductActivate({\n offerings: [product],\n transactionAccountId:\n primaryProductCCP.ccpTransactionAccountId,\n entitlementId: primaryProductCCP.ccpEntitlementId || '',\n cloudId: cloudId,\n siteName\n });\n })\n );\n\n if (res[0].progressUri) {\n const provisioningRequestIds = res\n .map((product) => product.progressUri.split('/').pop())\n .join(',');\n\n let redirectUrl = `${confirmationPageUrl}?platform=ccp&provisioningRequestId=${provisioningRequestIds}&ondemandurl=${siteName}&products=${productString}`;\n\n if (signupSource === 'confluenceBundle') {\n redirectUrl += `&signupSource=${signupSource}`;\n }\n\n window.location.assign(redirectUrl);\n }\n } else {\n const discoverProductsUrl = `${site.url}/admin/billing/applications`;\n window.location.href = discoverProductsUrl;\n }\n } else {\n const newProducts: ProductPayloadObject[] = products.map(\n (item) => ({\n accountName: siteName,\n edition: item.edition,\n productKey: item.product\n })\n );\n const payload: FormPayloadActivateProducts = {\n cloudName: siteName,\n cloudId,\n activateProducts: true,\n products: newProducts\n };\n\n const res: any = await stargateClient.postCloudSignUp({ payload });\n\n if (res.progressUri) {\n const requestId = getRequestId(res?.progressUri);\n\n let redirectUrl = `${confirmationPageUrl}?ondemandurl=${siteName}&cloudId=${cloudId}&requestId=${requestId}&products=${productString}`;\n\n if (signupSource === 'confluenceBundle') {\n redirectUrl += `&signupSource=${signupSource}`;\n }\n\n window.location.assign(redirectUrl);\n } else {\n const discoverProductsUrl = `${site.url}/admin/billing/applications`;\n window.location.href = discoverProductsUrl;\n }\n }\n } else {\n const discoverProductsUrl = `${site.url}/admin/billing/applications`;\n window.location.href = discoverProductsUrl;\n }\n\n return;\n } else {\n const baseStartUrl = isStaging\n ? 'https://start.stg.atlassian.com'\n : 'https://start.atlassian.com';\n const productKey = products[0].product;\n\n let startUrl = `${baseStartUrl}?startTrialProduct=${productKey}&startTrialCloudId=${site.cloudId}&startTrialInstance=${siteDomain}`;\n if (editionOverride) {\n startUrl += `&edition=${editionOverride}`;\n } else if (products[0].edition) {\n startUrl += `&edition=${products[0].edition}`;\n }\n if (migrationId) {\n startUrl += `&migrationSourceUuid=${migrationId}`;\n }\n\n const queryParameters = Url.getUrlParams() || {};\n if (queryParameters.hasOwnProperty('billingMode')) {\n startUrl += `&billingMode=${queryParameters.billingMode}`;\n }\n if (queryParameters.hasOwnProperty('billingCode')) {\n startUrl += `&billingCode=${queryParameters.billingCode}`;\n }\n startUrl = signUpFormUIState?.signupOrigin?.addToUrl(startUrl);\n\n const idLoginStartUrl = new URL(\n Environment.getIdSigninUrl(undefined, false, startUrl)\n );\n idLoginStartUrl.searchParams.set('application', 'wac');\n idLoginStartUrl.searchParams.set(\n 'login_hint',\n signUpFormUIState.signupState.email as string\n );\n const idLoginStartUrlString = idLoginStartUrl.toString();\n\n trackN2ESubmit2({\n cloudId: site.cloudId,\n products,\n signupUrl: idLoginStartUrlString,\n accountId:\n signUpFormUIState?.signUpFormProps?.userInfo?.accountId || '',\n createAnalyticsEvent\n });\n\n window.location.href = idLoginStartUrlString;\n }\n } else {\n // console.error('Missing site or product data');\n }\n };\n\n const submitHandler = async (event: React.FormEvent) => {\n event.preventDefault();\n\n // Verify user is logged into correct account\n if (userInfo?.isLoggedIn) {\n const userInfoCheck = await stargateClient.me({});\n if (userInfoCheck && userInfo?.accountId !== userInfoCheck.accountId) {\n signUpFormUIState.setSubmitError(SubmitErrorType.AAID_MISMATCH);\n return;\n }\n }\n\n const buttonLabel = !signUpFormUIState.signupState.isExistingSitePickerN2E\n ? signUpFormUIState.buttonText.defaultMessage\n : signUpFormUIState.signupState.isSubmitting\n ? messages.submitProcessingLabel.defaultMessage\n : signUpFormUIState.startButtonText.defaultMessage;\n\n trackSignupButtonClicked({ context, buttonLabel, createAnalyticsEvent });\n\n const cloudId = signUpFormUIState.signupState?.selectedSite?.cloudId;\n const siteName = signUpFormUIState.signupState?.cloudName;\n\n // Check shadow IT to redirect user or not, for both N2N or N2E\n if (userInfo?.isLoggedIn) {\n const isShadowItEnabled = (\n await stargateClient.getFeatureFlag('bxp-signup-enable-shadow-it')\n ).result;\n if (isShadowItEnabled && siteName) {\n const { authorized, redirectUrl } =\n await stargateClient.getActivationAuthorization({\n productKeys: signUpFormUIState.signupState.products\n .filter(isNotUndefined)\n .map(({ product }) => product as ProductKeys),\n productEdition: signUpFormUIState.signupState.products.filter(\n (product) => !!product && !!product.edition\n )[0].edition as string,\n cloudId,\n siteName\n });\n if (!authorized) {\n window.location.assign(redirectUrl);\n return;\n }\n }\n }\n\n if (\n signUpFormUIState.signupState.isExistingSitePickerN2E &&\n signUpFormUIState.isBundleBBJSW\n ) {\n // check to get edition type so existing site doesnt downgrade\n const productEdition = await checkProductEdition({\n cloudId,\n productKey: ProductKeys.JIRA_SOFTWARE,\n wacEnvUrl,\n createAnalyticsEvent\n });\n\n return handleSubmitWithRecaptcha({\n payload: signUpFormUIState.signupState,\n activateProducts: true,\n cloudId,\n isJswIncluded: findIfJswIncluded(cloudId),\n productEdition\n });\n } else if (\n signUpFormUIState.signupState.isExistingSitePickerN2E &&\n signUpFormUIState.signupState.selectedSite\n ) {\n trackN2ESubmit({\n cloudId,\n products: signUpFormUIState.signupState.products,\n segment\n });\n\n return handleStartN2E(\n signUpFormUIState.signupState.products,\n signUpFormUIState.signupState.selectedSite,\n signUpFormUIState.signupState.migrationId\n );\n } else {\n if (!userInfo?.isLoggedIn) {\n // For e2e testing, allow bypassing captcha on known pattern\n // Must be handled in the backend as well\n if (\n signUpFormUIState.signupState.email &&\n enableSkipRecaptcha &&\n shouldSkipRecaptcha(signUpFormUIState.signupState.email)\n ) {\n return handleSubmitWithRecaptcha({\n payload: signUpFormUIState.signupState\n });\n }\n return handleSubmitWithRecaptcha({\n payload: signUpFormUIState.signupState\n });\n } else {\n return handleSubmitWithRecaptcha({\n payload: signUpFormUIState.signupState\n });\n }\n }\n };\n\n const handleDeferSite = () => {\n const siteNameField = (!signUpFormUIState.signupState\n .isExistingSitePickerN2E ||\n signUpFormUIState.isSitePickerDisabled) && (\n {\n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n cloudName,\n cloudNameLength\n });\n }}\n onSiteNameUseExisting={() => {\n formExistingSiteShown(true);\n segment('bxp.formCloudSignup.useExistingSiteClicked', {});\n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n isExistingSitePickerN2E: true,\n selectedSite: null,\n cloudName: ''\n });\n signUpFormUIState.setIsValidSiteName(false);\n }}\n key={wacEnvUrl}\n sites={null}\n shouldShowUseExisting={\n signUpFormUIState.shouldShowUseExisting &&\n !signUpFormUIState.isSitePickerDisabled\n }\n siteNameAfter={signUpFormUIState.siteNameAfter}\n wacEnvUrl={wacEnvUrl}\n analyticsTrack={analyticsTrack}\n setIsValidSiteName={(val) => signUpFormUIState.setIsValidSiteName(val)}\n outlineOnFocus={outlineOnFocus}\n popOverError={popOverError}\n isDisabled={signUpFormUIState.signupState.isSubmitting}\n fadeOnDisable={fadeOnDisable}\n showWarningIcon={showWarningIcon}\n isSuiteSignup={signUpFormUIState.isBundleDevops}\n isDeferredSiteNameEnabled={deferredSiteName.isEnabled}\n />\n );\n\n const sitePickerField = !signUpFormUIState.isSitePickerDisabled &&\n signUpFormUIState.signupState.isExistingSitePickerN2E &&\n userInfo &&\n signUpFormUIState.pickableSites.length > 0 && (\n {\n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n selectedSite,\n cloudName\n });\n }}\n onSiteNameStartNew={() => {\n formExistingSiteShown(false);\n segment('bxp.formCloudSignup.startANewSite', {});\n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n isExistingSitePickerN2E: false,\n cloudName: ''\n });\n }}\n isBundleActive={signUpFormUIState.isBundleBBJSW}\n sites={signUpFormUIState.pickableSites}\n siteNameAfter={signUpFormUIState.siteNameAfter}\n analyticsTrack={analyticsTrack}\n isFree={signUpFormUIState.isFree}\n setIsValidSiteName={(val: boolean) =>\n signUpFormUIState.setIsValidSiteName(val)\n }\n isDisabled={signUpFormUIState.signupState.isSubmitting}\n showFreeLimitExceededError={\n signUpFormUIState.selectedSiteIsInBreachOfFree\n }\n selectedSiteId={selectedSiteId}\n productKeys={signUpFormUIState.signUpFormProps.productKeys}\n isDeferredSiteNameEnabled={deferredSiteName.isEnabled}\n fadeOnDisable={fadeOnDisable}\n />\n );\n\n const isBeaconLimited =\n signUpFormUIState.isBeacon && signUpFormUIState.pickableSites.length <= 0;\n\n const beaconInfoBox = (\n \n

    \n \n

    \n \n \n \n
    \n );\n\n if (deferSiteNameCreation) {\n if (signUpFormUIState.signupState.isLoggedIn) {\n return [siteNameField, sitePickerField];\n } else {\n return null;\n }\n } else {\n if (isBeaconLimited) {\n return [beaconInfoBox];\n } else {\n return [siteNameField, sitePickerField];\n }\n }\n };\n\n if (signUpFormUIState.showResendEmail) {\n const baseUrl = isStaging\n ? `${wacEnvUrl}/apis/stg/hamlet`\n : `${wacEnvUrl}/hamlet`;\n const resendEmailScreen = (\n (p.product ? p.product : ''))}\n />\n );\n return {resendEmailScreen};\n }\n if (signUpFormUIState.showDevopsCarouselEnd) {\n return (\n \n );\n }\n\n return (\n ) => {\n if (\n isUserEnrolledInChooseSignupExperimentVariants &&\n !signUpFormUIState.isValidChooseSignup\n ) {\n setShowError(true);\n setIsFocusedChooseSignup(false);\n event.preventDefault();\n } else {\n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n isSubmitting: true\n });\n submitHandler(event)\n .then(() => {\n trackSignUpFormSubmitSucceeded({\n createAnalyticsEvent\n });\n })\n .catch(() => {\n trackSignUpFormSubmitFailed({\n createAnalyticsEvent\n });\n });\n }\n }}\n method=\"POST\"\n className={signUpFormUIState.hideAsterisks ? 'no-asterisks' : ''}\n >\n {!hideGreeting && (\n \n \n \n )}\n\n {\n // show email for all non-Devops forms, or Devops N2N\n ((showEmail && !signUpFormUIState.isBundleDevops) ||\n (showEmail &&\n signUpFormUIState.isBundleDevops &&\n !userInfo?.isLoggedIn)) && (\n {\n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n email\n });\n }}\n initialEmail={signUpFormUIState.intialEmail}\n signInAccountUrl={signInAccountUrl}\n switchAccountUrl={switchAccountUrl}\n originAnalyticsAttributes={originAnalyticsAttributes}\n analyticsTrack={analyticsTrack}\n wacEnvUrl={wacEnvUrl}\n isStaging={isStaging}\n isDisabled={signUpFormUIState.signupState.isSubmitting}\n outlineOnFocus={outlineOnFocus}\n popOverError={popOverError}\n fadeOnDisable={fadeOnDisable}\n showWarningIcon={showWarningIcon}\n onSSOCheckValid={(isValid: boolean) => {\n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n isSSOValid: isValid\n });\n }}\n isDeferredSiteNameEnabled={deferredSiteName.isEnabled}\n isFocusedChooseSignup={isFocusedChooseSignup}\n setIsFocusedChooseSignup={setIsFocusedChooseSignup}\n showError={showError}\n setShowError={setShowError}\n />\n )\n }\n\n {(!signUpFormUIState.isBundleBBJSW || !userInfo?.isLoggedIn) &&\n !signUpFormUIState.signupState.isExistingSitePickerN2E &&\n !hideFullName &&\n !enableDeferredFullName &&\n !enableDefaultExpandedEmail &&\n !isUserEnrolledInChooseSignupExperimentVariants &&\n !isCutSignUpStepsInHalfEnabled && (\n \n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n displayName\n })\n }\n outlineOnFocus={outlineOnFocus}\n popOverError={popOverError}\n isDisabled={signUpFormUIState.signupState.isSubmitting}\n fadeOnDisable={fadeOnDisable}\n />\n )}\n\n {signUpFormUIState.isOpsgenie &&\n !signUpFormUIState.isBundleDevops &&\n !signUpFormUIState.signupState.isExistingSitePickerN2E &&\n !!userInfo?.isLoggedIn && (\n \n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n dataRegion\n })\n }\n analyticsTrack={analyticsTrack}\n />\n )}\n\n {signUpFormUIState.isBundleBBJSW && (\n \n )}\n\n <>{handleDeferSite()}\n\n {signUpFormUIState.selectedSiteIsInBreachOfFree &&\n signUpFormUIState.signupState.isExistingSitePickerN2E && (\n \n )}\n\n {signUpFormUIState.isBundleBBJSW &&\n signUpFormUIState.bbWorkspaces.length > 0 && (\n \n signUpFormUIState.setIsBbCopyEnabled(isEnabled)\n }\n onAccountChange={(bbName) =>\n signUpFormUIState.setSignupState({\n ...signUpFormUIState.signupState,\n bbName\n })\n }\n bbNameOverride={signUpFormUIState.signupState.bbName || ''}\n analyticsTrack={analyticsTrack}\n isValidSiteName={signUpFormUIState.isValidSiteName}\n isDisabled={signUpFormUIState.signupState.isSubmitting}\n />\n )}\n\n {marketingConsentRequired && (\n \n }\n isDisabled={signUpFormUIState.signupState.isSubmitting}\n onChange={(event: React.ChangeEvent) => {\n const consentsState = signUpFormUIState.signupState;\n consentsState.consent.consents[2].granted = event.target.checked;\n signUpFormUIState.setSignupState({ ...consentsState });\n }}\n />\n \n )}\n\n {signUpFormUIState.submitError !== SubmitErrorType.NO_ERROR && (\n \n \n \n )}\n\n {!signUpFormUIState.isBundleDevops && (\n <>\n {enableDefaultExpandedEmail ? (\n {\n segment('bxp.formCloudSignup.eulaClicked', {});\n }}\n >\n \n \n ) : isUserEnrolledInChooseSignupExperimentVariants ? (\n {\n segment('bxp.formCloudSignup.eulaClicked', {});\n }}\n >\n \n \n ) : (\n {\n segment('bxp.formCloudSignup.eulaClicked', {});\n }}\n >\n \n \n )}\n \n )}\n\n {!signUpFormUIState.signupState.isExistingSitePickerN2E && (\n \n \n \n )}\n\n {signUpFormUIState.signupState.isExistingSitePickerN2E && (\n \n \n \n )}\n {signUpFormUIState.isBundleDevops && (\n {\n segment('bxp.formCloudSignup.eulaClicked', {});\n }}\n >\n \n \n )}\n\n {!isUserEnrolledInChooseSignupExperimentVariants &&\n !isCutSignUpStepsInHalfEnabled &&\n (enableDefaultExpandedEmail ? (\n \n \n \n ) : (\n \n \n \n ))}\n\n {!signUpFormUIState.signupState.isLoggedIn && (\n
    \n {!hideCaptchaEula &&\n !isUserEnrolledInChooseSignupExperimentVariants &&\n !isCutSignUpStepsInHalfEnabled && (\n <>\n {enableDefaultExpandedEmail ? (\n {\n segment(\n 'bxp.formCloudSignup.reCaptchaPrivacyPolicyClicked',\n {}\n );\n }}\n >\n \n \n ) : (\n {\n segment(\n 'bxp.formCloudSignup.reCaptchaPrivacyPolicyClicked',\n {}\n );\n }}\n >\n \n \n )}\n \n )}\n
    \n )}\n \n );\n}\n\nWacSignupForm.messages = messages;\n\nexport default injectIntl(WacSignupForm);\n","import { generateRandomDigit } from '../utility';\n\nconst RANDOM_DIGIT_MIN = 0;\nconst RANDOM_DIGIT_MAX = 10;\n\nexport const SITE_NAME_PREFIX = 'team-';\n\nexport function useSiteNameGeneration(): string {\n return `${SITE_NAME_PREFIX}${Date.now()}${generateRandomDigit(\n RANDOM_DIGIT_MIN,\n RANDOM_DIGIT_MAX\n )}`;\n}\n","/**\n *\n * @param min included\n * @param max excluded\n * @returns random digit between two numbers\n */\nexport const generateRandomDigit = (min: number, max: number): number => {\n return Math.floor(Math.random() * (max - min)) + min;\n};\n","import {\n trackExposedToDeferSitename,\n TrackExposedToDeferSitename\n} from '../service/sign-up-form/analytics';\nimport { useEffect } from 'react';\nimport { getDeferSitenameExperimentCohort } from '../layouts/legacy/view/utility/get-defer-sitename-experiment-cohort';\n\ntype Params = Omit & {\n exposedToDeferSitename: boolean;\n};\n\nexport function useDeferSitenameExposed({\n createAnalyticsEvent,\n products,\n exposedToDeferSitename\n}: Params) {\n useEffect(() => {\n if (exposedToDeferSitename) {\n trackExposedToDeferSitename({\n createAnalyticsEvent,\n value: getDeferSitenameExperimentCohort(),\n products\n });\n }\n }, [createAnalyticsEvent, exposedToDeferSitename]);\n}\n","import 'isomorphic-fetch';\nimport { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next/types';\n\nexport type productEditionType = {\n readonly cloudId: string | undefined;\n readonly productKey: string;\n readonly wacEnvUrl: string;\n readonly createAnalyticsEvent: CreateUIAnalyticsEvent;\n};\n\nexport type EditionStatusType = {\n readonly edition?: string;\n readonly error?: string;\n};\n\nexport async function checkProductEdition({\n cloudId,\n productKey,\n wacEnvUrl,\n createAnalyticsEvent\n}: productEditionType) {\n const productEditionStatusResponse = await fetch(\n `${wacEnvUrl}/gateway/api/cloud/edition/${cloudId}/${productKey}`,\n {\n headers: {\n 'content-type': 'application/json'\n },\n method: 'GET',\n credentials: 'include'\n }\n );\n\n const productEditionStatus =\n (await productEditionStatusResponse.json()) as EditionStatusType;\n\n if (productEditionStatus.error) {\n // If edition is free the response comes back as { \"error\": \"Product Edition Not Found\" }\n const isFreeEdition =\n productEditionStatus.error === 'Product Edition Not Found';\n if (isFreeEdition) {\n return 'free';\n }\n\n if (!isFreeEdition) {\n createAnalyticsEvent({\n eventName: 'bxp.cloud.edition.failed',\n errorMessage: productEditionStatus.error\n }).fire();\n }\n\n return null;\n }\n\n return productEditionStatus.edition;\n}\n","import retry from 'async-retry';\nimport _ from 'lodash';\nimport type {\n AnalyticsTrackType,\n Product,\n UserInfo\n} from '../model/wac-signup-form';\nimport { ProductKeys } from '../model/wac-signup-form';\nimport { SignUpFormAPI } from '../layouts/legacy/view/sign-up-form';\nimport { sanitizeLastName } from '../layouts/legacy/view/utility';\n\nconst BXP_CLOUD_PERMS_CHECK = 'bxp.cloud-signup.rename.site.permissions.check';\nconst BXP_CLOUD_PERMS_CHECK_FALSE =\n 'bxp.cloud-signup.rename.site.permissions.check.failed';\n\nconst getDecodedSocialSignupInfo = (\n encodedSocialSignupInfo: any | null | undefined\n) => {\n if (encodedSocialSignupInfo) {\n return {\n ...encodedSocialSignupInfo,\n email: decodeURIComponent(encodedSocialSignupInfo.email),\n firstName: decodeURIComponent(encodedSocialSignupInfo.firstName),\n fullName: decodeURIComponent(encodedSocialSignupInfo.fullName),\n lastName: decodeURIComponent(encodedSocialSignupInfo.lastName)\n };\n } else {\n return null;\n }\n};\n\ntype GetRenameSiteUrlType = {\n wacEnvUrl: string;\n confirmationPageUrl: string;\n cloudId: string;\n cloudName: string;\n productKeys: string[];\n progressUri: string;\n isPermitted: boolean;\n siteRenamePageUrl: string;\n hideUserSegmentation?: boolean;\n};\n\nexport function getRenameSiteUrl({\n wacEnvUrl,\n confirmationPageUrl,\n cloudId,\n cloudName,\n productKeys,\n progressUri,\n isPermitted,\n siteRenamePageUrl,\n hideUserSegmentation\n}: GetRenameSiteUrlType) {\n const confirmationUrl = SignUpFormAPI.generateConfirmationUrl({\n wacEnvUrl,\n confirmationPageUrl,\n cloudId,\n progressUri,\n cloudName,\n products: productKeys.join(','),\n hideUserSegmentation\n });\n\n // Build rename site url\n return SignUpFormAPI.generateRenameUrl(\n wacEnvUrl,\n cloudId,\n progressUri,\n confirmationUrl,\n siteRenamePageUrl,\n isPermitted\n );\n}\n\nexport const localStorageGet = (key: string): string => {\n try {\n return localStorage.getItem(key) || '';\n } catch (e) {\n return '';\n }\n};\n\nexport function checkIfVisited(\n userInfo: UserInfo,\n setShowSignupForm: (val: boolean) => void\n) {\n if (sessionStorage) {\n const storage =\n window.atob(sessionStorage.getItem('social-signup') || '') || null;\n let socialSignupInfo = null;\n if (storage !== null) {\n socialSignupInfo = JSON.parse(storage);\n\n const decodedSocialSignupInfo =\n getDecodedSocialSignupInfo(socialSignupInfo);\n if (decodedSocialSignupInfo !== null) {\n if (_.isEqual(userInfo, decodedSocialSignupInfo.userInfo)) {\n // user is the same, redirect to stored rename url\n window.location.replace(decodedSocialSignupInfo.redirectUrl);\n } else {\n // user is not the same, remove session storage and show signup form\n sessionStorage.removeItem('social-signup');\n setShowSignupForm(true);\n }\n return true;\n }\n }\n }\n return false;\n}\n\nexport function getStatuspageAdvancedSettings(isStaging: boolean) {\n return {\n advancedSettings: {\n initialProductURL: isStaging\n ? 'manage.statuspagestaging.com'\n : 'manage.statuspage.io',\n additionalProvisioningData: {\n signupLocation: 'WAC',\n spProduct: 'public'\n }\n }\n };\n}\n\nexport const getEncodedUserInfo = (unencodedUserInfo: UserInfo) => ({\n ...unencodedUserInfo,\n email: encodeURIComponent(unencodedUserInfo.email || ''),\n firstName: encodeURIComponent(unencodedUserInfo.firstName || ''),\n fullName: encodeURIComponent(unencodedUserInfo.fullName || ''),\n lastName: encodeURIComponent(unencodedUserInfo.lastName || '')\n});\n\nconst trackPermsNR = (\n analyticsTrack: AnalyticsTrackType,\n cloudId: string,\n status: any,\n retryCount: number,\n permitted?: any\n) => {\n analyticsTrack.newRelic.action(\n BXP_CLOUD_PERMS_CHECK,\n JSON.stringify({\n cloudId,\n status,\n retryCount,\n permitted\n })\n );\n};\n\nexport function checkPerms(\n cloudId: string,\n wacEnvUrl: string,\n analyticsTrack: AnalyticsTrackType\n) {\n let retryCount = 1;\n return retry(\n async (bail) => {\n // if anything throws, we retry\n const postBody = {\n dontRequirePrincipalInSite: 'true',\n permissionId: 'manage',\n resourceId: `ari:cloud:platform::site/${cloudId}`\n };\n\n const options = {\n headers: {\n 'content-type': 'application/json'\n },\n method: 'POST',\n body: JSON.stringify(postBody)\n };\n const perms = await fetch(\n `${wacEnvUrl}/gateway/api/permissions/permitted`,\n options\n );\n\n if (\n 403 === perms.status ||\n 401 === perms.status ||\n 500 === perms.status\n ) {\n trackPermsNR(analyticsTrack, cloudId, perms.status, retryCount);\n bail(new Error('Unauthorized or Server error'));\n return;\n }\n // retry if Perms returned http != 200\n if (200 !== perms.status) {\n trackPermsNR(analyticsTrack, cloudId, perms.status, retryCount);\n\n retryCount++;\n throw new Error(BXP_CLOUD_PERMS_CHECK_FALSE);\n }\n\n const data = await perms.json();\n trackPermsNR(\n analyticsTrack,\n cloudId,\n perms.status,\n retryCount,\n data.permitted\n );\n\n // retry if Perms returned http 200 with permitted=false\n if (!(data.permitted === true)) {\n retryCount++;\n throw new Error(BXP_CLOUD_PERMS_CHECK_FALSE);\n }\n return data;\n },\n {\n retries: 4,\n minTimeout: 1000,\n maxTimeout: 1000\n }\n );\n}\n\nexport function getProductKeys(products: Product[]) {\n return products.map(({ product }) => product as string);\n}\n\nexport function filterEligibleSites(\n userInfo: UserInfo,\n productKeysSelectedForProvisioning: string[]\n) {\n const { sites: userSites, extendedTrialOverridableSites } = userInfo;\n return !!userSites\n ? userSites?.filter((existingUserSite: { products: any; cloudId: any }) => {\n const { products: existingProductKeysOnSite, cloudId } =\n existingUserSite;\n\n return (\n !productKeysSelectedForProvisioning.some((productKey) =>\n existingProductKeysOnSite.includes(productKey)\n ) || extendedTrialOverridableSites?.includes(cloudId)\n );\n })\n : [];\n}\n\nexport function buildSocialSignUpPayload(\n userInfo: UserInfo,\n productsSelectedForProvisioning: Product[],\n templateId: string | undefined,\n devMode: boolean,\n isStaging: boolean,\n hideUserSegmentation: boolean\n) {\n const { email, firstName, lastName } = userInfo;\n\n // Some users may not have a last name due to registration by Full Name in some flows\n // COFS requires a last name currently, so we set lastname '.' in this case\n const sanitizedLastName = sanitizeLastName(lastName);\n\n const signupContext = {};\n Object.assign(signupContext, {\n pagePath: 'rename/site',\n autogenSiteName: 1\n });\n\n // Pass in template id for on-boarding in app (Confluence only currently)\n if (templateId) {\n Object.assign(signupContext, { templateId });\n }\n\n const payload = {\n products: productsSelectedForProvisioning.map(\n ({ product: productKey, edition }) => ({\n product: productKey,\n edition\n })\n ),\n adminUsername: 'admin',\n cloudName: null,\n email,\n firstName,\n lastName: sanitizedLastName\n };\n Object.assign(payload, {\n signupContext: JSON.stringify(signupContext)\n });\n\n const isStatuspage = productsSelectedForProvisioning.some(\n ({ product }) => product === ProductKeys.STATUSPAGE\n );\n if (isStatuspage) {\n _.merge(payload, getStatuspageAdvancedSettings(isStaging));\n }\n if (hideUserSegmentation) {\n _.merge(payload, {\n advancedSettings: {\n additionalProvisioningData: {\n hideUserSegmentation: true\n }\n }\n });\n }\n\n // Pass in known Experiment Key to COFS to activate Standard Developer license\n if (devMode) {\n const DEVELOPER_EXPERIMENT_KEY = 'PUR-7747';\n Object.assign(payload, {\n experiment: {\n experimentKey: DEVELOPER_EXPERIMENT_KEY\n }\n });\n }\n\n return payload;\n}\n","import styled from '@emotion/styled';\nimport Cookies from 'js-cookie';\nimport _ from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport { useSignUpFormGlobalConfiguration } from '../../../../hook/use-sign-up-form-global-configuration';\n\nimport { ProductKeys } from '../../../../model';\nimport type { AnalyticsTrackType, Product, UserInfo } from '../../../../model';\nimport {\n buildSocialSignUpPayload,\n checkIfVisited,\n checkPerms,\n filterEligibleSites,\n getEncodedUserInfo,\n getProductKeys,\n getRenameSiteUrl,\n localStorageGet\n} from '../../../../service';\nimport { SocialSignupErrorView } from './error';\nimport { messages } from './messages';\n\nexport type SocialSignUpViewProps = {\n readonly loadingImageUrl: string;\n readonly productKeys: Product[];\n readonly userInfo?: UserInfo;\n readonly isStaging: boolean;\n readonly wacEnvUrl: string;\n readonly devMode: boolean;\n readonly templateId?: string;\n readonly analyticsTrack: AnalyticsTrackType;\n readonly setShowSignupForm: (val: boolean) => void;\n readonly tryAgainErrorUrl: string;\n readonly errorImageSrc: string;\n readonly testing?: boolean;\n readonly setShowSocialSignupForm?: (val: boolean) => void;\n readonly siteRenamePageUrl: string;\n readonly locale: string;\n};\n\nexport const isProductIncluded = (productKeys: Product[], product: string) => {\n return _.includes(\n _.map(productKeys, (productKey: Product) => productKey.product),\n product\n );\n};\n\nexport function SocialSignUpView(props: SocialSignUpViewProps) {\n const {\n userInfo,\n productKeys: productsSelectedForProvisioning,\n setShowSignupForm,\n loadingImageUrl,\n errorImageSrc,\n isStaging,\n wacEnvUrl,\n devMode,\n templateId,\n analyticsTrack,\n tryAgainErrorUrl,\n testing,\n setShowSocialSignupForm,\n siteRenamePageUrl\n } = props;\n const [showErrorPage, setShowErrorPage] = useState(false);\n const tryAgainUrl = `${tryAgainErrorUrl}/logout?continue=${window.location.href}`;\n\n const { confirmationPageUrl } = useSignUpFormGlobalConfiguration();\n\n useEffect(() => {\n // return if userInfo is not ready or the user is not logged in\n if (!userInfo || !userInfo.isLoggedIn) {\n analyticsTrack.segment('bxp.reactSocialSignup.notLoggedIn', {});\n return;\n }\n\n // check session storage if this user been on social signup before\n // redirect to stored rename url if they did\n if (checkIfVisited(userInfo, setShowSignupForm)) {\n analyticsTrack.segment('bxp.reactSocialSignup.alreadyVisited', {});\n return;\n }\n\n const productKeysSelectedForProvisioning = getProductKeys(\n productsSelectedForProvisioning\n );\n\n const isJsw = isProductIncluded(\n productsSelectedForProvisioning,\n ProductKeys.JIRA_SOFTWARE\n );\n const isJsm = isProductIncluded(\n productsSelectedForProvisioning,\n ProductKeys.JIRA_SERVICE_DESK\n );\n const isJwm = isProductIncluded(\n productsSelectedForProvisioning,\n ProductKeys.JIRA_CORE\n );\n // suppress User Segmentation Screen for Jira Template Signups\n const hideUserSegmentation = !!(templateId && (isJsw || isJsm || isJwm));\n\n // show the N2E signup form if the user has existing sites that do not\n // already have the selected products or do but they are extended trials\n const eligibleSites = filterEligibleSites(\n userInfo,\n productKeysSelectedForProvisioning\n );\n\n const hasEligibleSites = eligibleSites.length > 0;\n // has eligible sites so show N2E form for user to select existing site\n // to add these new products to\n setShowSignupForm(hasEligibleSites);\n analyticsTrack.segment('bxp.reactSocialSignup.hasEligibleSites', {\n hasEligibleSites\n });\n\n if (hasEligibleSites) {\n // setShowSignupForm equaling false will make the signupform render,\n // if its true the loading gif will always show\n if (setShowSocialSignupForm !== undefined) {\n setShowSocialSignupForm(false);\n }\n analyticsTrack.segment('bxp.reactSocialSignup.foundEligibleSites', {\n numEligibleSites: eligibleSites.length,\n productKeysSelectedForProvisioning\n });\n analyticsTrack.newRelic.action(\n 'Found Eligible Sites',\n JSON.stringify({\n numEligibleSites: eligibleSites.length,\n productKeysSelectedForProvisioning\n })\n );\n } else {\n if (!!userInfo.sites && userInfo.sites?.length > 1) {\n analyticsTrack.segment('bxp.reactSocialSignup.foundExistingSites', {\n numExistingSites: userInfo.sites.length,\n productKeysSelectedForProvisioning\n });\n analyticsTrack.newRelic.action(\n 'Found Existing Sites',\n JSON.stringify({\n numExistingSites: userInfo.sites.length,\n productKeysSelectedForProvisioning\n })\n );\n } else {\n analyticsTrack.segment('bxp.reactSocialSignup.foundNoSites', {});\n analyticsTrack.newRelic.action('Found No Sites', '');\n }\n\n // if no eligible sites, create new site and redirect to confirmation page\n const payload = buildSocialSignUpPayload(\n userInfo,\n productsSelectedForProvisioning,\n templateId,\n devMode,\n isStaging,\n hideUserSegmentation\n );\n\n const submitUrl = userInfo.isLoggedIn\n ? `https://${\n isStaging ? 'wac.stg.internal.' : 'www.'\n }atlassian.com/gateway/api/cloud/signup`\n : `${wacEnvUrl}/endpoint/cloud/signupAnon`;\n fetch(submitUrl, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'atl-cookies': JSON.stringify({\n _ga: Cookies.get('_ga') || '',\n seg_xid: localStorageGet('seg_xid'),\n __atl_path: Cookies.get('__atl_path') || '',\n ajs_anonymous_id: Cookies.get('ajs_anonymous_id') || '',\n optimizelyBuckets: Cookies.get('optimizelyBuckets') || '',\n optimizelySegments: Cookies.get('optimizelySegments') || '',\n optimizelyEndUserId: Cookies.get('optimizelyEndUserId') || ''\n })\n },\n body: JSON.stringify(payload),\n credentials: 'include'\n })\n .then((response: Response) => {\n if (response.ok && response.status === 200) {\n response\n .json()\n .then((body) => {\n analyticsTrack.segment(\n 'bxp.cloud-signup.social-signup-page.site-created',\n {\n cloudId: body.cloudId,\n status: 200\n }\n );\n const productKeysToAdd = productsSelectedForProvisioning.map(\n ({ product: newProductKeyToAdd }) =>\n newProductKeyToAdd as string\n );\n let isPermitted = false;\n checkPerms(body.cloudId, wacEnvUrl, analyticsTrack)\n .then((res) => {\n isPermitted = res.permitted;\n analyticsTrack.segment(\n 'bxp.cloud-signup.rename.site.completed.permissions.check',\n {\n cloudId: body.cloudId,\n status: 200,\n permitted: res.permitted\n }\n );\n analyticsTrack.newRelic.action(\n 'bxp.cloud-signup.rename.site.completed.permissions.check',\n JSON.stringify({\n cloudId: body.cloudId,\n status: 200,\n permitted: res.permitted\n })\n );\n const data = {\n category: 'cart-cloud',\n action: 'Completed permissions check',\n label: 'complete-social-signup-page',\n attributes: {\n cloudId: body.cloudId,\n status: 200,\n permitted: res.permitted\n },\n optimizelyValues:\n 'cart-cloud.permissions-check.completed.social-signup-page',\n isNonInteraction: true\n };\n analyticsTrack.segment(data.label, data);\n analyticsTrack.optimizely(\n 'cart-cloud.permissions-check.completed.social-signup-page'\n );\n const renameUrl = getRenameSiteUrl({\n wacEnvUrl,\n confirmationPageUrl,\n cloudId: body.cloudId,\n cloudName: body.cloudName,\n productKeys: productKeysToAdd,\n progressUri: body.progressUri,\n isPermitted,\n siteRenamePageUrl,\n hideUserSegmentation\n });\n\n sessionStorage.setItem(\n 'social-signup',\n window.btoa(\n JSON.stringify({\n userInfo: getEncodedUserInfo(userInfo),\n redirectUrl: renameUrl\n })\n )\n );\n window.location.replace(renameUrl);\n })\n .catch((e) => {\n isPermitted = false;\n analyticsTrack.segment(\n 'bxp.cloud-signup.rename.site.failed.permissions.check',\n {\n cloudId: body.cloudId,\n message: e.message\n }\n );\n analyticsTrack.newRelic.action(\n 'bxp.cloud-signup.rename.site.failed.permissions.check',\n JSON.stringify({\n cloudId: body.cloudId,\n message: e.message\n })\n );\n const data = {\n category: 'cart-cloud',\n action: 'Failed permissions check',\n label: 'complete-social-signup-page',\n attributes: {\n cloudId: body.cloudId,\n message: e.message\n },\n optimizelyValues:\n 'cart-cloud.permissions-check.failed.social-signup-page',\n isNonInteraction: true\n };\n analyticsTrack.segment(data.label, data);\n analyticsTrack.optimizely(\n 'cart-cloud.permissions-check.failed.social-signup-page'\n );\n const renameUrl = getRenameSiteUrl({\n wacEnvUrl,\n confirmationPageUrl,\n cloudId: body.cloudId,\n cloudName: body.cloudName,\n productKeys: productKeysToAdd,\n progressUri: body.progressUri,\n isPermitted,\n siteRenamePageUrl,\n hideUserSegmentation\n });\n sessionStorage.setItem(\n 'social-signup',\n window.btoa(\n JSON.stringify({\n userInfo: getEncodedUserInfo(userInfo),\n redirectUrl: renameUrl\n })\n )\n );\n window.location.replace(renameUrl);\n });\n })\n .catch(() => {\n // To-Do show error screen\n setShowErrorPage(true);\n });\n } else {\n // To-Do show error screen\n setShowErrorPage(true);\n }\n })\n .catch(() => {\n // To-Do show error screen\n setShowErrorPage(true);\n });\n }\n }, [userInfo]);\n\n return (\n \n {!(showErrorPage || testing) && (\n <>\n {'loading...'}\n \n \n )}\n {(showErrorPage || testing) && (\n \n )}\n \n );\n}\n\nSocialSignUpView.messages = messages;\n\nexport default injectIntl(SocialSignUpView);\n\nconst Root = styled.div`\n margin: 10px 10px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n","import { defineMessages } from 'react-intl';\n\nexport const messages = defineMessages({\n cloudStandard: {\n id: 'WacSignupHeader.cloudStandard',\n defaultMessage: 'Cloud Standard'\n },\n cloudPremium: {\n id: 'WacSignupHeader.cloudPremium',\n defaultMessage: 'Cloud Premium'\n },\n cloudFree: {\n id: 'WacSignupHeader.cloudFree',\n defaultMessage: 'Cloud Free'\n }\n});\n","import styled from '@emotion/styled';\nimport React from 'react';\nimport { messages } from '../messages';\n\nexport function Subtitle(\n edition: string | null | undefined,\n isWhiteBackground: boolean\n) {\n switch (edition) {\n case 'standard':\n return (\n \n {messages.cloudStandard.defaultMessage}\n \n );\n case 'premium':\n return (\n \n {messages.cloudPremium.defaultMessage}\n \n );\n default:\n return (\n \n {messages.cloudFree.defaultMessage}\n \n );\n }\n}\n\nconst SubtitleText = styled.h4<{ primary: boolean }>`\n margin: 0px;\n font-size: 20px;\n font-weight: 400;\n color: ${(props) => (props.primary ? 'rgba(13, 20, 36, 0.97)' : 'white')};\n`;\n","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Atlassian icon__\n *\n * The Atlassian icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianIcon = ({\n appearance,\n label = 'Atlassian',\n size = defaultLogoParams.size,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor,\n testId\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n textColor: textColor,\n size: size,\n testId: testId\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor,\n // We treat the word \"Atlassian\" differently to normal product logos\n atlassianLogoTextColor: textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n >\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Atlassian wordmark__\n *\n * The Atlassian brand name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianWordmark = ({\n appearance,\n label = 'Atlassian',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n size: size,\n svg: svg({\n appearance,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n // We treat the word \"Atlassian\" differently to normal product logos, it has a bold brand look\n atlassianLogoTextColor: textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Atlassian start logo__\n *\n * The Atlassian Start logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianStartLogo = ({\n appearance,\n label = 'Atlassian Start',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n label,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance\n}) => {\n // Replace with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n appearance\n });\n const colors = getColorsFromAppearance(appearance);\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Atlassian Analytics icon__\n *\n * The Atlassian Analytics icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianAnalyticsIcon = ({\n appearance,\n label = 'Atlassian Analytics',\n size = defaultLogoParams.size,\n testId\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance\n }),\n size: size,\n testId: testId\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n appearance\n });\n const colors = getColorsFromAppearance(appearance);\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Atlassian Analytics logo__\n *\n * The Atlassian Analytics logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlassianAnalyticsLogo = ({\n appearance,\n label = 'Atlassian Analytics',\n size = defaultLogoParams.size,\n testId\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n size: size,\n svg: svg({\n appearance\n }),\n testId: testId\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Bitbucket icon__\n *\n * The Bitbucket icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const BitbucketIcon = ({\n appearance,\n label = 'Bitbucket',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n id = `bitbucketLogo-${appearance}`;\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Bitbucket logo__\n *\n * The Bitbucket logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const BitbucketLogo = ({\n appearance,\n label = 'Bitbucket',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n\n \n \n \n`;\n};\n\n/**\n * __Bitbucket wordmark__\n *\n * The Bitbucket brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const BitbucketWordmark = ({\n appearance,\n label = 'Bitbucket',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n size: size,\n svg: svg({\n appearance,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Compass icon__\n *\n * The Compass icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const CompassIcon = ({\n appearance,\n label = 'Compass',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Compass logo__\n *\n * The Compass logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const CompassLogo = ({\n appearance,\n label = 'Compass',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n `;\n};\n\n/**\n * __Compass wordmark__\n *\n * The Compass brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const CompassWordmark = ({\n appearance,\n label = 'Compass',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n size: size,\n svg: svg({\n appearance,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Confluence icon__\n *\n * The Confluence icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const ConfluenceIcon = ({\n appearance,\n label = 'Confluence',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Confluence logo__\n *\n * The Confluence logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const ConfluenceLogo = ({\n appearance,\n label = 'Confluence',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n\n \n \n \n`;\n};\n\n/**\n * __Confluence wordmark__\n *\n * The Confluence brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const ConfluenceWordmark = ({\n appearance,\n label = 'Confluence',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n size: size,\n svg: svg({\n appearance,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Halp icon__\n *\n * The Halp icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const HalpIcon = ({\n appearance,\n label = 'Halp',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Halp logo__\n *\n * The Halp logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const HalpLogo = ({\n appearance,\n label = 'Halp',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n `;\n};\n\n/**\n * __Halp wordmark__\n *\n * The Halp brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const HalpWordmark = ({\n appearance,\n label = 'Halp',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n size: size,\n svg: svg({\n appearance,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * @deprecated HipchatIcon will be removed from @atlaskit/logo in the next major release.\n */\nexport const HipchatIcon = ({\n label = 'Hipchat',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('HipchatIcon has been deprecated and will be removed from @atlaskit/logo after June 30 2021.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n svg: svg({\n iconGradientStart,\n iconGradientStop\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * @deprecated HipchatLogo will be removed from @atlaskit/logo in the next major release.\n */\nexport const HipchatLogo = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Hipchat',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('HipchatLogo has been deprecated and will be removed from @atlaskit/logo after June 30 2021.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n iconGradientStart,\n iconGradientStop\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = () => `\n\n \n \n \n`;\n\n/**\n * @deprecated HipchatWordmark will be removed from @atlaskit/logo in the next major release.\n */\nexport const HipchatWordmark = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Hipchat',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('HipchatWordmark has been deprecated and will be removed from @atlaskit/logo after June 30 2021.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg(),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Align icon__\n *\n * The Jira Align icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraAlignIcon = ({\n appearance,\n label = 'Jira Align',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n size\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Align logo__\n *\n * The Jira Align logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraAlignLogo = ({\n appearance,\n label = 'Jira Align',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n size,\n label\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Align wordmark__\n *\n * The Jira Align brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraAlignWordmark = ({\n appearance,\n label = 'Jira Align',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n size: size,\n svg: svg({\n appearance,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop,\n size\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * @deprecated JiraCoreIcon will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementIcon instead.\n */\nexport const JiraCoreIcon = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Jira Core',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('JiraCoreIcon has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementIcon instead.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n svg: svg({\n iconGradientStart,\n iconGradientStop\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * @deprecated JiraCoreLogo will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementLogo instead.\n */\nexport const JiraCoreLogo = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Jira Core',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('JiraCoreLogo has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementLogo instead.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n iconGradientStart,\n iconGradientStop\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = () => `\n \n \n \n`;\n\n/**\n * @deprecated JiraCoreWordmark will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementWordmark instead.\n */\nexport const JiraCoreWordmark = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Jira Core',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('JiraCoreWordmark has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraWorkManagementWordmark instead.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg(),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira icon__\n *\n * The Jira icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraIcon = ({\n appearance,\n label = 'Jira',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n size\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n size,\n label,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira logo__\n *\n * The Jira logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraLogo = ({\n appearance,\n label = 'Jira',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor,\n size,\n label\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n\n \n \n \n`;\n};\n\n/**\n * __Jira wordmark__\n *\n * The Jira brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraWordmark = ({\n appearance,\n label = 'Jira',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n size: size,\n svg: svg({\n appearance,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Jira Product Discovery icon__\n *\n * The Jira Product Discovery icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraProductDiscoveryIcon = ({\n appearance,\n label = 'Jira Product Discovery',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n label,\n size\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Product Discovery logo__\n *\n * The Jira Product Discovery logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraProductDiscoveryLogo = ({\n appearance,\n label = 'Jira Product Discovery',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop,\n size\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * @deprecated JiraServiceDeskIcon will be removed from atlaskit/logo in the next major release. Please use JiraServiceManagementIcon instead.\n */\nexport const JiraServiceDeskIcon = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Jira Service Desk',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('JiraServiceDeskIcon has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraServiceManagementIcon instead.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n svg: svg({\n iconGradientStart,\n iconGradientStop,\n size\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop,\n size\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * @deprecated JiraServiceDeskLogo will be removed from atlaskit/logo in the next major release. Please use JiraServiceManagementLogo instead.\n */\nexport const JiraServiceDeskLogo = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Jira Service Desk',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('JiraServiceDeskLogo has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraServiceManagementLogo instead.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n iconGradientStart,\n iconGradientStop\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = `\n \n \n \n`;\n\n/**\n * @deprecated JiraServiceDeskWordmark will be removed from atlaskit/logo in the next major release. Please use JiraServiceManagementWordmark instead.\n */\nexport const JiraServiceDeskWordmark = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n label = 'Jira Service Desk',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('JiraServiceDeskWordmark has been deprecated and will be removed from @atlaskit/logo in the next major release. Please use JiraServiceManagementWordmark instead.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Service Management icon__\n *\n * The Jira Service Management icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraServiceManagementIcon = ({\n appearance,\n label = 'Jira Service Management',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n label,\n size\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Service Management logo__\n *\n * The Jira Service Management logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraServiceManagementLogo = ({\n appearance,\n label = 'Jira Service Management',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n\n \n\n`;\n};\n\n/**\n * __Jira Service Management wordmark__\n *\n * The Jira Service Management brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraServiceManagementWordmark = ({\n appearance,\n label = 'Jira Service Management',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n size: size,\n svg: svg({\n appearance,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira software icon__\n *\n * The Jira Software icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraSoftwareIcon = ({\n appearance,\n label = 'Jira Software',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Software logo__\n *\n * The Jira Software logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraSoftwareLogo = ({\n appearance,\n label = 'Jira Software',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n\n \n \n \n`;\n};\n\n/**\n * __Jira Software wordmark__\n *\n * The Jira Software brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraSoftwareWordmark = ({\n appearance,\n label = 'Jira Software',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Jira Work Management logo__\n *\n * The Jira Work Management logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraWorkManagementLogo = ({\n appearance,\n label = 'Jira Work Management',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n `;\n};\n\n/**\n * __Jira Work Management wordmark__\n *\n * The Jira Work Management brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraWorkManagementWordmark = ({\n appearance,\n label = 'Jira Work Management',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n textColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Jira Work Management icon__\n *\n * The Jira Work Management icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const JiraWorkManagementIcon = ({\n appearance,\n label = 'Jira Work Management',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop,\n size\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * This is the old OpsGenieIcon that was meant to be deprecated but was never removed.\n * This is because it casing it incorrect, it should be Opsgenie, not OpsGenie.\n */\n/**\n * @deprecated OpsGenieIcon is incorrectly cased and will be removed from atlaskit/logo in the next major release. Please use OpsgenieIcon (no capital 'g') instead.\n */\nexport const OpsGenieIcon = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('OpsGenieIcon will be renamed to OpsgenieIcon in the next major release. Please use OpsgenieIcon instead.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n svg: svg({\n iconGradientStart,\n iconGradientStop,\n size\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop,\n size\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * @deprecated OpsGenieLogo is incorrectly cased and will be removed from atlaskit/logo in the next major release. Please use OpsgenieLogo (no capital 'g') instead.\n */\nexport const OpsGenieLogo = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('OpsGenieLogo will be renamed to OpsgenieLogo in the next major release. Please use OpsgenieLogo instead.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n iconGradientStart,\n iconGradientStop,\n size\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = () => `\n\n \n \n \n`;\n\n/**\n * @deprecated OpsGenieWordmark is incorrectly cased and will be removed from atlaskit/logo in the next major release. Please use OpsgenieLogo (no capital 'g') instead.\n */\nexport const OpsGenieWordmark = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('OpsGenieWordmark will be renamed to OpsgenieWordmark in the next major release. Please use OpsgenieWordmark instead.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n svg: svg(),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Opsgenie icon__\n *\n * The Opsgenie icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const OpsgenieIcon = ({\n appearance,\n label = 'Opsgenie',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n svg: svg({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n label: label,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Opsgenie logo__\n *\n * The Opsgenie logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const OpsgenieLogo = ({\n appearance,\n label = 'Opsgenie',\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n label: label,\n size: size,\n svg: svg({\n appearance,\n size,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n\n \n \n \n`;\n};\n\n/**\n * __Opsgenie wordmark__\n *\n * The Opsgenie brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const OpsgenieWordmark = ({\n appearance,\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n svg: svg({\n appearance,\n textColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * __Statuspage icon__\n *\n * The Statuspage icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const StatuspageIcon = ({\n appearance,\n label = 'Statuspage',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Statuspage logo__\n *\n * The Statuspage logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const StatuspageLogo = ({\n appearance,\n label = 'Statuspage',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n iconColor,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n\n \n \n \n`;\n};\n\n/**\n * __Statuspage wordmark__\n *\n * The Statuspage brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const StatuspageWordmark = ({\n appearance,\n label = 'Statuspage',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n textColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * @deprecated StrideIcon will be removed from atlaskit/logo in the next major release.\n */\nexport const StrideIcon = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('StrideIcon has been deprecated and will be removed from @atlaskit/logo in the next major release.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n svg: svg({\n iconGradientStart,\n iconGradientStop\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n iconGradientStart,\n iconGradientStop\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n return `\n \n \n \n \n \n \n \n \n \n \n \n \n `;\n};\n\n/**\n * @deprecated StrideLogo will be removed from atlaskit/logo in the next major release.\n */\nexport const StrideLogo = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('StrideLogo has been deprecated and will be removed from @atlaskit/logo in the next major release.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n iconGradientStart,\n iconGradientStop\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport warnOnce from '@atlaskit/ds-lib/warn-once';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = () => `\n\n \n \n \n`;\n\n/**\n * @deprecated StrideWordmark will be removed from atlaskit/logo in the next major release.\n */\nexport const StrideWordmark = ({\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n size = defaultLogoParams.size,\n testId,\n textColor = defaultLogoParams.textColor\n}) => {\n if (typeof process !== 'undefined' && process.env.NODE_ENV !== 'production') {\n warnOnce('StrideWordmark has been deprecated and will be removed from @atlaskit/logo in the next major release.');\n }\n return /*#__PURE__*/React.createElement(Wrapper, {\n svg: svg(),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n\n \n \n \n \n \n \n \n\n`;\n};\n\n/**\n * __Trello logo__\n *\n * The Trello icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const TrelloIcon = ({\n appearance,\n label = 'Trello',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n iconGradientStart,\n iconGradientStop,\n textColor\n}) => {\n let colors = {\n iconGradientStart,\n iconGradientStop,\n textColor\n };\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n iconGradientStart: iconGradientStop\n });\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n \n \n \n \n \n \n`;\n};\n\n/**\n * __Trello logo__\n *\n * The Trello logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlasLogo = ({\n appearance,\n label = 'Trello',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n svg: svg({\n appearance,\n iconGradientStart,\n iconGradientStop,\n textColor\n }),\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { defaultLogoParams } from '../constants';\nimport { getColorsFromAppearance } from '../utils';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance,\n textColor\n}) => {\n let colors = {\n textColor\n };\n if (appearance) {\n colors = getColorsFromAppearance(appearance);\n }\n return `\n \n \n \n `;\n};\n\n/**\n * __Trello wordmark__\n *\n * The Trello brand/product name styled as a logo, without an accompanying icon.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const TrelloWordmark = ({\n appearance,\n label = 'Trello',\n size = defaultLogoParams.size,\n testId,\n iconColor = defaultLogoParams.iconColor,\n iconGradientStart = defaultLogoParams.iconGradientStart,\n iconGradientStop = defaultLogoParams.iconGradientStop,\n textColor = defaultLogoParams.textColor\n}) => {\n return /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance,\n textColor\n }),\n iconColor: iconColor,\n iconGradientStart: iconGradientStart,\n iconGradientStop: iconGradientStop,\n size: size,\n testId: testId,\n textColor: textColor\n });\n};","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { B400 } from '@atlaskit/theme/colors';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n appearance\n });\n\n // Brand\n let colors = {\n iconGradientStart: '#1D7AFC',\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n iconGradientMid: B400,\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n iconGradientStop: B400\n };\n if (appearance === 'neutral') {\n colors = {\n iconGradientStart: '#758195',\n iconGradientMid: '#596A85',\n iconGradientStop: '#2C3E5D'\n };\n }\n const baseIconContents = `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n\n /**\n * inverse icons use transparency to achieve a certain gradient effect, requiring a different SVG structure\n */\n const inverseIconContents = `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n return `\n ${appearance === 'inverse' ? inverseIconContents : baseIconContents}\n`;\n};\n\n/**\n * __Atlas logo__\n *\n * The Atlas icon without an accompanying wordmark.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlasIcon = ({\n appearance,\n label = 'Atlas',\n size = defaultLogoParams.size,\n testId\n}) => /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n svg: svg({\n appearance\n }),\n size: size,\n testId: testId\n});","/* eslint-disable max-len */\nimport React from 'react';\nimport { uid } from 'react-uid';\nimport { B400 } from '@atlaskit/theme/colors';\nimport { defaultLogoParams } from '../constants';\nimport Wrapper from '../wrapper';\nconst svg = ({\n appearance\n}) => {\n // Will be fixed upon removal of deprecated iconGradientStart and\n // iconGradientStop props, or with React 18's useId() hook when we update.\n // eslint-disable-next-line @repo/internal/react/disallow-unstable-values\n let id = uid({\n appearance\n });\n\n // Brand\n let colors = {\n iconGradientStart: '#1d7afc',\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n iconGradientMid: B400,\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n iconGradientStop: B400,\n // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage\n textStart: B400\n };\n if (appearance === 'neutral') {\n colors = {\n iconGradientStart: '#758195',\n iconGradientMid: '#596a85',\n iconGradientStop: '#2c3e5d',\n textStart: '#758195'\n };\n }\n const baseIconContents = `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n\n /**\n * inverse icons use transparency to achieve a certain gradient effect, requiring a different SVG structure\n */\n const inverseIconContents = `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n`;\n return `\n ${appearance === 'inverse' ? inverseIconContents : baseIconContents}\n`;\n};\n\n/**\n * __Atlas logo__\n *\n * The Atlas logo with both the wordmark and the icon combined.\n *\n * - [Examples](https://atlassian.design/components/logo/examples)\n * - [Code](https://atlassian.design/components/logo/code)\n * - [Usage](https://atlassian.design/components/logo/usage)\n */\nexport const AtlasLogo = ({\n appearance,\n label = 'Atlas',\n size = defaultLogoParams.size,\n testId\n}) => /*#__PURE__*/React.createElement(Wrapper, {\n appearance: appearance,\n label: label,\n size: size,\n svg: svg({\n appearance\n }),\n testId: testId\n});","import * as Logos from '@atlaskit/logo';\nimport Lozenge from '@atlaskit/lozenge';\nimport { B500, DN10A, N0 } from '@atlaskit/theme/colors';\nimport { AppKey, ProductKey } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { Product } from '../model';\nimport { useSignUpFormConfig } from '../../../../../hook';\n\nexport function Logo(product: Product, isWhiteBackground: boolean) {\n const { bundle } = useSignUpFormConfig();\n const productkey = product.product;\n const productContent =\n product.productContent && product.productContent.length\n ? product.productContent.find(\n (content) => content.productKey === productkey\n )\n : null;\n const isJiraFamily =\n bundle === 'jira' && productkey === ProductKey.JIRA_SOFTWARE;\n const textColor = isWhiteBackground ? DN10A : N0;\n const appearance = isWhiteBackground ? 'brand' : 'inverse';\n const Logostyle = {\n size: 'xlarge',\n appearance\n };\n\n if (productContent && productContent.atlasKitLogoName) {\n // Try and get Atlaskit Logo from product data\n if (productContent.atlasKitLogoName) {\n const allLogos = { ...Logos };\n const ProductLogoClass = allLogos[productContent.atlasKitLogoName];\n if (!!ProductLogoClass) {\n return ;\n }\n }\n }\n // @ts-ignore\n\n if (Object.values(AppKey).includes(productkey)) {\n return (\n \n );\n }\n\n // for team central, get the logo from magnolia\n const useCMSLogo =\n productkey === ProductKey.TEAM_CENTRAL ||\n productkey === ProductKey.JIRA_PRODUCT_DISCOVERY ||\n productkey === ProductKey.FABRIC ||\n productkey === ProductKey.BEACON;\n\n if (useCMSLogo && !!productContent.productLogoWhiteUrl) {\n return (\n \n );\n }\n\n if (isJiraFamily) {\n return ;\n }\n\n switch (productkey) {\n case 'com.atlassian.bitbucket':\n return ;\n case 'confluence.ondemand':\n return ;\n case 'jira-core.ondemand':\n return ;\n case 'jira-servicedesk.ondemand':\n return (\n \n );\n case 'jira-software.ondemand':\n return ;\n case 'jira-workmanagement.ondemand':\n return ;\n case 'opsgenie':\n return ;\n case 'statuspage':\n return ;\n case 'trello':\n return ;\n case 'compass':\n return (\n <>\n \n \n BETA\n \n \n );\n default:\n return productContent && productContent.productName ? (\n

    {productContent.productName}

    \n ) : (\n \n );\n }\n}\n\nconst BadgeWrapper = styled.span`\n display: block;\n margin-left: 12px;\n height: 24px;\n\n svg {\n height: 24px;\n width: 80px;\n }\n`;\n\nconst CMSLogo = styled.img`\n height: 48px;\n`;\n","import AddIcon from '@atlaskit/icon/glyph/add';\nimport styled from '@emotion/styled';\nimport { map } from 'lodash';\nimport React from 'react';\nimport { Logo, Subtitle } from './components';\nimport { WacSignupHeaderProps } from './model';\nimport { useSignUpFormConfig } from '../../../../hook';\n\nfunction WacSignupHeader({\n productKeys,\n isWhiteBackground = false\n}: WacSignupHeaderProps) {\n const { edition, bundle } = useSignUpFormConfig();\n const headerBuffer: JSX.Element[] = [];\n const isJiraFamily = bundle === 'jira';\n isJiraFamily\n ? headerBuffer.push(Logo(productKeys[0], isWhiteBackground))\n : map(productKeys, (key) =>\n headerBuffer.push(Logo(key, isWhiteBackground))\n );\n\n if (headerBuffer.length > 1 && !isJiraFamily) {\n headerBuffer.splice(\n 1,\n 0,\n \n \n \n );\n return (\n \n {headerBuffer}\n
    {Subtitle(edition, isWhiteBackground)}
    \n
    \n );\n }\n return (\n \n {headerBuffer}\n
    {Subtitle(edition, isWhiteBackground)}
    \n
    \n );\n}\n\nexport default WacSignupHeader;\n\nconst Container = styled.div`\n margin: 10px 10px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst PlusIcon = styled.div`\n margin-left: 15px;\n margin-right: 15px;\n margin-top: 15px;\n display: inline-block;\n position: relative;\n bottom: 10px;\n`;\nconst HeaderContainer = styled.div`\n display: flex;\n align-items: center;\n svg,\n img {\n margin-bottom: 0px !important;\n }\n`;\nconst HeaderContainerWithPlus = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n margin-bottom: 0px !important;\n }\n`;\n","import { defineMessages } from 'react-intl';\nconst ID_PREFIX = 'WacSignupForm.';\nexport const messages = defineMessages({\n devopsSwitchAccounts: {\n id: `${ID_PREFIX}devopsSwitchAccounts`,\n defaultMessage: 'Log in to another account'\n },\n devopsEarlyAccess: {\n id: `${ID_PREFIX}devopsEarlyAccess`,\n defaultMessage: 'EARLY ACCESS PROGRAM'\n },\n devopsLogoSubHeader: {\n id: `${ID_PREFIX}devopsLogoSubHeader`,\n defaultMessage: \"DevOps isn't bought, it's built\"\n },\n devopsLogo: {\n id: `${ID_PREFIX}devopsLogo`,\n defaultMessage: 'solution'\n }\n});\n","import * as Logos from '@atlaskit/logo';\nimport Lozenge from '@atlaskit/lozenge';\nimport { B200, B400, DN10A, N700 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { LogoOptionsType } from '../../../../../model/side-information-component';\nimport { messages } from '../messages';\n\nenum Product {\n DEVOPS = 'devops'\n}\n\nexport function Logo({ product, layout, logoColor }: LogoOptionsType) {\n const productkey = product.product;\n const textColor = layout === 'devops' ? N700 : DN10A;\n\n const productContent =\n product.productContent && product.productContent.length\n ? product.productContent[0]\n : null;\n\n const Logostyle = {\n iconColor: B200,\n iconGradientStart: B400,\n iconGradientStop: B200,\n size: 'xlarge',\n textColor\n };\n\n if (logoColor) {\n Logostyle.iconColor = logoColor;\n Logostyle.textColor = logoColor;\n }\n if (layout === Product.DEVOPS && product.product === Product.DEVOPS) {\n return (\n \n \n \n DevOps {messages.devopsLogo.defaultMessage}\n \n \n \n \n \n \n \n \n \n \n );\n }\n\n // for team central, get the logo from magnolia\n if (\n (productkey === ProductKey.TEAM_CENTRAL &&\n !!productContent.productLogoUrl) ||\n (productkey === ProductKey.JIRA_PRODUCT_DISCOVERY &&\n !!productContent.productLogoUrl)\n ) {\n return ;\n }\n\n if (productContent && productContent.atlasKitLogoName) {\n // Check for CMS driven product logo\n // Try and get Atlaskit Logo from product data\n if (productContent.atlasKitLogoName) {\n const allLogos = { ...Logos };\n const ProductLogoClass = allLogos[productContent.atlasKitLogoName];\n if (!!ProductLogoClass) {\n return ;\n }\n }\n }\n\n switch (productkey) {\n case 'com.atlassian.bitbucket':\n return ;\n case 'confluence.ondemand':\n return ;\n case 'jira-core.ondemand':\n return ;\n case 'jira-servicedesk.ondemand':\n return (\n \n );\n case 'jira-software.ondemand':\n return ;\n case 'jira-workmanagement.ondemand':\n return ;\n case 'opsgenie':\n return ;\n case 'statuspage':\n return ;\n case 'trello':\n return ;\n case 'compass':\n return ;\n default:\n return productContent && productContent.productName ? (\n

    ${productContent.productName}

    \n ) : (\n \n );\n }\n}\n\nconst DevopsLogoWrapper = styled.div`\n display: flex;\n line-height: 66px;\n`;\nconst DevopsLogoContainer = styled.div`\n .atl-logo {\n width: 58px;\n height: 55px;\n max-height: none;\n display: inline-block;\n margin: 8px 0;\n\n @media only screen and (max-width: 800px) {\n margin: 0px 0;\n }\n }\n`;\n\nconst LogoText = styled.div`\n @media only screen and (max-width: 800px) {\n display: none;\n }\n white-space: nowrap;\n font-size: 44px;\n font-weight: 600;\n margin-top: 2px;\n`;\nconst SubheadingText = styled.div`\n @media only screen and (max-width: 800px) {\n display: none;\n }\n font-family: Charlie Display;\n font-weight: 400;\n font-size: 34px;\n span {\n margin: 0 !important;\n line-height: 45px;\n }\n`;\nconst LozengeContainer = styled.div`\n @media only screen and (max-width: 800px) {\n display: none;\n }\n margin: 26px 12px 0px 12px;\n span {\n span {\n margin: 0px;\n }\n }\n`;\n\nconst CMSLogo = styled.img`\n height: 48px;\n`;\n","import Spinner from '@atlaskit/spinner';\nimport { N40, N700 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { LayoutDefaultType } from '../../../../../model/side-information-component';\n\nexport function LayoutDefault({\n isMobile,\n isLoading,\n logo,\n isEdition,\n edition,\n isTrialTime,\n trialTime,\n showListContent,\n productListMsg\n}: LayoutDefaultType) {\n return (\n <>\n {!isMobile && (\n \n {logo}\n {isEdition && {edition}}\n \n )}\n\n {showListContent && isLoading && (\n \n \n \n )}\n\n {isTrialTime && !isLoading && {trialTime}}\n\n {showListContent && !isLoading && (\n \n \n \n )}\n \n );\n}\n\nconst FeaturesDiv = styled.div`\n div {\n font-weight: 500;\n font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n font-size: 1.25rem;\n line-height: 28px;\n margin-bottom: 22px;\n color: ${N700};\n }\n ul {\n padding-left: 20px;\n padding-bottom: 10px;\n list-style-type: none;\n\n li {\n margin-bottom: 16px;\n position: relative;\n\n &::before {\n background-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%230049B0' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n content: '';\n display: inline-block;\n position: absolute;\n left: -20px;\n top: 5px;\n height: 13px;\n width: 13px;\n }\n }\n }\n`;\n\nconst TrialTime = styled.div`\n font-size: 1.25rem;\n line-height: 1.2;\n margin-bottom: 24px;\n color: ${N700};\n margin-top: 0;\n letter-spacing: 0.3px;\n font-weight: 500;\n`;\n\nconst LogoContainer = styled.div`\n display: block;\n width: 100%;\n max-width: 500px;\n margin-bottom: 10px;\n\n canvas,\n svg {\n max-width: 100%;\n }\n`;\n\nconst LogoAndEdition = styled.div`\n position: relative;\n margin-bottom: 24px;\n padding-bottom: 4px;\n border-bottom: 1px solid ${N40};\n`;\n\nconst Edition = styled.div`\n font-weight: 500;\n font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n font-style: normal;\n letter-spacing: 0.3px;\n margin-top: 20px;\n color: ${N700};\n font-size: 1.5rem;\n line-height: 1.33333333;\n`;\n\nconst SpinnerWrapper = styled.div`\n width: 100%;\n height: 100%;\n min-height: 200px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n","import { N40, N600 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport { MobileTrigger } from '@atlassiansox/bxpkit-user-profile-dropdown';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { LayoutDevopsType } from '../../../../../model/side-information-component';\nimport { messages } from '../messages';\n\nexport function LayoutDevops({\n logo,\n hideLogoContent,\n logoColor,\n showListContent,\n productListMsg,\n isSideInfoHeader,\n sideInfoHeaderMsg,\n analyticsTrack,\n userInfo,\n switchUserInfo,\n showMultiProduct\n}: LayoutDevopsType) {\n let picture;\n let email;\n let devOpsUserDisplay;\n const trackDevOpsChangeAccount = () => {\n if (switchUserInfo !== undefined) {\n analyticsTrack.segment(\n 'wac-signup-existing-user-switch',\n switchUserInfo.switchUserOrigin\n );\n }\n };\n const showDevOpsAccountInfo =\n userInfo !== undefined && userInfo.email !== null;\n if (userInfo !== undefined && userInfo.email !== null) {\n picture = `${userInfo.picture}`;\n email = `${userInfo.email}`;\n devOpsUserDisplay = (\n \n \n \n );\n }\n\n return (\n \n {isSideInfoHeader && (\n \n \n \n )}\n\n {!hideLogoContent && (\n \n \n {logo}\n \n {showDevOpsAccountInfo && devOpsUserDisplay}\n \n )}\n\n {showListContent && (\n \n \n \n )}\n \n );\n}\nconst LoggedInView = styled.div`\n position: relative;\n top: 50px;\n\n @media only screen and (max-width: 800px) {\n top: 32px;\n }\n`;\n\nconst DevopsLayout = styled.div<{ readonly logoColor?: string }>`\n font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n -webkit-font-smoothing: antialiased;\n color: ${(props) => (props.logoColor ? props.logoColor : N600)};\n`;\n\nconst ProductHeading = styled.div`\n font-size: 40px;\n font-weight: 500;\n max-width: 360px;\n line-height: 42px;\n\n @media only screen and (max-width: 800px) {\n display: none;\n }\n`;\n\nconst LogoContainer = styled.div<{ readonly showListContent?: boolean }>`\n position: relative;\n margin-bottom: 24px;\n padding-bottom: 4px;\n border-bottom: ${(props) =>\n props.showListContent ? `1px solid ${N40}` : 'none'};\n display: flex;\n justify-content: space-between;\n`;\n\nconst LogosList = styled.div<{\n readonly logoColor?: string;\n readonly showMultiProduct?: boolean;\n}>`\n position: relative;\n display: block;\n width: auto;\n max-width: 500px;\n margin: ${(props) => (props.showMultiProduct ? '40px' : '32px')} 0 40px\n ${(props) => (props.showMultiProduct ? '34px' : '0')};\n padding-left: ${(props) => (props.showMultiProduct ? '15px' : '0')};\n ${(props) =>\n props.showMultiProduct\n ? `border-left: 1px solid ${props.logoColor ? props.logoColor : N40}`\n : null};\n\n @media only screen and (max-width: 800px) {\n margin: 25px 0px 25px ${(props) => (props.showMultiProduct ? '30px' : '0')};\n }\n ${(props) =>\n props.showMultiProduct\n ? `&:before {\n position: absolute;\n content: '+';\n font-size: 40px;\n left: -35px;\n top: 50%;\n transform: translateY(-50%);\n margin-top: -3px;\n }`\n : null}\n\n span {\n display: block;\n clear: both;\n max-height: 36px;\n margin: 9px 0;\n\n svg {\n width: auto;\n }\n }\n\n canvas,\n svg {\n max-width: 100%;\n }\n`;\n\nconst FeaturesDiv = styled.div`\n ul {\n list-style-type: none;\n padding: 6px 0 10px 20px;\n margin-top: -30px;\n\n li {\n position: relative;\n font-size: 22px;\n font-weight: 500;\n margin-bottom: 18px;\n\n &::before {\n background-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%2336B37E' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n content: '';\n display: inline-block;\n position: absolute;\n left: -20px;\n top: 11px;\n height: 13px;\n width: 13px;\n }\n }\n }\n`;\n","import { N40, N600, N700 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { LayoutDeveloperModeType } from '../../../../../model/side-information-component';\n\nexport function LayoutDeveloperMode({\n showListContent,\n productListMsg,\n isSideInfoHeader,\n sideInfoHeaderMsg,\n isMobile,\n isEdition,\n edition\n}: LayoutDeveloperModeType) {\n return (\n \n {isSideInfoHeader && (\n \n \n \n )}\n\n {!isMobile && (\n \n {isEdition && {edition}}\n \n )}\n\n {showListContent && (\n \n \n \n )}\n \n );\n}\n\nconst DeveloperModeLayout = styled.div`\n font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n -webkit-font-smoothing: antialiased;\n color: ${N600};\n`;\n\nconst ProductHeading = styled.div`\n font-size: 40px;\n font-weight: 500;\n max-width: 360px;\n line-height: 42px;\n`;\n\nconst LogoAndEdition = styled.div`\n position: relative;\n margin-bottom: 24px;\n padding-bottom: 4px;\n border-bottom: 1px solid ${N40};\n`;\n\nconst Edition = styled.div`\n font-weight: 500;\n font-family: Charlie Display, -apple-system, BlinkMacSystemFont, Segoe UI,\n Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n font-style: normal;\n letter-spacing: 0.3px;\n margin-top: 20px;\n color: ${N700};\n font-size: 1.5rem;\n line-height: 1.33333333;\n`;\n\nconst FeaturesDiv = styled.div`\n ul {\n list-style-type: none;\n padding: 6px 0 10px 20px;\n\n li {\n position: relative;\n font-size: 22px;\n font-weight: 500;\n margin-bottom: 11px;\n\n &::before {\n background-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%2336B37E' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n content: '';\n display: inline-block;\n position: absolute;\n left: -20px;\n top: 11px;\n height: 13px;\n width: 13px;\n }\n }\n }\n`;\n","import { N400 } from '@atlaskit/theme/colors';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FirstImpressions } from '../../../../../model/side-information-component';\n\nexport const LayoutFirstImpressions = ({\n className,\n productListMsg,\n socialProof\n}: FirstImpressions) => {\n const showSocialProofImage = socialProof.imgUrl && socialProof.imgUrl.length;\n return (\n \n \n \n {socialProof.text}\n \n {showSocialProofImage && }\n \n \n \n \n );\n};\n\nconst Root = styled.div`\n display: flex;\n flex-direction: column;\n font-size: 16px;\n`;\nconst HeroImage = styled.img`\n object-fit: contain;\n width: 100%;\n height: 100%;\n`;\n\nconst FeatureList = styled.div`\n margin: 0 auto;\n\n & ul {\n color: ${N400};\n font-weight: 100;\n font-size: clamp(1em, 2.5vw, 1.5em);\n list-style-type: none;\n margin: 0;\n padding-inline-start: 20px;\n }\n\n & li {\n font-size: 16px;\n margin: 8px 0;\n line-height: 1.5;\n list-style-image: url(\"data:image/svg+xml,%3Csvg width='13px' height='13px' viewBox='0 0 13 13' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cg stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' stroke-linecap='round'%3E%3Cg transform='translate(0.000000, -51.000000)' stroke='%230049B0' stroke-width='1.6'%3E%3Cg transform='translate(1.000000, 45.000000)'%3E%3Cg transform='translate(0.000000, 0.416810)'%3E%3Cpolyline points='1.52655666e-16 11.9766645 3.98219585 17 11 7'%3E%3C/polyline%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E\");\n }\n\n & p {\n color: ${N400};\n font-weight: 100;\n font-size: 14px;\n }\n`;\n\nconst SocialProofImage = styled.img`\n width: 100%;\n`;\n\ntype SocialProofTextProps = {\n readonly addBottomMargin: boolean;\n};\nconst SocialProofText = styled.p`\n width: 100%;\n margin: ${(props) => (props.addBottomMargin ? '0 0 16px 0' : '0 0 0 0')};\n text-align: center;\n font-size: 1.25em;\n line-height: 1.1;\n`;\n","import { getIsBundleDevops } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport { isEmpty, map } from 'lodash';\nimport React from 'react';\nimport { SideInformationComponentProps } from '../../../../model/side-information-component';\nimport { Logo } from './component';\nimport {\n LayoutDefault,\n LayoutDeveloperMode,\n LayoutDevops,\n LayoutFirstImpressions\n} from './container';\n\nexport default function SideInformationComponent({\n layout = 'default',\n isLoading,\n productKeys,\n edition,\n isExistingSiteFormShown,\n trialDurationExistingSite,\n trialDurationNewSite,\n featuresList,\n imgSource,\n isMobile,\n sideInfoHeader,\n hideLogoContent,\n logoColor,\n socialProof,\n userInfo,\n analyticsTrack,\n switchUserInfo\n}: SideInformationComponentProps) {\n const isSideInfoHeader =\n !isEmpty(sideInfoHeader) && sideInfoHeader.length > 0;\n const showListContent = !isEmpty(featuresList);\n const isEdition = !isEmpty(edition);\n const trialTime = isExistingSiteFormShown\n ? trialDurationExistingSite\n : trialDurationNewSite;\n const isTrialTime = !isEmpty(trialTime);\n const devopsLogo = [\n Logo({\n layout,\n logoColor,\n product: {\n product: 'devops',\n imgSource: '',\n edition: '',\n serverDownloadContent: ''\n }\n })\n ];\n const logo = map(productKeys, (key) =>\n Logo({\n layout,\n logoColor,\n product: key\n })\n );\n const isDevopsBundle = getIsBundleDevops(productKeys);\n\n const productListMsg = {\n id: 'sideInfoComponent.productListMessage',\n defaultMessage: featuresList\n };\n const sideInfoHeaderMsg = {\n id: 'sideInfoComponent.productHeading',\n defaultMessage: sideInfoHeader\n };\n\n const layoutDefault = () => {\n return (\n \n );\n };\n\n const layoutDevops = () => {\n return (\n \n );\n };\n\n const layoutDeveloperMode = () => {\n return (\n \n );\n };\n\n const layoutFirstImpression = () => {\n if (!socialProof) {\n throw new Error('socialProof is null or undefined');\n }\n\n return (\n \n );\n };\n\n return (\n \n \n {(() => {\n switch (layout) {\n case 'none':\n return <>;\n case 'devops':\n return layoutDevops();\n case 'developer-mode':\n return layoutDeveloperMode();\n case 'first-impressions':\n return layoutFirstImpression();\n case 'default':\n default:\n return layoutDefault();\n }\n })()}\n \n \n );\n}\n\nconst Root = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n max-width: 700px;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst InfoComponent = styled.div`\n width: 100%;\n`;\n","import { defineMessagesSimple } from '@atlassiansox/bxpkit-core';\n\nconst ID_PREFIX = 'WacSignupForm';\n\nexport const messages = defineMessagesSimple(ID_PREFIX, {\n socialSignUpOr: 'OR',\n loggedOutHeader: 'Get Started',\n loggedOutSubHeader: 'Free for up to 10 users'\n});\n","import { Environment, Url } from '@atlassiansox/bxpkit-core';\nimport OriginTracing from '@atlassiansox/origin-tracing';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { SocialSignonButtonOptionsType } from '../../../../../model';\nimport { SocialSignUpButton } from '../../social-sign-up-button';\nimport { messages } from '../messages';\nimport {\n useCutSignUpStepsInHalfForPaid,\n useSignUpFormConfig\n} from '../../../../../hook';\nimport { useAppSelector } from '../../../../../redux';\nimport { N400 } from '@atlaskit/theme/colors';\n\n/**\n * Render social signup buttons\n */\n\nexport function SignupButtons({\n analyticsTrack,\n isEmailSignupSelected,\n setIsEmailSignupSelected,\n socialContinueUrl\n}: SocialSignonButtonOptionsType) {\n const { segment } = analyticsTrack;\n const trySignupOrigin = new OriginTracing({ product: 'wac-try-signup' });\n const loginGoogleOrigin = new OriginTracing({ product: 'wac-signup-google' });\n\n const signUpFormConfig = useSignUpFormConfig();\n const queryParameters = Url.getUrlParams() || {};\n\n const continueUrl = new URL(window.location.href).pathname;\n\n const isCutSignUpStepsInHalfEnabled = useCutSignUpStepsInHalfForPaid();\n let urlGoogleSignupContinue;\n if (isCutSignUpStepsInHalfEnabled) {\n const continueUrl = socialContinueUrl\n ? new URL(`${Environment.getWacIntegrationUrl()}${socialContinueUrl}`)\n : new URL(window.location.href);\n continueUrl.searchParams.append('social-signup-login', 'true');\n const params = new URLSearchParams({\n application: 'wac',\n continue: continueUrl.href,\n prompt: 'select_account',\n atlOrigin: encodeURIComponent(loginGoogleOrigin.encode())\n });\n urlGoogleSignupContinue = `${Environment.getIdentityBaseUrl()}/login/initiate/google?${params}`;\n } else {\n urlGoogleSignupContinue = Environment.getSocialSignUpUrl({\n loginGoogleOrigin: loginGoogleOrigin.encode(),\n socialContinueUrl: continueUrl || '',\n ...signUpFormConfig,\n continueUrlOverride: queryParameters['continue'] || undefined\n });\n }\n\n const { enableDefaultExpandedEmail } = useAppSelector(\n (state) => state.featureFlags\n );\n\n return (\n
    \n {!isCutSignUpStepsInHalfEnabled && (\n {\n segment(\n 'wac-signup-google',\n loginGoogleOrigin.toAnalyticsAttributes({ hasGeneratedId: true })\n );\n }}\n />\n )}\n\n {enableDefaultExpandedEmail && !isCutSignUpStepsInHalfEnabled ? (\n \n \n \n \n \n ) : (\n !isCutSignUpStepsInHalfEnabled && (\n \n \n \n \n \n )\n )}\n\n {!enableDefaultExpandedEmail &&\n !isEmailSignupSelected &&\n !isCutSignUpStepsInHalfEnabled && (\n {\n if (setIsEmailSignupSelected) {\n setIsEmailSignupSelected(true);\n }\n segment(\n 'wac-try-signup',\n trySignupOrigin.toAnalyticsAttributes({ hasGeneratedId: true })\n );\n }}\n />\n )}\n {isCutSignUpStepsInHalfEnabled && (\n \n \n \n )}\n {isCutSignUpStepsInHalfEnabled && (\n {\n segment(\n 'wac-signup-google',\n loginGoogleOrigin.toAnalyticsAttributes({ hasGeneratedId: true })\n );\n }}\n />\n )}\n
    \n );\n}\n\nconst text =\n \"Charlie Text, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Noto Sans', 'Ubuntu', 'Droid Sans', 'Helvetica Neue', sans-serif\";\n\nconst Divider = styled.div`\n font-family: ${text};\n margin-bottom: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: #42526e;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n`;\nconst DividerDefaultExpandedEmail = styled.div`\n font-family: ${text};\n margin-bottom: 8px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: #42526e;\n font-size: 14px;\n font-weight: 500;\n text-transform: uppercase;\n`;\n\nconst DividerChooseSignup = styled.div`\n font-family: ${text};\n margin-bottom: 30px;\n margin-top: 30px;\n display: flex;\n justify-content: center;\n align-items: center;\n color: ${N400};\n font-size: 14px;\n font-weight: 600;\n line-height: 18px;\n text-transform: uppercase;\n`;\n\nconst Leftline = styled.div`\n border-bottom: 1px solid #d8d8d8;\n width: 31px;\n margin-right: 8px;\n`;\nconst Rightline = styled.div`\n border-bottom: 1px solid #d8d8d8;\n width: 31px;\n margin-left: 8px;\n`;\n","import Spinner from '@atlaskit/spinner';\nimport { Environment, Storage, Url } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport _ from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport { SocialSignupOptionsType } from '../../../../../model/wac-signup-layout';\nimport { SocialSignUpView } from '../../social-sign-up';\n\n/**\n * Social signin component that renders\n * when a user is returning from a social signup\n *\n * Will render social-signin if showSocialSignupForm is\n * enabled, and if the user is logged in. Otherwise, will render\n * children components\n */\n\nexport const SocialSignup: React.FC = ({\n locale,\n userInfo,\n productKeys,\n analyticsTrack,\n loadingImageSrc,\n errorImageSrc,\n showSocialSignupForm,\n children,\n siteRenamePageUrl,\n templateId\n}) => {\n const [renderSocialSignup, setRenderSocialSignup] = useState(\n !!(showSocialSignupForm && userInfo?.isLoggedIn)\n );\n\n useEffect(() => {\n setRenderSocialSignup(!!(showSocialSignupForm && userInfo?.isLoggedIn));\n }, [userInfo]);\n\n const queryParameters = Url.getUrlParams() || {};\n\n // If this is the signup form and there is session stored userInfo, we remove it\n const socialSignupInfo = JSON.parse(\n window.atob(Storage.getSessionStorage('social-signup') || '') || '{}'\n );\n if (\n socialSignupInfo &&\n !showSocialSignupForm &&\n !_.isEqual(userInfo, socialSignupInfo?.userInfo)\n ) {\n Storage.removeSessionStorage('social-signup');\n }\n\n if (!userInfo && showSocialSignupForm) {\n // knowing that showSocialSignupForm is enabled,\n // defer showing anything until logged in state is available\n return (\n \n \n \n );\n }\n\n return renderSocialSignup ? (\n {\n // tslint:disable-next-line:no-console\n console.log(val);\n }}\n setShowSocialSignupForm={setRenderSocialSignup}\n tryAgainErrorUrl={Environment.getIdentityBaseUrl()}\n errorImageSrc={errorImageSrc}\n siteRenamePageUrl={siteRenamePageUrl}\n templateId={templateId}\n />\n ) : (\n <>{children}\n );\n};\n\nconst SpinnerWrapper = styled.div`\n width: 100%;\n height: 100%;\n min-height: 500px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n","import { ProductKey } from '@atlassiansox/bxpkit-core';\nimport _ from 'lodash';\nimport {\n GetProductKeysOptionsType,\n IncludesProductOptionsType,\n ProductKeysType\n} from '../../../../../model';\nimport {\n BITBUCKET,\n EDITION_LABEL_ARRAY,\n FREE_EDITION_LABEL_KEY,\n OPSGENIE,\n PRODUCT_NAMES,\n STANDARD_EDITION_LABEL_KEY,\n BETA_EDITION_LABEL_KEY\n} from './constants';\n\n/**\n * Transform productData into to Product-typed shape\n */\n\nexport const getProductKeys = ({\n productData,\n queryParameters,\n productOverride,\n bundleOverride,\n editionOverride\n}: GetProductKeysOptionsType): ProductKeysType[] => {\n // Check for JSM, overwrite to JSD productKey\n if (queryParameters?.product?.includes('jira-service-management.ondemand')) {\n queryParameters.product = queryParameters.product\n .split(',')\n .map((product: string) => {\n return product === 'jira-service-management.ondemand'\n ? ProductKey.JIRA_SERVICE_DESK\n : product;\n })\n .join();\n }\n\n let productOrBundleData = queryParameters.hasOwnProperty('product')\n ? _.find(productData, { bundleProductKeys: `${queryParameters.product}` })\n : _.get(\n productData,\n `${queryParameters.bundle}`.split('.')[0],\n _.get(productData, 'default')\n );\n\n if (productOrBundleData === undefined) {\n productOrBundleData = productData.default;\n }\n if (productOverride && productOverride.length > 0) {\n productOrBundleData = _.find(productData, {\n bundleProductKeys: productOverride\n });\n }\n if (bundleOverride && bundleOverride.length > 0) {\n productOrBundleData = _.get(\n productData,\n `${bundleOverride}`.split('.')[0],\n _.get(productData, 'default')\n );\n }\n\n const editionQueryParmSupplied = queryParameters.hasOwnProperty('edition');\n const migrationSourceUuidParmSupplied = queryParameters.hasOwnProperty(\n 'migrationSourceUuid'\n );\n\n let edition: string;\n if (queryParameters.hasOwnProperty('edition')) {\n edition = EDITION_LABEL_ARRAY.some(\n (label) => label.toLowerCase() === queryParameters.edition\n )\n ? queryParameters.edition\n : FREE_EDITION_LABEL_KEY.toLowerCase();\n } else {\n edition = FREE_EDITION_LABEL_KEY.toLowerCase();\n }\n\n if (editionOverride && editionOverride.length > 0) {\n edition = editionOverride.toLowerCase();\n }\n\n /* Extended Cloud Trial License (ECTL) instances should be Standard Edition\n if no edition query parm supplied*/\n if (migrationSourceUuidParmSupplied && !editionQueryParmSupplied) {\n edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n } else if (\n migrationSourceUuidParmSupplied &&\n editionQueryParmSupplied &&\n edition === FREE_EDITION_LABEL_KEY.toLowerCase()\n ) {\n // force standard edition if query parm supplied was set to free.\n edition = edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n }\n\n // Developer Instances should always be Standard Edition\n if (queryParameters.hasOwnProperty('developer')) {\n edition = STANDARD_EDITION_LABEL_KEY.toLowerCase();\n }\n\n // SPICE-448: Prototype products Point A - alpha or beta editions\n if (productOrBundleData?.bundleProductKeys === ProductKey.COMPASS) {\n edition = BETA_EDITION_LABEL_KEY.toLowerCase();\n }\n\n const imgSource = _.get(productOrBundleData, 'iconSrc');\n const serverDownloadContent = _.get(productOrBundleData, 'calloutRichText');\n const productContent = _.get(productOrBundleData, 'products');\n\n return _.map(\n (_.get(productOrBundleData, 'bundleProductKeys') || '').split(','),\n (keys) => {\n return {\n product: keys,\n edition,\n imgSource,\n serverDownloadContent,\n productContent\n };\n }\n );\n};\n\n/**\n * Given Product Key, return Product name\n */\n\nexport const getProductNameFromKey = (productKey: string): string => {\n const nameIdx = PRODUCT_NAMES.map((name: string) =>\n name.toLowerCase()\n ).findIndex((productName) => productKey.includes(productName));\n return nameIdx === -1 ? '' : PRODUCT_NAMES[nameIdx];\n};\n\n/**\n * Check for a matching productName within products\n */\n\nexport const includesProduct = ({\n products,\n productName\n}: IncludesProductOptionsType): boolean => {\n return products.some(({ product: productKey }) => {\n if (typeof productKey !== 'string') {\n return false;\n }\n return getProductNameFromKey(productKey) === productName;\n });\n};\n\nexport const onProductsRequireSitename = (productKeys: ProductKeysType[]) => {\n return productKeys\n .map(({ product: productKey }) => productKey)\n .map(getProductNameFromKey)\n .some((productName: string) => [BITBUCKET, OPSGENIE].includes(productName));\n};\n","import {\n getIsBundleBbJsw,\n getIsBundleDevops,\n ProductKey\n} from '@atlassiansox/bxpkit-core';\nimport _ from 'lodash';\nimport {\n GetEditionLabelsOptionsType,\n GetEditionLabelsReturnType,\n GetFeaturesListOptionsType,\n GetSideInfoHeaderOptionsType,\n GetTrialDurationSiteLabelOptionsType\n} from '../../../../../model';\nimport {\n BITBUCKET,\n BUNDLE_LABEL_KEY,\n DEVELOPER_MODE,\n DEVOPS,\n FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST,\n FREE_EDITION_LABEL_KEY,\n JIRA_CORE,\n JIRA_PRODUCT_DISCOVERY,\n JSD,\n JSW,\n OPSGENIE,\n FABRIC,\n BEACON,\n SIGNUP_OFFERING_LABEL_KEY_PREFIX,\n SIGNUP_SIDE_INFO_HEADER_PREFIX,\n STATUSPAGE,\n TRIAL_DURATION_LABEL_KEY_EXISTING_SITE,\n TRIAL_DURATION_LABEL_KEY_NEW_SITE,\n WAC_SIGNUP_FORM_KEY_BASE,\n JIRA_FAMILY\n} from './constants';\nimport { getProductNameFromKey } from './data-product';\nimport { useSignUpFormConfig } from '../../../../../hook';\n\n/**\n * Label for side-info header (if applicable)\n */\n\nexport const getSideInfoHeader = ({\n labels,\n productKeys,\n developerMode\n}: GetSideInfoHeaderOptionsType): string => {\n let contentKey = SIGNUP_SIDE_INFO_HEADER_PREFIX;\n\n if (getIsBundleBbJsw(productKeys)) {\n contentKey += BUNDLE_LABEL_KEY + JSW + BITBUCKET;\n }\n\n if (getIsBundleDevops(productKeys)) {\n contentKey += BUNDLE_LABEL_KEY + DEVOPS;\n }\n\n if (developerMode) {\n contentKey += BUNDLE_LABEL_KEY + DEVELOPER_MODE;\n }\n\n return labels[contentKey];\n};\n\n/**\n * Edition Labels, eg. 'Cloud Free', 'Cloud Premium'\n */\n\nexport const getEditionLabels = ({\n productKey,\n edition: originalEdition\n}: GetEditionLabelsOptionsType): GetEditionLabelsReturnType => {\n let editionLabel = `Cloud ${_.capitalize(\n originalEdition || FREE_EDITION_LABEL_KEY\n )}`;\n let featuresListEditionLabelKey = originalEdition || FREE_EDITION_LABEL_KEY;\n\n if (getProductNameFromKey(productKey) === BITBUCKET) {\n editionLabel = `Cloud ${_.capitalize(FREE_EDITION_LABEL_KEY)}`;\n featuresListEditionLabelKey = FREE_EDITION_LABEL_KEY;\n }\n\n if (getProductNameFromKey(productKey) === STATUSPAGE) {\n editionLabel = '';\n }\n\n return { editionLabel, featuresListEditionLabelKey };\n};\n\n/**\n * Trial duration text, eg. '1-month free cloud trial',\n * for existing sites\n *\n * Returns empty string for BB & Statuspage\n */\n\nexport const getTrialDurationExistingSiteLabel = ({\n productKey,\n labels\n}: GetTrialDurationSiteLabelOptionsType): string => {\n const productName = getProductNameFromKey(productKey);\n return productName === BITBUCKET || productName === STATUSPAGE\n ? ''\n : labels[TRIAL_DURATION_LABEL_KEY_EXISTING_SITE];\n};\n\n/**\n * Trial duration text, eg. '7-day free cloud trial',\n * for new sites\n *\n * Returns empty string for BB & Statuspage\n */\n\nexport const getTrialDurationNewSiteLabel = ({\n productKey,\n labels\n}: GetTrialDurationSiteLabelOptionsType): string => {\n const productName = getProductNameFromKey(productKey);\n return productName === BITBUCKET || productName === STATUSPAGE\n ? ''\n : labels[\n TRIAL_DURATION_LABEL_KEY_NEW_SITE +\n (productName === OPSGENIE ? OPSGENIE : '')\n ];\n};\n\n/**\n * Get list of features, eg. side-info
  • 's\n */\n\nexport const getFeaturesList = ({\n labels,\n products,\n productKey,\n featuresListEditionLabelKey,\n migrationData,\n developerMode\n}: GetFeaturesListOptionsType): string => {\n const { bundle } = useSignUpFormConfig();\n const isBundle = products.length > 1;\n const edition = _.capitalize(featuresListEditionLabelKey);\n const includesJiraServiceManagement = _.includes(\n _.map(products, (val) => val.product === ProductKey.JIRA_SERVICE_DESK),\n true\n );\n if (migrationData && migrationData.migrationSourceUuid) {\n const migrationFeatureList =\n labels[`${WAC_SIGNUP_FORM_KEY_BASE}migrationFeatureList`] || '';\n if (\n migrationData.migrationUserLimit &&\n migrationData.migrationUserType &&\n migrationData.migrationProductName\n ) {\n return migrationFeatureList\n .replace('{productName}', migrationData.migrationProductName)\n .replace('{usageLimit}', migrationData.migrationUserLimit.toString())\n .replace('{userType}', migrationData.migrationUserType);\n }\n return migrationFeatureList;\n }\n\n let productNameFromKey = getProductNameFromKey(productKey);\n\n // JSD Standalone\n if (productKey.includes(ProductKey.JIRA_SERVICE_DESK)) {\n productNameFromKey = JSD;\n }\n\n // Jira Core Standalone\n if (productKey.includes(ProductKey.JIRA_CORE)) {\n productNameFromKey = JIRA_CORE;\n }\n\n // Jira Software Standalone\n if (productKey.includes(ProductKey.JIRA_SOFTWARE)) {\n productNameFromKey = FIRST_IMPRESSION_JIRA_SOFTWARE_FEATURE_LIST;\n }\n\n // Free bundles that include JSD\n if (\n isBundle &&\n includesJiraServiceManagement &&\n edition === FREE_EDITION_LABEL_KEY\n ) {\n productNameFromKey = BUNDLE_LABEL_KEY + JSD;\n }\n\n // jira-software-bitbucket\n if (getIsBundleBbJsw(products)) {\n productNameFromKey = BUNDLE_LABEL_KEY + JSW + BITBUCKET;\n }\n\n // devops\n if (getIsBundleDevops(products)) {\n productNameFromKey = BUNDLE_LABEL_KEY + DEVOPS;\n }\n\n if (developerMode) {\n productNameFromKey = BUNDLE_LABEL_KEY + DEVELOPER_MODE;\n }\n\n // team central\n if (productKey.includes(ProductKey.TEAM_CENTRAL)) {\n productNameFromKey = 'TeamCentral';\n }\n\n if (productKey.includes(ProductKey.JIRA_PRODUCT_DISCOVERY)) {\n productNameFromKey = JIRA_PRODUCT_DISCOVERY;\n }\n\n if (productNameFromKey.endsWith('DeveloperMode')) {\n return labels[\n SIGNUP_OFFERING_LABEL_KEY_PREFIX + 'Standard' + productNameFromKey\n ];\n }\n\n // canvas\n if (productKey.includes(ProductKey.FABRIC)) {\n productNameFromKey = FABRIC;\n }\n\n // beacon\n if (productKey.includes(ProductKey.BEACON)) {\n productNameFromKey = BEACON;\n }\n // jira family\n if (isBundle && bundle === 'jira') {\n productNameFromKey = JIRA_FAMILY;\n }\n\n return labels[\n SIGNUP_OFFERING_LABEL_KEY_PREFIX + edition + productNameFromKey\n ];\n};\n","import { FirstImpressionsImageUrlsType } from '../../../../../model';\nimport {\n COMPASS,\n CONFLUENCE,\n FABRIC,\n JIRA_CORE,\n JIRA_PRODUCT_DISCOVERY,\n JSD,\n TEAM_CENTRAL,\n BEACON,\n JIRA_FAMILY\n} from './constants';\n\nexport const getSocialProofProductLabel = (productKey: string) => {\n switch (productKey) {\n case 'jira-servicedesk.ondemand':\n return JSD;\n case 'confluence.ondemand':\n return CONFLUENCE;\n case 'jira-core.ondemand':\n return JIRA_CORE;\n case 'townsquare':\n return TEAM_CENTRAL;\n case 'jira-product-discovery':\n return JIRA_PRODUCT_DISCOVERY;\n case 'compass':\n return COMPASS;\n case 'atlassian-whiteboard':\n return FABRIC;\n case 'beacon':\n return BEACON;\n case 'jira':\n return JIRA_FAMILY;\n default:\n return '';\n }\n};\n\nexport const getSocialProofImageURLs = (\n productKey: string,\n firstImpressionsImageUrls: FirstImpressionsImageUrlsType\n) => {\n switch (productKey) {\n case 'jira-servicedesk.ondemand':\n return {\n heroImage: firstImpressionsImageUrls.jiraServiceDesk.heroImage,\n logoImage: firstImpressionsImageUrls.jiraServiceDesk.socialProofImage\n };\n case 'confluence.ondemand':\n return {\n heroImage: firstImpressionsImageUrls.confluence.heroImage,\n logoImage: firstImpressionsImageUrls.confluence.socialProofImage\n };\n case 'jira-core.ondemand':\n return {\n heroImage: firstImpressionsImageUrls.jiraCore.heroImage,\n logoImage: firstImpressionsImageUrls.jiraCore.socialProofImage\n };\n case 'townsquare':\n return {\n heroImage: firstImpressionsImageUrls.teamCentral.heroImage,\n logoImage: firstImpressionsImageUrls.teamCentral.socialProofImage\n };\n case 'jira-product-discovery':\n return {\n heroImage: firstImpressionsImageUrls.jiraProductDiscovery.heroImage,\n logoImage:\n firstImpressionsImageUrls.jiraProductDiscovery.socialProofImage\n };\n case 'compass':\n return {\n heroImage: firstImpressionsImageUrls.compass.heroImage,\n logoImage: firstImpressionsImageUrls.compass.socialProofImage\n };\n case 'atlassian-whiteboard':\n return {\n heroImage: firstImpressionsImageUrls.fabric.heroImage,\n logoImage: firstImpressionsImageUrls.fabric.socialProofImage\n };\n case 'beacon':\n return {\n heroImage: firstImpressionsImageUrls.beacon.heroImage,\n logoImage: firstImpressionsImageUrls.beacon.socialProofImage\n };\n case 'jira':\n return {\n heroImage: firstImpressionsImageUrls.jira.heroImage,\n logoImage: firstImpressionsImageUrls.jira.socialProofImage\n };\n default:\n return {\n heroImage: firstImpressionsImageUrls.jiraSoftware.heroImage,\n logoImage: firstImpressionsImageUrls.jiraSoftware.socialProofImage\n };\n }\n};\n","import { getIsBundleBbJsw, Url } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { SideInfoOptionsType } from '../../../../../model';\nimport { useSignUpFormConfig } from '../../../../../hook';\nimport {\n Layout,\n SideInformationComponent\n} from '../../side-information-component';\nimport {\n FREE_EDITION_LABEL_KEY,\n getEditionLabels,\n getFeaturesList,\n getSideInfoHeader,\n getTrialDurationExistingSiteLabel,\n getTrialDurationNewSiteLabel\n} from '../../utility/sign-up-layout-container';\n\n/**\n * Obtain required data (aside from what's provided\n * by props), & render side-information-component component\n */\n\nexport function SideInfo({\n labels,\n userInfo,\n productKeys,\n analyticsTrack,\n migrationData,\n isMigrationSignup,\n formExistingSiteShown\n}: SideInfoOptionsType) {\n let layout: Layout = 'default';\n\n const queryParameters = Url.getUrlParams() || {};\n const developerMode = queryParameters.hasOwnProperty('developer');\n const sideInfoHeaderLabel = getSideInfoHeader({\n labels,\n productKeys,\n developerMode\n });\n // currently, only BB/JSW bundle is a devops layout\n if (getIsBundleBbJsw(productKeys)) {\n layout = 'devops';\n }\n\n if (developerMode) {\n layout = 'developer-mode';\n }\n\n const { edition: editionOverride } = useSignUpFormConfig();\n\n const sanitizedProps = productKeys.map((product) => {\n const { product: productKey, imgSource = '', edition } = product;\n const { editionLabel } = getEditionLabels({\n productKey,\n edition: editionOverride ? editionOverride : edition\n });\n const isFree = product.edition === FREE_EDITION_LABEL_KEY.toLowerCase();\n const trialDurationExistingSiteLabel =\n isFree || migrationData\n ? ''\n : getTrialDurationExistingSiteLabel({ productKey, labels });\n const trialDurationNewSiteLabel =\n isFree || migrationData\n ? ''\n : getTrialDurationNewSiteLabel({ productKey, labels });\n const isExistingFormShown = formExistingSiteShown\n ? !!(userInfo && userInfo.email)\n : formExistingSiteShown;\n\n // setting featuresListEditionLabelKey to 'free' to fix BXPSU-348.\n // forcing the edition to 'free' at this getFeaturesList() call\n // makes feature list copy the same for all editions in the \"default\"\n // sign up layout.\n const featuresList = getFeaturesList({\n labels,\n productKey,\n products: productKeys,\n featuresListEditionLabelKey: 'free',\n migrationData,\n developerMode\n });\n\n return {\n layout,\n isLoading: isMigrationSignup && !migrationData,\n imgSource,\n edition: editionLabel,\n featuresList,\n sideInfoHeader: sideInfoHeaderLabel,\n trialDurationExistingSite: trialDurationExistingSiteLabel,\n trialDurationNewSite: trialDurationNewSiteLabel,\n isExistingSiteFormShown: isExistingFormShown,\n productKeys,\n key: productKey,\n analyticsTrack,\n isMobile: false\n };\n });\n\n return ;\n}\n","import Spinner from '@atlaskit/spinner';\nimport {\n AsyncResult,\n Environment,\n getMappedOptimizelyCohorts,\n RECAPTCHA_KEY,\n Url,\n useBitbucketWorkspaces,\n Storage\n} from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport _ from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport { SignupButtons } from '.';\nimport { SignupOptionsType } from '../../../../../model';\nimport { SignupLayoutAnalytics } from '../../../../../service';\nimport { SignUpFormView } from '../../sign-up-form';\nimport {\n BITBUCKET,\n onProductsRequireSitename\n} from '../../utility/sign-up-layout-container';\n\nimport {\n SignUpFormUIStateProvider,\n useCutSignUpStepsInHalfForPaid,\n useSignUpFormUIState\n} from '../../../../../hook';\nimport { useAppSelector } from '../../../../../redux';\nimport { useSignUpFormGlobalConfiguration } from '../../../../../hook';\n\n/**\n * Obtains required data (aside from what's provided\n * by props), & render wac-signup-form component\n */\n\nexport function Signup({\n productKeys,\n userInfo,\n locale,\n migrationData,\n isMigrationSignup,\n analyticsTrack,\n setFormExistingSiteShown,\n allowEnableAutogenSiteName,\n allowSignupWithGoogle,\n enableFreeBreachTest,\n enableFieldProgression,\n fadeOnDisable,\n popOverError,\n outlineOnFocus,\n showWarningIcon,\n hideCaptchaEula,\n enableResendEmail,\n enableCarouselEndCard,\n firstImpressionsImageUrls,\n siteRenamePageUrl,\n enableSkipRecaptcha,\n hideGreeting = false\n}: SignupOptionsType) {\n if (!userInfo || (isMigrationSignup && !migrationData)) {\n return (\n \n \n \n );\n }\n\n const [bbWorkspaces, setBbWorkspaces] = useState();\n const makeRequest = !!(\n !!userInfo.hasBitbucket &&\n userInfo?.email &&\n productKeys.some(({ product }) => product.includes(BITBUCKET.toLowerCase()))\n );\n const bbWorkspacesAsync = useBitbucketWorkspaces({ makeRequest });\n const useSigninButtons =\n allowSignupWithGoogle && // prop\n !onProductsRequireSitename(productKeys) && // non-approved social signup bundle\n !_.get(userInfo, 'isLoggedIn'); // N2N only\n const { enableDefaultExpandedEmail } = useAppSelector(\n (state) => state.featureFlags\n );\n // const isUserEnrolledInChooseSignupExperimentVariants =\n // isUserInChooseSignupVariants(enableChooseSignup);\n\n const [isEmailSignupSelected, setIsEmailSignupSelected] = useState(false);\n\n useEffect(() => {\n if (!bbWorkspacesAsync || AsyncResult.isPending(bbWorkspacesAsync)) {\n return;\n }\n const bbData = bbWorkspacesAsync.catch(() => null).value;\n if (bbData) {\n analytics.trackBbSignupPerf();\n const { values, size } = bbData;\n setBbWorkspaces({ size, values });\n }\n }, [bbWorkspacesAsync]);\n\n const analytics = new SignupLayoutAnalytics({\n analyticsTrack,\n isLoggedIn: userInfo?.isLoggedIn || false\n });\n const { signInAccountUrl, switchAccountUrl, originAnalyticsAttributes } =\n analytics;\n\n const queryParameters = Url.getUrlParams() || {};\n const templateId = queryParameters.hasOwnProperty('templateId')\n ? queryParameters.templateId\n : null;\n const deferSiteNameCreation =\n !(userInfo && userInfo.isLoggedIn) ||\n (allowEnableAutogenSiteName &&\n !(userInfo && userInfo.isLoggedIn) &&\n !onProductsRequireSitename(productKeys));\n\n const { confirmationPageUrl: confirmationPagePathname } =\n useSignUpFormGlobalConfiguration();\n const isCutSignUpStepsInHalfEnabled = useCutSignUpStepsInHalfForPaid();\n let redirectToPathname = '';\n if (isCutSignUpStepsInHalfEnabled) {\n const { signupState } = useSignUpFormUIState();\n const { consent } = signupState;\n Storage.setLocalStorage('consentConfig', JSON.stringify(consent));\n\n // Manually construct redirect URL for EXPCEN-2603\n const redirectToParams = new URLSearchParams({\n products: 'jira-software.ondemand',\n bundle: 'jira-software',\n signupSource: 'jiraBundle',\n edition: 'free',\n platform: 'ccp',\n cut50: 'true'\n });\n if (templateId) redirectToParams.append('templateId', templateId);\n redirectToPathname = `${confirmationPagePathname}?${redirectToParams}`;\n }\n\n const signUpFormProps = {\n productKeys,\n templateId,\n showEmail: true,\n hideFullName: _.get(userInfo, 'isLoggedIn', false),\n userInfo,\n reCaptchaKey: RECAPTCHA_KEY,\n devMode: queryParameters.hasOwnProperty('developer'),\n marketingConsentRequired: _.get(\n locale,\n 'localeRequiresMarketingCommunicationOptIn'\n ),\n locale: _.get(locale, 'locale'),\n migrationData: migrationData || undefined,\n isStaging: Environment.isStaging(),\n signInAccountUrl,\n switchAccountUrl: switchAccountUrl,\n originAnalyticsAttributes,\n wacEnvUrl: Environment.getWacIntegrationUrl(),\n analyticsTrack,\n bitbucketWorkspaces: bbWorkspaces,\n formExistingSiteShown: (val: boolean) => setFormExistingSiteShown(val),\n deferSiteNameCreation,\n optimizelyCohorts: getMappedOptimizelyCohorts() || undefined,\n enableFreeBreachTest,\n enableFieldProgression,\n fadeOnDisable,\n popOverError,\n outlineOnFocus,\n showWarningIcon,\n hideCaptchaEula,\n enableResendEmail,\n enableCarouselEndCard,\n firstImpressionsImageUrls,\n siteRenamePageUrl,\n enableSkipRecaptcha,\n hideGreeting,\n cutSignUpStepsInHalfRedirectPathname: redirectToPathname\n };\n\n return (\n <>\n {useSigninButtons && !isCutSignUpStepsInHalfEnabled && (\n \n )}\n {(!useSigninButtons ||\n (useSigninButtons && isEmailSignupSelected) ||\n (useSigninButtons && enableDefaultExpandedEmail) ||\n (useSigninButtons && isCutSignUpStepsInHalfEnabled)) && (\n \n \n \n )}\n {useSigninButtons && isCutSignUpStepsInHalfEnabled && (\n \n )}\n \n );\n}\n\nconst SpinnerWrapper = styled.div`\n width: 100%;\n height: 100%;\n min-height: 260px;\n max-width: 400px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n","import React from 'react';\nimport { SideInfoDevopsOptionsType } from '../../../../../model';\nimport {\n Layout,\n SideInformationComponent\n} from '../../side-information-component';\nimport {\n FREE_EDITION_LABEL_KEY,\n getFeaturesList\n} from '../../utility/sign-up-layout-container';\n\nexport function SideInfoDevops({\n labels,\n productKeys,\n analyticsTrack,\n formExistingSiteShown\n}: SideInfoDevopsOptionsType) {\n const layout: Layout = 'devops';\n const edition = FREE_EDITION_LABEL_KEY.toLowerCase();\n\n const featuresList = getFeaturesList({\n labels,\n productKey: productKeys[0].product,\n products: productKeys,\n featuresListEditionLabelKey: edition,\n migrationData: undefined\n });\n\n return (\n \n );\n}\n","import React from 'react';\nimport { SideInfoDevopsOptionsType } from '../../../../../model';\nimport {\n Layout,\n SideInformationComponent\n} from '../../side-information-component';\nimport {\n FREE_EDITION_LABEL_KEY,\n getFeaturesList,\n getSocialProofImageURLs,\n getSocialProofProductLabel,\n SOCIAL_PROOF_TEXT_KEY_PREFIX\n} from '../../utility/sign-up-layout-container';\nimport { useSignUpFormConfig } from '../../../../../hook';\n\nexport function SideInfoFirstImpressions({\n labels,\n productKeys,\n analyticsTrack,\n firstImpressionsImageUrls\n}: SideInfoDevopsOptionsType) {\n const { bundle } = useSignUpFormConfig();\n const layout: Layout = 'first-impressions';\n const edition = FREE_EDITION_LABEL_KEY.toLowerCase();\n\n const productKey = productKeys[0].product;\n\n const productNameKey =\n bundle === 'jira'\n ? getSocialProofProductLabel(bundle)\n : getSocialProofProductLabel(productKey);\n\n const socialProofTextKey = SOCIAL_PROOF_TEXT_KEY_PREFIX + productNameKey;\n const socialProofText = labels[socialProofTextKey];\n\n const socialProofImageURLs =\n bundle === 'jira'\n ? getSocialProofImageURLs(bundle, firstImpressionsImageUrls)\n : getSocialProofImageURLs(productKey, firstImpressionsImageUrls);\n const featuresList = getFeaturesList({\n labels,\n productKey: productKeys[0].product,\n products: productKeys,\n featuresListEditionLabelKey: edition,\n migrationData: undefined,\n developerMode: undefined\n });\n\n return (\n \n );\n}\n","/**\n * SVG string, trimmed, base64'd, & exported\n */\n\nexport const HeaderBackgroundDevops = btoa(\n `\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n devops-no-products-02\n \n\n`.trim()\n);\n\nexport const HeaderBackgroundDevopsMobile = btoa(\n `\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n`.trim()\n);\n","import styled from '@emotion/styled';\n\n/**\n * Shared styles\n */\n\nexport const FullWidth = styled.div`\n position: relative;\n width: 100%;\n margin: 0;\n padding: 0;\n`;\n\nexport const ReducedRow = styled.div`\n position: relative;\n max-width: 1200px;\n margin: auto;\n\n .logo-atl {\n display: block;\n margin: 26px auto 26px;\n }\n`;\n","import { N0 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { HeaderDevopsOptionsType } from '../../../../../model';\nimport { SignupLayoutAnalytics } from '../../../../../service';\nimport {\n Layout,\n SideInformationComponent\n} from '../../side-information-component';\nimport {\n FREE_EDITION_LABEL_KEY,\n getSideInfoHeader\n} from '../../utility/sign-up-layout-container';\nimport { HeaderBackgroundDevops, HeaderBackgroundDevopsMobile } from '../asset';\nimport { ReducedRow } from '../styled';\n\n/**\n * Devops Header containing background,\n * listed products & Devops Features list\n */\n\nexport function HeaderDevops({\n labels,\n productKeys,\n analyticsTrack,\n formExistingSiteShown,\n userInfo\n}: HeaderDevopsOptionsType) {\n const layout: Layout = 'devops';\n const edition = FREE_EDITION_LABEL_KEY.toLowerCase();\n const analytics = new SignupLayoutAnalytics({\n isLoggedIn: false,\n analyticsTrack\n });\n const switchUserInfo = ({\n switchAccountUrl: analytics.switchAccountUrl,\n switchUserOrigin: analytics.originAnalyticsAttributes.switchUser\n } = analytics);\n return (\n \n \n \n \n \n \n \n \n );\n}\n\nconst HeaderWrapper = styled.div`\n position: relative;\n width: 100%;\n height: 320px;\n\n @media only screen and (max-width: 800px) {\n height: 164px;\n }\n`;\n\nconst InfinityLogo = styled.div`\n position: absolute;\n height: 100%;\n width: 100%;\n top: 0;\n left: 0;\n\n background-repeat: no-repeat;\n background-size: 1920px 320px;\n background-position: center;\n background-image: url(data:image/svg+xml;base64,${HeaderBackgroundDevops});\n\n @media only screen and (max-width: 800px) {\n background-size: 4000px 700px;\n background-position: -810px -342px;\n background-image: url(data:image/svg+xml;base64,${HeaderBackgroundDevopsMobile});\n }\n`;\n\nconst RowPadding = styled.div`\n padding: 0px 48px;\n @media only screen and (max-width: 800px) {\n padding: 0px 22px;\n }\n div,\n span {\n max-width: none;\n }\n\n .product-heading {\n margin: 30px auto -20px auto;\n }\n`;\n","import { AtlassianLogo } from '@atlaskit/logo';\nimport { B400, B200, N40 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\n\nimport React from 'react';\nimport { ContainerLayoutType } from '../../../../../model';\nimport { SideInfo, Signup, SocialSignup } from '../component';\nimport { ReducedRow } from '../styled';\n\n/**\n * Default Layout\n * Includes basic header, side-information, and signup\n */\n\nexport function LayoutDefault(props: ContainerLayoutType) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nconst FormAndInfoContainer = styled.div`\n width: 83%;\n margin: auto;\n display: flex;\n flex-direction: row;\n flex-flow: nowrap;\n box-shadow: 0 2px 3px rgba(130, 130, 130, 0.2);\n border: 1px solid rgba(130, 130, 130, 0.2);\n\n @media only screen and (max-width: 769px) {\n width: 100%;\n flex-flow: row wrap;\n }\n`;\n\nconst ComponentWrapper = styled.div`\n padding: 0 48px;\n margin: 48px 0;\n width: 50%;\n\n &:first-child {\n border-right: 1px solid ${N40};\n }\n\n &.side-info {\n @media only screen and (max-width: 769px) {\n order: 2;\n }\n }\n\n @media only screen and (max-width: 769px) {\n padding: 0 12px;\n margin: 16px 0;\n width: 100%;\n border-right: 0px solid transparent;\n\n form {\n max-width: initial;\n }\n }\n`;\n","import { AtlassianLogo } from '@atlaskit/logo';\nimport { B200, B400 } from '@atlaskit/theme/colors';\nimport styled from '@emotion/styled';\nimport _ from 'lodash';\nimport React from 'react';\nimport {\n useCutSignUpStepsInHalfForPaid,\n useSignUpFormConfig\n} from '../../../../../hook';\nimport {\n ContainerLayoutType,\n Product,\n ProductKeys\n} from '../../../../../model';\nimport { Labels, View as SignUpFormHeader } from '../../sign-up-form-header';\nimport { Signup } from '../component';\n\nexport function isOpsgenieIncluded(productKeys: Product[]) {\n return _.includes(\n _.map(\n productKeys,\n (productKey: Product) => productKey.product === ProductKeys.OPSGENIE\n ),\n true\n );\n}\n\nexport function LayoutStandalone(props: ContainerLayoutType) {\n const { edition } = useSignUpFormConfig();\n const formHeaderLabels = Labels.useFormHeaderLabels({\n edition: edition || '',\n labels: props.labels,\n productKeys: props.productKeys\n });\n const { userInfo, productKeys } = props;\n const opsgenieIsIncludeInProducts = isOpsgenieIncluded(productKeys);\n const isCutSignUpStepsInHalfEnabled = useCutSignUpStepsInHalfForPaid();\n\n return (\n \n \n {!!userInfo && !opsgenieIsIncludeInProducts && (\n \n )}\n \n \n \n {!!userInfo &&\n (isCutSignUpStepsInHalfEnabled ? (\n \n \n \n ) : (\n \n \n \n ))}\n \n \n );\n}\n\nexport const StandAloneLayoutContainer = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: white;\n border-radius: 5px;\n box-shadow: 0px 4px 6px rgba(9, 30, 66, 0.15);\n width: 414px;\n max-width: 100%;\n min-height: 314px;\n padding: 0 10px;\n`;\nexport const StandAloneLayoutContainerChooseSignup = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: white;\n border-radius: 5px;\n box-shadow: 0px 4px 6px rgba(9, 30, 66, 0.15);\n width: 380px !important;\n max-width: 100%;\n min-height: 314px;\n padding: 0 30px !important;\n text-align: left !important;\n`;\nexport const StandAloneLayoutInnerContainer = styled.div`\n width: 350px;\n max-width: 100%;\n margin: 32px 0;\n`;\nexport const StandAloneLayoutInnerContainerChooseSignup = styled.div`\n width: 350px;\n max-width: 100%;\n margin: 30px 0;\n`;\n\nexport const LogoWrapper = styled.div`\n width: min-content;\n margin: 0 auto;\n`;\n\nexport const LogoWrapperCutSignupInHalf = styled.div`\n width: min-content;\n margin: 0 auto;\n margin-top: 50px;\n`;\n\nexport const RightContainerContent = styled.div`\n margin: 16px 0;\n width: 100%;\n`;\n","import { N0, N200 } from '@atlaskit/theme/colors';\nimport { getIsBundleBbJsw } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { ContainerLayoutType } from '../../../../../model';\nimport { HeaderDevops, SideInfoDevops, Signup } from '../component';\nimport { FullWidth, ReducedRow } from '../styled';\n\nexport function LayoutDevops(props: ContainerLayoutType) {\n // Disable field progression for BB/JSW\n const fieldProgression = getIsBundleBbJsw(props?.productKeys) ? false : true;\n\n return (\n \n \n \n \n \n \n \n \n
    \n \n
    \n
    \n This page is protected by reCAPTCHA and the Google Privacy Policy\n and Terms of Service apply.\n
    \n
    \n
    \n
    \n
    \n );\n}\n\nconst FormWrapper = styled.div`\n z-index: 9;\n width: 100%%;\n margin: auto;\n display: flex;\n flex-direction: row;\n flex-flow: nowrap;\n padding: 0px 48px 48px 48px;\n\n @media only screen and (max-width: 800px) {\n box-sizing: border-box;\n flex-flow: row wrap;\n padding: 24px;\n }\n`;\n\nconst ComponentWrapper = styled.div`\n width: 50%;\n\n @media only screen and (max-width: 800px) {\n width: 100%;\n }\n\n &.wrapper-side-info {\n padding: 0 48px 0 0;\n margin-top: -30px;\n\n @media only screen and (max-width: 800px) {\n display: none;\n }\n }\n\n .wrapper-signup {\n padding: 48px 96px;\n margin-top: -160px;\n background-color: ${N0};\n box-shadow: 0px 8px 16px rgba(9, 30, 66, 0.25),\n 0px 0px 1px rgba(9, 30, 66, 0.31);\n border-radius: 3px;\n\n form {\n max-width: none;\n }\n\n @media only screen and (max-width: 1200px) {\n padding: 48px;\n }\n\n @media only screen and (max-width: 800px) {\n padding: 0px;\n margin-top: 0px;\n box-shadow: none;\n }\n }\n\n .recaptcha-legal {\n display: block;\n max-width: 296px;\n padding: 25px 0;\n margin: auto;\n text-align: center;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI,\n Roboto, Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n font-size: 12px;\n line-height: 18px;\n color: ${N200};\n\n @media only screen and (max-width: 800px) {\n padding: 50px 0 60px 0;\n }\n }\n`;\n","import * as colors from './colors';\nimport themed from './utils/themed';\n// Cards on a board\nexport const e100 = themed({\n light: `box-shadow: 0 1px 1px ${colors.N50A}, 0 0 1px 0 ${colors.N60A};`,\n dark: `box-shadow: 0 1px 1px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Inline dialogs\nexport const e200 = themed({\n light: `box-shadow: 0 4px 8px -2px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 4px 8px -2px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Modals\nexport const e300 = themed({\n light: `box-shadow: 0 8px 16px -4px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 8px 16px -4px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Panels\nexport const e400 = themed({\n light: `box-shadow: 0 12px 24px -6px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 12px 24px -6px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n// Flag messages (notifications)\nexport const e500 = themed({\n light: `box-shadow: 0 20px 32px -8px ${colors.N50A}, 0 0 1px ${colors.N60A};`,\n dark: `box-shadow: 0 20px 32px -8px ${colors.DN50A}, 0 0 1px ${colors.DN60A};`,\n});\n//# sourceMappingURL=elevation.js.map","import { elevation } from '@atlaskit/theme';\nimport styled from '@emotion/styled';\nimport { FirstImpressionsImageUrlsType } from '../../../../../../model';\n\nexport const PageRoot = styled.div<{\n readonly firstImpressionsImageUrls: FirstImpressionsImageUrlsType;\n}>`\n background-image: url(${(props) =>\n props.firstImpressionsImageUrls.backgroundImage});\n background-repeat: no-repeat;\n background-size: contain;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding-top: 10px;\n\n @media only screen and (max-width: 769px) {\n background-size: auto;\n }\n`;\n\nexport const PageBody = styled.div`\n flex: 1;\n max-width: 1440px;\n display: flex;\n align-items: flex-start;\n margin-top: 22px;\n margin-bottom: 60px;\n @media only screen and (max-width: 769px) {\n width: 100%;\n flex-flow: row wrap-reverse;\n justify-content: center;\n }\n`;\n\nexport const LeftContainer = styled.div`\n margin: 16px;\n width: 448px;\n img {\n margin-bottom: 10px !important;\n }\n`;\n\nexport const RightContainer = styled.div`\n ${elevation.e200}\n margin: 16px;\n padding: 32px;\n background-color: white;\n box-sizing: content-box;\n width: 350px;\n align-items: center;\n border-radius: 8px;\n position: relative;\n\n @media only screen and (max-width: 420px) {\n box-shadow: unset;\n margin: 0;\n border-radius: 0;\n }\n`;\n\nexport const ChooseSignupRightContainer = styled.div`\n ${elevation.e200}\n margin: 16px;\n padding: 30px;\n background-color: white;\n box-sizing: content-box;\n width: 320px;\n align-items: center;\n border-radius: 8px;\n position: relative;\n\n @media only screen and (max-width: 420px) {\n box-shadow: unset;\n margin: 0;\n border-radius: 0;\n }\n`;\n\nexport const RightContainerContent = styled.div`\n margin: 16px 0;\n width: 100%;\n`;\n\nexport const RightContainerContentDefaultExpandedEmail = styled.div`\n margin: 0px 0;\n width: 100%;\n`;\n\nexport const LogoWrapper = styled.div`\n width: min-content;\n margin: 0 auto;\n`;\n\nexport const Loading = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: white;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n","import { AtlassianLogo } from '@atlaskit/logo';\nimport { B400, B200 } from '@atlaskit/theme/colors';\nimport React from 'react';\nimport { ContainerLayoutType, UserDataType } from '../../../../../../model';\nimport { useSignUpFormConfig } from '../../../../../../hook';\nimport { Signup } from '../signup';\nimport {\n LogoWrapper,\n RightContainerContent,\n RightContainerContentDefaultExpandedEmail\n} from './styled';\nimport Spinner from '@atlaskit/spinner';\nimport styled from '@emotion/styled';\n\nimport { Labels, View as SignUpFormHeader } from '../../../sign-up-form-header';\nimport { useAppSelector } from '../../../../../../redux';\nimport { isUserInChooseSignupVariants } from '../../../utility';\n\nexport function FirstImpressionsForm(props: ContainerLayoutType) {\n const { edition } = useSignUpFormConfig();\n const formHeaderLabels = Labels.useFormHeaderLabels({\n edition: edition || '',\n labels: props.labels,\n productKeys: props.productKeys\n });\n const { userInfo, isMigrationSignup, migrationData } = props;\n\n const { enableDefaultExpandedEmail, enableChooseSignup } = useAppSelector(\n (state) => state.featureFlags\n );\n\n const isUserEnrolledInChooseSignupExperimentVariants =\n isUserInChooseSignupVariants(enableChooseSignup);\n\n if (!userInfo || (isMigrationSignup && !migrationData)) {\n return (\n \n \n \n );\n }\n\n return (\n <>\n \n\n {enableDefaultExpandedEmail ||\n isUserEnrolledInChooseSignupExperimentVariants ? (\n \n \n \n ) : (\n \n \n \n )}\n\n {!isUserEnrolledInChooseSignupExperimentVariants && (\n \n \n \n )}\n \n );\n}\n\nconst SpinnerWrapper = styled.div`\n width: 100%;\n height: 100%;\n min-height: 400px;\n max-width: 400px;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n","import React, { useState, useEffect, Suspense } from 'react';\nimport { ContainerLayoutType } from '../../../../../model';\nimport { useAppSelector } from '../../../../../redux';\nimport { ReCaptchaEulaChooseSignup } from '../../sign-up-form/components/styled';\nimport { WacSignupHeader } from '../../signup-header';\nimport { isUserInChooseSignupVariants } from '../../utility';\nimport { SideInfoFirstImpressions } from '../component';\nimport {\n ChooseSignupRightContainer,\n FirstImpressionsForm,\n LeftContainer,\n PageBody,\n PageRoot,\n RightContainer\n} from '../component/first-impressions';\nimport { messages } from '../../../../../messages/sign-up-form';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\n//@ts-ignore\nconst EasterEgg = React.lazy(() => import('../component/easter-egg'));\n\nexport function LayoutFirstImpressions(props: ContainerLayoutType) {\n const { deferredSiteName, featureFlags } = useAppSelector((store) => store);\n const isUserEnrolledInChooseSignupExperimentVariants =\n isUserInChooseSignupVariants(featureFlags.enableChooseSignup);\n const [hidden, setHidden] = useState(true);\n\n useEffect(() => {\n // @ts-ignore\n window.sugar = () => {\n setHidden(false);\n setTimeout(() => {\n setHidden(true);\n }, 5000);\n };\n }, []);\n\n return (\n \n \n \n {!hidden ? : null}\n \n \n \n {isUserEnrolledInChooseSignupExperimentVariants ? (\n \n \n \n ) : (\n \n \n \n )}\n \n {isUserEnrolledInChooseSignupExperimentVariants && (\n \n \n \n )}\n \n );\n}\n","import {\n hashEmail,\n MarieSchemaAnalytics,\n Environment\n} from '@atlassiansox/bxpkit-core';\nimport React, { useEffect, useState } from 'react';\nimport { isProductIncluded, useUserInfo } from '../../../../hook';\nimport {\n ContainerLayoutType,\n MigrationDataType,\n ProductKeys,\n WacSignupLayoutType\n} from '../../../../model';\nimport { getMigrationData, SignupLayoutAnalytics } from '../../../../service';\nimport {\n LayoutDefault,\n LayoutDevops,\n LayoutFirstImpressions,\n LayoutStandalone\n} from './container';\nimport {\n useAppDispatch,\n useAppSelector,\n updateDeferredSiteNameStatus\n} from '../../../../redux';\nimport { ProductKeysType } from '@atlassiansox/bxpkit-core';\n\nexport function SignUpLayoutContainer(props: WacSignupLayoutType) {\n const {\n layout,\n labels,\n analyticsTrack,\n productKeys,\n templateId,\n isMigrationSignup,\n queryParameters,\n productOverride,\n editionOverride,\n bundleOverride,\n locale,\n performanceStartTime,\n siteRenamePageUrl,\n firstImpressionsImageUrls\n } = props;\n\n const [combinedProps, setCombinedProps] = useState();\n const [migrationData, setMigrationData] = useState();\n const [formExistingSiteShown, setFormExistingSiteShown] = useState(true);\n\n const dispatch = useAppDispatch();\n\n const { enableDeferredSiteName } = useAppSelector(\n ({ featureFlags }) => featureFlags\n );\n\n // marie schema state values\n const [eventContainer, setEventContainer] = useState('wac-signup-form');\n const [suiteName, setSuiteName] = useState('');\n const [userEmail, setUserEmail] = useState('');\n const setEmailWithHash = async (email: string) => {\n const hash = await hashEmail(email);\n setUserEmail(hash);\n };\n\n let userInfo = useUserInfo();\n\n const combineProps = () => {\n setCombinedProps(\n Object.assign({}, props, {\n locale,\n userInfo,\n productKeys,\n migrationData,\n isMigrationSignup,\n formExistingSiteShown,\n setFormExistingSiteShown,\n siteRenamePageUrl: siteRenamePageUrl || '',\n firstImpressionsImageUrls: firstImpressionsImageUrls || {},\n templateId,\n edition: editionOverride\n })\n );\n };\n\n // migrationData update (if applicable)\n useEffect(() => {\n if (migrationData) {\n userInfo = Object.assign(userInfo, {\n extendedTrialOverridableSites: migrationData?.migrationSites\n });\n combineProps();\n }\n }, [migrationData]);\n\n // userInfo update\n useEffect(() => {\n combineProps();\n if (!userInfo) {\n return;\n }\n if (userInfo.email) {\n void setEmailWithHash(userInfo.email);\n }\n if (isMigrationSignup) {\n getMigrationData({\n queryParameters,\n labels,\n productKeys,\n userInfo,\n analyticsTrack\n })\n .then((data) => {\n if (data != null) {\n setMigrationData(data);\n }\n })\n .catch(() => setMigrationData({} as MigrationDataType));\n }\n\n // instantiate Analytics Singleton\n // tslint:disable-next-line: no-unused-expression\n new SignupLayoutAnalytics({\n analyticsTrack,\n performanceStartTime,\n isLoggedIn: userInfo.isLoggedIn\n });\n\n // Redirect if Beacon user is signed out\n const isBeacon = isProductIncluded(productKeys, ProductKeys.BEACON);\n\n if (!userInfo.isLoggedIn && isBeacon) {\n const redirectUrl = Environment.getIdSigninUrl();\n\n window.location.assign(redirectUrl);\n }\n }, [userInfo]);\n\n // productKeys update\n useEffect(() => {\n combineProps();\n }, [bundleOverride, productOverride]);\n\n let contextValues = {\n eventContainer,\n setEventContainer,\n suiteName,\n setSuiteName,\n userEmail,\n analyticsTrack,\n setUserEmail: setEmailWithHash,\n productKey: productKeys,\n productEdition: productKeys[0].edition,\n schemaVersion: 1,\n loginUserDetected: userInfo?.isLoggedIn ? 1 : 0,\n productsOffered: productKeys.map((prod: ProductKeysType) => prod.product),\n productPlatform: 'cloud'\n };\n\n // update contextValues when productKeys update\n useEffect(() => {\n contextValues = { ...contextValues, productKey: productKeys };\n }, [productKeys]);\n\n // update deferred site name status after productKeys set\n useEffect(() => {\n dispatch(updateDeferredSiteNameStatus());\n }, [enableDeferredSiteName]);\n useEffect(() => {\n const signupSource = new URLSearchParams(window.location.search).get(\n 'signupSource'\n );\n if (signupSource === 'bbbundle') {\n analyticsTrack.segment('wac-signup-transition-from-bitbucket-bundles', {\n eventType: 'track',\n eventContainer: 'wac-sign-up-form',\n productKey: productKeys,\n productsOffered: contextValues.productsOffered,\n loginUserDetected: contextValues.loginUserDetected,\n userEmail: contextValues.userEmail,\n suiteName: contextValues.suiteName,\n productEdition: contextValues.productEdition,\n productPlatform: contextValues.productPlatform,\n schemaVersion: contextValues.schemaVersion\n });\n }\n }, []);\n\n return (\n \n {(() => {\n if (!combinedProps) {\n return <>;\n }\n\n switch (layout) {\n case 'standalone':\n return ;\n case 'devops':\n return ;\n case 'first-impressions':\n return ;\n case 'default':\n default:\n return ;\n }\n })()}\n \n );\n}\n","import styled from '@emotion/styled';\nimport { SanitizedFormattedHtmlMessage } from '@atlassiansox/bxpkit-core';\nimport React from 'react';\nimport { injectIntl } from 'react-intl';\nimport { messages } from '../../messages';\nimport { N800, N20, N0, B400, B200 } from '@atlaskit/theme/colors';\nimport { AtlassianLogo } from '@atlaskit/logo';\nimport Button from '@atlaskit/button';\nimport { useAnalyticsEvents } from '@atlaskit/analytics-next';\n\nexport type ErrorLocaleProps = {\n readonly locale?: string;\n};\n\nfunction ErrorLocale({ locale }: ErrorLocaleProps) {\n const { createAnalyticsEvent } = useAnalyticsEvents();\n\n React.useEffect(() => {\n createAnalyticsEvent({\n event: 'blocked',\n action: 'blocked',\n actionSubject: 'signUp',\n actionSubjectId: 'signUpForm',\n product: 'marketing',\n blockType: 'geoIP',\n blockValue: locale\n }).fire();\n }, []);\n\n return (\n \n \n \n \n

    \n \n

    \n

    \n \n

    \n\n \n \n \n
    \n );\n}\n\nErrorLocale.messages = messages;\nexport default injectIntl(ErrorLocale);\n\nconst Root = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n text-align: center;\n background-color: ${N0} !important;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n color: ${N800};\n\n h2 {\n padding-top: 22px !important;\n }\n\n p {\n width: 370px;\n }\n\n button {\n padding-top: 10px;\n }\n`;\nconst LogoContainer = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n height: 200px;\n width: 300px;\n background-color: ${N20};\n`;\n","import {\n CONFLUENCE,\n JIRA_CORE,\n JSD,\n TEAM_CENTRAL,\n BEACON\n} from '../../../utility/constants';\n\nexport const getSocialProofProductLabel = (productKey: string) => {\n switch (productKey) {\n case 'jira-servicedesk.ondemand':\n return JSD;\n case 'confluence.ondemand':\n return CONFLUENCE;\n case 'jira-core.ondemand':\n return JIRA_CORE;\n case 'townsquare':\n return TEAM_CENTRAL;\n case 'beacon':\n return BEACON;\n default:\n return '';\n }\n};\n\nexport type FirstImpressionsProductImageUrls = {\n readonly heroImage: string;\n readonly socialProofImage?: string;\n};\n\nexport type FirstImpressionsImageUrls = {\n readonly backgroundImage: string;\n readonly jiraSoftware: FirstImpressionsProductImageUrls;\n readonly jiraServiceDesk: FirstImpressionsProductImageUrls;\n readonly confluence: FirstImpressionsProductImageUrls;\n readonly jiraCore: FirstImpressionsProductImageUrls;\n readonly teamCentral: FirstImpressionsProductImageUrls;\n readonly beacon: FirstImpressionsProductImageUrls;\n};\n\nexport type GetSocialProofImageURLsOptions = {\n readonly productKey: string;\n readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n};\n\nexport const getSocialProofImageURLs = ({\n productKey,\n firstImpressionsImageUrls\n}: GetSocialProofImageURLsOptions) => {\n switch (productKey) {\n case 'jira-servicedesk.ondemand':\n return {\n heroImage: firstImpressionsImageUrls.jiraServiceDesk.heroImage,\n logoImage: firstImpressionsImageUrls.jiraServiceDesk.socialProofImage\n };\n case 'confluence.ondemand':\n return {\n heroImage: firstImpressionsImageUrls.confluence.heroImage,\n logoImage: firstImpressionsImageUrls.confluence.socialProofImage\n };\n case 'jira-core.ondemand':\n return {\n heroImage: firstImpressionsImageUrls.jiraCore.heroImage,\n logoImage: firstImpressionsImageUrls.jiraCore.socialProofImage\n };\n case 'townsquare':\n return {\n heroImage: firstImpressionsImageUrls.teamCentral.heroImage,\n logoImage: firstImpressionsImageUrls.teamCentral.socialProofImage\n };\n case 'beacon':\n return {\n heroImage: firstImpressionsImageUrls.beacon.heroImage,\n logoImage: firstImpressionsImageUrls.beacon.socialProofImage\n };\n default:\n return {\n heroImage: firstImpressionsImageUrls.jiraSoftware.heroImage,\n logoImage: firstImpressionsImageUrls.jiraSoftware.socialProofImage\n };\n }\n};\n","import _ from 'lodash';\nimport React, {\n createContext,\n useContext,\n useMemo,\n PropsWithChildren\n} from 'react';\nimport { useUserInfo, useSignUpFormConfig } from '../../hook';\nimport {\n getBundleData,\n FREE_EDITION_LABEL_KEY,\n getFeaturesList,\n SOCIAL_PROOF_TEXT_KEY_PREFIX,\n BundleData,\n getPageHeaderLabels,\n PageHeaderLabels\n} from '../../utility';\nimport { getSocialProofImageURLs, getSocialProofProductLabel } from './utility';\nimport {\n ProductDataType,\n UserDataType,\n FeatureFlags,\n BundleContent\n} from '../../model';\nimport { FirstImpressionsImageUrls } from './types';\n\nexport type FirstImpressionsContextProps = {\n readonly labels: {\n [key: string]: string;\n };\n readonly productData: { [key: string]: ProductDataType };\n readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n readonly featureFlags: FeatureFlags;\n};\n\nexport const FirstImpressionsContext =\n createContext({\n labels: {},\n productData: {},\n firstImpressionsImageUrls: {\n backgroundImage: '',\n jiraSoftware: {\n heroImage: '',\n socialProofImage: ''\n },\n jiraServiceDesk: {\n heroImage: '',\n socialProofImage: ''\n },\n confluence: {\n heroImage: '',\n socialProofImage: ''\n },\n jiraCore: {\n heroImage: '',\n socialProofImage: ''\n },\n teamCentral: {\n heroImage: '',\n socialProofImage: ''\n },\n beacon: {\n heroImage: '',\n socialProofImage: ''\n }\n },\n featureFlags: {}\n });\n\nexport function FirstImpressionsProvider({\n children,\n ...props\n}: PropsWithChildren) {\n return (\n \n {children}\n \n );\n}\n\nexport type ActiveFormView =\n | null\n | 'team-central-logged-out'\n | 'team-central-ineligible'\n | 'first-impressions-loading'\n | 'first-impressions-logged-out'\n | 'first-impressions-logged-in';\n\nexport type FirstImpressionsState = {\n readonly pageHeaderLabels: PageHeaderLabels;\n readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n readonly bundleData: BundleData;\n readonly activeFormView: ActiveFormView;\n readonly userInfo?: UserDataType;\n readonly bundleContent: BundleContent;\n};\n\nfunction buildFirstImpressionsState(\n activeBundlesMap: { [key: string]: ProductDataType },\n labels: { [key: string]: string },\n firstImpressionsImageUrls: FirstImpressionsImageUrls,\n userInfo?: UserDataType,\n bundleName?: string,\n productKeys?: string,\n edition?: string\n): FirstImpressionsState {\n const bundleData = getBundleData({\n activeBundlesMap,\n bundleName,\n productKeys,\n edition\n });\n\n const pageHeaderLabels = getPageHeaderLabels({\n labels,\n bundleData\n });\n\n const bundleContent = getBundleContent({\n labels,\n bundleData,\n firstImpressionsImageUrls\n });\n\n let activeFormView: ActiveFormView = null;\n\n if (!userInfo) {\n activeFormView = 'first-impressions-loading';\n } else if (!userInfo.isLoggedIn) {\n activeFormView = 'first-impressions-logged-out';\n } else {\n activeFormView = 'first-impressions-logged-in';\n }\n\n return {\n pageHeaderLabels,\n firstImpressionsImageUrls,\n bundleData,\n activeFormView,\n userInfo,\n bundleContent\n };\n}\n\ntype GetBundleContentOptions = {\n readonly bundleData: BundleData;\n readonly labels: { [key: string]: string };\n readonly firstImpressionsImageUrls: FirstImpressionsImageUrls;\n};\n\nfunction getBundleContent({\n bundleData,\n labels,\n firstImpressionsImageUrls\n}: GetBundleContentOptions): BundleContent {\n // if default bundleContent exists in bundleData, return that\n if (bundleData.bundleContent?.default) {\n return bundleData.bundleContent.default;\n }\n\n // otherwise compute bundleContent the old way\n const primaryProductKey = bundleData.products[0].productKey;\n\n const productNameKey = getSocialProofProductLabel(primaryProductKey);\n\n const socialProofTextKey = SOCIAL_PROOF_TEXT_KEY_PREFIX + productNameKey;\n const socialProofText = labels[socialProofTextKey];\n\n const socialProofImageURLs = getSocialProofImageURLs({\n productKey: primaryProductKey,\n firstImpressionsImageUrls\n });\n\n const featureList = getFeaturesList({\n labels,\n bundleData,\n featuresListEditionLabelKey: FREE_EDITION_LABEL_KEY.toLowerCase()\n });\n\n return {\n heroImage: socialProofImageURLs.heroImage,\n headline: socialProofText,\n socialProofImage: socialProofImageURLs.logoImage,\n featureList\n };\n}\n\nexport function useFirstImpressionsState(): FirstImpressionsState {\n const { labels, productData, firstImpressionsImageUrls } = useContext(\n FirstImpressionsContext\n );\n\n const {\n bundle: bundleName,\n product: productKeys,\n edition\n } = useSignUpFormConfig();\n\n const userInfo = useUserInfo();\n\n return useMemo(\n () =>\n buildFirstImpressionsState(\n productData,\n labels,\n firstImpressionsImageUrls,\n userInfo,\n bundleName,\n productKeys,\n edition\n ),\n [\n productData,\n labels,\n firstImpressionsImageUrls,\n userInfo,\n bundleName,\n productKeys,\n edition\n ]\n );\n}\n","import * as Logos from '@atlaskit/logo';\nimport { B300, DN10A, N0 } from '@atlaskit/theme/colors';\nimport { ProductKey } from '@atlassiansox/bxpkit-core';\nimport styled from '@emotion/styled';\nimport React from 'react';\nimport { ProductType } from '../../model';\n\nexport type PageHeaderLogoProps = {\n readonly productData: ProductType;\n readonly useDarkBackgroundMode: boolean;\n};\n\nexport function PageHeaderLogo({\n productData,\n useDarkBackgroundMode\n}: PageHeaderLogoProps) {\n const textColor = useDarkBackgroundMode ? DN10A : N0;\n const iconColor = useDarkBackgroundMode ? B300 : N0;\n const Logostyle = {\n iconColor,\n size: 'xlarge',\n textColor\n };\n\n // Try and get Atlaskit Logo from product data\n if (productData.atlasKitLogoName) {\n const allLogos = { ...Logos };\n const ProductLogoClass = allLogos[productData.atlasKitLogoName];\n if (!!ProductLogoClass) {\n return ;\n }\n }\n\n // for team central, get the logo from magnolia\n if (\n productData.productKey === ProductKey.TEAM_CENTRAL &&\n !!productData.productLogoWhiteUrl\n ) {\n return (\n \n );\n }\n\n switch (productData.productKey) {\n case 'com.atlassian.bitbucket':\n return (\n \n );\n case 'confluence.ondemand':\n return (\n \n );\n case 'jira-core.ondemand':\n return (\n \n );\n case 'jira-workmanagement.ondemand':\n return (\n \n );\n case 'jira-servicedesk.ondemand':\n return (\n \n );\n case 'jira-software.ondemand':\n return (\n \n );\n case 'opsgenie':\n return ;\n case 'statuspage':\n return (\n \n );\n case 'trello':\n return ;\n default:\n return productData && productData.productName ? (\n

    {productData.productName}

    \n ) : (\n \n );\n }\n}\n\nconst CMSLogo = styled.img`\n height: 48px;\n`;\n","import styled from '@emotion/styled';\nimport React from 'react';\nimport { messages } from '../../messages';\n\ntype PageHeaderSubtitle = {\n readonly edition: string;\n readonly useDarkBackgroundMode: boolean;\n};\n\nexport function PageHeaderSubtitle({\n edition,\n useDarkBackgroundMode\n}: PageHeaderSubtitle) {\n switch (edition) {\n case 'standard':\n return (\n \n {messages.cloudStandard.defaultMessage}\n \n );\n case 'premium':\n return (\n \n {messages.cloudPremium.defaultMessage}\n \n );\n default:\n return (\n \n {messages.cloudFree.defaultMessage}\n \n );\n }\n}\n\nconst PageHeaderSubtitleText = styled.h4<{ useDarkBackgroundMode: boolean }>`\n margin: 0px;\n font-size: 20px;\n font-weight: 400;\n color: ${(props) =>\n props.useDarkBackgroundMode ? 'rgba(13, 20, 36, 0.97)' : 'white'};\n`;\n","import AddIcon from '@atlaskit/icon/glyph/add';\nimport styled from '@emotion/styled';\nimport { map } from 'lodash';\nimport React from 'react';\nimport { BundleData } from '../../utility';\nimport { PageHeaderLogo } from './page-header-logo';\nimport { PageHeaderSubtitle } from './page-header-subtitle';\n\ntype PageHeaderProps = {\n readonly bundleData: BundleData;\n readonly useDarkBackgroundMode: boolean;\n};\n\nexport function PageHeader({\n bundleData,\n useDarkBackgroundMode\n}: PageHeaderProps) {\n const headerBuffer: JSX.Element[] = [];\n map(bundleData.products, (productData) =>\n headerBuffer.push(PageHeaderLogo({ productData, useDarkBackgroundMode }))\n );\n if (headerBuffer.length > 1) {\n headerBuffer.splice(\n 1,\n 0,\n \n \n \n );\n return (\n \n {headerBuffer}\n \n \n );\n }\n return (\n \n {headerBuffer}\n \n \n );\n}\n\nconst Container = styled.div`\n margin: 10px 10px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n font-family: Charlie Text, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,\n Noto Sans, Ubuntu, Droid Sans, Helvetica Neue, sans-serif;\n`;\n\nconst PlusIcon = styled.div`\n margin-left: 15px;\n margin-right: 15px;\n margin-top: 15px;\n display: inline-block;\n position: relative;\n bottom: 10px;\n`;\nconst HeaderContainer = styled.div`\n display: flex;\n align-items: center;\n svg,\n img {\n margin-bottom: 0px !important;\n }\n`;\nconst HeaderContainerWithPlus = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n margin-bottom: 0px !important;\n }\n`;\n","var isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tObject.keys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tObject.keys(source).forEach(function(key) {\n\t\tif (!options.isMergeableObject(source[key]) || !target[key]) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = deepmerge(target[key], source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nexport default deepmerge_1;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nexport default isObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nexport default isFunction;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import coreJsData from './_coreJsData.js';\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nexport default isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nexport default toSource;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nexport default getNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nexport default getValue;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nexport default isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nexport default isArray;\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nexport default isBuffer;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nexport default stubFalse;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nexport default isLength;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nexport default baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nexport default baseUnary;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nexport default isTypedArray;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nexport default isPrototype;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeys;\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nexport default isArrayLike;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import root from './_root.js';\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nexport default getTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import arrayMap from './_arrayMap.js';\nimport copyArray from './_copyArray.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\nimport stringToPath from './_stringToPath.js';\nimport toKey from './_toKey.js';\nimport toString from './toString.js';\n\n/**\n * Converts `value` to a property path array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Util\n * @param {*} value The value to convert.\n * @returns {Array} Returns the new property path array.\n * @example\n *\n * _.toPath('a.b.c');\n * // => ['a', 'b', 'c']\n *\n * _.toPath('a[0].b.c');\n * // => ['a', '0', 'b', 'c']\n */\nfunction toPath(value) {\n if (isArray(value)) {\n return arrayMap(value, toKey);\n }\n return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\n}\n\nexport default toPath;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import { Children, createContext, useContext, useRef, useEffect, useReducer, useCallback, useMemo, useImperativeHandle, createElement, useLayoutEffect, forwardRef, Component } from 'react';\nimport isEqual from 'react-fast-compare';\nimport deepmerge from 'deepmerge';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport clone from 'lodash-es/clone';\nimport toPath from 'lodash-es/toPath';\nimport invariant from 'tiny-warning';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport cloneDeep from 'lodash-es/cloneDeep';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/** @private is the value an empty array? */\n\nvar isEmptyArray = function isEmptyArray(value) {\n return Array.isArray(value) && value.length === 0;\n};\n/** @private is the given object a Function? */\n\nvar isFunction = function isFunction(obj) {\n return typeof obj === 'function';\n};\n/** @private is the given object an Object? */\n\nvar isObject = function isObject(obj) {\n return obj !== null && typeof obj === 'object';\n};\n/** @private is the given object an integer? */\n\nvar isInteger = function isInteger(obj) {\n return String(Math.floor(Number(obj))) === obj;\n};\n/** @private is the given object a string? */\n\nvar isString = function isString(obj) {\n return Object.prototype.toString.call(obj) === '[object String]';\n};\n/** @private is the given object a NaN? */\n// eslint-disable-next-line no-self-compare\n\nvar isNaN$1 = function isNaN(obj) {\n return obj !== obj;\n};\n/** @private Does a React component have exactly 0 children? */\n\nvar isEmptyChildren = function isEmptyChildren(children) {\n return Children.count(children) === 0;\n};\n/** @private is the given object/value a promise? */\n\nvar isPromise = function isPromise(value) {\n return isObject(value) && isFunction(value.then);\n};\n/** @private is the given object/value a type of synthetic event? */\n\nvar isInputEvent = function isInputEvent(value) {\n return value && isObject(value) && isObject(value.target);\n};\n/**\r\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\r\n * not safe to call document.activeElement if there is nothing focused.\r\n *\r\n * The activeElement will be null only if the document or document body is not\r\n * yet defined.\r\n *\r\n * @param {?Document} doc Defaults to current document.\r\n * @return {Element | null}\r\n * @see https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/dom/getActiveElement.js\r\n */\n\nfunction getActiveElement(doc) {\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n\n if (typeof doc === 'undefined') {\n return null;\n }\n\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n/**\r\n * Deeply get a value from an object via its path.\r\n */\n\nfunction getIn(obj, key, def, p) {\n if (p === void 0) {\n p = 0;\n }\n\n var path = toPath(key);\n\n while (obj && p < path.length) {\n obj = obj[path[p++]];\n }\n\n return obj === undefined ? def : obj;\n}\n/**\r\n * Deeply set a value from in object via it's path. If the value at `path`\r\n * has changed, return a shallow copy of obj with `value` set at `path`.\r\n * If `value` has not changed, return the original `obj`.\r\n *\r\n * Existing objects / arrays along `path` are also shallow copied. Sibling\r\n * objects along path retain the same internal js reference. Since new\r\n * objects / arrays are only created along `path`, we can test if anything\r\n * changed in a nested structure by comparing the object's reference in\r\n * the old and new object, similar to how russian doll cache invalidation\r\n * works.\r\n *\r\n * In earlier versions of this function, which used cloneDeep, there were\r\n * issues whereby settings a nested value would mutate the parent\r\n * instead of creating a new object. `clone` avoids that bug making a\r\n * shallow copy of the objects along the update path\r\n * so no object is mutated in place.\r\n *\r\n * Before changing this function, please read through the following\r\n * discussions.\r\n *\r\n * @see https://github.com/developit/linkstate\r\n * @see https://github.com/jaredpalmer/formik/pull/123\r\n */\n\nfunction setIn(obj, path, value) {\n var res = clone(obj); // this keeps inheritance when obj is a class\n\n var resVal = res;\n var i = 0;\n var pathArray = toPath(path);\n\n for (; i < pathArray.length - 1; i++) {\n var currentPath = pathArray[i];\n var currentObj = getIn(obj, pathArray.slice(0, i + 1));\n\n if (currentObj && (isObject(currentObj) || Array.isArray(currentObj))) {\n resVal = resVal[currentPath] = clone(currentObj);\n } else {\n var nextPath = pathArray[i + 1];\n resVal = resVal[currentPath] = isInteger(nextPath) && Number(nextPath) >= 0 ? [] : {};\n }\n } // Return original object if new value is the same as current\n\n\n if ((i === 0 ? obj : resVal)[pathArray[i]] === value) {\n return obj;\n }\n\n if (value === undefined) {\n delete resVal[pathArray[i]];\n } else {\n resVal[pathArray[i]] = value;\n } // If the path array has a single element, the loop did not run.\n // Deleting on `resVal` had no effect in this scenario, so we delete on the result instead.\n\n\n if (i === 0 && value === undefined) {\n delete res[pathArray[i]];\n }\n\n return res;\n}\n/**\r\n * Recursively a set the same value for all keys and arrays nested object, cloning\r\n * @param object\r\n * @param value\r\n * @param visited\r\n * @param response\r\n */\n\nfunction setNestedObjectValues(object, value, visited, response) {\n if (visited === void 0) {\n visited = new WeakMap();\n }\n\n if (response === void 0) {\n response = {};\n }\n\n for (var _i = 0, _Object$keys = Object.keys(object); _i < _Object$keys.length; _i++) {\n var k = _Object$keys[_i];\n var val = object[k];\n\n if (isObject(val)) {\n if (!visited.get(val)) {\n visited.set(val, true); // In order to keep array values consistent for both dot path and\n // bracket syntax, we need to check if this is an array so that\n // this will output { friends: [true] } and not { friends: { \"0\": true } }\n\n response[k] = Array.isArray(val) ? [] : {};\n setNestedObjectValues(val, value, visited, response[k]);\n }\n } else {\n response[k] = value;\n }\n }\n\n return response;\n}\n\nvar FormikContext = /*#__PURE__*/createContext(undefined);\nFormikContext.displayName = 'FormikContext';\nvar FormikProvider = FormikContext.Provider;\nvar FormikConsumer = FormikContext.Consumer;\nfunction useFormikContext() {\n var formik = useContext(FormikContext);\n !!!formik ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Formik context is undefined, please verify you are calling useFormikContext() as child of a component.\") : invariant(false) : void 0;\n return formik;\n}\n\nfunction formikReducer(state, msg) {\n switch (msg.type) {\n case 'SET_VALUES':\n return _extends({}, state, {\n values: msg.payload\n });\n\n case 'SET_TOUCHED':\n return _extends({}, state, {\n touched: msg.payload\n });\n\n case 'SET_ERRORS':\n if (isEqual(state.errors, msg.payload)) {\n return state;\n }\n\n return _extends({}, state, {\n errors: msg.payload\n });\n\n case 'SET_STATUS':\n return _extends({}, state, {\n status: msg.payload\n });\n\n case 'SET_ISSUBMITTING':\n return _extends({}, state, {\n isSubmitting: msg.payload\n });\n\n case 'SET_ISVALIDATING':\n return _extends({}, state, {\n isValidating: msg.payload\n });\n\n case 'SET_FIELD_VALUE':\n return _extends({}, state, {\n values: setIn(state.values, msg.payload.field, msg.payload.value)\n });\n\n case 'SET_FIELD_TOUCHED':\n return _extends({}, state, {\n touched: setIn(state.touched, msg.payload.field, msg.payload.value)\n });\n\n case 'SET_FIELD_ERROR':\n return _extends({}, state, {\n errors: setIn(state.errors, msg.payload.field, msg.payload.value)\n });\n\n case 'RESET_FORM':\n return _extends({}, state, msg.payload);\n\n case 'SET_FORMIK_STATE':\n return msg.payload(state);\n\n case 'SUBMIT_ATTEMPT':\n return _extends({}, state, {\n touched: setNestedObjectValues(state.values, true),\n isSubmitting: true,\n submitCount: state.submitCount + 1\n });\n\n case 'SUBMIT_FAILURE':\n return _extends({}, state, {\n isSubmitting: false\n });\n\n case 'SUBMIT_SUCCESS':\n return _extends({}, state, {\n isSubmitting: false\n });\n\n default:\n return state;\n }\n} // Initial empty states // objects\n\n\nvar emptyErrors = {};\nvar emptyTouched = {};\nfunction useFormik(_ref) {\n var _ref$validateOnChange = _ref.validateOnChange,\n validateOnChange = _ref$validateOnChange === void 0 ? true : _ref$validateOnChange,\n _ref$validateOnBlur = _ref.validateOnBlur,\n validateOnBlur = _ref$validateOnBlur === void 0 ? true : _ref$validateOnBlur,\n _ref$validateOnMount = _ref.validateOnMount,\n validateOnMount = _ref$validateOnMount === void 0 ? false : _ref$validateOnMount,\n isInitialValid = _ref.isInitialValid,\n _ref$enableReinitiali = _ref.enableReinitialize,\n enableReinitialize = _ref$enableReinitiali === void 0 ? false : _ref$enableReinitiali,\n onSubmit = _ref.onSubmit,\n rest = _objectWithoutPropertiesLoose(_ref, [\"validateOnChange\", \"validateOnBlur\", \"validateOnMount\", \"isInitialValid\", \"enableReinitialize\", \"onSubmit\"]);\n\n var props = _extends({\n validateOnChange: validateOnChange,\n validateOnBlur: validateOnBlur,\n validateOnMount: validateOnMount,\n onSubmit: onSubmit\n }, rest);\n\n var initialValues = useRef(props.initialValues);\n var initialErrors = useRef(props.initialErrors || emptyErrors);\n var initialTouched = useRef(props.initialTouched || emptyTouched);\n var initialStatus = useRef(props.initialStatus);\n var isMounted = useRef(false);\n var fieldRegistry = useRef({});\n\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n useEffect(function () {\n !(typeof isInitialValid === 'undefined') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isInitialValid has been deprecated and will be removed in future versions of Formik. Please use initialErrors or validateOnMount instead.') : invariant(false) : void 0; // eslint-disable-next-line\n }, []);\n }\n\n useEffect(function () {\n isMounted.current = true;\n return function () {\n isMounted.current = false;\n };\n }, []);\n\n var _React$useReducer = useReducer(formikReducer, {\n values: props.initialValues,\n errors: props.initialErrors || emptyErrors,\n touched: props.initialTouched || emptyTouched,\n status: props.initialStatus,\n isSubmitting: false,\n isValidating: false,\n submitCount: 0\n }),\n state = _React$useReducer[0],\n dispatch = _React$useReducer[1];\n\n var runValidateHandler = useCallback(function (values, field) {\n return new Promise(function (resolve, reject) {\n var maybePromisedErrors = props.validate(values, field);\n\n if (maybePromisedErrors == null) {\n // use loose null check here on purpose\n resolve(emptyErrors);\n } else if (isPromise(maybePromisedErrors)) {\n maybePromisedErrors.then(function (errors) {\n resolve(errors || emptyErrors);\n }, function (actualException) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"Warning: An unhandled error was caught during validation in \", actualException);\n }\n\n reject(actualException);\n });\n } else {\n resolve(maybePromisedErrors);\n }\n });\n }, [props.validate]);\n /**\r\n * Run validation against a Yup schema and optionally run a function if successful\r\n */\n\n var runValidationSchema = useCallback(function (values, field) {\n var validationSchema = props.validationSchema;\n var schema = isFunction(validationSchema) ? validationSchema(field) : validationSchema;\n var promise = field && schema.validateAt ? schema.validateAt(field, values) : validateYupSchema(values, schema);\n return new Promise(function (resolve, reject) {\n promise.then(function () {\n resolve(emptyErrors);\n }, function (err) {\n // Yup will throw a validation error if validation fails. We catch those and\n // resolve them into Formik errors. We can sniff if something is a Yup error\n // by checking error.name.\n // @see https://github.com/jquense/yup#validationerrorerrors-string--arraystring-value-any-path-string\n if (err.name === 'ValidationError') {\n resolve(yupToFormErrors(err));\n } else {\n // We throw any other errors\n if (process.env.NODE_ENV !== 'production') {\n console.warn(\"Warning: An unhandled error was caught during validation in \", err);\n }\n\n reject(err);\n }\n });\n });\n }, [props.validationSchema]);\n var runSingleFieldLevelValidation = useCallback(function (field, value) {\n return new Promise(function (resolve) {\n return resolve(fieldRegistry.current[field].validate(value));\n });\n }, []);\n var runFieldLevelValidations = useCallback(function (values) {\n var fieldKeysWithValidation = Object.keys(fieldRegistry.current).filter(function (f) {\n return isFunction(fieldRegistry.current[f].validate);\n }); // Construct an array with all of the field validation functions\n\n var fieldValidations = fieldKeysWithValidation.length > 0 ? fieldKeysWithValidation.map(function (f) {\n return runSingleFieldLevelValidation(f, getIn(values, f));\n }) : [Promise.resolve('DO_NOT_DELETE_YOU_WILL_BE_FIRED')]; // use special case ;)\n\n return Promise.all(fieldValidations).then(function (fieldErrorsList) {\n return fieldErrorsList.reduce(function (prev, curr, index) {\n if (curr === 'DO_NOT_DELETE_YOU_WILL_BE_FIRED') {\n return prev;\n }\n\n if (curr) {\n prev = setIn(prev, fieldKeysWithValidation[index], curr);\n }\n\n return prev;\n }, {});\n });\n }, [runSingleFieldLevelValidation]); // Run all validations and return the result\n\n var runAllValidations = useCallback(function (values) {\n return Promise.all([runFieldLevelValidations(values), props.validationSchema ? runValidationSchema(values) : {}, props.validate ? runValidateHandler(values) : {}]).then(function (_ref2) {\n var fieldErrors = _ref2[0],\n schemaErrors = _ref2[1],\n validateErrors = _ref2[2];\n var combinedErrors = deepmerge.all([fieldErrors, schemaErrors, validateErrors], {\n arrayMerge: arrayMerge\n });\n return combinedErrors;\n });\n }, [props.validate, props.validationSchema, runFieldLevelValidations, runValidateHandler, runValidationSchema]); // Run all validations methods and update state accordingly\n\n var validateFormWithHighPriority = useEventCallback(function (values) {\n if (values === void 0) {\n values = state.values;\n }\n\n dispatch({\n type: 'SET_ISVALIDATING',\n payload: true\n });\n return runAllValidations(values).then(function (combinedErrors) {\n if (!!isMounted.current) {\n dispatch({\n type: 'SET_ISVALIDATING',\n payload: false\n });\n dispatch({\n type: 'SET_ERRORS',\n payload: combinedErrors\n });\n }\n\n return combinedErrors;\n });\n });\n useEffect(function () {\n if (validateOnMount && isMounted.current === true && isEqual(initialValues.current, props.initialValues)) {\n validateFormWithHighPriority(initialValues.current);\n }\n }, [validateOnMount, validateFormWithHighPriority]);\n var resetForm = useCallback(function (nextState) {\n var values = nextState && nextState.values ? nextState.values : initialValues.current;\n var errors = nextState && nextState.errors ? nextState.errors : initialErrors.current ? initialErrors.current : props.initialErrors || {};\n var touched = nextState && nextState.touched ? nextState.touched : initialTouched.current ? initialTouched.current : props.initialTouched || {};\n var status = nextState && nextState.status ? nextState.status : initialStatus.current ? initialStatus.current : props.initialStatus;\n initialValues.current = values;\n initialErrors.current = errors;\n initialTouched.current = touched;\n initialStatus.current = status;\n\n var dispatchFn = function dispatchFn() {\n dispatch({\n type: 'RESET_FORM',\n payload: {\n isSubmitting: !!nextState && !!nextState.isSubmitting,\n errors: errors,\n touched: touched,\n status: status,\n values: values,\n isValidating: !!nextState && !!nextState.isValidating,\n submitCount: !!nextState && !!nextState.submitCount && typeof nextState.submitCount === 'number' ? nextState.submitCount : 0\n }\n });\n };\n\n if (props.onReset) {\n var maybePromisedOnReset = props.onReset(state.values, imperativeMethods);\n\n if (isPromise(maybePromisedOnReset)) {\n maybePromisedOnReset.then(dispatchFn);\n } else {\n dispatchFn();\n }\n } else {\n dispatchFn();\n }\n }, [props.initialErrors, props.initialStatus, props.initialTouched]);\n useEffect(function () {\n if (isMounted.current === true && !isEqual(initialValues.current, props.initialValues)) {\n if (enableReinitialize) {\n initialValues.current = props.initialValues;\n resetForm();\n }\n\n if (validateOnMount) {\n validateFormWithHighPriority(initialValues.current);\n }\n }\n }, [enableReinitialize, props.initialValues, resetForm, validateOnMount, validateFormWithHighPriority]);\n useEffect(function () {\n if (enableReinitialize && isMounted.current === true && !isEqual(initialErrors.current, props.initialErrors)) {\n initialErrors.current = props.initialErrors || emptyErrors;\n dispatch({\n type: 'SET_ERRORS',\n payload: props.initialErrors || emptyErrors\n });\n }\n }, [enableReinitialize, props.initialErrors]);\n useEffect(function () {\n if (enableReinitialize && isMounted.current === true && !isEqual(initialTouched.current, props.initialTouched)) {\n initialTouched.current = props.initialTouched || emptyTouched;\n dispatch({\n type: 'SET_TOUCHED',\n payload: props.initialTouched || emptyTouched\n });\n }\n }, [enableReinitialize, props.initialTouched]);\n useEffect(function () {\n if (enableReinitialize && isMounted.current === true && !isEqual(initialStatus.current, props.initialStatus)) {\n initialStatus.current = props.initialStatus;\n dispatch({\n type: 'SET_STATUS',\n payload: props.initialStatus\n });\n }\n }, [enableReinitialize, props.initialStatus, props.initialTouched]);\n var validateField = useEventCallback(function (name) {\n // This will efficiently validate a single field by avoiding state\n // changes if the validation function is synchronous. It's different from\n // what is called when using validateForm.\n if (fieldRegistry.current[name] && isFunction(fieldRegistry.current[name].validate)) {\n var value = getIn(state.values, name);\n var maybePromise = fieldRegistry.current[name].validate(value);\n\n if (isPromise(maybePromise)) {\n // Only flip isValidating if the function is async.\n dispatch({\n type: 'SET_ISVALIDATING',\n payload: true\n });\n return maybePromise.then(function (x) {\n return x;\n }).then(function (error) {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: {\n field: name,\n value: error\n }\n });\n dispatch({\n type: 'SET_ISVALIDATING',\n payload: false\n });\n });\n } else {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: {\n field: name,\n value: maybePromise\n }\n });\n return Promise.resolve(maybePromise);\n }\n } else if (props.validationSchema) {\n dispatch({\n type: 'SET_ISVALIDATING',\n payload: true\n });\n return runValidationSchema(state.values, name).then(function (x) {\n return x;\n }).then(function (error) {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: {\n field: name,\n value: error[name]\n }\n });\n dispatch({\n type: 'SET_ISVALIDATING',\n payload: false\n });\n });\n }\n\n return Promise.resolve();\n });\n var registerField = useCallback(function (name, _ref3) {\n var validate = _ref3.validate;\n fieldRegistry.current[name] = {\n validate: validate\n };\n }, []);\n var unregisterField = useCallback(function (name) {\n delete fieldRegistry.current[name];\n }, []);\n var setTouched = useEventCallback(function (touched, shouldValidate) {\n dispatch({\n type: 'SET_TOUCHED',\n payload: touched\n });\n var willValidate = shouldValidate === undefined ? validateOnBlur : shouldValidate;\n return willValidate ? validateFormWithHighPriority(state.values) : Promise.resolve();\n });\n var setErrors = useCallback(function (errors) {\n dispatch({\n type: 'SET_ERRORS',\n payload: errors\n });\n }, []);\n var setValues = useEventCallback(function (values, shouldValidate) {\n var resolvedValues = isFunction(values) ? values(state.values) : values;\n dispatch({\n type: 'SET_VALUES',\n payload: resolvedValues\n });\n var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate;\n return willValidate ? validateFormWithHighPriority(resolvedValues) : Promise.resolve();\n });\n var setFieldError = useCallback(function (field, value) {\n dispatch({\n type: 'SET_FIELD_ERROR',\n payload: {\n field: field,\n value: value\n }\n });\n }, []);\n var setFieldValue = useEventCallback(function (field, value, shouldValidate) {\n dispatch({\n type: 'SET_FIELD_VALUE',\n payload: {\n field: field,\n value: value\n }\n });\n var willValidate = shouldValidate === undefined ? validateOnChange : shouldValidate;\n return willValidate ? validateFormWithHighPriority(setIn(state.values, field, value)) : Promise.resolve();\n });\n var executeChange = useCallback(function (eventOrTextValue, maybePath) {\n // By default, assume that the first argument is a string. This allows us to use\n // handleChange with React Native and React Native Web's onChangeText prop which\n // provides just the value of the input.\n var field = maybePath;\n var val = eventOrTextValue;\n var parsed; // If the first argument is not a string though, it has to be a synthetic React Event (or a fake one),\n // so we handle like we would a normal HTML change event.\n\n if (!isString(eventOrTextValue)) {\n // If we can, persist the event\n // @see https://reactjs.org/docs/events.html#event-pooling\n if (eventOrTextValue.persist) {\n eventOrTextValue.persist();\n }\n\n var target = eventOrTextValue.target ? eventOrTextValue.target : eventOrTextValue.currentTarget;\n var type = target.type,\n name = target.name,\n id = target.id,\n value = target.value,\n checked = target.checked,\n outerHTML = target.outerHTML,\n options = target.options,\n multiple = target.multiple;\n field = maybePath ? maybePath : name ? name : id;\n\n if (!field && process.env.NODE_ENV !== \"production\") {\n warnAboutMissingIdentifier({\n htmlContent: outerHTML,\n documentationAnchorLink: 'handlechange-e-reactchangeeventany--void',\n handlerName: 'handleChange'\n });\n }\n\n val = /number|range/.test(type) ? (parsed = parseFloat(value), isNaN(parsed) ? '' : parsed) : /checkbox/.test(type) // checkboxes\n ? getValueForCheckbox(getIn(state.values, field), checked, value) : options && multiple //