{"version":3,"file":"chunks/705a6822a217d5.js","mappings":"o/BAQA,IAAMA,EAAuC,CACzCC,2BAAgC,2BAChCC,OAAgC,SAChCC,YAAgC,cAChCC,UAAgC,YAChCC,mBAAgC,qBAChCC,mBAAgC,qBAChCC,oBAAgC,oBAChCC,QAAgC,UAChCC,UAAgC,YAChCC,qBAAgC,WAChCC,IAAgC,+BAChCC,GAAgC,KAChCC,OAAgC,SAChCC,uBAAgC,uBAChCC,MAAgC,QAChCC,MAAgC,QAChCC,QAAgC,UAChCC,MAAgC,SAK9BC,E,+VAAoDC,CAAA,GACnDpB,GAoBDqB,EAAU,CACZ,YACA,cACA,SACA,UACA,QACA,QACA,cACA,SACA,cACA,SACA,iBACA,SACA,gBACA,eAGEC,EAAK,SAAAC,GAAI,OAAI,SAAAC,GAAK,MAAK,CACzBC,OAAQF,IAASC,EACjBE,WAAY,YAAFC,OAAcJ,EAAI,KAC/B,CAAC,EAOIK,EAAY,SAAAC,GAAS,OAAI,SAAAL,GAAK,MAAM,CACtCC,OAAQI,EAAUC,KAAI,SAACC,GAAC,OAAKA,EAAEC,aAAa,IAAEC,SAAST,EAAMU,OAAOF,eACpEN,WAAY,aAAFC,OAAeH,EAAK,iCAAAG,OAAgCE,EAAS,KAC1E,CAAC,EAEIM,EAAcC,EAAA,GACf,mBAAiBA,EAAAC,EAAA,GACbrC,EAAMC,2BAA6BqB,EAAG,6BAA2Bc,EAAAC,EACjErC,EAAME,OAA6B0B,EAAU,CAAC,sBAAuB,YAAUQ,EAAAC,EAC/ErC,EAAMG,YAA6BmB,EAAG,gBAAcc,EAAAC,EACpDrC,EAAMI,UAA6BkB,EAAG,cAAYc,EAAAC,EAClDrC,EAAMK,mBAA6BiB,EAAG,uBAAqBc,EAAAC,EAC3DrC,EAAMM,mBAA6BgB,EAAG,uBAAqBc,EAAAC,EAC3DrC,EAAMO,oBAA6Be,EAAG,sBAAoBc,EAAAC,EAC1DrC,EAAMQ,QAA6BoB,EAAU,CAAC,gBAAiB,MAAO,aAAWQ,EAAAC,EACjFrC,EAAMS,UAA6Ba,EAAG,cAAYc,EAAAC,EAClDrC,EAAMU,qBAA6BY,EAAG,aAAWc,EAAAC,EACjDrC,EAAMW,IAA6BiB,EAAU,CAAC,+BAAgC,SAAOQ,EAAAC,EACrFrC,EAAMY,GAA6BU,EAAG,OAAKc,EAAAC,EAC3CrC,EAAMa,OAA6BS,EAAG,WAASc,EAAAC,EAC/CrC,EAAMc,uBAA6BQ,EAAG,yBAAuBc,EAAAC,EAC7DrC,EAAMe,MAA6BO,EAAG,UAAQc,EAAAC,EAC9CrC,EAAMgB,MAA6BM,EAAG,UAAQc,EAAAC,EAC9CrC,EAAMiB,QAA6BK,EAAG,YAAUe,I,utEC5FzD,IAAMC,EAAiB,SAACC,GAAa,OAAKC,OAAOC,MAAMC,KAAKH,EAAII,UAAUC,KAAK,KAAK,EAEvEC,EAAkB,SAACC,EAAmBC,EAAuBC,GACxEC,OAAOC,QAAQC,aACb,KACAC,SAASC,MACT,SAAA1B,OAASW,EAAeQ,IAAK,aAAAnB,OACdW,EAAeS,IAAW,WAAApB,OAC5BqB,GAEjB,EAEaM,EAAgC,SAAHC,GAapC,IAZJC,EAASD,EAATC,UACAC,EAAgBF,EAAhBE,iBACAX,EAAIS,EAAJT,KACUY,EAAuBH,EAAjCR,SACAY,EAAYJ,EAAZI,aASIC,EAAyD,CAAC,EAY9D,GATGd,EAAKe,KACNf,EAAKgB,SAAQ,SAACC,GACZH,EAAyBG,GAAWN,EAAiBM,IAAY,EACnE,IAEAH,EAAwBxC,EAAA,GAAQqC,GAI/BC,EAAwBG,KAAM,CAC/B,IAAMG,EAA+BvB,MAAMC,KAAKgB,GAChD,IAAI,IAAIZ,KAAQc,EACdA,EAAyBd,GAAQc,EAAyBd,GAAMmB,QAC9D,SAACC,GAAS,OAAKF,EAA6BG,MAAK,SAACC,GAAgB,IAAAC,EAAA,OAA8C,QAA9CA,EAAKV,EAAaO,GAAWI,yBAAiB,IAAAD,OAAA,EAAzCA,EAA2CpC,SAASmC,EAAiB,GAAC,GAGnJ,CAGA,GAAGZ,EACD,IAAI,IAAIV,KAAQc,EACdA,EAAyBd,GAAQc,EAAyBd,GAAMmB,QAC9D,SAACC,GAAS,IAAAK,EAAA,OAAuC,QAAvCA,EAAKZ,EAAaO,GAAWM,kBAAU,IAAAD,OAAA,EAAlCA,EAAoCtC,SAASuB,EAAUxB,cAAc,IAK1F,IAAMyC,EAAiB,IAAIC,IAO3B,OANAC,OAAOhC,OAAOiB,GAA0BE,SAAQ,SAACc,GAC/CA,EAAId,SAAQ,SAACe,GACXJ,EAAeK,IAAID,EACrB,GACF,IAEO,CACLE,iBAAkBN,EAAeZ,KACjCD,yBAAAA,EAEJ,EA8CaoB,EAAe,SAACC,EAAsBC,GAAyB,OAC1ED,EAAWE,QACT,SAACC,EAAWC,GAAS,OAAAjE,EAAAA,EAAA,GAChBgE,GAAS,GAAAhD,EAAA,GACXiD,EAAYH,EAAaI,IAAID,IAAU,GAE1C,CAAC,EACF,EAKUE,EAAgB,SAAChD,EAAkBiD,GAAiB,OAC/DA,GAAaA,EAAUC,MAAM,KAAK3B,SAAQ,SAAAtC,GAAK,OAAIe,EAAIuC,IAAItD,EAAM,GAAC,EAG9DkE,EAAsB,IAAIC,IAChCtE,EAAQyC,SAAQ,SAAA8B,GAAM,OAAIF,EAAoBnD,IAAIqD,EAAQ,EAAE,IAE5D,IAAMC,EAAmB,SAACR,GAAiB,OACzCK,EAAoBnD,IAClB8C,GACCK,EAAoBI,IAAIT,IAAc,GAAK,EAC7C,EAiBGU,EAAiB,IAAIJ,IAGdK,EAA0B,SACrCC,EACAC,EACAC,GAEA,IAAMxC,EAAiE,CAAC,EAClEF,EAAiD,CAAC,EAElD2C,EAAe/E,EAAQgF,QAEvBC,EAAWJ,EAAaK,OAASpF,EAAwBnB,EACzDwG,EAAY7B,OAAO8B,KAAKH,GAAUxE,KAAI,SAAA4E,GAAG,OAAIJ,EAASI,EAAI,IAC1DC,EAAW,IAAIjC,IAAI8B,GAEzBP,EAASnC,SAAQ,SAAA8C,GACfjD,EAAaiD,EAAQ/B,IAAM+B,CAC7B,IAAG,I,EAAAC,EAAA,SAAAC,GAGD,IAAMF,EAAUjD,EAAakB,GAC7B+B,EAAQG,KAAOH,EAAQvD,MACvBuD,EAAQI,WAAa,CACnBlE,KAAM8D,EAAQK,UAEhBL,EAAQM,KAAO,GAEf,IAAyGC,EAAAC,EAAnER,EAAQS,UAAUd,OAASK,EAAQS,UAAU,GAAG5B,MAAM,OAAS,CAAC,IAAG,GAAlG6B,EAAWH,EAAA,GAAEI,EAAcJ,EAAA,GAC5BK,EAAkBF,EAAYpF,OAC9BuF,EAAyBF,EAAiBA,EAAerF,OAAS,GAExE0E,EAAQtC,kBAAoB,GAC5BsC,EAAQc,eAAiB,GACzBd,EAAQS,UAAUvD,SAAQ,SAACf,GAAa,IAAA4E,EAAAC,EAAAC,EAKoBC,EAOHC,EAKHC,EAhBPC,EAAAb,EAArBrE,EAAS0C,MAAM,OAAM,GAAtCyC,EAAID,EAAA,GAAEE,EAAOF,EAAA,GACdG,EAAkBD,EAAUA,EAAQjG,OAAS,GAC7CmG,EAAeH,EAAOA,EAAKhG,OAAS,GAEb,QAA1ByF,EAACf,EAAQtC,yBAAiB,IAAAqD,GAAzBA,EAA2B1F,SAASmG,KACb,QAAzBN,EAAAlB,EAAQtC,yBAAiB,IAAAwD,GAAzBA,EAA2BQ,KAAKF,GAChCvC,EAAiBuC,IAKU,QAA1BR,EAAChB,EAAQtC,yBAAiB,IAAAsD,GAAzBA,EAA2B3F,SAASoG,KACb,QAAzBN,EAAAnB,EAAQtC,yBAAiB,IAAAyD,GAAzBA,EAA2BO,KAAKD,GAChCxC,EAAiBwC,IAGO,QAAvBR,EAACjB,EAAQc,sBAAc,IAAAG,GAAtBA,EAAwB5F,SAASoG,IACb,QAAtBL,EAAApB,EAAQc,sBAAc,IAAAM,GAAtBA,EAAwBM,KAAKD,EAEjC,IAEAzB,EAAQ7D,SAAWyE,EACnBZ,EAAQwB,gBAAkBX,EAC1Bb,EAAQ2B,KAAO,CACbC,UAAW,4BAAF7G,OAA8BiF,EAAQ/B,KAEjD+B,EAAQpC,WAAa,GAAA7C,OAAGiF,EAAQvD,MAAK,KAAA1B,OAAIiF,EAAQK,SAAQ,KAAAtF,OAAIiF,EAAQ6B,KAAI,KAAA9G,OAAIiF,EAAQS,UAAUzE,KAAK,KAAI,KAAAjB,OAAIiF,EAAQ8B,SAAQ,KAAA/G,OAAIiF,EAAQ+B,eAAc,KAAAhH,OAAIiF,EAAQgC,kBAAmB5G,cAGrL,IAAM6G,EAAgD,IAA5B1C,EAAiBI,OAErCuC,EAxIY,SAAClC,EAAyCJ,GAAmB,OACjF7B,OAAO8B,KAAKtE,GAAgBgD,QAAO,SAAC4D,EAAYC,GAC9C,IAAMC,EAAU9G,EAAe6G,GACzBE,EAba,SAACF,EAAcG,GACpC,IAAIC,EAAYJ,EAAKvD,MAAM,KAC3B,GACE0D,EAAMA,EAAIC,EAAUC,eACbD,EAAU7C,QAAU4C,GAE7B,OAAOA,CACT,CAMsBG,CAAeN,EAAMpC,GAEvC,GAAIsC,EACF,IAAK,IAALK,EAAA,EAAAC,EAAoB7E,OAAO8B,KAAKwC,GAAQM,EAAAC,EAAAjD,OAAAgD,IAAE,CAArC,IAAIE,EAAOD,EAAAD,GACd,IAAK/C,EAAUvE,SAASwH,GAAU,OAAOV,EAEzC,IAAAW,EAA+BT,EAAQQ,GAASP,EAAWtC,GAAnDnF,EAAMiI,EAANjI,OAAkBiI,EAAVhI,WACZD,IAYFsH,EAAaA,EAAWpH,OAAO8H,GAEnC,CAEF,OAAOV,CACT,GAAG,GAAG,CA6GeY,CAAc/C,EAASJ,IAGzCsC,EAAWvC,OAASuC,EAAa,CAAC9I,EAAMkB,QAAQ4C,SAAQ,SAAAhB,GAEvCM,SAASwG,cAAc,OAC/BC,UAAY,GAAHlI,OAAMiF,EAAQ8B,SAAQ,UAAA/G,OAASiF,EAAQgC,iBAAgB,UAAAjH,OAASiF,EAAQ+B,gBAvF3E,SAAC7F,EAAc+B,EAAYiF,GAC7C,IAAMC,EAAmBD,EAAUhH,GAC7BkH,EAASD,GAAoBA,EAAiB9H,SAAS4C,GAEzDkF,IAAqBC,EAAQD,EAAiBzB,KAAKzD,GAC7CkF,IAAkBD,EAAUhH,GAAQ,CAAC+B,IAE1CmF,GAAQnE,EAAiB/C,EAChC,CAiFMmH,CAAYnH,GAAQ9C,EAAMkB,MAAO2D,EAAIpB,GACjCoF,GACFlC,EAAS7B,IAAIhC,EAEjB,GACF,EA3DA,IAAI,IAAM+B,KAAMlB,EAAYkD,EAAAC,GA6D5B,MAAO,CACLnD,aAAAA,EACAF,iBAAAA,EACAiC,oBAAAA,EACAK,eAAAA,EAEAK,aAAcA,EAAa8D,OAC3BvD,U,EAAcA,E,uVAAUuD,OAE5B,E,giCC3PA,IAAMC,EAAoB,OACpBC,EAAoB,WAEpBC,EAAc,CAClBC,GAAI,sBACJC,GAAI,kBACJC,GAAI,oBAGAC,EAAoB,CAAC,YAAa,YAAa,aA8IrD,QAlIiB,SAAAC,I,qRAAAC,CAAAC,EAAAF,GAAA,I,QAAAG,G,EAAAD,E,6jBACf,SAAAA,EAAYE,GAAc,IAAAC,EAStB,O,4FATsBC,CAAA,KAAAJ,IACxBG,EAAAF,EAAAI,KAAA,KAAMH,IAEDI,QAAUH,EAAKG,QAAQC,KAAIC,EAAAL,IAChCA,EAAKM,aAAeN,EAAKM,aAAaF,KAAIC,EAAAL,IAE1CA,EAAKO,MAAQ,CACXC,UAAWnB,EACXoB,QAAS,GACTT,CACJ,CAoHC,O,EApHAH,G,EAAA,EAAAlE,IAAA,UAAAlF,MAED,SAAQ+J,GACNE,KAAKC,SAAS,CACZH,UAAAA,EACAC,QAASD,IAAcE,KAAKH,MAAMC,WAAkC,EAAtBE,KAAKH,MAAME,QAAe,GAE5E,GAAC,CAAA9E,IAAA,eAAAlF,MAED,SAAakF,GACX,OAAO+E,KAAKH,MAAMC,YAAc7E,EACL,IAAvB+E,KAAKH,MAAME,QACT,MACA,OACF,EACN,GAAC,CAAA9E,IAAA,eAAAlF,MAED,SAAa0F,GACX,IAAMyE,EAAmBzE,EAAKjD,QAAO,SAAC2H,GAAG,OACvCA,EAAI1J,OAAOF,cAAcC,SAAS,SAAS,IAM7C,OAHE0J,EAAiBpF,OAAS,EACtBkF,KAAKI,qBAAqBF,EAAiB,IAC3C,EAER,GAAC,CAAAjF,IAAA,uBAAAlF,MAED,SAAqBoK,GACnB,IAAIE,EAAgBF,EAIpB,GAH2BnB,EAAkBxI,SAC3C2J,EAAI1J,OAAOF,eAEW,CACtB,IAAM+J,EAAoBH,EAAInG,MAAM,KAAK,GAAGvD,OAAOF,cAC7CgK,EAAmB,IAAIC,KAAKC,eAAe,QAAS,CACxDC,SAAU9B,EAAY0B,GACtBK,aAAc,UAEbC,cAAc,IAAIC,MAClBrI,QAAO,SAACsI,GAAa,MAA4B,iBAAvBA,EAAc9D,IAAuB,IAClE,GAAIuD,EAAkB,CACpB,IAAMQ,EAAgBR,EAAiB,GAAGxK,MAC1CsK,EAAgB,UAAHnK,OAAa6K,EAC5B,CACF,CACA,MAAO,OAAP7K,OAAcmK,EAChB,GAAC,CAAApF,IAAA,SAAAlF,MAED,WAAS,IAAAiL,EAAA,KACPC,EAA2BjB,KAAKX,MAAxBhI,EAAI4J,EAAJ5J,KAAMmD,EAAQyG,EAARzG,SACd0G,EAA+BlB,KAAKH,MAA5BC,EAASoB,EAATpB,UAAWC,EAAOmB,EAAPnB,QAEnB,OACqB,GAAnBvF,EAASM,QACPqG,EAAAA,cAAA,WACG9J,GAAQ8J,EAAAA,cAAA,UAAK9J,GACd8J,EAAAA,cAAA,aACEA,EAAAA,cAAA,aACEA,EAAAA,cAAA,UACG,CACC,CAACzC,EAAmB,YACpB,CAACC,EAAmB,aACpBtI,KAAI,SAAAyB,GAAA,IAAMmD,EAAGnD,EAAN,GAAWsJ,EAAKtJ,EAAR,GAAC,OAChBqJ,EAAAA,cAAA,MACElG,IAAKA,EACLoG,UAAWL,EAAKpB,aAAa3E,GAC7BqG,QAAS,kBAAMN,EAAKvB,QAAQxE,EAAI,GAE/BmG,EACE,KAGR5G,EACEiE,MACC,SAAC8C,EAAUC,GAAQ,OACjBzB,GACCwB,EAASzB,GAAa0B,EAAS1B,GAAa,GAAK,EAAE,IAEvDzJ,KACC,SAAAoL,GAOM,IANJrI,EAAEqI,EAAFrI,GACAkC,EAAImG,EAAJnG,KAEAW,GADQwF,EAARnK,SACcmK,EAAdxF,gBACQc,EAAS0E,EAAjB3E,KAAQC,UACRtB,EAAIgG,EAAJhG,KAEIiG,EAAaV,EAAKW,aAAalG,GAE7BmG,EAAkB3F,EAAe4F,WACrC,SAACpF,GAAY,MAA4B,WAAvBA,EAAKlG,aAA0B,IAOnD,OALAmL,EACEE,GAAmB,EAAC,OAAA1L,OACT+F,EAAe2F,IACtB,GAGJT,EAAAA,cAAA,MAAIlG,IAAK7B,GACP+H,EAAAA,cAAA,UACEA,EAAAA,cAAA,KAAGW,KAAM/E,GAAYzB,IAEvB6F,EAAAA,cAAA,UACGlF,EAAe,GACfyF,GAIT,MAOhB,M,oEAACvC,CAAA,CA/Hc,CAAS4C,EAAAA,WCtB1B,IAEMC,EAAkB,SAAHlK,GAAA,IACnBmC,EAAmBnC,EAAnBmC,oBACAgI,EAAWnK,EAAXmK,YACAC,EAAUpK,EAAVoK,WACAC,EAASrK,EAATqK,UAAS,OAEThB,EAAAA,cAAA,UACGc,EAAY5L,KAAI,SAAAuD,GAAS,OACxBuH,EAAAA,cAAA,MAAIlG,IAAKrB,EAAWyH,UAAWa,EAAWtI,GAAa,WAAa,IAClEuH,EAAAA,cAAA,aACEA,EAAAA,cAAA,SACEiB,SAAU,SAAAX,GAAA,IAAaY,EAAOZ,EAAjBa,OAAUD,QAAO,OAC5BF,EAAUvI,EAAWyI,EAAQ,EAE/BrF,KAAK,WACLqF,UAASH,EAAWtI,IAAa,YAEnCuH,EAAAA,cAAA,aACCvH,EAAU,KAAGK,EAAoBI,IAAIT,IAAc,EAAE,KAErD,IAEJ,EA2BP,QAdkB,SAAH8B,GAAA,IAAMzB,EAAmByB,EAAnBzB,oBAAqBiI,EAAUxG,EAAVwG,WAAYC,EAASzG,EAATyG,UAAS,OAC7DhB,EAAAA,cAAA,OAAKE,UAAU,cAXE,SAACkB,EAAOC,GAIzB,IAHA,IAAMC,EAAS,GACTC,EAAaC,KAAKC,KAAKL,EAAMzH,OA7BjB,GA+BT+H,EAAI,EAAGA,EAAIF,KAAKC,KAAKL,EAAMzH,OAAS4H,GAAaG,IACxDJ,EAAO5F,KAAK0F,EAAM3H,MAAMiI,EAAIH,EAAYG,EAAIH,EAAaA,IAE3D,OAAOD,CACT,CAIKK,CAAW5J,OAAO8B,KAAKkH,IAA0B7L,KAAI,SAAA0M,GAAc,OAClE5B,EAAAA,cAACa,EAAe,CACd/H,oBAAqBA,EACrBgB,IAAK8H,EAAe,GACpBd,YAAac,EACbb,WAAYA,EACZC,UAAWA,GACX,IAEA,E,2uDClCR,IA2BMa,EAAO,SAAA/D,I,qRAAAC,CAAA8D,EAAA/D,GAAA,I,QAAAG,G,EAAA4D,E,6jBACX,SAAAA,EAAY3D,GAAc,IAAAC,G,4FAAAC,CAAA,KAAAyD,IACxB1D,EAAAF,EAAAI,KAAA,KAAMH,IAED8C,UAAY7C,EAAK6C,UAAUzC,KAAIC,EAAAL,IAGpC,IAAAxH,EAKImL,EAAAA,EAAAA,aAAiBzL,OAAOF,SAASwK,OAAS,CAAC,EAJvCoB,EAAQpL,EAAdT,KACU8L,EAAYrL,EAAtBR,SACQS,EAASD,EAAjBP,OACA6L,EAAStL,EAATsL,UAGI/L,EAAO,IAAI4B,IACjBa,EAAczC,EAAM6L,GAAYA,EAASG,QAAQ,QAAS,MAE1D,IAAM/L,EAAW,IAAI2B,IA0BnB,OAzBFa,EAAcxC,EAAU6L,GAAgBA,EAAaE,QAAQ,QAAS,MAGlE/D,EAAKD,MAAMhI,KAAKyD,QACDwE,EAAKD,MAAMhI,KAAK2C,MAAM,KAC9B3B,SAAQ,SAACiL,GAChBjM,EAAKgC,IAAIiK,EAAQ7M,OACnB,IAGE6I,EAAKD,MAAM/H,SAASwD,QAAQxD,EAAS+B,IAAIiG,EAAKD,MAAM/H,UAExDgI,EAAKO,MAAQ,CACX3H,aAAc,CAAC,EACfF,iBAAkB,KAClBG,yBAA0B,KAE1B+C,SAAU,GACVP,aAAc,GAEdtD,KAAAA,EACAC,SAAAA,EACAS,UAAWA,GAAwB,GAEnCqL,UAAAA,GACA9D,CACJ,CAmJC,O,EAnJA0D,E,EAAA,EAAA/H,IAAA,oBAAAlF,MAED,WAAoB,IAAAiL,EAAA,KAClBuC,EAAAA,EAAAA,IA1Ea,8BA0EOC,MAAK,SAAA/B,GAAwB,IAAfjH,EAAQiH,EAAdgC,KAC1BC,EAOInJ,EAAwBC,EAAU,GAAI,IANxCG,EAAY+I,EAAZ/I,aACAO,EAAQwI,EAARxI,SACAjB,EAAmByJ,EAAnBzJ,oBACAK,EAAcoJ,EAAdpJ,eACApC,EAAYwL,EAAZxL,aACAF,EAAgB0L,EAAhB1L,iBAGE6H,EAAKlK,EAAAA,EAAA,GACJqL,EAAKnB,OAAK,IAEb3H,aAAAA,EACAF,iBAAAA,EAEAiC,oBAAAA,EACAK,eAAAA,EAEAY,SAAAA,EACAP,aAAAA,IAEFkF,EAAKlK,EAAAA,EAAA,GAAQkK,GAAUhI,EAA8BgI,IAErDmB,EAAKf,SAASJ,EAChB,GAGF,GAAC,CAAA5E,IAAA,iBAAAlF,MAED,SAAegC,GACb,IAAM4L,EAAe5L,GAAaA,EAAUtB,OAAOqE,OAAS/C,EAAY,GAClE6L,EAAQjO,EAAAA,EAAA,GAAQqK,KAAKH,OAAK,IAAE9H,UAAW4L,IAE7C3D,KAAKC,SAAQtK,EAAAA,EAAC,CAAC,EACViO,GACA/L,EAA8B+L,KAGnCxM,EAAgB4I,KAAKH,MAAMxI,KAAM2I,KAAKH,MAAMvI,SAAUqM,EACxD,GAAC,CAAA1I,IAAA,YAAAlF,MAED,SAAU8N,EAAkB9N,EAAe+N,GACzC,IAAMC,EAAc/D,KAAKH,MAAMgE,GAC/BC,EAAWC,EAAY1K,IAAItD,GAASgO,EAAW,OAAQhO,GACvD,IAAMiO,EAAe,IAAI/K,IAAI8K,EAAY7M,UAEzC8I,KAAKC,SAAQtK,EAAAgB,EAAC,CAAC,EACZkN,EAAWG,GACTnM,EAA8BmI,KAAKH,SAGxCzI,EAAgB4I,KAAKH,MAAMxI,KAAM2I,KAAKH,MAAMvI,SAAU0I,KAAKH,MAAM9H,UACnE,GAAC,CAAAkD,IAAA,SAAAlF,MAED,WAAS,IAAAkO,EAAA,KACPhD,EAAyDjB,KAAKX,MAAhD6E,EAAWjD,EAAjB5J,KAA6B8M,EAAelD,EAAzB3J,SAC3B4J,EAaIlB,KAAKH,MAZP3H,EAAYgJ,EAAZhJ,aACAC,EAAwB+I,EAAxB/I,yBAEAJ,EAASmJ,EAATnJ,UACAuB,EAAgB4H,EAAhB5H,iBACAW,EAAmBiH,EAAnBjH,oBAEAiB,EAAQgG,EAARhG,SACAP,EAAYuG,EAAZvG,aAEAtD,EAAI6J,EAAJ7J,KACAC,EAAQ4J,EAAR5J,SAGI8M,EAAoBF,GAAeC,EAEzC,OAAOhM,EACLgJ,EAAAA,cAAA,OAAKE,UAAU,WACbF,EAAAA,cAAA,UACGiD,EAAoB,GAAHlO,OAAMkO,EAAiB,SAAU,eAErDjD,EAAAA,cAAA,OACEkD,wBAAyB,CAAEC,OAAQtE,KAAKX,MAAMkF,qBAEhDpD,EAAAA,cAAA,OAAKE,UAAU,YACX6C,GAAkC,GAAnBhJ,EAASJ,QACxBqG,EAAAA,cAAA,WACEA,EAAAA,cAAA,UAAI,8BACJA,EAAAA,cAACqD,EAAS,CACRvK,oBAAqBA,EACrBiI,WAAY3I,EAAa2B,EAAU7D,GACnC8K,UAAWnC,KAAKmC,UAAUzC,KAAKM,KAhKvB,YAqKZmE,GAA0C,GAAvBxJ,EAAaG,QAChCqG,EAAAA,cAAA,WACEA,EAAAA,cAAA,UAAI,mCACJA,EAAAA,cAACqD,EAAS,CACRvK,oBAAqBA,EACrBiI,WAAY3I,EAAaoB,EAAcrD,GACvC6K,UAAWnC,KAAKmC,UAAUzC,KAAKM,KA1KnB,gBAgLpBmB,EAAAA,cAAA,OAAKE,UAAU,UACbF,EAAAA,cAAA,SAAI7H,EAAiB,YACrB6H,EAAAA,cAAA,SACEnE,KAAK,OACLyH,YAAY,qBACZrC,SAAU,SAACsC,GAAC,OAAKT,EAAKU,eAAeD,EAAEpC,OAAOvM,MAAM,EACpDuL,QAAS,SAACoD,GAAC,OAAKA,EAAEpC,OAAOsC,QAAQ,EACjC7O,MAAOgC,IAEToJ,EAAAA,cAAA,UAAQG,QAAS,kBAAM2C,EAAKU,eAAe,GAAG,KAG/CzL,OAAO8B,KAAK7C,GACVsG,OACApI,KAAI,SAACgB,GACJ,IAAMmD,EAAWrC,EAAyBd,GAAMhB,KAC9C,SAAC+C,GAAE,OAAKlB,EAAakB,EAAG,IAG1B,OACE+H,EAAAA,cAAChC,EAAW,CACVlE,IAAK5D,EACLA,KAAMA,EACNmD,SAAUA,GAGhB,IAEoB,IAArBlB,GACC6H,EAAAA,cAAA,OAAKkD,wBAAyB,CAAEC,OAAQtE,KAAKX,MAAMwF,cAIvD1D,EAAAA,cAAA,OAAKE,UAAU,WACbF,EAAAA,cAAA,WAAK,gBAAciD,GAAqB,GAAG,wBAC3CjD,EAAAA,cAAA,QAAME,UAAU,uDAGtB,I,uEAAC2B,CAAA,CA/LU,CAASjB,EAAAA,WAkMtB,U","sources":["webpack:///./resources/js/react/cms-components/careers/careersConfig.ts","webpack:///./resources/js/react/cms-components/careers/careersUtils.ts","webpack:///./resources/js/react/cms-components/careers/JobListings.tsx","webpack:///./resources/js/react/cms-components/careers/FilterSet.tsx","webpack:///./resources/js/react/cms-components/careers/Careers.tsx"],"sourcesContent":["// here is a rundown of the logic for how jobs are categorized:\n// https://hello.atlassian.net/wiki/spaces/HR/pages/359990125/Career+Site+Job+Aid\n\n// this data originates from our 3rd party recruiting platform Lever\n// but is cached in Magnolia and delivered via our own endpoint at /.rest/postings\n\n// options for filtering by team on the 'all jobs' page\n// also each team has it's own page\nconst TEAMS: { [teamKey: string]: string } = {\n ANALYTICS_AND_DATA_SCIENCE: 'Analytics & Data Science',\n DESIGN: 'Design',\n ENGINEERING: 'Engineering',\n MARKETING: 'Marketing',\n PRODUCT_MANAGEMENT: 'Product Management',\n PROGRAM_MANAGEMENT: 'Program Management',\n RISK_AND_COMPLIANCE: 'Risk & Compliance',\n SUPPORT: 'Support',\n GRADUATES: 'Graduates',\n SECURITY_ENGINEERING: 'Security',\n SRE: 'Site Reliability Engineering',\n IT: 'IT',\n PEOPLE: 'People',\n FINANCE_AND_ACCOUNTING: 'Finance & Accounting',\n SALES: 'Sales',\n LEGAL: 'Legal',\n INTERNS: 'Interns',\n OTHER: 'Other'\n};\n\n// for the pages that show a single team listings use a separate array that includes\n// 'Associate Product Manager' because it is not really a 'team' but has it's own page\nconst TEAMS_INDIVIDUAL_PAGE: { [teamKey: string]: string } = {\n ...TEAMS\n};\n\n// options for filtering by location on the 'all jobs' page\n// also each location has it's own page\nconst LOCATIONS = [\n \"Amsterdam\", \n \"Ankara\", \n \"Austin\", \n \"Bengaluru\", \n \"Boston\",\n \"Georgetown\", \n \"Manila\", \n \"Mountain View\", \n \"New York\", \n \"San Francisco\", \n \"Sydney\", \n \"Yokohama\"\n];\n\nconst REGIONS = [\n \"Australia\",\n \"New Zealand\",\n \"France\",\n \"Germany\",\n \"India\",\n \"Japan\",\n \"Netherlands\",\n \"Poland\",\n \"Philippines\",\n \"Turkey\",\n \"United Kingdom\",\n \"Canada\",\n \"United States\",\n \"South Korea\"\n];\n\nconst is = test => value => ({\n result: test === value,\n logMessage: `matches '${test}'`\n});\n\n/**\n * \n * @param {array} testArray Array of test values\n * @returns {function} takes in a value to return an object\n */\nconst isInArray = testArray => value => ({\n result: testArray.map((x) => x.toLowerCase()).includes(value.trim().toLowerCase()),\n logMessage: `value of '${value}' is included in test array '${testArray}'`\n});\n\nconst CAREERS_CONFIG = {\n ['categories.team']: {\n [TEAMS.ANALYTICS_AND_DATA_SCIENCE]: is('Analytics & Data Science'),\n [TEAMS.DESIGN]: isInArray(['Customer Experience', 'Design']),\n [TEAMS.ENGINEERING]: is('Engineering'),\n [TEAMS.MARKETING]: is('Marketing'),\n [TEAMS.PRODUCT_MANAGEMENT]: is('Product Management'),\n [TEAMS.PROGRAM_MANAGEMENT]: is('Program Management'),\n [TEAMS.RISK_AND_COMPLIANCE]: is('Risk & Compliance'),\n [TEAMS.SUPPORT]: isInArray(['Support (CSS)', 'CSS', 'Support']),\n [TEAMS.GRADUATES]: is('Graduates'),\n [TEAMS.SECURITY_ENGINEERING]: is('Security'),\n [TEAMS.SRE]: isInArray(['Site Reliability Engineering', 'SRE']),\n [TEAMS.IT]: is('IT'),\n [TEAMS.PEOPLE]: is('People'),\n [TEAMS.FINANCE_AND_ACCOUNTING]: is('Finance & Accounting'),\n [TEAMS.SALES]: is('Sales'),\n [TEAMS.LEGAL]: is('Legal'),\n [TEAMS.INTERNS]: is('Interns'),\n }\n};\n\nexport { CAREERS_CONFIG, TEAMS, TEAMS_INDIVIDUAL_PAGE, LOCATIONS, REGIONS };","import {\n CAREERS_CONFIG,\n TEAMS,\n TEAMS_INDIVIDUAL_PAGE,\n REGIONS\n} from \"./careersConfig\";\nimport type {\n ExtensiblePortalJobPostDetails\n} from \"./careersTypes\";\n\nconst getURLParamSet = (set: Set) => escape(Array.from(set.values()).join(\",\"));\n\nexport const updateURLParams = (team: Set, location: Set, search: string) => {\n window.history.replaceState(\n null,\n document.title,\n `?team=${getURLParamSet(team)}` +\n `&location=${getURLParamSet(location)}` +\n `&search=${search}`\n );\n}\n\nexport const getIcimsFilteredPostingsState = ({\n searchStr,\n postingIdsByTeam,\n team,\n location: selectedLocationFilters,\n postingsById\n}: {\n searchStr: string,\n allTeams: string[],\n postingIdsByTeam: { [team: string]: number[] },\n team: Set,\n location: Set,\n postingsById: { [id: number]: ExtensiblePortalJobPostDetails }\n}) => {\n let filteredPostingIdsByTeam: { [team: string]: number[] } = {};\n\n // Initialize filtered IDs by team\n if(team.size) {\n team.forEach((teamStr) => {\n filteredPostingIdsByTeam[teamStr] = postingIdsByTeam[teamStr] || [];\n });\n } else {\n filteredPostingIdsByTeam = { ...postingIdsByTeam };\n }\n\n // Filter IDs by location\n if(selectedLocationFilters.size) {\n const selectedLocationFiltersArray = Array.from(selectedLocationFilters);\n for(let team in filteredPostingIdsByTeam) {\n filteredPostingIdsByTeam[team] = filteredPostingIdsByTeam[team].filter(\n (postingId) => selectedLocationFiltersArray.some((selectedLocation) => postingsById[postingId].locationCountries?.includes(selectedLocation))\n );\n }\n }\n\n // Filter by search\n if(searchStr) {\n for(let team in filteredPostingIdsByTeam) {\n filteredPostingIdsByTeam[team] = filteredPostingIdsByTeam[team].filter(\n (postingId) => postingsById[postingId].searchText?.includes(searchStr.toLowerCase())\n );\n }\n }\n\n const filteredIdsSet = new Set();\n Object.values(filteredPostingIdsByTeam).forEach((ids) => {\n ids.forEach((id) => {\n filteredIdsSet.add(id);\n });\n });\n\n return {\n numSearchResults: filteredIdsSet.size,\n filteredPostingIdsByTeam\n };\n};\n\n// log each time a job is categorized and why\nlet logJobCategorizations = false;\n\n// given a dot delimited path and a JS object return the child object (if it exists),\n// for example the 'costcenter' object from \"requisition.customfields.costcenter\"\nconst getObjFromPath = (path: string, src: ExtensiblePortalJobPostDetails) => {\n let pathParts = path.split(\".\");\n do {\n src = src[pathParts.shift()];\n } while (pathParts.length && src);\n\n return src;\n};\n\n// use the careers config object to determine which teams each job should be categorized under\nconst getTeamsToAdd = (posting: ExtensiblePortalJobPostDetails, teamsList: string[]) =>\n Object.keys(CAREERS_CONFIG).reduce((addedTeams, path) => {\n const teamMap = CAREERS_CONFIG[path];\n const testValue = getObjFromPath(path, posting);\n\n if (testValue)\n for (let teamKey of Object.keys(teamMap)) {\n if (!teamsList.includes(teamKey)) return addedTeams; // only include teams we are actually showing\n\n const { result, logMessage } = teamMap[teamKey](testValue, posting);\n if (result) {\n if (logJobCategorizations)\n \n logTableData.push({\n id: posting.id,\n title: posting.text,\n team: teamKey,\n reason:\n `${path.slice(path.lastIndexOf(\".\") + 1)} ` +\n `is '${testValue}' ${logMessage}`\n });\n\n addedTeams = addedTeams.concat(teamKey);\n }\n }\n\n return addedTeams;\n }, []);\n\nexport const getFilterMap = (filterKeys: string[], filterValues: Set) =>\n filterKeys.reduce(\n (filterMap, filterKey) => ({\n ...filterMap,\n [filterKey]: filterValues.has(filterKey)\n }),\n {}\n );\n\nexport const checkFilter = (filterSet: Set, filter: string) =>\n filterSet.size === 0 || filterSet.has(filter);\n\nexport const splitAddToSet = (set: Set, valuesStr: string) =>\n valuesStr && valuesStr.split(\",\").forEach(value => set.add(value));\n\n// for displaying number of postings in each filter category (both locations and teams)\nconst numPostingsByFilter = new Map();\nREGIONS.forEach(region => numPostingsByFilter.set(region, 0));\n\nconst addToFilterCount = (filterKey: string) =>\n numPostingsByFilter.set(\n filterKey,\n (numPostingsByFilter.get(filterKey) || 0) + 1\n );\n\n// add job to a team if it has not already been added\nconst addIdToTeam = (team: string, id: string, idsByTeam: { [team: string]: string[] }) => {\n const existingTeamList = idsByTeam[team];\n const exists = existingTeamList && existingTeamList.includes(id);\n\n if (existingTeamList && !exists) existingTeamList.push(id);\n else if (!existingTeamList) idsByTeam[team] = [id];\n\n if (!exists) addToFilterCount(team);\n};\n\n// store job categorization data if logging is enabled\nconst logTableData = [];\n\n// build map of posting id to text to search on\nconst searchTextById = new Map();\n\n// categorize jobs by team while assembling list of teams and locations\nexport const processIcimsJobPostings = (\n postings: ExtensiblePortalJobPostDetails[],\n filterToTeam: string[],\n filterToLocation: string[]\n) => {\n const postingsById: { [id: string]: ExtensiblePortalJobPostDetails } = {};\n const postingIdsByTeam: { [team: string]: string[] } = {};\n\n const allLocations = REGIONS.slice();\n\n const teamsMap = filterToTeam.length ? TEAMS_INDIVIDUAL_PAGE : TEAMS;\n const teamsList = Object.keys(teamsMap).map(key => teamsMap[key]);\n const allTeams = new Set(teamsList);\n\n postings.forEach(posting => {\n postingsById[posting.id] = posting;\n });\n\n for(const id in postingsById) {\n const posting = postingsById[id];\n posting.text = posting.title;\n posting.categories = {\n team: posting.category\n };\n posting.tags = [];\n\n const [primaryCity, primaryCountry] = posting.locations.length ? posting.locations[0].split(' - ') : [''];\n const primaryLocation = primaryCity.trim();\n const primaryLocationCountry = primaryCountry ? primaryCountry.trim() : '';\n \n posting.locationCountries = [];\n posting.locationCities = [];\n posting.locations.forEach((location) => {\n const [city, country] = location.split(' - ');\n const locationCountry = country ? country.trim() : '';\n const locationCity = city ? city.trim() : '';\n\n if(!posting.locationCountries?.includes(locationCountry)) {\n posting.locationCountries?.push(locationCountry);\n addToFilterCount(locationCountry);\n }\n\n // Fallback for location mapping out of order (e.g. Canada)\n // TODO: Revisit after IT has finalized data fields\n if(!posting.locationCountries?.includes(locationCity)) {\n posting.locationCountries?.push(locationCity)\n addToFilterCount(locationCity);\n }\n\n if(!posting.locationCities?.includes(locationCity)) {\n posting.locationCities?.push(locationCity);\n }\n });\n\n posting.location = primaryLocation;\n posting.locationCountry = primaryLocationCountry;\n posting.urls = {\n hostedUrl: `/company/careers/details/${posting.id}`\n };\n posting.searchText = `${posting.title} ${posting.category} ${posting.type} ${posting.locations.join(' ')} ${posting.overview} ${posting.qualifications} ${posting.responsibilities}`.toLowerCase();\n\n // if this is a location page we should not list teams that have no jobs at the location\n const addTeamToAllTeams = filterToLocation.length === 0;\n\n const teamsToAdd = getTeamsToAdd(posting, teamsList);\n \n // if there no teams for this job to be added to add it the 'Other' team\n (teamsToAdd.length ? teamsToAdd : [TEAMS.OTHER]).forEach(team => {\n // use the textContent property of an HTMLElement to strip HTML tags\n const listsEl = document.createElement(\"div\");\n listsEl.innerHTML = `${posting.overview}
${posting.responsibilities}
${posting.qualifications}`;\n\n addIdToTeam(team || TEAMS.OTHER, id, postingIdsByTeam);\n if (addTeamToAllTeams) {\n allTeams.add(team);\n }\n });\n }\n\n return {\n postingsById,\n postingIdsByTeam,\n numPostingsByFilter,\n searchTextById,\n\n allLocations: allLocations.sort(),\n allTeams: [...allTeams].sort()\n };\n};\n","import React, { Component } from \"react\";\nimport type { Posting } from \"./CareersTypes\";\n\nconst KEY_POSITION_SORT = \"text\";\nconst KEY_LOCATION_SORT = \"location\";\n\nconst timeZoneMap = {\n pt: \"America/Los_Angeles\",\n ct: \"America/Chicago\",\n et: \"America/New_York\",\n};\n\nconst listOfModfiedTags = [\"remote pt\", \"remote ct\", \"remote et\"];\n\ntype Props = {\n team: string;\n postings: Posting[];\n};\n\ntype State = {\n sortOnKey: string;\n sortDir: number;\n};\n\nclass JobListings extends Component {\n constructor(props: Props) {\n super(props);\n\n this.setSort = this.setSort.bind(this);\n this.getSortClass = this.getSortClass.bind(this);\n\n this.state = {\n sortOnKey: KEY_LOCATION_SORT,\n sortDir: 1,\n };\n }\n\n setSort(sortOnKey: string) {\n this.setState({\n sortOnKey,\n sortDir: sortOnKey === this.state.sortOnKey ? this.state.sortDir * -1 : 1,\n });\n }\n\n getSortClass(key: string) {\n return this.state.sortOnKey === key\n ? this.state.sortDir === 1\n ? \"asc\"\n : \"desc\"\n : \"\";\n }\n\n getRemoteTag(tags: string[]) {\n const isRemoteEligible = tags.filter((tag) =>\n tag.trim().toLowerCase().includes(\"remote\")\n );\n const remoteTag =\n isRemoteEligible.length > 0\n ? this.getModifiedRemoteTag(isRemoteEligible[0])\n : \"\";\n return remoteTag;\n }\n\n getModifiedRemoteTag(tag: string) {\n let returnTagText = tag;\n const isTimeZoneSpecific = listOfModfiedTags.includes(\n tag.trim().toLowerCase()\n );\n if (isTimeZoneSpecific) {\n const timeZoneOptionKey = tag.split(\" \")[1].trim().toLowerCase();\n const dateTimeTimeZone = new Intl.DateTimeFormat(\"en-US\", {\n timeZone: timeZoneMap[timeZoneOptionKey],\n timeZoneName: \"short\",\n })\n .formatToParts(new Date())\n .filter((dateTimeParts) => dateTimeParts.type === \"timeZoneName\");\n if (dateTimeTimeZone) {\n const timeZoneAbbre = dateTimeTimeZone[0].value;\n returnTagText = `Remote ${timeZoneAbbre}`;\n }\n }\n return ` or ${returnTagText}`;\n }\n\n render() {\n const { team, postings } = this.props;\n const { sortOnKey, sortDir } = this.state;\n\n return (\n postings.length != 0 && (\n
\n {team &&

{team}

}\n \n \n \n {[\n [KEY_POSITION_SORT, \"Position\"],\n [KEY_LOCATION_SORT, \"Location\"],\n ].map(({ 0: key, 1: label }) => (\n this.setSort(key)}\n >\n {label}\n \n ))}\n \n {postings\n .sort(\n (postingA, postingB) =>\n sortDir *\n (postingA[sortOnKey] > postingB[sortOnKey] ? 1 : -1)\n )\n .map(\n ({\n id,\n text,\n location,\n locationCities,\n urls: { hostedUrl },\n tags,\n }) => {\n let remoteText = this.getRemoteTag(tags);\n\n const remoteCityIndex = locationCities.findIndex(\n (city: string) => city.toLowerCase() === \"remote\"\n );\n remoteText =\n remoteCityIndex > -1\n ? ` or ${locationCities[remoteCityIndex]}`\n : \"\";\n\n return (\n \n \n \n \n );\n }\n )}\n \n
\n {text}\n \n {locationCities[0]}\n {remoteText}\n
\n
\n )\n );\n }\n}\n\nexport default JobListings;\n","import React from \"react\";\n\nconst NUM_COLUMNS = 2;\n\nconst FilterSetColumn = ({\n numPostingsByFilter,\n filtersKeys,\n filtersMap,\n setFilter\n}) => (\n
    \n {filtersKeys.map(filterKey => (\n
  • \n \n
  • \n ))}\n
\n);\n\nconst splitArray = (array, divisor) => {\n const arrays = [];\n const splitIndex = Math.ceil(array.length / divisor);\n\n for (let i = 0; i < Math.ceil(array.length / splitIndex); i++)\n arrays.push(array.slice(i * splitIndex, i * splitIndex + splitIndex));\n\n return arrays;\n};\n\nconst FilterSet = ({ numPostingsByFilter, filtersMap, setFilter }) => (\n
\n {splitArray(Object.keys(filtersMap), NUM_COLUMNS).map(filterKeyArray => (\n \n ))}\n
\n);\n\nexport default FilterSet;\n","import React, { Component } from \"react\";\nimport axios from \"axios\";\n\nimport url from \"../../../utils/url\";\n\nimport {\n updateURLParams,\n processIcimsJobPostings,\n getFilterMap,\n getIcimsFilteredPostingsState,\n splitAddToSet,\n} from \"./careersUtils\";\nimport JobListings from \"./JobListings\";\nimport FilterSet from \"./FilterSet\";\nimport type { ExtensiblePortalJobPostDetails } from \"./CareersTypes\";\n\nconst ENDPOINT = \"/endpoint/careers/listings\";\n// const ENDPOINT = 'https://wac.stg.internal.atlassian.com/endpoint/careers/listings';\n\nconst KEY_TEAM_FILTER = \"team\";\nconst KEY_LOCATION_FILTER = \"location\";\n\ntype Props = {\n location: string;\n team: string;\n noentries: string;\n browseJobsSubText: string;\n};\n\ntype State = {\n postingsById: { [id: string]: ExtensiblePortalJobPostDetails };\n postingIdsByTeam: Map | null;\n filteredPostingIdsByTeam: { [team: string]: string[] } | null;\n numSearchResults?: number;\n numPostingsByFilter?: Map;\n allTeams: string[] | null;\n allLocations: string[];\n team: Set;\n location: Set;\n searchStr: string;\n debugJobs?: string;\n};\n\nclass Careers extends Component {\n constructor(props: Props) {\n super(props);\n\n this.setFilter = this.setFilter.bind(this);\n\n // check if there are filters selected via URL params\n const {\n team: teamsStr,\n location: locationsStr,\n search: searchStr,\n debugJobs,\n } = url.getUrlParams(window.location.href) || {};\n\n const team = new Set();\n splitAddToSet(team, teamsStr && teamsStr.replace(\"&\", \"&\"));\n\n const location = new Set();\n splitAddToSet(location, locationsStr && locationsStr.replace(\"&\", \"&\"));\n\n // if we're on a page for a specific team or location\n if (this.props.team.length) {\n const teamList = this.props.team.split(\",\");\n teamList.forEach((element) => {\n team.add(element.trim());\n });\n }\n\n if (this.props.location.length) location.add(this.props.location);\n\n this.state = {\n postingsById: {},\n postingIdsByTeam: null,\n filteredPostingIdsByTeam: null,\n\n allTeams: [],\n allLocations: [],\n\n team,\n location,\n searchStr: searchStr ? searchStr : \"\",\n\n debugJobs,\n };\n }\n\n componentDidMount() {\n axios.get(ENDPOINT).then(({ data: postings }) => {\n const {\n allLocations,\n allTeams,\n numPostingsByFilter,\n searchTextById,\n postingsById,\n postingIdsByTeam,\n } = processIcimsJobPostings(postings, [], []);\n\n let state = {\n ...this.state,\n\n postingsById,\n postingIdsByTeam,\n\n numPostingsByFilter,\n searchTextById,\n\n allTeams,\n allLocations,\n };\n state = { ...state, ...getIcimsFilteredPostingsState(state) };\n\n this.setState(state);\n });\n\n return;\n }\n\n onSearchChange(searchStr: string) {\n const newSearchStr = searchStr && searchStr.trim().length ? searchStr : \"\";\n const newState = { ...this.state, searchStr: newSearchStr };\n\n this.setState({\n ...newState,\n ...getIcimsFilteredPostingsState(newState)\n });\n\n updateURLParams(this.state.team, this.state.location, newSearchStr);\n }\n\n setFilter(propName: string, value: string, selected?: boolean) {\n const existingSet = this.state[propName];\n selected ? existingSet.add(value) : existingSet.delete(value);\n const newFilterSet = new Set(existingSet.values());\n\n this.setState({\n [propName]: newFilterSet,\n ...getIcimsFilteredPostingsState(this.state)\n });\n\n updateURLParams(this.state.team, this.state.location, this.state.searchStr);\n }\n\n render() {\n const { team: pageForTeam, location: pageForLocation } = this.props;\n const {\n postingsById,\n filteredPostingIdsByTeam,\n\n searchStr,\n numSearchResults,\n numPostingsByFilter,\n\n allTeams,\n allLocations,\n\n team,\n location,\n } = this.state;\n\n const specificPageValue = pageForTeam || pageForLocation;\n\n return filteredPostingIdsByTeam ? (\n
\n

\n {specificPageValue ? `${specificPageValue} jobs` : \"Browse jobs\"}\n

\n \n
\n {!pageForTeam && allTeams.length != 0 && (\n
\n

WHAT FUNCTION MATCHES YOU?

\n \n
\n )}\n\n {!pageForLocation && allLocations.length != 0 && (\n
\n

WHERE ARE YOU ELIGIBLE TO WORK?

\n \n
\n )}\n
\n\n
\n

{numSearchResults} results

\n this.onSearchChange(e.target.value)}\n onClick={(e) => e.target.select()}\n value={searchStr}\n />\n
\n\n {Object.keys(filteredPostingIdsByTeam)\n .sort()\n .map((team) => {\n const postings = filteredPostingIdsByTeam[team].map(\n (id) => postingsById[id]\n );\n\n return (\n \n );\n })}\n\n {numSearchResults === 0 && (\n
\n )}\n
\n ) : (\n
\n
Fetching all {specificPageValue || \"\"} jobs, one moment...
\n \n
\n );\n }\n}\n\nexport default Careers;\n"],"names":["TEAMS","ANALYTICS_AND_DATA_SCIENCE","DESIGN","ENGINEERING","MARKETING","PRODUCT_MANAGEMENT","PROGRAM_MANAGEMENT","RISK_AND_COMPLIANCE","SUPPORT","GRADUATES","SECURITY_ENGINEERING","SRE","IT","PEOPLE","FINANCE_AND_ACCOUNTING","SALES","LEGAL","INTERNS","OTHER","TEAMS_INDIVIDUAL_PAGE","_objectSpread","REGIONS","is","test","value","result","logMessage","concat","isInArray","testArray","map","x","toLowerCase","includes","trim","CAREERS_CONFIG","_defineProperty","_categoriesTeam","getURLParamSet","set","escape","Array","from","values","join","updateURLParams","team","location","search","window","history","replaceState","document","title","getIcimsFilteredPostingsState","_ref","searchStr","postingIdsByTeam","selectedLocationFilters","postingsById","filteredPostingIdsByTeam","size","forEach","teamStr","selectedLocationFiltersArray","filter","postingId","some","selectedLocation","_postingsById$posting","locationCountries","_postingsById$posting2","searchText","filteredIdsSet","Set","Object","ids","id","add","numSearchResults","getFilterMap","filterKeys","filterValues","reduce","filterMap","filterKey","has","splitAddToSet","valuesStr","split","numPostingsByFilter","Map","region","addToFilterCount","get","searchTextById","processIcimsJobPostings","postings","filterToTeam","filterToLocation","allLocations","slice","teamsMap","length","teamsList","keys","key","allTeams","posting","_loop","_id","text","categories","category","tags","_ref3","_slicedToArray","locations","primaryCity","primaryCountry","primaryLocation","primaryLocationCountry","locationCities","_posting$locationCoun","_posting$locationCoun3","_posting$locationCiti","_posting$locationCoun2","_posting$locationCoun4","_posting$locationCiti2","_location$split2","city","country","locationCountry","locationCity","push","urls","hostedUrl","type","overview","qualifications","responsibilities","addTeamToAllTeams","teamsToAdd","addedTeams","path","teamMap","testValue","src","pathParts","shift","getObjFromPath","_i","_Object$keys","teamKey","_teamMap$teamKey","getTeamsToAdd","createElement","innerHTML","idsByTeam","existingTeamList","exists","addIdToTeam","sort","KEY_POSITION_SORT","KEY_LOCATION_SORT","timeZoneMap","pt","ct","et","listOfModfiedTags","_Component","_inherits","JobListings","_super","props","_this","_classCallCheck","call","setSort","bind","_assertThisInitialized","getSortClass","state","sortOnKey","sortDir","this","setState","isRemoteEligible","tag","getModifiedRemoteTag","returnTagText","timeZoneOptionKey","dateTimeTimeZone","Intl","DateTimeFormat","timeZone","timeZoneName","formatToParts","Date","dateTimeParts","timeZoneAbbre","_this2","_this$props","_this$state","React","label","className","onClick","postingA","postingB","_ref2","remoteText","getRemoteTag","remoteCityIndex","findIndex","href","Component","FilterSetColumn","filtersKeys","filtersMap","setFilter","onChange","checked","target","array","divisor","arrays","splitIndex","Math","ceil","i","splitArray","filterKeyArray","Careers","url","teamsStr","locationsStr","debugJobs","replace","element","axios","then","data","_processIcimsJobPosti","newSearchStr","newState","propName","selected","existingSet","newFilterSet","_this3","pageForTeam","pageForLocation","specificPageValue","dangerouslySetInnerHTML","__html","browseJobsSubText","FilterSet","placeholder","e","onSearchChange","select","noentries"],"sourceRoot":""}