{"version":3,"file":"contentweb/mntv-app-contentweb.28505fec.js","mappings":"kFAAA,IAAIA,EAAM,CACT,UAAW,CACV,IACA,KAED,eAAgB,CACf,IACA,KAED,UAAW,CACV,IACA,KAED,eAAgB,CACf,IACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,MAGF,SAASC,oBAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,KAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAOR,EAAoBK,EAAEG,EAAI,IAAIJ,MAAK,IAClCJ,EAAoBU,EAAED,EAAI,MAGnCX,oBAAoBa,KAAO,IAAOC,OAAOD,KAAKd,GAC9CC,oBAAoBW,GAAK,KACzBI,EAAOC,QAAUhB,qB,eC1IjB,IAAID,EAAM,CACT,0BAA2B,CAC1B,KACA,KAED,qBAAsB,CACrB,KACA,KAED,sBAAuB,CACtB,KACA,KAED,oBAAqB,CACpB,KACA,KAED,4BAA6B,CAC5B,KACA,MAGF,SAASC,oBAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,KAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAOR,EAAoBK,EAAEG,EAAI,IAAIJ,MAAK,IAClCJ,EAAoBU,EAAED,EAAI,MAGnCX,oBAAoBa,KAAO,IAAOC,OAAOD,KAAKd,GAC9CC,oBAAoBW,GAAK,KACzBI,EAAOC,QAAUhB,qB,cCtCjB,IAAID,EAAM,CACT,0BAA2B,CAC1B,KACA,KAED,sBAAuB,CACtB,KACA,KAED,qBAAsB,CACrB,KACA,KAED,iBAAkB,CACjB,KACA,KAED,sBAAuB,CACtB,KACA,KAED,kBAAmB,CAClB,KACA,KAED,oBAAqB,CACpB,KACA,KAED,gBAAiB,CAChB,KACA,KAED,4BAA6B,CAC5B,KACA,KAED,wBAAyB,CACxB,IACA,MAGF,SAASC,oBAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,KAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAOR,EAAoBK,EAAEG,EAAI,IAAIJ,MAAK,IAClCJ,EAAoBU,EAAED,EAAI,MAGnCX,oBAAoBa,KAAO,IAAOC,OAAOD,KAAKd,GAC9CC,oBAAoBW,GAAK,IACzBI,EAAOC,QAAUhB,qB,eC1DjB,IAAID,EAAM,CACT,UAAW,CACV,KACA,GAED,eAAgB,CACf,KACA,GAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,IAED,eAAgB,CACf,KACA,IAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,KAED,eAAgB,CACf,KACA,KAED,UAAW,CACV,KACA,IAED,eAAgB,CACf,KACA,KAGF,SAASC,oBAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,KAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAOR,EAAoBK,EAAEG,EAAI,IAAIJ,MAAK,IAClCJ,EAAoBU,EAAED,EAAI,MAGnCX,oBAAoBa,KAAO,IAAOC,OAAOD,KAAKd,GAC9CC,oBAAoBW,GAAK,KACzBI,EAAOC,QAAUhB,qB,2LCrIjB,MAyRA,EAzRqC,CACnCiB,SAAU,CACRC,MAAO,CACL,CACEC,KAAM,YACNC,KAAM,iBACNC,cAAe,CACb,CAAED,KAAM,wBACR,CAAEA,KAAM,wBACR,CAAEA,KAAM,0BACR,CAAEA,KAAM,qBACR,CAAEA,KAAM,kBACR,CAAEA,KAAM,uBACR,CAAEA,KAAM,oBACR,CAAEA,KAAM,oBACR,CAAEA,KAAM,mBAGZ,CACED,KAAM,YACNC,KAAM,qBACNC,cAAe,CAAC,CAAED,KAAM,wBAA0B,CAAEA,KAAM,sCAE5D,CACED,KAAM,YACNC,KAAM,gBACNC,cAAe,CACb,CAAED,KAAM,4BACR,CAAEA,KAAM,kBACR,CAAEA,KAAM,+BACR,CAAEA,KAAM,kCACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,oBACR,CAAEA,KAAM,iBACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,gCACR,CAAEA,KAAM,kBACR,CAAEA,KAAM,0BACR,CAAEA,KAAM,yBACR,CAAEA,KAAM,4BACR,CAAEA,KAAM,oBACR,CAAEA,KAAM,2BACR,CAAEA,KAAM,uBACR,CAAEA,KAAM,0BACR,CAAEA,KAAM,qBACR,CAAEA,KAAM,cACR,CAAEA,KAAM,yBACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,wBACR,CAAEA,KAAM,8BACR,CAAEA,KAAM,gCACR,CAAEA,KAAM,kBACR,CAAEA,KAAM,8BACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,4BACR,CAAEA,KAAM,gCAGZ,CACED,KAAM,YACNC,KAAM,iCACNC,cAAe,CACb,CAAED,KAAM,aACR,CAAEA,KAAM,mBACR,CAAEA,KAAM,0BACR,CAAEA,KAAM,oBACR,CAAEA,KAAM,sBACR,CAAEA,KAAM,0BACR,CAAEA,KAAM,4BACR,CAAEA,KAAM,yBACR,CAAEA,KAAM,yBACR,CAAEA,KAAM,eAGZ,CACED,KAAM,YACNC,KAAM,kCACNC,cAAe,CAAC,CAAED,KAAM,4BAA8B,CAAEA,KAAM,6BAEhE,CACED,KAAM,QACNC,KAAM,yBACNC,cAAe,CACb,CAAED,KAAM,wBACR,CAAEA,KAAM,6BACR,CAAEA,KAAM,uBACR,CAAEA,KAAM,2BACR,CAAEA,KAAM,wBACR,CAAEA,KAAM,6BACR,CAAEA,KAAM,gCACR,CAAEA,KAAM,iCACR,CAAEA,KAAM,4BACR,CAAEA,KAAM,yBACR,CAAEA,KAAM,mCACR,CAAEA,KAAM,oCAGZ,CACED,KAAM,YACNC,KAAM,uBACNC,cAAe,CACb,CAAED,KAAM,qBACR,CAAEA,KAAM,uBACR,CAAEA,KAAM,wBACR,CAAEA,KAAM,gCAGZ,CACED,KAAM,YACNC,KAAM,UACNC,cAAe,CAAC,CAAED,KAAM,2BAE1B,CACED,KAAM,YACNC,KAAM,+BACNC,cAAe,CACb,CAAED,KAAM,wBACR,CAAEA,KAAM,qCACR,CAAEA,KAAM,oCACR,CAAEA,KAAM,qCACR,CAAEA,KAAM,uCACR,CAAEA,KAAM,8BACR,CAAEA,KAAM,mCACR,CAAEA,KAAM,kDACR,CAAEA,KAAM,qDACR,CAAEA,KAAM,sDAGZ,CACED,KAAM,YACNC,KAAM,wBACNC,cAAe,CACb,CAAED,KAAM,0BACR,CAAEA,KAAM,8BACR,CAAEA,KAAM,yBAGZ,CACED,KAAM,YACNC,KAAM,yBACNC,cAAe,CAAC,CAAED,KAAM,8BAAgC,CAAEA,KAAM,iCAElE,CACED,KAAM,QACNC,KAAM,oBACNC,cAAe,CACb,CAAED,KAAM,wBACR,CAAEA,KAAM,0BACR,CAAEA,KAAM,uBAGZ,CACED,KAAM,YACNC,KAAM,0BACNC,cAAe,CACb,CAAED,KAAM,iCACR,CAAEA,KAAM,iCACR,CAAEA,KAAM,qCAGZ,CACED,KAAM,QACNC,KAAM,6BACNC,cAAe,CAAC,CAAED,KAAM,0BAA4B,CAAEA,KAAM,0BAE9D,CACED,KAAM,QACNC,KAAM,iBACNC,cAAe,CACb,CAAED,KAAM,wBACR,CAAEA,KAAM,0BACR,CAAEA,KAAM,uBAGZ,CACED,KAAM,YACNC,KAAM,gBACNC,cAAe,CAAC,CAAED,KAAM,kCAAoC,CAAEA,KAAM,yBAEtE,CACED,KAAM,YACNC,KAAM,4BACNC,cAAe,CACb,CAAED,KAAM,yBACR,CAAEA,KAAM,+BACR,CAAEA,KAAM,0CAGZ,CACED,KAAM,QACNC,KAAM,4BACNC,cAAe,CACb,CAAED,KAAM,wCACR,CAAEA,KAAM,kCACR,CAAEA,KAAM,mDAGZ,CACED,KAAM,QACNC,KAAM,gCACNC,cAAe,CACb,CAAED,KAAM,0CACR,CAAEA,KAAM,0CAGZ,CACED,KAAM,YACNC,KAAM,aACNC,cAAe,CAAC,CAAED,KAAM,oBAE1B,CACED,KAAM,YACNC,KAAM,YACNC,cAAe,CAAC,CAAED,KAAM,oBAE1B,CACED,KAAM,YACNC,KAAM,QACNC,cAAe,CAAC,CAAED,KAAM,oBAE1B,CACED,KAAM,YACNC,KAAM,eACNC,cAAe,CACb,CAAED,KAAM,gBACR,CAAEA,KAAM,gBACR,CAAEA,KAAM,yBACR,CAAEA,KAAM,yBACR,CAAEA,KAAM,qBAGZ,CACED,KAAM,YACNC,KAAM,sBACNC,cAAe,CACb,CAAED,KAAM,mCACR,CAAEA,KAAM,qCACR,CAAEA,KAAM,2BACR,CAAEA,KAAM,6BACR,CAAEA,KAAM,6BAGZ,CACED,KAAM,YACNC,KAAM,yBACNC,cAAe,CACb,CAAED,KAAM,yBACR,CAAEA,KAAM,gCACR,CAAEA,KAAM,0BACR,CAAEA,KAAM,6BACR,CAAEA,KAAM,+BACR,CAAEA,KAAM,kCACR,CAAEA,KAAM,4BACR,CAAEA,KAAM,4BACR,CAAEA,KAAM,kCAGZ,CACED,KAAM,YACNC,KAAM,6BACNC,cAAe,CACb,CAAED,KAAM,qCACR,CAAEA,KAAM,gCACR,CAAEA,KAAM,uCAGZ,CACED,KAAM,YACNC,KAAM,+BACNC,cAAe,CACb,CAAED,KAAM,6BACR,CAAEA,KAAM,+BACR,CAAEA,KAAM,gCACR,CAAEA,KAAM,2C,kCChRlB,MAAME,GAAOC,EAAAA,EAAAA,gBAAe,CAC1BC,0BAA2B,CACzBb,GAAI,0BACJc,eAAgB,sFAChBC,YAAa,gEAEfC,wBAAyB,CACvBhB,GAAI,wBACJc,eAAgB,eAChBC,YAAa,yDAEfE,2BAA4B,CAC1BjB,GAAI,0BACJc,eAAgB,kCAChBC,YAAa,2FAEfG,qBAAsB,CACpBlB,GAAI,qBACJc,eAAgB,eAChBC,YAAa,+EAEfI,kBAAmB,CACjBnB,GAAI,qBACJc,eAAgB,oBAChBC,YAAa,2EAEfK,0BAA2B,CACzBpB,GAAI,yBACJc,eAAgB,eAChBC,YAAa,sFAIXM,YAAc,IAClB,gBAAC,KAAD,CAAUC,MAAM,cAAcC,eAAe,EAAOC,eAAe,EAAOC,OAAO,eAAeC,UAAU,WACxG,gBAAC,KAAD,KACE,8BAAQC,EAAAA,EAAAA,GAAEhB,EAAKE,4BACf,wBACEJ,KAAK,WACLmB,QAAQ,wGAEV,wBACEnB,KAAK,cACLmB,QAAQ,uKAGZ,uBAAK,cAAY,cAAcC,UAAU,iDACvC,uBAAKA,UAAU,oCACb,qBACEC,KAAK,IACLD,UAAU,wBACV,mBAAiBE,EAAAA,EAAAA,0BAAyB,CACxCC,KAAM,CACJC,WAAY,sCACZC,WAAY,kBAIhB,gBAAC,KAAD,OAEF,gBAAC,EAAAC,WAAD,CAAYC,QAAQ,aAClB,gBAAC,EAAAT,EAAD,CAAGU,KAAM1B,EAAKK,2BAEhB,uBAAKa,UAAU,sCACb,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,eAAeP,UAAU,aAC3C,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,EAAKE,6BAEhB,gBAAC,EAAAsB,WAAD,CAAYG,UAAU,MAAMF,QAAQ,YAAYP,UAAU,WACxD,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,EAAKM,8BAEhB,gBAAC,EAAAsB,OAAD,CACEjB,MAAM,UACNQ,KAAK,6CACL,mBAAiBC,EAAAA,EAAAA,0BAAyB,CACxCC,KAAM,CACJC,WAAY,gCACZC,WAAY,kBAIhB,gBAAC,EAAAP,EAAD,CAAGU,KAAM1B,EAAKO,wBAEhB,uBAAKW,UAAU,4CACb,sBAAIA,UAAU,+BACZ,sBAAIA,UAAU,sDACZ,qBACEC,KAAK,IACL,mBAAiBC,EAAAA,EAAAA,0BAAyB,CACxCC,KAAM,CACJC,WAAY,6BACZC,WAAY,kBAIhB,gBAAC,EAAAP,EAAD,CAAGU,KAAM1B,EAAKQ,sBAGlB,sBAAIU,UAAU,sDACZ,qBACEC,KAAK,0BACL,mBAAiBC,EAAAA,EAAAA,0BAAyB,CACxCC,KAAM,CACJC,WAAY,qCACZC,WAAY,kBAIhB,gBAAC,EAAAP,EAAD,CAAGU,KAAM1B,EAAKS,iCAMxB,wBAAMS,UAAU,gCAhFlBR,YAAAA,YAAAA,cAsFN,oB,2CClHe,SAASmB,mBAAT,GAA6E,IAA/CC,EAA+C,EAA/CA,SAAaC,EAAkC,SAC1F,OAAO,gBAAC,KAAWA,EAAOD,GADJD,mBAAAA,YAAAA,qBCVxB,2B,ICGKG,G,SAAAA,GAAAA,EAAAA,EAAAA,MAAAA,GAAAA,QAAAA,EAAAA,EAAAA,KAAAA,GAAAA,OAAAA,EAAAA,EAAAA,KAAAA,GAAAA,OAAAA,EAAAA,EAAAA,QAAAA,GAAAA,U,CAAAA,IAAAA,EAAAA,KAaL,MAAMC,EAAgCzC,OAAO0C,OAAO,CAClD,YAAa,CACXC,SAAU,GACVC,MAAOJ,EAAMK,MAEf,QAAS,CACPF,SAAU,GACVC,MAAOJ,EAAMK,MAEf,QAAS,CACPF,SAAU,QACVC,MAAOJ,EAAMM,MAEfC,GAAI,CACFJ,SAAU,KACVC,MAAOJ,EAAMM,MAEfE,GAAI,CACFL,SAAU,KACVC,MAAOJ,EAAMS,SAEfC,GAAI,CACFP,SAAU,KACVC,MAAOJ,EAAMW,OAEfC,GAAI,CACFT,SAAU,KACVC,MAAOJ,EAAMW,OAEfE,GAAI,CACFV,SAAU,KACVC,MAAOJ,EAAMW,OAEfG,GAAI,CACFX,SAAU,KACVC,MAAOJ,EAAMW,OAEfI,GAAI,CACFZ,SAAU,KACVC,MAAOJ,EAAMW,OAEfK,GAAI,CACFb,SAAU,KACVC,MAAOJ,EAAMW,OAEfM,GAAI,CACFd,SAAU,KACVC,MAAOJ,EAAMW,OAEfO,GAAI,CACFf,SAAU,KACVC,MAAOJ,EAAMW,OAEfQ,GAAI,CACFhB,SAAU,KACVC,MAAOJ,EAAMW,OAEfS,GAAI,CACFjB,SAAU,KACVC,MAAOJ,EAAMW,OAEfU,GAAI,CACFlB,SAAU,KACVC,MAAOJ,EAAMW,OAEfW,GAAI,CACFnB,SAAU,KACVC,MAAOJ,EAAMW,OAEfY,GAAI,CACFpB,SAAU,KACVC,MAAOJ,EAAMW,SAIJa,EAAiB,CAC5B,CACEC,KAAM,aAER,CACEA,KAAM,SAER,CACEA,KAAM,SAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,MAER,CACEA,KAAM,OCrIK,SAASC,KAAI,cAAEC,EAAgB,GAAlB,SAAsB7B,IAChD,SAGI8B,EAAAA,EAAAA,YAAWC,EAAAA,IAFEC,EADjB,EACEC,YAAeD,OACfE,EAFF,EAEEA,IAEIC,EAAON,GAAiBK,EACxBE,GAAYC,EAAAA,EAAAA,UAAQ,IDmIrB,SAASC,SAASN,EAAgBG,GAuBvC,OAtBkBT,EAAM/E,KAAI,EAAGgF,KAAAA,MAC7B,MAAMY,EAAWpC,EAAUwB,GAAMtB,SACjC,OAAIF,EAAUwB,GAAMrB,QAAUJ,EAAMK,KAC3B,CACLoB,KAAAA,EACAtC,KAAO,eAAc2C,QAAaG,KAGlChC,EAAUwB,GAAMrB,QAAUJ,EAAMW,MAC3B,CACLc,KAAAA,EACAtC,KAAO,eAAckD,KAAYP,QAAaG,KAG9ChC,EAAUwB,GAAMrB,QAAUJ,EAAMM,KAC3B,CACLmB,KAAAA,EACAtC,KAAO,eAAc2C,KAAUO,IAAWJ,UAH9C,KAQeK,QAAOC,GAASA,IC1JDH,CAASN,EAAQG,IAAkB,CAACH,EAAQG,IAC5E,OACE,gCACE,gBAAC,EAAD,KCjBS,SAASO,cACtB,OACE,gCACE,yBAAO,cAAY,uBAAsBlF,EAAAA,EAAAA,GAAEU,EAAAA,YAC3C,wBAAM,cAAY,wBAAwBF,KAAK,WAAWmB,SAAS3B,EAAAA,EAAAA,GAAEU,EAAAA,gBACrE,wBAAM,cAAY,oBAAoBF,KAAK,cAAcmB,SAAS3B,EAAAA,EAAAA,GAAEU,EAAAA,oBDiBjEwE,GElBM,SAASC,eAAc,UAAEP,EAAF,KAAaD,IACjD,OACE,gCACE,wBAAM,cAAY,2BAA2BS,IAAI,YAAYvD,KAAM8C,IAClEC,MAAAA,OAFH,EAEGA,EAAWzF,KAAI,EAAGgF,KAAAA,EAAMtC,KAAAA,KACvB,wBAAM,cAAY,2BAA2BwD,IAAKlB,EAAMiB,IAAI,YAAYvD,KAAMA,EAAMyD,SAAUnB,OFc7FgB,CAAc,CAAEP,UAAAA,EAAWD,KAAAA,KAE7BnC,GG9BP,MAoBA,EApBa,CACX+C,UAAW,CACTxF,GAAI,sCACJc,eAAgB,iCAChBC,YAAa,0DAEf0E,gBAAiB,CACfzF,GAAI,4CACJc,eACE,oKACFC,YAAa,qEAEf2E,aAAc,CACZ1F,GAAI,yCACJc,eACE,sGACFC,YAAa,qG,+lBCZV,MAEM4E,UAAY,IAAiC,iBAAXC,OAQxC,SAASC,mBAAqC3F,GAEnD,OAAOA,EAAK4F,QAAO,CAACC,EAAGC,IAAJ,+BAAgBD,GAAhB,IAAmB,CAACC,GAAIA,KADxB,IAWd,SAASC,eAAeC,GAC7B,IAAKP,YAAa,MAAO,GACzB,MAAMlF,EAAQ,GAAEyF,KAChB,IAAIC,EAAc,GAClB,MACMC,EADgBC,mBAAmBC,SAASC,QACbC,MAAM,KAW3C,OATAJ,MAAAA,GAAAA,EAAgBK,SAASC,IACvB,IAAIC,EAAOD,EACX,KAAOC,EAAKC,WAAW,MACrBD,EAAOD,EAAEG,UAAU,GAEjBF,EAAKC,WAAWnG,KAClB0F,EAAcO,EAAEG,UAAUpG,EAAKqG,OAAS,EAAGJ,EAAEI,YAG1CX,ECtCF,MAAMY,EAAsC5G,OAAO0C,OAAO,CAAC,8BAgBrDmE,EAAgCnB,mBAdf1F,OAAO0C,OAAO,CAC1C,QACA,mBACA,kBACA,oBACA,mBACA,kBACA,iBACA,wBACA,sBACA,eACA,qBAKWoE,EAAmC,CAC9CC,MAAOF,EAA8BG,MACrCC,gBAAiBJ,EAA8BK,iBAC/CC,eAAgBN,EAA8BO,gBAC9CC,iBAAkBR,EAA8BS,kBAChDC,gBAAiBV,EAA8BW,iBAC/CC,eAAgBZ,EAA8Ba,gBAC9CC,cAAed,EAA8Be,eAC7CC,cAAehB,EAA8BiB,sBAC7CC,YAAalB,EAA8BmB,oBAC3CC,WAAYpB,EAA8BqB,aAC1CC,KAAMtB,EAA8BuB,iBAMzBC,EAA8C,CACzD,CAACvB,EAASC,OAAQ,EAClB,CAACD,EAASG,iBAAkB,GAC5B,CAACH,EAASK,gBAAiB,GAC3B,CAACL,EAASO,kBAAmB,GAC7B,CAACP,EAASS,iBAAkB,GAC5B,CAACT,EAASW,gBAAiB,GAC3B,CAACX,EAASa,eAAgB,GAC1B,CAACb,EAASe,eAAgB,IAC1B,CAACf,EAASiB,aAAc,IACxB,CAACjB,EAASmB,YAAa,GACvB,CAACnB,EAASqB,MAAO,IAGNG,EAA6B,CACxCxB,EAASG,gBACTH,EAASO,iBACTP,EAASW,gBAGEc,EAAgC,CAC3CzB,EAASa,cACTb,EAASS,gBACTT,EAASG,iBAGEuB,EAA2B,CAAC1B,EAASe,cAAef,EAASiB,YAAajB,EAASmB,YAcnFQ,GANqBzI,OAAO0C,OAAO,CAAC,KAAM,KAAM,KAAM,OAMZ,CACrD,CAACoE,EAASe,eAAgBf,EAASS,gBACnC,CAACT,EAASiB,aAAcjB,EAASa,gBAOA3H,OAAO0C,OAAO,CAC/C,uBAAuB,EACvB,uBAAuB,ICnFV,SAASgG,QAAO,SAAEpG,IAG/B,OCFa,SAASqG,UAAUC,GAChC,MAAMC,GAAiBC,EAAAA,EAAAA,QAA4B,KAEnDC,EAAAA,EAAAA,YAAU,KACRF,EAAeG,QAAUJ,EAAK3J,KAAKuF,IACjC,MAAMyE,EAAwB9C,SAAS+C,cAAe,eAAc1E,OACpE,IAAKyE,EAAuB,CAC1B,MAAME,EAAShD,SAASiD,cAAc,UAMtC,OALAD,EAAOE,IAAM7E,EACb2E,EAAOG,OAAQ,EACfH,EAAOI,KAAO,kBACdJ,EAAOK,aAAa,cAAe,WACnCrD,SAASsD,KAAKC,YAAYP,GACnBA,EAET,OAAOF,KAGF,KAAM,MAEX,UAAAJ,EAAeG,eAAf,SAAwB1C,SACrBqD,GAAqCA,GAAiBxD,SAASsD,KAAKG,YAAYD,QAGpF,CAACf,IDxBJD,CAAU/B,GAGR,gBAAC,IAAD,KACE,yBAAO2C,KAAK,YAAa,8EAKzB,gBAAC,KAAD,CAAUjI,OAAO,kBAAkBC,UAAU,UAAUsI,QAAQ,GAC7D,4BAAOvH,KAXSoG,OAAAA,YAAAA,S,2CEuBT,SAASoB,sBAAqB,cAAEC,EAAF,eAAiBC,GAAmB,IAC/E,SAEI5F,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAe0F,EADjB,EACiBA,YAAaC,EAD9B,EAC8BA,aAE9B,GAAgDC,EAAAA,EAAAA,UAAS,MAAzD,WAAOC,EAAP,KAAyBC,EAAzB,KACA,GAAiCC,EAAAA,EAAAA,IAASC,EAAAA,yBAA0B,CAClEC,UAAW,CACTP,YAAAA,EACAC,aAAAA,EACAF,eAAAA,EACAD,cAAAA,GAEFU,YAAa,KAIXJ,EAAoBxI,GAAQA,EAAK6I,sBAAsBN,qBAXnDO,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,MAAO/I,EAAxB,EAAwBA,KAiBhB2D,GAAcqF,EAAAA,EAAAA,+BAAdrF,UAKR,OAJIsF,MAAMC,QAAQX,IAAqB5E,GAvCFwF,CAAAA,IAErC,MACM1G,EADWmB,OAAOwF,SAAhBC,KACYC,QAAQ,YAAa,IACzCH,EAAQ1E,SAAQ8E,IACdjF,SAASC,OAAU,GAAEgF,EAAU9K,QAAQ8K,EAAUC,kBAAkBD,EAAUE,uBAAuBhH,QAmCpGiH,CAA+BnB,GAG1B,CAAEO,QAAAA,EAAS9I,KAAAA,EAAM+I,MAAAA,GCDnB,IAAKY,EA2EAC,G,SA3EAD,GAAAA,EAAAA,OAAAA,SAAAA,EAAAA,UAAAA,YAAAA,EAAAA,gBAAAA,kBAAAA,EAAAA,QAAAA,U,CAAAA,IAAAA,EAAAA,K,SA2EAC,GAAAA,EAAAA,WAAAA,aAAAA,EAAAA,MAAAA,QAAAA,EAAAA,WAAAA,a,CAAAA,IAAAA,EAAAA,KC9HL,MAAMC,GAA2BC,EAAAA,EAAAA,eAA4C,IACvEC,EAA4BF,EAAyBG,SC6BlE,QAtBO,SAASC,gBAAmBC,GACjC,OAAOC,IACL,SAA8CC,EAAAA,EAAAA,MAAtC9H,cACF+H,QADN,MAAwBT,EAAYU,MAApC,KACqCV,EAAYW,WAAa7D,EAAsBC,EAEpF,EAAiCsB,uBAAzBc,EAAR,EAAQA,MAAOD,EAAf,EAAeA,QAAS9I,EAAxB,EAAwBA,KACxB,OAGqB+I,EACf,gBAAC,KAAD,MAEgBA,GAAUD,IAAW9I,EAN3C,KAOM,gBAAC+J,EAAD,CAA2BP,MAAOxJ,EAAK6I,sBAAsB2B,UAC3D,gBAACN,EAAD,eAAkBO,YAAazK,EAAK6I,sBAAsB2B,SAAUH,WAAYA,GAAgBF,O,uBC3B5G,MA6DA,GA3DavL,EAFc8L,EAAQ,KAA3B9L,gBAEoB,CAC1B+L,aAAc,CACZ3M,GAAI,8BACJc,eAAgB,mCAChBuB,KAAM,uEAERuK,gBAAiB,CACf5M,GAAI,iCACJc,eAAgB,mCAChBuB,KAAM,uEAERwK,oBAAqB,CACnB7M,GAAI,qCACJc,eAAgB,uCAChBuB,KAAM,2EAERyK,uBAAwB,CACtB9M,GAAI,2CACJc,eACE,yHACFuB,KAAM,sEAER0K,aAAc,CACZ/M,GAAI,2BACJc,eAAgB,eAChBuB,KAAM,kDAER2K,WAAY,CACVhN,GAAI,0BACJc,eAAgB,aAChBuB,KAAM,sGAER4K,iBAAkB,CAChBjN,GAAI,gCACJc,eAAgB,mBAChBuB,KAAM,4GAER6K,WAAY,CACVlN,GAAI,2BACJc,eAAgB,aAChBuB,KAAM,8FAER8K,gBAAiB,CACfnN,GAAI,6BACJc,eAAgB,0BAChBuB,KAAM,mGAER+K,WAAY,CACVpN,GAAI,oCACJc,eAAgB,aAChBuB,KAAM,4EAERgL,aAAc,CACZrN,GAAI,sCACJc,eAAgB,eAChBuB,KAAM,gF,cCtDV,MAEaiL,EAA0CzH,mBAFrB1F,OAAO0C,OAAO,CAAC,UAAW,KAAM,SAAU,KAAM,KAAM,KAAM,KAAM,UAkBpG,GAX2D,CACzD0K,QAAS,UACTC,GAAIC,EAAAA,GAAAA,YAAAA,GACJ,SAAU,IACVC,GAAID,EAAAA,GAAAA,YAAAA,GACJE,GAAIF,EAAAA,GAAAA,YAAAA,GACJG,GAAIH,EAAAA,GAAAA,YAAAA,GACJI,GAAIJ,EAAAA,GAAAA,YAAAA,GACJK,KAAM,QCRFC,kBAAoB,CAACC,EAAuBC,IACxC,sCAAqCA,MAAAA,EAAAA,EAAgBC,GAAqBF,QAmBvEG,IAFiBJ,kBAAkBT,EAAaK,IAE/BI,kBAAkBT,EAAaI,KCzB7D,ID2B8BK,kBAAkBT,EAAaE,IAExBO,kBAAkBT,EAAa,WAEtCS,kBAAkBT,EAAaO,IAE/BE,kBAAkBT,EAAaM,KCjC9CQ,EAAAA,EAAAA,KAAgB,EAAGC,QAAAA,EAAS3E,KAAAA,MAAZ,CAC7B4E,QAAS,CACP,OAAQ,CACNC,QAAS,QACTC,SAAU9E,EAAK8E,SAASC,aACxBC,UAAW,SACXC,OAAQ,CAACN,EAAQ,GAAIA,EAAQ,GAAIA,EAAQ,IACzCO,WAAYlF,EAAKkF,WAAWC,OAC5B,CAACV,IAAiB,CAChBK,SAAU9E,EAAK8E,SAASM,MACxBH,OAAQ,CAACN,EAAQ,GAAI,OAAQA,EAAQ,YCD9B,SAASU,aAAY,SAAEtM,IACpC,MAAQ6L,EAAYU,KAAZV,QAER,OACE,gBAAC,IAAD,CAAKzM,UAAWyM,GACd,gBAAC,IAAD,CAAYhM,UAAU,KAAKF,QAAQ,QAAQ,cAAY,eACpDK,MAAAA,EAAAA,EAAY,gBAAC,EAAAd,EAAD,CAAGU,KAAM1B,EAAAA,iBANNoO,YAAAA,YAAAA,cCExB,MA2BA,GA3BkC,CAChCE,MAAO,CACLrK,KAAM,iBACNsK,OAAOjP,EAAAA,EAAAA,GAAEU,EAAAA,YACTwO,YAAa,CACXC,UAAW,yBAEbC,YAAa,SAEfC,WAAY,CACV1K,KAAM,sBACNsK,OAAOjP,EAAAA,EAAAA,GAAEU,EAAAA,kBACTwO,YAAa,CACXC,UAAW,wBAEbC,YAAa,cAEfE,WAAY,CACV3K,KAAM,sBACNsK,OAAOjP,EAAAA,EAAAA,GAAEU,EAAAA,YACTwO,YAAa,CACXC,UAAW,uBAEbC,YAAa,eCnCjB,IAAejB,EAAAA,EAAAA,KAAgB,EAAGC,QAAAA,EAAS3E,KAAAA,EAAM8F,eAAAA,MAAlB,CAC7BC,UAAW,CACTd,OAAQ,CAAC,EAAG,OAAQN,EAAQ,IAC5B,CAACF,IAAiB,CAChBuB,aAAcrB,EAAQ,KAG1BsB,KAAM,CACJpB,QAAS,OACTqB,UAAW,OACXC,eAAgB,SAChBC,QAAS,GAEXC,SAAU,CACRD,QAAS,0BACTnB,OAAQ,CAAC,EAAG,IACZH,SAAU9E,EAAK8E,SAASwB,OACxBtB,UAAW,SACXH,QAAS,OACT0B,WAAY,SACZ,CAAC9B,IAAiB,CAChBK,SAAU9E,EAAK8E,SAAS5E,MAE1B,MAAO,CACLtI,MAAOkO,EAAeU,OAAOC,SAC7B,mBAAoB,CAClBC,eAAgB,SAGpB,aAAc,CACZC,aAAe,aAAYb,EAAeU,OAAOI,UACjD,MAAO,CACLhP,MAAOkO,EAAeU,OAAOI,eCzBtB,SAASC,SAAQ,MAAErB,EAAF,SAASsB,EAAT,IAAmB7L,IACjD,MAAQoL,EAAaU,KAAbV,SAER,OACE,sBAAIlO,UAAY,GAAEkO,KAAYS,KAC5B,gBAAC,KAAD,CAAME,GAAI/L,GACR,8BAASuK,KCFF,SAASyB,aACtB,SAA4DvE,EAAAA,EAAAA,MAA5D,IAAQ9H,cAAAA,OAAR,MAAwBsH,EAAYU,MAApC,MAA2CsE,QAAAA,OAA3C,MAAqD,GAArD,EACA,EAA4BC,KAApBpB,EAAR,EAAQA,UAAWE,EAAnB,EAAmBA,KAEnB,OACE,uBAAK9N,UAAW4N,GACd,sBAAI5N,UAAW8N,EAAMmB,KAAK,WACvB3Q,OAAOD,KAAK6Q,IAAc3R,KAAI4R,IAC7B,MAAMC,EAAQF,GAAaC,GAErBE,EAAW,CACfhC,MAAO+B,EAAM/B,MACbsB,SACElM,IAAkB2M,EAAM5B,aACL,gBAAlB/K,GAAyD,eAAtB2M,EAAM5B,YACtC,WACA,GACN1K,KAAKwM,EAAAA,EAAAA,WAAW,GAAEF,EAAMrM,QAAQgM,IAAWK,EAAM9B,cAGnD,OAAO,gBAACoB,QAAD,iBAAaW,EAAb,CAAuB5L,IAAK0L,UDxBrBT,QAAAA,YAAAA,UCIAI,WAAAA,YAAAA,a,eCPxB,UAAevC,EAAAA,EAAAA,KAAgB,EAAGoB,eAAAA,EAAgB4B,aAAAA,EAAc/C,QAAAA,MAAjC,CAC7BgD,IAAK,CACH1C,OAAS,GAAEN,EAAQ,aACnBE,QAAS,OACTsB,eAAgB,SAChB,MAAO,CACLyB,SAAU,IACVC,MAAO,MACPC,gBAAiB,EAAGC,YAAAA,MAAH,uBAA4BL,EAAaK,UAAzC,aAA4B,EAA2BC,SACxEC,OAAQ,OACR,mBAAoB,CAClBH,gBAAiB,EAAGC,YAAAA,MAAH,uBAA4BL,EAAaK,UAAzC,aAA4B,EAA2BC,WAG5E,CAACvD,IAAiB,CAChBQ,OAAQ,CAAC,OAAQ,EAAG,KAGxBiD,MAAO,CACLjD,OAAS,GAAEN,EAAQ,aACnBE,QAAS,OACTsB,eAAgB,SAChBgC,WAAY,OACZF,OAAQ,OACR,WAAY,CACVrQ,MAAOkO,EAAeU,OAAO4B,OAE/B,CAAC3D,IAAiB,CAChBQ,OAAQ,CAAC,OAAQ,EAAG,SCX1B,IAvBa/N,EAFc8L,EAAQ,KAA3B9L,gBAEoB,CAC1BmR,OAAQ,CACN/R,GAAI,4BACJc,eAAgB,SAChBuB,KAAM,6EAER2P,QAAS,CACPhS,GAAI,4BACJc,eAAgB,UAChBuB,KAAM,+EAER4P,UAAW,CACTjS,GAAI,8BACJc,eAAgB,YAChBuB,KAAM,0EAER6P,WAAY,CACVlS,GAAI,+BACJc,eAAgB,aAChBuB,KAAM,+ECNV,MAAM8P,WAAa,EAAGC,SAAAA,EAAUX,YAAAA,EAAaY,MAAAA,GAAQ,MACnD,QAAuBC,GAAU,CAAEb,YAAAA,IAA3BJ,EAAR,EAAQA,IAAKO,EAAb,EAAaA,MAEb,ECIa,SAASW,YAAW,UAAEC,EAAF,SAAaJ,IAG9C,OAAII,IAAchK,EAAYH,aACrB,CACL1D,IAlBkB,qBAmBlB8N,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,aAGRyR,IAAazG,EAAUqG,QAClB,CACLrN,IAzBe,gBA0Bf8N,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,UAGRyR,IAAazG,EAAUoG,OAClB,CACLpN,IAAM,iCAAkB6N,IACxBC,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,SAGRyR,IAAazG,EAAU+G,gBAClB,CACL/N,IAAK,GACL8N,KAAM,KACNE,UAAU,GAGP,CACLhO,IAAK,GACL8N,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,WACRgS,UAAU,GDnCoBJ,CAAW,CAAEC,UAD3BhK,EAAYiJ,GAC0BW,SAAAA,IAAhDzN,EAAR,EAAQA,IAAK8N,EAAb,EAAaA,KAAME,EAAnB,EAAmBA,SAEnB,OACE,uBAAK9Q,UAAW8Q,EAAWf,EAAQP,GACjC,gBAAC,MAAD,CACEvP,KAAM6C,EACNiO,WAAS,EACTxQ,QAASuQ,EAAW,OAAS,QAC7BA,SAAUA,EACV,cAAY,kBACZ3E,KAAMqE,EAAQ,KAAO,MAEpBI,KAfHN,WAAAA,YAAAA,aAqBN,oBElCMU,GAAY,UACZC,GAAqB,iBACrBC,GAAkB,uCAElBC,oBAA0CC,GAAU,GAAEA,oBAwC5D,GA3BgC,CAC9B,CAAChM,EAASe,eAAgB,CACxBkL,UAAWJ,GACXK,OAAQJ,IAEV,CAAC9L,EAASiB,aAAc,CACtBgL,UAAWJ,GACXK,OAAQJ,IAEV,CAAC9L,EAASmB,YAAa,CACrB+K,OAAQ,yFAEV,CAAClM,EAASa,eAAgB,CACxBoL,UAAWL,GACXO,sBAAwBH,GAAkBD,oBAAoBC,IAEhE,CAAChM,EAASS,iBAAkB,CAC1BwL,UAAWL,GACXO,sBAAwBH,GAAkBD,oBAAoBC,GAC9DI,aAAa,GAEf,CAACpM,EAASG,iBAAkB,CAC1B8L,UAAWL,GACXO,sBAAuB,IAAM,OCpClB,SAASE,cAAa,YAAE7B,EAAF,eAAe8B,IAAyD,MAC3G,OACE,gBAAC,IAAD,CAAYjR,UAAU,KAAKF,QAAQ,YAAY,cAAY,sBAAsBoR,MAAM,UACpFD,EACD,gBAAC,IAAD,CAAYjR,UAAU,OAAOF,QAAQ,YAAY,cAAY,sBAA7D,UACGqR,GAAYhC,UADf,aACG,EAA0ByB,YCNpB,SAASQ,eAAc,OAAEP,EAAF,YAAU1B,IAC9C,OAAK0B,EAIH,gBAAC,IAAD,CACE7Q,UAAWmP,IAAgBxK,EAASmB,WAAa,IAAM,KACvDhG,QAAQ,OACR,cAAY,gBACZoR,MAAM,UAELL,GATI,iCDDaG,aAAAA,YAAAA,eCDAI,cAAAA,YAAAA,gBCGxB,UAAetF,EAAAA,EAAAA,KAAgB,EAAG1E,KAAAA,EAAM0H,aAAAA,MAAT,CAC7BuC,YAAa,CACXnF,SAAU,GACVoF,SAAU,WACVC,OAAQ,EACRC,KAAM,EACNC,OAAQ,EACRC,SAAU,SACVzC,MAAO,GACP0C,OAAQ,GACR,oBAAqB,CACnBrS,QAAS,KACT2M,QAAS,QACTwF,QAAS,EACTvC,gBAAiB,EAAGC,YAAAA,KAAyBL,EAAaK,GAAaC,QACvEkC,SAAU,YAEZ,WAAY,CACVE,IAAK,EACLG,OAAQ,EACR1C,MAAO,GACP2C,KAAM,EACNC,oBAAqB,GAEvB,UAAW,CACT5C,MAAO,EACP0C,OAAQ,GACRJ,MAAO,EACPO,wBAAyB,EACzBC,OAAQ,GAEV,MAAO,CACL7F,SAAU,GACVI,WAAYlF,EAAKkF,WAAWC,OAC5BvN,MAAO,OACPoN,UAAW,SACX4F,WAAY,OACZC,UAAY,wDACZhD,MAAO,IACPhD,QAAS,QACTiG,UAAW,OACXZ,SAAU,WACVE,IAAK,MACLI,KAAM,MACN1C,gBAAiB,EAAGC,YAAAA,MAAH,uBAAqBL,EAAaK,UAAlC,aAAqB,EAA2BC,SACjE/C,OAAQ,QC1CC,SAAS8F,QAAO,SAAEhS,EAAF,YAAYgP,IACzC,MAAQkC,EAAgBe,GAAgB,CAAEjD,YAAAA,IAAlCkC,YACR,OACE,yBAAO,cAVgB,SAUU9R,UAAW8R,GAC1C,yBAAIlR,IAJcgS,OAAAA,YAAAA,SCXxB,MAeA,IAba7T,EAFc8L,EAAQ,KAA3B9L,gBAEoB,CAC1B+T,WAAY,CACV3U,GAAI,uBACJc,eAAgB,aAChBuB,KAAM,+DAERuS,gBAAiB,CACf5U,GAAI,4BACJc,eAAgB,uBAChBuB,KAAM,mF,8oBCmBH,SAASwS,oBAAoBC,GAClC,OAAOA,EAASC,MAAKC,GAAwB,4BAAjBA,MAAAA,OAAA,EAAAA,EAAKC,WAqD5B,SAASC,uBAAuBC,GACrC,OAAOA,EAAWrP,QAChB,CAACsP,EAAoBC,IAArB,yBAAC,4BACID,GADL,IAEE,CAACC,EAAQ5U,MAAO4U,KAElB,ICtFJ,UAAejH,EAAAA,EAAAA,KAAgB,EAAGC,QAAAA,EAAS3E,KAAAA,EAAM4L,QAAAA,MAAlB,CAC7BC,OAAQ,CACN7G,UAAW,SACXoB,QAAS,CAACzB,EAAQ,GAAIA,EAAQ,GAAI,GAClC,OAAQ,CACNG,SAAU,GACVI,WAAYlF,EAAKkF,WAAWC,QAE9B,OAAQ,CACNL,SAAU,GACVI,WAAYlF,EAAKkF,WAAWC,OAC5B2G,WAAY,SACZ,SAAU,CACRhH,SAAU,GACVI,WAAY,MAGhB,OAAQ,CACNJ,SAAU,IAEZ,MAAO,CACLlN,MAAOgU,EAAQ7C,KAAKgD,UACpBjH,SAAU,GACVkH,UAAW,GACXpB,WAAY,KAEd,CAACnG,IAAiB,CAChBwH,UAAW,IACXpH,QAAS,OACTqH,cAAe,SACf/F,eAAgB,mBCVP,SAASgG,eAAc,SACpCzD,EADoC,QAEpC0D,EAFoC,YAGpCrE,EAHoC,SAIpCqD,EAJoC,YAKpCzF,IACyC,YACzC,MAAQkG,EAAWQ,KAAXR,OACAS,EAAgBF,EAAhBE,YAEFC,EAAwBrN,EAAoB6I,GAC5CyE,GAAepR,EAAAA,EAAAA,UAAQ,IAAM+P,oBAAoBC,IAAW,CAACA,IAC7DvB,GAAiBzO,EAAAA,EAAAA,UACrB,IAAMoR,GFeH,SAASC,2BAA2BC,GAAsD,MAC/F,OAAOC,EAAAA,EAAAA,iBAAgB,CACrB7K,OAAO4K,MAAAA,OAAA,EAAAA,EAASE,MAAO,IACvBC,YAAa,WACbC,SAAUJ,MAAAA,GAAF,UAAEA,EAASI,gBAAX,aAAE,EAAmB1W,KAC7B2W,gBAAiB,SACjBC,sBAAuB,IErBDP,CAA2BD,IACjD,CAACA,IAEGS,GAAwB7R,EAAAA,EAAAA,UAC5B,IAAMoR,GFyBH,SAASU,kCAAkCR,GAChD,MAAMS,EALD,SAASC,qBAAqBV,GACnC,OAAOA,EAAQE,KAAO,IAAM,GAIRQ,CAAqBV,GACzC,OAAOC,EAAAA,EAAAA,iBAAgB,CACrB7K,MAAOqL,EACPN,YAAa,WACbC,SAAUJ,EAAQI,SAAS1W,KAC3B2W,gBAAiB,SACjBC,sBAAuB,IEhCDE,CAAkCV,IACxD,CAACA,IAEGzJ,GAAclI,EAAAA,EAAAA,YAAWsH,GAC/B,IAAIkL,EAAa,UAAAtD,GAAYhC,UAAZ,SAA0B4B,aAAcpT,EAAAA,EAAAA,GAAEU,GAAAA,YAAmB,KAE9E,MAAMqW,GAAoBlS,EAAAA,EAAAA,UACxB,IACEmR,EACIxJ,MAAAA,OADiB,EACjBA,EAAasI,MAAMkC,GAA4BA,EAAWC,UAAYjB,IACtE,MACN,CAACA,EAAuBxJ,IAEpB0K,GAAqBrS,EAAAA,EAAAA,UACzB,IAAOkS,EAAoBnC,oBAAoBmC,MAAAA,OAAD,EAACA,EAAmBZ,SAAW,MAC7E,CAACY,IAEGI,GAAoBtS,EAAAA,EAAAA,UACxB,IAAOoR,GAAgBiB,EFnBpB,SAASE,wBAAwBC,EAAiCC,GACvE,IAAIC,EAAS,EACb,MAAMC,GAAiBH,MAAAA,OAAA,EAAAA,EAAiBhB,OAAOiB,MAAAA,OAAxB,EAAwBA,EAAmBjB,MAOlE,OAJImB,EAAiB,IACnBD,EAASE,KAAKC,MAAOF,GAAiBH,MAAAA,OAAH,EAAGA,EAAiBhB,MAAQ,MAG1DkB,EEUuCH,CAAwBF,EAAoBjB,GAAgB,GACxG,CAACiB,EAAoBjB,IAGnBkB,EAAoB,IACtBL,GAAa9W,EAAAA,EAAAA,GAAEU,GAAAA,gBAAsB,CAAEiX,WAAYR,KAGrD,MAAMjE,EACJ9D,IAAgBzD,EAAYU,MAA5B,UACImH,GAAYhC,UADhB,aACI,EAA0B0B,OAD9B,UAEIM,GAAYhC,UAFhB,iBAEI,EAA0B2B,6BAF9B,aAEI,SAAkDG,GAExD,OACE,gCACGwD,GAAc,gBAACtC,OAAD,CAAQhD,YAAaA,GAAcsF,GAElD,0BAAQ,cAAY,wBAAwBlV,UAAW0T,GACrD,gBAAC,IAAD,CAAYjT,UAAU,KAAKF,QAAQ,eAAe,cAAY,4BAA4BoR,MAAM,UAC7FwC,EAAY6B,eAEdpG,IAAgBxK,EAASmB,YACxB,gBAACkL,aAAD,CACE7B,YAAaA,EACb8B,eAAgB9B,IAAgBxK,EAASG,gBAAkBmM,EAAiBoD,IAGhF,gBAACjD,cAAD,CAAeP,OAAQA,EAAQ1B,YAAaA,IAC5C,gBAAC,GAAD,CAAYW,SAAUA,EAAUX,YAAaA,M,soBC7E9C,MAAMqG,UAAY,CAACC,EAAsB3G,KAAvB,CACvBO,OAAQ,EAAGF,YAAAA,KACR,aAAYL,EAAaK,GAAeL,EAAaK,GAAaC,QAAUqG,MAGjF,IAAe3J,EAAAA,EAAAA,KACb,EAAGC,QAAAA,EAASmB,eAAAA,EAAgB4B,aAAAA,MAA5B,CACE4G,wBAAyB,CACvBtI,aAAcrB,EAAQ,GACtBkD,MAAO,OACP,CAACpD,IAAiB,CAChBI,QAAS,OACTqH,cAAe,SACftE,SAAU,IACV2G,WAAY5J,EAAQ,GACpB6J,YAAa7J,EAAQ,KAGzB8J,eAAgB,CACdvE,SAAU,WACV9D,QAAS,CAACzB,EAAQ,GAAI,GACtBsD,OAAS,aAAYnC,EAAeU,OAAOkI,QAC3CC,aAAc,EACd3I,aAAcrB,EAAQ,GACtB,CAACF,IAAiB,CAChB8F,OAAQ,OACRqE,WAAY,yBACZ,oCACKR,UAAUtI,EAAeU,OAAOkI,MAAOhH,MAIhDmH,YAAa,CACX,CAACpK,IAAD,iDACK2J,UAAUtI,EAAeU,OAAOkI,MAAOhH,IAD5C,IAEEsE,WAAYrH,EAAQ,GACpBmK,WAAYnK,EAAQ,MAGxBoK,iBAAkB,CAChBjK,SAAU,GACVG,OAAQ,CAACN,EAAQ,GAAIA,EAAQ,GAAI,GACjCK,UAAW,SACX,CAACP,IAAiB,CAChByF,SAAU,WACVS,OAAQhG,EAAQ,GAChBK,UAAW,aCnDnB,IAAeN,EAAAA,EAAAA,KAAgB,EAAGC,QAAAA,EAAS3E,KAAAA,EAAM8F,eAAAA,MAAlB,CAC7BkJ,SAAU,CACR9I,UAAW,OACXpB,SAAU,GACV8F,WAAY,IACZhT,MAAOkO,EAAeU,OAAOC,SAC7B5B,QAAS,OACTqH,cAAe,SACf9F,QAAS,EACTnB,OAAQ,CAAC,GAAI,OAAQ,IACrB4C,MAAO,IACP,CAACpD,IAAiB,CAChBQ,OAAQ,CAAC,GAAI,EAAG,IAChB4C,MAAO,SAGXoH,YAAa,CACX/E,SAAU,WACV9D,QAAS,CAACzB,EAAQ,GAAI,EAAGA,EAAQ,IACjCE,QAAS,OACT0B,WAAY,SACZ2I,UAAW,aACX,WAAY,CACVhX,QAAS,MACT2M,QAAS,eACTsK,aAAc,GACdvX,MAAOkO,EAAeU,OAAO4I,MAC7BtK,SAAU,IAEZ,CAACL,IAAiB,CAChB2B,QAAU,GAAEzB,EAAQ,QAAQA,EAAQ,QAAQA,EAAQ,QAAQA,EAAQ,OACpE,UAAW,CACTmD,gBAAiBhC,EAAeU,OAAO6I,OACvCT,WAAY,YACZ,sBAAuB,CACrB/J,QAAS,mBAKjByK,eAAgB,CACd1E,WAAY,KAEd2E,iBAAkB,CAChBrF,SAAU,WACVrF,QAAS,YC/Cb,IAAeH,EAAAA,EAAAA,KAAgB,EAAGC,QAAAA,EAAS3E,KAAAA,EAAM8F,eAAAA,MAAlB,CAC7B0J,QAAS,CACPtF,SAAU,WACVrC,MAAO,IACPzB,QAASzB,EAAQ,GACjBmD,gBAAiBhC,EAAeU,OAAOiJ,MACvC5E,UAAW,kBACXT,KAAM,GACNuE,aAAc,EACd7D,UAAW,gCACXT,OAAQ,EACR,OAAQ,CACNnF,WAAYlF,EAAKkF,WAAWC,OAC5Ba,aAAcrB,EAAQ,KAG1B+K,aAAc,CACZ7H,MAAO,GACP0C,OAAQ,GACRL,SAAU,WACVE,IAAK,GACLI,MAAO,GACPK,UAAW,gBACXP,SAAU,SACV,UAAW,CACTpS,QAAS,KACTgS,SAAU,WACVrC,MAAO,GACP0C,OAAQ,GACRpC,WAAYrC,EAAeU,OAAOiJ,MAClC5E,UAAW,kDACXT,IAAK,EACLI,KAAM,MACNM,UAAW,sCC1BF,SAAS6E,gBAAe,eAAEC,EAAF,QAAkBC,IACvD,QAAkCC,KAA1BN,EAAR,EAAQA,QAASE,EAAjB,EAAiBA,aAEjB,OACE,gBAAC,IAAD,CAAKvX,UAAWqX,GACd,gBAAC,IAAD,CAAY5W,UAAU,KAAKF,QAAQ,OAAO,cAAY,mBAAmBP,UAAU,QAChFyX,GAEFC,EACD,wBAAM1X,UAAWuX,KCdR,SAASK,YAAW,SACjCC,EADiC,YAEjCjI,IAKA,QAAoEkI,KAA5DjB,EAAR,EAAQA,SAAUC,EAAlB,EAAkBA,YAAaK,EAA/B,EAA+BA,eAAgBC,EAA/C,EAA+CA,iBAE/C,OACE,sBAAIpX,UAAW6W,GACZgB,EACEzU,QAAQoQ,KAAoCA,IAC5CjW,KAAKiW,GAEF,sBAAIxT,UAAW8W,EAAarT,IAAM,GAAEmM,aAAuB4D,MAAAA,OAA1B,EAA0BA,EAASuE,YACjEvE,MAAAA,OAAA,EAAAA,EAASuE,UACR,wBAAM/X,UAAWmX,GACd3D,MAAAA,OADH,EACGA,EAASuE,SACTvE,MAAAA,OAAA,EAAAA,EAASkE,WAAWlE,MAAAA,OAApB,EAAoBA,EAASiE,iBAC5B,wBAAMzX,UAAWoX,GACf,gBAACI,eAAD,CAAgBC,eAAgBjE,EAAQiE,eAAgBC,QAASlE,EAAQkE,gBCnBhF,SAASM,0BACtBH,EACAI,GAEA,MACiBC,GACbxV,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAeqV,iBAGXC,ECXO,SAASC,qBAAqB9E,GAC3C,SAA0C7K,EAAAA,EAAAA,UAAwB,IAAlE,WAAO0P,EAAP,KAAsBE,EAAtB,KAKA,OAJApV,EAAAA,EAAAA,UAAQ,KACNoV,EAAiBhF,uBAAuBC,MACvC,CAACA,IAEG6E,EDKeG,CAAcT,GACpC,GAA8CpP,EAAAA,EAAAA,UAAoC,IAAlF,WAAO8P,EAAP,KAAwBC,EAAxB,KASA,OAPAvV,EAAAA,EAAAA,UAAQ,KACN,GAAIgV,EAAoB,CACtB,MAAMQ,EAAiBR,EAAmBE,EAAe,CAAEO,OAAQR,IACnEM,EAAmBC,MAEpB,CAACN,EAAeF,EAAoBC,IAEhCK,EFfef,eAAAA,YAAAA,iBCLAI,WAAAA,YAAAA,aGAxB,MAwDA,GAxDoE,CAClE,CACEe,eAAgB,uBAElB,CACEA,eAAgB,yBAElB,CACEA,eAAgB,iBAChBd,SAAU,CAAC,sBAAuB,uBAEpC,CACEc,eAAgB,UAChBd,SAAU,CAAC,gBAAiB,yBAA0B,kBAExD,CACEc,eAAgB,eAElB,CACEA,eAAgB,0BAElB,CACEA,eAAgB,eAChBd,SAAU,CAAC,4BAA6B,0BAE1C,CACEc,eAAgB,4BAElB,CACEA,eAAgB,+BAElB,CACEA,eAAgB,kBAChBd,SAAU,CAAC,sBAAuB,8BAA+B,mCAEnE,CACEc,eAAgB,2BAChBd,SAAU,CAAC,wBAAyB,cAAe,iCAErD,CACEc,eAAgB,mCAElB,CACEA,eAAgB,cAElB,CACEA,eAAgB,eAElB,CACEA,eAAgB,cAElB,CACEA,eAAgB,iBCvDdC,GAAc,oEACdC,GAAiB,+DACjBC,GAAgB,sBAChBC,GACJ,oRACIC,GAAU,kCACVC,GACJ,iNAEF,IAAela,EAXY8L,EAAQ,KAA3B9L,gBAWsB,CAC5B,oCAAqC,CACnCZ,GAAI,wDACJc,eAAgB,iBAChBuB,KAAMoY,IAER,4BAA6B,CAC3Bza,GAAI,iDACJc,eAAgB,wBAChBuB,KAAMqY,IAERK,4BAA6B,CAC3B/a,GAAI,iDACJc,eAAgB,sBAChBuB,KAAMoY,IAERO,oBAAqB,CACnBhb,GAAI,0CACJc,eAAgB,sBAChBuB,KAAMqY,IAERO,qCAAsC,CACpCjb,GAAI,2DACJc,eAAgB,+BAChBuB,KAAMoY,IAERS,6BAA8B,CAC5Blb,GAAI,oDACJc,eAAgB,+BAChBuB,KAAMqY,IAERS,0BAA2B,CACzBnb,GAAI,gDACJc,eAAgB,oBAChBuB,KAAMoY,IAERW,kBAAmB,CACjBpb,GAAI,yCACJc,eAAgB,oBAChBuB,KAAMqY,IAERW,gCAAiC,CAC/Brb,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAERa,wBAAyB,CACvBtb,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAERa,+BAAgC,CAC9Bvb,GAAI,qDACJc,eAAgB,yBAChBuB,KAAMoY,IAERe,uBAAwB,CACtBxb,GAAI,8CACJc,eAAgB,yBAChBuB,KAAMqY,IAERe,yCAA0C,CACxCzb,GAAI,8DACJc,eAAgB,mCAChBuB,KAAMoY,IAERiB,iCAAkC,CAChC1b,GAAI,uDACJc,eAAgB,mCAChBuB,KAAMqY,IAERiB,wCAAyC,CACvC3b,GAAI,6DACJc,eAAgB,kCAChBuB,KAAMoY,IAERmB,gCAAiC,CAC/B5b,GAAI,sDACJc,eAAgB,kCAChBuB,KAAMqY,IAERmB,4CAA6C,CAC3C7b,GAAI,iEACJc,eAAgB,sCAChBuB,KAAMoY,IAERqB,oCAAqC,CACnC9b,GAAI,0DACJc,eAAgB,sCAChBuB,KAAMqY,IAERqB,6CAA8C,CAC5C/b,GAAI,iEACJc,eAAgB,gCAChBuB,KAAMoY,IAERuB,qCAAsC,CACpChc,GAAI,0DACJc,eAAgB,gCAChBuB,KAAMqY,IAERuB,iDAAkD,CAChDjc,GAAI,oEACJc,eAAgB,kCAChBuB,KAAMoY,IAERyB,yCAA0C,CACxClc,GAAI,6DACJc,eAAgB,kCAChBuB,KAAMqY,IAERyB,sCAAuC,CACrCnc,GAAI,0DACJc,eAAgB,4BAChBuB,KAAMoY,IAER2B,8BAA+B,CAC7Bpc,GAAI,mDACJc,eAAgB,4BAChBuB,KAAMqY,IAER2B,uCAAwC,CACtCrc,GAAI,2DACJc,eAAgB,6BAChBuB,KAAMoY,IAER6B,+BAAgC,CAC9Btc,GAAI,oDACJc,eAAgB,6BAChBuB,KAAMqY,IAER6B,qDAAsD,CACpDvc,GAAI,wEACJc,eAAgB,2CAChBuB,KAAMoY,IAER+B,6CAA8C,CAC5Cxc,GAAI,iEACJc,eAAgB,2CAChBuB,KAAMqY,IAER+B,mDAAoD,CAClDzc,GAAI,sEACJc,eAAgB,yCAChBuB,KAAMoY,IAERiC,2CAA4C,CAC1C1c,GAAI,+DACJc,eAAgB,yCAChBuB,KAAMqY,IAERiC,sCAAuC,CACrC3c,GAAI,0DACJc,eAAgB,4BAChBuB,KAAMoY,IAERmC,8BAA+B,CAC7B5c,GAAI,mDACJc,eAAgB,4BAChBuB,KAAMqY,IAERmC,mCAAoC,CAClC7c,GAAI,uDACJc,eAAgB,yBAChBuB,KAAMoY,IAERqC,2BAA4B,CAC1B9c,GAAI,gDACJc,eAAgB,yBAChBuB,KAAMqY,IAERqC,wCAAyC,CACvC/c,GAAI,sDACJc,eAAgB,kCAChBuB,KAAMoY,IAERuC,gCAAiC,CAC/Bhd,GAAI,+CACJc,eAAgB,kCAChBuB,KAAMqY,IAERuC,mDAAoD,CAClDjd,GAAI,uEACJc,eAAgB,qCAChBuB,KAAMoY,IAERyC,2CAA4C,CAC1Cld,GAAI,gEACJc,eAAgB,qCAChBuB,KAAMqY,IAERyC,gDAAiD,CAC/Cnd,GAAI,oEACJc,eAAgB,0CAChBuB,KAAMoY,IAER2C,wCAAyC,CACvCpd,GAAI,6DACJc,eAAgB,0CAChBuB,KAAMqY,IAER2C,uCAAwC,CACtCrd,GAAI,4DACJc,eAAgB,eAChBuB,KAAMoY,IAER6C,+BAAgC,CAC9Btd,GAAI,qDACJc,eAAiB,yTACjBuB,KAAMqY,IAER6C,4CAA6C,CAC3Cvd,GAAI,gEACJc,eAAgB,wBAChBuB,KAAMoY,IAER+C,oCAAqC,CACnCxd,GAAI,yDACJc,eACE,yJACFuB,KAAMqY,IAER+C,qCAAsC,CACpCzd,GAAI,2DACJc,eAAgB,+BAChBuB,KAAMoY,IAERiD,6BAA8B,CAC5B1d,GAAI,oDACJc,eAAgB,+BAChBuB,KAAMqY,IAERiD,yCAA0C,CACxC3d,GAAI,8DACJc,eAAgB,mCAChBuB,KAAMoY,IAERmD,iCAAkC,CAChC5d,GAAI,uDACJc,eAAgB,mCAChBuB,KAAMqY,IAERmD,8CAA+C,CAC7C7d,GAAI,kEACJc,eAAgB,wCAChBuB,KAAMoY,IAERqD,sCAAuC,CACrC9d,GAAI,2DACJc,eAAgB,wCAChBuB,KAAMqY,IAERqD,uCAAwC,CACtC/d,GAAI,4DACJc,eAAgB,iCAChBuB,KAAMoY,IAERuD,+BAAgC,CAC9Bhe,GAAI,qDACJc,eAAgB,iCAChBuB,KAAMqY,IAERuD,yCAA0C,CACxCje,GAAI,8DACJc,eAAgB,mCAChBuB,KAAMoY,IAERyD,iCAAkC,CAChCle,GAAI,uDACJc,eAAgB,mCAChBuB,KAAMqY,IAERyD,2CAA4C,CAC1Cne,GAAI,+DACJc,eAAgB,qCAChBuB,KAAMoY,IAER2D,mCAAoC,CAClCpe,GAAI,wDACJc,eAAgB,qCAChBuB,KAAMqY,IAER2D,mCAAoC,CAClCre,GAAI,wDACJc,eAAgB,6BAChBuB,KAAMoY,IAER6D,2BAA4B,CAC1Bte,GAAI,iDACJc,eAAgB,6BAChBuB,KAAMqY,IAER6D,0CAA2C,CACzCve,GAAI,+DACJc,eAAgB,oCAChBuB,KAAMoY,IAER+D,kCAAmC,CACjCxe,GAAI,wDACJc,eAAgB,oCAChBuB,KAAMqY,IAER+D,+CAAgD,CAC9Cze,GAAI,mEACJc,eAAgB,yCAChBuB,KAAMoY,IAERiE,uCAAwC,CACtC1e,GAAI,4DACJc,eAAgB,yCAChBuB,KAAMqY,IAERiE,mCAAoC,CAClC3e,GAAI,wDACJc,eAAgB,6BAChBuB,KAAMoY,IAERmE,2BAA4B,CAC1B5e,GAAI,iDACJc,eAAgB,6BAChBuB,KAAMqY,IAERmE,uCAAwC,CACtC7e,GAAI,4DACJc,eAAgB,iCAChBuB,KAAMoY,IAERqE,+BAAgC,CAC9B9e,GAAI,qDACJc,eAAgB,iCAChBuB,KAAMqY,IAERqE,2BAA4B,CAC1B/e,GAAI,iDACJc,eAAgB,qBAChBuB,KAAMoY,IAERuE,mBAAoB,CAClBhf,GAAI,0CACJc,eAAgB,qBAChBuB,KAAMqY,IAERuE,8BAA+B,CAC7Bjf,GAAI,oDACJc,eAAgB,wBAChBuB,KAAMoY,IAERyE,sBAAuB,CACrBlf,GAAI,6CACJc,eAAgB,wBAChBuB,KAAMqY,IAERyE,kCAAmC,CACjCnf,GAAI,uDACJc,eAAgB,4BAChBuB,KAAMoY,IAER2E,0BAA2B,CACzBpf,GAAI,gDACJc,eAAgB,4BAChBuB,KAAMqY,IAER2E,oCAAqC,CACnCrf,GAAI,yDACJc,eAAgB6Z,GAChBtY,KAAMoY,IAER6E,4BAA6B,CAC3Btf,GAAI,kDACJc,eAAgB8Z,GAChBvY,KAAMqY,IAER6E,2BAA4B,CAC1Bvf,GAAI,kDACJc,eAAgB,mCAChBuB,KAAMoY,IAER+E,mBAAoB,CAClBxf,GAAI,2CACJc,eAAiB,wMACjBuB,KAAMqY,IAER+E,8BAA+B,CAC7Bzf,GAAI,mDACJc,eAAgB,wBAChBuB,KAAMoY,IAERiF,sBAAuB,CACrB1f,GAAI,4CACJc,eAAgB,wBAChBuB,KAAMqY,IAERiF,uCAAwC,CACtC3f,GAAI,4DACJc,eAAgB,iCAChBuB,KAAMoY,IAERmF,+BAAgC,CAC9B5f,GAAI,qDACJc,eAAgB,iCAChBuB,KAAMqY,IAERmF,kCAAmC,CACjC7f,GAAI,uDACJc,eAAgB,4BAChBuB,KAAMoY,IAERqF,0BAA2B,CACzB9f,GAAI,gDACJc,eAAgB,4BAChBuB,KAAMqY,IAERqF,qCAAsC,CACpC/f,GAAI,0DACJc,eAAgB,+BAChBuB,KAAMoY,IAERuF,6BAA8B,CAC5BhgB,GAAI,mDACJc,eAAgB,+BAChBuB,KAAMqY,IAERuF,8BAA+B,CAC7BjgB,GAAI,oDACJc,eAAgB,wBAChBuB,KAAMoY,IAERyF,sBAAuB,CACrBlgB,GAAI,6CACJc,eAAgB,wBAChBuB,KAAMqY,IAERyF,6BAA8B,CAC5BngB,GAAI,kDACJc,eAAgB,+BAChBuB,KAAMoY,IAER2F,qBAAsB,CACpBpgB,GAAI,2CACJc,eAAiB,yPACjBuB,KAAMqY,IAER2F,8BAA+B,CAC7BrgB,GAAI,qDACJc,eAAgB,wBAChBuB,KAAMoY,IAER6F,sBAAuB,CACrBtgB,GAAI,8CACJc,eAAgB,wBAChBuB,KAAMqY,IAER6F,4CAA6C,CAC3CvgB,GAAI,iEACJc,eAAgB,sCAChBuB,KAAMoY,IAER+F,oCAAqC,CACnCxgB,GAAI,0DACJc,eAAgB,sCAChBuB,KAAMqY,IAER+F,6CAA8C,CAC5CzgB,GAAI,iEACJc,eAAgB,uCAChBuB,KAAMoY,IAERiG,qCAAsC,CACpC1gB,GAAI,0DACJc,eAAgB,uCAChBuB,KAAMqY,IAERiG,iDAAkD,CAChD3gB,GAAI,oEACJc,eAAgB,2CAChBuB,KAAMoY,IAERmG,yCAA0C,CACxC5gB,GAAI,6DACJc,eAAgB,2CAChBuB,KAAMqY,IAERmG,kCAAmC,CACjC7gB,GAAI,wDACJc,eAAgB,4BAChBuB,KAAMoY,IAERqG,0BAA2B,CACzB9gB,GAAI,iDACJc,eAAgB,4BAChBuB,KAAMqY,IAERqG,iDAAkD,CAChD/gB,GAAI,qEACJc,eAAgB,2CAChBuB,KAAMoY,IAERuG,yCAA0C,CACxChhB,GAAI,8DACJc,eAAgB,2CAChBuB,KAAMqY,IAERuG,6CAA8C,CAC5CjhB,GAAI,iEACJc,eAAgB,uCAChBuB,KAAMoY,IAERyG,qCAAsC,CACpClhB,GAAI,0DACJc,eAAgB,uCAChBuB,KAAMqY,IAERyG,uCAAwC,CACtCnhB,GAAI,4DACJc,eAAgB,iCAChBuB,KAAMoY,IAER2G,+BAAgC,CAC9BphB,GAAI,qDACJc,eAAgB,iCAChBuB,KAAMqY,IAER2G,sCAAuC,CACrCrhB,GAAI,2DACJc,eAAgB,gCAChBuB,KAAMoY,IAER6G,8BAA+B,CAC7BthB,GAAI,oDACJc,eAAgB,gCAChBuB,KAAMqY,IAER6G,wCAAyC,CACvCvhB,GAAI,6DACJc,eAAgB,kCAChBuB,KAAMoY,IAER+G,gCAAiC,CAC/BxhB,GAAI,sDACJc,eAAgB,kCAChBuB,KAAMqY,IAER+G,qDAAsD,CACpDzhB,GAAI,yEACJc,eAAgB,+CAChBuB,KAAMoY,IAERiH,6CAA8C,CAC5C1hB,GAAI,kEACJc,eAAgB,+CAChBuB,KAAMqY,IAERiH,oDAAqD,CACnD3hB,GAAI,uEACJc,eAAgB,+CAChBuB,KAAMoY,IAERmH,4CAA6C,CAC3C5hB,GAAI,gEACJc,eAAgB,+CAChBuB,KAAMqY,IAERmH,6CAA8C,CAC5C7hB,GAAI,iEACJc,eAAgB,uCAChBuB,KAAMoY,IAERqH,qCAAsC,CACpC9hB,GAAI,0DACJc,eAAgB,uCAChBuB,KAAMqY,IAERqH,gDAAiD,CAC/C/hB,GAAI,oEACJc,eAAgB,0CAChBuB,KAAMoY,IAERuH,wCAAyC,CACvChiB,GAAI,6DACJc,eAAgB,0CAChBuB,KAAMqY,IAERuH,wCAAyC,CACvCjiB,GAAI,6DACJc,eAAgB,kCAChBuB,KAAMoY,IAERyH,gCAAiC,CAC/BliB,GAAI,sDACJc,eAAgB,kCAChBuB,KAAMqY,IAERyH,+CAAgD,CAC9CniB,GAAI,mEACJc,eAAgB,yCAChBuB,KAAMoY,IAER2H,uCAAwC,CACtCpiB,GAAI,4DACJc,eAAgB,yCAChBuB,KAAMqY,IAER2H,qDAAsD,CACpDriB,GAAI,wEACJc,eAAgB,+CAChBuB,KAAMoY,IAER6H,6CAA8C,CAC5CtiB,GAAI,iEACJc,eAAgB,+CAChBuB,KAAMqY,IAER6H,2CAA4C,CAC1CviB,GAAI,gEACJc,eAAgB,qCAChBuB,KAAMoY,IAER+H,mCAAoC,CAClCxiB,GAAI,yDACJc,eAAgB,qCAChBuB,KAAMqY,IAER+H,4CAA6C,CAC3CziB,GAAI,gEACJc,eAAgB,sCAChBuB,KAAMoY,IAERiI,oCAAqC,CACnC1iB,GAAI,yDACJc,eAAgB,sCAChBuB,KAAMqY,IAERiI,8CAA+C,CAC7C3iB,GAAI,kEACJc,eAAgB,wCAChBuB,KAAMoY,IAERmI,sCAAuC,CACrC5iB,GAAI,2DACJc,eAAgB,wCAChBuB,KAAMqY,IAERmI,uCAAwC,CACtC7iB,GAAI,4DACJc,eAAgB,iCAChBuB,KAAMoY,IAERqI,+BAAgC,CAC9B9iB,GAAI,qDACJc,eAAgB,iCAChBuB,KAAMqY,IAERqI,gCAAiC,CAC/B/iB,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAERuI,wBAAyB,CACvBhjB,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAERuI,iCAAkC,CAChCjjB,GAAI,uDACJc,eAAgB,2BAChBuB,KAAMoY,IAERyI,yBAA0B,CACxBljB,GAAI,gDACJc,eAAgB,2BAChBuB,KAAMqY,IAERyI,4DAA6D,CAC3DnjB,GAAI,8EACJc,eAAgB,sDAChBuB,KAAMoY,IAER2I,oDAAqD,CACnDpjB,GAAI,uEACJc,eAAgB,sDAChBuB,KAAMqY,IAER2I,0CAA2C,CACzCrjB,GAAI,8DACJc,eAAgB,oCAChBuB,KAAMoY,IAER6I,kCAAmC,CACjCtjB,GAAI,uDACJc,eAAgB,oCAChBuB,KAAMqY,IAER6I,qCAAsC,CACpCvjB,GAAI,2DACJc,eAAgB,8BAChBuB,KAAMoY,IAER+I,6BAA8B,CAC5BxjB,GAAI,oDACJc,eAAgB,8BAChBuB,KAAMqY,IAER+I,8BAA+B,CAC7BzjB,GAAI,oDACJc,eAAgB,wBAChBuB,KAAMoY,IAERiJ,sBAAuB,CACrB1jB,GAAI,6CACJc,eAAgB,wBAChBuB,KAAMqY,IAERiJ,+BAAgC,CAC9B3jB,GAAI,qDACJc,eAAgB,yBAChBuB,KAAMoY,IAERmJ,uBAAwB,CACtB5jB,GAAI,8CACJc,eAAgB,yBAChBuB,KAAMqY,IAERmJ,6CAA8C,CAC5C7jB,GAAI,iEACJc,eAAgB,uCAChBuB,KAAMoY,IAERqJ,qCAAsC,CACpC9jB,GAAI,0DACJc,eAAgB,uCAChBuB,KAAMqY,IAERqJ,yDAA0D,CACxD/jB,GAAI,2EACJc,eAAgB,mDAChBuB,KAAMoY,IAERuJ,iDAAkD,CAChDhkB,GAAI,oEACJc,eAAgB,mDAChBuB,KAAMqY,IAERuJ,4CAA6C,CAC3CjkB,GAAI,gEACJc,eAAgB,sCAChBuB,KAAMoY,IAERyJ,oCAAqC,CACnClkB,GAAI,yDACJc,eAAgB,sCAChBuB,KAAMqY,IAERyJ,gDAAiD,CAC/CnkB,GAAI,oEACJc,eAAgB,mBAChBuB,KAAMoY,IAER2J,wCAAyC,CACvCpkB,GAAI,6DACJc,eACE,yIACFuB,KAAMqY,IAER2J,wCAAyC,CACvCrkB,GAAI,6DACJc,eAAgB,0CAChBuB,KAAMoY,IAER6J,gCAAiC,CAC/BtkB,GAAI,sDACJc,eAAgB,0CAChBuB,KAAMqY,IAER6J,oCAAqC,CACnCvkB,GAAI,yDACJc,eAAgB,8BAChBuB,KAAMoY,IAER+J,4BAA6B,CAC3BxkB,GAAI,kDACJc,eAAgB,8BAChBuB,KAAMqY,IAER+J,sCAAuC,CACrCzkB,GAAI,2DACJc,eAAgB,+BAChBuB,KAAMoY,IAERiK,8BAA+B,CAC7B1kB,GAAI,oDACJc,eAAiB,gTACjBuB,KAAMqY,IAERiK,qCAAsC,CACpC3kB,GAAI,0DACJc,eAAgB,+BAChBuB,KAAMoY,IAERmK,6BAA8B,CAC5B5kB,GAAI,mDACJc,eAAgB,+BAChBuB,KAAMqY,IAERmK,sCAAuC,CACrC7kB,GAAI,2DACJc,eAAgB,uBAChBuB,KAAMoY,IAERqK,8BAA+B,CAC7B9kB,GAAI,oDACJc,eACE,2JACFuB,KAAMqY,IAERqK,sCAAuC,CACrC/kB,GAAI,2DACJc,eAAgB,gCAChBuB,KAAMoY,IAERuK,8BAA+B,CAC7BhlB,GAAI,oDACJc,eAAgB,gCAChBuB,KAAMqY,IAERuK,iDAAkD,CAChDjlB,GAAI,qEACJc,eAAgB,2CAChBuB,KAAMoY,IAERyK,yCAA0C,CACxCllB,GAAI,8DACJc,eAAgB,2CAChBuB,KAAMqY,IAERyK,6CAA8C,CAC5CnlB,GAAI,kEACJc,eAAgB,uCAChBuB,KAAMoY,IAER2K,qCAAsC,CACpCplB,GAAI,2DACJc,eAAgB,uCAChBuB,KAAMqY,IAER2K,0CAA2C,CACzCrlB,GAAI,8DACJc,eAAgB,+BAChBuB,KAAMoY,IAER6K,kCAAmC,CACjCtlB,GAAI,uDACJc,eAAiB,gTACjBuB,KAAMqY,IAER6K,yCAA0C,CACxCvlB,GAAI,8DACJc,eAAgB,mCAChBuB,KAAMoY,IAER+K,iCAAkC,CAChCxlB,GAAI,uDACJc,eAAgB,mCAChBuB,KAAMqY,IAER+K,6CAA8C,CAC5CzlB,GAAI,iEACJc,eAAgB,uCAChBuB,KAAMoY,IAERiL,qCAAsC,CACpC1lB,GAAI,0DACJc,eAAgB,uCAChBuB,KAAMqY,IAERiL,8BAA+B,CAC7B3lB,GAAI,oDACJc,eAAgB,wBAChBuB,KAAMoY,IAERmL,sBAAuB,CACrB5lB,GAAI,6CACJc,eAAgB,wBAChBuB,KAAMqY,IAERmL,iCAAkC,CAChC7lB,GAAI,uDACJc,eAAgB,2BAChBuB,KAAMoY,IAERqL,yBAA0B,CACxB9lB,GAAI,gDACJc,eAAgB,2BAChBuB,KAAMqY,IAERqL,wDAAyD,CACvD/lB,GAAI,4EACJc,eAAgB,kDAChBuB,KAAMoY,IAERuL,gDAAiD,CAC/ChmB,GAAI,qEACJc,eAAgB,kDAChBuB,KAAMqY,IAERuL,+BAAgC,CAC9BjmB,GAAI,qDACJc,eAAgB,yBAChBuB,KAAMoY,IAERyL,uBAAwB,CACtBlmB,GAAI,8CACJc,eAAgB,yBAChBuB,KAAMqY,IAERyL,qDAAsD,CACpDnmB,GAAI,yEACJc,eAAgB,+CAChBuB,KAAMoY,IAER2L,6CAA8C,CAC5CpmB,GAAI,kEACJc,eAAgB,+CAChBuB,KAAMqY,IAER2L,uDAAwD,CACtDrmB,GAAI,2EACJc,eAAgB,iDAChBuB,KAAMoY,IAER6L,+CAAgD,CAC9CtmB,GAAI,oEACJc,eAAgB,iDAChBuB,KAAMqY,IAER6L,gDAAiD,CAC/CvmB,GAAI,qEACJc,eAAgB,0CAChBuB,KAAMoY,IAER+L,wCAAyC,CACvCxmB,GAAI,8DACJc,eAAgB,0CAChBuB,KAAMqY,IAER+L,wCAAyC,CACvCzmB,GAAI,2DACJc,eAAgB,kCAChBuB,KAAMoY,IAERiM,gCAAiC,CAC/B1mB,GAAI,oDACJc,eAAgB,kCAChBuB,KAAMqY,IAERiM,gCAAiC,CAC/B3mB,GAAI,qDACJc,eAAgB,0BAChBuB,KAAMoY,IAERmM,wBAAyB,CACvB5mB,GAAI,8CACJc,eAAgB,0BAChBuB,KAAMqY,IAERmM,8BAA+B,CAC7B7mB,GAAI,oDACJc,eAAgB+Z,GAChBxY,KAAMoY,IAERqM,sBAAuB,CACrB9mB,GAAI,6CACJc,eAAgBga,GAChBzY,KAAMqY,IAERqM,uCAAwC,CACtC/mB,GAAI,4DACJc,eAAgB,iCAChBuB,KAAMoY,IAERuM,+BAAgC,CAC9BhnB,GAAI,qDACJc,eAAgB,iCAChBuB,KAAMqY,IAERuM,mCAAoC,CAClCjnB,GAAI,wDACJc,eAAgB,6BAChBuB,KAAMoY,IAERyM,2BAA4B,CAC1BlnB,GAAI,iDACJc,eAAgB,6BAChBuB,KAAMqY,IAERyM,yCAA0C,CACxCnnB,GAAI,8DACJc,eAAgB,mCAChBuB,KAAMoY,IAER2M,iCAAkC,CAChCpnB,GAAI,uDACJc,eAAgB,mCAChBuB,KAAMqY,IAER2M,gCAAiC,CAC/BrnB,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAER6M,wBAAyB,CACvBtnB,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAER6M,6BAA8B,CAC5BvnB,GAAI,mDACJc,eAAgB,uBAChBuB,KAAMoY,IAER+M,qBAAsB,CACpBxnB,GAAI,4CACJc,eAAgB,uBAChBuB,KAAMqY,IAER+M,4BAA6B,CAC3BznB,GAAI,kDACJc,eAAgB,cAChBuB,KAAMoY,IAERiN,oBAAqB,CACnB1nB,GAAI,2CACJc,eACE,8HACFuB,KAAMqY,IAERiN,gCAAiC,CAC/B3nB,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAERmN,wBAAyB,CACvB5nB,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAERmN,kCAAmC,CACjC7nB,GAAI,wDACJc,eAAgB,4BAChBuB,KAAMoY,IAERqN,0BAA2B,CACzB9nB,GAAI,iDACJc,eAAgB,4BAChBuB,KAAMqY,IAERqN,uCAAwC,CACtC/nB,GAAI,4DACJc,eAAgB,iCAChBuB,KAAMoY,IAERuN,+BAAgC,CAC9BhoB,GAAI,qDACJc,eAAgB,iCAChBuB,KAAMqY,IAERuN,qCAAsC,CACpCjoB,GAAI,0DACJc,eAAgB,+BAChBuB,KAAMoY,IAERyN,6BAA8B,CAC5BloB,GAAI,mDACJc,eAAgB,+BAChBuB,KAAMqY,IAERyN,gCAAiC,CAC/BnoB,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAER2N,wBAAyB,CACvBpoB,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAER2N,4BAA6B,CAC3BroB,GAAI,kDACJc,eAAgB,sBAChBuB,KAAMoY,IAER6N,oBAAqB,CACnBtoB,GAAI,2CACJc,eAAgB,sBAChBuB,KAAMqY,IAER6N,6BAA8B,CAC5BvoB,GAAI,mDACJc,eAAgB,uBAChBuB,KAAMoY,IAER+N,qBAAsB,CACpBxoB,GAAI,4CACJc,eAAgB,uBAChBuB,KAAMqY,IAER+N,6CAA8C,CAC5CzoB,GAAI,iEACJc,eAAgB,uCAChBuB,KAAMoY,IAERiO,qCAAsC,CACpC1oB,GAAI,0DACJc,eAAgB,uCAChBuB,KAAMqY,IAERiO,8BAA+B,CAC7B3oB,GAAI,oDACJc,eAAgB,wBAChBuB,KAAMoY,IAERmO,sBAAuB,CACrB5oB,GAAI,6CACJc,eAAgB,wBAChBuB,KAAMqY,IAERmO,4CAA6C,CAC3C7oB,GAAI,gEACJc,eAAgB,sCAChBuB,KAAMoY,IAERqO,oCAAqC,CACnC9oB,GAAI,yDACJc,eAAgB,sCAChBuB,KAAMqY,IAERqO,yCAA0C,CACxC/oB,GAAI,6DACJc,eAAgB,mCAChBuB,KAAMoY,IAERuO,iCAAkC,CAChChpB,GAAI,sDACJc,eAAgB,mCAChBuB,KAAMqY,IAERuO,0CAA2C,CACzCjpB,GAAI,+DACJc,eAAgB,oCAChBuB,KAAMoY,IAERyO,kCAAmC,CACjClpB,GAAI,wDACJc,eAAgB,oCAChBuB,KAAMqY,IAERyO,6BAA8B,CAC5BnpB,GAAI,mDACJc,eAAgB,uBAChBuB,KAAMoY,IAER2O,qBAAsB,CACpBppB,GAAI,4CACJc,eAAgB,uBAChBuB,KAAMqY,IAER2O,6BAA8B,CAC5BrpB,GAAI,mDACJc,eAAgB,uBAChBuB,KAAMoY,IAER6O,qBAAsB,CACpBtpB,GAAI,4CACJc,eAAgB,uBAChBuB,KAAMqY,IAER6O,0CAA2C,CACzCvpB,GAAI,8DACJc,eAAgB,oCAChBuB,KAAMoY,IAER+O,kCAAmC,CACjCxpB,GAAI,uDACJc,eAAgB,oCAChBuB,KAAMqY,IAER+O,qCAAsC,CACpCzpB,GAAI,0DACJc,eAAgB,+BAChBuB,KAAMoY,IAERiP,6BAA8B,CAC5B1pB,GAAI,mDACJc,eAAgB,+BAChBuB,KAAMqY,IAERiP,uCAAwC,CACtC3pB,GAAI,4DACJc,eAAgB,gCAChBuB,KAAMoY,IAERmP,+BAAgC,CAC9B5pB,GAAI,qDACJc,eAAgB,gCAChBuB,KAAMqY,IAERmP,oCAAqC,CACnC7pB,GAAI,yDACJc,eAAgB,8BAChBuB,KAAMoY,IAERqP,4BAA6B,CAC3B9pB,GAAI,kDACJc,eAAgB,8BAChBuB,KAAMqY,IAERqP,kCAAmC,CACjC/pB,GAAI,wDACJc,eAAgB,4BAChBuB,KAAMoY,IAERuP,0BAA2B,CACzBhqB,GAAI,iDACJc,eAAgB,4BAChBuB,KAAMqY,IAERuP,sDAAuD,CACrDjqB,GAAI,wEACJc,eAAgB,wCAChBuB,KAAMoY,IAERyP,8CAA+C,CAC7ClqB,GAAI,iEACJc,eAAgB,wCAChBuB,KAAMqY,IAERyP,gDAAiD,CAC/CnqB,GAAI,kEACJc,eAAgB,0CAChBuB,KAAMoY,IAER2P,wCAAyC,CACvCpqB,GAAI,2DACJc,eAAgB,0CAChBuB,KAAMqY,IAER2P,6BAA8B,CAC5BrqB,GAAI,oDACJc,eAAgB,uBAChBuB,KAAMoY,IAER6P,qBAAsB,CACpBtqB,GAAI,6CACJc,eAAgB,uBAChBuB,KAAMqY,IAER6P,gDAAiD,CAC/CvqB,GAAI,oEACJc,eAAgB,0CAChBuB,KAAMoY,IAER+P,wCAAyC,CACvCxqB,GAAI,6DACJc,eAAgB,0CAChBuB,KAAMqY,IAER+P,+BAAgC,CAC9BzqB,GAAI,qDACJc,eAAgB,yBAChBuB,KAAMoY,IAERiQ,uBAAwB,CACtB1qB,GAAI,8CACJc,eAAgB,yBAChBuB,KAAMqY,IAERiQ,iCAAkC,CAChC3qB,GAAI,sDACJc,eAAgB,2BAChBuB,KAAMoY,IAERmQ,yBAA0B,CACxB5qB,GAAI,+CACJc,eAAgB,2BAChBuB,KAAMqY,IAERmQ,oCAAqC,CACnC7qB,GAAI,0DACJc,eAAgB,8BAChBuB,KAAMoY,IAERqQ,4BAA6B,CAC3B9qB,GAAI,mDACJc,eAAgB,8BAChBuB,KAAMqY,IAERqQ,mCAAoC,CAClC/qB,GAAI,wDACJc,eAAgB6Z,GAChBtY,KAAMoY,IAERuQ,2BAA4B,CAC1BhrB,GAAI,iDACJc,eAAgB8Z,GAChBvY,KAAMqY,IAERuQ,2BAA4B,CAC1BjrB,GAAI,kDACJc,eAAgB,qBAChBuB,KAAMoY,IAERyQ,mBAAoB,CAClBlrB,GAAI,2CACJc,eAAgB,qBAChBuB,KAAMqY,IAERyQ,2BAA4B,CAC1BnrB,GAAI,kDACJc,eAAgB,qBAChBuB,KAAMoY,IAER2Q,mBAAoB,CAClBprB,GAAI,2CACJc,eAAgB,qBAChBuB,KAAMqY,IAER2Q,sCAAuC,CACrCrrB,GAAI,0DACJc,eAAgB,gCAChBuB,KAAMoY,IAER6Q,8BAA+B,CAC7BtrB,GAAI,mDACJc,eAAgB,gCAChBuB,KAAMqY,IAER6Q,6BAA8B,CAC5BvrB,GAAI,mDACJc,eAAgB,uBAChBuB,KAAMoY,IAER+Q,qBAAsB,CACpBxrB,GAAI,4CACJc,eAAgB,uBAChBuB,KAAMqY,IAER+Q,oCAAqC,CACnCzrB,GAAI,0DACJc,eAAgB,8BAChBuB,KAAMoY,IAERiR,4BAA6B,CAC3B1rB,GAAI,mDACJc,eAAgB,8BAChBuB,KAAMqY,IAERiR,2BAA4B,CAC1B3rB,GAAI,iDACJc,eAAgB,kBAChBuB,KAAMoY,IAERmR,mBAAoB,CAClB5rB,GAAI,0CACJc,eACE,kLACFuB,KAAMqY,IAERmR,8BAA+B,CAC7B7rB,GAAI,oDACJc,eAAgB+Z,GAChBxY,KAAMoY,IAERqR,sBAAuB,CACrB9rB,GAAI,6CACJc,eAAgBga,GAChBzY,KAAMqY,IAERqR,iCAAkC,CAChC/rB,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAERuR,yBAA0B,CACxBhsB,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAERuR,iCAAkC,CAChCjsB,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAERyR,yBAA0B,CACxBlsB,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAERyR,+BAAgC,CAC9BnsB,GAAI,qDACJc,eAAgB,yBAChBuB,KAAMoY,IAER2R,uBAAwB,CACtBpsB,GAAI,8CACJc,eAAgB,yBAChBuB,KAAMqY,IAER2R,uCAAwC,CACtCrsB,GAAI,2DACJc,eAAgB+Z,GAChBxY,KAAMoY,IAER6R,+BAAgC,CAC9BtsB,GAAI,oDACJc,eAAgBga,GAChBzY,KAAMqY,IAER6R,6BAA8B,CAC5BvsB,GAAI,mDACJc,eAAgB,uBAChBuB,KAAMoY,IAER+R,qBAAsB,CACpBxsB,GAAI,4CACJc,eAAgB,uBAChBuB,KAAMqY,IAER+R,6BAA8B,CAC5BzsB,GAAI,mDACJc,eAAgB,uBAChBuB,KAAMoY,IAERiS,qBAAsB,CACpB1sB,GAAI,4CACJc,eAAgB,uBAChBuB,KAAMqY,IAERiS,iCAAkC,CAChC3sB,GAAI,uDACJc,eAAgB,2BAChBuB,KAAMoY,IAERmS,yBAA0B,CACxB5sB,GAAI,gDACJc,eAAgB,2BAChBuB,KAAMqY,IAERmS,sCAAuC,CACrC7sB,GAAI,2DACJc,eAAgB,gCAChBuB,KAAMoY,IAERqS,8BAA+B,CAC7B9sB,GAAI,oDACJc,eAAgB,gCAChBuB,KAAMqY,IAERqS,4BAA6B,CAC3B/sB,GAAI,kDACJc,eAAgB,UAChBuB,KAAMoY,IAERuS,oBAAqB,CACnBhtB,GAAI,2CACJc,eAAiB,yTACjBuB,KAAMqY,IAERuS,yCAA0C,CACxCjtB,GAAI,8DACJc,eAAgB,mCAChBuB,KAAMoY,IAERyS,iCAAkC,CAChCltB,GAAI,uDACJc,eAAgB,mCAChBuB,KAAMqY,IAERyS,sCAAuC,CACrCntB,GAAI,2DACJc,eAAgB,gCAChBuB,KAAMoY,IAER2S,8BAA+B,CAC7BptB,GAAI,oDACJc,eAAgB,gCAChBuB,KAAMqY,IAER2S,qCAAsC,CACpCrtB,GAAI,0DACJc,eAAgB,+BAChBuB,KAAMoY,IAER6S,6BAA8B,CAC5BttB,GAAI,mDACJc,eAAgB,+BAChBuB,KAAMqY,IAER6S,kCAAmC,CACjCvtB,GAAI,uDACJc,eAAgB,4BAChBuB,KAAMoY,IAER+S,0BAA2B,CACzBxtB,GAAI,gDACJc,eAAgB,4BAChBuB,KAAMqY,IAER+S,mDAAoD,CAClDztB,GAAI,uEACJc,eAAgB,6CAChBuB,KAAMoY,IAERiT,2CAA4C,CAC1C1tB,GAAI,gEACJc,eAAgB,6CAChBuB,KAAMqY,IAERiT,gDAAiD,CAC/C3tB,GAAI,oEACJc,eAAgB,0CAChBuB,KAAMoY,IAERmT,wCAAyC,CACvC5tB,GAAI,6DACJc,eAAgB,0CAChBuB,KAAMqY,IAERmT,kDAAmD,CACjD7tB,GAAI,sEACJc,eAAgB,4CAChBuB,KAAMoY,IAERqT,0CAA2C,CACzC9tB,GAAI,+DACJc,eAAgB,4CAChBuB,KAAMqY,IAERqT,kCAAmC,CACjC/tB,GAAI,wDACJc,eAAgB,4BAChBuB,KAAMoY,IAERuT,0BAA2B,CACzBhuB,GAAI,iDACJc,eAAgB,4BAChBuB,KAAMqY,IAERuT,+BAAgC,CAC9BjuB,GAAI,qDACJc,eAAgB,0BAChBuB,KAAMoY,IAERyT,uBAAwB,CACtBluB,GAAI,8CACJc,eAAgB,0BAChBuB,KAAMqY,IAERyT,wBAAyB,CACvBnuB,GAAI,+CACJc,eAAgB,kBAChBuB,KAAMoY,IAER2T,gBAAiB,CACfpuB,GAAI,wCACJc,eAAgB,kBAChBuB,KAAMqY,IAER2T,mCAAoC,CAClCruB,GAAI,yDACJc,eAAgB,6BAChBuB,KAAMoY,IAER6T,2BAA4B,CAC1BtuB,GAAI,kDACJc,eAAgB,6BAChBuB,KAAMqY,IAER6T,yCAA0C,CACxCvuB,GAAI,8DACJc,eAAgB,mCAChBuB,KAAMoY,IAER+T,iCAAkC,CAChCxuB,GAAI,uDACJc,eAAgB,mCAChBuB,KAAMqY,IAER+T,+BAAgC,CAC9BzuB,GAAI,qDACJc,eAAgB,yBAChBuB,KAAMoY,IAERiU,uBAAwB,CACtB1uB,GAAI,8CACJc,eAAgB,yBAChBuB,KAAMqY,IAERiU,sCAAuC,CACrC3uB,GAAI,2DACJc,eAAgB,gCAChBuB,KAAMoY,IAERmU,8BAA+B,CAC7B5uB,GAAI,oDACJc,eAAgB,gCAChBuB,KAAMqY,IAERmU,gCAAiC,CAC/B7uB,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAERqU,wBAAyB,CACvB9uB,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAERqU,2BAA4B,CAC1B/uB,GAAI,iDACJc,eAAgB,qBAChBuB,KAAMoY,IAERuU,mBAAoB,CAClBhvB,GAAI,0CACJc,eAAgB,qBAChBuB,KAAMqY,IAERuU,4BAA6B,CAC3BjvB,GAAI,kDACJc,eAAgB,sBAChBuB,KAAMoY,IAERyU,oBAAqB,CACnBlvB,GAAI,2CACJc,eAAgB,sBAChBuB,KAAMqY,IAERyU,yBAA0B,CACxBnvB,GAAI,8CACJc,eAAgB,mBAChBuB,KAAMoY,IAER2U,iBAAkB,CAChBpvB,GAAI,uCACJc,eAAgB,mBAChBuB,KAAMqY,IAER2U,yCAA0C,CACxCrvB,GAAI,8DACJc,eAAgB,mCAChBuB,KAAMoY,IAER6U,iCAAkC,CAChCtvB,GAAI,uDACJc,eAAgB,mCAChBuB,KAAMqY,IAER6U,6BAA8B,CAC5BvvB,GAAI,mDACJc,eAAgB,uBAChBuB,KAAMoY,IAER+U,qBAAsB,CACpBxvB,GAAI,4CACJc,eAAgB,uBAChBuB,KAAMqY,IAER+U,uCAAwC,CACtCzvB,GAAI,2DACJc,eAAgB,iCAChBuB,KAAMoY,IAERiV,+BAAgC,CAC9B1vB,GAAI,oDACJc,eAAgB,iCAChBuB,KAAMqY,IAERiV,oCAAqC,CACnC3vB,GAAI,wDACJc,eAAgB,8BAChBuB,KAAMoY,IAERmV,4BAA6B,CAC3B5vB,GAAI,iDACJc,eAAgB,8BAChBuB,KAAMqY,IAERmV,8BAA+B,CAC7B7vB,GAAI,oDACJc,eAAgB,wBAChBuB,KAAMoY,IAERqV,sBAAuB,CACrB9vB,GAAI,6CACJc,eAAgB,wBAChBuB,KAAMqY,IAERqV,6CAA8C,CAC5C/vB,GAAI,iEACJc,eAAgB,uCAChBuB,KAAMoY,IAERuV,qCAAsC,CACpChwB,GAAI,0DACJc,eAAgB,uCAChBuB,KAAMqY,IAERuV,qCAAsC,CACpCjwB,GAAI,0DACJc,eAAgB,+BAChBuB,KAAMoY,IAERyV,6BAA8B,CAC5BlwB,GAAI,mDACJc,eAAgB,+BAChBuB,KAAMqY,IAERyV,+BAAgC,CAC9BnwB,GAAI,qDACJc,eAAgB,yBAChBuB,KAAMoY,IAER2V,uBAAwB,CACtBpwB,GAAI,8CACJc,eAAgB,yBAChBuB,KAAMqY,IAER2V,qCAAsC,CACpCrwB,GAAI,0DACJc,eAAgB,+BAChBuB,KAAMoY,IAER6V,6BAA8B,CAC5BtwB,GAAI,mDACJc,eAAgB,+BAChBuB,KAAMqY,IAER6V,kDAAmD,CACjDvwB,GAAI,qEACJc,eAAgB,4CAChBuB,KAAMoY,IAER+V,0CAA2C,CACzCxwB,GAAI,8DACJc,eAAgB,4CAChBuB,KAAMqY,IAER+V,uCAAwC,CACtCzwB,GAAI,2DACJc,eAAgB,iCAChBuB,KAAMoY,IAERiW,+BAAgC,CAC9B1wB,GAAI,oDACJc,eAAgB,iCAChBuB,KAAMqY,IAERiW,+BAAgC,CAC9B3wB,GAAI,oDACJc,eAAgB,yBAChBuB,KAAMoY,IAERmW,uBAAwB,CACtB5wB,GAAI,6CACJc,eAAgB,yBAChBuB,KAAMqY,IAERmW,qCAAsC,CACpC7wB,GAAI,0DACJc,eAAgB,+BAChBuB,KAAMoY,IAERqW,6BAA8B,CAC5B9wB,GAAI,mDACJc,eAAgB,+BAChBuB,KAAMqY,IAERqW,oCAAqC,CACnC/wB,GAAI,0DACJc,eAAgB,8BAChBuB,KAAMoY,IAERuW,4BAA6B,CAC3BhxB,GAAI,mDACJc,eAAgB,8BAChBuB,KAAMqY,IAERuW,mCAAoC,CAClCjxB,GAAI,wDACJc,eAAgB,6BAChBuB,KAAMoY,IAERyW,2BAA4B,CAC1BlxB,GAAI,iDACJc,eAAgB,6BAChBuB,KAAMqY,IAERyW,0CAA2C,CACzCnxB,GAAI,8DACJc,eAAgB,oCAChBuB,KAAMoY,IAER2W,kCAAmC,CACjCpxB,GAAI,uDACJc,eAAgB,oCAChBuB,KAAMqY,IAER2W,yCAA0C,CACxCrxB,GAAI,8DACJc,eAAgB,2BAChBuB,KAAMoY,IAER6W,iCAAkC,CAChCtxB,GAAI,uDACJc,eACE,yOACFuB,KAAMqY,IAER6W,gCAAiC,CAC/BvxB,GAAI,sDACJc,eAAgB,qBAChBuB,KAAMoY,IAER+W,wBAAyB,CACvBxxB,GAAI,+CACJc,eAAiB,yRACjBuB,KAAMqY,IAER+W,oCAAqC,CACnCzxB,GAAI,yDACJc,eAAgB,oBAChBuB,KAAMoY,IAERiX,4BAA6B,CAC3B1xB,GAAI,kDACJc,eAAgB,yFAChBuB,KAAMqY,IAERiX,sCAAuC,CACrC3xB,GAAI,2DACJc,eAAgB,gCAChBuB,KAAMoY,IAERmX,8BAA+B,CAC7B5xB,GAAI,oDACJc,eAAgB,gCAChBuB,KAAMqY,IAERmX,6BAA8B,CAC5B7xB,GAAI,mDACJc,eAAgB,uBAChBuB,KAAMoY,IAERqX,qBAAsB,CACpB9xB,GAAI,4CACJc,eAAgB,uBAChBuB,KAAMqY,IAERqX,8BAA+B,CAC7B/xB,GAAI,oDACJc,eAAgB,wBAChBuB,KAAMoY,IAERuX,sBAAuB,CACrBhyB,GAAI,6CACJc,eAAgB,wBAChBuB,KAAMqY,IAERuX,+BAAgC,CAC9BjyB,GAAI,qDACJc,eAAgB,yBAChBuB,KAAMoY,IAERyX,uBAAwB,CACtBlyB,GAAI,8CACJc,eAAgB,yBAChBuB,KAAMqY,IAERyX,4BAA6B,CAC3BnyB,GAAI,kDACJc,eAAgB,sBAChBuB,KAAMoY,IAER2X,oBAAqB,CACnBpyB,GAAI,2CACJc,eAAgB,sBAChBuB,KAAMqY,IAER2X,mCAAoC,CAClCryB,GAAI,wDACJc,eAAgB,6BAChBuB,KAAMoY,IAER6X,2BAA4B,CAC1BtyB,GAAI,iDACJc,eAAgB,6BAChBuB,KAAMqY,IAER6X,4CAA6C,CAC3CvyB,GAAI,gEACJc,eAAgB,sCAChBuB,KAAMoY,IAER+X,oCAAqC,CACnCxyB,GAAI,yDACJc,eAAgB,sCAChBuB,KAAMqY,IAER+X,8BAA+B,CAC7BzyB,GAAI,oDACJc,eAAgB,wBAChBuB,KAAMoY,IAERiY,sBAAuB,CACrB1yB,GAAI,6CACJc,eAAgB,wBAChBuB,KAAMqY,IAERiY,8BAA+B,CAC7B3yB,GAAI,oDACJc,eAAgB,2BAChBuB,KAAMoY,IAERmY,sBAAuB,CACrB5yB,GAAI,6CACJc,eACE,yOACFuB,KAAMqY,IAERmY,gCAAiC,CAC/B7yB,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAERqY,wBAAyB,CACvB9yB,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAERqY,+CAAgD,CAC9C/yB,GAAI,mEACJc,eAAgB,yCAChBuB,KAAMoY,IAERuY,uCAAwC,CACtChzB,GAAI,4DACJc,eAAgB,yCAChBuB,KAAMqY,IAERuY,sCAAuC,CACrCjzB,GAAI,2DACJc,eAAgB,gCAChBuB,KAAMoY,IAERyY,8BAA+B,CAC7BlzB,GAAI,oDACJc,eAAgB,gCAChBuB,KAAMqY,IAERyY,2CAA4C,CAC1CnzB,GAAI,8DACJc,eAAgB,qCAChBuB,KAAMoY,IAER2Y,mCAAoC,CAClCpzB,GAAI,uDACJc,eAAgB,qCAChBuB,KAAMqY,IAER2Y,oCAAqC,CACnCrzB,GAAI,0DACJc,eAAgB6Z,GAChBtY,KAAMoY,IAER6Y,4BAA6B,CAC3BtzB,GAAI,mDACJc,eAAgB8Z,GAChBvY,KAAMqY,IAER6Y,gCAAiC,CAC/BvzB,GAAI,qDACJc,eAAgB,0BAChBuB,KAAMoY,IAER+Y,wBAAyB,CACvBxzB,GAAI,8CACJc,eAAgB,0BAChBuB,KAAMqY,IAER+Y,2BAA4B,CAC1BzzB,GAAI,iDACJc,eAAgB,qBAChBuB,KAAMoY,IAERiZ,mBAAoB,CAClB1zB,GAAI,0CACJc,eAAgB,qBAChBuB,KAAMqY,IAERiZ,gCAAiC,CAC/B3zB,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAERmZ,wBAAyB,CACvB5zB,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAERmZ,oCAAqC,CACnC7zB,GAAI,yDACJc,eAAgB,8BAChBuB,KAAMoY,IAERqZ,4BAA6B,CAC3B9zB,GAAI,kDACJc,eAAgB,8BAChBuB,KAAMqY,IAERqZ,2CAA4C,CAC1C/zB,GAAI,gEACJc,eAAgB,oCAChBuB,KAAMoY,IAERuZ,mCAAoC,CAClCh0B,GAAI,yDACJc,eAAgB,oCAChBuB,KAAMqY,IAERuZ,8BAA+B,CAC7Bj0B,GAAI,oDACJc,eAAgB,wBAChBuB,KAAMoY,IAERyZ,sBAAuB,CACrBl0B,GAAI,6CACJc,eAAgB,wBAChBuB,KAAMqY,IAERyZ,+BAAgC,CAC9Bn0B,GAAI,qDACJc,eAAgB,yBAChBuB,KAAMoY,IAER2Z,uBAAwB,CACtBp0B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAMqY,IAER2Z,wCAAyC,CACvCr0B,GAAI,6DACJc,eAAgB,kCAChBuB,KAAMoY,IAER6Z,gCAAiC,CAC/Bt0B,GAAI,sDACJc,eAAgB,kCAChBuB,KAAMqY,IAER6Z,yCAA0C,CACxCv0B,GAAI,8DACJc,eAAgB,mCAChBuB,KAAMoY,IAER+Z,iCAAkC,CAChCx0B,GAAI,uDACJc,eAAgB,mCAChBuB,KAAMqY,IAER+Z,gCAAiC,CAC/Bz0B,GAAI,sDACJc,eAAgB,0BAChBuB,KAAMoY,IAERia,wBAAyB,CACvB10B,GAAI,+CACJc,eAAgB,0BAChBuB,KAAMqY,IAERia,uCAAwC,CACtC30B,GAAI,4DACJc,eAAgB,iCAChBuB,KAAMoY,IAERma,+BAAgC,CAC9B50B,GAAI,qDACJc,eAAgB,iCAChBuB,KAAMqY,IAERma,wCAAyC,CACvC70B,GAAI,6DACJc,eAAgB,kCAChBuB,KAAMoY,IAERqa,gCAAiC,CAC/B90B,GAAI,sDACJc,eAAgB,kCAChBuB,KAAMqY,IAERqa,iCAAkC,CAChC/0B,GAAI,uDACJc,eAAgB,2BAChBuB,KAAMoY,IAERua,yBAA0B,CACxBh1B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAMqY,M,knBCnkEV,MAEMua,GAAa,mDAEnB,IAAer0B,EAJY8L,EAAQ,KAA3B9L,gBAIsB,uCACzBs0B,IADwB,IAE3B,oBAAqB,CACnBl1B,GAAI,0CACJc,eAAgB,gBAChBuB,KAAM4yB,IAERE,YAAa,CACXn1B,GAAI,mCACJc,eAAgB,cAChBuB,KAAM4yB,IAERG,qBAAsB,CACpBp1B,GAAI,6CACJc,eAAgB,uBAChBuB,KAAM4yB,IAERI,UAAW,CACTr1B,GAAI,kCACJc,eAAgB,YAChBuB,KAAM4yB,IAERK,gBAAiB,CACft1B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERM,eAAgB,CACdv1B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERO,yBAA0B,CACxBx1B,GAAI,gDACJc,eAAgB,qCAChBuB,KAAM4yB,IAERQ,wBAAyB,CACvBz1B,GAAI,+CACJc,eAAgB,0BAChBuB,KAAM4yB,IAERS,4BAA6B,CAC3B11B,GAAI,mDACJc,eAAgB,8BAChBuB,KAAM4yB,IAERU,6BAA8B,CAC5B31B,GAAI,mDACJc,eAAgB,wBAChBuB,KAAM4yB,IAERW,iCAAkC,CAChC51B,GAAI,sDACJc,eAAgB,0BAChBuB,KAAM4yB,IAERY,sBAAuB,CACrB71B,GAAI,4CACJc,eAAgB,oBAChBuB,KAAM4yB,IAERa,uBAAwB,CACtB91B,GAAI,6CACJc,eAAgB,qBAChBuB,KAAM4yB,IAERc,qCAAsC,CACpC/1B,GAAI,0DACJc,eAAgB,mCAChBuB,KAAM4yB,IAERe,mCAAoC,CAClCh2B,GAAI,wDACJc,eAAgB,iCAChBuB,KAAM4yB,IAERgB,sBAAuB,CACrBj2B,GAAI,4CACJc,eAAgB,oBAChBuB,KAAM4yB,IAERiB,mBAAoB,CAClBl2B,GAAI,yCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERkB,wBAAyB,CACvBn2B,GAAI,wCACJc,eAAgB,0BAChBuB,KAAM4yB,IAERmB,mCAAoC,CAClCp2B,GAAI,yDACJc,eAAgB,6BAChBuB,KAAM4yB,IAERoB,gCAAiC,CAC/Br2B,GAAI,sDACJc,eAAgB,kCAChBuB,KAAM4yB,IAERqB,uBAAwB,CACtBt2B,GAAI,8CACJc,eAAgB,oCAChBuB,KAAM4yB,IAERsB,4BAA6B,CAC3Bv2B,GAAI,kDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERuB,qBAAsB,CACpBx2B,GAAI,6CACJc,eAAgB,uBAChBuB,KAAM4yB,IAERwB,yBAA0B,CACxBz2B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERyB,8BAA+B,CAC7B12B,GAAI,oDACJc,eAAgB,gCAChBuB,KAAM4yB,IAER0B,uBAAwB,CACtB32B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAER2B,yBAA0B,CACxB52B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAER4B,2BAA4B,CAC1B72B,GAAI,iDACJc,eAAgB,6BAChBuB,KAAM4yB,IAER6B,mBAAoB,CAClB92B,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAER8B,0BAA2B,CACzB/2B,GAAI,iDACJc,eAAgB,4BAChBuB,KAAM4yB,IAER+B,+BAAgC,CAC9Bh3B,GAAI,qDACJc,eAAgB,iCAChBuB,KAAM4yB,IAERgC,mBAAoB,CAClBj3B,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAERiC,uBAAwB,CACtBl3B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERkC,WAAY,CACVn3B,GAAI,mCACJc,eAAgB,aAChBuB,KAAM4yB,IAERmC,cAAe,CACbp3B,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERoC,kBAAmB,CACjBr3B,GAAI,yCACJc,eAAgB,oBAChBuB,KAAM4yB,IAERqC,oBAAqB,CACnBt3B,GAAI,2CACJc,eAAgB,gCAChBuB,KAAM4yB,IAERsC,WAAY,CACVv3B,GAAI,oCACJc,eAAgB,mCAChBuB,KAAM4yB,IAERuC,cAAe,CACbx3B,GAAI,qCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERwC,uBAAwB,CACtBz3B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERyC,kBAAmB,CACjB13B,GAAI,yCACJc,eAAgB,oBAChBuB,KAAM4yB,IAER0C,qBAAsB,CACpB33B,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAER2C,cAAe,CACb53B,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER4C,aAAc,CACZ73B,GAAI,oCACJc,eAAgB,+BAChBuB,KAAM4yB,IAER6C,cAAe,CACb93B,GAAI,uCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER8C,4BAA6B,CAC3B/3B,GAAI,mDACJc,eAAgB,8BAChBuB,KAAM4yB,IAER+C,6BAA8B,CAC5Bh4B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERgD,iCAAkC,CAChCj4B,GAAI,sDACJc,eAAgB,mCAChBuB,KAAM4yB,IAERiD,kBAAmB,CACjBl4B,GAAI,0CACJc,eAAgB,oBAChBuB,KAAM4yB,IAERkD,iCAAkC,CAChCn4B,GAAI,uDACJc,eAAgB,mCAChBuB,KAAM4yB,IAERmD,6BAA8B,CAC5Bp4B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERoD,uBAAwB,CACtBr4B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERqD,sBAAuB,CACrBt4B,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERsD,wBAAyB,CACvBv4B,GAAI,+CACJc,eAAgB,0BAChBuB,KAAM4yB,IAERuD,qCAAsC,CACpCx4B,GAAI,2DACJc,eAAgB,uCAChBuB,KAAM4yB,IAERwD,oCAAqC,CACnCz4B,GAAI,yDACJc,eAAgB,uCAChBuB,KAAM4yB,IAERyD,6BAA8B,CAC5B14B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAER0D,gCAAiC,CAC/B34B,GAAI,sDACJc,eAAgB,kCAChBuB,KAAM4yB,IAER2D,wBAAyB,CACvB54B,GAAI,+CACJc,eAAgB,0BAChBuB,KAAM4yB,IAER4D,+BAAgC,CAC9B74B,GAAI,qDACJc,eAAgB,iCAChBuB,KAAM4yB,IAER6D,qCAAsC,CACpC94B,GAAI,0DACJc,eAAgB,uCAChBuB,KAAM4yB,IAER8D,2BAA4B,CAC1B/4B,GAAI,kDACJc,eAAgB,6BAChBuB,KAAM4yB,IAER+D,4BAA6B,CAC3Bh5B,GAAI,kDACJc,eAAgB,8BAChBuB,KAAM4yB,IAERgE,8BAA+B,CAC7Bj5B,GAAI,oDACJc,eAAgB,gCAChBuB,KAAM4yB,IAERiE,uBAAwB,CACtBl5B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERkE,gBAAiB,CACfn5B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERmE,iBAAkB,CAChBp5B,GAAI,yCACJc,eAAgB,mBAChBuB,KAAM4yB,IAERoE,4CAA6C,CAC3Cr5B,GAAI,gEACJc,eAAgB,8CAChBuB,KAAM4yB,IAERqE,0BAA2B,CACzBt5B,GAAI,gDACJc,eAAgB,4BAChBuB,KAAM4yB,IAERsE,qBAAsB,CACpBv5B,GAAI,6CACJc,eAAgB,sBAChBuB,KAAM4yB,IAERuE,cAAe,CACbx5B,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERwE,eAAgB,CACdz5B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERyE,6BAA8B,CAC5B15B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAER0E,yCAA0C,CACxC35B,GAAI,6DACJc,eAAgB,2CAChBuB,KAAM4yB,IAER2E,4BAA6B,CAC3B55B,GAAI,kDACJc,eAAgB,8BAChBuB,KAAM4yB,IAER4E,gCAAiC,CAC/B75B,GAAI,sDACJc,eAAgB,mBAChBuB,KAAM4yB,IAER6E,wBAAyB,CACvB95B,GAAI,+CACJc,eAAgB,kCAChBuB,KAAM4yB,IAER8E,oBAAqB,CACnB/5B,GAAI,2CACJc,eAAgB,sBAChBuB,KAAM4yB,IAER+E,sBAAuB,CACrBh6B,GAAI,6CACJc,eAAgB,uCAChBuB,KAAM4yB,IAERgF,qBAAsB,CACpBj6B,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAERiF,sBAAuB,CACrBl6B,GAAI,6CACJc,eAAgB,iCAChBuB,KAAM4yB,IAERkF,sBAAuB,CACrBn6B,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERmF,iCAAkC,CAChCp6B,GAAI,uDACJc,eAAgB,mCAChBuB,KAAM4yB,IAERoF,6BAA8B,CAC5Br6B,GAAI,oDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERqF,0BAA2B,CACzBt6B,GAAI,gDACJc,eAAgB,kBAChBuB,KAAM4yB,IAERsF,yBAA0B,CACxBv6B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERuF,6BAA8B,CAC5Bx6B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERwF,cAAe,CACbz6B,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERyF,iBAAkB,CAChB16B,GAAI,yCACJc,eAAgB,mBAChBuB,KAAM4yB,IAER0F,wCAAyC,CACvC36B,GAAI,8DACJc,eAAgB,0CAChBuB,KAAM4yB,IAER2F,eAAgB,CACd56B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAER4F,qCAAsC,CACpC76B,GAAI,2DACJc,eAAgB,uCAChBuB,KAAM4yB,IAER6F,uCAAwC,CACtC96B,GAAI,6DACJc,eAAgB,yCAChBuB,KAAM4yB,IAER8F,gCAAiC,CAC/B/6B,GAAI,uDACJc,eAAgB,kCAChBuB,KAAM4yB,IAER+F,wBAAyB,CACvBh7B,GAAI,6CACJc,eAAgB,0BAChBuB,KAAM4yB,IAERgG,gBAAiB,CACfj7B,GAAI,uCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERiG,cAAe,CACbl7B,GAAI,sCACJc,eAAgB,kCAChBuB,KAAM4yB,IAERkG,uBAAwB,CACtBn7B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERmG,mBAAoB,CAClBp7B,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAERoG,yBAA0B,CACxBr7B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERqG,gBAAiB,CACft7B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERsG,aAAc,CACZv7B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERuG,YAAa,CACXx7B,GAAI,oCACJc,eAAgB,cAChBuB,KAAM4yB,IAERwG,gBAAiB,CACfz7B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERyG,kBAAmB,CACjB17B,GAAI,0CACJc,eAAgB,oBAChBuB,KAAM4yB,IAER0G,uBAAwB,CACtB37B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAER2G,qBAAsB,CACpB57B,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAER4G,gBAAiB,CACf77B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAER6G,YAAa,CACX97B,GAAI,oCACJc,eAAgB,cAChBuB,KAAM4yB,IAER8G,aAAc,CACZ/7B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAER+G,6BAA8B,CAC5Bh8B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERgH,cAAe,CACbj8B,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERiH,4BAA6B,CAC3Bl8B,GAAI,kDACJc,eAAgB,8BAChBuB,KAAM4yB,IAERkH,yBAA0B,CACxBn8B,GAAI,+CACJc,eAAgB,2BAChBuB,KAAM4yB,IAERmH,0BAA2B,CACzBp8B,GAAI,iDACJc,eAAgB,4BAChBuB,KAAM4yB,IAERoH,aAAc,CACZr8B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERqH,aAAc,CACZt8B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERsH,0BAA2B,CACzBv8B,GAAI,gDACJc,eAAgB,4BAChBuB,KAAM4yB,IAERuH,qBAAsB,CACpBx8B,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAERwH,uBAAwB,CACtBz8B,GAAI,8CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERyH,oBAAqB,CACnB18B,GAAI,2CACJc,eAAgB,sBAChBuB,KAAM4yB,IAER0H,kBAAmB,CACjB38B,GAAI,0CACJc,eAAgB,oBAChBuB,KAAM4yB,IAER2H,sCAAuC,CACrC58B,GAAI,0DACJc,eAAgB,gCAChBuB,KAAM4yB,IAER4H,gCAAiC,CAC/B78B,GAAI,oDACJc,eAAgB,kCAChBuB,KAAM4yB,IAER6H,aAAc,CACZ98B,GAAI,sCACJc,eAAgB,eAChBuB,KAAM4yB,IAER8H,gCAAiC,CAC/B/8B,GAAI,sDACJc,eAAgB,kCAChBuB,KAAM4yB,IAER+H,eAAgB,CACdh9B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERgI,iBAAkB,CAChBj9B,GAAI,wCACJc,eAAgB,mBAChBuB,KAAM4yB,IAERiI,oBAAqB,CACnBl9B,GAAI,4CACJc,eAAgB,sBAChBuB,KAAM4yB,IAERkI,mBAAoB,CAClBn9B,GAAI,0CACJc,eAAgB,iCAChBuB,KAAM4yB,IAERmI,WAAY,CACVp9B,GAAI,oCACJc,eAAgB,aAChBuB,KAAM4yB,IAERoI,WAAY,CACVr9B,GAAI,oCACJc,eAAgB,aAChBuB,KAAM4yB,IAERqI,sBAAuB,CACrBt9B,GAAI,4CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERsI,aAAc,CACZv9B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERuI,oBAAqB,CACnBx9B,GAAI,4CACJc,eAAgB,sBAChBuB,KAAM4yB,IAERwI,WAAY,CACVz9B,GAAI,mCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERyI,cAAe,CACb19B,GAAI,sCACJc,eAAgB,uCAChBuB,KAAM4yB,IAER0I,iBAAkB,CAChB39B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAER2I,iBAAkB,CAChB59B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAER4I,eAAgB,CACd79B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAER6I,uBAAwB,CACtB99B,GAAI,6CACJc,eAAgB,+BAChBuB,KAAM4yB,IAER8I,aAAc,CACZ/9B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAER+I,aAAc,CACZh+B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERgJ,iBAAkB,CAChBj+B,GAAI,yCACJc,eAAgB,mBAChBuB,KAAM4yB,IAERiJ,sBAAuB,CACrBl+B,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERkJ,YAAa,CACXn+B,GAAI,oCACJc,eAAgB,+BAChBuB,KAAM4yB,IAERmJ,yBAA0B,CACxBp+B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERoJ,sBAAuB,CACrBr+B,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERqJ,qBAAsB,CACpBt+B,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAERsJ,kBAAmB,CACjBv+B,GAAI,yCACJc,eAAgB,oBAChBuB,KAAM4yB,IAERuJ,mCAAoC,CAClCx+B,GAAI,yDACJc,eAAgB,qCAChBuB,KAAM4yB,IAERwJ,gCAAiC,CAC/Bz+B,GAAI,sDACJc,eAAgB,kCAChBuB,KAAM4yB,IAERyJ,kCAAmC,CACjC1+B,GAAI,wDACJc,eAAgB,oCAChBuB,KAAM4yB,IAER0J,kBAAmB,CACjB3+B,GAAI,0CACJc,eAAgB,oBAChBuB,KAAM4yB,IAER2J,eAAgB,CACd5+B,GAAI,uCACJc,eAAgB,kBAChBuB,KAAM4yB,IAER4J,QAAS,CACP7+B,GAAI,iCACJc,eAAgB,UAChBuB,KAAM4yB,IAER6J,mBAAoB,CAClB9+B,GAAI,2CACJc,eAAgB,qBAChBuB,KAAM4yB,IAER8J,yBAA0B,CACxB/+B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAER+J,eAAgB,CACdh/B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERgK,sBAAuB,CACrBj/B,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERiK,gBAAiB,CACfl/B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERkK,WAAY,CACVn/B,GAAI,mCACJc,eAAgB,aAChBuB,KAAM4yB,IAERmK,YAAa,CACXp/B,GAAI,oCACJc,eAAgB,cAChBuB,KAAM4yB,IAERoK,SAAU,CACRr/B,GAAI,gCACJc,eAAgB,WAChBuB,KAAM4yB,IAERqK,yBAA0B,CACxBt/B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERsK,aAAc,CACZv/B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERuK,uBAAwB,CACtBx/B,GAAI,6CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERwK,oBAAqB,CACnBz/B,GAAI,0CACJc,eAAgB,sBAChBuB,KAAM4yB,IAERyK,cAAe,CACb1/B,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER0K,6BAA8B,CAC5B3/B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAER2K,qBAAsB,CACpB5/B,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAER4K,eAAgB,CACd7/B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAER6K,qBAAsB,CACpB9/B,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAER8K,kCAAmC,CACjC//B,GAAI,uDACJc,eAAgB,oCAChBuB,KAAM4yB,IAER+K,uBAAwB,CACtBhgC,GAAI,6CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERgL,eAAgB,CACdjgC,GAAI,sCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERiL,qBAAsB,CACpBlgC,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAERkL,oBAAqB,CACnBngC,GAAI,4CACJc,eAAgB,sBAChBuB,KAAM4yB,IAERmL,mBAAoB,CAClBpgC,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAERoL,0BAA2B,CACzBrgC,GAAI,gDACJc,eAAgB,4BAChBuB,KAAM4yB,IAERqL,yBAA0B,CACxBtgC,GAAI,gDACJc,eAAgB,2CAChBuB,KAAM4yB,IAERsL,gBAAiB,CACfvgC,GAAI,wCACJc,eAAgB,sCAChBuB,KAAM4yB,IAERuL,oBAAqB,CACnBxgC,GAAI,2CACJc,eAAgB,8BAChBuB,KAAM4yB,IAERwL,sBAAuB,CACrBzgC,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERyL,aAAc,CACZ1gC,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAER0L,cAAe,CACb3gC,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER2L,eAAgB,CACd5gC,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAER4L,YAAa,CACX7gC,GAAI,oCACJc,eAAgB,cAChBuB,KAAM4yB,IAER6L,mBAAoB,CAClB9gC,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAER8L,4BAA6B,CAC3B/gC,GAAI,kDACJc,eAAgB,8BAChBuB,KAAM4yB,IAER+L,cAAe,CACbhhC,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERgM,cAAe,CACbjhC,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERiM,gBAAiB,CACflhC,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERkM,+BAAgC,CAC9BnhC,GAAI,qDACJc,eAAgB,iCAChBuB,KAAM4yB,IAERmM,sBAAuB,CACrBphC,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERoM,2BAA4B,CAC1BrhC,GAAI,gDACJc,eAAgB,6BAChBuB,KAAM4yB,IAERqM,oBAAqB,CACnBthC,GAAI,4CACJc,eAAgB,kCAChBuB,KAAM4yB,IAERsM,gBAAiB,CACfvhC,GAAI,uCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERuM,WAAY,CACVxhC,GAAI,mCACJc,eAAgB,aAChBuB,KAAM4yB,IAERwM,gBAAiB,CACfzhC,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERyM,oBAAqB,CACnB1hC,GAAI,2CACJc,eAAgB,sBAChBuB,KAAM4yB,IAER0M,2BAA4B,CAC1B3hC,GAAI,kDACJc,eAAgB,4BAChBuB,KAAM4yB,IAER2M,cAAe,CACb5hC,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER4M,eAAgB,CACd7hC,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAER6M,wBAAyB,CACvB9hC,GAAI,+CACJc,eAAgB,0BAChBuB,KAAM4yB,IAER8M,yBAA0B,CACxB/hC,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAER+M,gBAAiB,CACfhiC,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERgN,uBAAwB,CACtBjiC,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERiN,wBAAyB,CACvBliC,GAAI,+CACJc,eAAgB,0BAChBuB,KAAM4yB,IAERkN,iBAAkB,CAChBniC,GAAI,yCACJc,eAAgB,mBAChBuB,KAAM4yB,O,kpBC9hCV,MAEMA,GAAa,mDACbmN,GAAoB,iCACpBC,GAAqB,oCACrBC,GAAiB,iBAEvB,IAAe1hC,EAPY8L,EAAQ,KAA3B9L,gBAOsB,uDACzBs0B,IADwB,IAE3B,oBAAqB,CACnBl1B,GAAI,0CACJc,eAAgB,0CAChBuB,KAAM4yB,IAERE,YAAa,CACXn1B,GAAI,mCACJc,eAAgB,yBAChBuB,KAAM4yB,IAERG,qBAAsB,CACpBp1B,GAAI,6CACJc,eAAgB,uBAChBuB,KAAM4yB,IAERI,UAAW,CACTr1B,GAAI,kCACJc,eAAgB,yFAChBuB,KAAM4yB,IAERK,gBAAiB,CACft1B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERM,eAAgB,CACdv1B,GAAI,uCACJc,eAAgB,wBAChBuB,KAAM4yB,IAERO,yBAA0B,CACxBx1B,GAAI,gDACJc,eAAgB,qCAChBuB,KAAM4yB,IAERQ,wBAAyB,CACvBz1B,GAAI,+CACJc,eAAgB,0BAChBuB,KAAM4yB,IAERS,4BAA6B,CAC3B11B,GAAI,mDACJc,eAAgBshC,GAChB//B,KAAM4yB,IAERU,6BAA8B,CAC5B31B,GAAI,mDACJc,eAAgB,mCAChBuB,KAAM4yB,IAERW,iCAAkC,CAChC51B,GAAI,sDACJc,eAAgB,0BAChBuB,KAAM4yB,IAERY,sBAAuB,CACrB71B,GAAI,4CACJc,eAAgB,oBAChBuB,KAAM4yB,IAERa,uBAAwB,CACtB91B,GAAI,6CACJc,eAAgB,qBAChBuB,KAAM4yB,IAERc,qCAAsC,CACpC/1B,GAAI,0DACJc,eAAgB,gBAChBuB,KAAM4yB,IAERe,mCAAoC,CAClCh2B,GAAI,wDACJc,eAAgB,0BAChBuB,KAAM4yB,IAERgB,sBAAuB,CACrBj2B,GAAI,4CACJc,eAAgB,oBAChBuB,KAAM4yB,IAERiB,mBAAoB,CAClBl2B,GAAI,yCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERkB,wBAAyB,CACvBn2B,GAAI,wCACJc,eAAgB,2BAChBuB,KAAM4yB,IAERmB,mCAAoC,CAClCp2B,GAAI,yDACJc,eAAgB,iCAChBuB,KAAM4yB,IAERoB,gCAAiC,CAC/Br2B,GAAI,sDACJc,eAAgB,kCAChBuB,KAAM4yB,IAERqB,uBAAwB,CACtBt2B,GAAI,8CACJc,eAAgB,sEAChBuB,KAAM4yB,IAERsB,4BAA6B,CAC3Bv2B,GAAI,kDACJc,eAAgB,iBAChBuB,KAAM4yB,IAERuB,qBAAsB,CACpBx2B,GAAI,6CACJc,eAAgB,eAChBuB,KAAM4yB,IAERwB,yBAA0B,CACxBz2B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERyB,8BAA+B,CAC7B12B,GAAI,oDACJc,eAAgB,gCAChBuB,KAAM4yB,IAER0B,uBAAwB,CACtB32B,GAAI,8CACJc,eAAgBuhC,GAChBhgC,KAAM4yB,IAER2B,yBAA0B,CACxB52B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAER4B,2BAA4B,CAC1B72B,GAAI,iDACJc,eAAgB,sBAChBuB,KAAM4yB,IAER6B,mBAAoB,CAClB92B,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAER8B,0BAA2B,CACzB/2B,GAAI,iDACJc,eAAgB,qBAChBuB,KAAM4yB,IAER+B,+BAAgC,CAC9Bh3B,GAAI,qDACJc,eAAgB,iCAChBuB,KAAM4yB,IAERgC,mBAAoB,CAClBj3B,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAERiC,uBAAwB,CACtBl3B,GAAI,8CACJc,eAAgB,cAChBuB,KAAM4yB,IAERkC,WAAY,CACVn3B,GAAI,mCACJc,eAAgB,aAChBuB,KAAM4yB,IAERmC,cAAe,CACbp3B,GAAI,sCACJc,eAAgBwhC,GAChBjgC,KAAM4yB,IAERoC,kBAAmB,CACjBr3B,GAAI,yCACJc,eAAgB,oBAChBuB,KAAM4yB,IAERqC,oBAAqB,CACnBt3B,GAAI,2CACJc,eAAgBuhC,GAChBhgC,KAAM4yB,IAERsC,WAAY,CACVv3B,GAAI,oCACJc,eAAgBshC,GAChB//B,KAAM4yB,IAERuC,cAAe,CACbx3B,GAAI,qCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERwC,uBAAwB,CACtBz3B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERyC,kBAAmB,CACjB13B,GAAI,yCACJc,eAAgB,oBAChBuB,KAAM4yB,IAER0C,qBAAsB,CACpB33B,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAER2C,cAAe,CACb53B,GAAI,sCACJc,eAAgB,0BAChBuB,KAAM4yB,IAER4C,aAAc,CACZ73B,GAAI,oCACJc,eAAgB,+BAChBuB,KAAM4yB,IAER6C,cAAe,CACb93B,GAAI,uCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER8C,4BAA6B,CAC3B/3B,GAAI,mDACJc,eAAgB,8BAChBuB,KAAM4yB,IAER+C,6BAA8B,CAC5Bh4B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERgD,iCAAkC,CAChCj4B,GAAI,sDACJc,eAAgB,mCAChBuB,KAAM4yB,IAERiD,kBAAmB,CACjBl4B,GAAI,0CACJc,eAAgB,oBAChBuB,KAAM4yB,IAERkD,iCAAkC,CAChCn4B,GAAI,uDACJc,eAAgB,6BAChBuB,KAAM4yB,IAERmD,6BAA8B,CAC5Bp4B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERoD,uBAAwB,CACtBr4B,GAAI,8CACJc,eAAgB,oBAChBuB,KAAM4yB,IAERqD,sBAAuB,CACrBt4B,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERsD,wBAAyB,CACvBv4B,GAAI,+CACJc,eAAgB,0BAChBuB,KAAM4yB,IAERuD,qCAAsC,CACpCx4B,GAAI,2DACJc,eAAgB,uCAChBuB,KAAM4yB,IAERwD,oCAAqC,CACnCz4B,GAAI,yDACJc,eAAgB,uCAChBuB,KAAM4yB,IAERyD,6BAA8B,CAC5B14B,GAAI,mDACJc,eAAgB,mCAChBuB,KAAM4yB,IAER0D,gCAAiC,CAC/B34B,GAAI,sDACJc,eAAgB,0DAChBuB,KAAM4yB,IAER2D,wBAAyB,CACvB54B,GAAI,+CACJc,eAAgB,wBAChBuB,KAAM4yB,IAER4D,+BAAgC,CAC9B74B,GAAI,qDACJc,eAAgB,0BAChBuB,KAAM4yB,IAER6D,qCAAsC,CACpC94B,GAAI,0DACJc,eAAgB,uCAChBuB,KAAM4yB,IAER8D,2BAA4B,CAC1B/4B,GAAI,kDACJc,eAAgB,6BAChBuB,KAAM4yB,IAER+D,4BAA6B,CAC3Bh5B,GAAI,kDACJc,eAAiB,6BACjBuB,KAAM4yB,IAERgE,8BAA+B,CAC7Bj5B,GAAI,oDACJc,eAAgB,sBAChBuB,KAAM4yB,IAERiE,uBAAwB,CACtBl5B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERkE,gBAAiB,CACfn5B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERmE,iBAAkB,CAChBp5B,GAAI,yCACJc,eAAgB,mBAChBuB,KAAM4yB,IAERoE,4CAA6C,CAC3Cr5B,GAAI,gEACJc,eAAgB,8CAChBuB,KAAM4yB,IAERqE,0BAA2B,CACzBt5B,GAAI,gDACJc,eAAgB,4BAChBuB,KAAM4yB,IAERsE,qBAAsB,CACpBv5B,GAAI,6CACJc,eAAgB,sBAChBuB,KAAM4yB,IAERuE,cAAe,CACbx5B,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERwE,eAAgB,CACdz5B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERyE,6BAA8B,CAC5B15B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAER0E,yCAA0C,CACxC35B,GAAI,6DACJc,eAAgB,gCAChBuB,KAAM4yB,IAER2E,4BAA6B,CAC3B55B,GAAI,kDACJc,eAAgB,+BAChBuB,KAAM4yB,IAER4E,gCAAiC,CAC/B75B,GAAI,sDACJc,eAAgB,mBAChBuB,KAAM4yB,IAER6E,wBAAyB,CACvB95B,GAAI,+CACJc,eAAgB,6BAChBuB,KAAM4yB,IAER8E,oBAAqB,CACnB/5B,GAAI,2CACJc,eAAgB,gBAChBuB,KAAM4yB,IAER+E,sBAAuB,CACrBh6B,GAAI,6CACJc,eAAgB,2BAChBuB,KAAM4yB,IAERgF,qBAAsB,CACpBj6B,GAAI,4CACJc,eAAgB,gBAChBuB,KAAM4yB,IAERiF,sBAAuB,CACrBl6B,GAAI,6CACJc,eAAgB,uBAChBuB,KAAM4yB,IAERkF,sBAAuB,CACrBn6B,GAAI,6CACJc,eAAgB,kBAChBuB,KAAM4yB,IAERmF,iCAAkC,CAChCp6B,GAAI,uDACJc,eAAgB,mCAChBuB,KAAM4yB,IAERoF,6BAA8B,CAC5Br6B,GAAI,oDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERqF,0BAA2B,CACzBt6B,GAAI,gDACJc,eAAgB,6BAChBuB,KAAM4yB,IAERsF,yBAA0B,CACxBv6B,GAAI,gDACJc,eAAgB,uCAChBuB,KAAM4yB,IAERuF,6BAA8B,CAC5Bx6B,GAAI,mDACJc,eAAgB,6BAChBuB,KAAM4yB,IAERwF,cAAe,CACbz6B,GAAI,sCACJc,eAAgB,mCAChBuB,KAAM4yB,IAERyF,iBAAkB,CAChB16B,GAAI,yCACJc,eAAgB,mBAChBuB,KAAM4yB,IAER0F,wCAAyC,CACvC36B,GAAI,8DACJc,eAAgB,gCAChBuB,KAAM4yB,IAER2F,eAAgB,CACd56B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAER4F,qCAAsC,CACpC76B,GAAI,2DACJc,eAAgB,uCAChBuB,KAAM4yB,IAER6F,uCAAwC,CACtC96B,GAAI,6DACJc,eAAgB,yCAChBuB,KAAM4yB,IAER8F,gCAAiC,CAC/B/6B,GAAI,uDACJc,eAAgB,kCAChBuB,KAAM4yB,IAER+F,wBAAyB,CACvBh7B,GAAI,6CACJc,eAAgB,sCAChBuB,KAAM4yB,IAERgG,gBAAiB,CACfj7B,GAAI,uCACJc,eAAgB,iCAChBuB,KAAM4yB,IAERiG,cAAe,CACbl7B,GAAI,sCACJc,eAAgB,qBAChBuB,KAAM4yB,IAERkG,uBAAwB,CACtBn7B,GAAI,8CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERmG,mBAAoB,CAClBp7B,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAERoG,yBAA0B,CACxBr7B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERqG,gBAAiB,CACft7B,GAAI,wCACJc,eAAgB,mDAChBuB,KAAM4yB,IAERsG,aAAc,CACZv7B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERuG,YAAa,CACXx7B,GAAI,oCACJc,eAAgB,cAChBuB,KAAM4yB,IAERwG,gBAAiB,CACfz7B,GAAI,wCACJc,eAAgB,YAChBuB,KAAM4yB,IAERyG,kBAAmB,CACjB17B,GAAI,0CACJc,eAAgB,oBAChBuB,KAAM4yB,IAER0G,uBAAwB,CACtB37B,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAER2G,qBAAsB,CACpB57B,GAAI,4CACJc,eAAgB,uBAChBuB,KAAM4yB,IAER4G,gBAAiB,CACf77B,GAAI,wCACJc,eAAgB,mBAChBuB,KAAM4yB,IAER6G,YAAa,CACX97B,GAAI,oCACJc,eAAgB,cAChBuB,KAAM4yB,IAER8G,aAAc,CACZ/7B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAER+G,6BAA8B,CAC5Bh8B,GAAI,mDACJc,eAAgB,6BAChBuB,KAAM4yB,IAERgH,cAAe,CACbj8B,GAAI,sCACJc,eAAgB,2BAChBuB,KAAM4yB,IAERiH,4BAA6B,CAC3Bl8B,GAAI,kDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERkH,yBAA0B,CACxBn8B,GAAI,+CACJc,eAAgB,4BAChBuB,KAAM4yB,IAERmH,0BAA2B,CACzBp8B,GAAI,iDACJc,eAAgB,+BAChBuB,KAAM4yB,IAERoH,aAAc,CACZr8B,GAAI,qCACJc,eAAgBwhC,GAChBjgC,KAAM4yB,IAERqH,aAAc,CACZt8B,GAAI,qCACJc,eAAgBwhC,GAChBjgC,KAAM4yB,IAERsH,0BAA2B,CACzBv8B,GAAI,gDACJc,eAAgB,uBAChBuB,KAAM4yB,IAERuH,qBAAsB,CACpBx8B,GAAI,4CACJc,eAAgB,mBAChBuB,KAAM4yB,IAERwH,uBAAwB,CACtBz8B,GAAI,8CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERyH,oBAAqB,CACnB18B,GAAI,2CACJc,eAAgB,2BAChBuB,KAAM4yB,IAER0H,kBAAmB,CACjB38B,GAAI,0CACJc,eAAgB,oBAChBuB,KAAM4yB,IAER2H,sCAAuC,CACrC58B,GAAI,0DACJc,eAAgB,uBAChBuB,KAAM4yB,IAER4H,gCAAiC,CAC/B78B,GAAI,oDACJc,eAAgB,kCAChBuB,KAAM4yB,IAER6H,aAAc,CACZ98B,GAAI,sCACJc,eAAgB,uBAChBuB,KAAM4yB,IAER8H,gCAAiC,CAC/B/8B,GAAI,sDACJc,eAAgB,sBAChBuB,KAAM4yB,IAER+H,eAAgB,CACdh9B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERgI,iBAAkB,CAChBj9B,GAAI,wCACJc,eAAgB,+BAChBuB,KAAM4yB,IAERiI,oBAAqB,CACnBl9B,GAAI,4CACJc,eAAgB,sBAChBuB,KAAM4yB,IAERkI,mBAAoB,CAClBn9B,GAAI,0CACJc,eAAgBuhC,GAChBhgC,KAAM4yB,IAERmI,WAAY,CACVp9B,GAAI,oCACJc,eAAgB,aAChBuB,KAAM4yB,IAERoI,WAAY,CACVr9B,GAAI,oCACJc,eAAgB,aAChBuB,KAAM4yB,IAERqI,sBAAuB,CACrBt9B,GAAI,4CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERsI,aAAc,CACZv9B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERuI,oBAAqB,CACnBx9B,GAAI,4CACJc,eAAgB,6BAChBuB,KAAM4yB,IAERwI,WAAY,CACVz9B,GAAI,mCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERyI,cAAe,CACb19B,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER0I,iBAAkB,CAChB39B,GAAI,wCACJc,eAAgBshC,GAChB//B,KAAM4yB,IAER2I,iBAAkB,CAChB59B,GAAI,wCACJc,eAAgB,wBAChBuB,KAAM4yB,IAER4I,eAAgB,CACd79B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAER6I,uBAAwB,CACtB99B,GAAI,6CACJc,eAAgB,0BAChBuB,KAAM4yB,IAER8I,aAAc,CACZ/9B,GAAI,qCACJc,eAAgB,uBAChBuB,KAAM4yB,IAER+I,aAAc,CACZh+B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERgJ,iBAAkB,CAChBj+B,GAAI,yCACJc,eAAgB,mCAChBuB,KAAM4yB,IAERiJ,sBAAuB,CACrBl+B,GAAI,6CACJc,eAAgB,mCAChBuB,KAAM4yB,IAERkJ,YAAa,CACXn+B,GAAI,oCACJc,eAAgB,cAChBuB,KAAM4yB,IAERmJ,yBAA0B,CACxBp+B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERoJ,sBAAuB,CACrBr+B,GAAI,6CACJc,eAAgB,oBAChBuB,KAAM4yB,IAERqJ,qBAAsB,CACpBt+B,GAAI,4CACJc,eAAgB,mBAChBuB,KAAM4yB,IAERsJ,kBAAmB,CACjBv+B,GAAI,yCACJc,eAAgB,oBAChBuB,KAAM4yB,IAERuJ,mCAAoC,CAClCx+B,GAAI,yDACJc,eAAgB,qCAChBuB,KAAM4yB,IAERwJ,gCAAiC,CAC/Bz+B,GAAI,sDACJc,eAAgB,kCAChBuB,KAAM4yB,IAERyJ,kCAAmC,CACjC1+B,GAAI,wDACJc,eAAgB,oBAChBuB,KAAM4yB,IAER0J,kBAAmB,CACjB3+B,GAAI,0CACJc,eAAgB,oBAChBuB,KAAM4yB,IAER2J,eAAgB,CACd5+B,GAAI,uCACJc,eAAgB,4BAChBuB,KAAM4yB,IAER4J,QAAS,CACP7+B,GAAI,iCACJc,eAAgB,UAChBuB,KAAM4yB,IAER6J,mBAAoB,CAClB9+B,GAAI,2CACJc,eAAgB,oCAChBuB,KAAM4yB,IAER8J,yBAA0B,CACxB/+B,GAAI,gDACJc,eAAgB,mBAChBuB,KAAM4yB,IAER+J,eAAgB,CACdh/B,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERgK,sBAAuB,CACrBj/B,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERiK,gBAAiB,CACfl/B,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERkK,WAAY,CACVn/B,GAAI,mCACJc,eAAgB,aAChBuB,KAAM4yB,IAERmK,YAAa,CACXp/B,GAAI,oCACJc,eAAgB,cAChBuB,KAAM4yB,IAERoK,SAAU,CACRr/B,GAAI,gCACJc,eAAgB,WAChBuB,KAAM4yB,IAERqK,yBAA0B,CACxBt/B,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERsK,aAAc,CACZv/B,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAERuK,uBAAwB,CACtBx/B,GAAI,6CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERwK,oBAAqB,CACnBz/B,GAAI,0CACJc,eAAgB,sBAChBuB,KAAM4yB,IAERyK,cAAe,CACb1/B,GAAI,sCACJc,eAAgB,oBAChBuB,KAAM4yB,IAER0K,6BAA8B,CAC5B3/B,GAAI,mDACJc,eAAgB,+BAChBuB,KAAM4yB,IAER2K,qBAAsB,CACpB5/B,GAAI,4CACJc,eAAgBwhC,GAChBjgC,KAAM4yB,IAER4K,eAAgB,CACd7/B,GAAI,uCACJc,eAAgBwhC,GAChBjgC,KAAM4yB,IAER6K,qBAAsB,CACpB9/B,GAAI,4CACJc,eAAgB,YAChBuB,KAAM4yB,IAER8K,kCAAmC,CACjC//B,GAAI,uDACJc,eAAgB,oCAChBuB,KAAM4yB,IAER+K,uBAAwB,CACtBhgC,GAAI,6CACJc,eAAgB,2BAChBuB,KAAM4yB,IAERgL,eAAgB,CACdjgC,GAAI,sCACJc,eAAgB,iBAChBuB,KAAM4yB,IAERiL,qBAAsB,CACpBlgC,GAAI,4CACJc,eAAgB,mBAChBuB,KAAM4yB,IAERkL,oBAAqB,CACnBngC,GAAI,4CACJc,eAAgB,sBAChBuB,KAAM4yB,IAERmL,mBAAoB,CAClBpgC,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAERoL,0BAA2B,CACzBrgC,GAAI,gDACJc,eAAgB,mBAChBuB,KAAM4yB,IAERqL,yBAA0B,CACxBtgC,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAERsL,gBAAiB,CACfvgC,GAAI,wCACJc,eAAgB,sCAChBuB,KAAM4yB,IAERuL,oBAAqB,CACnBxgC,GAAI,2CACJc,eAAgB,oBAChBuB,KAAM4yB,IAERwL,sBAAuB,CACrBzgC,GAAI,6CACJc,eAAgB,uCAChBuB,KAAM4yB,IAERyL,aAAc,CACZ1gC,GAAI,qCACJc,eAAgB,eAChBuB,KAAM4yB,IAER0L,cAAe,CACb3gC,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER2L,eAAgB,CACd5gC,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAER4L,YAAa,CACX7gC,GAAI,oCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER6L,mBAAoB,CAClB9gC,GAAI,0CACJc,eAAgB,qBAChBuB,KAAM4yB,IAER8L,4BAA6B,CAC3B/gC,GAAI,kDACJc,eAAgB,8BAChBuB,KAAM4yB,IAER+L,cAAe,CACbhhC,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERgM,cAAe,CACbjhC,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAERiM,gBAAiB,CACflhC,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERkM,+BAAgC,CAC9BnhC,GAAI,qDACJc,eAAgB,iCAChBuB,KAAM4yB,IAERmM,sBAAuB,CACrBphC,GAAI,6CACJc,eAAgB,wBAChBuB,KAAM4yB,IAERoM,2BAA4B,CAC1BrhC,GAAI,gDACJc,eAAgB,6BAChBuB,KAAM4yB,IAERqM,oBAAqB,CACnBthC,GAAI,4CACJc,eAAgB,kCAChBuB,KAAM4yB,IAERsM,gBAAiB,CACfvhC,GAAI,uCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERuM,WAAY,CACVxhC,GAAI,mCACJc,eAAgB,aAChBuB,KAAM4yB,IAERwM,gBAAiB,CACfzhC,GAAI,wCACJc,eAAgB,oBAChBuB,KAAM4yB,IAERyM,oBAAqB,CACnB1hC,GAAI,2CACJc,eAAgB,4BAChBuB,KAAM4yB,IAER0M,2BAA4B,CAC1B3hC,GAAI,kDACJc,eAAiB,+BACjBuB,KAAM4yB,IAER2M,cAAe,CACb5hC,GAAI,sCACJc,eAAgB,gBAChBuB,KAAM4yB,IAER4M,eAAgB,CACd7hC,GAAI,uCACJc,eAAgB,iBAChBuB,KAAM4yB,IAER6M,wBAAyB,CACvB9hC,GAAI,+CACJc,eAAgB,0BAChBuB,KAAM4yB,IAER8M,yBAA0B,CACxB/hC,GAAI,gDACJc,eAAgB,2BAChBuB,KAAM4yB,IAER+M,gBAAiB,CACfhiC,GAAI,wCACJc,eAAgB,kBAChBuB,KAAM4yB,IAERgN,uBAAwB,CACtBjiC,GAAI,8CACJc,eAAgB,yBAChBuB,KAAM4yB,IAERiN,wBAAyB,CACvBliC,GAAI,+CACJc,eAAgB,0BAChBuB,KAAM4yB,IAERkN,iBAAkB,CAChBniC,GAAI,yCACJc,eAAgB,mBAChBuB,KAAM4yB,OCrhCV,SAASsN,uBAAuCC,GAC9C,MAAO,CAACC,EAAsBC,KAC5B,MAAMC,EAAc,GAAEC,OAAOH,aACvBI,EAAqB,GAAED,OAAOH,qBAC9BlpB,EAAUopB,KAAcH,GAAYA,EAASG,GAC7CrpB,EAAiBupB,KAAqBL,GAAYA,EAASK,GAEjE,MAAO,CACLjpB,QAAS4oB,EAASC,IAAexiC,EAAAA,EAAAA,GAAEuiC,EAASC,GAAcC,QAAgBI,EAC1EvpB,QAASA,GAAUtZ,EAAAA,EAAAA,GAAEsZ,EAASmpB,QAAgBI,EAC9CxpB,eAAgBA,GAAiBrZ,EAAAA,EAAAA,GAAEqZ,EAAgBopB,QAAgBI,IAKlE,MAAMC,GAAuBR,uBAA4CS,IACnEC,GAAuBV,uBAA4CW,IC3B1EC,GAAoB,YA+F1B,GA5FmD,CACjD3C,oBAAqB,IAAMuC,GAAqB,uBAEhD7I,sBAAuB,EAAGA,sBAAAA,MACRA,MAAAA,OAAH,EAAGA,EAAuBkJ,WACfD,GAAoBJ,GAAqB,yBAA2B,KAI9FM,eAAgB,EAAG/L,oBAAAA,EAAqB6F,mBAAAA,IAAwB5iB,OAAAA,MAC9D,IAAI+oB,EAA4B,GAehC,OAZIhM,MAAAA,GAAAA,EAAqBiM,OACvBD,EAAMP,GAAqB,sBAAuB,CAAEQ,OAAQjM,EAAoBiM,OAAOC,eAAejpB,KAG7F4iB,MAAAA,GAAAA,EAAoBoG,OAC7BD,EAAMP,GAAqB,qBAAsB,CAAEQ,OAAQpG,EAAmBoG,OAAOC,eAAejpB,MAG3F4iB,MAAAA,OAAA,EAAAA,EAAoBiG,WAAYD,KACzCG,EAAMP,GAAqB,wBAGtBO,GAGTG,QAAS,EAAG3F,uBAAAA,EAAwBJ,cAAAA,MAClC,IAAI4F,EAA4B,GAWhC,OAPEA,EADE5F,MAAAA,GAAAA,EAAegG,UACXX,GAAqB,iBAClBjF,MAAAA,GAAAA,EAAwB4F,UAC3BX,GAAqB,0BAErBA,GAAqB,iBAGtBO,GAGTnF,YAAa,EAAGA,YAAAA,KAAmBA,MAAAA,GAAAA,EAAauF,UAAYX,GAAqB,eAAiB,KAElGzM,uBAAwB,EAAGA,uBAAAA,KACzBA,MAAAA,GAAAA,EAAwBoN,UAAYX,GAAqB,0BAA4B,KAEvFY,aAAc,EAAGrJ,0BAAAA,EAA2BN,sBAAAA,MAC1C,IAAIsJ,EAAsB,GAQ1B,OANItJ,MAAAA,GAAAA,EAAuB0J,UACzBJ,EAAMP,GAAqB,yBAClBzI,MAAAA,GAAAA,EAA2BoJ,YACpCJ,EAAMP,GAAqB,8BAGtBO,GAGThD,yBAA0B,EAAGA,yBAAAA,KAA+ByC,GAAqB,4BAEjFxC,gBAAiB,EAAGxG,oBAAAA,EAAqBH,4BAAAA,EAA6Bf,+BAAAA,MAElEkB,MAAAA,OAAA,EAAAA,EAAqB2J,aACrB9J,MAAAA,OADA,EACAA,EAA6B8J,aAC7B7K,MAAAA,OAFA,EAEAA,EAAgC6K,WACbX,GAAqB,mBAAqB,KAGjExM,4BAA6B,EAAGA,4BAAAA,KAC9BA,MAAAA,GAAAA,EAA6BmN,UAAYX,GAAqB,+BAAiC,KAEjGa,yBAA0B,EAAGzJ,sBAAAA,EAAuBhF,YAAAA,EAAakF,6BAAAA,MAE7DF,MAAAA,OAAA,EAAAA,EAAuBuJ,aAAavO,MAAAA,OAApC,EAAoCA,EAAauO,aAAarJ,MAAAA,OAA9D,EAA8DA,EAA8BqJ,WAEjEX,GAAqB,4BAA8B,KAGlFlJ,gCAAiC,EAAGA,gCAAAA,KAClCA,MAAAA,GAAAA,EAAiC6J,UAAYX,GAAqB,mCAAqC,KAEzGtF,WAAY,EAAGA,WAAAA,KAAkBA,MAAAA,GAAAA,EAAYiG,UAAYX,GAAqB,cAAgB,KAE9FvH,YAAa,EAAGA,YAAAA,KAAmBA,MAAAA,GAAAA,EAAakI,UAAYX,GAAqB,eAAiB,KAElGxL,WAAY,EAAGA,WAAAA,KAAkBA,MAAAA,GAAAA,EAAYmM,UAAYX,GAAqB,cAAgB,KAE9FlL,aAAc,EAAGA,aAAAA,KAAoBA,MAAAA,GAAAA,EAAc6L,UAAYX,GAAqB,gBAAkB,M,0sBCrFzF,SAASc,2BACtBC,EACAC,GAEA,MAAO,CAACC,EAAgCC,IACtCH,EAAe1kC,KAAK8kC,IAClB,MAAQ1pB,EAA0C0pB,EAA1C1pB,eACF2pB,EAAwBD,EAAgBxqB,UAAY,GAGrDyqB,EAAYr9B,QACfq9B,EAAYC,KAAK5pB,GAGnB,MAAM6pB,EAAgBF,EAAYr+B,QAChC,CAACsP,EAAoBkvB,IAArB,wCAAC,2CACIlvB,GADL,IAEE,CAACkvB,GAAaN,EAAgBM,MAEhC,IAGF,OAAOP,EAAiBvpB,GAAgB6pB,EAAeJ,M,8pBCzB7D,SAAeJ,2BAA2BU,GAAD,6BAAC,gCACrCC,IADoC,IAEvCf,QAAS,IAAMV,GAAqB,iBACpCzC,yBAA0B,IAAMyC,GAAqB,oBCIjD0B,GAAmCZ,2BACvCU,GACAC,IAiBF,GATsE,CACpE,CAACv9B,EAASG,iBAAkBs9B,GAC5B,CAACz9B,EAASS,iBAAkB+8B,GAC5B,CAACx9B,EAASe,eAAgBy8B,GAC1B,CAACx9B,EAASiB,aAAcu8B,GACxB,CAACx9B,EAASmB,YAAaq8B,GACvB,CAACx9B,EAASa,eAAgB28B,ICdb,SAASE,SAAQ,SAC9BvyB,EAD8B,QAE9B0D,EAF8B,QAG9BM,EACAc,QAASzF,EAJqB,SAK9BiI,IAEA,SAA8CtN,EAAAA,EAAAA,MAAtC9H,cAAAA,OAAR,MAAwBsH,EAAYU,MAApC,EACM8N,EAAkBP,0BAA0BH,EAAUkrB,GAA2BnzB,IACvF,EAAmFozB,GAAiB,CAAEpzB,YAAAA,IAA9FuG,EAAR,EAAQA,wBAAyBG,EAAjC,EAAiCA,eAAgBI,EAAjD,EAAiDA,YAAaE,EAA9D,EAA8DA,iBAE9D,OAAKmsB,GAA2BnzB,GAK9B,gBAAC,IAAD,CAAKqzB,QAAQ,UAAUjjC,UAAWmW,EAAyB1S,IAAKmM,EAAa,cAAY,WACvF,gBAAC,IAAD,CAAK5P,UAAY,GAAEsW,KAAkB4sB,GAAYtzB,GAAa4B,YAAckF,EAAc,MACxF,gBAAC1C,cAAD,CACEzD,SAAUA,EACV0C,SAAUsB,EACVN,QAASA,EACTrE,YAAaA,EACbpC,YAAa/K,IAEf,gBAACmV,WAAD,CAAYC,SAAUU,EAAiB3I,YAAaA,IACpD,gBAAC,IAAD,CAAK5P,UAAW4W,GACd,gBAAC,KAAD,CAAM/H,GAAK,YAAWpM,aAAtB,2BAGJ,gBAAC,GAAD,CAAY8N,SAAUA,EAAUX,YAAaA,KAlBxC,KAZakzB,QAAAA,YAAAA,U,qCCbjB,MAAMK,GAAmB,CAC9BlvB,QAASmvB,KAAAA,MAAgB,CACvBjvB,YAAaivB,KAAAA,OAAAA,WACbC,MAAOD,KAAAA,OAAAA,aACNE,WACH/uB,QAAS6uB,KAAAA,QACPA,KAAAA,MAAgB,CACdhwB,QAASgwB,KAAAA,OAAAA,WACT3uB,KAAM2uB,KAAAA,OAAAA,cAERE,WACFjuB,QAAS+tB,KAAAA,OAAAA,YASEG,IANuBH,KAAAA,QAAkBA,KAAAA,MAAgBD,KAM/B,CACrC91B,MAAO+1B,KAAAA,OAAAA,WACPlkC,YAAakkC,KAAAA,OAAAA,aAGFI,GAAmB,CAC9BC,YAAaL,KAAAA,OAAAA,WACb1rB,QAAS0rB,KAAAA,MAAgBG,IAAyBD,WAClDI,OAAQN,KAAAA,MAGGO,GAA0B,CACrC9rB,SAAUurB,KAAAA,QAAkBA,KAAAA,MAAgBI,KAAmBF,WAC/DM,eAAgBR,KAAAA,KAAAA,WAChBS,eAAgBT,KAAAA,KAAAA,YAGLU,GAA6B,CACxCxyB,OAAQ8xB,KAAAA,OAAAA,WACRvrB,SAAUurB,KAAAA,SAAmBA,KAAAA,UAAoB,CAACA,KAAAA,KAAgBA,KAAAA,UAAoBE,WACtFS,YAAaX,KAAAA,KAAAA,YAGFY,GAAgC,CAC3CjsB,QAASqrB,KAAAA,MAAgBO,IAAyBL,WAClDW,WAAYb,KAAAA,MAAgBU,KAKjBI,IAFiCd,KAAAA,SAAmBA,KAAAA,MAAgBY,KAElC,CAC7C32B,MAAO+1B,KAAAA,OAAAA,WACP1rB,QAAS0rB,KAAAA,SAGEe,GAA2Cf,KAAAA,SACtDA,KAAAA,MAAgBc,KAGLE,GAAmC,CAC9C/2B,MAAO+1B,KAAAA,OAAAA,WACPvrB,SAAUssB,GAAyCb,YCCrD,IDEwCF,KAAAA,QAAkBA,KAAAA,MAAgBgB,KAEhChB,KAAAA,UAAoB,CAACA,KAAAA,OAAkBA,KAAAA,OCnExD,CACvB,CACExkC,KAAM,mBACNykC,MAAO,8BACPgB,UAAU,GAEZ,CACEzlC,KAAM,wBACNykC,MAAO,0BACPgB,UAAU,GAEZ,CACEzlC,KAAM,qBACNykC,MAAO,sBACPgB,UAAU,GAEZ,CACEzlC,KAAM,gBACNykC,MAAO,kCACPgB,UAAU,GAEZ,CACEzlC,KAAM,oBACNykC,MAAO,6BACPgB,UAAU,GAEZ,CACEzlC,KAAM,yBACNykC,MAAO,oCACPgB,UAAU,GAEZ,CACEzlC,KAAM,aACNykC,MAAO,aACPgB,UAAU,GAEZ,CACEzlC,KAAM,yBACNykC,MAAO,2BACPgB,UAAU,GAEZ,CACEzlC,KAAM,cACNykC,MAAO,cACPgB,UAAU,GAEZ,CACEzlC,KAAM,mCACNykC,MAAO,2BACPgB,UAAU,GAEZ,CACEzlC,KAAM,+BACNykC,MAAO,2BACPgB,UAAU,GAEZ,CACEzlC,KAAM,eACNykC,MAAO,uBACPgB,UAAU,KC3DDC,iBAAmB,IAE5B,uBAAKC,QAAQ,YAAYC,MAAM,8BAC7B,qBAAGC,KAAK,OAAOC,SAAS,WACtB,wBAAMC,EAAE,kEAAkEF,KAAK,UAAUC,SAAS,YAClG,wBACEC,EAAE,sCACFC,OAAO,OACPC,cAAc,QACdC,eAAe,QACfC,YAAY,YAVTT,iBAAAA,YAAAA,mBAiBb,0BCjBaU,kBAAoB,IAE7B,uBAAKT,QAAQ,YAAYC,MAAM,8BAC7B,qBAAGE,SAAS,UAAUD,KAAK,QACzB,0BAAQQ,GAAG,QAAQC,GAAG,QAAQC,EAAE,QAAQV,KAAK,YAC7C,qBAAGA,KAAK,WACN,wBAAME,EAAE,wFACR,wBAAMA,EAAE,6FAPLK,kBAAAA,YAAAA,oBAcb,2BCPMI,YAAcC,GACdA,IAAgBn2B,GAAAA,MAAAA,KACXA,GAAAA,MAAAA,YAAAA,UAGLm2B,IAAgBn2B,GAAAA,WAAAA,KACXA,GAAAA,WAAAA,YAAAA,UAIF,UAGIo2B,eAAiB,KAC5B,MAAMD,GAAcE,EAAAA,EAAAA,MAAcC,SAClC,OACE,gBAAC,EAAAllC,WAAD,CACEG,UAAU,UACVtC,GAAG,yBACH6B,UAAU,qBACV,cAAY,kBAEZ,8BACE,gBAAC,EAAAM,WAAD,CACEb,MAAM,OACNgB,UAAU,KACVF,QAAQ,YACRoR,MAAM,SACN3R,UAAU,8BALZ,2DAWF,gBAAC,EAAA4N,UAAD,CAAW63B,GAAI,EAAG/jC,GAAI,EAAGgkC,GAAI,EAAG1lC,UAAU,+BACxC,gBAAC,EAAA4N,UAAD,CAAW+3B,GAAI,EAAGC,GAAI,GACpB,gBAAC,EAAAtlC,WAAD,CAAYG,UAAU,IAAIT,UAAU,8BAApC,6DAEE,0DAIJ,gBAAC,EAAA4N,UAAD,CAAW+3B,GAAI,EAAGC,GAAI,GACpB,gBAAC,EAAAtlC,WAAD,CAAYG,UAAU,IAAIT,UAAU,8BAApC,mJAMF,gBAAC,EAAA4N,UAAD,CAAWg4B,GAAI,GACb,gBAAC,EAAAllC,OAAD,CACET,KAAO,wCAAuCmlC,YAAYC,KAC1D5lC,MAAM,UACN,cAAY,gCAHd,2BASF,gBAAC,EAAAa,WAAD,CAAYG,UAAU,KAAKF,QAAQ,YAAYmB,GAAI,GAAnD,oGAIA,gBAAC,EAAAkM,UAAD,CAAWnN,UAAU,KAAKolC,MAAI,EAACC,UAAQ,EAACH,GAAI,GACzCI,GAAAA,KAAqBvyB,GAElB,gBAAC,EAAA5F,UAAD,CAAWnN,UAAU,KAAKgD,IAAK+P,EAAQ5U,KAAMoB,UAAU,8BAA8BgmC,EAAG,EAAGC,EAAG,GAC5F,gBAAC,EAAAr4B,UAAD,CAAW+3B,GAAI,EAAGO,GAAI,EAAGlmC,UAAU,sCAEdwT,EAAQ6wB,SACvB,gBAAC,GAAD,MAGA,gBAAC,GAAD,OAIN,gBAAC,EAAAz2B,UAAD,CAAW+3B,GAAI,GACb,gBAAC,EAAArlC,WAAD,CAAYb,MAAM,QAAQ+T,EAAQ6vB,eAjEvCiC,eAAAA,YAAAA,iBA4Eb,wBCvFMa,YAAc,EAAGvlC,SAAAA,KACrB,gBAAC,EAAAN,WAAD,CAAYG,UAAU,KAAKF,QAAQ,YAAYP,UAAU,aACtDY,GAFCulC,YAAAA,YAAAA,cAUN,MAAMC,UAAY,EAAGxlC,SAAAA,KACnB,gBAAC,EAAAN,WAAD,CAAYG,UAAU,KAAKF,QAAQ,OAAOP,UAAU,YAAY,cAAY,4BACzEY,GAFCwlC,UAAAA,YAAAA,YAUN,MAAMC,cAAgB,EAAG17B,SAAAA,KACvB,0BAAQ3K,UAAU,qBAAqByD,IAAI,gBAAgB,cAAY,wCACrE,sBAAIzD,UAAU,gCACZ,gBAAC,EAAAM,WAAD,CAAYb,MAAM,aAAagB,UAAU,KAAKF,QAAQ,UAAtD,6HAIA,gBAAC,EAAAD,WAAD,CAAYb,MAAM,aAAagB,UAAU,KAAKF,QAAQ,UAAtD,kFAKF,gBAAC,GAAD,MAEA,gBAAC,EAAAD,WAAD,CACEG,UAAU,IACVF,QAAQ,YACRoR,MAAM,SACN3R,UAAU,kDAJZ,yBAMwB,gBAAC,EAAAsmC,KAAD,CAAMrmC,KAAK,yCAAX,0BAGxB,gBAAC,EAAAK,WAAD,CAAYG,UAAU,IAAIF,QAAQ,YAAYoR,MAAM,UAClD,qBAAG1R,KAAK,qBAAR,yBACwB,gBAAC,GAAAsmC,eAAD,QAI1B,gBAAC,EAAAjmC,WAAD,CACEG,UAAU,KACVF,QAAQ,eACRoR,MAAM,SACN3R,UAAU,+DAJZ,gCASA,sBAAIA,UAAU,iBACZ,gBAAC,EAAAwmC,IAAD,CAAK76B,GAAI,GAAIE,GAAI,GACf,gBAACs6B,YAAD,yCACCx7B,EAASpN,KAAI,EAAG8X,QAASzF,EAAaqE,QAAAA,EAASM,QAAAA,MAG9C,GAAI3E,IAAgBxK,EAASmB,WAC3B,OAAO,KAGT,GAAIqJ,IAAgBxK,EAASC,MAC3B,OAAO,gBAAC+gC,UAAD,CAAW3iC,IAAKmM,GAAe,OAAMqE,EAAQE,4BAItD,IAAIM,EADiBF,EAAQrB,MAAKC,GAAuB,2BAAhBA,EAAIC,UACrBqB,KAAO,IAC3BgyB,EAAO,GAUX,OATI3/B,EAAe4/B,SAAS92B,KAC1B62B,GAAQ,cAGL7/B,EAAiB8/B,SAAS92B,KAC7B6E,GAAQ,GACRgyB,GAAQ,qBAIR,gBAACL,UAAD,CAAW3iC,IAAM,cAAamM,KAC1B,OAAMqE,EAAQE,2BAA2BM,YAAegyB,UAOlE,gBAAC,EAAAD,IAAD,CAAK76B,GAAI,GAAIE,GAAI,GACf,gBAACs6B,YAAD,iEACA,gBAACC,UAAD,oEAC+D,IAC7D,gBAAC,EAAAE,KAAD,CAAMrmC,KAAK,iEAAX,eACc,gBAAC,GAAAsmC,eAAD,QAGhB,gBAACJ,YAAD,0CACA,gBAACC,UAAD,wOAGY,IACV,gBAAC,EAAAE,KAAD,CAAMrmC,KAAK,mEAAX,eACc,gBAAC,GAAAsmC,eAAD,QAGhB,gBAACJ,YAAD,gDACA,gBAACC,UAAD,mCAC6B,wBAAM/4B,MAAM,uDAAZ,SAA+E,IAD5G,0FAE0F,IACxF,gBAAC,EAAAi5B,KAAD,CAAMrmC,KAAK,KAAX,iBACgB,gBAAC,GAAAsmC,eAAD,WA/FpBF,cAAAA,YAAAA,gB,0BC3BN,MAAMM,gBAAkB,EAAG/lC,SAAAA,EAAUgmC,aAAAA,EAAe,EAAG5mC,UAAAA,EAAY,MACjE,yBACEA,UAAW6mC,IAAAA,CACR,sBACD,CAAE,CAAE,wBAAuBD,OAAmBA,GAC9C5mC,GAEF,cAAY,kBACZ8mC,SAAS,MAERlmC,GAVC+lC,gBAAAA,YAAAA,kBAoBNA,gBAAgBI,aAAe,CAC7BH,aAAc,EACd5mC,UAAW,IAGb,yBCzBMgnC,sBAAwB,EAAGpmC,SAAAA,EAAUZ,UAAAA,EAAY,MACrD,yBAAOA,UAAW6mC,IAAAA,CAAW,8BAA+B7mC,GAAY,cAAY,yBAClF,0BAAKY,IAFHomC,sBAAAA,YAAAA,wBAWNA,sBAAsBD,aAAe,CACnC/mC,UAAW,IAGb,+BCfMinC,0BAA4B,EAAGrmC,SAAAA,EAAUsmC,OAAAA,EAAQlnC,UAAAA,EAAY,MACjE,sBACEA,UAAW6mC,IAAAA,CAAW,mCAAoC7mC,GAC1D,cAAY,4BACZ7B,GAAI+oC,EACJC,MAAM,MACNl4B,KAAK,gBAEJrO,GARCqmC,0BAAAA,YAAAA,4BAkBNA,0BAA0BF,aAAe,CACvC/mC,UAAW,IAGb,mCCnBMonC,wBAA0B,EAAGxmC,SAAAA,EAAUyM,MAAAA,EAAO65B,OAAAA,EAAQv8B,SAAAA,EAAW,GAAI08B,OAAAA,GAAS,EAAOrnC,UAAAA,EAAY,OACrG,SAAwByI,EAAAA,EAAAA,UAAS4+B,GAAjC,WAAOC,EAAP,KAAaC,EAAb,KACMC,EAAkB,4BAA0BF,EAAO,SAAW,QAC9DG,EAAcH,EAAOI,GAAAA,gBAAkBC,GAAAA,cAE7C,OACE,yBAAO3nC,UAAW6mC,IAAAA,CAAW,gCAAiC7mC,GAAY,cAAY,2BACpF,0BACE,sBACEA,UAAU,qCACV4nC,QAASj9B,EAAS1F,OAAS,EAC3BkiC,MAAM,MACNl4B,KAAK,YACL,cAAY,uCACZ9Q,GAAI+oC,EACJW,QAAS,IAAMN,GAASD,GACxBR,SAAS,MAET,wBAAM9mC,UAAU,wBAAwBqN,GACxC,0BACEw6B,QAAS,IAAMN,GAAQO,IAAcA,IACrC9nC,UAAU,uCACV,cAAY,kCACZ6H,KAAK,SACLwF,MAAOm6B,EACP,aAAYA,GAEZ,wBAAMxnC,UAAU,sCAAsC,cAAY,QAChE,gBAACynC,EAAD,UAKPH,GAAQ1mC,IAjCTwmC,wBAAAA,YAAAA,0BA+CNA,wBAAwBL,aAAe,CACrCp8B,SAAU,GACV08B,QAAQ,EACRrnC,UAAW,IAGb,iCCtDM+nC,0BAA4B,EAAGnnC,SAAAA,EAAUyM,MAAAA,EAAO26B,YAAAA,EAAad,OAAAA,EAAQxvB,QAAAA,EAAU,KAAM1X,UAAAA,EAAY,MACrG,sBAAIA,UAAW6mC,IAAAA,CAAW,+BAAgC7mC,GAAY,cAAY,6BAChF,sBACEA,UAAU,mEACVmnC,MAAM,MACN,cAAY,mCACZhpC,GAAI+oC,EACJe,QAASD,EAAYE,KAAK,MAEzB76B,EACAqK,GACC,gBAAC,EAAAL,QAAD,CAASzG,KAAM8G,EAASywB,UAAU,MAAM,cAAY,sCAClD,wBAAMnoC,UAAU,aACd,gBAAC,GAAAooC,SAAD,CAAUj8B,KAAK,UAKtBvL,GAlBCmnC,0BAAAA,YAAAA,4BA+BNA,0BAA0BhB,aAAe,CACvCrvB,QAAS,KACT1X,UAAW,IAGb,mCCrCMqoC,2BAA6B,EAAGL,YAAAA,EAAaM,QAAAA,GAAU,EAAO13B,KAAAA,EAAO,KAAM5Q,UAAAA,EAAY,OAC3F,IAAIuoC,EAAO33B,EAYX,OATKA,IACH23B,EACE,wBAAMvoC,UAAU,qBACbsoC,GAAW,gBAAC,GAAAE,UAAD,CAAW,cAAY,OAAO,cAAY,sCACtD,wBAAMxoC,UAAU,gCAAgCsoC,EAAU,YAAc,mBAM5E,sBACEtoC,UAAW6mC,IAAAA,CAAW,4BAA6B,mBAAoB7mC,EAAW,CAChF,qCAAsCsoC,IAExC,cAAY,6BACZL,QAASD,EAAYE,KAAK,MAEzBK,IArBDF,2BAAAA,YAAAA,6BAiCNA,2BAA2BtB,aAAe,CACxCuB,SAAS,EACT13B,KAAM,GACN5Q,UAAW,IAGb,oCCxCMyoC,sBAAwB,EAAG7nC,SAAAA,EAAUZ,UAAAA,EAAY,MACrD,yBAAOA,UAAW6mC,IAAAA,CAAW,8BAA+B7mC,GAAY,cAAY,yBACjFY,GAFC6nC,sBAAAA,YAAAA,wBAWNA,sBAAsB1B,aAAe,CACnC/mC,UAAW,IAGb,+BCfM0oC,0BAA4B,EAAG9nC,SAAAA,EAAUZ,UAAAA,KAC7C,sBAAIA,UAAW6mC,IAAAA,CAAW,mCAAoC7mC,GAAY,cAAY,6BACnFY,GAFC8nC,0BAAAA,YAAAA,4BAWNA,0BAA0B3B,aAAe,CACvC/mC,UAAW,IAGb,mCCZM2oC,6BAA+B,EAAGC,eAAAA,EAAgBC,oBAAAA,EAAqB3B,OAAAA,KAC3E,gBAAC,GAAD,CAA2BA,OAAQA,GACjC,gBAAC,EAAA5mC,WAAD,CAAYC,QAAQ,YAAYE,UAAU,SAAS,cAAY,uCAC5DmoC,EAAe30B,QAAQovB,OAE1B,gBAAC,EAAA/iC,WAAD,CAAYC,QAAQ,OAAOE,UAAU,IAAI,cAAY,wCAClDooC,EAAoBv3B,SANrBq3B,6BAAAA,YAAAA,+BAiBN,sCCjBA,MAAMG,6BAA+B,EAAGF,eAAAA,EAAgBC,oBAAAA,MACtD,MAAqBE,EAAgBF,EAA7B9E,YACR,OACE,gBAAC,GAAD,KACE,gBAAC,EAAAzjC,WAAD,CACEC,QAAQ,YACRE,UAAU,KACVT,UAAU,YACV,cAAY,uCAEX4oC,EAAe30B,QAAQovB,OAE1B,gBAAC0F,EAAD,CACEn5B,YAAag5B,EAAevzB,QAC5B2zB,kBCTgC5zB,EDSUwzB,EAAe30B,QCRxDmB,EAAWiuB,MAAM4F,OAAOx/B,QAAQ,MAAO,KAAKy/B,eDS7C14B,OAAK,KCVN,IAAiC4E,GDLlC0zB,6BAAAA,YAAAA,+BA0BN,sCEdMK,oBAAsBP,GAAmB,SAAQA,EAAevzB,QAAQ5L,QAAQ,MAAO,IAAIy/B,gBAI3FE,uBAAyB,EAAGz+B,SAAAA,EAAU0+B,eAAAA,EAAgBC,mBAAAA,KAC1D,uBAAK,cAAY,0BACf,gBAAC,EAAAhpC,WAAD,CAAYG,UAAU,KAAKF,QAAQ,eAAeP,UAAU,8BAA5D,gCAGA,gBAAC,GAAD,CAAiB4mC,aAAcj8B,EAAS1F,OAAQjF,UAAU,gCACxD,gBAAC,GAAD,KACE,gBAAC,GAAD,CAA2B,cAAY,OAAOknC,OAAO,eACnD,gBAAC,EAAA5mC,WAAD,CAAYC,QAAQ,YAAYE,UAAU,OAAO,cAAY,QAA7D,aAOA,wBAAMT,UAAU,gCAAhB,iBAED2K,EAASpN,KAAIqrC,GACZ,gBAAC,GAAD,CACEA,eAAgBA,EAChBC,oBAAqBQ,EAAeT,EAAevzB,SAAS4uB,WAC5DxgC,IAAM,qBAAoBmlC,EAAe30B,QAAQovB,QACjD6D,OAAQiC,oBAAoBP,QAIjCU,EAAmB/rC,KAAI,CAACgsC,EAAUC,KACjC,MAAMC,EA9BeF,CAAAA,GAAa,SAAQA,EAASl8B,MAAM5D,QAAQ,MAAO,IAAIy/B,gBA8BrDQ,CAAqBH,GAE5C,OACE,gBAAC,GAAD,CACEl8B,MAAOk8B,EAASl8B,MAChB1C,SAAUA,EACV08B,OAAkB,IAAVmC,EACR/lC,IAAM,uBAAsB8lC,EAASl8B,QACrC65B,OAAQuC,GAEPnrC,OAAOD,KAAKkrC,EAAS1xB,UAAUta,KAAIiW,IAClC,MAAMm2B,EAxCQn2B,CAAAA,GAAY,UAASA,EAAQnG,MAAM5D,QAAQ,MAAO,IAAIy/B,gBAwC9CU,CAAoBL,EAAS1xB,SAASrE,IAE5D,OACE,gBAAC,GAAD,CACEnG,MAAOk8B,EAAS1xB,SAASrE,GAASnG,MAClCqK,QAAS6xB,EAAS1xB,SAASrE,GAASkE,QACpCjU,IAAM,oBAAmB+P,IACzB0zB,OAAQyC,EACR3B,YAAa,CAAC,cAAeyB,IAE5B9+B,EAASpN,KAAIqrC,GACZ,gBAAC,GAAD,CACEnlC,IAAM,mBAAkB+P,KAAWo1B,EAAe30B,QAAQovB,QAC1DiF,QAASe,EAAeT,EAAevzB,SAAS4uB,WAAWpsB,SAASrE,GACpEo1B,eAAgBA,EAChBZ,YAAa,CAAC2B,EAAeR,oBAAoBP,gBASjE,gBAAC,GAAD,KACE,gBAAC,GAAD,UACCj+B,EAASpN,KAAIqrC,GACZ,gBAAC,GAAD,CACEA,eAAgBA,EAChBC,oBAAqBQ,EAAeT,EAAevzB,SAAS4uB,WAC5DxgC,IAAM,qBAAoBmlC,EAAe30B,QAAQovB,eApEvD+F,uBAAAA,YAAAA,yBAkFN,MCpGA,IAAe78B,EAAAA,EAAAA,KAAgB,EAAGC,QAAAA,MAAH,CAC7Bq9B,SAAU,CACR57B,QAAS,CAAC,EAAGzB,EAAQ,IACrB,CAACF,IAAiB,CAChBI,QAAS,OACTsB,eAAgB,SAChBC,QAAS,Q,knBCGA,SAAS67B,wBACtBl/B,EACAJ,GAEA,SAAgC/B,EAAAA,EAAAA,UAAyB,IAAzD,WAAOkC,EAAP,KAAiBo/B,EAAjB,KACQC,GAAStnC,EAAAA,EAAAA,YAAWC,EAAAA,IAApBqnC,KACAC,EAA6CD,EAA7CC,gBAA0BC,EAAmBF,EAA5B30B,QAoBzB,OAlBApS,EAAAA,EAAAA,UAAQ,KAMN,MAAMknC,EAAqBv/B,EACxBxH,QAAOgnC,GAAaC,SAASD,EAAUjsC,GAAI,MAAQwI,EAAYH,eAC/D0M,MAAKo3B,GAAOA,EAAInsC,KAAO+rC,IAEpBK,ECfK,SAASC,4BACtB7/B,EACAu/B,EACAO,GAEA,OAAIP,GAAkBO,EACb9/B,EAASpN,KAAK+sC,IAAkC,QACrD,MAAMI,EAAc,qBAAKJ,GASzB,OARIJ,EAAe/rC,KAAOmsC,EAAInsC,KAC5BusC,EAAYn6B,SAAWzG,EAAUsG,WAE/Bk6B,EAAIr2B,QAAQ02B,MAAOT,MAAAA,GAAnB,UAAmBA,EAAgBj2B,eAAnC,aAAmB,EAAyB02B,MAC9CD,EAAYn6B,SAAWzG,EAAU+G,gBACxBy5B,EAAIr2B,QAAQ02B,MAAOT,MAAAA,GAAnB,UAAmBA,EAAgBj2B,eAAnC,aAAmB,EAAyB02B,QACrDD,EAAYn6B,SAAWzG,EAAUoG,QAE5Bw6B,KAGU//B,EAASpN,KAC3B+sC,GAAD,kBAAC,qBACIA,GADL,IAEE/5B,SAAUk6B,EAAgB3gC,EAAUoG,OAASpG,EAAUqG,YDPhCq6B,CvC6CtB,SAASI,mBAAmBjgC,EAA0BH,GAE3D,OAAOG,EACJvH,QAAQgS,GAA4B5K,EAAWk8B,SAAStxB,EAAWC,WACnEw1B,MAAK,CAAC3mC,EAAG4mC,IAAMtgC,EAAWugC,QAAQ7mC,EAAEmR,SAAW7K,EAAWugC,QAAQD,EAAEz1B,WuClDfu1B,CAAmBhgC,EAAaJ,GAGpF2/B,EACAF,GAEFF,EAAYQ,EAAiBS,WAC5B,CAACpgC,EAAaJ,EAAY0/B,EAAgBD,IAEtC,CACLt/B,SAAAA,G,0BEtCJ,UAAe4B,EAAAA,EAAAA,KAAgB,EAAGC,QAAAA,MAAH,CAC7By+B,KAAM,CACJx7B,SAAU,KACV3C,OAAQ,SACRmB,QAAS,CAACzB,EAAQ,GAAIA,EAAQ,GAAI,GAClC,MAAO,CACLG,SAAU,GACVD,QAAS,cACT0B,WAAY,SACZ,QAAS,CACPiI,YAAa,SCHN,SAAS60B,eAAc,IAAEpoC,IACtC,MAAQmoC,EAASx6B,KAATw6B,KACFr6B,GAAOxS,EAAAA,EAAAA,GAAEU,EAAAA,iBAEf,OACE,gBAAC,IAAD,CAAKkB,UAAWirC,GACd,gBAAC,KAAD,CAAMp8B,GAAI/L,GACR,gBAAC,OAAD,CAAeuK,MAAOuD,EAAMzE,KAAK,OADnC,IAC4CyE,I,8rBAP1Bs6B,cAAAA,YAAAA,gBCCxB,UAAe3+B,EAAAA,EAAAA,KACb,EAAGC,QAAAA,EAAS3E,KAAAA,EAAM8F,eAAAA,EAAgB4B,aAAAA,MAAlC,CACEmH,YAAa,6EACRT,UAAUtI,EAAeU,OAAOkI,MAAOhH,IADjC,IAET47B,YAAa,mBAEfrI,QAAS,CACP/wB,SAAU,WACVjC,OAAS,aAAYnC,EAAeU,OAAO+8B,SAC3C,CAAC9+B,IAAiB,CAChB,yCAA0C,CACxC++B,YAAa,SAGjB,UAAW,CACTp5B,IAAK,EACLD,MAAO,EACPtC,MAAO,OACP,oBAAqB,CACnBhD,QAAS,QAEX,MAAO,CACLgG,UAAW,OACXT,IAAK,EACLI,KAAM,EACN3C,MAAO,OACP/C,SAAU,KAGd,WAAY,CACVgK,WAAYnK,EAAQ,GACpB,OAAQ,CACNG,SAAU9E,EAAK8E,SAAS5E,MAE1B,OAAQ,CACN4E,SAAU,GACV,SAAU,CACRI,WAAY,IACZJ,SAAU9E,EAAK8E,SAAS5E,OAG5B,MAAO,CACL4E,SAAU,IAEZ,MAAO,CACLA,SAAU,GACV6J,aAAc,EACdpE,OAAQ,OACRnE,QAAS,EACTwB,SAAU,IACVC,MAAO,OACP7B,aAAc,UC/CT,SAASy9B,sBAAqB,SAC3C/6B,EAD2C,SAE3C0C,EAF2C,QAG3CgB,EAH2C,YAI3CrE,EAJ2C,YAK3CpC,EAL2C,MAM3Cg8B,IACyC,MACzC,QAAiC+B,GAA8B,CAAE37B,YAAAA,IAAzD8G,EAAR,EAAQA,YAAaosB,EAArB,EAAqBA,QAErB,OACE,uBACE9iC,UAAY,GAAE8iC,KAAW,UAAAI,GAAYtzB,UAAZ,SAA0B4B,YAAckF,EAAc,KAC/E80B,MAAO,CAAEC,SAAW,UAASjC,MAE7B,gBAACx1B,cAAD,CACEzD,SAAUA,EACV0C,SAAUA,EACVgB,QAASA,EACTrE,YAAaA,EACbpC,YAAaA,KApBG89B,qBAAAA,YAAAA,uB,eCfxB,UACE,CACE/B,SAAU,qBACV1xB,SAAU,CACR,gBACA,gBACA,kBACA,eACA,eACA,iBACA,YAEA,yBACA,2BACA,mBACA,cACA,yBAGJ,CACE0xB,SAAU,kBACV1xB,SAAU,CACR,iBAGA,uBACA,kBACA,mBAGJ,CACE0xB,SAAU,sCACV1xB,SAAU,CACR,gBACA,kBACA,mBAUJ,CACE0xB,SAAU,sBACV1xB,SAAU,CACR,sBAEA,wBACA,yBAEA,yBACA,yBACA,mBACA,wBAEA,oBAIA,4BACA,uBACA,sBACA,qBACA,aACA,sBACA,oCACA,kCACA,0BACA,8BACA,6BAGJ,CACE0xB,SAAU,eACV1xB,SAAU,CACR,gBAEA,gBAGA,2BAGJ,CACE0xB,SAAU,iBACV1xB,SAAU,CACR,eACA,2BACA,0BACA,aACA,4BACA,2BAEA,mBAEA,oBACA,wBACA,uBACA,8BAEA,uBAEA,cAEA,cAEA,cACA,wBAEA,eACA,iBACA,kCAEA,kBACA,4BACA,sBACA,wBACA,0BAGJ,CACE0xB,SAAU,2BACV1xB,SAAU,CACR,uCACA,qCACA,eACA,kBACA,sBACA,8BACA,iBACA,iCACA,8BACA,0CAEA,0BACA,wBACA,gBACA,kCACA,+BACA,mCACA,gCACA,2CACA,4BAEA,mBACA,iCAGJ,CACE0xB,SAAU,uBACV1xB,SAAU,CACR,+BACA,0BACA,qCACA,yBACA,4BACA,oBAEA,aAEA,yBAEA,kBAKA,2BACA,gBACA,uBACA,0BACA,kBACA,8BAIA,mBACA,2BACA,uBACA,yBACA,6BACA,8BACA,kBAGJ,CACE0xB,SAAU,sBACV1xB,SAAU,CACR,qBACA,iBACA,kBACA,2BACA,sBACA,6BACA,oCAKJ,CACE0xB,SAAU,oBACV1xB,SAAU,CAAC,sBAAuB,uBAEpC,CACE0xB,SAAU,8BACV1xB,SAAU,CACR,+BACA,wCAIA,eAEA,eACA,0B,gzCCtMN,UAAetL,EAAAA,EAAAA,KAAgB,EAAGC,QAAAA,EAASiH,QAAAA,EAASi4B,UAAAA,EAAW/9B,eAAAA,EAAgB4B,aAAAA,MAAhD,CAC7Bo8B,iBAAkB,CAChB99B,aAAcrB,EAAQ,GACtB,kBAAmB,CACjBmD,gBAAiB8D,EAAQzD,WAAW47B,KACpC,qBAAsB,CACpBC,YAAar/B,EAAQ,GACrB,WAAY,CACVG,SAAU,GACV,CAACL,IAAiB,CAChBK,SAAU,OAKlB,sBAAuB,CACrBsB,QAAS,IAGb69B,KAAM,CACJh8B,OAAS,aAAYnC,EAAeU,OAAO+8B,SAC3CW,UAAW,OACXr/B,QAAS,OACTsB,eAAgB,SAChBI,WAAY,SACZ,CAAC9B,IAAiB,CAChB,qBAAsB,CACpB++B,YAAa,UAInB30B,YAAa,CACX/G,gBAAiB,EAAGC,YAAAA,KAA0BA,EAAcL,EAAaK,GAAaC,QAAU,cAChGpQ,MAAOkO,EAAeU,OAAOiJ,OAE/B00B,UAAW,uEA3CJ,CACLt/B,QAAS,OACTu/B,oBAAqB,EAAGrF,aAAAA,KACrB,+BAA8BA,yBACjC54B,eAAgB,WAuCT,IAEPrB,SAAU,GACVlN,MAAOkO,EAAeU,OAAOC,WAE/B49B,QAAS,CACPj+B,QAASzB,EAAQ,GACjB2/B,WAAa,aAAYx+B,EAAeU,OAAO+8B,SAC/C58B,aAAe,aAAYb,EAAeU,OAAO+8B,SACjD,CAAC9+B,IAAiB,CAChB6/B,WAAY,SAGhBC,OAAQ,CACN51B,aAAc,OACd7G,gBAAiB,EAAGC,YAAAA,KAA0BA,EAAcL,EAAaK,GAAaC,QAAU,OAChGH,MAAO,GACP0C,OAAQ,GACR1F,QAAS,SAEX2/B,cAAe,CACbC,SAAU,UACV38B,gBAAiBhC,EAAeU,OAAOiJ,OAEzCi1B,eAAgB,CACd5/B,SAAU,GACV0F,KAAM7F,EAAQ,GACdmD,gBAAiB,cACjBlQ,MAAOkO,EAAeU,OAAOm+B,KAC7B18B,OAAQ,OACRq8B,WAAa,aAAYx+B,EAAeU,OAAO+8B,SAC/CC,YAAc,aAAY19B,EAAeU,OAAO+8B,SAChDn9B,QAASzB,EAAQ,GACjBkD,MAAO,OACP,mBAAoB,CAClBnB,eAAgB,QAElB,QAAS,CACP6H,WAAY,GAEd,CAAC9J,IAAiB,CAChB0B,eAAgB,SAChBtB,QAAS,OACT0B,WAAY,SACZH,QAAS,EACT6B,OAAQ,OACRiC,SAAU,SACVE,IAAK,IACLC,OAAQw5B,EAAUe,IAClB3/B,OAAQ,EAAE,GAAI,EAAG,GAAI,MAGzBsK,iBAAkB,CAChBrF,SAAU,YAEZ26B,iBAAkB,CAChBhgC,QAAS,cACT0B,WAAY,SACZJ,eAAgB,SAChB0B,MAAO,GACP0C,OAAQ,GACRzF,SAAU,GACVlN,MAAO,QACP+W,aAAc,OACd7G,gBAAiBhC,EAAeU,OAAO4I,MACvCb,WAAY,EACZu2B,OAAQ,OACR,UAAW,CACTh9B,gBAAiBhC,EAAeU,OAAOkI,MACvC,aAAc,CACZ7J,QAAS,kBAIf2K,QAAS,CACP3K,QAAS,OACTjN,MAAOkO,EAAeU,OAAOC,SAC7Bq+B,OAAQ,OACR16B,KAAM,IAER26B,KAAM,CACJ76B,SAAU,cCxHd,IAbahT,EAFc8L,EAAQ,KAA3B9L,gBAEoB,CAC1B8tC,UAAW,CACT1uC,GAAI,4BACJc,eAAgB,YAChBuB,KAAM,4EAERssC,YAAa,CACX3uC,GAAI,8BACJc,eAAgB,cAChBuB,KAAM,8ECHK,SAASusC,YAAYzC,GAClC,QAAqD0C,GAAkB,CAAEp9B,YAAa06B,EAAI16B,cAAlFk8B,EAAR,EAAQA,KAAMM,EAAd,EAAcA,OAAQC,EAAtB,EAAsBA,cAAe31B,EAArC,EAAqCA,YACrC,IAAIu2B,GAAY7uC,EAAAA,EAAAA,GAAEU,GAAAA,aAQlB,MANyB,iBAAdwrC,EAAI3gC,MACbsjC,EAAY3C,EAAI3gC,MACP2gC,EAAI3gC,QACbsjC,GAAY7uC,EAAAA,EAAAA,GAAEU,GAAAA,YAId,uBACEmQ,KAAK,OACL,aAAa,GAAEq7B,EAAI16B,eAAeq9B,IAClCjtC,UAAY,GAAE8rC,KAAQ5I,GAAYoH,EAAI16B,aAAa4B,YAAckF,EAAc,KAC/EowB,UAAW,EACX,cAAY,eAEU,iBAAdwD,EAAI3gC,MACR2gC,EAAI3gC,MACJ2gC,EAAI3gC,OAAS,wBAAM3J,UAAWkjC,GAAYoH,EAAI16B,aAAa4B,YAAc66B,EAAgBD,KApB3EW,YAAAA,YAAAA,cCaxB,MAAMG,GAAY,gBAAC,OAAD,CAAe7/B,MAAM,eACjC8/B,GAAU,gBAAC,OAAD,CAAa9/B,MAAM,aAEpB,SAAS+/B,YAAW,kBACjCC,EADiC,SAEjCC,IAIc,MACd,QACEC,GAAkB,CAChB3G,aAAcyG,EAAoBA,EAAkBpoC,OAAS,IAFzD0mC,EAAR,EAAQA,iBAAkBK,EAA1B,EAA0BA,UAAWE,EAArC,EAAqCA,QAAS90B,EAA9C,EAA8CA,iBAAkBs1B,EAAhE,EAAgEA,iBAAkBr1B,EAAlF,EAAkFA,QAASk1B,EAA3F,EAA2FA,eAIrFiB,GAAYpvC,EAAAA,EAAAA,GAAEU,EAAAA,YACd2uC,GAAcrvC,EAAAA,EAAAA,GAAEU,EAAAA,cAEtB,GAAoC2J,EAAAA,EAAAA,UAAsB,CACxDilC,YAAaJ,EACbK,WAAU,WAAGL,SAAH,SACV18B,KAAM08B,EAAWE,EAAYC,EAC7BG,KAAMN,EAAWH,GAAUD,KAJ7B,WAAOW,EAAP,KAAmBC,EAAnB,KAOMC,GAAa9qC,EAAAA,EAAAA,UAAQ,ICuCd,SAAS+qC,qBAAqBX,GAC3C,MAAMY,EAAsBZ,EAAkB9vC,KAAI+sC,GAChD,6CACKA,GADL,IAEEzyB,SAAUxE,uBAAuBi3B,EAAIzyB,cAIzC,SAASq2B,gBAAgB16B,GACvB,OAAIA,MAAAA,GAAAA,EAASkuB,OACJluB,EAAQkuB,OAEbluB,MAAAA,GAAAA,EAAS+tB,QACJ/tB,EAAQ+tB,QAEV/tB,MAAAA,OAAP,EAAOA,EAASquB,UAGlB,OAAOsM,GAAU5wC,KAAK6wC,IAAoD,MACxE,MAAO,CACLxvC,KAAMwvC,EAAM7E,SACZ1xB,SAAQ,UAAEu2B,EAAMv2B,gBAAR,aAAE,EAAgBta,KAAKiW,GAC7B,2CACEA,QAAAA,GACG4tB,GAAqB5tB,IAF1B,IAGE7I,SAAUsjC,EAAoB1wC,KAAI+sC,IACzB,CACL16B,YAAa06B,EAAIj1B,QACjB1L,MAAOukC,gBAAgB5D,EAAIzyB,SAASrE,gBDnEfw6B,CAAqBX,IAAoB,CAACA,IAErEgB,GAAeC,EAAAA,EAAAA,cAClBC,IACCA,EAAMC,iBACNV,EAAc,CACZJ,aAAa,EACbC,YAAaE,EAAWF,WACxB/8B,KAAMi9B,EAAWF,WAAaH,EAAYC,EAC1CG,KAAMC,EAAWF,WAAaR,GAAUD,OAG5C,CAACW,EAAWF,WAAYH,EAAWC,IAG/BhqC,EAAM6pC,EAAW,SAAW,UAElC,OACE,gCACE,0BAAQzlC,KAAK,SAAS7H,UAAWusC,EAAgB1E,QAASwG,GACvDR,EAAWj9B,KACXi9B,EAAWD,MAEd,gBAAC,IAAD,CAAK5tC,UAAW2rC,EAAkB,cAAY,cAC5C,gBAAC,KAAD,CAAW8C,UAAQ,GAChBV,EAAWxwC,KAAI,CAACgsC,EAAUC,KAAX,aACd,gBAAC,UAAD,CACEkF,SAAUb,EAAWF,YAAeE,EAAWH,aAAyB,IAAVlE,EAC9Dn8B,MAAOk8B,EAAS3qC,KAChB6E,IAAM,GAAEA,KAAO8lC,EAAS3qC,QAExB,2BAASqQ,KAAK,QAAQ,aAAYs6B,EAAS3qC,MACxC2qC,MAAAA,GADH,UACGA,EAAU1xB,gBADb,aACG,EAAoBta,KAAIiW,GACvB,uBAAKxT,UAAWgsC,EAAWvoC,IAAM,GAAEA,KAAO+P,EAAQA,UAAWvE,KAAK,MAAM63B,UAAW,GACjF,uBAAK9mC,UAAWksC,EAASj9B,KAAK,YAAY,aAAYuE,EAAQuE,QAAS+uB,UAAW,GAC/EtzB,EAAQuE,QACRvE,EAAQkE,SAAWlE,EAAQiE,gBAC1B,wBAAMzX,UAAWoX,GACf,wBAAMpX,UAAW0sC,GAAjB,IAEE,wBAAM1sC,UAAWqX,GACf,gBAACG,eAAD,CAAgBE,QAASlE,EAAQkE,QAASD,eAAgBjE,EAAQiE,qBAM3EjE,MAAAA,OAdH,EAcGA,EAAS7I,SAASpN,KAAI+sC,GACrB,gBAACyC,YAAD,iBAAiBzC,EAAjB,CAAsB7mC,IAAM,GAAEA,KAAO8lC,EAAS3qC,QAAQ0rC,EAAI16B,8B,sqBEjDhF,UAAerD,EAAAA,EAAAA,KACb,EAAGm/B,UAAAA,EAAWl/B,QAAAA,EAASmB,eAAAA,EAAgB4B,aAAAA,MAAvC,CACEo/B,QAAS,CACP1gC,QAAU,KAAIzB,EAAQ,OACtBM,OAAS,UAASN,EAAQ,OAC1BE,QAAS,QACTgD,MAAO,cACPD,SAAU,MAEZm/B,OAAQ,CACN,CAACtiC,IAAD,8FACEqD,gBAAiBhC,EAAeU,OAAOiJ,OAnBtC,CACL5K,QAAS,OACTu/B,oBAAqB,EAAGrF,aAAAA,KACrB,+BAA8BA,yBACjC54B,eAAgB,WAVX,CACL6gC,kBAAmB,EAAGjI,aAAAA,KAV1B,SAASkI,qBAAqBlI,GAC5B,IACImI,EADAC,EAAM,IAEV,IAAKD,EAAI,EAAGA,GAAKnI,EAAcmI,GAAK,EAClCC,GAAQ,WAAUD,IAEpB,MAAQ,IAAGC,KAIuCF,CAAqBlI,KAuBnE,IAIE30B,IAAK,EACLF,SAAU,SACVY,UAAY,kCACZT,OAAQw5B,EAAUe,OAGtB/1B,YAAa,kCACRT,UAAUtI,EAAeU,OAAOkI,MAAOhH,IAE5C0/B,SAAU,CACRxD,SAAU,YAEZyD,SAAU,CACRzD,SAAU,YAEZ0D,SAAU,CACR1D,SAAU,YAEZ2D,SAAU,CACR3D,SAAU,YAEZ4D,SAAU,CACR5D,SAAU,YAEZ6D,SAAU,CACR7D,SAAU,gB,gDCtDT,IAAK8D,G,gqBAAAA,GAAAA,EAAAA,QAAAA,UAAAA,EAAAA,QAAAA,UAAAA,EAAAA,MAAAA,Q,CAAAA,KAAAA,GAAAA,KCFZ,SAASC,gBAAe,KAAE5wC,EAAF,OAAQ8kC,IAC9B,MAlB4B,uBAkBrB9kC,GAAwC8kC,EAGjD,SAAS+L,qBAAgDC,GACvD,MAAQC,EAASD,EAATC,KACFC,EAA0B,CAC9BC,OAAQ,GACRC,SAAUH,MAAAA,OAAF,EAAEA,EAAMG,SAChBC,KAAMJ,MAAAA,OAAF,EAAEA,EAAMI,KACZC,SAAUL,MAAAA,OAAF,EAAEA,EAAMK,UAKZC,EAF6C,IAAIN,MAAAA,OAAH,EAAGA,EAAMO,iBAExB3yC,KAAK4yC,GACjCA,MAAAA,OAAP,EAAOA,EAAON,OAAOtyC,KAAK6yC,IACjB,CACLjyC,GAAK,gBAAeiyC,EAAWxxC,OAC/BiJ,KAAMuoC,EAAWvoC,KACjBjJ,KAAMwxC,EAAWxxC,KACjByxC,aAAcD,EAAWC,aACzBhN,MAAO+M,EAAW/M,MAClBiN,UAAWF,EAAWE,UACtBC,SAAUH,EAAWG,SACrB7M,OAAQ8L,eAAeY,GACvBI,UAAWJ,EAAWK,YACtBC,YAAaN,EAAWM,kBAI9B,gEAAYd,GAAZ,IAAwBC,OAAQI,EAAKU,SAGxB,SAASC,oBACtB,SAAwBnoC,EAAAA,EAAAA,UAAiB,CACvCooC,OAAQtB,GAAiBuB,QACzB5nC,MAAO,KACP/I,KAAM,OAHR,WAAOA,EAAP,KAAa4wC,EAAb,KAuBA,OAlBA9tC,EAAAA,EAAAA,UAAQ,KArDe2E,WACvB,MAAMopC,EAAW,IAAIC,gBASrB,OARAD,EAASE,OAAO,SAJM,+CAKKC,MANP,UAM4B,CAC9CC,OAAQ,OACRrpC,KAAMipC,EACN/I,QAAS,CACP,eAAgB,wCAGAoJ,QA4ClBC,GACGxzC,MAAMkzC,IACLD,EAAQ,CACN5wC,KAAMsvC,qBAAqBuB,GAC3B9nC,MAAO,KACP2nC,OAAQ,eAGXU,OAAMC,IACLT,EAAQ,CACN5wC,KAAM,KACN0wC,OAAQtB,GAAiBvxC,MACzBkL,MAAOsoC,SAGZ,IAEIrxC,ECrFT,MAyGA,IAvGapB,EAFc8L,EAAQ,KAA3B9L,gBAEoB,CAC1B0yC,iBAAkB,CAChBtzC,GAAI,6BACJc,eAAgB,mBAChBuB,KAAM,iFAERsK,aAAc,CACZ3M,GAAI,8BACJc,eAAgB,mCAChBuB,KAAM,uEAERkxC,WAAY,CACVvzC,GAAI,gCACJc,eAAgB,gEAChBuB,KAAM,4EAERmxC,aAAc,CACZxzC,GAAI,uCACJc,eACE,wIACFuB,KAAM,kFAERoxC,kBAAmB,CACjBzzC,GAAI,4CACJc,eACE,2JACFuB,KAAM,mFAERqxC,SAAU,CACR1zC,GAAI,oCACJc,eACE,uKACFuB,KAAM,kFAERsxC,cAAe,CACb3zC,GAAI,mCACJc,eAAgB,qCAChBuB,KAAM,sFAERuxC,cAAe,CACb5zC,GAAI,0CACJc,eAAgB,yCAChBuB,KAAM,6FAERwxC,qBAAsB,CACpB7zC,GAAI,0CACJc,eAAgB,iCAChBuB,KAAM,uFAERyxC,SAAU,CACR9zC,GAAI,8BACJc,eAAgB,WAChBuB,KAAM,iGAER0xC,cAAe,CACb/zC,GAAI,kCACJc,eAAgB,gBAChBuB,KAAM,6EAER2xC,mBAAoB,CAClBh0C,GAAI,kCACJc,eAAgB,uBAChBuB,KAAM,wDAER4xC,MAAO,CACLj0C,GAAI,kCACJc,eAAgB,QAChBuB,KAAM,wDAER6xC,QAAS,CACPl0C,GAAI,oCACJc,eACE,6RACFuB,KAAM,0EAER8xC,YAAa,CACXn0C,GAAI,uCACJc,eAAiB,4IAEjBuB,KAAM,8EAER+xC,YAAa,CACXp0C,GAAI,uCACJc,eAAiB,6CACjBuB,KAAM,+EAERgyC,cAAe,CACbr0C,GAAI,yCACJc,eAAiB,0JACjBuB,KAAM,iFAERiyC,kBAAmB,CACjBt0C,GAAI,sCACJc,eAAgB,OAChBuB,KAAM,0EAERkyC,gBAAiB,CACfv0C,GAAI,4BACJc,eAAgB,iBAChBuB,KAAM,mD,eC3FK,SAASmyC,qBACtB,OACE,gBAAC,IAAD,CAAK1M,EAAG,GACN,gBAAC,KAAD,CAAQxmC,MAAM,QAAQmzC,UAAQ,GAC5B,gBAAC,IAAD,CAAYryC,QAAQ,OAAOE,UAAU,KAAKhB,MAAM,UAAUkS,MAAM,SAC7DvT,EAAAA,EAAAA,GAAEU,GAAAA,uBALW6zC,mBAAAA,YAAAA,qB,eCKT,SAASE,cAAa,OAAEhD,EAAF,SAAUmB,EAAV,aAAoB8B,IACvD,OACE,gCACGjD,MAAAA,OADH,EACGA,EAAQtyC,KACN4yC,IAAD,iBACGA,EAAMzM,QACL,gBAAC,KAAD,CAAWjgC,IAAK0sC,EAAMhyC,IACpB,gBAAC,GAAA40C,EAAD,CACEn0C,KAAMuxC,EAAMvxC,KACZ,cAAauxC,EAAMhyC,GACnBA,GAAIgyC,EAAMhyC,GACV0J,KAAMsoC,EAAMG,UACZ3mC,MAAK,UAAEqnC,EAASb,EAAMvxC,aAAjB,aAAE,EAAsB+K,MAC7BlK,MAAK,UAAEuxC,EAASb,EAAMvxC,aAAjB,aAAE,EAAsBa,MAC7BuzC,aAAY,UAAEhC,EAASb,EAAMvxC,aAAjB,aAAE,EAAsBo0C,aACpC3P,MAAO8M,EAAMI,SAAY,GAAEJ,EAAM9M,UAAa,GAAE8M,EAAM9M,QACtDkN,SAAUJ,EAAMI,SAChBG,YAAaP,EAAMO,YACnB3/B,WAAS,EACTkiC,OAAQH,SC7BxB,MAAMI,GAAS50C,OAAO0C,OAAO,CAAEmyC,MAAO,QAASC,MAAO,QAASC,YAAa,gBAE/DC,GAAY,CACvBxB,eAAe1zC,EAAAA,EAAAA,GAAEU,GAAAA,eACjBizC,eAAe3zC,EAAAA,EAAAA,GAAEU,GAAAA,eACjBkzC,sBAAsB5zC,EAAAA,EAAAA,GAAEU,GAAAA,sBACxBy0C,gBAAgBn1C,EAAAA,EAAAA,GAAEU,GAAAA,UAClB00C,eAAep1C,EAAAA,EAAAA,GAAEU,GAAAA,QAGb20C,GAAqB,IAAIC,OAC7B,+EACA,KAKK,IAAKC,I,SAAAA,GAAAA,EAAAA,QAAAA,UAAAA,EAAAA,MAAAA,Q,CAAAA,KAAAA,GAAAA,KAyBZ,MAAMC,GAAsC,CAAEn0C,MAAOk0C,GAAgBE,SAgB9D,SAASC,mBAAmBnqC,GACjC,OAAOA,EAAM1E,OAAS,EAAI,CAAEiE,MAAOoqC,GAAUC,eAAgB9zC,MAAOk0C,GAAgBzqC,OAAU0qC,GAahG,MAAMG,GAA+Bz1C,OAAO0C,OAAO,CACjD,CAACkyC,GAAOC,OAAQ,CAACW,mBAXZ,SAASE,eAAerqC,GAC7B,OAAQsqC,EAAAA,EAAAA,cAAatqC,GAA4EiqC,GAAnE,CAAE1qC,MAAOoqC,GAAUxB,cAAeryC,MAAOk0C,GAAgBzqC,SAWvF,CAACgqC,GAAOE,OAAQ,CAACU,mBARZ,SAASI,eAAevqC,GAC7B,OAAO8pC,GAAmBU,KAAKxqC,GAC3BiqC,GACA,CAAE1qC,MAAOoqC,GAAUtB,qBAAsBvyC,MAAOk0C,GAAgBzqC,SAMpE,CAACgqC,GAAOG,aAAc,CAACS,sBASlB,SAASM,uBAAuB9D,EAAmB3mC,GACxD,MAAM0qC,EAAgBN,GAAiBzD,GAAaA,EAAY,cAC1DgE,EArCD,SAASC,iBAAgB,MAAE5qC,EAAF,WAAS6qC,IACvC,IAAIC,EAAoC,GAKxC,OAJAD,EAAWE,OAAMC,IACfF,EAAkBE,EAAShrC,IACnB8qC,EAAgBvrC,SAEnBurC,EA+BWF,CAAgB,CAAE5qC,MAAAA,EAAO6qC,WAAYT,GAAiBM,KACxE,MAAO,CACL,CAAC/D,GAAY,CACX3mC,MAAAA,EACAlK,MAAO60C,MAAAA,OAAF,EAAEA,EAAW70C,MAClBuzC,aAAcsB,MAAAA,OAAF,EAAEA,EAAWprC,QAUxB,MCnFD0rC,GAA4B,CAAC,SAuBnC,SAASC,kBAAkBhF,EAAwBmB,GACjD,OAAOnB,MAAAA,OAAP,EAAOA,EAAQtyC,KAAI,EAAGqB,KAAAA,EAAMyxC,aAAAA,MAC1B,MAAMyE,EAAU9D,EAASpyC,GACzB,MAAO,CACLA,KAAAA,EACA+K,MAAOmrC,EAAUA,EAAQnrC,MAAQ0mC,MA0ChCzoC,eAAemtC,aAAaC,GACjC,MAAQ5E,EAAyB4E,EAAzB5E,WAAYY,EAAagE,EAAbhE,SAEpB,IDU0BA,CAAAA,IAC1B,MAAMiE,EAAa32C,OAAO42C,OAAOlE,GACjC,OAAOiE,EAAWhwC,UAAWgwC,MAAAA,GAAAA,EAAYE,MAAK,EAAGnC,aAAAA,KAAmBA,MCZ/DoC,CAAYpE,GACf,OAEF,MAAMqE,EArCR,SAASC,yBAAyBlF,EAA4BY,GAA6C,QACzG,MAYMuE,EAAiC,CACrCC,QAAS,CACPC,eAdyC,CAC3C,CACE7kC,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,SACR42C,mBA9CiB,QA+CjB/rC,QAASqnC,MAAAA,GAAD,UAACA,EAAUwE,eAAX,QAAC,EAAmB7rC,QAE9B,CACEiH,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,SACR42C,mBAlDyB,QAmDzB/rC,QAASqnC,MAAAA,GAAD,UAACA,EAAUwE,eAAX,QAAC,EAAmB7rC,SAM5BgsC,kBAAkB,EAClB/kC,KrF3EsB,KqF8E1B,MAAO,CACLglC,QAjDmC,CACrCC,KAAMzxC,eAAe,cACrB0xC,SAAUhyC,YAAcW,SAAS4I,MAAQ,GACzC0oC,QAASjyC,YAAcW,SAAS8E,SAASi8B,SAAW,IA+ClDqK,OAAQgF,kBAAkBzE,EAAYY,GACtCuE,oBAAAA,GAciBD,CAAyBlF,EAAYY,GAClDgF,EACJX,SACOlE,MApFT,yGAoFyB,CACrBC,OAAQ,OACRrpC,KAAMkuC,KAAKC,UAAUb,GACrBpN,QAAS,CACP,eAAgB,oCAGtB,OAAO+N,MAAAA,OAAP,EAAOA,EAAU3E,OCzGnB,MAWA,IAXyB9kC,EAAAA,EAAAA,KAA6C,EAAGC,QAAAA,MAAH,CACpE2pC,gBAAiB,CACfzpC,QAAS,OACTsB,eAAgB,aAChBooC,IAAK5pC,EAAQ,GACb,MAAO,CACL6pC,UAAW,a,8oBCeF,SAASC,cACtB,SAAgC7tC,EAAAA,EAAAA,UAAoB,IAApD,WAAOuoC,EAAP,KAAiBuF,EAAjB,KACA,EAA+C3F,oBAAvCC,EAAR,EAAQA,OAAQ1wC,EAAhB,EAAgBA,KAAM+I,EAAtB,EAAsBA,MACditC,EAAoBK,KAApBL,gBAEF/F,GAAantC,EAAAA,EAAAA,UAAQ,IAAM9C,MAAAA,OAAN,EAAMA,EAAM0vC,QAAQ,CAAC1vC,MAAAA,OAAD,EAACA,EAAM0vC,SAEhD4G,GAAenI,EAAAA,EAAAA,cACnB,EAAGoI,OAAAA,MACD,MACMC,EAAgBvC,uBADEsC,EAAhB93C,KAAgB83C,EAAV/sC,OAEd4sC,EAAY,qDACPvF,GACA2F,MAGP,CAACJ,EAAavF,IAGV4F,GAAuBtI,EAAAA,EAAAA,cAC3B,EAAGoI,OAAAA,MACD,MAAQ93C,EAAkB83C,EAAlB93C,KAAM0pC,EAAYoO,EAAZpO,QACdiO,EAAY,qDACPvF,GADM,IAET,CAACpyC,GAAO,CACN+K,MAAO2+B,EACP7oC,WAAOwhC,EACP+R,aAAc1K,OAAUrH,GAAY7iC,EAAAA,EAAAA,GAAEU,GAAAA,aAI5C,CAACy3C,EAAavF,IAGV6F,GAAuBvI,EAAAA,EAAAA,cAC1BC,IAEC,GADAA,EAAMC,kBACD4B,IAAeA,EAAWnrC,OAC7B,OAEF,IAAI6xC,EAAc,4BAAK9F,GACvBZ,EAAWxrC,SAAQ,EAAGhG,KAAAA,EAAM8kC,OAAAA,MAC1B,IAAKA,EAAQ,CACX,MACMqT,EAAe3C,uBAAuBx1C,EADvBk4C,EAAYl4C,GAAQk4C,EAAYl4C,GAAM+K,MvFhEzC,IuFkElBmtC,EAAc,qDAAKA,GAAgBC,OAGvCR,EAAYO,GACZ/B,aAAa,CAAE3E,WAAAA,EAAYY,SAAAA,IACxBlzC,MAAMk4C,IACL,GAAIA,MAAAA,GAAAA,EAAUgB,YAEZjzC,OAAOwF,SAAS0tC,OAAOjB,MAAAA,OAAvB,EAAuBA,EAAUgB,iBAC5B,CAEL,MAAME,EFqCX,SAASC,wBACdC,EACApG,GAEA,QAA+CoG,EAAvCvG,OAAAA,OAAR,MrFtH0B,GqFsH1B,IAA+CuG,EAAhBF,OAAAA,OAA/B,MAAwC,GAAxC,EACA,GAAItC,GAAgBlO,SAASmK,GAC3B,OAAOqG,EAAO35C,KAAI,EAAG85C,QAAAA,EAASC,UAAAA,MAC5B,QAAgBD,EAAQE,MAAM,6BAAvBpH,EAAP,YACMqH,EAAYrH,MAAAA,OAAH,EAAGA,EAAO1mC,QAAQ,SAAU,IAQ3C,MAPyC,CACvC,CAAC+tC,GAAY,CACX7tC,MAAOqnC,EAASwG,GAAW7tC,MAC3BlK,MAAOk0C,GAAgBzqC,MACvB8pC,aAAcM,GAAUgE,QElDPH,CAAwBnB,EAAoChF,GAC3EkG,MAAAA,GAAAA,EAAQtyC,SAAQ6yC,GAAMlB,EAAY,qDAAKvF,GAAayG,UAGvDlG,OAAMC,UAIX,CAAC+E,EAAanG,EAAYY,IAG5B,OAAI9nC,EACK,gBAACypC,mBAAD,MAIP,gCACG9B,IAAWtB,GAAiBmI,QAC3B,wBAAMC,SAAUd,EAAsBe,YAAU,EAAC,cAAY,qBAC3D,gBAAC,KAAD,KACE,gBAAC/E,aAAD,CAAchD,OAAQO,EAAYY,SAAUA,EAAU8B,aAAc2D,IACpE,gBAAC,IAAD,CAAKz2C,UAAWm2C,EAAiBlQ,EAAG,GAClC,gBAAC,KAAD,KACE,gBAAC,KAAD,CACExiC,IAAI,UACJ7E,KAAK,UACLT,GAAG,mBACH,cAAY,uBACZ05C,gBAAgB,EAChBC,SAAUlB,KAGd,gBAAC,IAAD,CAAYjlC,MAAM,OAAOpR,QAAQ,WAC9BnC,EAAAA,EAAAA,GAAEU,GAAAA,aACH,qBACEmB,KAAK,4FACLy2C,OAAO,WAENt4C,EAAAA,EAAAA,GAAEU,GAAAA,qBAEJV,EAAAA,EAAAA,GAAEU,GAAAA,aACH,qBAAGmB,KAAK,qBAAqBy2C,OAAO,WACjCt4C,EAAAA,EAAAA,GAAEU,GAAAA,mBAEJV,EAAAA,EAAAA,GAAEU,GAAAA,iBAIP,gBAAC,IAAD,CAAK4N,QAAQ,OAAOqrC,YAAY,aAAa9R,EAAG,GAC9C,gBAAC,MAAD,CAAQxmC,MAAM,UAAUu4C,WAAW,SAAS7rC,KAAK,KAAK5L,QAAQ,UAC3DnC,EAAAA,EAAAA,GAAEU,GAAAA,mBAMX,gBAAC,IAAD,CAAK4N,QAAQ,OAAOqrC,YAAY,UAC9B,gBAAC,KAAD,CAAgBE,UvFtIE,GuFsIuB9rC,KAAK,KAAK+rC,YAAU,MC/HvE,MAuCA,IAvCgC3rC,EAAAA,EAAAA,KAC9B,EAAGoB,eAAAA,EAAgBnB,QAAAA,MAAnB,CACE2rC,YAAa,CACX1lC,WAAY,MACZ2lC,cAAe,OACfvrC,UAAW,SACXgH,UAAWrH,EAAQ,IAErBsK,YAAa,CACXnK,SAAU,OACVE,UAAW,OACX4F,WAAY,OACZ,WAAY,CACV1S,QAAS,MACTqW,WAAY,QACZC,YAAa7J,EAAQ,GACrBwK,aAAcxK,EAAQ,GACtB/M,MAAOkO,EAAeU,OAAOI,UAGjC4pC,YAAa,CACX1rC,SAAU,OACVE,UAAW,OACXgH,UAAW,MACXpB,WAAY,OACZhD,SAAU,SAEZ6oC,iBAAkB,CAChB3rC,SAAU,OACVI,WAAY,MACZD,OAAQ,SACRrN,MAAOkO,EAAeU,OAAOC,UAE/BiqC,eAAgB,CACdvoC,WAAYrC,EAAeU,OAAO6I,YCpCzB,SAASshC,YACtB,QAAoEC,KAA5DN,EAAR,EAAQA,YAAarhC,EAArB,EAAqBA,YAAauhC,EAAlC,EAAkCA,YAAaC,EAA/C,EAA+CA,iBAE/C,OACE,gCACE,gBAAC,IAAD,CAAK5rC,QAAQ,OAAOqH,cAAc,SAASkyB,EAAG,GAI5C,sBAAIjmC,UAAWs4C,IAAmBl6C,EAAAA,EAAAA,GAAEU,GAAAA,mBACpC,qBAAGkB,UAAWq4C,IAAcj6C,EAAAA,EAAAA,GAAEU,GAAAA,aAC9B,gBAAC,IAAD,CAAKkB,UAAWm4C,EAAalV,QAAQ,MACnC,gBAAC,IAAD,CAAYxiC,UAAU,IAAIF,QAAQ,QAChC,sBAAIP,UAAW8W,IAAc1Y,EAAAA,EAAAA,GAAEU,GAAAA,eAC/B,sBAAIkB,UAAW8W,IAAc1Y,EAAAA,EAAAA,GAAEU,GAAAA,oBAC/B,sBAAIkB,UAAW8W,IAAc1Y,EAAAA,EAAAA,GAAEU,GAAAA,eCtB3C,UAAeyN,EAAAA,EAAAA,KAAgB,KAAM,CACnCmsC,gBAAiB,CACfhsC,QAAS,cACT0B,WAAY,SACZzB,SAAU,GACV,QAAS,CACPyJ,WAAY,QCFlB,UACE,CACE3V,UAAW2J,GCIA,SAASuuC,oBAAmB,YAAE/tC,EAAF,WAAeJ,IACxD,MAAQq/B,EAAa+O,KAAb/O,SACAl/B,EAAam/B,wBAAwBl/B,EAAaJ,GAAlDG,SAER,OAAKC,EAKH,gCACE,8BACE,gBAACsC,YAAD,MACA,gBAAC4B,WAAD,OAEF,gBAAC,IAAD,CAAK9O,UAAW6pC,GACbl/B,MAAAA,OADH,EACGA,EAAUpN,KAAIqrC,GACN,gBAAC9F,QAAD,iBAAa8F,EAAb,CAA6BnlC,IAAM,WAAUmlC,EAAevzB,iBAXlE,oCDRPwjC,MAAO,CAAC,WAAY,YAAa,8BAA+B,8CAElE,CACEp4C,UAAW2J,GEGA,SAAS0uC,iBACtB,MAAQP,EAAmBE,KAAnBF,eACR,OACE,gCACE,8BACE,gBAACrrC,YAAD,MAAc9O,EAAAA,EAAAA,GAAEU,GAAAA,eAChB,gBAACgQ,WAAD,OAEF,gBAAC,IAAD,CAAKpC,QAAQ,OAAOqrC,YAAY,UAC9B,gBAAC,KAAD,CAAMr2C,GAAI,EAAGq3C,GAAI,GACf,gBAAC,UAAD,CAAW/sC,GAAI,GAAIH,GAAI,EAAGC,GAAI,GAC5B,gBAAC0sC,UAAD,OAEF,gBAAC,UAAD,CAAWxsC,GAAI,GAAIH,GAAI,EAAGC,GAAI,GAC5B,gBAAC,IAAD,CAAK9L,UAAWu4C,EAAgBtS,EAAG,GACjC,gBAACqQ,YAAD,cFjBVuC,MAAO,CAAC,2DAEV,CACEp4C,UAAW2J,GGIA,SAAS4uC,oBAAmB,YAAEpuC,EAAF,WAAeJ,IACxD,MAAQG,EAAam/B,wBAAwBl/B,EAAaJ,GAAlDG,SACR,EAA4BsuC,GAAiB,CAC3CrS,aAAcj8B,EAAS1F,SADjB0pC,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,OAGTnsC,GAAkB8H,EAAAA,EAAAA,MAAlB9H,cAER,OAAKmI,EAKH,gCACE,8BACE,gBAACsgC,cAAD,CAAepoC,KAAKwM,EAAAA,EAAAA,WAAW,YAAW7M,IAAiByM,GAAazM,GAAe6K,eACvF,gBAACJ,YAAD,MAAc9O,EAAAA,EAAAA,GAAEU,EAAAA,kBAChB,gBAACgQ,WAAD,OAEF,gBAAC,IAAD,CAAK9O,UAAW2uC,GACd,gBAAC,KAAD,CAAYl/B,SAAS,MACnB,gBAAC,IAAD,KACG9E,EAASpN,KAAI,CAACqrC,EAA8BY,KAC3C,MAAQj1B,EAAqDq0B,EAArDr0B,QAASN,EAA4C20B,EAA5C30B,QAAkBrE,EAA0Bg5B,EAAnCvzB,QAAsB9E,EAAaq4B,EAAbr4B,SAC1C25B,EAAiBv/B,EAASuI,MAAKo3B,GAAOA,EAAIj1B,UAAYzF,IAC5D,OACE,uBAAKnM,IAAM,UAASmM,KAClB,gBAAC07B,qBAAD,CACE/6B,SAAUA,EACV0C,SAAUsB,EACVN,QAASA,EACTrE,YAAaA,EACbpC,YAAa/K,EACb+mC,MAAQ,GAAEA,EAAQ,IAClB,cAAY,2BAEbU,GAAkB,gBAACkD,WAAD,CAAYC,kBAAmB,CAACnD,GAAiBoD,UAAQ,UAMtF,gBAAC,KAAD,CAAY4L,SAAS,MACnB,gCACE,gBAAC,IAAD,CAAKl5C,UAAW4uC,EAAQ,cAAY,mBACjCjkC,EAASpN,KAAI,CAACqrC,EAA8BY,KAC3C,MAAQj1B,EAAqDq0B,EAArDr0B,QAASN,EAA4C20B,EAA5C30B,QAAkBrE,EAA0Bg5B,EAAnCvzB,QAAsB9E,EAAaq4B,EAAbr4B,SAEhD,OACE,gBAAC+6B,qBAAD,CACE7nC,IAAM,wBAAuBmM,IAC7BW,SAAUA,EACV0C,SAAUsB,EACVN,QAASA,EACTrE,YAAaA,EACbpC,YAAa/K,EACb+mC,MAAQ,GAAEA,EAAQ,UAK1B,gBAAC4D,WAAD,CAAYC,kBAAmB1iC,QApDhC,oCHXPkuC,MAAO,CAAC,gEAEV,CACEp4C,UAAW2J,GIGA,SAAS+uC,wBAAuB,YAAEvuC,EAAF,WAAeJ,IAE5D,MAAM4uC,EAAqBvyC,EAE3B,EAA4BoyC,GAAiB,CAC3CrS,aAAcwS,EAAmBn0C,SAD3B0pC,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,OAGT8J,EAAoBW,KAApBX,gBACAj2C,GAAkB8H,EAAAA,EAAAA,MAAlB9H,cACAkI,EAAam/B,wBAAwBl/B,EAAawuC,GAAlDzuC,SAER,IAAKC,EACH,OAAO,iCAGT,MAAM7H,EAAyB,gBAAlBN,EAAkC,aAAeA,EACxD62C,GAAsBl7C,EAAAA,EAAAA,GAAEU,EAAAA,cAE9B,OACE,gCACE,8BACE,gBAACosC,cAAD,CAAepoC,KAAKwM,EAAAA,EAAAA,WAAW,YAAWvM,IAAQmM,GAAanM,GAAMuK,eACrE,gBAACJ,YAAD,MAAc9O,EAAAA,EAAAA,GAAEU,EAAAA,sBAChB,gBAAC,IAAD,CAAY6S,MAAM,SAAS,cAAY,4BACpCvT,EAAAA,EAAAA,GAAEU,EAAAA,wBAA8B,IACjC,gBAAC,KAAD,CAAMkB,UAAW04C,EAAiB7pC,GAAG,+BAClCyqC,EACD,gBAAC,OAAD,CAAgBjsC,MAAOisC,EAAqBntC,KAAK,SAGrD,gBAAC2C,WAAD,OAEF,gBAAC,IAAD,CAAK9O,UAAW2uC,GACd,gBAAC,IAAD,CAAK3uC,UAAW4uC,GACbjkC,EAASpN,KAAI,CAACqrC,EAA8BY,KAC3C,MAAQj1B,EAAqDq0B,EAArDr0B,QAASN,EAA4C20B,EAA5C30B,QAAkBrE,EAA0Bg5B,EAAnCvzB,QAAsB9E,EAAaq4B,EAAbr4B,SAEhD,OACE,gBAAC+6B,qBAAD,CACE7nC,IAAM,iBAAgBmM,IACtBW,SAAUA,EACV0C,SAAUsB,EACVN,QAASA,EACTrE,YAAaA,EACbpC,YAAa/K,EACb+mC,MAAQ,GAAEA,EAAQ,UAK1B,gBAAC4D,WAAD,CAAYC,kBAAmB1iC,SJpDnCkuC,MAAO,CAAC,0C,2BKdNU,cAA6C,IAAqC,IAAlCC,EAAkC,EAAlCA,aAAcz2C,EAAoB,EAApBA,KAASlC,EAAW,UAEtF,MAJmB,gCAIfkC,EACK,gBAAC,KAAD,CAAU8L,GAAI,CAAE22B,SAAUgU,KAE5B,gBAAC,KAAU34C,IALd04C,cAAAA,YAAAA,gBAQN,uBCPME,GAASC,GAAMn8C,KAAIo8C,GAChBA,EAAKd,MAAMt7C,KAAKwF,GACd,gBAAC,GAAD,CAAeU,IAAKV,EAAMA,KAAMA,EAAM62C,OAAK,EAACJ,aAAa,WAAW/4C,UAAWk5C,EAAKl5C,gBAIzFo5C,cAAgB,IAElB,gBAAC7yC,OAAD,KACE,gBAAC,KAAD,KACGyyC,GACD,gBAAC,KAAD,QALFI,cAAAA,YAAAA,gBAWN,uB,gDCZO,MAAM/6C,IAAOC,EAAAA,EAAAA,gBAAe,CACjC+6C,sBAAuB,CACrB37C,GAAI,sCACJc,eAAgB,2BAChBC,YAAa,gGAIjB,SAAS66C,wBAAyBC,uCAAuC,MAAEC,KACzE,OAAOA,EAAM18C,KAAI,EAAGqB,KAAMgS,EAAMspC,KAAAA,EAAM/7C,GAAAA,EAAIkF,OAAS82C,OAAQ3N,OAA1C,CACf57B,KAAAA,EACAspC,KAAAA,EACA/7C,GAAAA,EACAquC,KAAAA,MAIJ,MAAM4N,WAAkBC,EAAAA,UAAU,mCAChCC,MAAQ,CACNC,QAAS,IAFqB,KAKhCC,kBAAoBD,IAClBE,KAAKC,SAAS,CAAEH,QAAAA,KANc,KAShCI,mBAAqB,EAAGnO,KAAAA,MACtBzoC,OAAOwF,SAAS0tC,OAAOzK,IAVO,KAahCoO,aAAeL,IACbM,EAAAA,eAAAA,MAAqB,CACnBj8C,KAAMk8C,EAAAA,YAAAA,oBACN36C,KAAM,CACJ46C,eAAgB,yBAChB36C,WAAY,4BACZC,WAAY,mBACZ26C,WAAYT,EACZhxC,SAAUkxC,KAAKnwC,MAAMf,YAGzBkxC,KAAKnwC,MAAM2wC,QAAQ1Y,KAAM,kBAAiBgY,MAG5CW,SACE,MAAQr4C,EAAgB43C,KAAK7E,QAArB/yC,YACR,OACE,gBAAC,MAAD,CACEs4C,MAAOC,KACPC,MAA+B,KAAvBZ,KAAKH,MAAMC,QACnBzxC,UAAW,CACTwyC,UAAWz4C,EAAYy4C,UACvBC,IAAK14C,EAAY04C,IACjBp4C,SAAUN,EAAY24C,WACtBjB,QAASE,KAAKH,MAAMC,WAGrB,EAAGtxC,QAAAA,EAASC,MAAAA,EAAO/I,KAAAA,KAEhB,uBAAKH,UAAU,iBACb,gBAAC,KAAD,CACE0wC,YAAa5xC,GAAKg7C,sBAAsB76C,eACxCw8C,cAAehB,KAAKD,kBACpBkB,eAAgBjB,KAAKE,mBACrBhD,SAAU8C,KAAKG,aACfe,UAAW1yC,EACX2yC,WAAY1yC,KAAWuxC,KAAKH,MAAMC,QAClC3pC,KAAM6pC,KAAKH,MAAMC,QACjBp6C,KACE8I,GAAcC,GAAWuxC,KAAKH,MAAMC,SAAmC,KAAvBE,KAAKH,MAAMC,QACvD,GACAR,uBAAuB55C,GAE7B07C,WAAY,EAAGjrC,KAAAA,EAAMspC,KAAAA,KACnB,uBAAKl6C,UAAU,uBACb,uBAAK87C,IAAKlrC,EAAM5Q,UAAU,2BAA2B2H,IAAKuyC,GAAQ6B,KACjEnrC,SA3DfwpC,GAAAA,YAAAA,YA8EN,UAAe4B,EAAAA,EAAAA,IAAW5B,IAC1BA,GAAU6B,YAAct5C,EAAAA,GCpGjB,MAAM7D,IAAOC,EAAAA,EAAAA,gBAAe,CACjCm9C,cAAe,CACb/9C,GAAI,2BACJc,eAAgB,wBAChBC,YAAa,mEAEfi9C,eAAgB,CACdh+C,GAAI,4BACJc,eAAgB,2EAChBC,YAAa,oGAIXk9C,YAAc,KAClB,SAAiE15C,EAAAA,EAAAA,YAAWC,EAAAA,IAApEqnC,EAAR,EAAQA,KAAR,IAAcqS,WAAd,cAA0D,GAA1D,GAA4BC,kBAAAA,OAA5B,SACMC,EAAsBvS,EAAKC,iBAAmBqS,EACpD,OACE,uBACE,cAAY,6BACZt8C,WACEu8C,EAAsB,0BAA4B,IADxC,gFAIZ,gBAAC,EAAAj8C,WAAD,CAAYC,QAAQ,QAAQE,UAAU,KAAKhB,MAAM,QAAQO,UAAU,0BAChElB,GAAKo9C,cAAcj9C,gBAEtB,gBAAC,EAAAqB,WAAD,CAAYC,QAAQ,YAAYE,UAAU,MAAMhB,MAAM,QAAQO,UAAU,6BACrElB,GAAKq9C,eAAel9C,gBAEvB,uBAAKe,UAAU,iDACb,gBAAC,GAAD,CAAWuJ,SAAS,8BAjBtB6yC,YAAAA,YAAAA,cAuBN,qB,0BCtCA,MAAMI,QAAUlyC,IACd,QAMIA,EALFmyC,IACEC,EAFJ,EAEIA,cACSvC,EAHb,EAGI92C,MAAS82C,OAEXv5C,EACE0J,EADF1J,SAEF,OAEqB87C,GAAiBvC,EAAOpP,QAAQ,SAAW,EAC1D,wBAAM,cAAY,yBAChB,mCAAG9qC,KAAMk6C,GAAY7vC,GAClB1J,IAKL,wBAAM,cAAY,yBAChB,gBAAC,KAAD,eAAMiO,GAAIsrC,GAAY7vC,GACnB1J,KApBP47C,QAAAA,YAAAA,UAsCN,iBCnCMG,SAAW,EAAGC,KAAAA,KAEhB,gBAAC,EAAAC,KAAD,CAAMC,UAAQ,EAAC98C,UAAU,+BAA+B,cAAY,YAClE,gBAAC,EAAA+8C,IAAD,KACGH,EAAKr/C,KAAIk/C,GACR,gBAAC,EAAAjW,IAAD,CAAK/iC,IAAKg5C,EAAIt+C,GAAI2N,GAAI,EAAGD,GAAI,EAAGF,GAAI,GAAIK,GAAI,GAAIhM,UAAU,YAAY,cAAY,iBAChF,gBAAC,GAAD,CAASy8C,IAAKA,EAAKz8C,UAAU,0BAA0B,cAAY,kBACjE,uBAAKA,UAAU,wFACb,uBAAK2H,IAAK80C,EAAIvC,KAAOuC,EAAIvC,KAAO6B,GAAmBD,IAAKW,EAAI79C,KAAMoB,UAAU,2BAC5E,gBAAC,EAAAM,WAAD,KAAam8C,EAAI79C,MACF69C,EAAI1O,WAAW9oC,OAC5B,gBAAC,EAAA3E,WAAD,CAAYb,MAAM,cAChB,wBAAMO,UAAU,8BAA8B,cAAY,sBACvDy8C,EAAI1O,WAAW,GAAGnvC,OAN3B,YAPR+9C,SAAAA,YAAAA,WA4CN,kBCLA,0BA5CyBryC,IACvB,MAAQ0yC,GAAct6C,EAAAA,EAAAA,YAAWC,EAAAA,IAAzBq6C,UACAC,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UACR,OACE,gCACE,gBAAC,KAAD,CAAcC,eAAgBD,GAC5B,gBAAC,KAAD,eAAgB7qC,OAAQ,IAAK1C,MAAO,KAASpF,GAC3C,wBAAM6yC,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACpD,wBAAM+qC,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACpD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAEtD,wBAAM+qC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACrD,wBAAM+qC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACrD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAEvD,wBAAM+qC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACrD,wBAAM+qC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACrD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAEvD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACrD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACrD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAEtD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACtD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACtD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAEvD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACtD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACtD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,SAI3D,gBAAC,KAAD,CAAc8qC,gBAAiBD,GAC7B,gBAAC,KAAD,eAAgB7qC,OAAQ,IAAK1C,MAAO,IAAK1P,UAAU,wBAA2BsK,GAC5E,wBAAM6yC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OACrD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACvD,wBAAM+qC,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,WC7BpDtT,IAAOC,EAAAA,EAAAA,gBAAe,CACjCw+C,oBAAqB,CACnBp/C,GAAI,8BACJc,eAAgB,WAChBC,YAAa,wFAEfs+C,0BAA2B,CACzBr/C,GAAI,mCACJc,eAAgB,iBAChBC,YAAa,wFAEfu+C,uBAAwB,CACtBt/C,GAAI,gCACJc,eAAgB,eAChBC,YAAa,4FAEfw+C,mBAAoB,CAClBv/C,GAAI,wBACJc,eAAgB,WAChBC,YACE,uHAyCAy+C,kBAAoB,EAAGC,WAAAA,EAAYr0C,UAAYs0C,OAAAA,OACnD,QAlCkCC,CAAAA,IAGlC,OAAQA,GACN,IARa,WASX,MAAO,CACLzwC,MAAOvO,GAAKy+C,oBAAoBt+C,eAChC8+C,SAAU,sBACVpE,KAPO,EAQPqE,SAPkB,GAUtB,IAfmB,iBAgBjB,MAAO,CACL3wC,MAAOvO,GAAK0+C,0BAA0Bv+C,eACtC8+C,SAAU,uBACVpE,KAfO,EAgBPqE,SAfkB,GAkBtB,IAtBiB,eAuBf,MAAO,CACL3wC,MAAOvO,GAAK2+C,uBAAuBx+C,eACnC8+C,SAAU,qBACVpE,KAvBO,EAwBPqE,SAAU,GAGd,QACE,MAAO,CAAC,GAAI,IA5BH,EACW,KAgCoBC,CAA4BL,GAAhEvwC,EAAR,EAAQA,MAAO0wC,EAAf,EAAeA,SAAUpE,EAAzB,EAAyBA,KAAMqE,EAA/B,EAA+BA,SAC/B,GAEIt7C,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAe24C,EADjB,EACiBA,WAAYF,EAD7B,EAC6BA,UAAWC,EADxC,EACwCA,IAExC,OACE,gBAAC,MAAD,CACEJ,MAAO+C,KACPp1C,UAAW,CAAEwyC,UAAAA,EAAWC,IAAAA,EAAKp4C,SAAUq4C,EAAYp4C,OAAQw6C,EAAYjE,KAAAA,EAAMqE,SAAAA,KAE5E,EAAG/0C,QAAAA,EAASC,MAAAA,EAAO/I,KAAAA,KAEhB,2BAASH,UAAU,gBACjB,0BAAQA,UAAU,mDAChB,gBAAC,EAAAM,WAAD,CAAYG,UAAU,MAAMF,QAAQ,aACjC8M,GAEY0wC,EACb,gBAAC,EAAAz9C,WAAD,KAEE,qBAAGL,KAAO,GAAE89C,IAAWF,IAAU79C,UAAU,kCACxClB,GAAK4+C,mBAAmBz+C,iBARjC,MAcmBiK,EACf,gBAAC,KAAD,MAEeD,EACf,gBAAC,0BAAD,CAAkB,cAAY,uBAG9B,gBAAC,GAAD,CAAU2zC,KAAMz8C,EAAKg+C,6BAA6BlE,YAlC5D0D,kBAAAA,YAAAA,oBAsDNA,kBAAkB5W,aAAe,CAC/BlkC,YAAa,CACX24C,WAAY,IAIhB,UAAeQ,EAAAA,EAAAA,IAAW2B,mB,0BClI1B,MAAMS,gBAAkB9zC,GACtB,gBAAC,KAAD,eAAgB8H,OAAQ,IAAK1C,MAAO,IAAK,cAAY,mBAAsBpF,GACzE,wBAAM6yC,EAAE,IAAIC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACpD,wBAAM+qC,EAAE,IAAIC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACpD,wBAAM+qC,EAAE,IAAIC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,QAJlDgsC,gBAAAA,YAAAA,kBAQN,yB,2CCRMC,eAAiB,IAMjB,IALJ7Y,EAKI,EALJA,SACYqY,EAIR,EAJJt0C,SAAYs0C,OAGTS,GACC,EAFJC,cAEI,WACJ,OACE,gBAAC,KAAD,eAAM1vC,GAAI,CAAE22B,SAAAA,EAAUqY,OAAAA,IAAcS,GACjCA,EAAK19C,WATNy9C,eAAAA,YAAAA,iBAsBN,UAAerC,EAAAA,EAAAA,IAAWqC,gBCXbv/C,IAAOC,EAAAA,EAAAA,gBAAe,CACjCy/C,sBAAuB,CACrBrgD,GAAI,qCACJc,eAAgB,gBAChBC,YAAc,2FAEhBu/C,kBAAmB,CACjBtgD,GAAI,kCACJc,eAAgB,eAChBC,YAAc,2FAEhBw/C,eAAgB,CACdvgD,GAAI,8BACJc,eAAgB,UAChBC,YAAc,4FAEhBy/C,gBAAiB,CACfxgD,GAAI,gCACJc,eAAgB,WAChBC,YAAc,wFAEhB0/C,oBAAqB,CACnBzgD,GAAI,mCACJc,eAAgB,eAChBC,YAAc,+FAEhB2/C,sBAAuB,CACrB1gD,GAAI,qCACJc,eAAgB,iBAChBC,YAAc,wGAIZ4/C,YAAc,EAAGpI,OAAAA,EAAQ9lC,KAAAA,EAAM,cAAemuC,KAClD,sBAAI/+C,UAAU,wBAAwB,cAAa++C,GACjD,gBAAC,GAAD,CAAgBvZ,SAAUkR,EAAQ12C,UAAU,8BACzC4Q,IAHDkuC,YAAAA,YAAAA,cAcNA,YAAY/X,aAAe,CACzB,cAAe,uBAGjB,MAAMiY,OAAS10C,IACb,SAII5H,EAAAA,EAAAA,YAAWC,EAAAA,IAHE64C,EADjB,EACE34C,YAAe24C,WACfxR,EAFF,EAEEA,KACAgT,EAHF,EAGEA,UAEMC,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UACR,OACE,sBAAS3yC,EACP,gBAAC,MAAD,CAAO6wC,MAAO8D,KAA4Cn2C,UAAW,CAAE3F,SAAUq4C,KAC9E,EAAGvyC,QAAAA,EAAS9I,KAAAA,EAAM+I,MAAAA,KAEf,gCACE,gBAAC,KAAD,CAAcg0C,gBAAiBD,GAC7B,gBAAC,EAAAiC,UAAD,CAAWl/C,UAAU,kCACnB,gBAAC,EAAAm/C,cAAD,CAAeC,OAAK,EAAC/xC,MAAOvO,GAAK0/C,sBAAsBv/C,gBACrD,gBAAC,EAAA6O,KAAD,CAAMsxC,OAAK,EAACC,aAAW,GAEFrV,EAAKC,gBACpB,gBAAC,EAAA/7B,SAAD,KACE,gBAAC,GAAD,CAAgBs3B,SAAS,iBACvB,gBAAC,EAAAllC,WAAD,KAAaxB,GAAK4/C,eAAez/C,kBAKrC,6BAGJ,gBAAC,EAAAiP,SAAD,KACE,gBAAC,GAAD,CAAgBs3B,SAAS,uBACvB,gBAAC,EAAAllC,WAAD,KAAaxB,GAAK6/C,gBAAgB1/C,kBAGtC,gBAAC,EAAAiP,SAAD,KACE,gBAAC,GAAD,CAAgBs3B,SAAS,sBACvB,gBAAC,EAAAllC,WAAD,KAAaxB,GAAK8/C,oBAAoB3/C,kBAG1C,gBAAC,EAAAiP,SAAD,KACE,gBAAC,GAAD,CAAgBs3B,SAAS,wBACvB,gBAAC,EAAAllC,WAAD,KAAaxB,GAAK+/C,sBAAsB5/C,oBAKhD,gBAAC,EAAAkgD,cAAD,CAAe9xC,MAAOvO,GAAK2/C,kBAAkBx/C,iBAEvBgK,GAAW9I,EAC3B,gBAAC,EAAA2N,KAAD,CAAMuxC,aAAW,GACdl/C,EAAKm/C,sCAAsC/hD,KAAIgiD,GAC9C,gBAAC,EAAArxC,SAAD,CAAUzK,IAAK87C,EAAIphD,IACjB,gBAAC,GAAD,CAAgBqnC,SAAW,oBAAmB+Z,EAAI97C,OAChD,gBAAC,EAAAnD,WAAD,KAAai/C,EAAI3gD,WAOzB,gCAMV,gBAAC,KAAD,CAAcs+C,eAAgBD,GAC5B,gBAAC,EAAA38C,WAAD,CAAYG,UAAU,MAAMF,QAAQ,YAAYP,UAAU,oBACvDlB,GAAK0/C,sBAAsBv/C,gBAE9B,sBAAIe,UAAU,wCACGgqC,EAAKC,gBAClB,gBAAC6U,YAAD,CAAapI,OAAO,gBAAgB9lC,KAAM9R,GAAK4/C,eAAez/C,iBAFlE,KAIE,gBAAC6/C,YAAD,CAAapI,OAAO,sBAAsB9lC,KAAM9R,GAAK6/C,gBAAgB1/C,iBACrE,gBAAC6/C,YAAD,CAAapI,OAAO,qBAAqB9lC,KAAM9R,GAAK8/C,oBAAoB3/C,iBACxE,gBAAC6/C,YAAD,CAAapI,OAAO,uBAAuB9lC,KAAM9R,GAAK+/C,sBAAsB5/C,kBAE9E,gBAAC,EAAAqB,WAAD,CAAYG,UAAU,MAAMF,QAAQ,YAAYP,UAAU,oBACvDlB,GAAK2/C,kBAAkBx/C,gBAGPgK,EACf,gBAAC,GAAD,MAEeC,EAnBrB,OAqBM,sBAAIlJ,UAAU,0CACXG,EAAKm/C,sCAAsC/hD,KAAIgiD,GAC9C,gBAACT,YAAD,CACE,cAAY,uBACZr7C,IAAK87C,EAAIphD,GACTu4C,OAAS,oBAAmB6I,EAAI97C,MAChCmN,KAAM2uC,EAAI3gD,gBA7F9BogD,OAAAA,YAAAA,SA4GN,gBCvKMQ,eAAiB,IACrB,uBAAKx/C,UAAU,2CAA2C,cAAY,oCACpE,gBAAC,KAAD,OAFEw/C,eAAAA,YAAAA,iBAMN,MAAMC,cAAgB,IACpB,uBAAKz/C,UAAU,8BAA8B,cAAY,mCACvD,gBAAC,EAAA0/C,eAAD,CAAgBxH,YAAU,KAFxBuH,cAAAA,YAAAA,gBAMN,MAAME,GAAmB,CACvBC,QAASJ,gBAGX,iBCVA,MAAMK,WAAkBxF,EAAAA,UAAU,mCAahCC,MAAQ,CACNn6C,KAAM,CACJ2/C,WAAY,MAEd72C,SAAS,EACTC,OAAO,GAlBuB,KAoFhC62C,mBAAqB,KACnB,QAAqCtF,KAAKnwC,MAAlC01C,EAAR,EAAQA,aAAcC,EAAtB,EAAsBA,WAChBC,EAAeP,GAAiBM,GAEtC,OAAID,IAIAE,EACK,gBAACA,EAAD,MAGF,gBAAC,GAAD,QA3ETC,oBACE1F,KAAK2F,YAAa,EAClB3F,KAAK4F,gBAGPC,uBACE7F,KAAK2F,YAAa,EAGpBG,qBACE,MAAQN,EAAexF,KAAKnwC,MAApB21C,WACFO,EAAkB/7C,SAASg8C,eAAgB,eAA6BR,KAC9E,OAAIO,GACFA,EAAgBE,SACTF,EAAgBG,aAElB,KAGU,sBACjB,MAAMC,cAAgB,KACpBnG,KAAKC,SAAS,CACZzxC,SAAS,EACTC,OAAO,KAIX,IAAI42C,EAAarF,KAAK8F,qBACtB,IAAKT,EACH,IAEE,GADAA,QAAmBrF,KAAKoG,iBACnBpG,KAAK2F,WACR,OAAO,KAET,MAAOl3C,GACP,OAAKuxC,KAAK2F,YAGVU,EAAAA,GAAAA,SAA4B53C,EAAO,mBAC5B03C,iBAHE,KAOb,OAAmB,OAAfd,EACKc,gBAGFnG,KAAKC,SAAS,CACnBv6C,KAAM,CAAE2/C,WAAAA,GACR72C,SAAS,EACTC,OAAO,IAIQ,sBACjB,MAAQ+2C,EAAexF,KAAKnwC,MAApB21C,WACFc,QAAsB5P,MAAO,oBAAmB8O,SAAmB,CACvEe,YAAa,YAGf,aADyBD,EAAc1P,QACrB4P,KAkBpB/F,SACE,MAAQl7C,EAAcy6C,KAAKnwC,MAAnBtK,UACR,EAAiCy6C,KAAKH,MAA9Bn6C,EAAR,EAAQA,KAAM8I,EAAd,EAAcA,QAASC,EAAvB,EAAuBA,MAIjBg4C,EAAara,IAAAA,CAAW,mCAAoC7mC,GAElE,OAEqBiJ,EAAUwxC,KAAKsF,qBACf72C,EAPE,KASjB,uBACE,cAAY,YACZlJ,UAAWkhD,EACXC,wBAAyB,CACvBC,QAAQC,EAAAA,EAAAA,gBAAelhD,EAAK2/C,gBApHpCD,GAOG9Y,aAAe,CACpBkZ,WAAY,KACZjgD,UAAW,KACXggD,aAAc,MAVZH,GAAAA,YAAAA,YA6HN,MAAMyB,eAAiBh3C,GACrB,gBAAC,KAAD,KACE,gBAACu1C,GAAcv1C,IAFbg3C,eAAAA,YAAAA,iBAMN,wBC5Ie,SAASC,yBAAyBjG,EAAW14C,EAAQ24C,EAAKz4C,GACvE,IAAIC,EAAO,GACPy+C,GAAU,EACVC,EAAe,GAkBnB,MAhBkB,QAAdnG,GAA+B,QAARC,EACzBiG,GAAU,GAGRz+C,EADoB,oBAAXgB,OACFA,OAAOwF,SAASi8B,SAEhB1iC,EAAIioC,QAAQ,MAAQ,EAAIjoC,EAAI4+C,OAAO,EAAG5+C,EAAIioC,QAAQ,MAAQjoC,EAG3C,MAApBC,EAAK2+C,QAAQ,KACf3+C,GAAQ,KAGV0+C,EAAgB,WAAUnG,KAAa14C,KAAU24C,IAAMx4C,KAGlD,CAAEy+C,QAAAA,EAASC,aAAAA,GCzBL,SAASE,kBAAkBnc,EAAUqY,GAGlD,MAAQ,uBAAsBA,IADlBA,EAAS,IAAM,MADV,MAAK+D,mBAAmBpc,EAAWqY,OCWtD,MAAM/+C,IAAOC,EAAAA,EAAAA,gBAAe,CAC1B8iD,eAAgB,CACd1jD,GAAI,qDACJc,eAAgB,aAChBC,YAAa,oFAEf4iD,oBAAqB,CACnB3jD,GAAI,0DACJc,eAAgB,kBAChBC,YAAa,4FAEf6iD,gBAAiB,CACf5jD,GAAI,sDACJc,eAAgB,cAChBC,YAAa,sFAEf8iD,aAAc,CACZ7jD,GAAI,mDACJc,eAAgB,WAChBC,YAAa,gEAEf+iD,YAAa,CACX9jD,GAAI,kDACJc,eAAgB,UAChBC,YAAa,kFAEfgjD,YAAa,CACX/jD,GAAI,kDACJc,eAAgB,UAChBC,YAAa,oFAIXijD,uBAAyB,EAC7BC,SAAAA,EACAC,qBAAAA,EACApY,gBAAAA,EACAqY,SAAAA,EACAC,mBAAAA,EACAh5C,UAAYi8B,SAAAA,EAAUqY,OAAAA,MAGpB,uBAAK79C,UAAU,2FACb,gBAAC,GAAD,CAAgBA,UAAU,2DAA2DwlC,SAAS,UAC5F,gBAAC,KAAD,CAAM/lC,MAAM,QACZ,gBAAC,EAAAa,WAAD,CAAYC,QAAQ,eAAed,MAAM,QAAQO,UAAU,aAA3D,kBAIF,uBAAKA,UAAU,YACb,uBAAKA,UAAU,8BACb,sBAAIA,UAAU,4CACXoiD,EAAS7kD,KAAIilD,GACGH,EAAqBG,GAClC,sBAAIxiD,UAAU,iDAAiDyD,IAAK++C,EAAI9L,QACtE,qBAAGz2C,KAAO,GAAEuiD,EAAI9L,SAASmH,IAAU79C,UAAU,6CAC1CwiD,EAAI5xC,OAJI,UAaJq5B,EACf,uBAAKjqC,UAAU,mCACb,gBAAC,EAAAyiD,KAAD,CACEC,WAAS,EACTC,SAAO,EACPvD,OAAK,EACLjX,UAAU,eACVya,YACE,uBACE5iD,UAAU,0CACV,cAAY,2CAEZ,wBAAMA,UAAU,aAAasiD,GAC7B,gBAAC,GAAAO,cAAD,QAIJ,gBAAC,EAAAC,SAAD,CACEC,aAAW,EACXC,iBAAmB,gBAAenF,IAClC79C,UAAU,6CAEV,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAK+iD,kBAEDU,EACb,gBAAC,EAAAO,SAAD,CAAUC,aAAW,EAACC,iBAAkBrB,kBAAkBnc,EAAUqY,IAClE,gBAAC,EAAA/9C,EAAD,CAAGU,KAAM1B,GAAKgjD,uBAxBpB,KA2BE,gBAAC,EAAAgB,SAAD,CAAUC,aAAW,EAACC,iBAAiB,mDACrC,gBAAC,EAAAljD,EAAD,CAAGU,KAAM1B,GAAKijD,mBAEhB,gBAAC,EAAAe,SAAD,CAAUC,aAAW,EAACC,iBAAmB,iBAAgBnF,KACvD,gBAAC,EAAA/9C,EAAD,CAAGU,KAAM1B,GAAKkjD,kBAMpB,2BACE,gBAAC,EAAAthD,OAAD,CAAQT,KAAO,gBAAe49C,IAAU79C,UAAU,aAChD,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAKmjD,eAEhB,gBAAC,EAAAvhD,OAAD,CAAQV,UAAU,0CAA0CC,KAAO,gBAAe49C,KAChF,gBAAC,EAAA/9C,EAAD,CAAGU,KAAM1B,GAAKojD,iBA5EtBC,uBAAAA,YAAAA,yBAuGNA,uBAAuBpb,aAAe,CACpCwb,oBAAoB,GAGtB,UAAevG,EAAAA,EAAAA,IAAWmG,wBC/IpBrjD,IAAOC,EAAAA,EAAAA,gBAAe,CAC1B8iD,eAAgB,CACd1jD,GAAI,oDACJc,eAAgB,aAChBC,YAAa,oFAEf4iD,oBAAqB,CACnB3jD,GAAI,yDACJc,eAAgB,kBAChBC,YAAa,4FAEf6iD,gBAAiB,CACf5jD,GAAI,qDACJc,eAAgB,cAChBC,YAAa,sFAEf8iD,aAAc,CACZ7jD,GAAI,kDACJc,eAAgB,WAChBC,YAAa,gEAEf+iD,YAAa,CACX9jD,GAAI,iDACJc,eAAgB,UAChBC,YAAa,kFAEfgjD,YAAa,CACX/jD,GAAI,iDACJc,eAAgB,UAChBC,YAAa,oFAIjB,SAAS+jD,cAAcngD,EAAK+6C,GAC1B,MAAQ,GAAE/6C,IAAM+6C,IAGlB,MAAMqF,sBAAwB,EAC5BjZ,gBAAAA,EACAmY,SAAAA,EACAC,qBAAAA,EACAE,mBAAAA,EACAh5C,UAAYi8B,SAAAA,EAAUqY,OAAAA,OAEtB,MAAMsF,EAAsBf,EAASh/C,OAAOi/C,GAAsB9kD,KAAIilD,GAEpE,gBAAC,EAAAM,SAAD,CAAUC,aAAW,EAACC,iBAAkBC,cAAcT,EAAI9L,OAAQmH,GAASp6C,IAAK++C,EAAI9L,QACjF8L,EAAI5xC,QAGT,OACE,uBAAK5Q,UAAU,2FACb,wBAAMA,UAAU,oDACd,gBAAC,GAAAojD,eAAD,CAAgBj3C,KAAK,QAGJ89B,EACf,uBAAKjqC,UAAU,mCACb,gBAAC,EAAAyiD,KAAD,CACEC,WAAS,EACTC,SAAO,EACPvD,OAAK,EACLjX,UAAU,eACVya,YACE,uBACE5iD,UAAU,0FACV,cAAY,0CAEZ,wBAAMA,UAAU,oDACd,gBAAC,GAAAqjD,SAAD,CAAUl3C,KAAK,UAKrB,gBAAC,EAAAm3C,UAAD,KAAYH,GACZ,gBAAC,EAAAG,UAAD,KAEE,gCACE,gBAAC,EAAAR,SAAD,CAAUC,aAAW,EAACC,iBAAmB,gBAAenF,KACtD,gBAAC,EAAA/9C,EAAD,CAAGU,KAAM1B,GAAK+iD,kBAEDU,EACb,gBAAC,EAAAO,SAAD,CAAUC,aAAW,EAACC,iBAAkBrB,kBAAkBnc,EAAUqY,IAClE,gBAAC,EAAA/9C,EAAD,CAAGU,KAAM1B,GAAKgjD,uBANpB,KASE,gBAAC,EAAAgB,SAAD,CAAUC,aAAW,EAACC,iBAAiB,mDACrC,gBAAC,EAAAljD,EAAD,CAAGU,KAAM1B,GAAKijD,mBAEhB,gBAAC,EAAAe,SAAD,CAAUC,aAAW,EAACC,iBAAmB,iBAAgBnF,KACvD,gBAAC,EAAA/9C,EAAD,CAAGU,KAAM1B,GAAKkjD,oBAQxB,2BACE,gBAAC,EAAAS,KAAD,CACEC,WAAS,EACTC,SAAO,EACPvD,OAAK,EACLjX,UAAU,eACVya,YACE,uBACE5iD,UAAU,0FACV,cAAY,yDAEZ,wBAAMA,UAAU,oDACd,gBAAC,GAAAqjD,SAAD,CAAUl3C,KAAK,UAKpBg3C,EACD,gBAAC,EAAAL,SAAD,CAAUC,aAAW,EAACC,iBAAkBC,cAAc,gBAAiBpF,IACrE,gBAAC,EAAA/9C,EAAD,CAAGU,KAAM1B,GAAKmjD,eAEhB,gBAAC,EAAAa,SAAD,CAAUC,aAAW,EAACC,iBAAkBC,cAAc,gBAAiBpF,IACrE,gBAAC,EAAA/9C,EAAD,CAAGU,KAAM1B,GAAKojD,mBAnFxBgB,sBAAAA,YAAAA,wBA8GNA,sBAAsBnc,aAAe,CACnCwb,oBAAoB,GAGtB,UAAevG,EAAAA,EAAAA,IAAWkH,uB,0BCnJnB,MAAMpkD,IAAOC,EAAAA,EAAAA,gBAAe,CACjCwkD,YAAa,CACXplD,GAAI,4CACJc,eAAgB,UAChBC,YACE,yGAEJskD,WAAY,CACVrlD,GAAI,2CACJc,eAAgB,SAChBC,YACE,oHAEJukD,YAAa,CACXtlD,GAAI,4CACJc,eAAgB,UAChBC,YAAa,uFAEfwkD,YAAa,CACXvlD,GAAI,4CACJc,eAAgB,UAChBC,YAAa,0FAIJykD,aAAe,CAACC,EAAWhhD,EAAQ04C,EAAWC,IACvC,QAAdD,EACM,WAAUsI,KAAatI,KAAa14C,KAAU24C,IAEhD,WAAUqI,KAAahhD,KAAU24C,IAGrCsI,gBAAkB,EAAGjhD,OAAAA,EAAQ04C,UAAAA,EAAWC,IAAAA,KAAU,CACtD,CAAE7E,OAAQ,QAAS9lC,KAAM,gBAAC,EAAA9Q,EAAD,CAAGU,KAAM1B,GAAKykD,eACvC,CACE7M,OAAQ,gBACR9lC,KAAM,gBAAC,EAAA9Q,EAAD,CAAGU,KAAM1B,GAAK0kD,aACpBM,wBAAwB,GAE1B,CACEpN,OAAQiN,aAAa,YAAa/gD,EAAQ04C,EAAWC,GACrD3qC,KAAM,gBAAC,EAAA9Q,EAAD,CAAGU,KAAM1B,GAAK2kD,eAEtB,CACE/M,OAAQ,mDACR9lC,KAAM,gBAAC,EAAA9Q,EAAD,CAAGU,KAAM1B,GAAK4kD,gBAIjB,SAASrB,qBAAqBrY,EAAMwY,GACzC,OAAQA,EAAIsB,wBAA2BtB,EAAIsB,wBAA0B9Z,EAAKC,gBAG5E,MAAM8Z,gBAAkB,KACtB,SAA8BrhD,EAAAA,EAAAA,YAAWC,EAAAA,IAAjCqnC,EAAR,EAAQA,KAAMnnC,EAAd,EAAcA,YACNm6C,GAAct6C,EAAAA,EAAAA,YAAWC,EAAAA,IAAzBq6C,UACAC,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UACR,OACE,gBAAC,MAAD,CAAO9B,MAAO6I,KAAmB3I,MAAOrR,EAAKC,kBAC1C,EAAG9pC,KAAAA,MAAW,QACb,MAAM8jD,GAA8B9jD,MAAAA,GAAA,UAAAA,EAAM6pC,YAAN,mBAAYka,wBAAZ,eAA8BC,YAAa,EAC/E,OACE,gCACE,gBAAC,KAAD,CAAejH,eAAgBD,GAC7B,uBAAK,cAAY,4BACf,gBAAC,GAAD,CACEmF,SAAUyB,gBAAgBhhD,GAC1Bw/C,qBAAsB+B,GAAQ/B,qBAAqBrY,EAAMoa,GACzDna,gBAAiBD,EAAKC,gBACtBsY,mBAAoB0B,EACpB3B,SAAUtY,GAAQA,EAAKsY,SAAWtY,EAAKsY,SAAW,OAIxD,gBAAC,KAAD,CAAoBpF,gBAAiBD,GACnC,uBAAK,cAAY,2BACf,gBAAC,GAAD,CACEmF,SAAUyB,gBAAgBhhD,GAC1Bw/C,qBAAsB+B,GAAQ/B,qBAAqBrY,EAAMoa,GACzD7B,mBAAoB0B,EACpBha,gBAAiBD,EAAKC,yBA3BlC8Z,gBAAAA,YAAAA,kBAsCN,yBC3EA,wBAzBqB,KACnB,SAIIrhD,EAAAA,EAAAA,YAAWC,EAAAA,IAHgBQ,EAD/B,EACEN,YAAe2F,aACfwhC,EAFF,EAEEA,KACUqa,EAHZ,EAGE3rC,OAAU2rC,OAGZ,OACE,gCACiBra,EAAKC,gBAClB,gBAAC,KAAD,CACE1nC,KAAMY,EACNkhD,OAAQA,EACRra,KAAMA,EACNsa,oBAAqBta,EAAKC,gBAC1Bsa,cAAc,SAPpB,KAUkBva,EAAKC,gBAVvB,KAWI,gBAAC,GAAD,QCRFua,qBAAuB,EAAGrmD,GAAAA,EAAIsmD,OAAAA,EAAQC,OAAAA,EAAQC,sBAAAA,EAAuB/jD,SAAAA,MACzE,SAKI8B,EAAAA,EAAAA,YAAWC,EAAAA,IALf,IACEE,YAAey4C,EADjB,EACiBA,UAAW14C,EAD5B,EAC4BA,OAAQ24C,EADpC,EACoCA,IAClCyB,EAFF,EAEEA,UACAhT,EAHF,EAGEA,KACAlnC,EAJF,EAIEA,IAEMm6C,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UAER,EAAkCsE,yBAAyBjG,EAAW14C,EAAQ24C,EAAKz4C,GAA3E0+C,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,aAEjB,OACE,gBAAC,KAAD,CAAU7hD,OAAQzB,EAAIuB,eAAe,EAAOilD,sBAAuBA,EAAuB9kD,UAAU,QAClG,gBAAC,KAAD,KACkB2hD,EADlB,KAEI,wBAAMh+C,IAAI,YAAYvD,KAAMwhD,IAEfD,EACb,wBAAM5iD,KAAK,SAASmB,QAAQ,sBALhC,MAQC0kD,EACcza,EAAKC,gBAClB,gBAAC,GAAD,CAAWgW,WAAW,UAAUD,aAAc,8BAXlD,KAaE,gBAAC,EAAAnD,KAAD,CAAM+H,OAAK,EAAC5kD,UAAU,8BACpB,uBAAKA,UAAU,uBACb,gBAAC,KAAD,CAAck9C,gBAAiBD,GAC7B,gBAAC,EAAAF,IAAD,KACE,gBAAC,EAAAvW,IAAD,KAAMke,KAGV,gBAAC,EAAA3H,IAAD,KACE,gBAAC,KAAD,CAAcG,eAAgBD,GAC5B,gBAAC,EAAAzW,IAAD,CAAK16B,GAAI,GAAI44C,IAEf,gBAAC,EAAAle,IAAD,KAAM5lC,QApCZ4jD,qBAAAA,YAAAA,uBAoDNA,qBAAqBzd,aAAe,CAClC0d,OAAQ,gBAAC,wBAAD,MACRC,OAAQ,gBAAC,GAAD,MACRC,sBAAuB,MAGzB,8BCzEe,SAASE,gBAAgBC,GACtC,IAAIC,EAAQ,EACZ,MAAMC,0BAA4B,KAC5BjhD,QAAUA,OAAOkhD,eACnBF,EAAQ,EACRD,MAEAC,GAAS,EACLA,EAAQ,GACVG,WAAWF,0BAA2B,KAGtCD,EAAQ,IAKdC,4BCPF,MAAMG,KAAO,MACX99C,EAAAA,EAAAA,YAAU,KACRw9C,iBAAgB,KACd9gD,OAAOkhD,cAAc,QACrBlhD,OAAOkhD,cAAc,UAAW,sBAEjC,IAGD,uBAAK,cAAY,uBACf,gBAAC,GAAD,CACE9mD,GAAG,uBACHsmD,OACE,gCACE,gBAAC,wBAAD,MACA,gBAAC,GAAD,QAIJ,gBAAC,KAAD,KACE,0EACA,wBAAM7lD,KAAK,cAAcmB,QAAQ,8EAEnC,gBAAC,GAAD,CAAU69C,WAAW,aACrB,uBAAK59C,UAAU,aACb,gBAAC,GAAD,CAAU49C,WAAW,kBAEvB,uBAAK59C,UAAU,aACb,gBAAC,GAAD,CAAU49C,WAAW,uBA5BzBuH,KAAAA,YAAAA,OAmCN,cCnCMC,eAAiB,EAAG/3C,MAAAA,EAAOuvC,KAAAA,KAC/B,gCACiBvvC,EACb,gBAAC,EAAA/M,WAAD,CAAYC,QAAQ,aAAa8M,GAFrC,KAKE,uBAAKrN,UAAU,uBACZ48C,EAAKr/C,KAAIk/C,GACR,gBAAC,GAAD,CAASA,IAAKA,EAAKh5C,IAAKg5C,EAAIt+C,GAAI6B,UAAU,4BAA4B,cAAY,wBAChF,uBAAKA,UAAU,uDACb,2BACE,uBACE2H,IAAK80C,EAAIvC,KAAOuC,EAAIvC,KAAO6B,GAC3BD,IAAKW,EAAI79C,KACToB,UAAU,6CAGd,uBAAKA,UAAU,wCACb,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,aAAak8C,EAAI79C,MACrC,gBAAC,EAAA0B,WAAD,CAAYb,MAAM,cAAcg9C,EAAI4I,gBAnB5CD,eAAAA,YAAAA,iBA2CNA,eAAere,aAAe,CAC5B15B,MAAO,MAGT,wBCdA,kCAtC2B/C,IACzB,MAAQ0yC,GAAct6C,EAAAA,EAAAA,YAAWC,EAAAA,IAAzBq6C,UACAC,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UACR,OACE,gCACE,gBAAC,KAAD,CAAcC,eAAgBD,GAC5B,gBAAC,KAAD,eAAgBvtC,MAAO,IAAK0C,OAAQ,KAAS9H,GAC3C,wBAAM6yC,EAAE,IAAIC,EAAE,IAAIE,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAE5C,wBAAM+qC,EAAE,IAAIC,EAAE,KAAKE,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OAC5C,wBAAM+qC,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAC9C,wBAAM+qC,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAE/C,wBAAM+qC,EAAE,IAAIC,EAAE,MAAME,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OAC7C,wBAAM+qC,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAC/C,wBAAM+qC,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,SAInD,gBAAC,KAAD,CAAc8qC,gBAAiBD,GAC7B,gBAAC,KAAD,eAAgB7qC,OAAQ,IAAK1C,MAAO,KAASpF,GAC3C,wBAAM6yC,EAAE,IAAIC,EAAE,IAAIE,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAE5C,wBAAM+qC,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OAC7C,wBAAM+qC,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAC9C,wBAAM+qC,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,MAC9C,wBAAM+qC,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,MAE9C,wBAAM+qC,EAAE,IAAIC,EAAE,MAAME,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OAC7C,wBAAM+qC,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAC/C,wBAAM+qC,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,MAC/C,wBAAM+qC,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,U,eCrBzD,MAEMg7B,sBAAa,EAAGmK,MAAAA,MACpB,SAGI70C,EAAAA,EAAAA,YAAWC,EAAAA,IAHf,IACEE,YAAe24C,EADjB,EACiBA,WAAYF,EAD7B,EAC6BA,UAAWC,EADxC,EACwCA,IACtCyB,EAFF,EAEEA,UAEMC,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UACAqI,EAAgB/N,EAAMgO,OAAtBD,YACR,OACE,gBAAC,GAAD,CACEnnD,GAAK,8BAA6BmnD,IAClCX,sBAAuB,CAAEW,YAAAA,GACzBZ,OACE,gCACE,gBAAC,KAAD,CAAcxH,eAAgBD,GAC5B,uBAAKj9C,UAAU,aACb,gBAAC,GAAD,QAGJ,gBAAC,GAAD,QAIJ,gBAAC,MAAD,CACEm7C,MAAOqK,GAAAA,oCACP18C,UAAW,CACTwyC,UAAAA,EACAC,IAAAA,EACAp4C,SAAUq4C,EACV8J,YAAa/N,EAAMgO,OAAOD,YAC1B3L,KAAM,EACNqE,SAhCqB,MAmCtB,EAAG/0C,QAAAA,EAASC,MAAAA,EAAO/I,KAAAA,KAGG+I,EACf,gBAAC,KAAD,MAEeD,EACf,gBAAC,kCAAD,CAAoB,cAAY,yBAEjB9I,GAAqD,OAA7CA,EAAKqlD,oCAC5B,gBAAC,KAAD,MATN,CAYM,gBAAC,KAAD,UACE,6BAAS,gBAAerlD,EAAKqlD,oCAAoC5mD,8BACjE,wBACEA,KAAK,cACLmB,QAAU,+BAA8BI,EAAKqlD,oCAAoC5mD,6CAGrF,gBAAC,GAAD,CACEyO,MAAOlN,EAAKqlD,oCAAoC5mD,KAChDg+C,KAAMz8C,EAAKqlD,oCAAoCrH,6BAA6BlE,MAF9E,eArDV7M,sBAAAA,YAAAA,aA0EN,+BCzEMqY,iBAAmB,EAAG7lD,OAAAA,EAAQwD,OAAAA,EAAQiK,MAAAA,EAAO1J,UAAAA,EAAWzE,YAAAA,MAC5D,SAGIwD,EAAAA,EAAAA,YAAWC,EAAAA,IAHf,IACEE,YAAe24C,EADjB,EACiBA,WAAYF,EAD7B,EAC6BA,UAAWC,EADxC,EACwCA,IACtCyB,EAFF,EAEEA,UAEMC,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UAER,OACE,gBAAC,GAAD,CACE9+C,GAAIyB,EACJ8kD,OACE,gCACE,gBAAC,KAAD,CAAcxH,eAAgBD,GAC5B,uBAAKj9C,UAAU,aACb,gBAAC,GAAD,CAAWuJ,SAAS,4BAGxB,gBAAC,GAAD,QAIJ,gBAAC,KAAD,KACE,6BAAQ5F,GACR,wBAAM/E,KAAK,cAAcmB,QAASb,KAEpC,gBAAC,MAAD,CACEi8C,MAAOgD,GAAAA,6BACPr1C,UAAW,CACTwyC,UAAAA,EACAC,IAAAA,EACAp4C,SAAUq4C,EACVp4C,OAAAA,EACAu2C,KAAM,EACNqE,SAnCmB,MAsCpB,EAAG/0C,QAAAA,EAASC,MAAAA,EAAO/I,KAAAA,KAGG+I,EACf,gBAAC,KAAD,MAEeD,EACf,gBAAC,kCAAD,CAAoB,cAAY,+BAGhC,gBAAC,GAAD,CAAgBoE,MAAOA,EAAOuvC,KAAMz8C,EAAKg+C,6BAA6BlE,YA9ChFwL,iBAAAA,YAAAA,mBAgEN,0BC5EM3mD,IAAOC,EAAAA,EAAAA,gBAAe,CAC1B2mD,WAAY,CACVvnD,GAAI,0BACJc,eAAgB,WAChBC,YAAa,+EAIXymD,SAAW,IAEb,gBAAC,GAAD,CACE/lD,OAAO,2BACPwD,OAAO,WACPiK,MAAOvO,GAAK4mD,WAAWzmD,eACvB0E,UAAU,4CACVzE,YAAY,uEAPZymD,SAAAA,YAAAA,WAYN,kBCpBM7mD,IAAOC,EAAAA,EAAAA,gBAAe,CAC1B2mD,WAAY,CACVvnD,GAAI,6BACJc,eAAgB,eAChBC,YAAa,6FAIX0mD,YAAc,IAEhB,gBAAC,GAAD,CACEhmD,OAAO,+BACPwD,OAAO,eACPiK,MAAOvO,GAAK4mD,WAAWzmD,eACvB0E,UAAU,gDACVzE,YAAY,6EAPZ0mD,YAAAA,YAAAA,cAYN,qBCpBM9mD,IAAOC,EAAAA,EAAAA,gBAAe,CAC1B2mD,WAAY,CACVvnD,GAAI,+BACJc,eAAgB,iBAChBC,YAAa,0FAIX2mD,cAAgB,IAElB,gBAAC,GAAD,CACEjmD,OAAO,iCACPwD,OAAO,iBACPiK,MAAOvO,GAAK4mD,WAAWzmD,eACvB0E,UAAU,kDACVzE,YAAY,oFAPZ2mD,cAAAA,YAAAA,gBAYN,uB,0BCRA,MAEa/mD,IAAOC,EAAAA,EAAAA,gBAAe,CACjC+mD,eAAgB,CACd3nD,GAAI,iBACJc,eAAgB,qBAChBC,YAAa,6FAEf6mD,kBAAmB,CACjB5nD,GAAI,yBACJc,eAAgB,sCAChBC,YACE,uHAEJ8mD,gBAAiB,CACf7nD,GAAI,uBACJc,eAAgB,oDAChBC,YACE,wHAIA+mD,OAAS,EAAG18C,UAAYs0C,OAAAA,OAC5B,SAEIn7C,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAe24C,EADjB,EACiBA,WAAYF,EAD7B,EAC6BA,UAAWC,EADxC,EACwCA,IAElCgK,EAAS,IAAItU,gBAAgB4M,GAC7BtD,GAAU8G,EAAAA,EAAAA,gBAAekE,EAAOW,IAAI,MAE1C,OACE,gBAAC,GAAD,CAAsB/nD,GAAG,yBAAyBumD,OAAQ,gBAAC,GAAD,MAAYC,sBAAuB,CAAEpK,QAAAA,IAC7F,gBAAC,KAAD,KACE,iFAEF,gBAAC,MAAD,CACEY,MAAOC,KACPC,MAAOd,EACPzxC,UAAW,CACTwyC,UAAAA,EACAC,IAAAA,EACAp4C,SAAUq4C,EACVjB,QAAAA,EACAZ,KAAM,EACNqE,SA3CU,MA8CX,EAAG/0C,QAAAA,EAASC,MAAAA,EAAO/I,KAAAA,KAEhB,gCACE,gBAAC,GAAD,CAAWoJ,SAAS,yBACpB,gBAAC,EAAAjJ,WAAD,CAAYG,UAAU,UAAUF,QAAQ,eAAeP,UAAU,uBAC7D,GAAElB,GAAKgnD,eAAe7mD,mBAAmBs7C,MAG1BrxC,EACf,gBAAC,KAAD,MAEeD,EACf,gBAAC,kCAAD,CAAoB,cAAY,4BAEjB9I,GAAoE,IAA5DA,EAAK65C,sCAAsCC,MAAMh1C,OACxE,gBAAC,EAAAkhD,KAAD,CAAMnmD,UAAU,uCACd,gBAAC,EAAAM,WAAD,KAAaxB,GAAKinD,kBAAkB9mD,iBAGvBs7C,GAAWp6C,EAC1B,gBAAC,GAAD,CAAgBy8C,KAAMz8C,EAAK65C,sCAAsCC,QAGjE,gBAAC,EAAAkM,KAAD,CAAMnmD,UAAU,0CACd,gBAAC,EAAAM,WAAD,KAAaxB,GAAKknD,gBAAgB/mD,sBAhDhDgnD,OAAAA,YAAAA,SAgEN,UAAejK,EAAAA,EAAAA,IAAWiK,Q,0BC/F1B,MAAMnnD,IAAOC,EAAAA,EAAAA,gBAAe,CAC1BqnD,qBAAsB,CACpBjoD,GAAI,uCACJc,eAAgB,aAChBC,YAAa,iGAEfmnD,sBAAuB,CACrBloD,GAAI,wCACJc,eAAgB,wCAChBC,YACE,yHAEJonD,sBAAuB,CACrBnoD,GAAI,0CACJc,eAAgB,YAChBC,YAAa,gGAEfqnD,qBAAsB,CACpBpoD,GAAI,uCACJc,eAAgB,SAChBC,YAAa,kGAIXsnD,UAAY,EAAG5lD,SAAAA,EAAU6lD,MAAAA,EAAOC,UAAAA,EAAWC,QAAAA,MAC/C,SAAwDl+C,EAAAA,EAAAA,WAAS,GAAjE,WAAOm+C,EAAP,KAA6BC,EAA7B,KACA,OACE,gCACE,uBACEhf,QAAS,IAAMgf,GAAwB,GACvC53C,KAAK,SACL63B,SAAU,EACVggB,QAAS/oD,IACO,UAAVA,EAAE0F,KACJojD,GAAwB,IAG5B,cAAY,aAEXjmD,GAEH,gBAAC,MAAD,CACEmmD,SAAUC,KACVl+C,UAAW,CAAEm+C,MAAO,CAAER,MAAAA,IACtB19C,YAAa,KACX89C,GAAwB,GACxBH,OAGD,CAACQ,GAAgBj+C,QAAAA,KAEd,gBAAC,EAAAk+C,MAAD,CACE,cAAY,oBACZC,KAAMR,EACNz6C,KAAK,KACLw6C,QAAS,KACPE,GAAwB,GACxBF,MAGF,gBAAC,EAAAU,YAAD,CAAa5C,OAAQ3lD,GAAKsnD,qBAAqBnnD,iBAC/C,gBAAC,EAAAqoD,UAAD,KAAYxoD,GAAKunD,sBAAsBpnD,gBACvC,gBAAC,EAAAsoD,YAAD,KACE,gBAAC,EAAAC,MAAD,CAAOrf,UAAU,SACf,gBAAC,EAAAznC,OAAD,CAAQjB,MAAM,UAAUooC,QAASqf,EAAcp2C,SAAU7H,IAAYw9C,GAClE3nD,GAAKwnD,sBAAsBrnD,gBAE9B,gBAAC,EAAAyB,OAAD,CACEmnC,QAAS,KACPgf,GAAwB,GACxBF,KAEFlnD,MAAM,OAELX,GAAKynD,qBAAqBtnD,uBAmB/CunD,UAAUzf,aAAe,CACvB4f,QAAS,OACTD,UAAW,QAGb,mB,0BCrFA,MAEM5nD,IAAOC,EAAAA,EAAAA,gBAAe,CAC1B0oD,iBAAkB,CAChBtpD,GAAI,wBACJc,eAAgB,uCAChBC,YACE,yGAEJwmD,WAAY,CACVvnD,GAAI,mBACJc,eAAgB,iBAChBC,YACE,yGAEJwoD,gBAAiB,CACfvpD,GAAI,uBACJc,eAAgB,SAChBC,YAAa,qGAEfyoD,iBAAkB,CAChBxpD,GAAI,wBACJc,eAAgB,UAChBC,YAAa,gGAEf0oD,gBAAiB,CACfzpD,GAAI,uBACJc,eAAgB,SAChBC,YAAa,4FAIjB,SAAS2oD,iBAAiB9Z,GACxB,OAAKA,GAAeA,EAAW9oC,OAGxB,gBAAC,EAAA3E,WAAD,CAAYb,MAAM,cAAcsuC,EAAWxwC,KAAIsH,GAAKA,EAAEjG,OAAMspC,KAAK,MAF/D,KAFF2f,iBAAAA,YAAAA,mBAOT,MAAMC,OAAS,EAAGv+C,UAAYs0C,OAAAA,OAC5B,SAGIn7C,EAAAA,EAAAA,YAAWC,EAAAA,IAFE64C,EADjB,EACE34C,YAAe24C,WACfwB,EAFF,EAEEA,UAEMC,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UAER,OACE,gBAAC,GAAD,CACE9+C,GAAG,0BACHumD,OACE,gCACE,gBAAC,KAAD,CAAcxH,eAAgBD,GAC5B,uBAAKj9C,UAAU,aACb,gBAAC,GAAD,CAAWuJ,SAAS,4BAGxB,gBAAC,GAAD,QAIJ,gBAAC,KAAD,KACE,6DAEF,gBAAC,MAAD,CACE4xC,MAAO4M,KACPj/C,UAAW,CACT3F,SAAUq4C,EACV7B,KAAM,EACNqE,SApEU,MAuEX,EAAG/0C,QAAAA,EAASC,MAAAA,EAAO/I,KAAAA,EAAM6nD,QAAAA,KAEtB,gCACE,gBAAC,EAAA1nD,WAAD,CAAYC,QAAQ,eAAeP,UAAU,aAC1ClB,GAAK4mD,WAAWzmD,gBAGAiK,EACf,gBAAC,KAAD,CAAW,cAAY,yBAERD,EACf,gBAAC,kCAAD,CAAoB,cAAY,4BAEjB9I,GAAoD,IAA5CA,EAAK4nD,sBAAsB9N,MAAMh1C,OACxD,gBAAC,EAAAkhD,KAAD,CAAMnmD,UAAU,6BACd,gBAAC,EAAAM,WAAD,KAAaxB,GAAK2oD,iBAAiBxoD,iBAIrC,uBAAKe,UAAU,6BAA6B,cAAY,qBACrDG,EAAK4nD,sBAAsB9N,MAAM18C,KAAIk/C,GACpC,uBACEz8C,UAAU,+DACVyD,IAAKg5C,EAAIt+C,GACT,cAAY,wBAEZ,uBAAK6B,UAAU,YACb,uBAAKA,UAAU,aACb,uBACE2H,IAAK80C,EAAIvC,KAAOuC,EAAIvC,KAAO6B,GAC3BD,IAAKW,EAAI79C,KACToB,UAAU,0BAGd,2BACE,gBAAC,EAAAM,WAAD,CAAYG,UAAU,KAAKF,QAAQ,aAChCk8C,EAAI79C,MAENipD,iBAAiBpL,EAAI1O,cAG1B,uBAAK/tC,UAAU,kCACb,qBACEC,KAAO,GAAEw8C,EAAIp5C,MAAM4kD,SAASpK,IAC5B79C,UAAU,sEAEV,gBAAC,GAAAkoD,YAAD,CAAa/7C,KAAK,OAClB,wBAAMnM,UAAU,aAAalB,GAAK4oD,gBAAgBzoD,iBAEpD,gBAAC,GAAD,CACEw9C,IAAKA,EACLz8C,UAAU,gFAEV,gBAAC,GAAAmoD,UAAD,CAAWh8C,KAAK,OAChB,wBAAMnM,UAAU,aAAalB,GAAK6oD,iBAAiB1oD,iBAErD,uBAAKe,UAAU,qDACGy8C,EAAIC,cADtB,KAEI,gBAAC,GAAD,CAAW+J,MAAOhK,EAAIt+C,GAAIuoD,UAAW,IAAMsB,KACzC,uBAAKhoD,UAAU,sEACb,gBAAC,GAAAooD,UAAD,CAAWj8C,KAAK,OAChB,wBAAMnM,UAAU,aAAalB,GAAK8oD,gBAAgB3oD,6BA7F9E6oD,OAAAA,YAAAA,SAoHN,UAAe9L,EAAAA,EAAAA,IAAW8L,Q,eC5K1B,MAqCA,uCArCuCx9C,IACrC,MAAQ0yC,GAAct6C,EAAAA,EAAAA,YAAWC,EAAAA,IAAzBq6C,UACAC,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UACR,OACE,gCACE,gBAAC,KAAD,CAAcC,gBAAiBD,GAC7B,gBAAC,KAAD,eAAgB7qC,OAAQ,IAAK1C,MAAO,KAASpF,GAC3C,wBAAM6yC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OAErD,wBAAM+qC,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACrD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAEtD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACtD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACtD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,SAG1D,gBAAC,KAAD,CAAe8qC,eAAgBD,GAC7B,gBAAC,KAAD,eAAgB7qC,OAAQ,IAAK1C,MAAO,KAASpF,GAC3C,wBAAM6yC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACtD,wBAAM+qC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACtD,wBAAM+qC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OAEtD,wBAAM+qC,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,KAAK0C,OAAO,OAEpD,wBAAM+qC,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,QACrD,wBAAM+qC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,QAEtD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACtD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,OACtD,wBAAM+qC,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAI5tC,MAAM,MAAM0C,OAAO,W,gDC5BhE,MAAMotC,gCAAiB,IACrB,uBAAKx/C,UAAU,2CAA2C,cAAY,oCACpE,gBAAC,KAAD,OAFEw/C,gCAAAA,YAAAA,iBAMN,MAAMC,+BAAgB,IACpB,uBAAKz/C,UAAU,8BAA8B,cAAY,mCACvD,gBAAC,EAAA0/C,eAAD,CAAgBxH,YAAU,KAFxBuH,+BAAAA,YAAAA,gBAMN,MAAME,GAAmB,CACvBC,QAASJ,iCAGX,kCCVA,MAAMK,WAAkBxF,EAAAA,UAAU,mCAahCC,MAAQ,CACNn6C,KAAM,CACJ2/C,WAAY,MAEd72C,SAAS,EACTC,OAAO,GAlBuB,KAoFhC62C,mBAAqB,KACnB,QAAqCtF,KAAKnwC,MAAlC01C,EAAR,EAAQA,aAAcC,EAAtB,EAAsBA,WAChBC,EAAeP,GAAiBM,GAEtC,OAAID,IAIAE,EACK,gBAACA,EAAD,MAGF,gBAAC,GAAD,QA3ETC,oBACE1F,KAAK2F,YAAa,EAClB3F,KAAK4F,gBAGPC,uBACE7F,KAAK2F,YAAa,EAGpBG,qBACE,MAAQN,EAAexF,KAAKnwC,MAApB21C,WACFO,EAAkB/7C,SAASg8C,eAAgB,eAA6BR,KAC9E,OAAIO,GACFA,EAAgBE,SACTF,EAAgBG,aAElB,KAGU,sBACjB,MAAMC,cAAgB,KACpBnG,KAAKC,SAAS,CACZzxC,SAAS,EACTC,OAAO,KAIX,IAAI42C,EAAarF,KAAK8F,qBACtB,IAAKT,EACH,IAEE,GADAA,QAAmBrF,KAAKoG,iBACnBpG,KAAK2F,WACR,OAAO,KAET,MAAOl3C,GACP,OAAKuxC,KAAK2F,YAGVU,EAAAA,GAAAA,SAA4B53C,EAAO,mBAC5B03C,iBAHE,KAOb,OAAmB,OAAfd,EACKc,gBAGFnG,KAAKC,SAAS,CACnBv6C,KAAM,CAAE2/C,WAAAA,GACR72C,SAAS,EACTC,OAAO,IAIQ,sBACjB,MAAQ+2C,EAAexF,KAAKnwC,MAApB21C,WACFc,QAAsB5P,MAAO,oBAAmB8O,SAAmB,CACvEe,YAAa,YAGf,aADyBD,EAAc1P,QACrB4P,KAkBpB/F,SACE,MAAQl7C,EAAcy6C,KAAKnwC,MAAnBtK,UACR,EAAiCy6C,KAAKH,MAA9Bn6C,EAAR,EAAQA,KAAM8I,EAAd,EAAcA,QAASC,EAAvB,EAAuBA,MAIjBg4C,EAAara,IAAAA,CAAW,mCAAoC7mC,GAElE,OAEqBiJ,EAAUwxC,KAAKsF,qBACf72C,EAPE,KASjB,uBACE,cAAY,YACZlJ,UAAWkhD,EACXC,wBAAyB,CACvBC,QAAQC,EAAAA,EAAAA,gBAAelhD,EAAK2/C,gBApHpCD,GAOG9Y,aAAe,CACpBkZ,WAAY,KACZjgD,UAAW,KACXggD,aAAc,MAVZH,GAAAA,YAAAA,YA6HN,MAAMyB,yBAAiBh3C,GACrB,gBAAC,KAAD,KACE,gBAAC,GAAcA,IAFbg3C,yBAAAA,YAAAA,iBAMN,kCCPA,sBApIsB,EAAG+G,MAAAA,MACvB,SAA8B5/C,EAAAA,EAAAA,UAAS,GAAvC,WAAOnB,EAAP,KAAgBghD,EAAhB,KACMC,EAAeF,EAAM/gD,GACnB01C,GAAct6C,EAAAA,EAAAA,YAAWC,EAAAA,IAAzBq6C,UACAC,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UAER,OAAKsL,EAKH,gCACE,gBAAC,KAAD,CAAcrL,gBAAiBD,GAC7B,uBAAKj9C,UAAU,uGACZqoD,EAAM9qD,KAAIyoC,GAEqB,YAAXA,EAAEn+B,KACjB,uBACEpE,IAAKuiC,EAAEljC,IACP9C,UAAU,mHAEV,0BACEA,UAAU,4DACV,cAAY,+BACZwoD,iBAAe,EACf7gD,IAAKq+B,EAAEljC,IACPuK,MAAO24B,EAAEyiB,WAKb,uBACEhlD,IAAKuiC,EAAEljC,IACP9C,UAAU,mHAEV,uBACE87C,IAAK9V,EAAEyiB,QACP,cAAY,+BACZzoD,UAAU,4DACV2H,IAAKq+B,EAAEljC,WAQrB,gBAAC,KAAD,CAAeo6C,eAAgBD,GAC7B,gCACE,uBAAKj9C,UAAU,iDAE4B,YAAtBuoD,EAAa1gD,KAC5B,uBAAK7H,UAAU,uDACb,0BACEA,UAAU,4DACV,cAAY,+BACZwoD,iBAAe,EACf7gD,IAAK4gD,EAAazlD,IAClBuK,MAAOk7C,EAAaE,WAKxB,uBAAKzoD,UAAU,uDACb,uBACE87C,IAAKyM,EAAaE,QAClB,cAAY,+BACZzoD,UAAU,4DACV2H,IAAK4gD,EAAazlD,QAM5B,uBACE9C,UAAU,0DACV,cAAY,6BAEXqoD,EAAM9qD,KAAI,CAACyoC,EAAG0iB,IACb,uBACEjlD,IAAKuiC,EAAEljC,IACP9C,UAAY,2DACV0oD,IAAaphD,EAAU,iEAAmE,IAE5Fw/C,QAAS/oD,IACO,UAAVA,EAAE0F,KACJ6kD,EAAWI,IAGfz5C,KAAK,SACL44B,QAAS,KACPygB,EAAWI,IAEb5hB,SAAU,GAGoB,YAAXd,EAAEn+B,KACjB,0BACE,cAAY,2BACZ7H,UAAU,uDACVwoD,iBAAe,EACf7gD,IAAKq+B,EAAEljC,IACPuK,MAAO24B,EAAEyiB,UAIX,uBACE,cAAY,2BACZ3M,IAAK9V,EAAEyiB,QACPzoD,UAAU,uDACV2H,IAAKq+B,EAAEljC,aAvGlB,MCTL6lD,eAAiB,CAAC/a,EAAMvK,EAAOmJ,EAAMoc,EAAW/K,IACpD,uBAAK79C,UAAU,sBACb,uBAAKA,UAAU,4CAA4C4tC,GAC3D,uBAAK5tC,UAAU,sDACb,gBAAC,EAAAM,WAAD,KAAc,GAAE+iC,MAEhB,qBAAGpjC,KAAO,GAAEusC,IAAOqR,KACjB,gBAAC,EAAAv9C,WAAD,CAAYC,QAAQ,OAAOP,UAAU,8CAClC4oD,MARLD,eAAAA,YAAAA,iBAeN,wBC4BM7pD,IAAOC,EAAAA,EAAAA,gBAAe,CAC1B8pD,mBAAoB,CAClB1qD,GAAI,qBACJc,eAAgB,cAChBC,YAAa,0FAEf4pD,sBAAuB,CACrB3qD,GAAI,yBACJc,eAAgB,mCAChBC,YACE,yHAEJ6pD,uBAAwB,CACtB5qD,GAAI,0BACJc,eAAgB,6DAChBC,YACE,yGAEJ8pD,gBAAiB,CACf7qD,GAAI,oBACJc,eAAgB,YAChBC,YACE,6GAEJ+pD,cAAe,CACb9qD,GAAI,kBACJc,eAAgB,UAChBC,YACE,gHAEJgqD,iBAAkB,CAChB/qD,GAAI,oBACJc,eAAgB,aAChBC,YACE,iIAEJiqD,aAAc,CACZhrD,GAAI,iBACJc,eAAgB,SAChBC,YACE,0GAEJkqD,cAAe,CACbjrD,GAAI,kBACJc,eAAgB,UAChBC,YACE,uHAEJmqD,WAAY,CACVlrD,GAAI,oBACJc,eAAgB,aAChBC,YACE,mIAQN,MAAMoqD,uBAAyB,EAC7B/R,OACEgO,QAAUkB,MAAAA,IAEZl9C,UAAYs0C,OAAAA,EAAQrY,SAAAA,GACpB+jB,QAAAA,MAEA,SAAsC9gD,EAAAA,EAAAA,UAAS,GAA/C,WAAO+gD,EAAP,KAAoBC,EAApB,KACA,GAAsChhD,EAAAA,EAAAA,WAAS,GAA/C,WAAOihD,EAAP,KAAoBC,EAApB,KACA,GAA0ClhD,EAAAA,EAAAA,WAAS,GAAnD,WAAOmhD,EAAP,KAAsBC,EAAtB,KACA,GAA4BnnD,EAAAA,EAAAA,YAAWC,EAAAA,IAA/Bq6C,EAAR,EAAQA,UAAWhT,EAAnB,EAAmBA,KACXiT,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UACR,GAGIv6C,EAAAA,EAAAA,YAAWC,EAAAA,IAHf,IACEE,YAAey4C,EADjB,EACiBA,UAAW14C,EAD5B,EAC4BA,OAAQ24C,EADpC,EACoCA,IAClCz4C,EAFF,EAEEA,IAEIK,EApBR,SAAS2mD,eAAejM,GACtB,OAAO,IAAI5M,gBAAgB4M,GAAQqI,IAAI,SAAW,KAmBjC4D,CAAejM,GAChC,EAAkC0D,yBAAyBjG,EAAW14C,EAAQ24C,EAAKz4C,GAA3E0+C,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,aAyBXsI,cAAgB,CAAC5pD,EAAO,KAC5BopD,EAAUppD,EAAK6pD,iCAAmC7pD,EAAK8pD,mCAEzD,GAKIrhD,EAAAA,EAAAA,IAAS2gD,EAAUS,KAAmCC,KAAoC,CAC5FnhD,UAAW,CAAE3F,SAAAA,EAAUsjD,MAAAA,GACvB19C,YAAa,CAAC5I,EAAO,KAlCH+pD,CAAAA,IAClB,GAAIA,GAAcA,EAAWj2C,QAAQk2C,4BAA8BP,EAAe,CAChF,MAAMQ,EAAc,2BACpBC,GAAAA,GAAAA,WAAmBH,EAAWj2C,QAAQk2C,0BAA2B,CAC/DvrD,KAAMwrD,IAERC,GAAAA,GAAAA,SAAiB7kB,EAAU,CAAC4kB,IAC5BP,GAAiB,GAGfK,IAAeR,IACjB7O,EAAAA,eAAAA,MAAqB,CACnBj8C,KAAMk8C,EAAAA,YAAAA,cACN36C,KAAM,CACJE,WAAY,WACZD,WAAY,wBACZqmD,MAAOyD,EAAW/rD,GAClBmsD,QAASJ,EAAWtrD,QAGxB+qD,GAAe,KAcW5gD,CAAYghD,cAAc5pD,MANtD8I,EADF,EACEA,QACAC,EAFF,EAEEA,MACA8+C,EAHF,EAGEA,QAHF,IAIE7nD,KAKI+pD,EAAaH,mBATnB,MAIoB,GAJpB,GAkBA,OAPA1iD,EAAAA,EAAAA,YAAU,KACRw9C,iBAAgB,KACd9gD,OAAOkhD,cAAc,QACrBlhD,OAAOkhD,cAAc,UAAW,yBAEjC,IAGD,gBAAC,KAAD,CAAUrlD,OAAO,0BAA0BF,eAAe,EAAOG,UAAU,QACzE,gBAAC,wBAAD,MACemqC,EAAKC,gBAClB,gBAAC,GAAD,CAAWgW,WAAW,UAAUD,aAAc,8BAHlD,KAOqB92C,EACf,gBAAC,KAAD,CAAW,cAAY,+BAERD,EACf,gBAAC,uCAAD,CAAgC,cAAY,kCAE5BihD,EAbtB,CAmBM,gBAAC,KAAD,UACE,6BAAS,GAAEA,EAAWtrD,uCACtB,wBAAMA,KAAK,cAAcmB,QAASmqD,EAAW7E,UAC7B7D,EAHlB,KAII,wBAAMh+C,IAAI,YAAYvD,KAAMwhD,IAEfD,EACb,wBAAM5iD,KAAK,SAASmB,QAAQ,sBAPhC,MAUA,gBAAC,EAAA88C,KAAD,CAAM78C,UAAU,yCAAhB,SACE,gBAAC,EAAA+8C,IAAD,KACE,gBAAC,EAAAvW,IAAD,CAAK36B,GAAI,EAAGG,GAAI,IACd,uBACEhM,UAAU,qCACV2H,IAAKuiD,EAAWhQ,KAAOgQ,EAAWhQ,KAAO6B,GACzCD,IAAKoO,EAAWtrD,QAGpB,gBAAC,KAAD,CAAcs+C,gBAAiBD,GAC7B,gBAAC,EAAAzW,IAAD,CAAKx6B,GAAI,GAAIhM,UAAU,wEACrB,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,YAAYP,UAAU,aACvCkqD,EAAWtrD,MAECsrD,EAAWK,UACxB,gBAAC,EAAA7pD,OAAD,CAAQjB,MAAM,OAAO0M,KAAK,KAAKnM,UAAU,aACtClB,GAAKkqD,gBAAgB/pD,gBAN5B,KASE,gBAAC,EAAAqB,WAAD,CAAYb,MAAM,cAAcyqD,EAAW7E,WAG/C,gBAAC,KAAD,CAAenI,eAAgBD,GAC7B,gBAAC,EAAAzW,IAAD,CAAK36B,GAAI,GACP,uBAAK7L,UAAU,+BACb,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,YAAYP,UAAU,aACvCkqD,EAAWtrD,MAECsrD,EAAWK,UACxB,gBAAC,EAAA7pD,OAAD,CAAQjB,MAAM,OAAO0M,KAAK,MACvBrN,GAAKkqD,gBAAgB/pD,gBAN5B,MAUA,gBAAC,EAAAqB,WAAD,CAAYb,MAAM,cAAcyqD,EAAW7E,WAG/C,gBAAC,EAAA7e,IAAD,CAAK36B,GAAI,EAAGG,GAAI,IAEqC,eAAhCk+C,EAAWj2C,QAAQu2C,SAClC,gBAAC,EAAA9pD,OAAD,CAAQT,KAAO,GAAEiqD,EAAWj2C,QAAQu4B,OAAQ/sC,MAAM,UAAUsR,WAAS,GAClEjS,GAAKoqD,iBAAiBjqD,gBAGsB,WAAhCirD,EAAWj2C,QAAQu2C,SAClC,gBAAC,EAAA9pD,OAAD,CAAQT,KAAO,GAAEiqD,EAAWj2C,QAAQu4B,OAAQ/sC,MAAM,UAAUsR,WAAS,GAClEjS,GAAKqqD,aAAalqD,gBAG0B,YAAhCirD,EAAWj2C,QAAQu2C,SAClC,gBAAC,EAAA9pD,OAAD,CAAQT,KAAO,GAAEiqD,EAAWj2C,QAAQu4B,OAAQ/sC,MAAM,UAAUsR,WAAS,GAClEjS,GAAKsqD,cAAcnqD,gBAItB,gBAAC,EAAAyB,OAAD,CACET,KAAO,GAAEiqD,EAAWj2C,QAAQu4B,OAC5B/sC,MAAM,UACNsR,WAAS,EACT,mBAAiB7Q,EAAAA,EAAAA,0BAAyB,CACxCC,KAAM,CACJC,WAAY,4BACZC,WAAY,eAIfvB,GAAKmqD,cAAchqD,kBAM9B,gBAAC,EAAA89C,IAAD,CAAK/8C,UAAU,aACb,gBAAC,EAAAwmC,IAAD,CAAK36B,GAAI,EAAGG,GAAI,GAAIy+C,QAAS,EAAGzqD,UAAU,aACxC,gBAAC,EAAAmmD,KAAD,CACEuE,QAAM,EACNr9C,MAAO,gBAAC,EAAA/M,WAAD,CAAYC,QAAQ,aAAazB,GAAK+pD,mBAAmB5pD,iBAI5D+qC,EAAKC,kBAAoBigB,EAAWj2C,QAAQ02C,iBAAmBT,EAAWj2C,QAAQ22C,iBAGpF,uBAAK5qD,UAAU,aACb,gBAAC,EAAA6qD,OAAD,CAAQjY,UAAQ,GACd,8BACiBsX,EAAWj2C,QAAQ02C,gBADpC,sHAXR,KAqBGhC,GACC,gBAAC,GAAAmC,QAAD,MACA,YACAZ,EAAWj2C,QAAQ82C,WACnBb,EAAWj2C,QAAQ+2C,UACnBnN,GAEaqM,EAAWj2C,QAAQg3C,aAC/BtC,GACC,gBAAC,GAAAuC,UAAD,MACA,QACC,UAAShB,EAAWj2C,QAAQg3C,eAC7Bf,EAAWj2C,QAAQg3C,aACnBpN,GAlCN,KAqCiBqM,EAAWj2C,QAAQk3C,mBAC/BxC,GACC,gBAAC,GAAAyC,iBAAD,MACA,QACC,OAAMlB,EAAWj2C,QAAQk3C,qBAC1BjB,EAAWj2C,QAAQk3C,mBACnBtN,GA3CN,KA8CiBqM,EAAWj2C,QAAQo3C,WAC/B1C,GACC,gBAAC,GAAA2C,UAAD,MACA,kBACC,GAAEpB,EAAWj2C,QAAQo3C,aACtBnB,EAAWj2C,QAAQo3C,WACnBxN,GApDN,KAuDG8K,GACC,gBAAC,GAAA4C,SAAD,MACA,iBACArB,EAAWj2C,QAAQu3C,iBACnBtB,EAAWj2C,QAAQu3C,iBACnB3N,GAED8K,GACC,gBAAC,GAAA8C,SAAD,MACA,mBACAvB,EAAWj2C,QAAQy3C,cACnBxB,EAAWj2C,QAAQy3C,cACnB7N,GAEaqM,EAAWj2C,QAAQ03C,QAC/BhD,GACC,gBAAC,GAAAiD,cAAD,MACA,OACC,GAAE1B,EAAWj2C,QAAQ03C,UACtBzB,EAAWj2C,QAAQ03C,QACnB9N,GA3EN,MA+EeqM,EAAWK,YAAcL,EAAWxN,cACjD,gBAAC,GAAD,CAAW+J,MAAOyD,EAAW/rD,GAAIuoD,UAAW,IAAMsB,KAChD,gBAAC,EAAAtnD,OAAD,CACEqQ,WAAS,EACTtR,MAAM,QACNO,UAAU,6DAETlB,GAAKuqD,WAAWpqD,iBAvFzB,MA4FA,gBAAC,EAAAunC,IAAD,CAAK36B,GAAI,EAAGG,GAAI,IACd,gBAAC,sBAAD,CACE,cAAY,0BACZq8C,MAAO,GAAGwD,OACR3B,EAAWj2C,QAAQ63C,WACf,CACE,CACEhpD,IAAKonD,EAAWj2C,QAAQ63C,WACxBjkD,KAAM,UACN4gD,QAASyB,EAAWtrD,OAGxB,GACJsrD,EAAWj2C,QAAQ83C,YAAYxuD,KAAIyuD,IAAK,CACtClpD,IAAKkpD,EACLnkD,KAAM,QACN4gD,QAASyB,EAAWtrD,YAI1B,uBAAKoB,UAAU,aACZkqD,EAAWj2C,QAAQg4C,YAAY1uD,KAAIiW,GAClC,uBAAKxT,UAAU,8BAA8ByD,IAAK+P,GAChD,gBAAC,GAAAg1B,UAAD,CAAW/oC,MAAM,eACjB,gBAAC,EAAAa,WAAD,CAAYN,UAAU,YAAYO,QAAQ,gBACvCiT,OAKT,uBAAKxT,UAAU,uBACb,gBAAC,EAAAksD,KAAD,CAAMzsD,MAAM,cAAcq4C,SAAUnuC,GAAS8/C,EAAe9/C,IAC1D,gBAAC,EAAAwiD,IAAD,CAAKx9C,SAA0B,IAAhB66C,EAAmBn8C,MAAM,eACtC,uBACE8zC,wBAAyB,CACvBC,QAAQC,EAAAA,EAAAA,gBAAe6I,EAAWkC,qBAIxC,gBAAC,EAAAD,IAAD,CACEx9C,SAA0B,IAAhB66C,EACVn8C,MAAM,eACN,cAAY,wCAEG68C,EAAWj2C,QAAQo4C,aALpC,CAMI,gBAAC,EAAA/rD,WAAD,CAAYC,QAAQ,YAAYE,UAAU,KAAK,cAAY,oCAA3D,UACG6rD,EAAAA,EAAAA,YAAWxtD,GAAKiqD,uBAAuB9pD,eAAgB,CACtDstD,YAAarC,EAAWj2C,QAAQo4C,aAAaxkD,QAGjD,sBAAI7H,UAAU,iEAAd,SACE,sBAAIA,UAAU,yCACZ,gBAAC,GAAAwsD,eAAD,CAAgB/sD,MAAM,gBACtB,qBACEQ,KAAMiqD,EAAWj2C,QAAQo4C,aAAaI,WAAa5O,EACnDnH,OAAO,SACPlzC,IAAI,uBAEJ,gBAAC,EAAAlD,WAAD,CAAYN,UAAU,YAAYO,QAAQ,QACvC2pD,EAAWj2C,QAAQo4C,aAAahpB,UAK1B6mB,EAAWj2C,QAAQo4C,aAAantD,YAC7C,8BAAIgrD,EAAWj2C,QAAQo4C,aAAantD,aA1B1C,WA6BiBgrD,EAAWj2C,QAAQy4C,OA7BpC,CA8BI,gBAAC,EAAApsD,WAAD,CAAYC,QAAQ,YAAYE,UAAU,KAA1C,SACG3B,GAAKgqD,sBAAsB7pD,gBAE9B,sBAAIe,UAAU,iEAAd,SACGkqD,EAAWj2C,QAAQy4C,OAAOnvD,KAAI4pC,GAC7B,sBAAInnC,UAAU,wCAAwCyD,IAAK0jC,GACzD,gBAAC,GAAAwlB,SAAD,CAAUltD,MAAM,gBAChB,wBAAMO,UAAU,aAAamnC,QArCvC,YA3NV,uBAAK,cAAY,iCACf,gBAAC,KAAD,SA/ENmiB,uBAAAA,YAAAA,yBA4WNA,uBAAuBviB,aAAe,CACpCwiB,SAAS,GAGX,gCCndMnN,wBAAc,KAClB,SAAiE15C,EAAAA,EAAAA,YAAWC,EAAAA,IAApEqnC,EAAR,EAAQA,KAAR,IAAcqS,WAAd,cAA0D,GAA1D,GAA4BC,kBAAAA,OAA5B,SACMC,EAAsBvS,EAAKC,iBAAmBqS,EACpD,OACE,uBACE,cAAY,6BACZt8C,WACEu8C,EAAsB,0BAA4B,IADxC,gFAIZ,gBAAC,EAAAj8C,WAAD,CAAYC,QAAQ,QAAQE,UAAU,KAAKhB,MAAM,QAAQO,UAAU,0BAAnE,yBAGA,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,YAAYE,UAAU,MAAMhB,MAAM,QAAQO,UAAU,6BAAxE,6KAIEgqC,EAAKC,iBACL,gBAAC,EAAAvpC,OAAD,CAAQjB,MAAM,UAAUQ,KAAK,iBAA7B,iBAlBFm8C,wBAAAA,YAAAA,cA0BN,iCCxBMwQ,QAAU,EAAGnQ,IAAAA,KAEf,gBAAC,EAAAjW,IAAD,CAAK16B,GAAI,EAAGD,GAAI,EAAGF,GAAI,GAAIK,GAAI,GAAIhM,UAAU,YAAY,cAAY,gBACnE,gBAAC,GAAD,CAASy8C,IAAKA,EAAKz8C,UAAU,wBAAwB,cAAY,iBAC/D,gBAAC,EAAAmmD,KAAD,KACE,uBAAKx+C,IAAK80C,EAAIvC,KAAOuC,EAAIvC,KAAO6B,GAAmBD,IAAKW,EAAI79C,KAAMoB,UAAU,0BAC5E,gBAAC,IAAD,KAAay8C,EAAI79C,MACF69C,EAAI1O,WAAW9oC,OAC5B,gBAAC,IAAD,CAAYxF,MAAM,cAChB,wBAAMO,UAAU,4BAA4B,cAAY,qBACrDy8C,EAAI1O,WAAW,GAAGnvC,OAN3B,QAJFguD,QAAAA,YAAAA,UAoCN,iBCrCMjQ,6BAAW,EAAGC,KAAAA,EAAO,MACzB,gBAAC,EAAAC,KAAD,CAAMC,UAAQ,EAAC98C,UAAU,+BAA+B,cAAY,kBAClE,gBAAC,EAAA+8C,IAAD,KACGH,EAAKr/C,KAAIk/C,GACR,gBAAC,GAAD,CAASh5C,IAAKg5C,EAAIt+C,GAAIs+C,IAAKA,QAJ7BE,6BAAAA,YAAAA,WA4BN,sCCjCMkQ,GAAgBC,EAAAA,cAAoB,CACxCjP,OAAQ,GACRkP,QAAS,KAGLC,eAAiB,EAAGpsD,SAAAA,MACxB,SAA4B6H,EAAAA,EAAAA,UAAS,IAArC,WAAOo1C,EAAP,KAAeoP,EAAf,KACA,GAA8BxkD,EAAAA,EAAAA,UAAS,IAAvC,WAAOskD,EAAP,KAAgBG,EAAhB,KAKA,OACE,gBAACL,GAAc1iD,SAAf,CACER,MAAO,CACLk0C,OAAAA,EACAkP,QAAAA,EACAI,aAReC,GAAaH,EAAUG,GAStCC,aARejqD,GAAU8pD,EAAW9pD,KAWrCxC,IAhBDosD,eAAAA,YAAAA,iBAyBN,MAAMM,GAAiBT,GAAcU,SCLxBC,GAAkB,CA1BP,CAAE/pD,IAAK,WAAY7E,KAAM,YACrB,CAAE6E,IAAK,eAAgB7E,KAAM,iBA2B5C6uD,GAAiB,CAzBK,CAAEhqD,IAAK,sBAAuB7E,KAAM,yBAC7C,CAAE6E,IAAK,aAAc7E,KAAM,cACxB,CAAE6E,IAAK,gBAAiB7E,KAAM,iBACjC,CAAE6E,IAAK,aAAc7E,KAAM,cACnB,CAAE6E,IAAK,qBAAsB7E,KAAM,0BAC5C,CAAE6E,IAAK,YAAa7E,KAAM,aAChC,CAAE6E,IAAK,MAAO7E,KAAM,OACP,CAAE6E,IAAK,mBAAoB7E,KAAM,oBAC3C,CAAE6E,IAAK,SAAU7E,KAAM,UACzB,CAAE6E,IAAK,OAAQ7E,KAAM,QACb,CAAE6E,IAAK,eAAgB7E,KAAM,gBAChC,CAAE6E,IAAK,YAAa7E,KAAM,aAC5B,CAAE6E,IAAK,UAAW7E,KAAM,WACzB,CAAE6E,IAAK,SAAU7E,KAAM,WA6BhC8uD,GAAkB,CA3BA,CAAEjqD,IAAK,kBAAmB7E,KAAM,yBACrC,CAAE6E,IAAK,aAAc7E,KAAM,oBACvB,CAAE6E,IAAK,iBAAkB7E,KAAM,uBA2BhD+uD,GAAe,CAzBA,CAAElqD,IAAK,eAAgB7E,KAAM,0BAC7B,CAAE6E,IAAK,eAAgB7E,KAAM,0BACvB,CAAE6E,IAAK,qBAAsB7E,KAAM,iCCpB/DgvD,UAAY,IAEd,gBAACN,GAAD,MACG,EAAGP,QAAAA,EAASM,aAAAA,MACX,MAAMQ,UAAYzqD,GAAU2pD,EAAQrmB,SAAStjC,GAIvC0qD,aAAe,EAAGlvD,KAAAA,EAAM6E,IAAAA,EAAKtF,GAAAA,KACjC,uBAAKsF,IAAKtF,GAAMsF,GACd,gBAAC,EAAAsqD,SAAD,CACE1qB,MAAOzkC,EACPT,GAAIA,GAAMsF,EACV,cAAY,0BACZq0C,SAAU,IATK10C,CAAAA,GACnBiqD,EAAaQ,UAAUzqD,GAAU2pD,EAAQ3pD,QAAO4qD,GAAKA,IAAM5qD,IAAU,IAAI2pD,EAAS3pD,IAQ9DqzC,CAAahzC,GAC7B6kC,QAASulB,UAAUpqD,MAKzB,OACE,2BACE,oCACC+pD,GAAgBjwD,KAAIgiD,GAAOuO,aAAavO,KACzC,0CAECkO,GAAelwD,KAAIgiD,GAAOuO,aAAavO,KACxC,8CACCmO,GAAgBnwD,KAAIgiD,GAAOuO,aAAavO,KACzC,0CACCoO,GAAapwD,KAAIgiD,GAAOuO,aAAavO,SA9B5CqO,UAAAA,YAAAA,YAsCN,mBC1BMpJ,0CAAuB,EAAGrmD,GAAAA,EAAIsmD,OAAAA,EAAQC,OAAAA,EAAQC,sBAAAA,EAAuB/jD,SAAAA,MACzE,SAKI8B,EAAAA,EAAAA,YAAWC,EAAAA,IALf,IACEE,YAAey4C,EADjB,EACiBA,UAAW14C,EAD5B,EAC4BA,OAAQ24C,EADpC,EACoCA,IAClCyB,EAFF,EAEEA,UACAhT,EAHF,EAGEA,KACAlnC,EAJF,EAIEA,IAEMm6C,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UAER,EAAkCsE,yBAAyBjG,EAAW14C,EAAQ24C,EAAKz4C,GAA3E0+C,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,aAEjB,OACE,gBAAC,KAAD,CAAU7hD,OAAQzB,EAAIuB,eAAe,EAAOilD,sBAAuBA,EAAuB9kD,UAAU,QAClG,gBAAC,KAAD,KACkB2hD,EADlB,KAEI,wBAAMh+C,IAAI,YAAYvD,KAAMwhD,IAEfD,EACb,wBAAM5iD,KAAK,SAASmB,QAAQ,sBALhC,MAQC0kD,EACcza,EAAKC,gBAClB,gBAAC,GAAD,CAAWgW,WAAW,UAAUD,aAAc,8BAXlD,KAaE,gBAACgN,eAAD,KACE,gBAAC,EAAAnQ,KAAD,CAAM+H,OAAK,EAAC5kD,UAAU,8BACpB,uBAAKA,UAAU,uBACb,gBAAC,EAAA+8C,IAAD,KACE,uBAAK/8C,UAAU,aACb,gBAAC,GAAD,CAAWuJ,SAAS,4BAGxB,gBAAC,EAAAwzC,IAAD,KACE,gBAAC,KAAD,CAAcG,eAAgBD,GAC5B,gBAAC,EAAAzW,IAAD,CAAK16B,GAAI,GAAI44C,IAEf,gBAAC,EAAAle,IAAD,KAAM5lC,SArCd4jD,0CAAAA,YAAAA,uBAsDNA,0CAAqBzd,aAAe,CAClC0d,OAAQ,gBAAC,wBAAD,MACRC,OAAQ,gBAAC,GAAD,MACRC,sBAAuB,MAGzB,mDCpEMsJ,OAAS,MACb5mD,EAAAA,EAAAA,YAAU,KACRw9C,iBAAgB,KACd9gD,OAAOkhD,cAAc,QACrBlhD,OAAOkhD,cAAc,UAAW,sBAEjC,IAGD,uBAAK,cAAY,yBACf,gBAAC,GAAD,CACE9mD,GAAG,uBACHsmD,OACE,gCACE,gBAAC,wBAAD,MACA,gBAAC,GAAD,QAIJ,gBAAC,KAAD,KACE,0EACA,wBAAM7lD,KAAK,cAAcmB,QAAQ,8EAEnC,gBAAC,GAAD,CAAU69C,WAAW,aACrB,uBAAK59C,UAAU,aACb,gBAAC,GAAD,CAAU49C,WAAW,kBAEvB,uBAAK59C,UAAU,aACb,gBAAC,GAAD,CAAU49C,WAAW,uBA5BzBqQ,OAAAA,YAAAA,SAmCN,gBC3BMC,oBAAsB,EAAGjT,QAAAA,MAC7B,SAIIv4C,EAAAA,EAAAA,YAAWC,EAAAA,IAHbqnC,EADF,EACEA,KAC4BmkB,EAF9B,EAEEtrD,YAAe0F,YAFjB,IAGE,iBAAmB6lD,EAHrB,EAGqBA,eAAgBC,EAHrC,EAGqCA,eA6BrC,OA1BAhnD,EAAAA,EAAAA,YAAU,KACR,MAAMinD,EAAWrT,EAAQsT,QAAO,KAC9BxqD,OAAOyqD,SAAS,EAAG,MAErB,MAAO,KACLF,OAED,CAACrT,KAEJ5zC,EAAAA,EAAAA,YAAU,KACRwzC,EAAAA,eAAAA,WAA0B,CACxB7Q,KAAM,CAAE7rC,GAAI6rC,EAAK7rC,GAAI8rC,gBAAiBD,EAAKC,iBAC3CmkB,eAAAA,EACAD,QAAAA,EACAvuD,OAAQ,eACRyuD,eAAAA,MAED,CAACrkB,EAAMmkB,EAASC,EAAgBC,IAIb,oBAAXtqD,QAA0BA,QAAUA,OAAOkhD,gBACpDlhD,OAAOkhD,cAAc,mBACrBlhD,OAAOkhD,cAAc,SAIrB,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAOliD,KAAK,uBAAuBm4C,OAAQ5wC,GAAS,gBAACqkC,GAAD,iBAAiBrkC,EAAjB,CAAwBi/C,SAAO,OACnF,gBAAC,KAAD,CAAOxmD,KAAK,uBAAuBtC,UAAWguD,GAAa7U,OAAK,IAChE,gBAAC,KAAD,CAAO72C,KAAK,gBAAgBtC,UAAWiuD,GAAY9U,OAAK,IACxD,gBAAC,KAAD,CAAO72C,KAAK,uBAAuBtC,UAAWkuD,GAAmB/U,OAAK,IACtE,gBAAC,KAAD,CAAO72C,KAAK,qBAAqBtC,UAAWmuD,GAAiBhV,OAAK,IAClE,gBAAC,KAAD,CAAO72C,KAAK,sBAAsBtC,UAAWouD,GAAcjV,OAAK,IAChE,gBAAC,KAAD,CAAO72C,KAAK,eAAetC,UAAWquD,GAAYlV,OAAK,IACvD,gBAAC,KAAD,CAAO72C,KAAK,gCAAgCtC,UAAWsuD,GAAgBnV,OAAK,IAE5E,gBAAC,KAAD,CAAO72C,KAAK,WAAWtC,UAAWuuD,GAAYpV,OAAK,IAEnD,gBAAC,KAAD,CAAO72C,KAAK,QAAQtC,UAAWwuD,GAAUrV,OAAK,IAE9C,gBAAC,KAAD,CAAOn5C,UAAWyuD,EAAAA,OAhDlBhB,oBAAAA,YAAAA,sBA2DN,UAAelS,EAAAA,EAAAA,IAAWkS,qB,eC7EnB,MAAMiB,GAAmB7wD,OAAO0C,OAAO,CAC5CouD,SAAU,iBACVC,iBAAkB,qBAGPC,GAAahxD,OAAO0C,OAAO,CACtCuuD,SAAU,aAGCC,GAAclxD,OAAO0C,OAAO,CACvCyuD,MAAO,QACPC,KAAM,SCRKC,GAAUrxD,OAAO0C,OAAO,CACnC4uD,GAAI,KACJC,QAAS,YAoBX,mBAjBmB,KACjB,MAAQ7S,GAAct6C,EAAAA,EAAAA,YAAWC,EAAAA,IAAzBq6C,UAMR,MAAsB,oBAAXj5C,OACLi5C,EAAUjS,QAAQ,gBAAkB,EAAU4kB,GAAQC,GACnDD,GAAQE,QAEX9rD,OAAO+rD,sBAA0BrrD,SAASsrD,aACvCJ,GAAQC,GAEVD,GAAQE,SCfjB,iBAP2BG,IAAW,CACpCnoB,QAASmoB,EACTC,WAAYlyD,IACI,UAAVA,EAAE0F,KAAiBusD,OCM3B,GANoB,oBAAXjsD,aACoB,IAApBA,OAAOU,eAC2B,IAAlCV,OAAOU,SAASiD,cACnBwoD,EAAAA,gBACA7oD,EAAAA,UCWN,0BAV0B,CAACpH,EAAMkwD,KAC/B,QAAqCA,EAA7BC,YAAAA,OAAR,MAAsB,GAAtB,EAA0BC,EAAWF,EAAXE,OAM1B,MALe,GAAEpwD,KACI3B,OAAOD,KAAK+xD,GAC9B7yD,KAAI+yD,GAAa,GAAE1O,mBAAmB0O,MAAa1O,mBAAmBwO,EAAYE,QAClFpoB,KAAK,MACQmoB,EAAU,IAAGA,IAAW,K,8nBCV1C,MAAME,eACJlwD,GACA,CAACD,EAAYD,EAAO,MAApB,CACEA,KAAM,sBACJE,WAAAA,EACAD,WAAAA,GACGD,KAIHqwD,WAAanwD,GAAc,CAACD,EAAYD,KAC5C06C,EAAAA,eAAAA,MAAA,sBACEj8C,KAAMk8C,EAAAA,YAAAA,qBACHyV,eAAelwD,EAAfkwD,CAA2BnwD,EAAYD,MASjCswD,GAAcnyD,OAAO0C,OAAO,CACvC0vD,UAAW,gBACXC,IAAK,sBACLC,qBAAsB,sBAGxB,MAAMC,GACJC,YAAYzwD,GAAY,KAIxB0wD,kBAAoB,CAACttD,EAAKutD,EAAahB,KAChCgB,GAGEvW,KAAKh3C,KACRg3C,KAAKh3C,GAAO,IAEdg3C,KAAKh3C,GAAKutD,GAAe,IAAI1S,IAAS7D,KAAKwW,OAAOT,cAAcR,KAAW1R,KAL3E7D,KAAKh3C,GAAO,IAAI66C,IAAS7D,KAAKwW,OAAOT,cAAcR,KAAW1R,IAOzD7D,MAZPA,KAAKwW,OAbY5wD,CAAAA,IAAc,CACjCmwD,WAAYA,WAAWnwD,GACvBkwD,eAAgBA,eAAelwD,KAWf6wD,CAAa7wD,IAgB/B,MAAM8wD,aAAeniB,GAAOA,EAAIvlC,QAAQ,IAAK,KAEvC2nD,oBAAsBC,GACP,oBAAfA,EACK,MAEFA,EAwCIC,IAJiBluB,KAAAA,SAC5BA,KAAAA,UAAoB,CAACA,KAAAA,KAAgBA,KAAAA,SAAmBA,KAAAA,SAG1B+sB,IAC9B,MAAmBoB,EAA2DpB,EAAtE5iD,UAAiCikD,EAAqCrB,EAAjDsB,WAAmCC,EAAcvB,EAA1BwB,WACpD,MAAO,CAACnlB,EAAMolB,EAAO,MACnB,MAAoBC,EAAgDD,EAA5DD,WAAsCG,EAAsBF,EAAlCG,WAAuB1B,EAAWuB,EAAXvB,OACnD2B,EAAa,CACjB5B,YAAa,CACX7iD,UAAWgkD,EACXE,WAAYD,IAQhB,OALIE,GAAaG,KACfG,EAAW5B,YAAYuB,WAAaE,GAAgBH,GAElDI,IAAWE,EAAW5B,YAAY2B,WAAaD,GAC/CzB,IAAQ2B,EAAW3B,OAASA,GACzB4B,0BAAkBzlB,EAAMwlB,MAInC,QAxDkBE,IAChB,OAAQA,GACN,KAAKzB,GAAYC,UACjB,KAAKD,GAAYE,IACf,OAAO,IAAIE,GAAiBqB,GACzBnB,kBAAkB,QAAS,aAAaoB,GAAe,CAAE,SAAQhB,aAAagB,mBAC9EpB,kBAAkB,QAAS,cAAcoB,GAAe,CAAE,SAAQhB,aAAagB,mBAC/EpB,kBAAkB,QAAS,cAAcqB,GAAQ,CAAE,qBAAoBjB,aAAaiB,QACpFrB,kBAAkB,QAAS,aAAaoB,GAAe,CAAE,SAAQhB,aAAagB,mBACnF,KAAK1B,GAAYG,qBACf,OAAO,IAAIC,GAAiBqB,GACzBnB,kBAAkB,QAAS,cAAc,CAACM,EAAYgB,IAAkB,CACvE,eACA,CACE1Y,KAAM,cACN2Y,OAAQ,OACRjB,WAAYD,oBAAoBC,GAChCkB,eAAgBF,MAGnBtB,kBAAkB,QAAS,aAAa,IAAM,CAC7C,eACA,CACEpX,KAAM,cACN2Y,OAAQ,iBAGXvB,kBAAkB,WAAY,MAAM,IAAM,CAAC,YAAa,CAAEpX,KAAM,kBACrE,QACE,MAAM,IAAI37C,MAAO,6BAA4Bk0D,QCxFtCM,GAAOl0D,OAAO0C,OAAO,CAChC0vD,UAAW,YACX+B,eAAgB,mBCQlB,eAN0BzC,GAAW,KACnC,MAAM0C,EAAe,CAAC,SAAU,IAAM1C,EAHlBjsD,OAAO4uD,aDGI,KCE/B,OADA5uD,OAAO6uD,oBAAoBF,GACpB,IAAM3uD,OAAO8uD,uBAAuBH,ICH7C,GAFeI,QAAUrC,GAAYE,KC6DrC,GA/Da,CACXoC,wBAAyB,CACvB50D,GAAI,qCACJc,eAAgB,iCAChBC,YAAa,yDAEf8zD,SAAU,CACR70D,GAAI,sBACJc,eAAgB,oCAChBC,YAAa,8DAEf+zD,UAAW,CACT90D,GAAI,uBACJc,eAAgB,YAChBC,YAAa,oFAEfg0D,kBAAmB,CACjB/0D,GAAI,+BACJc,eAAgB,sBAChBC,YAAa,yFAEfi0D,gBAAiB,CACfh1D,GAAI,6BACJc,eAAgB,mBAChBC,YAAa,0FAEfk0D,SAAU,CACRj1D,GAAI,sBACJc,eAAgB,WAChBC,YAAa,iFAEfm0D,cAAe,CACbl1D,GAAI,2BACJc,eAAgB,iBAChBC,YAAa,oFAEfo0D,kBAAmB,CACjBn1D,GAAI,+BACJc,eAAgB,qBAChBC,YAAa,gGAEfq0D,YAAa,CACXp1D,GAAI,yBACJc,eAAgB,eAChBC,YAAa,0FAEfs0D,iBAAkB,CAChBr1D,GAAI,8BACJc,eAAgB,oBAChBC,YAAa,gFAEfu0D,qBAAsB,CACpBt1D,GAAI,kCACJc,eAAgB,wBAChBC,YAAa,6EAEfw0D,SAAU,CACRv1D,GAAI,sBACJc,eAAgB,aAChBC,YAAa,gFCtDXy0D,GAAUrC,GAAiB,CAC/B/jD,UAAW,kBACXkkD,WAAY,YACZE,WAAY,WAiEd,GA9DoBrzD,OAAO0C,OAAO,CAChCiyD,UAAW,CACTriD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,WACR80D,UAAW,CACT,CACEhjD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,mBACRmB,KAAM0zD,GAAQ,4CAA6C,CACzD5B,WAAY,wBAEd8B,QAAS,IAAM5C,GAAAA,MAAAA,WAAwB,wBAEzC,CACErgD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,iBACRmB,KAAM0zD,GAAQ,6BAA8B,CAC1C5B,WAAY,qBAEd8B,QAAS,IAAM5C,GAAAA,MAAAA,WAAwB,uBAI7CmC,SAAU,CACRxiD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,UACRmB,KAAM0zD,GAAQ,4BAA6B,CACzC5B,WAAY,aAEdlqB,QAAS,IAAMopB,GAAAA,MAAAA,WAAwB,aAEzCoC,cAAe,CACbziD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,eACR80D,UAAW,CACT,CACEhjD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,mBACRmB,KAAM0zD,GAAQ,sCAAuC,CACnD5B,WAAY,uBAEd8B,QAAS,IAAM5C,GAAAA,MAAAA,WAAwB,uBAEzC,CACErgD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,aACRmB,KAAM0zD,GAAQ,gCAAiC,CAC7C5B,WAAY,iBAEd8B,QAAS,IAAM5C,GAAAA,MAAAA,WAAwB,iBAEzC,CACErgD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,kBACRmB,KAAM0zD,GAAQ,2BAA4B,CACxC5B,WAAY,sBAEd8B,QAAS,IAAM5C,GAAAA,MAAAA,WAAwB,YAEzC,CACErgD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAAA,sBACRmB,KAAM0zD,GAAQ,6BAA8B,CAC1C5B,WAAY,4BAEd8B,QAAS,IAAM5C,GAAAA,MAAAA,WAAwB,kB,0BCjExC,MAAM6C,GAAe1wB,KAAAA,MAAgB,CAC1CnjC,KAAMmjC,KAAAA,OAAAA,WACNtyB,SAAUsyB,KAAAA,KACVxyB,KAAMwyB,KAAAA,OAAAA,WACNywB,QAASzwB,KAAAA,OAGE2wB,GAAkB3wB,KAAAA,MAAgB,CAC7CxkC,KAAMwkC,KAAAA,OAAAA,WACNlkC,YAAakkC,KAAAA,OAAAA,WACb4wB,MAAO5wB,KAAAA,OAAAA,WACP6wB,QAASH,GACTI,cAAeJ,KCcjB,IDXuC1wB,KAAAA,MAAgB,CACrDxkC,KAAMwkC,KAAAA,OAAAA,WACNlkC,YAAakkC,KAAAA,OAAAA,WACb+wB,SAAU/wB,KAAAA,OACVgxB,SAAUhxB,KAAAA,QAAkB2wB,IAAiBzwB,aAGfF,KAAAA,MAAgB,CAC9CxyB,KAAMwyB,KAAAA,OAAAA,WACNnjC,KAAMmjC,KAAAA,OACNsT,OAAQtT,KAAAA,OACRywB,QAASzwB,KAAAA,OC1BO,KAChB,MAAMixB,GAAYjtD,EAAAA,EAAAA,QAAO,CAAE+1C,EAAG,EAAGC,EAAG,IAapC,OAZA/1C,EAAAA,EAAAA,YAAU,KACR,MAAMqrD,EAAe,CACnB,YACA30D,IACEs2D,EAAU/sD,QAAQ61C,EAAIp/C,EAAEu2D,QACxBD,EAAU/sD,QAAQ81C,EAAIr/C,EAAEw2D,UAI5B,OADAxwD,OAAO6uD,oBAAoBF,GACpB,IAAM3uD,OAAO8uD,uBAAuBH,MAGtC,CACL8B,oBAAqBvxB,IACnB,IAAKA,EAAS,OAAO,EACrB,MAAMwxB,EAAOxxB,EAAQyxB,wBACrB,IAAIC,GAAY,EAGhB,OAFIN,EAAU/sD,QAAQ81C,EAAIqX,EAAKxiD,KAAOoiD,EAAU/sD,QAAQ81C,EAAIqX,EAAKjiD,UAAQmiD,GAAY,IACjFN,EAAU/sD,QAAQ61C,EAAIsX,EAAKpiD,MAAQgiD,EAAU/sD,QAAQ61C,EAAIsX,EAAKziD,SAAO2iD,GAAY,GAC9EA,MCTAC,cAAgBhkD,GAAS,wBAAuBA,IAEvDikD,eAAiB,EAAGjkD,KAAAA,EAAM3Q,KAAAA,EAAMy2C,OAAAA,EAAQkd,UAAAA,EAAWkB,OAAAA,EAAQjtB,QAAAA,EAASoL,OAAAA,EAAQ1yC,QAAAA,MAChF,MAAMw0D,EAAoB,+BACpBpoB,EAASqoB,MACf3tD,EAAAA,EAAAA,YAAU,KACR,MAAMqrD,EAAe,CACnB,UACA,KACE,MAAMzvB,EAAUx+B,SAASg8C,eAAesU,GACnCpoB,EAAO6nB,oBAAoBvxB,IAC9BgQ,MAKN,OADAlvC,OAAO6uD,oBAAoBF,GACpB,IAAM3uD,OAAO8uD,uBAAuBH,MAE7C,MAAMuC,QAAU,KACd,MAAMC,EAAcruB,IAAAA,CAAW,CAC7B,6BAA6B,EAC7B,aAAc5mC,IAEhB,OAAIA,EAEA,mCACEA,KAAMA,EACND,UAAU,gCACV02C,OAAQA,GACJye,kBAAiB,KACfttB,GAASA,OALjB,CAOE,cAAa+sB,cAAchkD,KAE3B,gBAAC,EAAAtQ,WAAD,CAAYC,QAAQ,YAAYP,UAAWk1D,EAAaz1D,MAAOc,GAC5DqQ,IAMP,gBAAC,EAAAtQ,WAAD,CAAYC,QAAQ,YAAYP,UAAWk1D,EAAaz1D,MAAOc,GAC7D,qCACE0O,KAAK,SACL63B,SAAS,IACT,eAAcguB,GACVK,kBAAiB,KACfttB,GAASA,OALjB,CAOE7nC,UAAU,kCAEV,wBAAMA,UAAWk1D,GAActkD,GAC/B,uBAAK5Q,UAAU,+BAEM80D,EACf,gBAAC,GAAAntB,cAAD,CAAex7B,KAAK,OAGpB,gBAAC,GAAAu7B,gBAAD,CAAiBv7B,KAAK,WASpC,OACE,gCACE,gBAAC,KAAD,KAEE,uBACEnM,UAAU,qBACV8mD,QAAS/oD,IACO,WAAVA,EAAE0F,KAAkBwvC,MAGzBgiB,UACcrB,EAAU3uD,QAAU6vD,EACjC,uBAAK90D,UAAU,+BAA+B7B,GAAI42D,GAChD,gBAAC,EAAAjnD,KAAD,CAAMsxC,OAAK,EAACuD,SAAO,EAACyS,aAAW,GAC5BxB,EAAUr2D,KAAI6mD,GACb,gBAAC,EAAAl2C,SAAD,CACEzK,IAAM,2BAA0B2gD,EAAKxzC,OACrCmyC,aAAW,EACXC,iBAAkBoB,EAAKnkD,KACvBy2C,OAAQ0N,EAAK1N,OACb,cAAake,cAAcxQ,EAAKxzC,OAE/BwzC,EAAKxzC,UAlBlB,OA0BF,gBAAC,KAAD,KACE,gBAAC,EAAAmsC,IAAD,CAAK/8C,UAAU,4BACb,gBAAC,KAAD,KACE,gBAAC,EAAAwmC,IAAD,CAAKx6B,GAAI,KAEX,gBAAC,EAAAw6B,IAAD,KAAMyuB,WACN,gBAAC,KAAD,KACE,gBAAC,EAAAzuB,IAAD,CAAKx6B,GAAI,MAGE4nD,EAAU3uD,QAAU6vD,EACjC,uBAAK90D,UAAU,gCACZ4zD,EAAUr2D,KAAI6mD,GACb,qBACEnkD,KAAMmkD,EAAKnkD,KACXy2C,OAAQ0N,EAAK1N,OACb12C,UAAU,2BACVyD,IAAM,2BAA0B2gD,EAAKxzC,OACrC,cAAagkD,cAAcxQ,EAAKxzC,OAEhC,gBAAC,EAAAmsC,IAAD,CAAKt5C,IAAM,2BAA0B2gD,EAAKxzC,OAAQ5Q,UAAU,4BAC1D,gBAAC,KAAD,KACE,gBAAC,EAAAwmC,IAAD,CAAKx6B,GAAI,KAGX,gBAAC,EAAAw6B,IAAD,CAAKxmC,UAAU,gCACb,gBAAC,EAAAM,WAAD,CAAYN,UAAU,iCAAiCokD,EAAKxzC,OAG9D,gBAAC,KAAD,KACE,gBAAC,EAAA41B,IAAD,CAAKx6B,GAAI,UA9BvB,QAuDN6oD,eAAe9tB,aAAe,CAC5B9mC,KAAM,KACNy2C,OAAQ,GACRkd,UAAW,GACXkB,QAAQ,EACRjtB,QAAS,IAAM,KACfoL,OAAQ,IAAM,MAGhB,wBC3JaoiB,GAAU,qBAEjB1B,GAAUrC,GAAiB,CAC/B/jD,UAAW,kBACXkkD,WAAY,YACZE,WAAY,WAGR2D,cAAgB,EAAGC,SAAAA,EAAUC,YAAAA,MACjC,SAA0C/sD,EAAAA,EAAAA,WAAS,GAAnD,WAAOgtD,EAAP,KAAsBC,EAAtB,KAGAC,GAA0BC,gBAAkBC,GAAWH,EAAiBG,MACxE,MAAMC,EAAUjvB,IAAAA,CAAW,CACzB,uBAAuB,EACvB,sBAAuB4uB,IAEnBzB,EAAQyB,EAAgBM,GAAeC,GACvCC,EAAcR,EAAgB,QAAU,UACxCS,EAAiBT,EAA0B,QAAV,QACjCU,EAActvB,IAAAA,CAAW,CAC7B,gCAAiC4uB,EACjC,0BAA0B,IAEtBW,EAAcX,EAAgB,QAAU,OACxCxiB,OAAS,IAAMuiB,EAAY,MAEjC,OACE,uBAAKx1D,UAAW81D,EAAS33D,GAlBb,iBAmBV,gBAAC,EAAA0+C,KAAD,CAAMC,UAAQ,EAACuZ,WAAS,EAACr2D,UAAU,aAAa,cAAaq1D,IAC3D,gBAAC,EAAAtY,IAAD,KACE,gBAAC,EAAAvW,IAAD,CAAKxmC,UAAU,uBAAuB+L,GAAI,GACxC,mCACE9L,KAAM0zD,GAAQ,oBACd,cAAYv1D,EAAAA,EAAAA,GAAEU,GAAAA,WACVq2D,kBAAiB,KACnBlE,GAAAA,MAAAA,WAAwB,gBAG1B,uBAAKtpD,IAAKqsD,EAAOlY,KAAK19C,EAAAA,EAAAA,GAAEU,GAAAA,yBAA+BkB,UAAU,uBAGrE,gBAAC,EAAAwmC,IAAD,CAAKxmC,UAAU,uBAAuB+L,GAAI,GACxC,uBAAK/L,UAAU,yBACb,gBAAC,GAAD,iBACMs2D,GAAAA,UADN,CAEExB,OAAQS,IAAa/C,GAAK9B,UAC1B7oB,QAAS,IAAM2tB,EAAYhD,GAAK9B,WAChCzd,OACA1yC,QAAS61D,MAGb,uBAAKp2D,UAAU,yBACb,gBAAC,GAAD,iBAAoBs2D,GAAAA,SAApB,CAA0C/1D,QAAS61D,EAAanjB,WAElE,uBAAKjzC,UAAU,qDACb,gBAAC,GAAD,iBACMs2D,GAAAA,cADN,CAEExB,OAAQS,IAAa/C,GAAKC,eAC1B5qB,QAAS,IAAM2tB,EAAYhD,GAAKC,gBAChCxf,OACA1yC,QAAS61D,OAIf,gBAAC,EAAA5vB,IAAD,CAAKxmC,UAAU,uCAAuC+L,GAAI,GACxD,gBAAC,EAAArL,OAAD,eACEH,QAAS21D,EACTz2D,MAAOw2D,EACPj2D,UAAWm2D,EACXl2D,KAAM0zD,GAAQ,8BAA+B,CAC3C5B,WAAY,gBAEVoD,kBAAiB,KACnBlE,GAAAA,MAAAA,WAAwB,kBAG1B,gBAAC,EAAAnxD,EAAD,CAAGU,KAAM1B,GAAAA,iBArEjBw2D,cAAAA,YAAAA,gBAoFNA,cAAcvuB,aAAe,CAC3BwuB,cAAUt0B,GAGZ,uBC/Fao0B,GAAU,oBAEjB1B,GAAUrC,GAAiB,CAC/B/jD,UAAW,kBACXkkD,WAAY,YACZE,WAAY,WAGR4E,aAAe,EAAGhB,SAAAA,EAAUC,YAAAA,EAAaV,OAAAA,EAAQ0B,UAAAA,MACrD,SAA0C/tD,EAAAA,EAAAA,WAAS,GAAnD,WAAOgtD,EAAP,KAAsBC,EAAtB,KAGAC,GAA0BC,gBAAkBC,GAAWH,EAAiBG,MACxE,MAAMY,EAAWhB,IAAkBX,EAC7Bd,EAAQyC,EAAWV,GAAeC,GAClCU,EAAeD,EAAW,QAAU,OAE1C,OACE,uBACEz2D,UAAW6mC,IAAAA,CAAW,CACpB,uBAAuB,EACvB,sBAAuB4uB,IAEzBt3D,GAbU,wBAeV,gBAAC,EAAA0+C,KAAD,CACEC,UAAQ,EACRuZ,WAAS,EACTzR,OAAK,EACL5kD,UAAW6mC,IAAAA,CAAW,CACpB,cAAc,EACd,yBAA0BiuB,IAE5B,cAAaO,IAEb,gBAAC,EAAAtY,IAAD,eACE/8C,UAAW6mC,IAAAA,CAAW,CACpB,YAAaiuB,EACb,yBAAyB,IAE3B7lD,KAAK,SACL63B,SAAS,IACT,eAAcguB,GACVK,kBAAiB,IAAMqB,GAAW1B,MAEtC,gBAAC,EAAAtuB,IAAD,CAAKxmC,UAAU,oCACb,uBAAK2H,IAAKqsD,EAAOlY,KAAK19C,EAAAA,EAAAA,GAAEU,GAAAA,yBAA+BkB,UAAU,qBACjE,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,YAAYd,MAAOi3D,GAElB5B,EACf,gBAAC,GAAAntB,cAAD,MAGA,gBAAC,GAAAD,gBAAD,SAMKotB,EAlCjB,CAmCI,gBAAC,GAAD,iBACMwB,GAAAA,UADN,CAEExB,OAAQS,IAAa/C,GAAK9B,UAC1B7oB,QAAS,IAAM2tB,EAAYhD,GAAK9B,WAChCnwD,QAAQ,OAJV,WAMA,gBAAC,GAAD,iBAAoB+1D,GAAAA,SAApB,CAA0C/1D,QAAQ,OAAlD,WACA,gBAAC,GAAD,iBACM+1D,GAAAA,cADN,CAEExB,OAAQS,IAAa/C,GAAKC,eAC1B5qB,QAAS,IAAM2tB,EAAYhD,GAAKC,gBAChClyD,QAAQ,OAJV,WAMA,gBAAC,EAAAw8C,IAAD,CAAK/8C,UAAU,kBAAf,SACE,gBAAC,KAAD,KACE,gBAAC,EAAAwmC,IAAD,CAAKx6B,GAAI,KAEX,gBAAC,EAAAw6B,IAAD,KACE,gBAAC,EAAA9lC,OAAD,eACEjB,MAAM,UACNQ,KAAM0zD,GAAQ,8BAA+B,CAC3C5B,WAAY,gBAEVoD,kBAAiB,KACnBlE,GAAAA,MAAAA,WAAwB,iBAN5B,CAQEjxD,UAAU,iCACV+Q,WAAS,IAET,gBAAC,EAAAjR,EAAD,CAAGU,KAAM1B,GAAAA,aAGb,gBAAC,KAAD,KACE,gBAAC,EAAA0nC,IAAD,CAAKx6B,GAAI,OApEjB,QAjBAuqD,aAAAA,YAAAA,eAyGNA,aAAaxvB,aAAe,CAC1BwuB,cAAUt0B,EACV01B,aAAc,CAAErvD,QAAS,GACzBsvD,iBAAiB,GAGnB,sBCxHavB,GAAU,kBAEjB1B,GAAUrC,GAAiB,CAC/B/jD,UAAW,kBACXkkD,WAAY,YACZE,WAAY,WAGRkF,SAAW,EAAGtB,SAAAA,EAAUC,YAAAA,MAC5B,SAA0C/sD,EAAAA,EAAAA,WAAS,GAAnD,WAAOgtD,EAAP,KAAsBC,EAAtB,KAEAC,IAA0B,KACxB,MAAMmB,EAAiBlB,gBAAkBC,GAAWH,EAAiBG,KAErE,OADApxD,SAASsD,KAAKgvD,UAAUC,IAAI,kCACrB,KACLF,IACAryD,SAASsD,KAAKgvD,UAAUrW,OAAO,sCAGnC,MAAMoV,EAAUjvB,IAAAA,CAAW,CACzB,0BAA0B,EAC1B,kCAAmC4uB,EACnC,8BAA+BA,IAE3BzB,EAAQyB,EAAgBM,GAAeC,GACvCC,EAAcR,EAAgB,QAAU,UACxCS,EAAiBT,EAA0B,QAAV,QACjCU,EAActvB,IAAAA,CAAW,CAC7B,6BAA6B,EAC7B,mCAAoC4uB,IAEhCW,EAAcX,EAAgB,QAAU,OAE9C,OACE,uBAAKz1D,UAAU,qCACb,uBAAKA,UAAW81D,EAAS33D,GAzBf,iBA0BR,gBAAC,EAAA0+C,KAAD,CAAMC,UAAQ,EAACuZ,WAAS,EAACzR,OAAK,EAAC5kD,UAAU,gBAAgB,cAAaq1D,IACpE,gBAAC,EAAAtY,IAAD,KACE,gBAAC,EAAAvW,IAAD,CAAKxmC,UAAU,mDACb,mCACEC,KAAM0zD,GAAQ,oBACd,cAAYv1D,EAAAA,EAAAA,GAAEU,GAAAA,WACVq2D,kBAAiB,KACnBlE,GAAAA,MAAAA,WAAwB,gBAG1B,uBAAKtpD,IAAKqsD,EAAOlY,KAAK19C,EAAAA,EAAAA,GAAEU,GAAAA,yBAA+BkB,UAAU,0BAGrE,gBAAC,EAAAwmC,IAAD,CAAKxmC,UAAU,8CACb,uBAAKA,UAAU,sCACb,gBAAC,GAAD,iBACMs2D,GAAAA,UADN,CAEExB,OAAQS,IAAa/C,GAAK9B,UAC1B7oB,QAAS,IAAM2tB,EAAYhD,GAAK9B,WAChCzd,OAAQ,IAAMuiB,EAAY,MAC1Bj1D,QAAS61D,MAGb,uBAAKp2D,UAAU,sCACb,gBAAC,GAAD,iBAAoBs2D,GAAAA,SAApB,CAA0C/1D,QAAS61D,EAAanjB,OAAQ,IAAMuiB,EAAY,UAE5F,uBAAKx1D,UAAU,4BACb,gBAAC,GAAD,iBACMs2D,GAAAA,cADN,CAEExB,OAAQS,IAAa/C,GAAKC,eAC1B5qB,QAAS,IAAM2tB,EAAYhD,GAAKC,gBAChCxf,OAAQ,IAAMuiB,EAAY,MAC1Bj1D,QAAS61D,OAIf,gBAAC,EAAA5vB,IAAD,CAAKxmC,UAAU,8CACb,gBAAC,EAAAU,OAAD,eACEH,QAAS21D,EACTz2D,MAAOw2D,EACPj2D,UAAWm2D,EACXl2D,KAAM0zD,GAAQ,8BAA+B,CAC3C5B,WAAY,gBAEVoD,kBAAiB,KACnBlE,GAAAA,MAAAA,WAAwB,kBAG1B,gBAAC,EAAAnxD,EAAD,CAAGU,KAAM1B,GAAAA,kBA5EnB+3D,SAAAA,YAAAA,WA2FNA,SAAS9vB,aAAe,CACtBwuB,cAAUt0B,GAGZ,kBCrGao0B,GAAU,iBAEjB1B,GAAUrC,GAAiB,CAC/B/jD,UAAW,kBACXkkD,WAAY,YACZE,WAAY,WAGR4E,4BAAe,EAAGhB,SAAAA,EAAUC,YAAAA,EAAaV,OAAAA,EAAQ0B,UAAAA,MACrD,SAA0C/tD,EAAAA,EAAAA,WAAS,GAAnD,WAAOgtD,EAAP,KAAsBC,EAAtB,KAGAC,IAA0B,KACxB,MAAMsB,EAAuBrB,gBAAkBC,GAAWH,EAAiBG,IAA9CD,GAI7B,OADAnxD,SAASsD,KAAKgvD,UAAUC,IAAI,kCACrB,KACLC,IACAxyD,SAASsD,KAAKgvD,UAAUrW,OAAO,sCAGnC,MAAM+V,EAAWhB,IAAkBX,EAC7Bd,EAAQyC,EAAWV,GAAeC,GAClCU,EAAeD,EAAW,QAAU,OAE1C,OACE,uBAAKz2D,UAAU,qCACb,uBACEA,UAAW6mC,IAAAA,CAAW,CACpB,0BAA0B,EAC1B,kCAAmC4uB,EACnC,8BAA+BA,EAC/B,qCAAsCX,IAExC32D,GAzBQ,wBA2BR,gBAAC,EAAA0+C,KAAD,CAAMC,UAAQ,EAACuZ,WAAS,EAACzR,OAAK,EAAC,cAAayQ,IAC1C,gBAAC,EAAAtY,IAAD,eACE/8C,UAAW6mC,IAAAA,CAAW,CACpB,YAAaiuB,EACb,yBAAyB,IAE3B7lD,KAAK,SACL63B,SAAS,IACT,eAAcguB,GACVK,kBAAiB,IAAMqB,GAAW1B,MAEtC,gBAAC,EAAAtuB,IAAD,CAAKxmC,UAAU,oCACb,uBAAK2H,IAAKqsD,EAAOlY,KAAK19C,EAAAA,EAAAA,GAAEU,GAAAA,yBAA+BkB,UAAU,qBACjE,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,YAAYd,MAAOi3D,GAElB5B,EACf,gBAAC,GAAAntB,cAAD,MAGA,gBAAC,GAAAD,gBAAD,SAMKotB,EAzBjB,CA0BI,gBAAC,GAAD,iBACMwB,GAAAA,UADN,CAEExB,OAAQS,IAAa/C,GAAK9B,UAC1B7oB,QAAS,IAAM2tB,EAAYhD,GAAK9B,WAChCnwD,QAAQ,OAJV,WAMA,gBAAC,GAAD,iBAAoB+1D,GAAAA,SAApB,CAA0C/1D,QAAQ,OAAlD,WACA,gBAAC,GAAD,iBACM+1D,GAAAA,cADN,CAEExB,OAAQS,IAAa/C,GAAKC,eAC1B5qB,QAAS,IAAM2tB,EAAYhD,GAAKC,gBAChClyD,QAAQ,OAJV,WAMA,gBAAC,EAAAw8C,IAAD,CAAK/8C,UAAU,kBAAf,SACE,gBAAC,KAAD,KACE,gBAAC,EAAAwmC,IAAD,CAAKx6B,GAAI,KAEX,gBAAC,EAAAw6B,IAAD,KACE,gBAAC,EAAA9lC,OAAD,eACEjB,MAAM,UACNQ,KAAM0zD,GAAQ,8BAA+B,CAC3C5B,WAAY,gBAEVoD,kBAAiB,KACnBlE,GAAAA,MAAAA,WAAwB,iBAN5B,CAQEjxD,UAAU,iCACV+Q,WAAS,IAET,gBAAC,EAAAjR,EAAD,CAAGU,KAAM1B,GAAAA,aAGb,gBAAC,KAAD,KACE,gBAAC,EAAA0nC,IAAD,CAAKx6B,GAAI,OA3DjB,SA7BFuqD,4BAAAA,YAAAA,eA6GNA,4BAAaxvB,aAAe,CAC1BwuB,cAAUt0B,EACV01B,aAAc,CAAErvD,QAAS,GACzBsvD,iBAAiB,GAGnB,qCCxIMC,kBAAWvsD,GACf,gCACE,gBAAC,KAAD,KACE,gBAAC,GAAeA,IAElB,gBAAC,KAAD,KACE,gBAAC,GAAcA,KANfusD,kBAAAA,YAAAA,WAWN,2BCDMK,OAAS,EAAG32D,QAAAA,EAAS42D,WAAAA,EAAYC,cAAAA,MACrC,SAAiC3uD,EAAAA,EAAAA,eAASw4B,GAA1C,WAAOs0B,EAAP,KAAiB8B,EAAjB,KACM7B,YAAc8B,IACKD,EAAnBC,IAAS/B,OAAuBt0B,EAClBq2B,IAIpB,OAFeC,uBAAiB5H,GAAQC,GAalC,gBAAC,GAAD,CACE2F,SAAUA,EACVC,YACAV,OAAQqC,EACRX,UAAWY,EACX72D,QAASA,IAhBjB,CAGM,gBAAC,KAAD,UACE,gBAAC,GAAD,CAAeg1D,SAAUA,EAAUC,YAA0Bj1D,QAASA,KAExE,gBAAC,KAAD,UACE,gBAAC,GAAD,CAAcg1D,SAAUA,EAAUC,YAA0BV,OAAQqC,EAAYX,UAAWY,OAf/FF,OAAAA,YAAAA,SAqCNA,OAAOnwB,aAAe,CACpBxmC,QAASivD,GAAYC,OAGvB,gB,eClDA,MAAM3wD,GACO,CACTX,GAAI,wBACJc,eAAgB,2CAChBC,YAAa,iFAJXJ,GAMa,CACfX,GAAI,8BACJc,eACE,sKAEFC,YAAa,4FAIXs4D,QAAU,EAAG7zD,UAAAA,EAAW8zD,iBAAAA,EAAkBjW,QAAAA,EAAS5gD,SAAAA,EAAU82D,cAAAA,MACjE,SAGIh1D,EAAAA,EAAAA,YAAWC,EAAAA,IAHf,IACEE,YAGI80D,EAAc,WAJpB,EACiBrc,aADjB,EAC4B14C,UAD5B,EACoC24C,MADpC,EAEE99C,IAAOqF,MAGT,GAA2C2F,EAAAA,EAAAA,WAAS,GAApD,WAAOmvD,EAAP,KAAsBC,EAAtB,KACMC,GAAiB1wD,EAAAA,EAAAA,QAAO,IAK9BC,EAAAA,EAAAA,YAAU,KACJuwD,EAAenzD,SAASsD,KAAKgvD,UAAUC,IAAI,yBAC1CvyD,SAASsD,KAAKgvD,UAAUrW,OAAO,2BACnC,CAACkX,IAEJ,MAAMG,EAAoBN,EAAiB1yD,WAAW,QAAU0yD,EAAoB,SAAQA,IAE5F,OACE,gBAAC,KAAD,CACEh4D,MAAM,QACNC,eAAa,EACbC,eAAgBi4D,EAChBh4D,OAAS,qBAAoB+D,IAC7B9D,UAAU,GACVsI,QAAQ,EACR6vD,OAAK,GAEL,gBAAC,KAAD,KACE,8BAAQ55D,EAAAA,EAAAA,GAAEU,KACV,wBAAMF,KAAK,cAAcmB,SAAS3B,EAAAA,EAAAA,GAAEU,MAEpC,wBAAMm5D,SAAS,iBAAiBl4D,SAAS3B,EAAAA,EAAAA,GAAEU,MAC3C,wBAAMm5D,SAAS,WAAWl4D,SAAS3B,EAAAA,EAAAA,GAAEU,MACrC,wBAAMm5D,SAAS,UAAUl4D,QAAQ,YACjC,wBAAMk4D,SAAS,SAASl4D,QAAS43D,IACjC,wBAAMM,SAAS,WAAWl4D,QAASg4D,IACnC,wBAAME,SAAS,iBAAiBl4D,QAAQ,SACxC,wBAAMk4D,SAAS,kBAAkBl4D,QAAQ,QAGzC,wBAAMnB,KAAK,eAAemB,QAAQ,wBAClC,wBAAMnB,KAAK,eAAemB,QAAQ,kBAClC,wBAAMnB,KAAK,gBAAgBmB,SAAS3B,EAAAA,EAAAA,GAAEU,MACtC,wBAAMF,KAAK,sBAAsBmB,SAAS3B,EAAAA,EAAAA,GAAEU,MAC5C,wBAAMF,KAAK,gBAAgBmB,QAASg4D,IAErBvW,EACb,wBAAM5iD,KAAK,SAASmB,QAAQ,YApBhC,KAuBiB23D,EACb,wBAAM,UAAQ,OAAOl0D,IAAI,YAAYvD,KAAMy3D,IAxB/C,MA2BA,gBAAC,GAAD,CAAQn3D,QAASivD,GAAYC,MAAO0H,WAAYS,EAAeR,cAhD1C,KACnBrzD,SAAW6zD,IAAeE,EAAexwD,QAAUvD,OAAO4uD,aAC9DkF,GAAmBD,MA+ChBh3D,IAzDD42D,QAAAA,YAAAA,UAsENA,QAAQzwB,aAAe,CACrBnmC,SAAU,KACV62D,iBAAkBS,GAClB1W,SAAS,EACTkW,cAAe,MAGjB,iBCjGa54D,GAAO,CAClBuO,MAAO,CACLlP,GAAI,sBACJc,eAAgB,wCAChBC,YAAa,kEAEfi5D,SAAU,CACRh6D,GAAI,yBACJc,eACE,uKAEFC,YAAa,yEAMXk5D,UAAY,KAChB,MAAMC,IAASt0D,OAAO+rD,wBAA0BrrD,SAASsrD,aACnD+F,EAAUjvB,IAAAA,CAAW,CACzB,iBAAkBwxB,EAClB,oBAAqBA,IAEvB,OACE,uBAAKr4D,UAAW81D,EAAS,cATN,aAUjB,sBAAI91D,UAAU,wBACZ,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAKuO,SAEhB,uBAAKrN,UAAU,2BACb,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAKq5D,cAZhBC,UAAAA,YAAAA,YAkBN,mBCvCME,GAASh6D,OAAO0C,OAAO,CAC3Bu3D,GAAI,KACJC,KAAM,OACNC,MAAO,QACPC,KAAM,SAoBFC,yBAA2B,CAACC,EAAOC,KACvC,MAAMC,EAAS,CAACD,EAAI1b,EAAIyb,EAAMzb,EAAG0b,EAAIzb,EAAIwb,EAAMxb,GACzC2b,EAVuB,EAACD,EAAQC,KACtC,MAAMC,EAVYF,CAAAA,IAClB,MAAMG,EAAoBH,EAAO,GAAK,EAChCI,EAAmBJ,EAAO,GAAK,EACrC,OAAIG,GAAqBC,EAAyB,EAC9CD,IAAsBC,EAAyB,GAC9CD,GAAqBC,EAAyB,EAC5C,GAIUC,CAAYL,GAC7B,OAAiB,IAAbE,GAAwB,EAAID,EACf,IAAbC,EAAuB,GAAKD,EAAY,GAC3B,IAAbC,EAAuB,IAAMD,EAC1B,IAAMA,GAKKK,CAAuBN,EAAQjjD,KAAKwjD,KAAKP,EAAO,GAAKA,EAAO,KAAO,IAAMjjD,KAAKyjD,KAChG,OAAIP,EAAY,KAAOA,GAAa,GAAWT,GAAOG,MAClDM,EAAY,IAAMA,GAAa,IAAYT,GAAOE,KAClDO,EAAY,KAAOA,GAAa,IAAYT,GAAOI,KAChDJ,GAAOC,IAGVgB,yBAA2B,CAACX,EAAOC,IAAQhjD,KAAK2jD,MAAM3jD,KAAK4jD,MAAMZ,EAAI1b,EAAIyb,EAAMzb,IAAM,GAAK0b,EAAIzb,EAAIwb,EAAMxb,IAAM,IC1B9Gsc,SAAW,EAAG94D,SAAAA,MAClB,SAA0C6H,EAAAA,EAAAA,UAAS,GAAnD,WAAOkxD,EAAP,KAAsBC,EAAtB,KACMC,GAAoBzyD,EAAAA,EAAAA,QAAO,CAAE+1C,EAAG,EAAGC,EAAG,IAC5C,OACE,uBAAKp9C,UAAU,4BACb,uBACEA,UAAU,kBACV85D,aAAc/7D,IACZ87D,EAAkBvyD,QAAU,CAC1B61C,EAAGp/C,EAAEg8D,QAAQ,GAAGzF,QAChBlX,EAAGr/C,EAAEg8D,QAAQ,GAAGxF,UAGpByF,WAAYj8D,IACV,MAAMk8D,EAAM,CACV9c,EAAGp/C,EAAEm8D,eAAe,GAAG5F,QACvBlX,EAAGr/C,EAAEm8D,eAAe,GAAG3F,SDYN,IAAC4F,EAAeC,EAAfD,ECVFN,EAAkBvyD,QDW5CiyD,yBAAyBY,EADkBC,ECVUH,ID1B5B,IAsCzBtB,yBAAyBwB,EAAeC,KAAiB9B,GAAOI,MCZHiB,EAAgB/4D,EAASqE,OAAS,EACrF20D,EAAiBD,EAAgB,GDaf,EAACQ,EAAeC,IAC5Cb,yBAAyBY,EAAeC,IAzCf,IA0CzBzB,yBAAyBwB,EAAeC,KAAiB9B,GAAOG,MCd7C4B,CAAeR,EAAkBvyD,QAAS2yD,IAAQN,GAC3DC,EAAiBD,EAAgB,KAIpCW,EAAAA,SAAAA,IAAa15D,GAAU,CAAC25D,EAAOC,KAC9B,MAAMC,EAAYD,IAAQb,EACpBe,EAA2B,IAAhBf,EACjB,OACE,uBACE35D,UAAW6mC,IAAAA,CAAW,CACpB,yBAAyB,EACzB,iCAAkC4zB,IAEpCjvB,MAAO,CAAEn5B,KAAO,IAAGqoD,OAElBH,SApCTb,SAAAA,YAAAA,WAiDN,kBCnDA,IAAIiB,GAEJ,MAAMC,aAAe33B,GACdA,EACE23B,aAAa33B,EAAQ43B,cAAgB53B,EAAQ63B,UAD/B,EAIjBC,gBAAkB93B,IAClBA,IACE03B,KACFK,aAAaL,IACbA,GAAU,MAEZA,GAAUzV,YAAW,KACnB,MAAM+V,EAASL,aAAa33B,GACxBl/B,OAAO4uD,cAAgBsI,IACzBh4B,EAAQi4B,QACRn3D,OAAOyqD,SAAS,EAAGyM,GACnBF,gBAAgB93B,MAEjB,OAIDk4B,OAAS,EAAG5xD,SAAAA,EAAU3I,SAAAA,EAAUZ,UAAAA,EAAW7B,GAAAA,MAC/C,MAAQi9D,EAAS7xD,EAAT6xD,KAUR,OATAzF,IAA0B,KACxB,GAAIyF,EAAM,CACR,MAAMC,EAASD,EAAKpwB,MAAM,GAC1B,GAAIqwB,IAAWl9D,EAAI,CACjB,MAAM8kC,EAAUx+B,SAASg8C,eAAe4a,GACxCN,gBAAgB93B,OAGnB,CAACriC,EAAUw6D,EAAMj9D,IAElB,gCACE,uBAAKA,GAAIA,EAAI6B,UAAWA,IACvBY,IAcPu6D,OAAOp0B,aAAe,CACpB/mC,UAAW,IAGb,UAAeg8C,EAAAA,EAAAA,IAAWmf,QClDpBG,YAAc,EAAGjuD,MAAAA,EAAO2mD,MAAAA,EAAOjsD,KAAAA,EAAMwzD,UAAAA,EAAW/uB,KAAAA,MACpD,MAAM6rB,EAAOd,uBAAiB5H,GAAQC,GAChC4L,EAAe30B,IAAAA,CAAW,CAC9B,mBAAoBwxB,EACpB,sBAAuBA,IAGzB,OACE,gBAAC,EAAAlS,KAAD,CAAMnmD,UAAWw7D,EAAcvtD,SAAS,EAAO,cAV5B,eAWjB,gBAAC,EAAA4uC,KAAD,CAAMC,UAAQ,EAACuZ,WAAS,EAACzR,OAAK,EAAC5kD,UAAU,aACvC,gBAAC,EAAA+8C,IAAD,CAAK/8C,UAAU,8BACb,gBAAC,EAAAwmC,IAAD,CACExmC,UAAW6mC,IAAAA,CAAW,CACpB,kCAAmCwxB,EACnC,qCAAsCA,KAGxC,uBAAKvc,IAAKzuC,EAAO1F,IAAKqsD,EAAOh0D,UAAU,6BAG3C,gBAAC,EAAA+8C,IAAD,CAAK/8C,UAAU,aACb,gBAAC,EAAA68C,KAAD,CAAMC,UAAQ,EAACuZ,WAAS,EAACzR,OAAK,EAAC5kD,UAAU,yBACvC,gBAAC,EAAA+8C,IAAD,CAAK/8C,UAAU,6BACb,gBAAC,EAAAwmC,IAAD,KACE,gBAAC,EAAAlmC,WAAD,CAAYC,QAAQ,YAAYP,UAAU,0BACvCqN,GAEH,yBACE,gBAAC,EAAA/M,WAAD,CAAYC,QAAQ,SAASE,UAAU,QACpCsH,MAKMwzD,GAAa/uB,EAC1B,gBAAC,EAAAuQ,IAAD,CAAK/8C,UAAU,kDACEu7D,EACb,gBAAC,EAAA/0B,IAAD,CAAKx6B,GAAI,GACP,gBAAC,EAAAtL,OAAD,eACEjB,MAAM,YACNc,QAAQ,QACRP,UAAU,8BACVC,KAAMs7D,EAAUt7D,KAChB6Q,SAAUyqD,EAAUzqD,SACpBC,WAAS,GACLokD,kBAAiB,KACfoG,EAAU1H,SAAS0H,EAAU1H,cAGlC0H,EAAU3qD,OAdnB,KAkBiB47B,EACb,gBAAC,EAAAhG,IAAD,CACExmC,UAAW6mC,IAAAA,CAAW,CACpB,YAAa00B,EACb,mCAAmC,KAGrC,gBAAC,EAAAj7D,WAAD,CAAYC,QAAQ,YAAYoR,MAAM,QACpC,mCACE1R,KAAMusC,EAAKvsC,MACPk1D,kBAAiB,KACf3oB,EAAKqnB,SAASrnB,EAAKqnB,cAGxBrnB,EAAK57B,QAhChB,MAdJ,UArBJ0qD,YAAAA,YAAAA,cAyFNA,YAAYv0B,aAAe,CACzBw0B,UAAW,KACX/uB,KAAM,MAGR,qBC5FMivB,gBAAkB,EAAGrH,SAAAA,EAAU/mD,MAAAA,EAAOnO,YAAAA,EAAaw8D,MAAAA,EAAOrL,OAAAA,KAE3C+D,EAASnvD,OACxB,gBAAC,GAAD,CACE9G,GAAIkyD,EACJrwD,UAAW6mC,IAAAA,CAAW,CACpB,+BAA+B,EAC/B,qCAAsC60B,KAGxC,gBAAC,EAAA7e,KAAD,CACEwZ,WAAS,EACTvZ,UAAQ,EACR8H,OAAK,EACL5kD,UAAW6mC,IAAAA,CAAW,CACpB,uBAAuB,EACvB,6BAA8B60B,IAEhC,cApBa,mBAsBb,uBAAK17D,UAAU,oCACf,gBAAC,KAAD,KACE,gBAAC,EAAA+8C,IAAD,KACE,gBAAC,EAAAvW,IAAD,CAAKxmC,UAAU,0CACb,gBAAC,EAAAM,WAAD,CAAYG,UAAU,KAAKT,UAAU,8BAClCqN,GAEH,gBAAC,EAAA/M,WAAD,CAAYN,UAAU,6BAA6Bd,MAIzD,gBAAC,EAAA69C,IAAD,KACE,gBAAC,KAAD,KACE,gBAAC,EAAAvW,IAAD,CAAK36B,GAAI,EAAG7L,UAAU,2CACpB,gBAAC,EAAAM,WAAD,CAAYG,UAAU,KAAKT,UAAU,8BAClCqN,GAEH,gBAAC,EAAA/M,WAAD,CAAYN,UAAU,6BAA6Bd,KAGvD,gBAAC,KAAD,KACE,gBAAC,EAAAsnC,IAAD,KACE,gBAAC,EAAAqW,KAAD,CAAMC,UAAQ,EAACuZ,WAAS,EAACzR,OAAK,GAC5B,gBAAC,EAAA7H,IAAD,KACGqX,EAAS72D,KAAI,CAACo+D,EAASnB,IACtB,gBAAC,EAAAh0B,IAAD,CAEE/iC,IAAM,GAAEk4D,EAAQ/8D,QAAQ47D,IACxB7uD,GAAI,EACJE,GAAI,EACJ7L,UAAU,iCAEV,gBAAC,GAAD,CACEqN,MAAOsuD,EAAQ/8D,KACfmJ,KAAM4zD,EAAQz8D,YACd80D,MAAO2H,EAAQ3H,MACfuH,UAAWI,EAAQ1H,QACnBznB,KAAMmvB,EAAQzH,wBAS9B,gBAAC,KAAD,KACE,gBAAC,EAAAnX,IAAD,KACE,gBAAC,EAAAvW,IAAD,KACE,gBAAC,GAAD,KACG4tB,EAAS72D,KAAI,CAACo+D,EAASnB,IACtB,gBAAC,GAAD,CAEE/2D,IAAM,GAAEk4D,EAAQ/8D,QAAQ47D,IACxBntD,MAAOsuD,EAAQ/8D,KACfmJ,KAAM4zD,EAAQz8D,YACd80D,MAAO2H,EAAQ3H,MACfuH,UAAWI,EAAQ1H,QACnBznB,KAAMmvB,EAAQzH,wBA9EZ,KAAlBuH,gBAAAA,YAAAA,kBAoGN,yB,eCzGO,MAAM38D,GAAO,CAClBuO,MAAO,CACLlP,GAAI,uBACJc,eAAgB,+CAChBC,YACE,8HAEJ08D,aAAc,CACZz9D,GAAI,8BACJc,eACE,wQAEFC,YAAa,qFAEf28D,aAAc,CACZ19D,GAAI,8BACJc,eAAgB,iEAChBC,YAAa,qFAEf48D,UAAW,CACT39D,GAAI,2BACJc,eAAgB,aAChBC,YAAa,oFAMXy0D,GAAUrC,GAAiB,CAC/B/jD,UAAW,kBACXkkD,WAAY,YACZE,WAAY,cAGRoK,eAAiBzuB,GACrB,gBAAC,EAAA9G,IAAD,CAAKxmC,UAAU,yBACb,uBAAKA,UAAU,iCACb,gBAAC,EAAAM,WAAD,CAAYN,UAAU,8BAA8BS,UAAU,MAC5D,gBAAC,EAAAX,EAAD,CAAGU,KAAM1B,GAAKuO,SAEhB,gBAAC,EAAA/M,WAAD,CAAYN,UAAU,6BAA6BS,UAAU,KAC3D,gBAAC,EAAAX,EAAD,CAAGU,KAAM1B,GAAK88D,gBAEhB,gBAAC,EAAAt7D,WAAD,CAAYN,UAAU,6BAA6BS,UAAU,KAC3D,gBAAC,EAAAX,EAAD,CAAGU,KAAM1B,GAAK+8D,gBAEhB,gBAAC,EAAAn7D,OAAD,CACET,KAAM0zD,GAAQ,4BAA6B,CACzC5B,WAAY,eAEd/xD,UAAU,4BACVmM,KAAMmhC,EAAW,UAAOrM,GAExB,gBAAC,EAAAnhC,EAAD,CAAGU,KAAM1B,GAAKg9D,eAnBhBC,eAAAA,YAAAA,iBAyBN,MAAMC,WAAa,IACjB,gBAAC,EAAAnf,KAAD,CAAMC,UAAQ,EAACuZ,WAAS,EAACzR,OAAK,EAAC5kD,UAAU,kBAAkB,cAlCtC,cAmCnB,gBAAC,KAAD,KACE,gBAAC,EAAA+8C,IAAD,KACE,gBAAC,EAAAvW,IAAD,CAAKxmC,UAAU,YACb,uBAAKA,UAAU,yBAAyB2H,IAAKs0D,GAAc,iBAAYngB,IAAI,MAE5EigB,gBAAe,GAChB,gBAAC,KAAD,KACE,gBAAC,EAAAv1B,IAAD,CAAK16B,GAAI,EAAGC,GAAI,OAItB,gBAAC,KAAD,KACE,gBAAC,EAAAgxC,IAAD,KAAMgf,gBAAe,IACrB,gBAAC,EAAAhf,IAAD,KACE,gBAAC,EAAAvW,IAAD,CAAKxmC,UAAU,YACb,uBAAKA,UAAU,yBAAyB2H,IAAKs0D,GAAc,iBAAYngB,IAAI,SAjB/EkgB,WAAAA,YAAAA,aAwBN,oBCzFaE,GAAc59D,OAAO0C,OAAO,CACvCm7D,GAAI,IACJC,GAAI,KACJC,GAAI,OAGOC,GAASh+D,OAAO0C,OAAO,CAClCu7D,OAAS,eAAcL,GAAYC,GAAK,OACxCK,OAAS,eAAcN,GAAYC,QACnCM,cAAgB,eAAcP,GAAYE,GAAK,OAC/CM,cAAgB,eAAcR,GAAYE,yBAAyBF,GAAYG,GAAK,OACpFM,cAAgB,eAAcT,GAAYG,QAC1CO,QAAU,eAAcV,GAAYE,UAGhCS,aAAe,EAAGC,OAAAA,EAAQl8D,SAAAA,MAC9B,MAAMolC,EAAIjiC,OAAOg5D,WAAWD,GAC5B,GAA8Br0D,EAAAA,EAAAA,UAASu9B,EAAEg3B,SAAzC,WAAOA,EAAP,KAAgBC,EAAhB,KAYA,OAXA51D,EAAAA,EAAAA,YAAU,KACR,MAAMqrD,EAAe,CACnB,SACA,KACE,MAAMwK,EAAYn5D,OAAOg5D,WAAWD,GAAQE,QACxCA,IAAYE,GAAWD,EAAWC,KAI1C,OADAn5D,OAAO6uD,oBAAoBF,GACpB,IAAM3uD,OAAO8uD,uBAAuBH,MAEtCsK,EAAUp8D,EAAW,MAG9Bi8D,aAAaM,UAAY,CACvBL,OAAQ15B,KAAAA,OAAAA,WACRxiC,SAAUwiC,KAAAA,MAGZy5B,aAAa91B,aAAe,CAC1BnmC,SAAU,MAGZ,MC1CM9B,GACM,CACRX,GAAI,iCACJc,eAAgB,wBAChBC,YAAa,kDAJXJ,GAMC,CACHX,GAAI,4BACJc,eAAgB,mBAChBC,YAAa,qDATXJ,GAWE,CACJX,GAAI,6BACJc,eAAgB,oBAChBC,YAAa,sDAdXJ,GAgBA,CACFX,GAAI,2BACJc,eAAgB,6BAChBC,YAAa,+DAnBXJ,GAqBQ,CACVX,GAAI,mCACJc,eAAgB,0BAChBC,YAAa,4DA4CjB,6BArC0B0I,MAAO8Q,EAAS,QAASvM,EAAO,QACxD,MAAMixD,EAAkB,OAATjxD,EACTkxD,SAAWz1D,MAAAA,SALD,EAAC01D,EAASF,IAC1BA,EAAS,QAAQ,KAAWE,aAAqB,OAAQ,KAAWA,SAI3BC,CAAUD,EAASF,IAAS1xD,QAErE,MAAe,UAAXgN,EACK,CACL,CACEva,GAAI,UACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRk1D,YAAaqJ,SAAS,aAExB,CACEl/D,GAAI,iBACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRk1D,YAAaqJ,SAAS,oBAGxB,CACEl/D,GAAI,WACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRk1D,YAAaqJ,SAAS,cAExB,CACEl/D,GAAI,mBACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRk1D,YAAaqJ,SAAS,YAExB,CACEl/D,GAAI,eACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRk1D,YAAaqJ,SAAS,mBAIrB,ICvDIv+D,GAAO,CAClBuO,MAAO,CACLlP,GAAI,uBACJc,eAAgB,sDAChBC,YACE,6HAMAs+D,WAAa,KACjB,SAA0B/0D,EAAAA,EAAAA,UAAS,MAAnC,WAAOg1D,EAAP,KAAcC,EAAd,KACA,GAAoCj1D,EAAAA,EAAAA,UAAS,MAA7C,WAAOk1D,EAAP,KAAmBC,EAAnB,MACAv2D,EAAAA,EAAAA,YAAU,KACR,MAAMqrD,EAAe,CACnB,SACA,KACyB3uD,OAAOg5D,WAAWT,GAAOC,QAAQS,SACnB,OAAfW,EAAqBC,EAAc,MACjC,OAAfD,GAAqBC,EAAc,QAKhD,OAFA75D,OAAO6uD,oBAAoBF,GAC3BmL,6BAAkB,QAASF,GAAY7/D,MAAKqC,GAAQu9D,EAASv9D,KACtD,IAAM4D,OAAO8uD,uBAAuBH,KAC1C,CAACiL,IACJ,MAAMtF,EAAOd,uBAAiB5H,GAAQC,GACtC,OACE,gBAAC,EAAA/S,KAAD,CAAMC,UAAQ,EAACuZ,WAAS,EAACzR,OAAK,EAAC5kD,UAAU,kBAAkB,cApBxC,cAqBjB,gBAAC,EAAA+8C,IAAD,CAAK/8C,UAAU,8BACb,gBAAC,KAAD,KACE,gBAAC,EAAAwmC,IAAD,CAAK16B,GAAI,EAAGC,GAAI,KAElB,gBAAC,EAAAy6B,IAAD,KACE,gBAAC,EAAAlmC,WAAD,CAAYqR,MAAM,SAASlR,UAAU,KAAKT,UAAU,0BAClD,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAKuO,UAGlB,gBAAC,KAAD,KACE,gBAAC,EAAAm5B,IAAD,CAAK16B,GAAI,EAAGC,GAAI,MAGL0xD,EACb,gBAAC,EAAA1gB,IAAD,KACG0gB,EAAMlgE,KAAI28C,GACT,gBAAC,EAAA1T,IAAD,CACE/iC,IAAKy2C,EAAK/7C,GACV6B,UAAW6mC,IAAAA,CAAW,CACpB,iCAAiC,EACjC,oCAAqCwxB,KAGvC,uBAAKr4D,UAAU,wBAAwB2H,IAAKuyC,EAAK8Z,MAAOlY,IAAK5B,EAAKt7C,WAxB5E,OAlBE4+D,WAAAA,YAAAA,aAmDN,oB,yoBCxEA,MAAMM,GAAUx/D,OAAO0C,OAAO,CAC5B,CAACsuD,GAAWC,UAAW,CAAC6E,EAAU2J,IAChCz/D,OAAOD,KAAK+1D,GAAUnwD,QAAO,CAAC+5D,EAAMC,IAC9BF,EAAar3B,SAASu3B,GAAyB,2CAAKD,GAAZ,IAAkB,CAACC,GAAkB7J,EAAS6J,KACnFD,GACN,MAuBP,OAPuB,CAAC5J,EAAU8J,IACzB5/D,OAAOD,KAAK6/D,GAAcj6D,QAC/B,CAAC+5D,EAAMG,IAAcL,GAAQK,GAAWH,EAAME,EAAaC,KAC3D/J,G,0rBCpBW,MAAMgK,GACnBtN,YAAYuN,GAAc,KAU1BljB,MAAQmD,IACN7D,KAAK6jB,QAAQ/7B,MAAK,IAAMkY,KAAK8jB,OAAOpjB,MAAMmD,KACnC7D,MAZiB,KAmB1B+jB,iBAAmB,KACjB/jB,KAAK6jB,QAAQ/7B,MAAKpiC,IAChBs6C,KAAKgkB,IAAL,2EAAgBhkB,KAAKgkB,KAAQt+D,MAExBs6C,MAvBiB,KA8B1BikB,4BAA8B,KAC5BjkB,KAAK6jB,QAAQ/7B,MAAKpiC,IAChBs6C,KAAKgkB,IAAL,2EAAgBhkB,KAAKgkB,KAAQt+D,EAAKA,SAE7Bs6C,MAlCiB,KAyC1Bl9C,IAAMyyD,IACJvV,KAAK6jB,QAAQ/7B,KAAKytB,GACXvV,MA3CiB,KAmD1BkkB,KAAO3O,IACLvV,KAAK6jB,QAAQ/7B,MAAK,IAAI+b,KACpB0R,KAAW1R,GACJA,KAEF7D,MAxDiB,KAgE1BlJ,MAAQye,IACN,MAAM4O,EAAWnkB,KAAKokB,cAAc55D,OAASw1C,KAAKokB,cAAcpkB,KAAKokB,cAAc55D,OAAS,GAAG65D,MAAM,GAAK,EAK1G,OAJArkB,KAAKokB,cAAct8B,KAAK,CACtBu8B,MAAO,CAACF,EAAUnkB,KAAK6jB,QAAQr5D,QAC/B+qD,QAAAA,IAEKvV,MAtEiB,KA8E1BskB,QAAUn3D,MAAAA,IACR,IAAIo3D,EACJ,IAAK,IAAIjwB,EAAI,EAAGA,EAAI0L,KAAK6jB,QAAQr5D,OAAQ8pC,GAAK,EAC5C,IAEEiwB,QAAevkB,KAAK6jB,QAAQvvB,GAAGiwB,EAAQvkB,KAAKgkB,KAC5C,MAAOjtB,GACP,IAAIytB,GAAU,EACd,IAAK,IAAIC,EAAI,EAAGA,EAAIzkB,KAAKokB,cAAc55D,OAAQi6D,GAAK,EAAG,CACrD,MAAMC,EAAe1kB,KAAKokB,cAAcK,GACxC,GAAInwB,GAAKowB,EAAaL,MAAM,IAAM/vB,EAAIowB,EAAaL,MAAM,GAAI,CAC3DE,EAASG,EAAanP,QAAQxe,EAAKwtB,EAAQvkB,KAAKgkB,KAChDQ,GAAU,EAEVlwB,EAAIowB,EAAaL,MAAM,GACvB,OAGJ,IAAKG,EAAS,MAAMztB,EAIxBwe,EAAQgP,EAAQvkB,KAAKgkB,MAnGrBhkB,KAAK8jB,OAASF,EACd5jB,KAAK6jB,QAAU,GACf7jB,KAAKokB,cAAgB,GACrBpkB,KAAKgkB,IAAM,I,eCaR,MAAM3/D,GAAO,CAClBsgE,cAAe,CACbjhE,GAAI,8BACJc,eAAgB,sBAChBC,YAAa,qFAEfi0D,gBAAiB,CACfh1D,GAAI,gCACJc,eAAgB,mBAChBC,YAAa,yFAEfmgE,yBAA0B,CACxBlhE,GAAI,yCACJc,eACE,sKAEFC,YAAa,wFAEfogE,2BAA4B,CAC1BnhE,GAAI,2CACJc,eACE,8MAEFC,YAAa,oGAEfqgE,WAAY,CACVphE,GAAI,2BACJc,eAAgB,cAChBC,YAAa,8EAEf48D,UAAW,CACT39D,GAAI,0BACJc,eAAgB,aAChBC,YAAa,uFAEfsgE,UAAW,CACTrhE,GAAI,0BACJc,eAAgB,aAChBC,YAAa,qGAEfugE,SAAU,CACRthE,GAAI,yBACJc,eAAgB,aAChBC,YAAa,qGAEfwgE,qBAAsB,CACpBvhE,GAAI,qCACJc,eAAgB,wBAChBC,YAAa,4DAEfygE,gCAAiC,CAC/BxhE,GAAI,gDACJc,eACE,wHACFC,YAAa,sEAIX+xD,GAAS6B,QAAUrC,GAAYC,WAC/BkP,GAAW9M,QAAUrC,GAAYG,sBACjC+C,GAAUrC,GAAiB,CAC/B/jD,UAAW,kBACXkkD,WAAY,YACZE,WAAY,sBAGRkO,oBAAsBC,IAAW,CACrClhE,MAAMR,EAAAA,EAAAA,GAAEU,GAAKsgE,eACblgE,aAAad,EAAAA,EAAAA,GAAEU,GAAKugE,0BACpBlL,SAAU,EACVC,SAAU,CACR,CACEx1D,MAAMR,EAAAA,EAAAA,GAAEU,GAAK4gE,sBACbxgE,aAAad,EAAAA,EAAAA,GAAEU,GAAK6gE,iCACpB3L,MAAO+L,GACP9L,QAAS,CACPh0D,KAAM0zD,GAAQ,4BAA6B,CACzC5B,WAAY+N,EAAQ7gE,eACpB0yD,WAAY,cAEd/gD,MAAMxS,EAAAA,EAAAA,GAAE0hE,GACRjM,QAAS,IAAM5C,GAAO+O,MAAMT,WAAW,mBAEzCrL,cAAe,CACbj0D,KAAM0zD,GAAQ,4CAA6C,CACzD5B,WAAY,eAEdnhD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAKg9D,WACbjI,QAAS,IAAM5C,GAAO+O,MAAMlE,UAAU,uBAMxCmE,IAAM,EAAG12D,SAAAA,EAAU22D,kBAAAA,MACvB,SAAuBz3D,EAAAA,EAAAA,UF7GqBc,CAAAA,IAC5C,IAAKA,EAAU,MAAO,GACtB,MAAM42D,EAAe,IAAIlvB,gBAAgB1nC,EAASs0C,QAC5CqgB,EAAe,GACfkC,EAAkB9hE,OAAO42C,OAAOoa,IAMtC,OALA6Q,EAAav7D,SAAQ,CAAC+E,EAAOlG,KACvB28D,EAAgB15B,SAASjjC,IAAQkG,IACnCu0D,EAAaz6D,GAAOkG,EAAMhF,MAAM,KAAKpH,KAAI4/C,GAAKA,EAAElU,aAG7Ci1B,GEmGyBmC,CAA+B92D,IAAxD20D,EAAP,YACMoC,EAAqBC,OAAeL,EAAmBhC,GACvDsC,EAAoBliE,OAAOD,KAAKiiE,GAStC,OARAE,EAAkB31B,MAAK,CAAC41B,EAAMC,KAC5B,MAAMC,EAAYL,EAAmBG,GAAMtM,SACrCyM,EAAYN,EAAmBI,GAAMvM,SAC3C,OAAIwM,MAAAA,EAAsD,EACtDC,MAAAA,GAAuD,EACpDD,EAAYC,KAInB,gBAAC,EAAA/jB,KAAD,CAAMC,UAAQ,EAACuZ,WAAS,EAACzR,OAAK,EAAC5kD,UAAU,oBACvC,gBAAC,EAAA+8C,IAAD,KACE,gBAAC,EAAAvW,IAAD,KACE,gBAAC,GAAD,QAGHg6B,EAAkBjjE,KAAI,CAACsjE,EAAOrG,IACd8F,EAAmBO,GAAOzM,SAASnvD,OAChD,gBAAC,EAAA83C,IAAD,CACEt5C,IAAM,wBAAuB68D,EAAmBO,GAAOjiE,OACvDoB,UAAU,0CAEV,gBAAC,EAAAwmC,IAAD,KACE,gBAAC,GAAD,CACEn5B,MAAOizD,EAAmBO,GAAOjiE,KACjCM,YAAaohE,EAAmBO,GAAO3hE,YACvCk1D,SAAUkM,EAAmBO,GAAOzM,SACpCsH,MAAe,IAARlB,EACPnK,OAAQwQ,MAZK,OAkBvB,gBAAC,EAAA9jB,IAAD,KACE,gBAAC,EAAAvW,IAAD,KACE,gBAAC,GAAD,QAGJ,gBAAC,EAAAuW,IAAD,KACE,gBAAC,EAAAvW,IAAD,KACE,gBAAC,GAAD,UA5CJy5B,IAAAA,YAAAA,MA2DNA,IAAIl5B,aAAe,CACjBx9B,SAAU,MAGZ,MA6BMu3D,GAAcxiE,OAAO0C,OAAO,CAChC+/D,QAAS,UACT3uB,MAAO,QACP4uB,KAAM,SAGFC,QAAU,EAAG13D,SAAAA,EAAUg1D,OAAAA,EAAQ2C,YAAAA,MACnC,MACUj3B,GACNvnC,EAAAA,EAAAA,YAAWC,EAAAA,IADbqnC,KAAQC,gBAEJk3B,GAAc/5D,EAAAA,EAAAA,UACpB,GAAoCqB,EAAAA,EAAAA,UAASq4D,GAAYC,SAAzD,WAAOK,EAAP,KAAmBC,EAAnB,KACMvB,GAAU14D,EAAAA,EAAAA,QAAOtI,GAAK2gE,UA0B5B,IAAI6B,EAyBJ,OAlDAj6D,EAAAA,EAAAA,YAAU,IAAMu4D,GAAS2B,YAAY,KACrCl6D,EAAAA,EAAAA,YAAU,KACR,IAAI+2D,GAAuBG,GACxBpjB,MAAM,CAAEA,MAAOqmB,GAAAA,UACf9C,8BACAntB,OAAMC,IAEL,MADA6vB,EAAcP,GAAY1uB,OACpBZ,KAEP2J,MAAM,CAAEA,MAAOsmB,GAAAA,OACf/C,8BAGAntB,OAAM,IAAM,OACZwtB,SAAQ,CAAC2C,EAAG9rB,KACX,MACoB+rB,EAEhB/rB,EAFF+rB,QAAW1nB,MACXjQ,EACE4L,EADF5L,KAEI43B,IAAqB53B,GAAOA,EAAK63B,YAAYD,mBACnD9B,EAAQx4D,QAAU2iC,GAAmB23B,EAAqB9iE,GAAKygE,WAAazgE,GAAK2gE,SACjF0B,EAAY75D,QA/DD,EAACq6D,EAAS7B,IAC3B6B,EAAQpkE,KAAIgB,IACH,CACLK,KAAML,EAAO8O,MACbnO,YAAaX,EAAOW,YACpB80D,MAAOz1D,EAAOy1D,MACdC,QAAS,CACPh0D,KAAM0zD,GAAS,qBAAoBp1D,EAAOJ,KAAM,CAC9C4zD,WAAY+N,EAAQ7gE,iBAEtB2R,MAAMxS,EAAAA,EAAAA,GAAE0hE,GACRjM,QAAS,KACP5C,GAAO+O,MAAMT,WAAWhhE,EAAO8O,OAC/BuyD,GAASI,MAAMT,WAAWhhE,EAAOsJ,KAAMtJ,EAAOujE,WAGlD5N,cAAe,CACbj0D,KAAM0zD,GAAQp1D,EAAO8E,MAAM0+D,cAAe,CACxChQ,WAAY,eAEdnhD,MAAMxS,EAAAA,EAAAA,GAAEU,GAAKg9D,WACbjI,QAAS,KACP5C,GAAO+O,MAAMlE,UAAUv9D,EAAO8O,OAC9BuyD,GAASI,MAAMlE,kBAwCKkG,CAAWL,EAAS7B,EAAQx4D,SAClD+5D,EAAcP,GAAYE,YAK9BM,EADEF,IAAeN,GAAYC,QAE3B,uBAAK/gE,UAAU,4BACb,gBAAC,EAAA0/C,eAAD,CAAgBvzC,KAAK,KAAK+rC,YAAU,KAG/BkpB,IAAeN,GAAY1uB,MAC5B,gBAAC,KAAD,MAGN,gBAAC6tB,IAAD,CACE12D,SAAUA,EACV22D,kBAAmB,CACjB,CAAC/Q,GAAiBC,UAAWyQ,oBAAoBC,EAAQx4D,SACzD,CAAC6nD,GAAiBE,kBAAmB,CACnCzwD,MAAMR,EAAAA,EAAAA,GAAEU,GAAKq0D,iBACbj0D,aAAad,EAAAA,EAAAA,GAAEU,GAAKwgE,4BACpBnL,SAAU,EACVC,SAAU+M,EAAY75D,YAO9B,gBAAC,GAAD,CACE3D,UAAU,OACVu9D,YAAaA,EACbxJ,cAAc,2DAEb4J,IA/DDL,QAAAA,YAAAA,UA+ENA,QAAQl6B,aAAe,CACrBx9B,SAAU,KACV23D,aAAa,GAGf,UAAellB,EAAAA,EAAAA,KAAWimB,EAAAA,GAAAA,IAAWhB,UCzS/BiB,GAA4BpV,EAAAA,gBAE5BqV,kCAAoC,EAAGC,mBAAoBC,EAAezhE,SAAAA,MAC9E,SAAqD6H,EAAAA,EAAAA,UAAS45D,GAA9D,WAAOD,EAAP,KAA2BE,EAA3B,MACAj7D,EAAAA,EAAAA,YAAU,KACRi7D,EAAuBD,KACtB,CAACA,IAMJ,OACE,gBAACH,GAA0B/3D,SAA3B,CACER,MAAO,CACLy4D,mBAAAA,EACAG,sBARwBC,IAC5BF,EAAuBE,MAUpB5hE,IAjBDuhE,kCAAAA,YAAAA,oCA2BNA,kCAAkCp7B,aAAe,CAC/Cq7B,mBAAoB,I,qCCjCf,MAAMK,GAAgB,gBAChBC,GAAW,WACXC,GAAkB,kBAClBC,GAAiB,iBACjBC,GAAc,cACdC,GAAc,cACdC,GAAS,SAETC,GAAiB,CAC5B,CAAE7kE,GAAI,EAAGwL,MAAO84D,GAAe7xD,KAAM,mBACrC,CAAEzS,GAAI,EAAGwL,MAAO+4D,GAAU9xD,KAAM,YAChC,CAAEzS,GAAI,EAAGwL,MAAOg5D,GAAiB/xD,KAAM,cACvC,CAAEzS,GAAI,EAAGwL,MAAOi5D,GAAgBhyD,KAAM,kBACtC,CAAEzS,GAAI,EAAGwL,MAAOk5D,GAAajyD,KAAM,eACnC,CAAEzS,GAAI,EAAGwL,MAAOm5D,GAAalyD,KAAM,eACnC,CAAEzS,GAAI,EAAGwL,MAAOo5D,GAAQnyD,KAAM,WAGnBqyD,GAAyB,CAACR,GAAeC,GAAUC,IACnDO,GAA6B,CAACN,GAAgBC,GAAaC,GAAaC,IACxEI,GAA8B,CAACV,GAAeC,ICf9CU,cAAgB,EAAG55B,MAAAA,EAAO65B,sBAAAA,EAAuBC,WAAAA,EAAYC,aAAAA,KACxE,uBAAKvjE,UAAU,iCACF,IAAVwpC,GACC,gBAAC,EAAA9oC,OAAD,CACEV,UAAU,uCACVmM,KAAK,KACL5L,QAAQ,OACRsnC,QAAS,IAAMy7B,EAAW95B,GAC1B1C,SAAS,MAET,wBAAM9mC,UAAU,6CACd,gBAAC,GAAAwjE,YAAD,QAILh6B,IAAU65B,EAAwB,GACjC,gBAAC,EAAA3iE,OAAD,CACEV,UAAU,uCACVmM,KAAK,KACL5L,QAAQ,OACRsnC,QAAS,IAAMy7B,EAAW95B,GAAO,GACjC1C,SAAS,MAET,wBAAM9mC,UAAU,6CACd,gBAAC,GAAAyjE,cAAD,QAILJ,EAAwB,GACvB,gBAAC,EAAA3iE,OAAD,CACEV,UAAU,uCACVmM,KAAK,KACL5L,QAAQ,OACRsnC,QAAS,IAAM07B,EAAa/5B,GAC5B1C,SAAS,MAET,wBAAM9mC,UAAU,6CACd,gBAAC,GAAA0jE,MAAD,SArCGN,cAAAA,YAAAA,gBAmDbA,cAAcr8B,aAAe,CAC3ByC,MAAO,EACP65B,sBAAuB,EACvBC,WAAY,OACZC,aAAc,QAGhB,MC1DaI,aAAe,EAC1Bn6B,MAAAA,EACAo6B,eAAAA,EACAC,WAAAA,EACAC,cAAAA,EACAC,YAAAA,EACAT,WAAAA,EACAC,aAAAA,EACAS,mBAAAA,KAEA,gBAAC,EAAAp2D,UAAD,CAAW,cAAc,0BAAyB47B,IAAS/lC,IAAM,YAAWogE,KAAcr6B,EAAQ,IAAK5D,GAAI,GACzG,gBAAC,EAAAq+B,WAAD,CACEjkE,UAAY,0BAAkC,IAAVwpC,EAAc,8BAAgC,IAClFz4B,WAAS,EACT5E,KAAK,KACL2E,SAAU8yD,GAEV,gBAAC,EAAAh2D,UAAD,CAAW5N,UAAU,mCACnB,gBAAC,EAAAkkE,MAAD,CACE/lE,GAAK,YAAW0lE,WAAoBr6B,EAAQ,IAC5CxpC,UAAU,mDACV+Q,WAAS,EACT5E,KAAK,KACLxC,MAAOo6D,EACPrzB,YAAY,eACZrN,MAAiB,IAAVmG,EAAc,eAAYvI,EACjC6W,SAAUvJ,GAASy1B,EAAmBx6B,EAAO+E,GAC7Cz9B,SAAU8yD,IAEZ,gBAAC,EAAAO,gBAAD,KACE,gBAACf,cAAD,CACE55B,MAAOA,EACP65B,sBAAuBS,EACvBR,WAAYA,EACZC,aAAcA,QAlCbI,aAAAA,YAAAA,eAqDbA,aAAa58B,aAAe,CAC1ByC,MAAO,EACPo6B,gBAAgB,EAChBC,WAAY,EACZC,cAAe,EACfC,YAAa,GACbT,WAAY,OACZC,aAAc,OACdS,mBAAoB,QAGtB,sBChEaI,WAAa,EACxB56B,MAAAA,EACAo6B,eAAAA,EACAC,WAAAA,EACAC,cAAAA,EACAO,OAAAA,EACAf,WAAAA,EACAC,aAAAA,EACAS,mBAAAA,EACAM,kBAAAA,KAEA,gBAAC,EAAA12D,UAAD,CACE,cAAc,wBAAuB47B,IACrC/lC,IAAM,YAAWogE,KAAcr6B,EAAQ,IACvCxpC,UAAU,uCACV4lC,GAAI,GAEJ,uBAAK5lC,UAAU,YACb,gBAAC,EAAA4N,UAAD,CAAW5N,UAAU,gEACnB,gBAAC,EAAAkkE,MAAD,CACE/lE,GAAK,YAAW0lE,WAAoBr6B,EAAQ,IAC5CxpC,UAAU,mDACV+Q,WAAS,EACT5E,KAAK,KACLxC,MAAO06D,EAAOA,OACd3zB,YAAY,eACZrN,MAAiB,IAAVmG,EAAc,eAAYvI,EACjC6W,SAAUvJ,GAASy1B,EAAmBx6B,EAAO+E,GAC7Cz9B,SAAU8yD,KAGd,gBAAC,EAAAh2D,UAAD,CAAW5N,UAAU,2CACnB,gBAAC,EAAAkkE,MAAD,CACE/lE,GAAK,YAAW0lE,UAAmBr6B,EAAQ,IAC3CxpC,UAAU,mDACV+Q,WAAS,EACT5E,KAAK,KACLxC,MAAO06D,EAAOE,MACd7zB,YAAY,IACZrN,MAAiB,IAAVmG,EAAc,aAAUvI,EAC/B6W,SAAUvJ,GAAS+1B,EAAkB96B,EAAO+E,GAC5Cz9B,SAAU8yD,KAGd,gBAAC,EAAAh2D,UAAD,CAAW5N,UAAU,2CACnB,gBAAC,EAAAmkE,gBAAD,KACE,gBAACf,cAAD,CACE55B,MAAOA,EACP65B,sBAAuBS,EACvBR,WAAYA,EACZC,aAAcA,QAlDba,WAAAA,YAAAA,aAyEbA,WAAWr9B,aAAe,CACxByC,MAAO,EACPo6B,gBAAgB,EAChBC,WAAY,GACZC,cAAe,EACfO,OAAQ,CACNA,OAAQ,GACRE,MAAO,IAETjB,WAAY,OACZC,aAAc,OACdS,mBAAoB,OACpBM,kBAAmB,QAGrB,MCpFME,eAAiB,EAAGC,SAAAA,EAAUC,WAAAA,EAAYC,eAAAA,EAAgBC,cAAAA,EAAehB,eAAAA,MAC7E,MAAMI,mBAAqB,CAACxJ,EAAKjsB,KAC/B,MAAMs2B,EAAkBC,IAAAA,CAAUL,GAC5BM,EAAU,IAAIF,EAAgBE,SACpCA,EAAQvK,GAAK6J,OAAS91B,EAAMmI,OAAO/sC,MAEnCk7D,EAAgBE,QAAUA,EAC1BJ,EAAeE,IAGXvB,WAAa,CAAC9I,EAAKwK,KACvB,GAAY,IAARxK,IAAcwK,EAChB,OAEF,GAAIxK,IAAQiK,EAASM,QAAQ9/D,OAAS,GAAK+/D,EACzC,OAGF,MAAMH,EAAkBC,IAAAA,CAAUL,GAC5BM,EAAU,IAAIF,EAAgBE,SAE9BV,EAASU,EAAQvK,GACjB3rD,EAAKm2D,EAAOxK,EAAM,EAAIA,EAAM,EAClCuK,EAAQE,OAAOzK,EAAK,GACpBuK,EAAQE,OAAOp2D,EAAI,EAAGw1D,GAEtBQ,EAAgBE,QAAUA,EAC1BJ,EAAeE,IAGXtB,aAAe/I,IACnB,MAAMqK,EAAkBC,IAAAA,CAAUL,GAC5BM,EAAU,IAAIF,EAAgBE,SACpCA,EAAQE,OAAOzK,EAAK,GAEpBqK,EAAgBE,QAAUA,EAC1BJ,EAAeE,IAYXP,kBAAoB,CAAC9J,EAAKjsB,KAC9B,MAAM22B,EAAM32B,EAAMmI,OAAO/sC,MAAMF,QAAQ,WAAY,IAC7Co7D,EAAkBC,IAAAA,CAAUL,GAC5BM,EAAU,IAAIF,EAAgBE,SACpCA,EAAQvK,GAAK+J,MAAQW,EAErBL,EAAgBE,QAAUA,EAC1BJ,EAAeE,IAGjB,OACE,gBAAC,EAAAj3D,UAAD,CAAW,cAAY,kBACpB62D,EAASM,QAAQ9/D,OAAS2/D,GACzB,uBAAK5kE,UAAU,wBAAf,kDAEG4kE,EAFH,iBAMDH,EAASM,QAAQxnE,KAAI,CAAC8mE,EAAQ76B,KAC7B,GAAIA,EAAQo7B,EAAe,CACzB,MAAMzmE,EAAM,MAAKsmE,EAAStmE,aAAaqrC,IACvC,OACE,uBAAK/lC,IAAKtF,GACsB,SAAfumE,EACb,gBAAC,GAAD,CACEl7B,MAAOA,EACPo6B,eAAgBA,EAChBC,WAAYY,EAAStmE,GACrB2lE,cAAeW,EAASM,QAAQ9/D,OAChC8+D,YAAaM,EAAOA,OACpBf,WACAC,aACAS,qBAVN,KAagC,SAAfU,EACb,gBAACN,WAAD,CACE56B,MAAOA,EACPo6B,eAAgBA,EAChBC,WAAYY,EAAStmE,GACrB2lE,cAAeW,EAASM,QAAQ9/D,OAChCo/D,OAAQA,EACRf,WACAC,aACAS,mBACAM,oBAvBN,MA6BJ,OAAO,QAERG,EAASM,QAAQ9/D,OAAS2/D,IAAkBhB,GAC3C,gBAAC,EAAAljE,OAAD,CAAQyL,KAAK,KAAK5L,QAAQ,OAAOsnC,QAAS,IAhE9B,MAChB,MAAMg9B,EAAkBC,IAAAA,CAAUL,GAC5BM,EAAU,IAAIF,EAAgBE,SACpCA,EAAQxiC,KAAK,CAAE8hC,OAAQ,GAAIE,MAAO,KAElCM,EAAgBE,QAAUA,EAC1BJ,EAAeE,IA0DqCM,GAAanlE,UAAU,gCACrE,gBAAC,GAAAolE,eAAD,MADF,YAvGFZ,eAAAA,YAAAA,iBAwINA,eAAez9B,aAAe,CAC5B09B,SAAU,CACRtmE,GAAI,GACJsmE,SAAU,GACVY,aAAc5C,GACdsC,QAAS,CACP,CAAEV,OAAQ,GAAIE,MAAO,IACrB,CAAEF,OAAQ,GAAIE,MAAO,IACrB,CAAEF,OAAQ,GAAIE,MAAO,KAEvBe,IAAK,EACLC,IAAK,IACLC,eAAe,EACfj1B,UAAU,EACVk1B,OAAO,EACPC,WAAW,GAEbhB,WAAY,OACZC,eAAgB,OAChBC,cAAe,GACfhB,gBAAgB,GAGlB,wBCtKM+B,GAA4B,CAChC,CACEC,SAAUzC,GACV0C,WAAY,GACZC,cAAe,CACb,CACE3nE,GAAI,WACJklC,MAAO,mBAGX0iC,cAAc,IAIZC,GAA8B,CAClC,CACEJ,SAAU3C,GACV4C,WAAY,GACZC,cAAe,CACb,CACE3nE,GAAI,WACJklC,MAAO,mBAGX0iC,cAAc,GAEhB,CACEH,SAAU1C,GACV4C,cAAe,CAAC,IAChBC,cAAc,IAWLE,mBAAqB,CAACC,EAASxB,KAC1C,IAEIE,EAFAuB,EAAgB,GAChBC,EAAwB,GAG5B,MAAMC,EAA0BH,GAZMxB,CAAAA,GACnB,SAAfA,EACKiB,GAEFK,GAQmCM,CAAyB5B,GAcnE,OAZA2B,EAAuBzhE,SAAQ,EAAGghE,SAAAA,EAAW,GAAIC,WAAAA,EAAY/0D,SAAAA,MACrC80D,EAASlxB,OAAMwwB,GAAOjC,GAAuBv8B,SAASw+B,MACvDW,IACnBjB,EAAgBiB,GAEd/0D,EACFs1D,EAAwBA,EAAsBva,OAAO+Z,GAErDO,EAAgBA,EAActa,OAAO+Z,MAIlC,CACLW,qBAAsBJ,EACtBC,sBAAAA,EACAjW,OAAQkW,EACRzB,cAAAA,IAIS4B,YAAc,CAACC,EAAK7jE,KAC/BmB,OAAO2iE,OAAOC,YAAYF,EAAK7jE,ICtE3BgkE,GAAe,CACnBC,QAAS,UACTC,UAAW,YACXC,UAAW,YACXC,OAAQ,SACRC,KAAM,OACNC,OAAQ,SACRC,KAAM,QAGR,MC4DaC,kBAAoB,CAAC3C,EAAUC,GAAc0B,sBAAAA,EAAwB,OAChF,MAAMlvB,EAAS,GAkBf,MAnDkC,GAAGmuB,aAAAA,EAAclnE,GAAAA,GAAM+4C,EAAQkvB,KAC5Df,GACHnuB,EAAO3U,KAAK,CACV24B,MAAQ,YAAW/8D,IACnBk5C,QAAS,yDAIT+uB,EAAsB1/B,SAAS2+B,IACjCnuB,EAAO3U,KAAK,CACV24B,MAAQ,YAAW/8D,IACnBk5C,QAAS,oDAuBbgwB,CAAqB5C,EAAUvtB,EAAQkvB,GAEb,KAAtB3B,EAASA,UACXvtB,EAAO3U,KAAK,CACV24B,MAAQ,YAAWuJ,EAAStmE,KAC5Bk5C,QAAS,+BAIT4rB,GAAuBv8B,SAAS+9B,EAASY,eA3BG,GAAGlnE,GAAAA,EAAI4mE,QAAAA,GAAWL,EAAYxtB,KAC1E6tB,EAAQ3hE,QAAO,EAAGihE,OAAAA,KAAwB,KAAXA,IAAep/D,OAAS,GACzDiyC,EAAO3U,KAAK,CACV24B,MAAQ,YAAW/8D,YACnBk5C,QAAS,sCAIM,SAAfqtB,GAA6E,IAApDK,EAAQ3hE,QAAO,EAAGmhE,MAAAA,KAAYA,EAAQ,IAAGt/D,QACpEiyC,EAAO3U,KAAK,CACV24B,MAAQ,YAAW/8D,WACnBk5C,QAAS,sDAiBXiwB,CAAmC7C,EAAUC,EAAYxtB,GAGvDutB,EAASY,eAAiBtC,IAjEU,GAAGuC,IAAAA,EAAKC,IAAAA,EAAKpnE,GAAAA,GAAM+4C,KAC3D,GACU,KAARouB,GACQ,KAARC,GACAl7B,SAASi7B,EAAK,IAAM,KACpBj7B,SAASk7B,EAAK,IAAM,KACpBl7B,SAASi7B,EAAK,KAAO,KACrBj7B,SAASk7B,EAAK,KAAO,KACrBl7B,SAASi7B,EAAK,KAAOj7B,SAASk7B,EAAK,IACnC,CACA,MAAMgC,EAAmB,KAARhC,GAAcA,EAAM,KAAWA,GAAO,IAAU,OAAS,OAC1EruB,EAAO3U,KAAK,CACV24B,MAAQ,YAAW/8D,IAAKopE,IACxBlwB,QAAS,mDAqDXmwB,CAA2B/C,EAAUvtB,GAGhCA,GAGT,oBA1FiC,KACxB,CACL/4C,IAAI,IAAIspE,MAAOC,qBAAqBC,WACpClD,SAAU,GACVY,aAAc5C,GACd6C,IAAK,EACLC,IAAK,IACLh1B,UAAU,EACVk1B,OAAO,EACPC,WAAW,EACXX,QAAS,CACP,CAAEV,OAAQ,GAAIE,MAAO,IACrB,CAAEF,OAAQ,GAAIE,MAAO,IACrB,CAAEF,OAAQ,GAAIE,MAAO,OCbdqD,kBAAoB,CAACC,EAAc,MAC9C,GAA2B,kBAAvBA,EAAYC,QAAqD,oBAAvBD,EAAYC,OAA8B,CACtF,MAAM/C,EAAU,GAShB,OARA8C,EAAY9C,QAAQgD,QAAQnjE,SAAQojE,IAClC,MAAM3D,EAAS,CAAEA,OAAQ2D,EAAOp3D,KAAM2zD,MAAO,IACzCyD,EAAOC,eACT5D,EAAOE,MAAQyD,EAAOC,aAAa1D,MAAMoD,YAE3C5C,EAAQxiC,KAAK8hC,MAGRU,EAGT,MAAO,IAGImD,uBAAyB,CAACJ,EAAQhG,EAASqG,EAAiB,MACvE,MAAMC,EAAkC,aAAZtG,GAAsC,qBAAZA,EAAiCW,GAAgBC,GACvG,OAAQoF,GACN,IAAK,gBACH,OAAOM,EACT,IAAK,kBACH,MAAO,kBACT,IAAK,aACH,GAAgB,WAAZtG,EACF,MAAoC,WAAhCqG,EAAeE,aACVtF,GAEFH,GAET,GAAgB,UAAZd,EACF,OAAOe,GAET,MACF,IAAK,SACH,GACc,WAAZf,GACgC,UAAhCqG,EAAeE,cACoB,SAAnCF,EAAeG,gBAEf,OAAOxF,GAET,MACF,QACE,OAAOsF,EAGX,OAAO,M,spBCvCF,MAsIMG,iBAAmB,CAAC9D,EAAU1yD,EAAUy2D,EAAQC,KAC3D,MAAMC,EAvI4B7gE,CAAAA,IAClC,OAAQA,GACN,KAAK46D,GACH,MAAO,CAAEqF,OAAQ,gBAAiBhG,QAAS,YAC7C,KAAKY,GACH,MAAO,CAAEoF,OAAQ,gBAAiBhG,QAAS,QAC7C,KAAKa,GACH,MAAO,CAAEmF,OAAQ,kBAAmBhG,QAAS,YAC/C,KAAKc,GACH,MAAO,CAAEkF,OAAQ,aAAchG,QAAS,UAC1C,KAAKe,GACH,MAAO,CAAEiF,OAAQ,aAAchG,QAAS,SAC1C,KAAKgB,GACH,MAAO,CAAEgF,OAAQ,SAAUhG,QAAS,UACtC,KAAKiB,GACH,MAAO,CAAE+E,OAAQ,aAAchG,QAAS,UAC1C,QACE,MAAO,CAAEgG,OAAQ,gBAAiBhG,QAAS,cAsHzB6G,CAAqBlE,EAASY,cAEpD,IAAIwC,EAAc,uDAChBC,OAAQY,EAAcZ,OACtBhG,QAAS4G,EAAc5G,SACnB2G,GAA2B,IAC5B,CACDG,SAAU,CACR,CACEC,QAASpE,EAASA,WAGtB1yD,SAAAA,IA+BJ,cA3BO81D,EAAY5nE,YACZ4nE,EAAYiB,OAEdrE,EAASgB,QACZoC,EAAY1pE,GAAKsmE,EAAStmE,IAG5B0pE,EA7E4B,EAACpD,EAAUoD,KACvC,MAAMkB,EAAkB,8BAAKlB,GAY7B,OAVIpD,EAASl0B,SACXw4B,EAAgBx4B,SAAW,CACzB3/B,KAAM,uBACN/I,KAAM48D,EAASY,eAAiB1C,GAAkB,WAAa,MAC/DjhC,OAAQ,YAGHqnC,EAAgBx4B,SAGlBw4B,GAgEOC,CAAevE,EAAUoD,IAEnC5E,GAAuBv8B,SAAS+9B,EAASY,eAAiBZ,EAASY,eAAiBvC,MACtF+E,EAAY9C,QA5Ie,EAACN,EAAW,GAAI+D,GAAS,KACtD,IAAIS,EAAe,KACnB,GAAIhG,GAAuBv8B,SAAS+9B,EAASY,cAAe,CAC1D,MAAM0C,EAAU,GAChB,IAAIh2D,EAAW,EACf0yD,EAASM,QAAQngE,SAAQy/D,IACvB,GAAIA,EAAOA,OAAQ,CACjB,MAAM2D,EAAS,CACbp3D,KAAMyzD,EAAOA,OACb6E,SAAS,EACTn3D,SAAAA,GAEEy2D,IACFR,EAAOC,aAAe,CACpB1D,MAAOF,EAAOE,MAAQl6B,SAASg6B,EAAOE,MAAO,IAAM,IAGvDwD,EAAQxlC,KAAKylC,GACbj2D,GAAY,MAGhBk3D,EAAe,CACblB,QAAAA,QAEOtD,EAASY,eAAiBvC,KACnCmG,EAAe,CACbE,KAAM,CACJ,CACED,SAAS,EACTt4D,KAAM,GACNmB,SAAU,IAGdg2D,QAAS,CACP,CACEqB,OAAQ,EACRx4D,KAAM,IAER,CACEw4D,OAAQ,EACRx4D,KAAM,IAER,CACEw4D,OAAQ,EACRx4D,KAAM,IAER,CACEw4D,OAAQ,EACRx4D,KAAM,IAER,CACEw4D,OAAQ,EACRx4D,KAAM,OAKd,OAAOq4D,GAmFiBI,CAAgB5E,EAAU+D,IAGlDX,EAnEoC,EAACpD,EAAUoD,KAC/C,MAAMkB,EAAkB,8BAAKlB,GAS7B,OARIpD,EAASY,eAAiBvC,KAC5BiG,EAAgBO,gBAAkB,CAChCjB,aAAc,QACdC,gBAAiB,QAEnBS,EAAgBQ,gBAAiB,GAG5BR,GAyDOS,CAAuB/E,EAAUoD,GAE/CA,EAxDsC,EAACpD,EAAUoD,KACjD,MAAMkB,EAAkB,8BAAKlB,GAoB7B,OAnBIpD,EAASY,eAAiBtC,KAC5BgG,EAAgBO,gBAAkB,CAChCG,YAAc,GAAEhF,EAASc,OAAS,MAClC8C,aAAc,SACdqB,eAAgB,CACdC,kBAAmB,EACnBC,UAAW,GAEbC,WAAa,GAAEpF,EAASa,OAAS,KAGnCyD,EAAgBe,WAAa,CAC3BC,SAAU,GACVzE,IAAKb,EAASa,IAAMj7B,SAASo6B,EAASa,IAAK,IAAM,EACjD10D,KAAM,mDACN20D,IAAKd,EAASc,IAAMl7B,SAASo6B,EAASc,IAAK,IAAM,IACjD19D,KAAM,YAGHkhE,GAmCOiB,CAAyBvF,EAAUoD,GAE7CW,GAAUvF,GAAuBv8B,SAAS+9B,EAASY,gBACrDwC,EAAYI,aAAe,CACzBgC,iBAAiB,EACjBC,SAAU,CACRC,aAAc,uBACdC,eAAgB,wBAKfvC,GC7LIwC,eAAiB,EAAGC,OAAAA,EAAQ5F,WAAAA,EAAYl5B,MAAAA,KAChC,SAAfk5B,EACK,CACL4F,OAAAA,EACAC,aAAc,EACdC,kBAAmB,GACnB9rE,MAAO,CAAC,QACR+rE,aAAc/F,EACdgG,WAAW,EACXC,yBAAyB,EACzBC,wBAAwB,EACxBC,wBAAwB,EACxBr/B,MAAAA,GAGG,CACL8+B,OAAAA,EACAC,aAAc,GACdC,kBAAmB,GACnB9rE,MAAO,CAAC,SAAU,QAClB+rE,aAAc/F,EACdgG,WAAW,EACXC,yBAAyB,EACzBC,wBAAwB,EACxBC,wBAAwB,EACxBr/B,MAAAA,G,soBCmBJ,MAAMs/B,UAAY,EAAGvzB,MAAAA,MACnB,SAAsD70C,EAAAA,EAAAA,YAAWw/D,IAAzDE,EAAR,EAAQA,mBAAoBG,EAA5B,EAA4BA,sBAE1BwI,EAUE3I,EAVF2I,eACAC,EASE5I,EATF4I,iBACAx/B,EAQE42B,EARF52B,MACA8+B,EAOElI,EAPFkI,OACAW,EAME7I,EANF6I,qBACAC,EAKE9I,EALF8I,WACAtH,EAIExB,EAJFwB,eACAuH,EAGE/I,EAHF+I,mBACAC,EAEEhJ,EAFFgJ,aACAC,EACEjJ,EADFiJ,eAEIC,EAAqBL,EAAuBC,EAAa3zB,EAAMgO,OAAO+lB,mBAEtEC,EAAqBlB,eAAe,CAAEC,OAAAA,EAAQ5F,WAAY4G,EAAoB9/B,MAAAA,IAGlFo/B,EAKEW,EALFX,uBACAC,EAIEU,EAJFV,uBACAF,EAGEY,EAHFZ,wBACca,EAEZD,EAFFhB,aACA7rE,EACE6sE,EADF7sE,MAGF,GAAoB+J,EAAAA,EAAAA,UAAS8iE,GAAtBE,EAAP,YAEA,GAA0ChjE,EAAAA,EAAAA,UAAS6hE,GAAnD,WAAOoB,EAAP,KAAsBC,EAAtB,KAEA,GAAkCljE,EAAAA,EAAAA,UAAS,CAACmjE,wBAA5C,WAAOC,EAAP,KAAkBC,EAAlB,KAEA,GAAsCrjE,EAAAA,EAAAA,UAAS6hE,GAAUA,EAAOj9D,OAAhE,WAAO0+D,EAAP,KAAoBC,EAApB,KAEA,GAAoCvjE,EAAAA,EAAAA,UAAS6iE,GAA7C,WAAO5G,EAAP,KAAmBuH,EAAnB,KAEA,GAAgExjE,EAAAA,EAAAA,WAAS,GAAzE,WAAOyjE,EAAP,KAAiCC,EAAjC,KAEA,GAAsC1jE,EAAAA,EAAAA,UAAS,kBAA/C,WAAO2jE,EAAP,KAAoBC,EAApB,KAEMC,EAA6C,IAA/BhuE,OAAOD,KAAKisE,GAAQrlE,OAElCsnE,EAAOtB,IAAyBqB,EAEtC,GAAsD7jE,EAAAA,EAAAA,UAAS,IAA/D,YAAO+jE,GAAP,MAA4BC,GAA5B,MAEA,IAA0BhkE,EAAAA,EAAAA,UAASw9D,mBAAmBoF,EAAgBC,IAA/DoB,GAAP,aAEA,IAAoDjkE,EAAAA,EAAAA,WAAS,GAA7D,aAAOkkE,GAAP,MAA6BC,GAA7B,MAEMC,IAA0Bv+B,EAAAA,EAAAA,cAC9Bw+B,IACE,MAAMC,EAAgB,GAChBC,EAAuB,GACzBT,GAAQO,IACVA,EAAWpzB,MAAM90C,SAAQ+0C,IACvBA,EAAKkyB,UAAUjnE,SAAQ6/D,IACrB,MAAMwI,EHhDgB,EAACxI,EAAUiH,KACpC,CACLvtE,GAAIsmE,EAAStmE,IAAMsmE,EAASyI,YAC5BzI,SAAUA,EAASmE,SAAS,GAAGC,QAC/BxD,aAAc6C,uBAAuBzD,EAASqD,OAAQrD,EAAS3C,QAAS2C,EAAS6E,iBACjFvE,QAAS6C,kBAAkBnD,GAC3Ba,IAAKb,EAASqF,WAAarF,EAASqF,WAAWxE,IAAM,EACrDC,IAAKd,EAASqF,WAAarF,EAASqF,WAAWvE,IAAM,IACrDC,eAAe,EACfj1B,WAAYk0B,EAASl0B,SACrBk1B,MAAOiG,QAAsCzqC,IAArByqC,EAAcvtE,GACtCunE,WAAW,EACXyH,gBAAiB1I,EAAS1yD,WGoCRq7D,CAAmB3I,EAAUiH,GACnCuB,IACEP,GAAgBtG,sBAAsB1/B,SAASumC,EAAE5H,gBACnD4H,EAAEI,aAAc,EAChBT,IAAoB,IAGtBG,EAAcxqC,KAAK0qC,GACnBD,EAAqBzqC,KAAKkiC,UAIhCqH,EAAaiB,GACbN,GACEO,EAAqB/oE,QAAO,CAAC1G,EAAKknE,KAChC,MAAM6I,EAAS/vE,EAIf,OAHIknE,EAAStmE,KACXmvE,EAAO7I,EAAStmE,IAAMsmE,GAEjB6I,IACN,QAIT,CAACf,EAAMb,EAAegB,MAGxBrlE,EAAAA,EAAAA,YAAU,KACRwlE,GAAwBvC,GACxBqB,EAAiBrB,KAChB,CAACiC,EAAMM,GAAyBvC,IAEnC,MACEiD,GAcE/hC,EAdF+hC,UACAtX,GAaEzqB,EAbFyqB,YACAuX,GAYEhiC,EAZFgiC,gBACAC,GAWEjiC,EAXFiiC,qBACAC,GAUEliC,EAVFkiC,yBACAC,GASEniC,EATFmiC,WACAC,GAQEpiC,EARFoiC,eACAC,GAOEriC,EAPFqiC,yBARF,GAeIriC,EANFsiC,+BAAAA,QATF,OASmC,cATnC,GAUEC,GAKEviC,EALFuiC,qBACAC,GAIExiC,EAJFwiC,iBACAC,GAGEziC,EAHFyiC,sBACAC,GAEE1iC,EAFF0iC,sBACAC,GACE3iC,EADF2iC,2BAGF9mE,EAAAA,EAAAA,YAAU,KACR,MAAM+mE,EAAO3pE,SAAS4pE,gBAEtBD,EAAK5iC,MAAM8iC,YAAY,oBAAqBf,IAC5Ca,EAAK5iC,MAAM8iC,YAAY,sBAAuBrY,IAC9CmY,EAAK5iC,MAAM8iC,YAAY,oBAAqBd,IAC5CY,EAAK5iC,MAAM8iC,YAAY,+BAAgCb,IACvDW,EAAK5iC,MAAM8iC,YAAY,6BAA8BZ,IACrDU,EAAK5iC,MAAM8iC,YAAY,qBAAsBX,IAC7CS,EAAK5iC,MAAM8iC,YAAY,yBAA0BV,IACjDQ,EAAK5iC,MAAM8iC,YAAY,mCAAoCT,IAC3DO,EAAK5iC,MAAM8iC,YAAY,yCAA0CR,IACjEM,EAAK5iC,MAAM8iC,YAAY,+BAAgCP,IACvDK,EAAK5iC,MAAM8iC,YAAY,2BAA4BN,IACnDI,EAAK5iC,MAAM8iC,YAAY,gCAAiCL,IACxDG,EAAK5iC,MAAM8iC,YAAY,gCAAiCJ,IACxDE,EAAK5iC,MAAM8iC,YAAY,oCAAqCH,IAA6B,aACxF,CACDZ,GACAtX,GACAuX,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,KAGF,MAGA,IAAkC1lE,EAAAA,EAAAA,WAAS,GAA3C,aAAO8lE,GAAP,MAAkBC,GAAlB,MACA,IAAkC/lE,EAAAA,EAAAA,UAAS,IAA3C,aAAOgmE,GAAP,MAAkBC,GAAlB,MACA,IAAkCjmE,EAAAA,EAAAA,eAASw4B,GAC3C,IADA,cACkDx4B,EAAAA,EAAAA,UAAS,KAA3D,aAAOkmE,GAAP,MAA0BC,GAA1B,MAEMC,UAAY,KAChB,IAAK9C,GAA8B,SAAfrH,EAClB,MAAO,CAAExJ,MAAO,cAAe7jB,QAAS,6BAG1C,IAAK,IAAI8F,EAAI,EAAGA,EAAI0uB,EAAU5mE,OAAQk4C,GAAK,EAAG,CAC5C,MAAMsnB,EAAWoH,EAAU1uB,GAErB2xB,EAAiB1H,kBAAkB3C,EAAUC,EAAYgI,IAC/D,GAAIoC,EAAe7pE,OAAS,EAC1B,OAAO6pE,EAAe,GAI1B,OAAO,MAGHC,WAAa,EAAGC,eAAAA,MACpB,IAAIC,EAAa,GAEjB,MAAQC,EFpBqB,EAACrD,EAAWnH,KAC3C,MAAMwK,EAAkB,GAMxB,OALArD,EAAUjnE,SAAQ,CAAC6/D,EAAU1yD,KAC3B,MAAMo9D,EAAiB5G,iBAAiB9D,EAAU1yD,EAAW,EAAkB,SAAf2yD,GAEhEwK,EAAgB3sC,KAAK4sC,MAEhB,CAAED,gBAAAA,IEaqBE,CAAkBvD,EAAWnH,GAAjDwK,gBAERD,EAAa,CACXI,OAAQL,IAAmBpL,EAAiB,YAAc,QAC1D0L,UAAW,GACXhF,OAAQ,CACNj9D,MAAO0+D,EACPryB,MAAO,CACL,CACEmyB,UAAWqD,KAIjBpJ,cAAe4G,GAAgBvc,OAAO2V,eAExCU,YAAa,GAAEvwB,KAAKC,UAAU+4B,KAAe7D,IAWzCmE,GAAa,+BAEb5K,eAAiB6K,IACrB,MAAMzG,EAAkB,iDAAKyG,GAAR,IAAmB9J,WAAW,IAC7C+J,EAAgB5D,EAChB6D,EAAaD,EAAcE,WAAU1C,GAAKA,EAAE9uE,KAAO4qE,EAAgB5qE,KACrEuxE,GAAc,IAChBD,EAAcC,GAAc3G,EAC5B+C,EAAa,IAAI2D,KAGf9E,GACFoE,aAGF,MAAMa,EAAanrE,SAAS+C,cAAc,sDACtCooE,GACFA,EAAW7Y,UAAUrW,OAAO6uB,KAyE1BM,aAAe,CAACpL,EAAUO,KAC9B,MAAM+H,EAAgBlB,EAChBiE,EAAO/C,EAAc4C,WAAU1C,GAAKA,EAAE9uE,KAAOsmE,EAAStmE,KACtD0Q,EAAKm2D,EAAO8K,EAAO,EAAIA,EAAO,EACpC/C,EAAc9H,OAAO6K,EAAM,GAC3B/C,EAAc9H,OAAOp2D,EAAI,EAAG41D,GAC5BqH,EAAa,IAAIiB,KAGbgD,WAAaC,IACjB,GAAIA,GAAUA,EAAO9U,MAAO,CAC1B,MAAMjU,EAAQxiD,SAASg8C,eAAeuvB,EAAO9U,OAC7CjU,EAAMiU,QACNjU,EAAM8P,UAAUC,IAAIuY,IAEtBf,IAAa,GACbE,GAAasB,EAASA,EAAO34B,QAAU,KAGnC44B,aAAe,EAAGjB,eAAAA,MACtB,MAAME,EAAkB,GAClBh4B,EAAS23B,YACf,GAAI33B,EAEF,YADA64B,WAAW74B,GAGbs3B,IAAa,GAEb,MAAMc,EAAY,GAElBzD,EAAUjnE,SAAQ,CAAC6/D,EAAU1yD,KAC3B,MAAMm+D,EAAkB1D,GAAoB/H,EAAStmE,KAAO,KACtDgxE,EAAiB5G,iBAAiB9D,EAAU1yD,EAAW,EAAkB,SAAf2yD,EAAuBwL,IAEnFzL,EAAS0I,kBAAoBgC,EAAep9D,UAAY0yD,EAASiB,WAAajB,EAASgB,SACzF6J,EAAU/sC,KAAKkiC,EAAStmE,IACxB+wE,EAAgB3sC,KAAK4sC,OAIzBR,GAAkB/pE,SAAQurE,IACxBb,EAAU/sC,KAAK4tC,EAAiBhyE,OAGlC,MAAMkxE,ELxWyB,EAACzL,EAAgB0L,EAAW/C,IACzD3I,EACKgD,GAAaE,UAElByF,EACK3F,GAAaI,OAEG,IAArBsI,EAAUrqE,OACL2hE,GAAaG,UAEfH,GAAaK,KK8VHmJ,CAAoBxM,EAAgB0L,EAAW/C,GAExD0C,EAAa,CACjBI,OAAQL,GAAkBK,EAC1BC,UAAAA,EACAhF,OAAQ,CACNnsE,GAAIutE,EAAcvtE,GAClBkP,MAAO0+D,EACPryB,MAAO,CACL,CACEmyB,UAAWqD,KAIjBpJ,cAAe4G,GAAgBvc,OAAO2V,eAExCU,YAAa,GAAEvwB,KAAKC,UAAU+4B,KAAe7D,IAazCxwB,aAAe,EAAGo0B,eAAAA,EAAiB,IAAO,MACrB,IAArBnD,EAAU5mE,SAIdorE,aAAaC,WAAW,2BACpB/D,GAAQb,EAAcvtE,GACxB8xE,aAAa,CAAEjB,eAAAA,IAjBA,GAAGA,eAAAA,MACpB,MAAM93B,EAAS23B,YACX33B,EACF64B,WAAW74B,IAGbs3B,IAAa,GACbO,WAAW,CAAEC,eAAAA,MAYXuB,CAAW,CAAEvB,eAAAA,MAIXwB,aAAepwE,IACnB,GAAmB,cAAf8qE,EACFmB,EAAe,2BACfF,GAA4B,QACvB,GAAIlB,GAAwBrH,EAAgB,CACjD,MAAMqL,EAAa,CACjBI,OAAQjvE,GAEVomE,YAAa,GAAEvwB,KAAKC,UAAU+4B,KAAe7D,GAC7CiF,aAAaC,WAAW,2BACxB/N,EAAsB,iDACjBH,GADgB,IAEnB8I,WAAY,GACZD,sBAAsB,EACtBrH,gBAAgB,EAChB0G,OAAQ,MAEV+B,EAAe,iBACfF,GAA4B,QAE5BE,EAAe,iBACfF,GAA4B,IAM1BsE,iBAAmB,IACtB5E,GAAkC,IAArBA,EAAU5mE,QAAkBumE,GAAiBK,GAAaA,EAAU5mE,OAASumE,EAE7F,OACE,gBAAC,EAAA59D,UAAD,CAAW,cAAY,YAAY5N,UAAU,IAC3C,gBAAC,EAAA68C,KAAD,CAAM78C,UAAU,gBAAgB88C,UAAQ,GACtC,gBAAC,EAAAC,IAAD,CAAK/8C,UAAU,qBAAqB2lC,GAAI,GACtC,gBAAC,EAAAa,IAAD,CAAKxmC,UAAU,0BACEksE,EACb,gBAAC,KAAD,CAAUr9D,GAAIu9D,IAFlB,KAIE,gBAAC,EAAAx+D,UAAD,CAAW+3B,GAAI,EAAG+qC,GAAI,GACpB,gBAAC,EAAAhwE,OAAD,CACEV,UAAU,6BACVmM,KAAK,KACL5L,QAAQ,OACRsnC,QAAS,IAAM2oC,aAAa5J,GAAAA,OAE5B,gBAAC,GAAA+J,cAAD,MANF,SAUF,gBAAC,EAAA/iE,UAAD,CAAWgjE,GAAI,GACb,gBAAC,EAAAtwE,WAAD,CAAYC,QAAQ,aAApB,UAEG+qE,MAKT,gBAAC,EAAAvuB,IAAD,CAAK/8C,UAAU,yBACb,gBAAC,EAAAwmC,IAAD,CAAKxmC,UAAU,mCACb,gBAAC,EAAA6wE,MAAD,CAAOpxE,MAAM,OAAOmzC,UAAQ,EAACwU,KAAMulB,GAAsBhmB,QAAS,IAAMimB,IAAoB,IAA5F,kGACkG,IAChG,wBAAM5sE,UAAU,yBAAhB,6EAGA,wBAAMA,UAAU,0BACd,qBAAGC,KAAK,2DAA2Dy2C,OAAO,SAASlzC,IAAI,cAAvF,WADF,uEAKE,qBACEvD,KAAK,qEACLy2C,OAAO,SACPlzC,IAAI,cAHN,eAVJ,KAoBeioE,EAAUf,UACvB,gBAAC,EAAA98D,UAAD,CAAW5N,UAAU,6BAA6B8wE,GAAI,GACnDpyE,GAASA,EAAMuG,QAAU,IACS,IAAlBumE,EACb,gBAAC,EAAAuF,MAAD,CAAO5kE,KAAK,MAAZ,QAEA,gBAAC,EAAA4kE,MAAD,CAAO5kE,KAAK,MACV,gBAAC,EAAA6kE,OAAD,CACEjgE,WAAS,EACT5E,KAAK,KACLnM,UAAU,kEACV2J,MAAO+6D,EACP5sB,SAnRS/5C,IAC7BkuE,EAAcluE,EAAE24C,OAAOu6B,WAAWtnE,MAAMA,OAEpCghE,GACFoE,cAgRkBj+D,SAAUy7D,GAAQ3I,GAEjBllE,EAAMnB,KAAI2zE,GAEP,gBAAC,EAAAC,OAAD,CAAQ1tE,KAAK2tE,EAAAA,GAAAA,MAAQznE,MAAOunE,EAAoBhoC,eAC7CgoC,SAvCrB,KAiDqB,IAAlB1F,GACC,gBAAC,EAAA59D,UAAD,CAAWg4B,GAAI,GACb,gBAAC,EAAAs+B,MAAD,CACE/lE,GAAG,cACH6B,UAAU,cACV+Q,WAAS,EACT5E,KAAK,KACLk3B,MAAM,QACN15B,MAAOoiE,GAAe,GACtBr7B,YAAY,qBACZoH,SAxNgB/5C,IAC9BiuE,EAAejuE,EAAE24C,OAAO/sC,OAEpBghE,GACFoE,aAGF,MAAMa,EAAanrE,SAAS+C,cAAc,sDACtCooE,GACFA,EAAW7Y,UAAUrW,OAAO6uB,KAgNhBz+D,SAAU8yD,KAIfiI,GACCA,EAAUtuE,KAAI,CAACknE,EAAUj7B,KACvB,MAAM6nC,EAAc,YAAW5M,EAAStmE,KACxC,OACE,gBAAC,EAAAyP,UAAD,CACEnK,IAAM,sBAAqBghE,EAAStmE,MAAMqrC,EAAQ,IAClD5D,GAAIimC,GAAaA,EAAU5mE,OAAS,IAAMukC,EAAQ,EAAI,GAEnC,IAAlBgiC,IAAwB5H,GACvB,gCACE,2BACA,gBAAC,EAAAh2D,UAAD,CAAW5N,UAAU,gCAAgC4lC,GAAI,GACvD,gBAAC,EAAAtlC,WAAD,CAAYG,UAAU,MAAMF,QAAQ,aAClC,wBAAMP,UAAU,wBAAhB,KAA0CwpC,EAAQ,GAClD,gBAAC,EAAAiZ,KAAD,CACE2E,KA/WX,MAgXWpnD,UAAU,eACVmoC,UAAU,eACVwa,SAAO,EACPvD,OAAK,EACLwD,YACE,gBAAC,EAAAliD,OAAD,CAAQV,UAAU,2BAA2BmM,KAAK,KAAK5L,QAAQ,QAC7D,gBAAC,GAAA+wE,SAAD,QAIJ,gBAAC,EAAAxuB,SAAD,CAAUjb,QAAS,IArQxB48B,CAAAA,IAChBA,EAASgB,MAEP,CACL,MAAM8L,EAAwB5C,GACxB6C,EAAoB3F,EAAUzoE,QAAO6pE,GAAKA,EAAE9uE,KAAOsmE,EAAStmE,KAC7DsmE,EAASgB,OACZ8L,EAAsBhvC,KAAKkiC,GAE7BqH,EAAa,IAAI0F,IACjB5C,GAAqB,IAAI2C,MA2PwBE,CAAehN,IAAxC,mBACW,IAAVj7B,GACC,gBAAC,EAAAsZ,SAAD,CAAUjb,QAAS,IAAMgoC,aAAapL,GAAU,IAAhD,oBAEDoH,GAAaA,EAAU5mE,OAAS,IAAMukC,GACrC,gBAAC,EAAAsZ,SAAD,CAAUjb,QAAS,IAAMgoC,aAAapL,GAAU,IAAhD,0BAOZ,gBAAC,EAAA72D,UAAD,CAAWg4B,GAAI,GACb,gBAAC,EAAAorC,OAAD,CACEjgE,WAAS,EACT5E,KAAK,KACLnM,UAAU,+BACV2J,MAAO86D,EAASY,aAChBvtB,SAAUvJ,GAjUC,EAACihC,EAAWzxE,KAC3C,MAAM2zE,EAAclC,EACZ7lE,EAAU5L,EAAE24C,OAAOu6B,WAAWtnE,MAA9BA,MACR+nE,EAAYrM,aAAe17D,EAC3Bg7D,eAAe+M,IA6TwBC,CAAyBlN,EAAUl2B,GACtDz9B,SAAWy7D,IAAS9H,EAASgB,OAAU7B,GX/iB/B,EAACuC,EAAgB,KAAOnD,GAAe5/D,QAAO6pE,GAAK9G,EAAcz/B,SAASumC,EAAEtjE,SWijBnFioE,CAAiBlF,GAAgBnG,sBAAsBhpE,KAAI8nE,GAExD,gBAAC,EAAA8L,OAAD,CACE1tE,IAAK4hE,EAAalnE,GAClBwL,MAAO07D,EAAa17D,MACpBmH,SAAU47D,GAAgBtG,sBAAsB1/B,SAAS2+B,EAAa17D,QAErE07D,EAAaz0D,UAMxB,gBAAC,EAAAhD,UAAD,CAAWg4B,GAAI,GACb,gBAAC,EAAAs+B,MAAD,CACE/lE,GAAIkzE,EACJrxE,UAAU,qDACV+Q,WAAS,EACT5E,KAAK,KACLk3B,MAAM,WACN15B,MAAO86D,EAASA,SAChB/zB,YAAY,iBACZoH,SAAUvJ,GAnVH,EAACihC,EAAWjhC,KACvC,MAAMmjC,EAAclC,EACpBkC,EAAYjN,SAAWl2B,EAAMmI,OAAO/sC,MACjB,SAAf+6D,GACFsH,EAAe0F,EAAYjN,UAE7BE,eAAe+M,IA6UwBG,CAAqBpN,EAAUl2B,GAClDz9B,SAAU8yD,KAGbX,GAAuBv8B,SAAS+9B,EAASY,eACxC,gBAAC,GAAD,CACE5hE,IAAKghE,EAAStmE,GACdsmE,SAAUA,EACVC,WAAYA,EACZC,eACAC,cAAe8H,GAAgB9H,cAC/BhB,eAAgBA,IAGnBa,EAASY,eAAiBzC,IACzB,gBAAC,EAAAh1D,UAAD,KACE,uBAAK5N,UAAU,oCAGlBykE,EAASY,eAAiBxC,IACzB,gBAAC,EAAAj1D,UAAD,KACE,uBAAK5N,UAAU,8EAGlBykE,EAASY,eAAiBvC,IACzB,gBAAC,EAAAl1D,UAAD,KACE,uBAAK5N,UAAU,mCACb,wBAAMA,UAAU,wCACd,gBAAC,GAAA8xE,eAAD,OAEF,wBAAM9xE,UAAU,wCACd,gBAAC,GAAA8xE,eAAD,OAEF,wBAAM9xE,UAAU,wCACd,gBAAC,GAAA8xE,eAAD,OAEF,wBAAM9xE,UAAU,wCACd,gBAAC,GAAA8xE,eAAD,OAEF,wBAAM9xE,UAAU,wCACd,gBAAC,GAAA8xE,eAAD,SAKPrN,EAASY,eAAiBtC,IACzB,gBAAC,EAAAn1D,UAAD,CAAWg4B,GAAI,GACb,gBAAC,EAAAiX,KAAD,CAAMC,UAAQ,EAAC98C,UAAU,yBACvB,gBAAC,EAAA+8C,IAAD,KACE,gBAAC,EAAAvW,IAAD,KACE,gBAAC,EAAA09B,MAAD,CACE/lE,GAAK,YAAWsmE,EAAStmE,SACzBklC,MAAM,MACNl3B,KAAK,KACL4E,WAAS,EACT+mC,SAAUvJ,IAjYhB,EAACihC,EAAWzxE,KAClC,MAAM2zE,EAAclC,EAEpBkC,EAAYpM,IAAO,GAAqB,MAAnBvnE,EAAE24C,OAAO/sC,MAAgB,IAAM0gC,SAAStsC,EAAE24C,OAAO/sC,MAAO,KAAO,KACpFg7D,eAAe+M,IA8XeK,CAAgBtN,EAAUl2B,IAE5B5kC,MAAO86D,EAASa,IAChBx0D,SAAU8yD,KAGd,gBAAC,EAAAp9B,IAAD,KACE,gBAAC,EAAA09B,MAAD,CACE/lE,GAAK,YAAWsmE,EAAStmE,SACzBklC,MAAM,MACNl3B,KAAK,KACL4E,WAAS,EACT+mC,SAAUvJ,IAvYhB,EAACihC,EAAWzxE,KAClC,MAAM2zE,EAAclC,EAEpBkC,EAAYnM,IAAO,GAAqB,MAAnBxnE,EAAE24C,OAAO/sC,MAAgB,IAAM0gC,SAAStsC,EAAE24C,OAAO/sC,MAAO,KAAO,KACpFg7D,eAAe+M,IAoYeM,CAAgBvN,EAAUl2B,IAE5B5kC,MAAO86D,EAASc,IAChBz0D,SAAU8yD,OAKlB,gBAAC,EAAAh2D,UAAD,CAAW+3B,GAAI,GACb,uBAAK3lC,UAAU,iCAIF,IAAlBwrE,GACC,gBAAC,EAAA59D,UAAD,CAAWkjE,GAAI,GACb,gBAAC,EAAAmB,OAAD,CACEnhE,SAAU8yD,EACVt7B,QAASm8B,EAASl0B,SAClBuH,SAAUvJ,GAnZL,EAACihC,EAAWzxE,KACvC,MAAM2zE,EAAclC,EACpBkC,EAAYnhC,SAAWxyC,EAAE24C,OAAOpO,QAChCq8B,eAAe+M,IAgZ0BQ,CAAqBzN,EAAUl2B,KAEpD,wBAAMvuC,UAAU,+BAAhB,mBAQhB,gBAAC,EAAA+8C,IAAD,CAAK/8C,UAAU,yBACb,gBAAC,EAAAwmC,IAAD,KACqB,IAAlBglC,GAAuBK,EAAU5mE,OAASumE,IAAkB5H,GAC3D,gBAAC,EAAAh2D,UAAD,CAAWi4B,MAAI,EAACkS,YAAY,QAAQ+4B,GAAI,GACtC,gBAAC,EAAApwE,OAAD,CAAQV,UAAU,8BAA8BO,QAAQ,QAAQsnC,QAAS,IA3ZnE,MAClBikC,EAAa,IAAID,EAAWD,wBAC5B,MAAMuG,EAAiB1tE,SAAS2tE,uBAAuB,iCACvDD,EAAeA,EAAeltE,OAAS,GAAGi2D,SAwZiDmX,IAA/E,oBAMN,gBAAC,EAAA7rC,IAAD,KACE,gBAAC,EAAA8rC,MAAD,CAAO3rB,QAlRI,IAAM6nB,IAAa,GAkRA+D,aAAW,EAACnrB,KAAMmnB,IAC9C,gBAAC,EAAAiE,WAAD,uBACkB9N,EADlB,KACgC+J,KAIlC,gBAAC,EAAA7gE,UAAD,CAAWi4B,MAAI,EAACkS,YAAY,MAAM+4B,GAAI,IAClCjG,GACA,gBAAC,EAAAnqE,OAAD,CACEV,UAAU,yCACV6nC,QAAS,IAAM2oC,aAAa5J,GAAAA,SAF9B,WAOAgE,GACA,gCACGI,GACC,gBAAC,EAAAtqE,OAAD,CACEV,UAAU,yCACV6nC,QAAS,IAAM+S,aAAa,CAAEo0B,eAAgB,YAC9Cl+D,SAAU2/D,oBAETzF,GAGL,gBAAC,EAAAtqE,OAAD,CACEV,UAAU,+BACV6nC,QAAS,IAAM+S,eACf9pC,SAAU2/D,oBAET1F,EACAI,EAAqB,gBAAC,GAAA5kC,eAAD,MAAqB,WA7rBzDukC,UAAAA,YAAAA,YAitBN,mBC3vBM2H,SAAW,IAEb,uBAAKC,QAAQ,MAAMv0E,GAAG,UAAUg/C,EAAE,MAAMC,EAAE,MAAM7Y,QAAQ,eACtD,yBACE,wBACEvkC,UAAU,6BACV2kC,EAAE,0HAEJ,yBACE,wBACE3kC,UAAU,6BACV2kC,EAAE,mFAEJ,wBACE3kC,UAAU,6BACV2kC,EAAE,mFAEJ,wBACE3kC,UAAU,6BACV2kC,EAAE,wGAEJ,wBACE3kC,UAAU,6BACV2kC,EAAE,gLAEJ,yBACE,wBAAM3kC,UAAU,6BAA6B2yE,GAAG,QAAQC,GAAG,MAAMC,GAAG,QAAQC,GAAG,UAC/E,wBAAM9yE,UAAU,6BAA6B2yE,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,QACjF,wBACE9yE,UAAU,6BACV2kC,EAAE,wEAIR,yBACE,wBACE3kC,UAAU,qBACV2kC,EAAE,mMArCR8tC,SAAAA,YAAAA,WA6CN,kBC7CMM,WAAa,IAEf,uBAAKL,QAAQ,MAAMv0E,GAAG,UAAUg/C,EAAE,MAAMC,EAAE,MAAM7Y,QAAQ,eACtD,yBACE,wBAAM4Y,EAAE,OAAOC,EAAE,OAAOp9C,UAAU,+BAA+B0P,MAAM,QAAQ0C,OAAO,UACtF,wBAAMpS,UAAU,+BAA+B2yE,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACnF,wBAAM9yE,UAAU,+BAA+B2yE,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACnF,0BAAQ30E,GAAG,YAAY6B,UAAU,qBAAqBilC,GAAG,QAAQC,GAAG,QAAQC,EAAE,SAC9E,wBAAMnlC,UAAU,+BAA+B2yE,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACnF,0BAAQ30E,GAAG,YAAY6B,UAAU,qBAAqBilC,GAAG,QAAQC,GAAG,QAAQC,EAAE,SAC9E,4BAAUnlC,UAAU,+BAA+BgzE,OAAO,sCAV5DD,WAAAA,YAAAA,aAgBN,oBChBME,aAAe,IAEjB,uBAAKP,QAAQ,MAAMv0E,GAAG,UAAUg/C,EAAE,MAAMC,EAAE,MAAM7Y,QAAQ,eACtD,yBACE,yBACE,wBAAM4Y,EAAE,OAAOC,EAAE,QAAQp9C,UAAU,iCAAiC0P,MAAM,QAAQ0C,OAAO,UACzF,wBAAMpS,UAAU,iCAAiC2yE,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACrF,wBAAM9yE,UAAU,iCAAiC2yE,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACrF,0BAAQ30E,GAAG,YAAY6B,UAAU,qBAAqBilC,GAAG,QAAQC,GAAG,QAAQC,EAAE,SAC9E,wBAAMnlC,UAAU,iCAAiC2yE,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACrF,0BAAQ30E,GAAG,YAAY6B,UAAU,qBAAqBilC,GAAG,QAAQC,GAAG,QAAQC,EAAE,SAC9E,4BAAUnlC,UAAU,iCAAiCgzE,OAAO,uCAE9D,4BACEhzE,UAAU,iCACVgzE,OAAO,gEAET,4BACEhzE,UAAU,iCACVgzE,OAAO,gEAnBXC,aAAAA,YAAAA,eA0BN,sBC1BMC,SAAW,IAEb,uBACEC,iBAAiB,KACjBT,QAAQ,MACRnuC,QAAQ,0BACR,iBAAe,IACf,kBAAgB,IAChB,mBAAiB,IACjB,oBAAkB,KAElB,qBAAGpmC,GAAG,SAAS6B,UAAU,sBACvB,wBAAM7B,GAAG,WAAW6B,UAAU,6BAA6B2kC,EAAE,8CAC7D,wBACEA,EAAE,uDACFxmC,GAAG,WACH6B,UAAU,+BAEZ,wBACE2kC,EAAE,uDACFxmC,GAAG,aACH6B,UAAU,+BAEZ,wBACE2kC,EAAE,uDACFxmC,GAAG,aACH6B,UAAU,+BAEZ,wBACE2kC,EAAE,uDACFxmC,GAAG,eACH6B,UAAU,+BAEZ,qBAAG,aAAW,IAAI7B,GAAG,YACnB,wBACEwmC,EAAE,ibACFxmC,GAAG,SACH6B,UAAU,qCAGd,qBAAG,aAAW,IAAI7B,GAAG,cACnB,wBACEwmC,EAAE,kKACFxmC,GAAG,SACH6B,UAAU,uCA5ChBkzE,SAAAA,YAAAA,WAoDN,kBCiHA,wBA5Ja,KACX,SAAsDxwE,EAAAA,EAAAA,YAAWw/D,IAAzDE,EAAR,EAAQA,mBAAoBG,EAA5B,EAA4BA,sBAC5B,GAA4C95D,EAAAA,EAAAA,WAAS,GAArD,WAAO2qE,EAAP,KAAuBC,EAAvB,KACA,GAAsC5qE,EAAAA,EAAAA,UAAS,iCAA/C,WAAO2jE,EAAP,KAAoBC,EAApB,KACA,GAAoD5jE,EAAAA,EAAAA,UAAS25D,EAAmBkR,oBAAhF,WAAOA,EAAP,KAA2BC,EAA3B,KACA,GAAwD9qE,EAAAA,EAAAA,UAAS25D,EAAmBoR,sBAApF,WAAOA,EAAP,KAA6BC,EAA7B,KACA,GAAkEhrE,EAAAA,EAAAA,UAChE25D,EAAmBsR,2BADrB,WAAOA,EAAP,KAAkCC,EAAlC,KAGA,GAAoDlrE,EAAAA,EAAAA,UAAS25D,EAAmBwR,oBAAhF,WAAOA,EAAP,KAA2BC,EAA3B,KACA,GAA4CprE,EAAAA,EAAAA,UAAS25D,EAAmB52B,OAAxE,WAAOsoC,EAAP,KAAuBC,EAAvB,MAEA1sE,EAAAA,EAAAA,YAAU,KACRgsE,EAAkBjR,EAAmB6I,sBACjC7I,EAAmB6I,uBACiB,cAAlC7I,EAAmB8I,WACrBmB,EAAgB,iBAAgBjK,EAAmB8I,cAEnDmB,EAAgB,4BAA2BjK,EAAmB8I,eAGlEqI,EAAsBnR,EAAmBkR,oBACzCG,EAAwBrR,EAAmBoR,sBAC3CG,EAA6BvR,EAAmBsR,2BAChDG,EAAsBzR,EAAmBwR,oBACzCG,EAAkB3R,EAAmB52B,SACpC,CAAC42B,IAEJ,MAAM4R,GAA8B1lC,EAAAA,EAAAA,cAClCC,IACE,GACEA,EAAMpuC,MACNouC,EAAMpuC,KAAKk3C,SACmB,iBAAvB9I,EAAMpuC,KAAKk3C,SACI,sBAAtB9I,EAAMpuC,KAAK8zE,OACX,CACA,MAAM9zE,EAAO81C,KAAKi+B,MAAM3lC,EAAMpuC,KAAKk3C,SACnCkrB,EAAsBpiE,MAG1B,CAACoiE,IAgBH,OAbAl7D,EAAAA,EAAAA,YAAU,KACRtD,OAAO6uD,iBAAiB,UAAWohB,GAC5B,IAAMjwE,OAAO8uD,oBAAoB,UAAWmhB,KAClD,CAACA,KAEJ3sE,EAAAA,EAAAA,YAAU,KACR5C,SAAS4pE,gBAAgB7iC,MAAM8iC,YAAY,oBAAqBwF,EAAevG,WAC/E9oE,SAAS4pE,gBAAgB7iC,MAAM8iC,YAC7B,mCACAwF,EAAejG,4BAEhB,CAACiG,IAGF,gCACE,gBAAC,EAAAlmE,UAAD,CAAW5N,UAAU,sBAAsB0B,GAAI,EAAGkvE,GAAI,EAAG73B,GAAI,GAC3D,gBAAC,EAAAz4C,WAAD,CAAYC,QAAQ,aAApB,gBAEF,gBAAC,EAAAqN,UAAD,CAAW,cAAY,OAAO5N,UAAU,WACtC,gBAAC,EAAA68C,KAAD,CAAMC,UAAQ,GACZ,gBAAC,EAAAC,IAAD,CAAK/8C,UAAU,gBACb,gBAAC,EAAAwmC,IAAD,KACE,gBAAC,EAAA54B,UAAD,CAAWi4B,MAAI,EAAC7lC,UAAU,qBAAqB2lC,GAAI,EAAGF,GAAI,GACzC2tC,EACb,gBAAC,KAAD,CAAUvkE,GAAIu9D,IAFlB,KAIiBkH,EACb,gBAAC,EAAAntB,KAAD,CACE,cAAY,iBACZte,QAAS,KACPwrC,GAAkB,GAClBhH,EAAe,kCAEjBrsE,UAAU,gCAEV,uBAAKA,UAAU,iBACb,gBAAC,GAAD,OAEF,gBAAC,EAAA4N,UAAD,CAAW5N,UAAU,iBAAiB4lC,GAAI,GACxC,gBAAC,EAAAtlC,WAAD,CAAYC,QAAQ,aAApB,gBAEF,gBAAC,EAAAqN,UAAD,CAAW5N,UAAU,qBAArB,qCAnBN,KAsBiBwzE,EACb,gBAAC,EAAArtB,KAAD,CACE,cAAY,mBACZte,QAAS,KACPwrC,GAAkB,GAClBhH,EAAe,oCAEjBrsE,UAAU,kCAEV,uBAAKA,UAAU,iBACb,gBAAC,GAAD,OAEF,gBAAC,EAAA4N,UAAD,CAAW5N,UAAU,iBAAiB4lC,GAAI,GACxC,gBAAC,EAAAtlC,WAAD,CAAYC,QAAQ,aAApB,kBAEF,gBAAC,EAAAqN,UAAD,CAAW5N,UAAU,qBACnB,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,QAApB,6BAtCR,KA0CiBmzE,EACb,gBAAC,EAAAvtB,KAAD,CACE,cAAY,qBACZte,QAAS,KACPwrC,GAAkB,GAClBhH,EAAe,4BAEjBrsE,UAAU,oCAEV,uBAAKA,UAAU,iBACb,gBAAC,GAAD,OAEF,gBAAC,EAAA4N,UAAD,CAAW5N,UAAU,iBAAiB4lC,GAAI,GACxC,gBAAC,EAAAtlC,WAAD,CAAYC,QAAQ,aAApB,wBAEF,gBAAC,EAAAqN,UAAD,CAAW5N,UAAU,qBACnB,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,QAApB,4DA1DR,KA8DiBqzE,EACb,gBAAC,EAAAztB,KAAD,CACE,cAAY,iBACZte,QAAS,KACPwrC,GAAkB,GAClBhH,EAAe,kCAEjBrsE,UAAU,oCAEV,uBAAKA,UAAU,iBACb,gBAAC,GAAD,OAEF,gBAAC,EAAA4N,UAAD,CAAW5N,UAAU,iBAAiB4lC,GAAI,GACxC,gBAAC,EAAAtlC,WAAD,CAAYC,QAAQ,aAApB,gBAEF,gBAAC,EAAAqN,UAAD,CAAW5N,UAAU,qBACnB,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,QAApB,iDA9ER,Y,soBChEd,MAyHA,gBAzHkB,KAChB,SAAsDmC,EAAAA,EAAAA,YAAWw/D,IAAzDE,EAAR,EAAQA,mBAAoBG,EAA5B,EAA4BA,sBACpB4R,EAA6D/R,EAA7D+R,cAAe3oC,EAA8C42B,EAA9C52B,MAAOy/B,EAAuC7I,EAAvC6I,qBAAsBG,EAAiBhJ,EAAjBgJ,aACpD,GAAgE3iE,EAAAA,EAAAA,WAAS,GAAzE,WAAOyjE,EAAP,KAAiCC,EAAjC,KACA,GAAoD1jE,EAAAA,EAAAA,UAAS25D,EAAmBkR,oBAAhF,WAAOA,EAAP,KAA2BC,EAA3B,KAEQ5F,EAAuFniC,EAAvFmiC,WAAYD,EAA2EliC,EAA3EkiC,yBAA0B0G,EAAiD5oC,EAAjD4oC,mBAAoBvG,EAA6BriC,EAA7BqiC,0BAElExmE,EAAAA,EAAAA,YAAU,KACRksE,EAAsBnR,EAAmBkR,sBACxC,CAAClR,KAEJ/6D,EAAAA,EAAAA,YAAU,KACR,MAAM+mE,EAAO3pE,SAAS4pE,gBACtBD,EAAK5iC,MAAM8iC,YAAY,qBAAsBX,GAC7CS,EAAK5iC,MAAM8iC,YAAY,6BAA8BZ,GACrDU,EAAK5iC,MAAM8iC,YAAY,6BAA8B8F,GACrDhG,EAAK5iC,MAAM8iC,YAAY,mCAAoCT,KAC1D,CAACF,EAAYD,EAA0B0G,EAAoBvG,IAE9D,MA2BMmG,GAA8B1lC,EAAAA,EAAAA,cAClCC,IACE,GACEA,EAAMpuC,MACNouC,EAAMpuC,KAAKk3C,SACmB,iBAAvB9I,EAAMpuC,KAAKk3C,SACI,sBAAtB9I,EAAMpuC,KAAK8zE,OACX,CACA,MAAM9zE,EAAO81C,KAAKi+B,MAAM3lC,EAAMpuC,KAAKk3C,SACnCkrB,EAAsBpiE,GACtBgsE,GAA4B,MAGhC,CAAC5J,IAQH,OALAl7D,EAAAA,EAAAA,YAAU,KACRtD,OAAO6uD,iBAAiB,UAAWohB,GAC5B,IAAMjwE,OAAO8uD,oBAAoB,UAAWmhB,KAClD,CAACA,IAGF,gCACE,uBAAKh0E,UAAU,qBACEksE,EACb,gBAAC,KAAD,CAAUr9D,GAAG,kBAFjB,KAIE,gBAAC,EAAAjB,UAAD,CAAW+3B,GAAI,EAAG+qC,GAAI,GACpB,gBAAC,EAAAhwE,OAAD,CACE,cAAY,wBACZV,UAAU,4BACVmM,KAAK,KACL5L,QAAQ,OACRsnC,QAAS,IA5DMznC,CAAAA,IACvB,GAAI6qE,EAAsB,CACxB,MAAMgE,EAAa,CACjBI,OAAQjvE,GAEVomE,YAAa,GAAEvwB,KAAKC,UAAU+4B,KAAe7D,GAC7Ce,GAA4B,GAC5B5J,EAAsB,iDACjBH,GADgB,IAEnB8I,WAAY,GACZD,sBAAsB,EACtBrH,gBAAgB,EAChB0G,OAAQ,WAGV6B,GAA4B,IA6CPkI,CAAiB,SAEhC,gBAAC,GAAA1D,cAAD,MAPF,SAWF,gBAAC,EAAA/iE,UAAD,CAAWgjE,GAAI,GACb,gBAAC,EAAAtwE,WAAD,CAAYC,QAAQ,aAApB,yBAIJ,gBAAC,EAAAqN,UAAD,CAAW,cAAY,YAAY5N,UAAU,gBAC3C,gBAAC,EAAA68C,KAAD,CAAMC,UAAQ,GACZ,gBAAC,EAAAC,IAAD,CAAK/8C,UAAU,uBAAuB2lC,GAAI,GACxC,gBAAC,EAAAa,IAAD,KACG2tC,GACCA,EAAc52E,KAAI+2E,GAEd,gBAAC,EAAAnuB,KAAD,CACE,cAAY,kBACZ1iD,IAAK6wE,EAASn2E,GACd0pC,QAAS,IA9DAysC,CAAAA,IAC3B,MAAMrF,EAAa,CACjBI,OAAQ,oBACRp7D,QAASqgE,GAEX9N,YAAa,GAAEvwB,KAAKC,UAAU+4B,KAAe7D,IAyDZmJ,CAAqBD,GACpCt0E,UAAU,uBAEKszE,EACb,gBAAC,EAAA1lE,UAAD,CAAW5N,UAAU,sBAAsBS,UAAU,OAAOglC,GAAI,EAAGG,GAAI,GACpE0uC,EAASzsE,MARhB,KAWE,gBAAC,EAAA+F,UAAD,CAAW5N,UAAU,0BAA0Bs0E,EAASjnE,gBCzHjEmnE,GAAiB,CAC5Bve,YAAa,UACbuX,gBAAiB,UACjBC,qBAAsB,UACtBC,yBAA0B,UAC1BC,WAAY,UACZC,eAAgB,UAChBL,UAAW,UACXM,yBAA0B,UAC1BE,qBAAsB,UACtBC,iBAAkB,cAClBC,sBAAuB,cACvBC,sBAAuB,eAGZuG,GAA+B,CAC1CxJ,sBAAsB,EACtBC,WAAY,OACZtH,gBAAgB,EAChB0P,oBAAoB,EACpBE,sBAAsB,EACtBE,2BAA2B,EAC3BE,oBAAoB,EACpB7I,eAAgB,cAChBC,iBAAkB,GAClBG,oBAAoB,EACpBC,aAAc,IACdC,eAAgB,CACd,CACEzF,SAAU,CAAC,gBAAiB,YAC5BC,WAAY,GACZC,cAAe,CACb,CACE3nE,GAAI,WACJklC,MAAO,mBAGX0iC,cAAc,IAGlBv6B,MAAOgpC,GACPlK,OAAQ,GACR6J,cAAe,I,kpBCjCjB,MAAMO,mBAAqB,EAAGz5B,QAAAA,OAC5B5zC,EAAAA,EAAAA,YAAU,KACR,MAAMinD,EAAWrT,EAAQsT,QAAO,KAC9BxqD,OAAOyqD,SAAS,EAAG,MAErB,MAAO,KACLF,OAED,CAACrT,IAEJ,SAAoDxyC,EAAAA,EAAAA,UAASgsE,IAA7D,WAAOrS,EAAP,KAA2BG,EAA3B,KAEMoS,yBAA2BC,IAC/B,MAAM1O,EAAU,uDAAK0O,GAAR,IAAoBppC,MAAO,uDAAKgpC,IAAmBI,EAAWppC,SAC3E+2B,EAAsB2D,IAGlB8N,GAA8B1lC,EAAAA,EAAAA,cAAYC,IAC9C,GACEA,EAAMpuC,MACNouC,EAAMpuC,KAAKk3C,SACmB,iBAAvB9I,EAAMpuC,KAAKk3C,SACI,sBAAtB9I,EAAMpuC,KAAK8zE,OACX,CACA,MAAM9zE,EAAO81C,KAAKi+B,MAAM3lC,EAAMpuC,KAAKk3C,SACnCg5B,aAAawE,QAAQ,0BAA2BtmC,EAAMpuC,KAAKk3C,SAC3Ds9B,yBAAyBx0E,MAE1B,IAeH,OAbAkH,EAAAA,EAAAA,YAAU,KACRtD,OAAO6uD,iBAAiB,UAAWohB,GAC5B,IAAMjwE,OAAO8uD,oBAAoB,UAAWmhB,KAClD,CAACA,KAEJ3sE,EAAAA,EAAAA,YAAU,KACR,MAAMytE,EAAUzE,aAAa0E,QAAQ,2BACrC,GAAID,EAAS,CACX,MAAM30E,EAAO81C,KAAKi+B,MAAMY,GACxBH,yBAAyBx0E,MAE1B,IAGD,gBAACgiE,kCAAD,CAAmCC,mBAAoBA,GACrD,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAOr/D,KAAK,+CAA+CtC,UAAWu0E,KACtE,gBAAC,KAAD,CAAOjyE,KAAK,0BAA0BtC,UAAWw0E,kBACjD,gBAAC,KAAD,CAAOlyE,KAAK,gBAAgBtC,UAAWwuD,6BAhDzCylB,mBAAAA,YAAAA,qBA4DN,UAAe14B,EAAAA,EAAAA,IAAW04B,oB,0BCjEX,SAASQ,gBAAgB7xE,EAAOT,EAAQ04C,GACrDj4C,EAAMuB,SAAQ4nC,IACZ,MAAM2oC,EAAW3oC,EAAK4oC,aAAa,QACnC,IAAKD,EAASpwE,WAAW,SACD,MAAlBynC,EAAKhH,SAAkB,CACzB,MAAM6vC,EAAc7oC,EACpB,IAAI8oC,EAAkB,MAClBh6B,EAAUi6B,SAAS,QACrBD,EAAkB,MAEpBD,EAAYp1E,KAAQ,WAAUq1E,KAAmB1yE,QAAauyE,QCJtE,MAAMK,6BAA+B,EAAGpzB,SAAAA,EAAUx/C,OAAAA,EAAQ04C,UAAAA,EAAWx4C,IAAAA,KAEjE,uBAAK9C,UAAU,yBACb,gBAAC,IAAD,CAAK0M,QAAQ,QACX,qBAAGzM,KAAK,IAAID,UAAU,+BACpB,gBAAC,KAAD,CAAMP,MAAM,SAEd,qBAAGQ,KAAK,IAAID,UAAU,mCACpB,gBAAC,IAAD,CAAYO,QAAQ,eAAed,MAAM,SACvC,0BAAQO,UAAU,oCAAlB,eAGJ,gBAAC,IAAD,KACE,uBAAKA,UAAU,8BACb,0BACGoiD,EAAS7kD,KAAIilD,GACZ,sBAAI/+C,IAAK++C,EAAI9L,QACX,qBAAGz2C,KAAO,GAAEuiD,EAAI9L,SAAU12C,UAAWwiD,EAAIizB,OACtCjzB,EAAI5xC,YAOjB,gBAAC,IAAD,CAAK8kE,cAAY,EAAChpE,QAAQ,OAAOqrC,YAAY,YAC3C,gBAAC,IAAD,CAAKpS,GAAI,GACP,gBAAC,MAAD,CACElmC,MAAM,MACNQ,KACE2C,EACK,WAAU04C,KAAa14C,yBAA8Bg/C,mBAAmB9+C,KACzE,gBAENqJ,KAAK,MAPP,YAYF,gBAAC,IAAD,CAAKw5B,GAAI,EAAG+qC,GAAI,GACd,gBAAC,MAAD,CACEjxE,MAAM,MACNQ,KACE2C,EACK,WAAU04C,KAAa14C,yBAA8Bg/C,mBAAmB9+C,KACzE,gBAENqJ,KAAK,MAPP,eAxCNqpE,6BAAAA,YAAAA,+BAuEN,UAAex5B,EAAAA,EAAAA,IAAWw5B,8B,eC3E1B,MAAMG,4BAA8B,EAAGvzB,SAAAA,EAAUx/C,OAAAA,EAAQ04C,UAAAA,EAAWx4C,IAAAA,KAEhE,uBAAK9C,UAAU,2FACb,wBAAMA,UAAU,oDACd,gBAAC,GAAAojD,eAAD,CAAgBj3C,KAAK,QAEvB,2BACE,gBAAC,KAAD,CACEu2C,WAAS,EACTC,SAAO,EACPvD,OAAK,EACLjX,UAAU,eACVya,YACE,uBACE5iD,UAAU,0FACV,cAAY,+DAEZ,wBAAMA,UAAU,oDACd,gBAAC,GAAAqjD,SAAD,CAAUl3C,KAAK,UAKpBi2C,EAAS7kD,KAAIilD,GAEZ,gBAAC,UAAD,CAAWO,aAAW,EAACC,iBAAkBR,EAAI9L,OAAQjzC,IAAK++C,EAAI9L,QAC3D8L,EAAI5xC,QAGT,gBAAC,UAAD,CACEmyC,aAAW,EACXC,iBACEpgD,EAAU,WAAU04C,KAAa14C,yBAA8Bg/C,mBAAmB9+C,KAAS,iBAH/F,WAQA,gBAAC,UAAD,CACEigD,aAAW,EACXC,iBACEpgD,EAAU,WAAU04C,KAAa14C,yBAA8Bg/C,mBAAmB9+C,KAAS,iBAH/F,cArCJ6yE,4BAAAA,YAAAA,8BAgEN,UAAe35B,EAAAA,EAAAA,IAAW25B,6BC1DpB9xB,sCAAkBt6C,IACtB,MAAM0wC,EAAQ,CACZ,CAAEvD,OAAQ,IAAK9lC,KAAM,QACrB,CAAE8lC,OAAQ,SAAU9lC,KAAM,WAC1B,CAAE8lC,OAAQ,WAAY9lC,KAAM,QAC5B,CAAE8lC,OAAQ,qBAAsB9lC,KAAM,UACtC,CAAE8lC,OAAQ,QAAS9lC,KAAM,QAW3B,OARAqpC,EAAMr1C,SAAQw/C,IACZ,MAAMwxB,EAAaxxB,EACnBwxB,EAAWH,MAAQ,qCACflsE,EAASi8B,WAAa4e,EAAK1N,SAC7Bk/B,EAAWH,MAAS,GAAErxB,EAAKqxB,uDAIxBx7B,GAkDT,iCA/C8B,KAC5B,SAIIv3C,EAAAA,EAAAA,YAAWC,EAAAA,IAJf,IACEE,YAAeD,EADjB,EACiBA,OAAQ04C,EADzB,EACyBA,UACvB0B,EAFF,EAEEA,UACAl6C,EAHF,EAGEA,IAEMm6C,GAAc9zC,EAAAA,EAAAA,6BAA4B6zC,GAA1CC,UACF1zC,GAAWg8B,EAAAA,EAAAA,MAEjB,IAAI6mC,EAActpE,EACA,cAAdw4C,GAA2C,iBAAdA,GAC3Bv3C,QAAUA,OAAOwF,WACnB6iE,EAAcroE,OAAOwF,SAAStJ,MAIlC,IAAIq1E,EAAkB,MAKtB,OAJIh6B,EAAUi6B,SAAS,QACrBD,EAAkB,MAIlB,gCACE,gBAAC,KAAD,CAAep4B,eAAgBD,GAC7B,0BAAQ,cAAY,kCAClB,gBAAC,GAAD,CACEmF,SAAUyB,sCAAgBt6C,GAC1B3G,OAAQA,EACR04C,UAAWg6B,EACXxyE,IAAKspE,MAIX,gBAAC,KAAD,CAAoBlvB,gBAAiBD,GACnC,0BAAQ,cAAY,iCAClB,gBAAC,GAAD,CACEmF,SAAUyB,sCAAgBt6C,GAC1B3G,OAAQA,EACR04C,UAAWg6B,EACXxyE,IAAKspE,QCjEXyJ,GAAc,CAClB,IACA,0BACA,mCACA,WACA,4BACA,QACA,0BAGIplE,IAAYlE,EAAAA,EAAAA,IAAgB,CAChCupE,wBAAyB,CACvB1jE,OAAQ,OACR1C,MAAO,OACPM,WAAY,WAEd+lE,uBAAwB,CACtB3jE,OAAQ,OACR1C,MAAO,OACPM,WAAY,aAIVgmE,SAAWpzE,IACf,MAAM6hD,EAAShgD,SAASwxE,qBAAqB,UAAU,GACvD,GAAIxxB,EAAQ,CACU,IAAIA,EAAOwxB,qBAAqB,MACxCrxE,SAAQsxE,IAClB,MAAMC,EAAiBD,EAAWd,aAAa,QAC/C,IAAKe,EAAepxE,WAAW,UAAYoxE,EAAepxE,WAAW,cAAe,CACxDmxE,EACRj2E,KAAO41E,GAAYnvC,SAASyvC,GACzC,aAAYA,IACZ,qBAAoBvzE,QAAauzE,UAuG9C,qCA9DqB,KACnB,SAIIzzE,EAAAA,EAAAA,YAAWC,EAAAA,IAJf,IACEE,YAAey4C,EADjB,EACiBA,UAAW14C,EAD5B,EAC4BA,OAC1BonC,EAFF,EAEEA,KACUqa,EAHZ,EAGE3rC,OAAU2rC,OAEZ,EAA4D5zC,KAApDqlE,EAAR,EAAQA,wBAAyBC,EAAjC,EAAiCA,uBAEjC,GAAgDttE,EAAAA,EAAAA,WAAS,GAAzD,WAAO2tE,EAAP,KAAyBC,EAAzB,KA0BA,OAxBAhvE,EAAAA,EAAAA,YAAU,KACRgvE,GAAoB,KACnB,KAEHhvE,EAAAA,EAAAA,YAAU,KAEJ+uE,IACgB,cAAd96B,GAA2C,iBAAdA,EApDb14C,CAAAA,IACxB,MAAM0zE,EAAgB7xE,SAAS8xE,iBAAiB,+CAC5CD,EAAcrxE,QAChBqxE,EAAc1xE,SAAQ4xE,IACpBA,EAAa5jB,iBAAiB,SAAS,KACrC1N,YAAW,KACT8wB,SAASpzE,aA+CX6zE,CAAkB7zE,GAxCF,EAACA,EAAQ04C,KAC/B,IAAIo7B,EAAiB,EACrB,MAAMC,EAAsBC,aAAY,KACtC,MAAMC,EAAgBpyE,SAAS8xE,iBAAiB,sCAC5CM,EAAc,KAChBC,cAAcH,GACdE,EAAc,GAAGjkB,iBAAiB,SAAS,KACzC1N,YAAW,KACT,MAAM0O,EAAYnvD,SAAS8xE,iBAAiB,uDACxC3iB,GACFshB,gBAAgB,IAAIthB,GAAYhxD,EAAQ04C,SAI9Co7B,GAAkB,GAEhBA,EAAiB,IACnBI,cAAcH,KAEf,MAuBGI,CAAgBn0E,EAAQ04C,MAG3B,CAAC14C,EAAQ04C,EAAW86B,KAEvB/uE,EAAAA,EAAAA,YAAU,KAEU,cAAdi0C,GAA2C,iBAAdA,GAC/B4J,YAAW,KACT8wB,SAASpzE,QAGZ,CAACA,EAAQ04C,IAGV,gCACiBtR,EAAKC,gBADtB,CAEmBmsC,EACb,gBAAC,KAAD,CACE7zE,KAAK,QACL8hD,OAAQA,EACRra,KAAMA,EACNsa,oBAAqBta,EAAKC,gBAC1Bsa,cAAc,YALhB,UAHN,KAWoB6xB,EAXpB,KAYM,uBAAKp2E,UAAW+1E,EAAhB,WAZN,KAekB/rC,EAAKC,gBAfvB,MAgBmBmsC,EACb,gBAAC,iCAAD,WAjBN,KAmBoBA,EAnBpB,KAoBM,uBAAKp2E,UAAW81E,EAAhB,aCzGJkB,qBAAuB,EAAG74E,GAAAA,EAAIkP,MAAAA,EAAOo3C,OAAAA,EAAQwyB,OAAAA,EAAQtyB,sBAAAA,EAAuB/jD,SAAAA,MAChF,SAII8B,EAAAA,EAAAA,YAAWC,EAAAA,IAJf,IACEE,YAAey4C,EADjB,EACiBA,UAAW14C,EAD5B,EAC4BA,OAAQ24C,EADpC,EACoCA,IAClCvR,EAFF,EAEEA,KACAlnC,EAHF,EAGEA,IAEF,EAAkCy+C,yBAAyBjG,EAAW14C,EAAQ24C,EAAKz4C,GAA3E0+C,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,aAEjB,GAAgDh5C,EAAAA,EAAAA,WAAS,GAAzD,WAAOyuE,EAAP,KAAyBC,EAAzB,KAkBA,OAhBA9vE,EAAAA,EAAAA,YAAU,KACR,GAAI6vE,EAAkB,CAEpB,MAAME,EAAe3yE,SAAS2tE,uBAAuB,aAAa,GAC9DgF,IACFlC,gBAAgB,IAAIkC,EAAanB,qBAAqB,MAAOrzE,EAAQ04C,GA/BhD,EAAC14C,EAAQ04C,KACZ72C,SAAS8xE,iBAAiB,oDAClC3xE,SAAQyyE,IACtBA,EAAezkB,iBAAiB,SAAS,KACvC1N,YAAW,KACT,MAAMoyB,EAAoB7yE,SAAS8xE,iBACjC,qEAEEe,GACFpC,gBAAgB,IAAIoC,GAAoB10E,EAAQ04C,aAwBlDi8B,CAAqB30E,EAAQ04C,OAGhC,CAAC47B,EAAkBt0E,EAAQ04C,KAE9Bj0C,EAAAA,EAAAA,YAAU,KACR8vE,EAAoBF,KACnB,CAACr0E,EAAQq0E,IAGV,gBAAC,KAAD,CACEr3E,OAAQzB,EACRuB,eAAe,EACfC,cAAeu3E,EACfvyB,sBAAuBA,EACvBJ,cAAc,YACd1kD,UAAU,gBAEV,gBAAC,KAAD,KACE,6BAAQwN,GACQm0C,EAFlB,KAGI,wBAAMh+C,IAAI,YAAYvD,KAAMwhD,IAEfD,EACb,wBAAM5iD,KAAK,SAASmB,QAAQ,sBANhC,MASC0kD,EACcza,EAAKC,gBAClB,gBAAC,GAAD,CAAWgW,WAAW,UAAUD,aAAc,8BAnBlD,KAqBE,uBAAKhgD,UAAU,8BACb,gBAAC,KAAD,CAAMq2D,WAAS,EAACvZ,UAAQ,EAAC8H,OAAK,GAC5B,gBAAC,UAAD,KAAYhkD,OAlDhBo2E,qBAAAA,YAAAA,uBAkENA,qBAAqBjwC,aAAe,CAClC0d,OAAQ,gBAAC,qCAAD,MACRE,sBAAuB,KACvBsyB,QAAQ,GAGV,8BCtFM9xB,gBAAO,KACX,SAIIziD,EAAAA,EAAAA,YAAWC,EAAAA,IAJf,IACEE,YAAeD,EADjB,EACiBA,OAAQ04C,EADzB,EACyBA,UACvBtR,EAFF,EAEEA,KACAlnC,EAHF,EAGEA,IAEF,GAAkC2F,EAAAA,EAAAA,UAAS3F,GAA3C,WAAO00E,EAAP,KAAkBC,EAAlB,KAEMC,EAAuB,eACvBC,EAAqB,YAErBC,EAAat8B,IAAcq8B,GAAsBr8B,IAAco8B,EAAuB,aAAe,GACrGG,EACJv8B,IAAcq8B,GAAsBr8B,IAAco8B,EAAwB,qBAAoB90E,QAAe,GAE/G,IAAI0yE,EAAkB,MAoBtB,OAlBIh6B,EAAUi6B,SAAS,QACrBD,EAAkB,OAGpBjuE,EAAAA,EAAAA,YAAU,KACJi0C,IAAcq8B,GAAsBr8B,IAAco8B,GAChD3zE,QAAUA,OAAOwF,UACnBkuE,EAAa1zE,OAAOwF,SAAStJ,QAGhC,CAAC6C,EAAKw4C,KAETj0C,EAAAA,EAAAA,YAAU,KACRw9C,iBAAgB,KACd9gD,OAAOkhD,cAAc,aAEtB,IAGD,uBAAK,cAAY,mBACf,gBAAC,GAAD,CAAsB9mD,GAAG,mBAAmBkP,MAAM,qCACjC28B,EAAKC,gBAClB,gBAAC,MAAD,CAAOkR,MAAO28B,OACX,EAAG33E,KAAAA,MAAW,QACb,OACE,iCACiBA,MAAAA,GAAA,UAAAA,EAAM23E,6BAAN,eAA6B3zB,YAAa,EACvD,uBAAK,cAAY,iCAAiCnkD,UAAU,kBAC1D,gBAAC,IAAD,CAAK2lC,GAAI,EAAGC,GAAI,GACd,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,6CAIF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYA,MAAM,UAChB,gBAAC,MAAD,CAAQ1R,KAAK,YAAb,wBAGJ,uBAAKD,UAAU,mBAAmB87C,IAAI,sDAExC,gBAAC,KAAD,KACE,gBAAC,UAAD,KACE,uBAAK97C,UAAU,yBACf,gBAAC,IAAD,CAAK8wE,GAAI,GACP,gBAAC,IAAD,CAAYvwE,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,UAIF,gBAAC,IAAD,CAAYpR,QAAQ,OAAOE,UAAU,IAAIkR,MAAM,UAA/C,mGAKF,gBAAC,UAAD,KACE,uBAAK3R,UAAU,2BACf,gBAAC,IAAD,CAAK8wE,GAAI,GACP,gBAAC,IAAD,CAAYvwE,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,YAIF,gBAAC,IAAD,CAAYpR,QAAQ,OAAOE,UAAU,IAAIkR,MAAM,UAA/C,4GAKF,gBAAC,UAAD,KACE,uBAAK3R,UAAU,0BACf,gBAAC,IAAD,CAAK8wE,GAAI,GACP,gBAAC,IAAD,CAAYvwE,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,WAIF,gBAAC,IAAD,CAAYpR,QAAQ,OAAOE,UAAU,IAAIkR,MAAM,UAA/C,4FAhDV,KAuD6D,KAA5CxR,MAAAA,GAAA,UAAAA,EAAM23E,6BAAN,eAA6B3zB,YAC1C,uBAAK,cAAY,oCAAoCnkD,UAAU,kBAC7D,gBAAC,IAAD,CAAK2lC,GAAI,EAAGC,GAAI,GACd,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,sCAIF,gBAAC,IAAD,CAAKi0B,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,eAAeE,UAAU,KAAKkR,MAAM,UAAxD,wCAIF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYA,MAAM,UAChB,gBAAC,MAAD,CAAQ1R,KAAO,GAAE43E,wBAAjB,qBAIN,gBAAC,KAAD,KACE,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAKnH,GAAI,EAAGxqC,GAAI,GACd,uBAAKlmC,UAAU,0BACf,gBAAC,IAAD,CAAK8wE,GAAI,EAAGiH,GAAI,GACd,gBAAC,IAAD,CAAYx3E,QAAQ,eAAeE,UAAU,KAAKkR,MAAM,UAAxD,4CAGA,0BACE,0BACE,gBAAC,IAAD,CAAYpR,QAAQ,QAApB,oDAIF,0BACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,2DAIF,0BACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,4BAIN,gBAAC,IAAD,CAAYoR,MAAM,UAChB,gBAAC,MAAD,CAAQlS,MAAM,MAAMQ,KAAO,GAAE23E,wBAA7B,iBAMN,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAK1xC,GAAI,EAAGwqC,GAAI,GACd,uBAAK1wE,UAAU,wBACf,gBAAC,IAAD,CAAK8wE,GAAI,EAAGiH,GAAI,GACd,gBAAC,IAAD,CAAYx3E,QAAQ,eAAeE,UAAU,KAAKkR,MAAM,UAAxD,6CAGA,0BACE,0BACE,gBAAC,IAAD,CAAYpR,QAAQ,QAApB,qCAEF,0BACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,uCAEF,0BACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,uBAIN,gBAAC,IAAD,CAAYoR,MAAM,UAChB,gBAAC,MAAD,CAAQlS,MAAM,MAAMQ,KAAO,GAAE23E,yBAA7B,mBA7Hd,SALV,KAgJkB5tC,EAAKC,gBAhJvB,KAiJI,uBAAK,cAAY,2BAA2BjqC,UAAU,kBACpD,gBAAC,IAAD,CAAK2lC,GAAI,EAAGC,GAAI,GACd,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,qCAIF,gBAAC,IAAD,CAAKi0B,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,eAAeE,UAAU,KAAKkR,MAAM,UAAxD,yBAIF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYA,MAAM,UAChB,gBAAC,MAAD,CACE1R,KAAO,WAAUq1E,KAAmB1yE,0BAA+Bg/C,mBACjE41B,qDAFJ,kBAUN,gBAAC,KAAD,KACE,gBAAC,UAAD,KACE,uBAAKx3E,UAAU,kCACf,gBAAC,IAAD,CAAK8wE,GAAI,GACP,gBAAC,IAAD,CAAYvwE,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,cAIF,gBAAC,IAAD,CAAYpR,QAAQ,OAAOE,UAAU,IAAIkR,MAAM,UAA/C,gDAIF,gBAAC,UAAD,KACE,uBAAK3R,UAAU,6BACf,gBAAC,IAAD,CAAK8wE,GAAI,GACP,gBAAC,IAAD,CAAYvwE,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,aAIF,gBAAC,IAAD,CAAYpR,QAAQ,OAAOE,UAAU,IAAIkR,MAAM,UAA/C,8EAIF,gBAAC,UAAD,KACE,uBAAK3R,UAAU,0CACf,gBAAC,IAAD,CAAK8wE,GAAI,GACP,gBAAC,IAAD,CAAYvwE,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,WAIF,gBAAC,IAAD,CAAYpR,QAAQ,OAAOE,UAAU,IAAIkR,MAAM,UAA/C,iDA5OVwzC,gBAAAA,YAAAA,OAwPN,yBCjQM6yB,KAAO,KACX,SAEIt1E,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAeD,EADjB,EACiBA,OAAQ04C,EADzB,EACyBA,UAAWC,EADpC,EACoCA,IAE9B08B,GAAW7wE,EAAAA,EAAAA,QAAO,MAElB8wE,EAAsB,iBAAd58B,EAA+B,MAAQ,GAC/C68B,EAAkB,OAAR58B,EAAe,KAAO,MA6BtC,OA3BAl0C,EAAAA,EAAAA,YAAU,KAqBR,GAnBAtD,OAAO6uD,iBACL,WACA70D,IACE,GAAIA,EAAEq6E,SAAY,eAAcF,IAAQt1E,KAAUu1E,IAChD,OAEF,MAAMh4E,EAAOpC,EAAEA,EAAEs5C,QAAU,UAAY,QAKvC,GAJIl3C,EAAKkwD,SACPtsD,OAAOwF,SAAS6xD,KAAOj7D,EAAKkwD,QAG1BlwD,EAAKk4E,cAAgBt0E,OAAOk3C,QAAQq9B,UAAW,CACjD,MAAMC,EAAU,GAAEx0E,OAAOwF,SAASivE,aAAaz0E,OAAOwF,SAASC,OAAOzF,OAAOwF,SAASi8B,WAAWrlC,EAAKk4E,eAAet0E,OAAOwF,SAAS6xD,OACrIr3D,OAAOk3C,QAAQq9B,UAAU,CAAEv1E,KAAMw1E,GAAU,GAAIA,OAGnD,GAGEx0E,OAAOwF,SAAS6xD,KAAM,CACxB,MAAM/K,EAAStsD,OAAOwF,SAAS6xD,KAC/B6c,EAAS3wE,QAAQK,KAAO0oD,KAEzB,CAACztD,EAAQs1E,EAAOC,IAGjB,uBAAKn4E,UAAU,iBAAiB,cAAY,mBAC1C,gBAAC,GAAD,CAAsB7B,GAAG,mBAAmB84E,QAAQ,EAAO5pE,MAAM,qCAC/D,0BACEA,MAAM,8BACNrN,UAAU,aACV2H,IAAM,eAAcuwE,IAAQt1E,KAAUu1E,6CACtCzoE,MAAM,OACN+oE,YAAY,IACZC,IAAKT,OA7CTD,KAAAA,YAAAA,OAoDN,c,eCnDA,MAAMW,SAAW,EAAGC,aAAAA,MAClB,SAGIl2E,EAAAA,EAAAA,YAAWC,EAAAA,IAFEC,EADjB,EACEC,YAAeD,OACfonC,EAFF,EAEEA,KAEIzgC,GAAWg8B,EAAAA,EAAAA,MAEXszC,UAAY,IACA,MAAZ7uC,EAAK7rC,IAAe6rC,EAAK8uC,UASzB9uC,EAAK8uC,UAAUjhE,SAASqkB,aACnB,iDAIP,qBACEj8B,KAAO,eAAc2C,6DACrB8zC,OAAO,SACPlzC,IAAI,cAHN,cAZE,qBACEvD,KAAO,eAAc2C,0BAA+B2G,EAAStJ,6DAD/D,wBAsBA84E,EAAO,CACX,gBAAC,IAAD,iBACA,gBAAC,IAAD,KACE,kDACmB,qBAAG94E,KAAO,eAAc2C,cAAxB,qBAGrB,gBAAC,IAAD,KACE,2EAEF,gBAAC,IAAD,KACE,2EAEF,gBAAC,IAAD,KACE,mEAEF,gBAAC,IAAD,KACE,uEAEF,gBAAC,IAAD,KACE,mDAEF,gBAAC,IAAD,KACE,sEAIEo2E,EAAO,CACX,gBAAC,IAAD,oBACA,gBAAC,IAAD,YACA,gBAAC,IAAD,YACA,gBAAC,IAAD,+DACA,gBAAC,IAAD,iBACA,gBAAC,IAAD,kBACA,gBAAC,IAAD,kBACA,gBAAC,IAAD,cAGIC,EAAO,CACX,gBAAC,IAAD,qBACA,gBAAC,IAAD,WACA,gBAAC,IAAD,KAAaJ,aACb,gBAAC,IAAD,KAAaA,aACb,gBAAC,IAAD,kBACA,gBAAC,IAAD,wCACkC,qBAAG54E,KAAO,gBAAe2C,kCAAzB,SAElC,gBAAC,IAAD,iCAC2B,qBAAG3C,KAAO,eAAc2C,qBAAxB,iBAD3B,KAGA,gBAAC,IAAD,YAGIs2E,EAAWN,EAAeK,EAAOD,EACjCG,EAAYP,EAAeI,EAAOC,EAExC,OACE,gBAAC,KAAD,CAAO,cAAY,YACjB,gBAAC,YAAD,KACE,gBAAC,SAAD,KACE,gBAAC,UAAD,KAAaF,EAAK,IAClB,gBAAC,UAAD,CAAY,cAAY,sBAAsBG,EAAS,IACvD,gBAAC,UAAD,KAAaC,EAAU,MAG3B,gBAAC,UAAD,KACE,gBAAC,SAAD,KACE,gBAAC,UAAD,KACE,gBAAC,IAAD,KAAaJ,EAAK,KAEpB,gBAAC,UAAD,KAAaG,EAAS,IACtB,gBAAC,UAAD,KAAaC,EAAU,KAEzB,gBAAC,SAAD,KACE,gBAAC,UAAD,KAAaJ,EAAK,IAClB,gBAAC,UAAD,KAAaG,EAAS,IACtB,gBAAC,UAAD,KAAaC,EAAU,KAEzB,gBAAC,SAAD,KACE,gBAAC,UAAD,KAAaJ,EAAK,IAClB,gBAAC,UAAD,KAAaG,EAAS,IACtB,gBAAC,UAAD,KAAaC,EAAU,KAEzB,gBAAC,SAAD,KACE,gBAAC,UAAD,KAAaJ,EAAK,IAClB,gBAAC,UAAD,KAAaG,EAAS,IACtB,gBAAC,UAAD,KAAaC,EAAU,KAEzB,gBAAC,SAAD,KACE,gBAAC,UAAD,KAAaJ,EAAK,IAClB,gBAAC,UAAD,KAAaG,EAAS,IACtB,gBAAC,UAAD,KAAaC,EAAU,KAEzB,gBAAC,SAAD,KACE,gBAAC,UAAD,KAAaJ,EAAK,IAClB,gBAAC,UAAD,KAAaG,EAAS,IACtB,gBAAC,UAAD,KAAaC,EAAU,KAEzB,gBAAC,SAAD,KACE,gBAAC,UAAD,KAAaJ,EAAK,IAClB,gBAAC,UAAD,KAAaG,EAAS,IACtB,gBAAC,UAAD,KAAaC,EAAU,QArI3BR,SAAAA,YAAAA,WAgJNA,SAAS5xC,aAAe,CACtB6xC,cAAc,GAGhB,kBC7IMQ,IAAM,KACV,SAEI12E,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAeD,EADjB,EACiBA,OAAQ04C,EADzB,EACyBA,WAGzBj0C,EAAAA,EAAAA,YAAU,KACRw9C,iBAAgB,KACd9gD,OAAOkhD,cAAc,aAEtB,IAGH,MAAM2yB,EAA2B,cAAdt8B,GAA2C,iBAAdA,EAA+B,aAAe,GAE9F,OACE,uBAAKt7C,UAAU,gBAAgB,cAAY,kBACzC,gBAAC,GAAD,CAAsB7B,GAAG,kBAAkBkP,MAAM,qCAC/C,uBAAKrN,UAAU,YACb,gBAAC,IAAD,CAAK4lC,GAAI,GACP,gBAAC,IAAD,CAAKkrC,GAAI,GACP,gBAAC,IAAD,CAAKlrC,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UACnD,8DAGJ,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYpR,QAAQ,OAAOoR,MAAM,UAAjC,sFAMJ,gBAAC,IAAD,CAAKi0B,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,MACxC,sFAC6D,IAC3D,qBAAGR,KAAO,eAAc2C,cAAxB,mBAFF,sCAKF,gBAAC,IAAD,CAAKkuE,GAAI,GACP,gBAAC,IAAD,8IAKF,gBAAC,IAAD,CAAKlrC,GAAI,GACP,gBAAC,IAAD,6DAC6D,IAC3D,qBAAG3lC,KAAO,GAAE23E,yBAAZ,yBAFF,MAE6E,IAC3E,qBAAG33E,KAAO,GAAE23E,0BAAZ,0BAHF,MAOF,gBAAC,IAAD,CAAKhyC,GAAI,GACP,gBAAC,GAAD,OAGF,gBAAC,IAAD,KACE,gBAAC,IAAD,wBACkB,qBAAG3lC,KAAO,GAAE23E,UAAZ,uBADlB,sDAOJ,gBAAC,IAAD,CAAKhyC,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,MACxC,sGAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,qDACgD,IAC9C,qBAAGR,KAAO,gBAAe2C,kBAAzB,6BAFF,OAOJ,gBAAC,IAAD,CAAKgjC,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,MACxC,sFAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,iHAES,qBAAGR,KAAK,mBAAR,qBAFT,OAOJ,gBAAC,IAAD,CAAK2lC,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,MACxC,8FAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,kBACY,qBAAGR,KAAK,YAAR,kCADZ,kFAOJ,gBAAC,IAAD,CAAK2lC,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,MACxC,oEAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,2GAEM,qBAAGR,KAAO,eAAc2C,qBAAxB,cAFN,OAOJ,gBAAC,IAAD,CAAKgjC,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,MACxC,mEAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,iFACiF,IAC/E,qBAAGR,KAAK,SAAR,oBAFF,uEAOJ,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAY0R,MAAM,UAAlB,wCACuC,qBAAG1R,KAAO,gBAAe2C,kBAAzB,0BA/H/Cw2E,IAAAA,YAAAA,MAyIN,aChJMC,eAAiB,IAEnB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAKvI,GAAI,GACP,gBAAC,IAAD,KACE,mDAGJ,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,2HAEuD,MAGzD,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,0NAfFuI,eAAAA,YAAAA,iBAwBN,MAAMC,eAAiB,IAEnB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAY/4E,QAAQ,YAAYE,UAAU,MACxC,mDAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,4DADF,soBAUF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,qDADF,iFAEY,qBAAG7wE,KAAK,sDAAR,gBAFZ,0MAIoF,IAClF,mDALF,wHAlBFq5E,eAAAA,YAAAA,iBA+BN,MAAMC,eAAiB,IAEnB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYh5E,QAAQ,YAAYE,UAAU,MACxC,wDAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,yDADF,sEAEU,mDAFV,8HAIE,oDAJF,uJAQF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,oDADF,8fASF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,qEADF,idA1BFyI,eAAAA,YAAAA,iBAsCN,MAAMC,eAAiB,IAEnB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYj5E,QAAQ,YAAYE,UAAU,MACxC,gEAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,gNAMF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,wDADF,4NAMF,0BACE,0BACE,gBAAC,IAAD,6BAEF,0BACE,gBAAC,IAAD,iDAEF,0BACE,gBAAC,IAAD,6DAEF,0BACE,gBAAC,IAAD,qDAEF,0BACE,gBAAC,IAAD,8BAEF,0BACE,gBAAC,IAAD,yBAEF,0BACE,gBAAC,IAAD,mCAEF,0BACE,gBAAC,IAAD,sDAGJ,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,sCADF,IACwB,sDADxB,mGAKF,0BACE,0BACE,gBAAC,IAAD,6DAEF,0BACE,gBAAC,IAAD,uEAEF,0BACE,gBAAC,IAAD,+DAEF,0BACE,gBAAC,IAAD,uGAKJ,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,sCADF,IACwB,gEADxB,kHAKF,0BACE,0BACE,gBAAC,IAAD,kKAEwD,IACtD,qBAAG7wE,KAAK,iEAAR,0BAHF,8CAOF,0BACE,gBAAC,IAAD,2EAEF,0BACE,gBAAC,IAAD,uGAIF,0BACE,gBAAC,IAAD,wJAKF,0BACE,gBAAC,IAAD,sHAlGJu5E,eAAAA,YAAAA,iBA2GN,MAAMC,eAAiB,IAEnB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYl5E,QAAQ,YAAYE,UAAU,MACxC,sDAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,sCADF,IACwB,kDADxB,4RAOF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,qDADF,sJAfF2I,eAAAA,YAAAA,iBAwBN,MAAMC,eAAiB,IAEnB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYn5E,QAAQ,YAAYE,UAAU,MACxC,sDAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,6DADF,mEAIF,0BACE,0BACE,gBAAC,IAAD,0JAKF,0BACE,gBAAC,IAAD,6HAKF,0BACE,gBAAC,IAAD,iIAMJ,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,iEADF,wFAKF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,kEADF,uBAIF,0BACE,0BACE,gBAAC,IAAD,wFAEF,0BACE,gBAAC,IAAD,sJAKF,0BACE,gBAAC,IAAD,mHAKF,0BACE,gBAAC,IAAD,mSA3DJ4I,eAAAA,YAAAA,iBAsEN,MAAMC,eAAiB,IAEnB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYp5E,QAAQ,YAAYE,UAAU,MACxC,4DAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,uDADF,wdAQF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,qDADF,wcAQF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,kEADF,uDAIF,0BACE,0BACE,gBAAC,IAAD,uOAMF,0BACE,gBAAC,IAAD,uIAtCJ6I,eAAAA,YAAAA,iBAgDN,MAAMC,eAAiB,IAEnB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYr5E,QAAQ,YAAYE,UAAU,MACxC,wDAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,wEADF,4SAPF8I,eAAAA,YAAAA,iBAkBN,MAAMC,eAAiB,IAEnB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYt5E,QAAQ,YAAYE,UAAU,MACxC,4DAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,qEADF,2VAKoB,qBAAG7wE,KAAK,gDAAR,kCALpB,0LAUF,gBAAC,IAAD,CAAK6wE,GAAI,GACP,gBAAC,IAAD,KACE,sDADF,woBAUF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,2DADF,4HA7BF+I,eAAAA,YAAAA,iBAsCN,MAAMC,gBAAkB,IAEpB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYv5E,QAAQ,YAAYE,UAAU,MACxC,2CAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,6CADF,4NAPFgJ,gBAAAA,YAAAA,kBAiBN,MAAMC,gBAAkB,IAEpB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYx5E,QAAQ,YAAYE,UAAU,MACxC,uDAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,wEADF,yfASF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,8DADF,kVAOF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,mEADF,k2BAYF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,oEADF,mTAOF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,qDADF,yPAMF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,kEADF,+RAOF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,qDADF,4fASF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,wWAOF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,oFADF,kPAMF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,iEADF,w5BAYF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,mDADF,oXAOF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,iEADF,ugBASF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,iDADF,iyBAWF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,mEADF,kSAOF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,uEADF,oVAzIFiJ,gBAAAA,YAAAA,kBAoJN,MAAMC,gBAAkB,IAEpB,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYz5E,QAAQ,YAAYE,UAAU,MACxC,kDAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,SACS,8CADT,wFAKF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,SACS,qCADT,6KAKF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,SACS,6CADT,sEAIF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,SACS,qCADT,SAC+C,6CAD/C,0FAKF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,SACS,oDADT,mIAKF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,SACS,mDADT,gIAKF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,SACS,2CADT,mMAMF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,SACS,uCADT,gDAIF,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,SACS,sCADT,+EAtDFkJ,gBAAAA,YAAAA,kBA8DN,MAAMC,IAAM,IAER,uBAAKj6E,UAAU,gBAAgB,cAAY,kBACzC,gBAAC,GAAD,CAAsB7B,GAAG,kBAAkB84E,QAAQ,EAAO5pE,MAAM,qCAC9D,uBAAKrN,UAAU,0BACb,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAK2lC,GAAI,GACP,gBAAC,IAAD,CAAYplC,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UACnD,gEAEF,gBAAC,IAAD,CAAYA,MAAM,UAAlB,iBACgB,kDAEhB,gBAAC,IAAD,CAAYA,MAAM,UAAlB,kCAGD0nE,iBAEAC,iBAEAC,iBAEAC,iBAEAC,iBAEAC,iBAEAC,iBAEAC,iBAEAC,iBAEAC,kBAEAC,kBAEAC,kBAED,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYz5E,QAAQ,YAAYE,UAAU,MACxC,4CAEF,gBAAC,IAAD,CAAKqwE,GAAI,GACP,gBAAC,IAAD,KACE,iFAGJ,0BACE,0BACE,gBAAC,IAAD,sEAGJ,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,gFAGJ,0BACE,0BACE,gBAAC,IAAD,KACE,kKAON,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,gFAGJ,0BACE,0BACE,gBAAC,IAAD,KACE,yJAON,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,iFAGJ,0BACE,0BACE,gBAAC,IAAD,KACE,yQAOJ,0BACE,gBAAC,IAAD,KACE,qKAMJ,0BACE,gBAAC,IAAD,KACE,4GAIN,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,iFAGJ,0BACE,0BACE,gBAAC,IAAD,qDAGJ,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,mFAGJ,0BACE,0BACE,gBAAC,IAAD,wGAKJ,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,KACE,oFAGJ,0BACE,0BACE,gBAAC,IAAD,yOA9IZmJ,IAAAA,YAAAA,MA6JN,a,eCpwBA,MAAMC,mBAAqB,IAEvB,gBAAC,KAAD,CAAMv3B,SAAO,EAACtD,aAAW,EAACD,OAAK,GAC7B,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAY7+C,QAAQ,QAApB,qGAC0G,MAG5G,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,qJAEkD,MAGpD,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,8KAEmE,MAGrE,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,8HAKF,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,mIA3BF25E,mBAAAA,YAAAA,qBAoCN,MAAMC,mBAAqB,IAEvB,gBAAC,KAAD,CAAMx3B,SAAO,EAACtD,aAAW,EAACD,OAAK,GAC7B,gBAAC,UAAD,CACEg7B,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAClB,kEADF,qMAMF,gBAAC,UAAD,CACE65E,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAClB,6DADF,iMAMF,gBAAC,UAAD,CACE65E,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAClB,wDADF,uGAKF,gBAAC,UAAD,CACE65E,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAClB,6DADF,+GAhDF45E,mBAAAA,YAAAA,qBAyDN,MAAMG,iBAAmB,KACvB,MACiBh/B,GACb54C,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAey4C,WAGjBj0C,EAAAA,EAAAA,YAAU,KACRw9C,iBAAgB,KACd9gD,OAAOkhD,cAAc,aAEtB,IAGH,MAAM2yB,EAA2B,cAAdt8B,GAA2C,iBAAdA,EAA+B,aAAe,GAE9F,OACE,uBAAKt7C,UAAU,gCAAgC,cAAY,+BACzD,gBAAC,GAAD,CAAsB7B,GAAG,+BAA+BkP,MAAM,qCAC5D,uBAAKrN,UAAU,4BACb,gBAAC,IAAD,CAAK4lC,GAAI,GACP,gBAAC,IAAD,CAAKkrC,GAAI,GACP,gBAAC,IAAD,CAAKlrC,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,2BAIF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYpR,QAAQ,OAAOoR,MAAM,UAAjC,kDAEE,2BAFF,gCAOJ,gBAAC,IAAD,CAAKi0B,GAAI,GACP,gBAAC,KAAD,KACE,gBAAC,UAAD,KACE,uBAAK5lC,UAAU,oBACb,gBAAC,GAAAu6E,eAAD,OAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYh6E,QAAQ,OAAOoR,MAAM,UAAjC,gGAKJ,gBAAC,UAAD,KACE,uBAAK3R,UAAU,oBACb,gBAAC,GAAAw6E,iBAAD,OAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYj6E,QAAQ,OAAOoR,MAAM,UAAjC,kGAKJ,gBAAC,UAAD,KACE,uBAAK3R,UAAU,oBACb,gBAAC,GAAAkrD,UAAD,OAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAY3qD,QAAQ,OAAOoR,MAAM,UAAjC,4FAQR,gBAAC,IAAD,CAAKi0B,GAAI,GACP,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,OAAOoR,MAAM,UAAjC,8HAMF,gBAAC,GAAD,CAAUinE,cAAY,IAEtB,gBAAC,IAAD,CAAKhzC,GAAI,EAAGD,GAAI,GACd,gBAAC,IAAD,CAAYplC,QAAQ,QAApB,0DAC0D,IACxD,qBAAGN,KAAO,GAAE23E,yBAAZ,yBAFF,MAKF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYr3E,QAAQ,QAApB,mBACkB,qBAAGN,KAAK,SAAR,uBADlB,qDAMF,gBAAC,IAAD,CAAK2lC,GAAI,EAAGD,GAAI,GACd,gBAAC,IAAD,CAAYplC,QAAQ,YAAYE,UAAU,MAA1C,2BAKDy5E,qBAED,gBAAC,IAAD,CAAKt0C,GAAI,EAAGD,GAAI,GACd,gBAAC,IAAD,CAAYplC,QAAQ,YAAYE,UAAU,MAA1C,0CAKD05E,2BAzGTG,iBAAAA,YAAAA,mBAkHN,0BC/MMJ,mCAAqB,IAEvB,gBAAC,KAAD,CAAMv3B,SAAO,EAACtD,aAAW,EAACD,OAAK,GAC7B,gBAAC,UAAD,CACEg7B,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAApB,2EAC2E,MAG7E,gBAAC,UAAD,CACE65E,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAApB,8FACmG,MAGrG,gBAAC,UAAD,CACE65E,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAApB,kJAE2E,MAG7E,gBAAC,UAAD,CACE65E,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAApB,+EAC+E,MAGjF,gBAAC,UAAD,CACE65E,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAApB,8FAC8F,MAGhG,gBAAC,UAAD,CACE65E,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAApB,0DAEF,gBAAC,UAAD,CACE65E,UACE,wBAAMp6E,UAAU,cACd,gBAAC,GAAAq6E,gBAAD,QAIJ,gBAAC,IAAD,CAAY95E,QAAQ,QAApB,+FA3EF25E,mCAAAA,YAAAA,qBAmFN,MAAMO,uBAAyB,IAE3B,gBAAC,KAAD,CAAM93B,SAAO,EAACtD,aAAW,EAACD,OAAK,GAC7B,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAY7+C,QAAQ,QAApB,sKAE6D,MAG/D,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,kGACkG,MAGpG,gBAAC,UAAD,KACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,wHAEa,OAjBfk6E,uBAAAA,YAAAA,yBAwBN,MAAMC,gBAAkB,KACtB,MACiBp/B,GACb54C,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAey4C,WAGjBj0C,EAAAA,EAAAA,YAAU,KACRw9C,iBAAgB,KACd9gD,OAAOkhD,cAAc,aAEtB,IAEH,MAAM2yB,EAA2B,cAAdt8B,GAA2C,iBAAdA,EAA+B,aAAe,GAE9F,OACE,uBAAKt7C,UAAU,+BAA+B,cAAY,8BACxD,gBAAC,GAAD,CAAsB7B,GAAG,8BAA8BkP,MAAM,qCAC3D,uBAAKrN,UAAU,2BACb,gBAAC,IAAD,CAAK4lC,GAAI,GACP,gBAAC,IAAD,CAAKkrC,GAAI,GACP,gBAAC,IAAD,CAAKlrC,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAArD,0BAIF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYpR,QAAQ,OAAOoR,MAAM,UAAjC,mHAGE,2BAHF,gCAQJ,gBAAC,IAAD,CAAKi0B,GAAI,GACP,gBAAC,KAAD,KACE,gBAAC,UAAD,KACE,uBAAK5lC,UAAU,mBACb,gBAAC,GAAAojD,eAAD,OAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAY7iD,QAAQ,OAAOoR,MAAM,UAAjC,uEAKJ,gBAAC,UAAD,KACE,uBAAK3R,UAAU,mBACb,gBAAC,GAAA26E,gBAAD,OAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYp6E,QAAQ,OAAOoR,MAAM,UAAjC,2EAKJ,gBAAC,UAAD,KACE,uBAAK3R,UAAU,mBACb,gBAAC,GAAA46E,eAAD,OAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYr6E,QAAQ,OAAOoR,MAAM,UAAjC,+DAQR,gBAAC,IAAD,CAAKi0B,GAAI,GACP,gBAAC,IAAD,CAAKA,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,OAAOoR,MAAM,UAAjC,2GAKF,gBAAC,GAAD,MAEA,gBAAC,IAAD,CAAKi0B,GAAI,EAAGD,GAAI,GACd,gBAAC,IAAD,CAAYplC,QAAQ,QAApB,2DAC2D,IACzD,qBAAGN,KAAO,GAAE23E,0BAAZ,0BAFF,MAKF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYr3E,QAAQ,QAApB,mBACkB,qBAAGN,KAAK,SAAR,uBADlB,qDAMF,gBAAC,IAAD,CAAK0lC,GAAI,EAAGC,GAAI,GACd,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,KAAKkR,MAAM,UAClD,IADH,yBAEyB,MAG3B,gBAAC,IAAD,CAAKi0B,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,OAAOoR,MAAM,UAAjC,gIAE+B,qBAAG1R,KAAK,SAAR,iBAF/B,MAMF,gBAAC,IAAD,CAAK2lC,GAAI,GACP,gBAAC,IAAD,CAAYrlC,QAAQ,YAAYE,UAAU,MAA1C,uBAKDy5E,qCAED,gBAAC,IAAD,CAAKt0C,GAAI,EAAGD,GAAI,GACd,gBAAC,IAAD,CAAYplC,QAAQ,YAAYE,UAAU,MAA1C,uBAKDg6E,yBAED,gBAAC,IAAD,CAAK90C,GAAI,GACP,gBAAC,IAAD,CAAYplC,QAAQ,QAApB,WAEF,gBAAC,IAAD,KACE,gBAAC,IAAD,CAAYA,QAAQ,QAApB,8LA3HVm6E,gBAAAA,YAAAA,kBAwIN,yBC9PMG,mBAAqB,EAAG5/B,QAAAA,MAC5B,MACiBr4C,GACbF,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAeD,OAmBjB,OAhBAyE,EAAAA,EAAAA,YAAU,KACR,MAAMinD,EAAWrT,EAAQsT,QAAO,KAC9BxqD,OAAOyqD,SAAS,EAAG,MAErB,MAAO,KACLF,OAED,CAACrT,IAIkB,oBAAXl3C,QAA0BA,QAAUA,OAAOkhD,gBACpDlhD,OAAOkhD,cAAc,mBACrBlhD,OAAOkhD,cAAc,SAIrB,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAOliD,KAAK,cAActC,UAAWwuD,GAAUrV,OAAK,IACpD,gBAAC,KAAD,CAAO72C,KAAK,2BAA2BtC,UAAWwuD,GAAUrV,OAAK,IACjE,gBAAC,KAAD,CAAO72C,KAAK,kBAAkBtC,UAAWwuD,GAAUrV,OAAK,IACxD,gBAAC,KAAD,CAAO72C,KAAK,oBAAoBtC,UAAWq6E,GAAUlhC,OAAK,IAC1D,gBAAC,KAAD,CAAO72C,KAAK,iBAAiBtC,UAAWs6E,GAASnhC,OAAK,IACtD,gBAAC,KAAD,CAAO72C,KAAK,iBAAiBtC,UAAWu6E,GAASphC,OAAK,IACtD,gBAAC,KAAD,CAAO72C,KAAK,iCAAiCtC,UAAWw6E,GAAsBrhC,OAAK,IACnF,gBAAC,KAAD,CAAO72C,KAAK,gCAAgCtC,UAAWy6E,GAAqBthC,OAAK,IAEjF,gBAAC,KAAD,CACE72C,KAAK,0BACL62C,OAAK,EACLn5C,UAAW,KACTsD,OAAOwF,SAAStJ,KAAQ,eAAc2C,qBAC/B,QAGX,gBAAC,KAAD,CACEG,KAAK,iCACL62C,OAAK,EACLn5C,UAAW,KACTsD,OAAOwF,SAAStJ,KAAQ,eAAc2C,kDAAuDA,QACtF,QAGX,gBAAC,KAAD,CACEG,KAAK,4BACL62C,OAAK,EACLn5C,UAAW,KACTsD,OAAOwF,SAAStJ,KAAQ,eAAc2C,uBAC/B,QAGX,gBAAC,KAAD,CACEG,KAAK,yBACL62C,OAAK,EACLn5C,UAAW,KACTsD,OAAOwF,SAAStJ,KAAQ,eAAc2C,oBAC/B,QAGX,gBAAC,KAAD,CACEG,KAAK,2BACL62C,OAAK,EACLn5C,UAAW,KACTsD,OAAOwF,SAAStJ,KAAQ,eAAc2C,4CAAiDA,QAChF,QAIX,gBAAC,KAAD,CAAOnC,UAAWyuD,EAAAA,OAzElB2rB,mBAAAA,YAAAA,qBAoFN,UAAe7+B,EAAAA,EAAAA,IAAW6+B,oBCjFpBM,IAAM,KACV,MACiB7/B,GACb54C,EAAAA,EAAAA,YAAWC,EAAAA,IADbE,YAAey4C,UAIX/xC,GAAWg8B,EAAAA,EAAAA,MAOjB,MANkB,cAAd+V,GAA2C,iBAAdA,GAC1B/xC,EAASi8B,SAASzgC,WAAW,gBAChCwE,EAASi8B,SAAY,aAAYj8B,EAASi8B,YAK5C,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAOziC,KAAK,iBAAiBtC,UAAWjB,IACxC,gBAAC,KAAD,CAAOuD,KAAK,YAAYtC,UAAW26E,KACnC,gBAAC,KAAD,CAAOr4E,KAAK,SAAStC,UAAW46E,KAChC,gBAAC,KAAD,CAAOt4E,KAAK,8BAA8BtC,UAAW66E,KACrD,gBAAC,KAAD,CAAOv4E,KAAK,iBAAiBtC,UAAW86E,KACxC,gBAAC,KAAD,CAAOx4E,KAAK,cAActC,UAAW+6E,OApBrCL,IAAAA,YAAAA,MAyBN,aChBMxtE,GAA2C,CAC/CU,OAAQ,CACNI,QAAS,UACTgtE,SAAU,UACVjvC,KAAM,UACNkvC,OAAQ,UACRC,QAAS,UACTC,UAAW,UACXC,OAAQ,UACRC,UAAW,UACX7rE,MAAO,UACP3B,SAAU,UACVytE,MAAO,UACP9kE,MAAO,UACPV,MAAO,UACP60B,OAAQ,UACRl0B,OAAQ,UACRI,MAAO,YAIE0kE,GAA+B,CAC1CC,gBAAiBtuE,GAAeU,OAAOI,QACvCytE,QAASvuE,GAAeU,OAAOutE,UAC/BluE,WAAYC,GAAeU,OAAOotE,SAClCU,cAAexuE,GAAeU,OAAOotE,SACrCW,gBAAiBzuE,GAAeU,OAAOqtE,OACvCW,cAAe1uE,GAAeU,OAAOm+B,KACrC8vC,YAAa3uE,GAAeU,OAAOstE,SAGxBpsE,GAA6B,CACxC,CAACnK,EAASS,iBAAkB,CAC1BgK,QAASmsE,GAAcC,iBAEzB,CAAC72E,EAASmB,YAAa,CACrBsJ,QAASmsE,GAActuE,YAEzB,CAACtI,EAASa,eAAgB,CACxB4J,QAASmsE,GAAcG,eAEzB,CAAC/2E,EAASG,iBAAkB,CAC1BsK,QAASmsE,GAAcI,iBAEzB,CAACh3E,EAASe,eAAgB,CACxB0J,QAASmsE,GAAcK,eAEzB,CAACj3E,EAASiB,aAAc,CACtBwJ,QAASmsE,GAAcM,c,snBCvC3B,MAAM5lC,GAASjyC,SAASg8C,eAAe,YAEjC87B,IAAsBpzE,EAAAA,EAAAA,+BAA8BrF,WAAYC,OAAOy4E,GAAGC,wBAA+B,GAY/GF,GAAoBvyC,KAAOuyC,GAAoBvyC,MAAQ,GACvDuyC,GAAoBvyC,KAAKC,gBAAkBsyC,GAAoBvyC,KAAK7rC,IAAsC,MAAhCo+E,GAAoBvyC,KAAK7rC,GAEnG,MACE0E,GAKE05E,GALF15E,YACA65E,GAIEH,GAJFG,cAFF,GAMIH,GAHF,iBAAmBjyB,GAHrB,GAGqBA,QAASqyB,GAH9B,GAG8BA,WAAYC,GAH1C,GAG0CA,WAH1C,GAMIL,GAFFM,IAJF,gBAI2B,GAJ3B,IAISC,SAAAA,QAJT,OAIoB,GAJpB,GAK2BC,GACvBR,GADF,0BAIFS,EAAAA,EAAAA,IAA6BD,IAE7B,IAAIE,GAAiB,KAErB,MAAM5e,GAAe6e,GAAAA,CAA0B,CAC7CC,IAAKP,GACLQ,eAAgBN,GAChBJ,cAAAA,GACAW,kBCtDa,SAASC,4BACtB,OAAO,IAAIC,EAAAA,6BAA6B,CACtCC,6BAA4BA,KDqD9BC,YAAa,CACXz8B,YAAa,UACb08B,cAAe,IAEjBC,SAAU,CAAErzB,QAAAA,GAASqyB,WAAAA,IACrBiB,wBAAyB,KAOrBC,GAAcC,GAAAA,CAAM,GAAIlyE,EAAAA,GDJvB,SAASmyE,kBACd,MAAO,CACLpwE,eAAAA,GACAquE,cAAAA,GACAzsE,aAAAA,ICAuCwuE,IAErCC,SAAWC,GACf,gBAAC,KAAD,CAAqBC,MAAOL,IAC1B,gBAAC,KAAD,CAAeM,kBAAmBC,EAAAA,IAChC,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAgB7f,OAAQF,IACtB,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAgB10D,MAAK,sBAAO4yE,KAC1B,gBAAC,EAAA8B,aAAD,CACEpB,eAAgBgB,EAChBK,WAAYz7E,GAAYqV,iBACxB1P,aAAc3F,GAAY2F,cAE1B,gBAAC,GAAD,aAZVw1E,SAAAA,YAAAA,WAoCG,IAAIpgF,SAAQC,IACoB,UAAjCgF,GAAYqV,iBACdra,EAAQo/E,IAERr/E,QAAQ2gF,IAAI,CACV,QAAiD,KAAwB17E,GAAYqV,oBACrF,QACsD,KAAwCrV,GAAYqV,sBAEzGpa,MAAK,EAAE0gF,EAAaC,MACrB5gF,EAAQ,yCACH2gF,GACAC,UAQV3gF,MAAKmgF,IACJhB,GAAiBgB,KAElBS,SAAQ,MACNhoC,GAAOioC,UAAU11C,OAAOhkC,OAAS25E,EAAAA,QAAU1jC,EAAAA,QAAQ8iC,SAASf,IAAiBx4E,SAASg8C,eAAe,iB,SExItG,IAAIo+B,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,qBAAqB,oBAAsB,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,cAAc,IAAM,CAAC,MAAQ,EAAE,IAAM,KAC7tBA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,yGAAyG,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqB/L,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,kBAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAKiCF,CAASf,EAAK,sB,SCvHxD,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yCAAyC,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yCAAyC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,WAAW,IAAM,CAAC,MAAQ,EAAE,IAAM,MAChiCA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,qKAAqK,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqB3P,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,sCAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAKqDF,CAASf,EAAK,0C,SCvH5E,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,uBAAuB,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,WAAW,IAAM,CAAC,MAAQ,EAAE,IAAM,MAC/0BA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,4GAA4G,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBlM,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,aAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAK4BF,CAASf,EAAK,iB,SCvHnD,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yCAAyC,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yCAAyC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,iBAAiB,IAAM,CAAC,MAAQ,EAAE,IAAM,MAC/1EA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,kVAAkV,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBxa,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,sCAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAKqDF,CAASf,EAAK,0C,SCvH5E,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,oCAAoC,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,oCAAoC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,6BAA6B,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,cAAc,IAAM,CAAC,MAAQ,EAAE,IAAM,MAC1/HA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,ytBAAytB,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqB/yB,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,iCAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAKgDF,CAASf,EAAK,qC,SCvHvE,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sCAAsC,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sCAAsC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,6BAA6B,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,cAAc,IAAM,CAAC,MAAQ,EAAE,IAAM,MAC9/HA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,6tBAA6tB,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBnzB,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,mCAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAKkDF,CAASf,EAAK,uC,SCvHzE,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,wCAAwC,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,sCAAsC,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gCAAgC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,iBAAiB,IAAM,CAAC,MAAQ,EAAE,IAAM,MACt1GA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,uhBAAuhB,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqB7mB,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,qCAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAKoDF,CAASf,EAAK,yC,SCvH3E,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,uCAAuC,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,uCAAuC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gCAAgC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,mBAAmB,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gCAAgC,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,uCAAuC,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gCAAgC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,iBAAiB,IAAM,CAAC,MAAQ,EAAE,IAAM,OACr1NA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,0jCAA0jC,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBhpC,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,GAKb,SAAS28C,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,GA9DT,SAAUJ,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,oCAAwDohF,SAASf,EAAK,uCAEtEtgF,EAAOC,QAAP,6BAAiDohF,SAASf,EAAK,iC,SCzHnE,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,iBAAiB,IAAM,CAAC,MAAQ,EAAE,IAAM,MAC/7DA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,mTAAmT,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBzY,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,sBAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAKqCF,CAASf,EAAK,0B,SCvH5D,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,+CAA+C,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yCAAyC,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,iBAAiB,IAAM,CAAC,MAAQ,EAAE,IAAM,MAC7hFA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,4XAA4X,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBld,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,4CAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAK2DF,CAASf,EAAK,gD,SCvHlF,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,6BAA6B,oBAAsB,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,cAAc,UAAY,GAAG,WAAa,WAAW,IAAM,CAAC,MAAQ,EAAE,IAAM,KAC1gBA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,yFAAyF,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqB/K,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,0BAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAKyCF,CAASf,EAAK,8B,SCvHhE,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,oBAAsB,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,gBAAgB,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,oBAAsB,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,sBAAsB,UAAY,GAAG,WAAa,cAAc,IAAM,CAAC,MAAQ,EAAE,IAAM,MACl5EA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,mXAAmX,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBzc,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,GAKb,SAAS28C,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,GA9DT,SAAUJ,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,QAA4BohF,SAASf,EAAK,WAE1CtgF,EAAOC,QAAP,KAAyBohF,SAASf,EAAK,S,SCzH3C,IAAIA,EAAM,CAAC,KAAO,WAAW,YAAc,CAAC,CAAC,KAAO,sBAAsB,UAAY,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,4BAA4B,oBAAsB,CAAC,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,aAAe,CAAC,KAAO,cAAc,MAAQ,KAAK,OAAQ,GAAO,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,aAAe,CAAC,KAAO,cAAc,MAAQ,KAAK,OAAQ,GAAO,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,mBAAmB,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,WAAa,IAAI,CAAC,KAAO,qBAAqB,SAAW,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,KAAO,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,cAAc,KAAO,CAAC,KAAO,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,8BAA8B,WAAa,KAAK,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,yBAAyB,UAAY,CAAC,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,kBAAkB,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,MAAQ,CAAC,KAAO,WAAW,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,MAAQ,CAAC,KAAO,OAAO,MAAQ,YAAY,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,qBAAqB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,gBAAgB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,eAAe,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,iBAAiB,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,aAAa,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,OAAO,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,UAAU,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,MAAM,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,WAAW,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,YAAY,UAAY,GAAG,WAAa,UAAU,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,oBAAoB,UAAY,GAAG,WAAa,GAAG,aAAe,CAAC,KAAO,eAAe,WAAa,CAAC,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,QAAQ,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,SAAS,UAAY,GAAG,WAAa,IAAI,CAAC,KAAO,QAAQ,KAAO,CAAC,KAAO,OAAO,MAAQ,OAAO,UAAY,GAAG,WAAa,cAAc,IAAM,CAAC,MAAQ,EAAE,IAAM,MAChnLA,EAAIC,IAAI7K,OAAS,CAAC,KAAO,ugCAA2gC,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBjmC,SAAS8K,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAKrgF,KACPsgF,EAAKjoB,IAAIgoB,EAAKpgF,KAAK+K,YACd,GAAkB,uBAAdq1E,EAAKrgF,KAA+B,CAC7C,IAAIkJ,EAAOm3E,EAAKn3E,KACE,cAAdA,EAAKlJ,MACPsgF,EAAKjoB,IAAInvD,EAAKjJ,KAAK+K,OAInBq1E,EAAKE,cACPF,EAAKE,aAAaC,WAAWv6E,SAAQ,SAASw6E,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoBz6E,SAAQ,SAAS06E,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY36E,SAAQ,SAAS06E,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAKjgF,GAC1B,IAAK,IAAImwC,EAAI,EAAGA,EAAI8vC,EAAIU,YAAYt6E,OAAQ8pC,IAAK,CAC/C,IAAI9L,EAAU47C,EAAIU,YAAYxwC,GAC9B,GAAI9L,EAAQrkC,MAAQqkC,EAAQrkC,KAAK+K,OAAS/K,EACxC,OAAOqkC,IAdb,SAAUy8C,oBACRb,EAAIU,YAAY36E,SAAQ,SAAS06E,GAC/B,GAAIA,EAAI1gF,KAAM,CACZ,IAAIqgF,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAI1gF,KAAK+K,OAASs1E,MALvC,GAiEA1gF,EAAOC,QAAUqgF,EAEbtgF,EAAOC,QAAP,yBAhDJ,SAASohF,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACXnhF,KAAMkgF,EAAIlgF,KACV4gF,YAAa,CAACE,cAAcZ,EAAKgB,KAE/BhB,EAAIkB,eAAe,SACrBD,EAAOhB,IAAMD,EAAIC,KAKnB,IAAIkB,EAASR,EAAeK,IAAkB,IAAIF,IAC9CM,EAAU,IAAIN,IACdO,EAAU,IAAIP,IAOlB,IAJAK,EAAOp7E,SAAQ,SAASu7E,GACtBD,EAAQlpB,IAAImpB,MAGPD,EAAQ/zE,KAAO,GAAG,CACvB,IAAIi0E,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAASx7E,SAAQ,SAASu7E,GACnBF,EAAQI,IAAIF,KACfF,EAAQjpB,IAAImpB,IACIX,EAAeW,IAAY,IAAIR,KACrC/6E,SAAQ,SAAS07E,GACzBJ,EAAQlpB,IAAIspB,UAapB,OAPAL,EAAQr7E,SAAQ,SAASu7E,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAYh9C,KAAKg+C,MAIrBT,EAKwCF,CAASf,EAAK,6B,y33BCxHnEtgF,EAAOC,QAAUgiF,O","sources":["/app/apps/contentweb/node_modules/@sm/webassets/dist/locales/translated|lazy|/^/.//.*$/|chunkName: i18n/webassets/[request]|groupOptions: {}|namespace object","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/UsedInOrgs/getLocalizedLogos/images|lazy|/^/.//.*/-/-lg/.png$/|groupOptions: {}|namespace object","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/UsedInOrgs/getLocalizedLogos/images|lazy|/^/.//.*/.png$/|groupOptions: {}|namespace object","/app/apps/contentweb/src/locales/translated|lazy|/^/.//.*$/|chunkName: i18n/[request]|groupOptions: {}|namespace object","/app/apps/contentweb/src/app/helpers/fragmentTypes.js","/app/apps/contentweb/src/app/pages/LinkBlocked/index.js","/app/apps/contentweb/src/app/pages/Pricing/lib/HelmetWrapper/HelmetWrappers.tsx","/app/apps/contentweb/src/app/pages/Pricing/lib/HelmetWrapper/index.ts","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/links.ts","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/SEO.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/SeoHeadTags.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/HrefLangsTags.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/SEO/copy.js","/app/apps/contentweb/src/shared/util.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/constants.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Layout/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/useScripts.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PricingExperience/index.js","/app/apps/contentweb/src/app/pages/Pricing/lib/summaryPackages.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/PricingExperience/PricingExperienceContext.ts","/app/apps/contentweb/src/app/pages/Pricing/hocs/withPageHandler.tsx","/app/apps/contentweb/src/app/pages/Pricing/copy.js","/app/apps/contentweb/src/shared/constants/sizes.ts","/app/apps/contentweb/src/shared/media-query.ts","/app/apps/contentweb/src/app/pages/Pricing/components/MainHeading/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/MainHeading/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Navigation/routes.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Navigation/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Navigation/NavItem.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Navigation/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PackageCta/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackageCta/copy.js","/app/apps/contentweb/src/app/pages/Pricing/components/PackageCta/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PackageCta/getCTAOptions.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/packageDefs.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackageHeader/PackagePrice.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PackageHeader/PackageByline.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Ribbon/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Ribbon/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/PackageHeader/copy.js","/app/apps/contentweb/src/app/pages/Pricing/lib/lib-helpers.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackageHeader/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/PackageHeader/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/FeatureSet/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Tooltip/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Tooltip/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/FeatureSet/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/hooks/useSummaryDisplayFeatures.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/useFeatureSet.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/defaultSummaryFeatures.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/packageFeatures/tooltipCopy.js","/app/apps/contentweb/src/app/pages/Pricing/lib/packageFeatures/summary/copy.js","/app/apps/contentweb/src/app/pages/Pricing/lib/packageFeatures/details/copy.js","/app/apps/contentweb/src/app/pages/Pricing/lib/packageFeatures/index.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/featureRules.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/summaryFeaturesTransformer.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/StandardMonthly.ts","/app/apps/contentweb/src/app/pages/Pricing/transformers/summary/index.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/Package.tsx","/app/apps/contentweb/src/app/pages/Pricing/lib/proptypes.js","/app/apps/contentweb/src/app/pages/Pricing/components/AudienceFooter/config/features.js","/app/apps/contentweb/src/app/pages/Pricing/components/AudienceFooter/components/EnabledCheckMark.js","/app/apps/contentweb/src/app/pages/Pricing/components/AudienceFooter/components/DisabledCheckMark.js","/app/apps/contentweb/src/app/pages/Pricing/components/AudienceFooter/index.js","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/SummaryFooter.js","/app/apps/contentweb/src/app/pages/Pricing/components/ComparisonTable/ComparisonTable.js","/app/apps/contentweb/src/app/pages/Pricing/components/ComparisonTable/ComparisonTableHeader.js","/app/apps/contentweb/src/app/pages/Pricing/components/ComparisonTable/ComparisonTableHeaderCell.js","/app/apps/contentweb/src/app/pages/Pricing/components/ComparisonTable/ComparisonTableCategory.js","/app/apps/contentweb/src/app/pages/Pricing/components/ComparisonTable/ComparisonTableFeatureRow.js","/app/apps/contentweb/src/app/pages/Pricing/components/ComparisonTable/ComparisonTableFeatureCell.js","/app/apps/contentweb/src/app/pages/Pricing/components/ComparisonTable/ComparisonTableFooter.js","/app/apps/contentweb/src/app/pages/Pricing/components/ComparisonTable/ComparisonTableFooterCell.js","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/SummaryComparisonTableHeader.js","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/SummaryComparisonTableFooter.js","/app/apps/contentweb/src/app/pages/Pricing/lib/helpers.js","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/SummaryComparisonTable.js","/app/apps/contentweb/src/app/pages/Pricing/pages/Summary/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/usePackagesWithCTALabel.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/shared/utilities/page.ts","/app/apps/contentweb/src/app/pages/Pricing/components/BackToSummary/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/BackToSummary/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/PackageHeader/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/PackageHeader/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/groupings.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/Categories/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/Categories/copy.js","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/Categories/FeatureCell.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/DetailsTable/Categories/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/transformers/details/index.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/Details/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/HubSpotTypes.ts","/app/apps/contentweb/src/app/pages/Pricing/hooks/useHubSpotAPI.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/Enterprise/copy.js","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/HubSpotErrorBanner.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/HubspotInput.tsx","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/Validation.ts","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/helpers.ts","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/components/HubSpotForm/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Enterprise/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/Enterprise/ContactUs.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Educational/useStyles.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/index.ts","/app/apps/contentweb/src/app/pages/Pricing/pages/Summary/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Enterprise/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Details/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/pages/Educational/index.tsx","/app/apps/contentweb/src/app/pages/Pricing/PricingRoutes.tsx","/app/apps/contentweb/src/app/pages/Pricing/index.tsx","/app/apps/contentweb/src/app/pages/AppsDirectory/components/SearchBox/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Home/components/JumboHeader/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppLink/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Home/components/AppsGrid/AppsGrid.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Home/components/AppsGrid/AppsGridSkeleton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Home/components/AppsGrid/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/NavBar/SideBarSkeleton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/LinkWithSearch/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/NavBar/index.js","/app/apps/contentweb/src/app/pages/components/UCSModule/UCSModuleLoaders/index.js","/app/apps/contentweb/src/app/pages/components/UCSModule/index.js","/app/apps/contentweb/src/app/helpers/getCanonicalUrlOrNoIndex.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppDirNavHeader/switchAccountsUrl.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppDirNavHeader/AppDirNavHeaderDesktop.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppDirNavHeader/AppDirNavHeaderMobile.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppDirNavHeader/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/ModernHeader/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/AppDirectoryBasePage.js","/app/apps/contentweb/src/app/helpers/waitForUsabilla.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Home/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppListingList/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppListingList/AppListingSkeleton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Listings/Categories.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Listings/ListingsBasePage.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Listings/Featured.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Listings/MostPopular.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Listings/RecentlyAdded.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Search/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/RemoveApp/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/MyApps/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Details/AppDirectoryAppDetailsSkeleton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/UCSModule/UCSModuleLoaders/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/UCSModule/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Details/MediaCarousel.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Details/AppDetailsItem.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Details/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/JumboHeader/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppCard/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/components/AppsGrid/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/SearchContext/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/SearchContext/FilterOptions.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/FilterNav/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/AppDirectoryBasePage.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/HomeV2/index.js","/app/apps/contentweb/src/app/pages/AppsDirectory/index.js","/app/apps/contentweb/src/app/pages/MRX/enums.js","/app/apps/contentweb/src/app/pages/MRX/helpers/useBrowser.js","/app/apps/contentweb/src/app/pages/MRX/helpers/getClickHandlers.js","/app/apps/contentweb/src/app/pages/MRX/helpers/useIsomorphicLayoutEffect.js","/app/apps/contentweb/src/app/pages/MRX/helpers/getLinkWithParams.js","/app/apps/contentweb/src/app/pages/MRX/helpers/logging.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/enums.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/scrollListener.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/logger.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/copy.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/helpers/menuConfig.js","/app/apps/contentweb/src/app/pages/MRX/propTypes.js","/app/apps/contentweb/src/app/pages/MRX/helpers/useCursor.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/ExpandableMenu/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForDesktop.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForTablet.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForIE/DesktopNavForIE.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForIE/MobileNavForIE.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/NavForIE/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/MRXNav/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXPage/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/MRXHeader/index.js","/app/apps/contentweb/src/app/pages/MRX/helpers/swipe.js","/app/apps/contentweb/src/app/pages/MRX/sharedComponents/MRXCarousel/index.js","/app/apps/contentweb/src/app/pages/MRX/sharedComponents/Anchor.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/ProductCategory/ProductTile/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/ProductCategory/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/HereToHelp/index.js","/app/apps/contentweb/src/app/pages/MRX/sharedComponents/CustomScreen/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/UsedInOrgs/getLocalizedLogos/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/UsedInOrgs/index.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/filter.js","/app/apps/contentweb/src/app/pages/MRX/helpers/SynchronousQueryStream.js","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/CreateWizardConfigContext.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/questionTypes.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/MultipleChoice/ChoiceOptions.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/MultipleChoice/SurveyChoice.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/MultipleChoice/QuizChoice.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/MultipleChoice/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/helper.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/actionTypes.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/questions.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/questionTransformer/questionFromApi.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/questionTransformer/questionToApi.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/inputConfig.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/NewSurvey/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/IconWrapper/IconPoll.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/IconWrapper/IconSurvey.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/IconWrapper/IconTemplate.js","/app/apps/contentweb/src/app/pages/CreateWizard/components/IconWrapper/IconQuiz.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/Home/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/Templates/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/DefaultCreateWizardConfig.js","/app/apps/contentweb/src/app/pages/CreateWizard/index.js","/app/apps/contentweb/src/app/helpers/makeLinksStatic.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/DeveloperWebNavHeader/DeveloperWebNavHeaderDesktop.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/DeveloperWebNavHeader/DeveloperWebNavHeaderMobile.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/DeveloperWebNavHeader/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/ModernHeader/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/DeveloperWebBasePage.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/Home/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/Docs/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/components/AppTable/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/FAQ/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/TOU/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/BuildAPrivateApp/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/BuildAPublicApp/index.js","/app/apps/contentweb/src/app/pages/DeveloperWeb/index.js","/app/apps/contentweb/src/app/App.js","/app/apps/contentweb/src/app/styles/pricing/pricing-theme.ts","/app/apps/contentweb/src/app/entry.js","/app/apps/contentweb/src/app/helpers/fragmentMatcher.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/AppDirNavHeader/AppDirNavHeader.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/components/NavBar/NavBar.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/components/RemoveApp/remove-app.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/components/SearchBox/SearchBox.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Details/preview-application-listing-details.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Details/published-application-listing-details.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Home/components/AppsGrid/AppsGrid.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Listings/listings.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/MyApps/myApps.graphql","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/Search/search.graphql","/app/apps/contentweb/src/app/pages/DeveloperWeb/pages/Home/home.graphql","/app/apps/contentweb/src/app/pages/MRX/MRXSolutions/solutions.graphql","/app/apps/contentweb/src/app/pages/Pricing/lib/PricingExperience/PricingExperience.graphql","/app/apps/contentweb/external \"jsdom\""],"sourcesContent":["var map = {\n\t\"./da-DK\": [\n\t\t833,\n\t\t495\n\t],\n\t\"./da-DK.json\": [\n\t\t833,\n\t\t495\n\t],\n\t\"./de-DE\": [\n\t\t963,\n\t\t495\n\t],\n\t\"./de-DE.json\": [\n\t\t963,\n\t\t495\n\t],\n\t\"./es-LA\": [\n\t\t6137,\n\t\t495\n\t],\n\t\"./es-LA.json\": [\n\t\t6137,\n\t\t495\n\t],\n\t\"./fi-FI\": [\n\t\t1049,\n\t\t495\n\t],\n\t\"./fi-FI.json\": [\n\t\t1049,\n\t\t495\n\t],\n\t\"./fr-FR\": [\n\t\t3798,\n\t\t495\n\t],\n\t\"./fr-FR.json\": [\n\t\t3798,\n\t\t495\n\t],\n\t\"./it-IT\": [\n\t\t6977,\n\t\t495\n\t],\n\t\"./it-IT.json\": [\n\t\t6977,\n\t\t495\n\t],\n\t\"./ja-JP\": [\n\t\t8572,\n\t\t495\n\t],\n\t\"./ja-JP.json\": [\n\t\t8572,\n\t\t495\n\t],\n\t\"./ko-KR\": [\n\t\t7602,\n\t\t495\n\t],\n\t\"./ko-KR.json\": [\n\t\t7602,\n\t\t495\n\t],\n\t\"./nl-NL\": [\n\t\t4742,\n\t\t495\n\t],\n\t\"./nl-NL.json\": [\n\t\t4742,\n\t\t495\n\t],\n\t\"./no-NO\": [\n\t\t7813,\n\t\t495\n\t],\n\t\"./no-NO.json\": [\n\t\t7813,\n\t\t495\n\t],\n\t\"./pt-BR\": [\n\t\t8815,\n\t\t495\n\t],\n\t\"./pt-BR.json\": [\n\t\t8815,\n\t\t495\n\t],\n\t\"./ru-RU\": [\n\t\t7962,\n\t\t495\n\t],\n\t\"./ru-RU.json\": [\n\t\t7962,\n\t\t495\n\t],\n\t\"./sv-SE\": [\n\t\t9207,\n\t\t495\n\t],\n\t\"./sv-SE.json\": [\n\t\t9207,\n\t\t495\n\t],\n\t\"./tr-TR\": [\n\t\t8314,\n\t\t495\n\t],\n\t\"./tr-TR.json\": [\n\t\t8314,\n\t\t495\n\t],\n\t\"./zh-TW\": [\n\t\t2729,\n\t\t495\n\t],\n\t\"./zh-TW.json\": [\n\t\t2729,\n\t\t495\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 8686;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./allbirds_logo--lg.png\": [\n\t\t8287,\n\t\t287\n\t],\n\t\"./ibm_logo--lg.png\": [\n\t\t6450,\n\t\t450\n\t],\n\t\"./just_logo--lg.png\": [\n\t\t3508,\n\t\t508\n\t],\n\t\"./rj_logo--lg.png\": [\n\t\t6612,\n\t\t612\n\t],\n\t\"./tweezerman_logo--lg.png\": [\n\t\t3397,\n\t\t397\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 1 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 5428;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./allbirds_logo--lg.png\": [\n\t\t8287,\n\t\t287\n\t],\n\t\"./allbirds_logo.png\": [\n\t\t3479,\n\t\t479\n\t],\n\t\"./ibm_logo--lg.png\": [\n\t\t6450,\n\t\t450\n\t],\n\t\"./ibm_logo.png\": [\n\t\t1659,\n\t\t659\n\t],\n\t\"./just_logo--lg.png\": [\n\t\t3508,\n\t\t508\n\t],\n\t\"./just_logo.png\": [\n\t\t3320,\n\t\t320\n\t],\n\t\"./rj_logo--lg.png\": [\n\t\t6612,\n\t\t612\n\t],\n\t\"./rj_logo.png\": [\n\t\t2585,\n\t\t585\n\t],\n\t\"./tweezerman_logo--lg.png\": [\n\t\t3397,\n\t\t397\n\t],\n\t\"./tweezerman_logo.png\": [\n\t\t639,\n\t\t639\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 1 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 394;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./da-DK\": [\n\t\t9302,\n\t\t2\n\t],\n\t\"./da-DK.json\": [\n\t\t9302,\n\t\t2\n\t],\n\t\"./de-DE\": [\n\t\t9125,\n\t\t750\n\t],\n\t\"./de-DE.json\": [\n\t\t9125,\n\t\t750\n\t],\n\t\"./es-LA\": [\n\t\t4547,\n\t\t597\n\t],\n\t\"./es-LA.json\": [\n\t\t4547,\n\t\t597\n\t],\n\t\"./fi-FI\": [\n\t\t3989,\n\t\t675\n\t],\n\t\"./fi-FI.json\": [\n\t\t3989,\n\t\t675\n\t],\n\t\"./fr-FR\": [\n\t\t3836,\n\t\t821\n\t],\n\t\"./fr-FR.json\": [\n\t\t3836,\n\t\t821\n\t],\n\t\"./it-IT\": [\n\t\t2546,\n\t\t174\n\t],\n\t\"./it-IT.json\": [\n\t\t2546,\n\t\t174\n\t],\n\t\"./ja-JP\": [\n\t\t5340,\n\t\t93\n\t],\n\t\"./ja-JP.json\": [\n\t\t5340,\n\t\t93\n\t],\n\t\"./ko-KR\": [\n\t\t3097,\n\t\t890\n\t],\n\t\"./ko-KR.json\": [\n\t\t3097,\n\t\t890\n\t],\n\t\"./nl-NL\": [\n\t\t1212,\n\t\t574\n\t],\n\t\"./nl-NL.json\": [\n\t\t1212,\n\t\t574\n\t],\n\t\"./no-NO\": [\n\t\t2883,\n\t\t244\n\t],\n\t\"./no-NO.json\": [\n\t\t2883,\n\t\t244\n\t],\n\t\"./pt-BR\": [\n\t\t3924,\n\t\t319\n\t],\n\t\"./pt-BR.json\": [\n\t\t3924,\n\t\t319\n\t],\n\t\"./ru-RU\": [\n\t\t6917,\n\t\t484\n\t],\n\t\"./ru-RU.json\": [\n\t\t6917,\n\t\t484\n\t],\n\t\"./sv-SE\": [\n\t\t7570,\n\t\t130\n\t],\n\t\"./sv-SE.json\": [\n\t\t7570,\n\t\t130\n\t],\n\t\"./tr-TR\": [\n\t\t8016,\n\t\t580\n\t],\n\t\"./tr-TR.json\": [\n\t\t8016,\n\t\t580\n\t],\n\t\"./zh-TW\": [\n\t\t1515,\n\t\t10\n\t],\n\t\"./zh-TW.json\": [\n\t\t1515,\n\t\t10\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 4067;\nmodule.exports = webpackAsyncContext;","// TODO: This needs to be updated whenever we add new INTERFACE types and should be automated in the future\n// https://www.apollographql.com/docs/react/advanced/fragments.html#fragment-matcher\n\n// Manual update steps: https://code.corp.surveymonkey.com/thomask/GQLFragmentMatcher\n\nconst introspectionQueryResultData = {\n __schema: {\n types: [\n {\n kind: 'INTERFACE',\n name: 'SurveyQuestion',\n possibleTypes: [\n { name: 'PresentationQuestion' },\n { name: 'SingleChoiceQuestion' },\n { name: 'MultipleChoiceQuestion' },\n { name: 'OpenEndedQuestion' },\n { name: 'MatrixQuestion' },\n { name: 'DemographicQuestion' },\n { name: 'ClickMapQuestion' },\n { name: 'DatetimeQuestion' },\n { name: 'BasicQuestion' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'BaseQuestionHeader',\n possibleTypes: [{ name: 'SurveyQuestionHeader' }, { name: 'VideoStimuliSurveyQuestionHeader' }],\n },\n {\n kind: 'INTERFACE',\n name: 'PaginatedList',\n possibleTypes: [\n { name: 'AnalysisStandardViewList' },\n { name: 'RespondentList' },\n { name: 'SurveyRespondentResultsList' },\n { name: 'SurveyQuestionColumnChoiceList' },\n { name: 'SurveyQuestionList' },\n { name: 'CollaboratorList' },\n { name: 'CollectorList' },\n { name: 'CrossTabReportList' },\n { name: 'AnalysisResultsDashboardList' },\n { name: 'SurveyPageList' },\n { name: 'AnalysisSharedViewList' },\n { name: 'SurveyQuestionRowList' },\n { name: 'SurveyQuestionOptionList' },\n { name: 'WordCloudTagList' },\n { name: 'SurveyOtherResponseList' },\n { name: 'TeamImageAssetsList' },\n { name: 'ApplicationListingList' },\n { name: 'LibraryAssetsList' },\n { name: 'SurveyList' },\n { name: 'AnalysisExportJobList' },\n { name: 'SurveyTemplateList' },\n { name: 'SurveyCategoryList' },\n { name: 'SurveyCategoryIdList' },\n { name: 'SurveyTemplateCategoryList' },\n { name: 'SurveyTemplateAttributesList' },\n { name: 'TeamSurveyList' },\n { name: 'SurveyQuestionTemplateList' },\n { name: 'BillingInvoiceList' },\n { name: 'SurveyQuestionColumnList' },\n { name: 'NotificationPreferenceList' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'AnalysisStandardViewFilterRule',\n possibleTypes: [\n { name: 'QnAFilter' },\n { name: 'CollectorFilter' },\n { name: 'QuizScoreBucketsFilter' },\n { name: 'TimePeriodFilter' },\n { name: 'CompletenessFilter' },\n { name: 'RandomAssignmentFilter' },\n { name: 'RelativeTimePeriodFilter' },\n { name: 'ResponseQualityFilter' },\n { name: 'SinceLastInviteFilter' },\n { name: 'TagFilter' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'AnalysisStandardViewCompareRule',\n possibleTypes: [{ name: 'QuestionAndAnswerCompare' }, { name: 'RandomAssignmentCompare' }],\n },\n {\n kind: 'UNION',\n name: 'SurveyRespondentAnswer',\n possibleTypes: [\n { name: 'SurveyChoiceResponse' },\n { name: 'SurveyImageChoiceResponse' },\n { name: 'SurveyOtherResponse' },\n { name: 'SurveyOpenEndedResponse' },\n { name: 'SurveyMatrixResponse' },\n { name: 'SurveyMatrixOtherResponse' },\n { name: 'SurveyMatrixDropDownResponse' },\n { name: 'SurveyMatrixOpenEndedResponse' },\n { name: 'SurveyFileUploadResponse' },\n { name: 'SurveyPaymentResponse' },\n { name: 'SurveyPresentationImageResponse' },\n { name: 'SurveyPresentationTextResponse' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'SurveyQuestionOption',\n possibleTypes: [\n { name: 'SurveyQuestionRow' },\n { name: 'SurveyQuestionOther' },\n { name: 'SurveyQuestionColumn' },\n { name: 'SurveyQuestionColumnChoice' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'Project',\n possibleTypes: [{ name: 'ConceptTestingProject' }],\n },\n {\n kind: 'INTERFACE',\n name: 'ProjectVariableConfiguration',\n possibleTypes: [\n { name: 'DefaultConfiguration' },\n { name: 'ImageStimuliVariableConfiguration' },\n { name: 'TextStimuliVariableConfiguration' },\n { name: 'VideoStimuliVariableConfiguration' },\n { name: 'ProductStimuliVariableConfiguration' },\n { name: 'NormsVariableConfiguration' },\n { name: 'AttributesVariableConfiguration' },\n { name: 'StimuliComparisonQuestionVariableConfiguration' },\n { name: 'CustomQuestionsBeforeStimuliVariableConfiguration' },\n { name: 'CustomQuestionsAfterStimuliVariableConfiguration' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'ProjectVariableAnswer',\n possibleTypes: [\n { name: 'QuestionVariableAnswer' },\n { name: 'QuestionBankVariableAnswer' },\n { name: 'ValueVariableAnswer' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'ConceptTestingStimulus',\n possibleTypes: [{ name: 'ConceptTestingTextStimulus' }, { name: 'ConceptTestingImageStimulus' }],\n },\n {\n kind: 'UNION',\n name: 'AttributeQuestion',\n possibleTypes: [\n { name: 'SingleChoiceQuestion' },\n { name: 'MultipleChoiceQuestion' },\n { name: 'OpenEndedQuestion' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'QuestionResponseSummary',\n possibleTypes: [\n { name: 'OneDimensionalResponseSummary' },\n { name: 'TwoDimensionalResponseSummary' },\n { name: 'ThreeDimensionalResponseSummary' },\n ],\n },\n {\n kind: 'UNION',\n name: 'MultipleComparisonQuestion',\n possibleTypes: [{ name: 'MultipleChoiceQuestion' }, { name: 'SingleChoiceQuestion' }],\n },\n {\n kind: 'UNION',\n name: 'CustomQuestion',\n possibleTypes: [\n { name: 'SingleChoiceQuestion' },\n { name: 'MultipleChoiceQuestion' },\n { name: 'OpenEndedQuestion' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'ProjectEntity',\n possibleTypes: [{ name: 'ProjectAudienceCollectorEntity' }, { name: 'ProjectSurveyEntity' }],\n },\n {\n kind: 'INTERFACE',\n name: 'AudienceTargetingCriteria',\n possibleTypes: [\n { name: 'AudienceRangeCriteria' },\n { name: 'AudienceCategoricalCriteria' },\n { name: 'AudienceHouseholdIncomeRangeCriteria' },\n ],\n },\n {\n kind: 'UNION',\n name: 'AudienceCriteriaSelection',\n possibleTypes: [\n { name: 'AudienceCategoricalCriteriaSelection' },\n { name: 'AudienceRangeCriteriaSelection' },\n { name: 'AudienceHouseholdIncomeRangeCriteriaSelection' },\n ],\n },\n {\n kind: 'UNION',\n name: 'CustomQuestionResponseSummary',\n possibleTypes: [\n { name: 'CustomQuestionAggregateResponseSummary' },\n { name: 'CustomQuestionStimuliResponseSummary' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'ImageAsset',\n possibleTypes: [{ name: 'TeamImageAsset' }],\n },\n {\n kind: 'INTERFACE',\n name: 'TeamAsset',\n possibleTypes: [{ name: 'TeamImageAsset' }],\n },\n {\n kind: 'INTERFACE',\n name: 'Asset',\n possibleTypes: [{ name: 'TeamImageAsset' }],\n },\n {\n kind: 'INTERFACE',\n name: 'LibraryAsset',\n possibleTypes: [\n { name: 'LibraryImage' },\n { name: 'LibraryTheme' },\n { name: 'LibraryCustomQuestion' },\n { name: 'LibrarySurveyTemplate' },\n { name: 'LibraryDocument' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'WelcomeFlowQuestion',\n possibleTypes: [\n { name: 'WelcomeFlowSingleChoiceQuestion' },\n { name: 'WelcomeFlowMultipleChoiceQuestion' },\n { name: 'WelcomeFlowFlagQuestion' },\n { name: 'WelcomeFlowNumberQuestion' },\n { name: 'WelcomeFlowTextQuestion' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'SurveyQuestionTemplate',\n possibleTypes: [\n { name: 'BasicQuestionTemplate' },\n { name: 'SingleChoiceQuestionTemplate' },\n { name: 'MatrixQuestionTemplate' },\n { name: 'OpenEndedQuestionTemplate' },\n { name: 'DemographicQuestionTemplate' },\n { name: 'MultipleChoiceQuestionTemplate' },\n { name: 'ClickMapQuestionTemplate' },\n { name: 'DatetimeQuestionTemplate' },\n { name: 'PresentationQuestionTemplate' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'QuestionVariableAnswerData',\n possibleTypes: [\n { name: 'DefaultQuestionVariableAnswerData' },\n { name: 'ABQuestionVariableAnswerData' },\n { name: 'VideoABQuestionVariableAnswerData' },\n ],\n },\n {\n kind: 'INTERFACE',\n name: 'SurveyQuestionTemplateOption',\n possibleTypes: [\n { name: 'SurveyQuestionTemplateRow' },\n { name: 'SurveyQuestionTemplateOther' },\n { name: 'SurveyQuestionTemplateColumn' },\n { name: 'SurveyQuestionTemplateColumnChoice' },\n ],\n },\n ],\n },\n};\n\nexport default introspectionQueryResultData;\n","import React from 'react';\nimport { Typography, Button } from '@sm/wds-react';\nimport { BasePage, Helmet, LogoWithText } from '@sm/webassets';\nimport { defineMessages, T } from '@sm/intl';\nimport { generateMetricsAttribute } from '@sm/metrics';\nimport './link-blocked.scss';\n\nconst COPY = defineMessages({\n LINK_BLOCKED_MAIN_MESSAGE: {\n id: 'LinkBlocked.MainMessage',\n defaultMessage: \"The link you clicked was blocked due to a violation of SurveyMonkey's Terms of Use.\",\n description: '[Type: Link][Vis.: Low] - The link blocked page main message',\n },\n LINK_BLOCKED_PAGE_TITLE: {\n id: 'LinkBlocked.PageTitle',\n defaultMessage: 'Link blocked',\n description: '[Type: Link][Vis.: Low] - The link blocked page title',\n },\n LINK_BLOCKED_SIGN_UP_BLURB: {\n id: 'LinkBlocked.SignUpBlurb',\n defaultMessage: 'Want to create your own survey?',\n description: '[Type: Link][Vis.: Low] - A blurb for a link that will direct users to the sign up page',\n },\n LINK_BLOCKED_SIGN_UP: {\n id: 'LinkBlocked.SignUp',\n defaultMessage: 'Sign Up FREE',\n description: '[Type: Link][Vis.: Low] - A link that will direct users to the sign up page',\n },\n LINK_BLOCKED_HOME: {\n id: 'LinkBlocked.SMHome',\n defaultMessage: 'SurveyMonkey Home',\n description: '[Type: Link][Vis.: Low] - A link that will direct users to the homepage',\n },\n LINK_BLOCKED_TERMS_OF_USE: {\n id: 'LinkBlocked.TermsofUse',\n defaultMessage: 'Terms of Use',\n description: '[Type: Link][Vis.: Low] - A link that will direct users to the Terms of Use page',\n },\n});\n\nconst LinkBlocked = () => (\n \n \n {T(COPY.LINK_BLOCKED_MAIN_MESSAGE)}\n \n \n \n
\n
\n \n \n \n \n \n \n
\n \n \n \n \n \n \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 LinkBlocked;\n","import React from 'react';\nimport { Helmet } from '@sm/webassets';\n\n/**\n * To appease TS and extends Helmet which does not accept direct JSX.Element component instead as a function,\n * This wrapper is needed to extends the basic Helmet component to accept children as optional\n * See this thread https://github.com/nfl/react-helmet/issues/646#issuecomment-1398700719\n */\ntype HelmetProps = React.ComponentProps & {\n children?: React.ReactNode | React.ReactNode[];\n};\n\nexport default function HelmetWithChildren({ children, ...rest }: HelmetProps): JSX.Element {\n return {children};\n}\n","import HelmetWithChildren from './HelmetWrappers';\n\nexport default HelmetWithChildren;\n","export type Links = {\n lang: string;\n href?: string;\n};\n\nenum ORDER {\n First = 2,\n Last = 1,\n None = 0,\n Skipped = 3,\n}\ntype LanguageDetails = {\n langCode: string;\n order: ORDER;\n};\ntype Language = {\n [key: string]: LanguageDetails;\n};\nconst languages: Required = Object.freeze({\n 'x-default': {\n langCode: '',\n order: ORDER.None,\n },\n 'en-US': {\n langCode: '',\n order: ORDER.None,\n },\n 'en-GB': {\n langCode: 'co.uk',\n order: ORDER.Last,\n },\n de: {\n langCode: 'de',\n order: ORDER.Last,\n },\n ru: {\n langCode: 'ru',\n order: ORDER.Skipped,\n },\n es: {\n langCode: 'es',\n order: ORDER.First,\n },\n pt: {\n langCode: 'pt',\n order: ORDER.First,\n },\n nl: {\n langCode: 'nl',\n order: ORDER.First,\n },\n fr: {\n langCode: 'fr',\n order: ORDER.First,\n },\n it: {\n langCode: 'fr',\n order: ORDER.First,\n },\n da: {\n langCode: 'da',\n order: ORDER.First,\n },\n sv: {\n langCode: 'sv',\n order: ORDER.First,\n },\n ja: {\n langCode: 'ja',\n order: ORDER.First,\n },\n ko: {\n langCode: 'ko',\n order: ORDER.First,\n },\n zh: {\n langCode: 'zh',\n order: ORDER.First,\n },\n tr: {\n langCode: 'tr',\n order: ORDER.First,\n },\n no: {\n langCode: 'no',\n order: ORDER.First,\n },\n fi: {\n langCode: 'fr',\n order: ORDER.First,\n },\n});\n\nexport const LINKS: Links[] = [\n {\n lang: 'x-default',\n },\n {\n lang: 'en-US',\n },\n {\n lang: 'en-GB',\n },\n {\n lang: 'de',\n },\n {\n lang: 'ru',\n },\n {\n lang: 'es',\n },\n {\n lang: 'pt',\n },\n {\n lang: 'nl',\n },\n {\n lang: 'fr',\n },\n {\n lang: 'it',\n },\n {\n lang: 'da',\n },\n {\n lang: 'sv',\n },\n {\n lang: 'ja',\n },\n {\n lang: 'ko',\n },\n {\n lang: 'zh',\n },\n {\n lang: 'tr',\n },\n {\n lang: 'no',\n },\n {\n lang: 'fi',\n },\n];\n\nexport function getLinks(domain: string, path: string): (Links | undefined)[] {\n const tempLinks = LINKS.map(({ lang }: Links): Links | undefined => {\n const language = languages[lang].langCode;\n if (languages[lang].order === ORDER.None) {\n return {\n lang,\n href: `https://www.${domain}.com${path}`,\n };\n }\n if (languages[lang].order === ORDER.First) {\n return {\n lang,\n href: `https://www.${language}.${domain}.com${path}`,\n };\n }\n if (languages[lang].order === ORDER.Last) {\n return {\n lang,\n href: `https://www.${domain}.${language}${path}`,\n };\n }\n return undefined;\n });\n return tempLinks.filter(links => links);\n}\n","import React, { useContext, useMemo } from 'react';\nimport { StaticContext } from '@sm/webassets';\n\nimport HelmetWithChildren from '~pricing/lib/HelmetWrapper';\nimport { SeoHeadTags, HrefLangsTags } from '~pricing/components/SEO';\n\nimport { getLinks, Links } from './links';\n\ntype SeoProps = {\n canonicalPath?: string;\n children?: React.ReactNode;\n};\n\nexport default function Seo({ canonicalPath = '', children }: SeoProps): JSX.Element {\n const {\n environment: { domain },\n url,\n } = useContext(StaticContext);\n const path = canonicalPath || url;\n const hrefLangs = useMemo(() => getLinks(domain, path) as Links[], [domain, path]);\n return (\n <>\n \n {/*\n these need to be referenced as function calls because of Helmet's requirements for children:\n https://github.com/nfl/react-helmet/issues/326\n */}\n {SeoHeadTags()}\n {HrefLangsTags({ hrefLangs, path })}\n \n {children}\n \n );\n}\n","import * as React from 'react';\nimport { t } from '@sm/intl';\n\nimport COPY from './copy';\n\nexport default function SeoHeadTags(): JSX.Element {\n return (\n <>\n {t(COPY.pageTitle)}\n \n \n \n );\n}\n","import * as React from 'react';\n\nimport { Links } from './links';\n\ntype HrefLangsTagsProps = {\n hrefLangs: Links[];\n path: string;\n};\n\nexport default function HrefLangsTags({ hrefLangs, path }: HrefLangsTagsProps): JSX.Element {\n return (\n <>\n \n {hrefLangs?.map(({ lang, href }) => (\n \n ))}\n \n );\n}\n","const COPY = {\n pageTitle: {\n id: 'pricingweb.PricingSummary.pageTitle',\n defaultMessage: 'SurveyMonkey Plans and Pricing',\n description: '[Type: Label][Vis: med] - Page title for Pricing pages',\n },\n pageDescription: {\n id: 'pricingweb.PricingSummary.pageDescription',\n defaultMessage:\n 'Create and publish online surveys in minutes, and view results graphically and in real time. SurveyMonkey provides free online questionnaire and survey software.',\n description: '[Type: Label][Vis: med] - Page meta description for pricing pages',\n },\n pageKeywords: {\n id: 'pricingweb.PricingSummary.pageKeywords',\n defaultMessage:\n 'questionnaire, questionnaires, questionaire, questionaires, free online survey, free online surveys',\n description: '[Type: Label][Vis: med] - Page meta keywords for pricing pages. Includes deliberate misspellings',\n },\n};\n\nexport default COPY;\n","/**\n * Checks if we are in a browser\n * @returns boolean\n */\nexport const EMPTY_STRING = '';\n\nexport const isBrowser = (): boolean => typeof window === 'object';\n\n/**\n * A utility function that converts arrays to object like\n * @param keys\n * @returns object\n */\n\nexport function convertToObject(...keys: K[]): { [T in K]: string } {\n const tempObject = {} as { [T in K]: string };\n return keys.reduce((a, v) => ({ ...a, [v]: v }), tempObject);\n}\n\n/**\n * This is a modified clone of\n * https://code.corp.surveymonkey.com/webplatform/smpackages/blob/97fcc41a6808c4e2b867dc35d54b2b5abc21279c/packages/metrics/src/utils.ts#L9\n * @param cname\n * @param defaultValue\n * @returns The cookie value we are interested in\n */\nexport function getCookieValue(cname: string): string {\n if (!isBrowser()) return '';\n const name = `${cname}=`;\n let cookieValue = '';\n const decodedCookie = decodeURIComponent(document.cookie);\n const decodedCookies = decodedCookie.split(';');\n\n decodedCookies?.forEach((c: string) => {\n let cSub = c;\n while (cSub.startsWith(' ')) {\n cSub = c.substring(1);\n }\n if (cSub.startsWith(name)) {\n cookieValue = c.substring(name.length + 1, c.length);\n }\n });\n return cookieValue;\n}\n\nexport { convertToObject as default };\n","import { convertToObject } from '~shared/util';\n/**\n * \"Enum\" of server returned package names\n */\nexport const EXTERNAL_SCRIPTS: readonly string[] = Object.freeze(['https://js.stripe.com/v3/']);\n\nconst PACKAGES_MAPPING_DATA = Object.freeze([\n 'BASIC',\n 'STANDARD_MONTHLY',\n 'STANDARD_ANNUAL',\n 'ADVANTAGE_MONTHLY',\n 'ADVANTAGE_ANNUAL',\n 'PREMIER_MONTHLY',\n 'PREMIER_ANNUAL',\n 'TEAM_ADVANTAGE_ANNUAL',\n 'TEAM_PREMIER_ANNUAL',\n 'ENT_PLATINUM',\n 'ANALYZE_MONTHLY',\n]);\n\nexport const PACKAGES_MAPPING_DATA_OPTIONS = convertToObject(...PACKAGES_MAPPING_DATA);\n\nexport const PACKAGES: Record = {\n Basic: PACKAGES_MAPPING_DATA_OPTIONS.BASIC,\n StandardMonthly: PACKAGES_MAPPING_DATA_OPTIONS.STANDARD_MONTHLY,\n StandardAnnual: PACKAGES_MAPPING_DATA_OPTIONS.STANDARD_ANNUAL,\n AdvantageMonthly: PACKAGES_MAPPING_DATA_OPTIONS.ADVANTAGE_MONTHLY,\n AdvantageAnnual: PACKAGES_MAPPING_DATA_OPTIONS.ADVANTAGE_ANNUAL,\n PremierMonthly: PACKAGES_MAPPING_DATA_OPTIONS.PREMIER_MONTHLY,\n PremierAnnual: PACKAGES_MAPPING_DATA_OPTIONS.PREMIER_ANNUAL,\n TeamAdvantage: PACKAGES_MAPPING_DATA_OPTIONS.TEAM_ADVANTAGE_ANNUAL,\n TeamPremier: PACKAGES_MAPPING_DATA_OPTIONS.TEAM_PREMIER_ANNUAL,\n Enterprise: PACKAGES_MAPPING_DATA_OPTIONS.ENT_PLATINUM,\n Flex: PACKAGES_MAPPING_DATA_OPTIONS.ANALYZE_MONTHLY,\n};\n\ntype PACKAGE_KEYS = keyof typeof PACKAGES;\ntype PACKAGE_VALUES = typeof PACKAGES[PACKAGE_KEYS];\n\nexport const PACKAGE_IDS: Record = {\n [PACKAGES.Basic]: 1,\n [PACKAGES.StandardMonthly]: 31,\n [PACKAGES.StandardAnnual]: 32,\n [PACKAGES.AdvantageMonthly]: 33,\n [PACKAGES.AdvantageAnnual]: 34,\n [PACKAGES.PremierMonthly]: 35,\n [PACKAGES.PremierAnnual]: 36,\n [PACKAGES.TeamAdvantage]: 134,\n [PACKAGES.TeamPremier]: 136,\n [PACKAGES.Enterprise]: 26,\n [PACKAGES.Flex]: 37,\n};\n\nexport const MONTHLY_PACKAGES: string[] = [\n PACKAGES.StandardMonthly,\n PACKAGES.AdvantageMonthly,\n PACKAGES.PremierMonthly,\n];\n\nexport const INDIVIDUAL_PACKAGES: string[] = [\n PACKAGES.PremierAnnual,\n PACKAGES.AdvantageAnnual,\n PACKAGES.StandardMonthly,\n];\n\nexport const TEAMS_PACKAGES: string[] = [PACKAGES.TeamAdvantage, PACKAGES.TeamPremier, PACKAGES.Enterprise];\n\nexport const SUITE_PRICING_PACKAGES: string[] = [\n PACKAGES.AdvantageAnnual,\n PACKAGES.TeamAdvantage,\n PACKAGES.TeamPremier,\n];\n\nexport const GUAC_COUNTRY_CODES = Object.freeze(['gb', 'us', 'au', 'ca']);\n\ntype ComparisonPackages = {\n [x: string]: string;\n};\n\nexport const COMPARISON_PACKAGES: ComparisonPackages = {\n [PACKAGES.TeamAdvantage]: PACKAGES.AdvantageAnnual,\n [PACKAGES.TeamPremier]: PACKAGES.PremierAnnual,\n};\n\n// A list of packages that should display highlighted\nexport const HIGHLIGHTED_PACKAGES = [PACKAGES.AdvantageAnnual];\n\n// these domains do not get hreflang tags added to their \nexport const SKIP_HREF_LANG_TAGS = Object.freeze({\n 'de.surveymonkey.com': true,\n 'ru.surveymonkey.com': true,\n});\n","import React from 'react';\nimport { BasePage } from '@sm/webassets';\n\nimport SEO from '~pricing/components/SEO';\nimport useScript from '~pricing/hooks/useScripts';\nimport { EXTERNAL_SCRIPTS } from '~pricing/lib/constants';\n\nexport default function Layout({ children }: { children: React.ReactElement }): JSX.Element {\n useScript(EXTERNAL_SCRIPTS);\n\n return (\n \n \n \n
{children}
\n
\n
\n );\n}\n","import { useEffect, useRef } from 'react';\n\n/**\n * This hook creates a script tags that is appended to the body of an html page\n * @param url\n * @returns void\n */\n\nexport default function useScript(urls: readonly string[]): void {\n const scriptElements = useRef([]);\n\n useEffect(() => {\n scriptElements.current = urls.map((url: string): HTMLScriptElement => {\n const existingScriptElement = document.querySelector(`script[src=\"${url}\"]`) as HTMLScriptElement;\n if (!existingScriptElement) {\n const script = document.createElement('script');\n script.src = url;\n script.async = true;\n script.type = 'text/javascript';\n script.setAttribute('data-status', 'loading');\n document.body.appendChild(script);\n return script;\n }\n return existingScriptElement;\n });\n\n return () => {\n // cleanup\n scriptElements.current?.forEach(\n (scriptElement: HTMLScriptElement) => scriptElement && document.body.removeChild(scriptElement)\n );\n };\n }, [urls]);\n}\n","import { useContext, useState } from 'react';\nimport { useQuery } from 'react-apollo';\nimport { StaticContext } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport { getPricingPageExperience } from './PricingExperience.graphql';\n\n/**\n * If the pricing page experience test comes back with price test cookie\n * values to save, do that. This is mostly for logged out users, but can\n * also apply to experiment preview cookies.\n *\n * @param {*} priceTest The price test object returned from experimentsvc\n */\nconst savePriceTestExperimentCookies = cookies => {\n // Set each cookie the same way it's done in \n const { host } = window.location;\n const domain = host.replace(/^[^.]+\\./g, '');\n cookies.forEach(cookieObj => {\n document.cookie = `${cookieObj.name}=${cookieObj.value}; max-age=${cookieObj.age}; path=/; domain=${domain}`;\n });\n};\n\n/**\n * Hook to fetch pricing experience data from GraphAPI\n *\n * @param {array} encryptParams Array of tracking parameters to be encryted with the package CTA\n * @param {string | undefined} experienceName The experience name to fetch from pricingsvc. If passed,\n * will override the check for price test\n */\nexport default function usePricingExperience({ encryptParams, experienceName } = {}) {\n const {\n environment: { countryCode, languageCode },\n } = useContext(StaticContext);\n const [priceTestCookies, setPriceTestCookies] = useState(null);\n const { loading, error, data } = useQuery(getPricingPageExperience, {\n variables: {\n countryCode,\n languageCode,\n experienceName,\n encryptParams,\n },\n onCompleted: () => {\n // If price test cookies came back from the pricing experience call,\n // stash them in state so that when this code gets executed on the browser\n // we can then save the cookie appropriately\n setPriceTestCookies(data && data.pricingPageExperience.priceTestCookies);\n },\n });\n\n // This is a bit of a hack to ensure that any price test cookies that came back\n // during SSR get saved to the clients browser upon rehydration\n const { isBrowser } = getClientEnvironmentDetails();\n if (Array.isArray(priceTestCookies) && isBrowser) {\n savePriceTestExperimentCookies(priceTestCookies);\n }\n\n return { loading, data, error };\n}\n","// This file will eventually be type.ts\nimport { RouteProps } from 'react-router-dom';\nimport { PACKAGES } from './constants';\n\ntype PackageDetails = {\n displayName: string;\n isOverageable: boolean;\n isPaid: boolean;\n label: string;\n tier: number;\n};\n\ntype Currency = {\n code: string;\n};\n\nexport type PricingRouteProps = {\n redirectPath?: string;\n} & RouteProps;\n\nexport type PackageSkuCost = {\n skuType: string;\n cost: number;\n currency: Currency;\n};\n\nexport type PackageSkuCosts = PackageSkuCost[];\n\nexport type PackageProps = {\n ctaLabel: keyof typeof CTA_LABEL;\n package: string;\n packageName?: keyof typeof PACKAGES;\n details: PackageDetails;\n skuCost: PackageSkuCosts;\n ribbonText?: string | boolean | null;\n features: FeatureSet;\n};\n\nexport type PackagePriceProps = {\n packageName: string;\n formattedPrice: string;\n};\n\nexport type BylineProps = {\n byline?: string | null;\n packageName: string;\n};\n\nexport type PackageHeaderProps = {\n ctaLabel: keyof typeof CTA_LABEL;\n packageName: string;\n details: PackageDetails;\n skuCosts: PackageSkuCosts;\n packageType: string;\n};\n\nexport enum CTA_LABEL {\n SELECT = 'SELECT',\n YOUR_PLAN = 'YOUR_PLAN',\n NOT_UPGRADEABLE = 'NOT_UPGRADEABLE',\n SIGN_UP = 'SIGN_UP',\n}\nexport type PackageData = {\n bundle: [];\n details: PackageDetails;\n encryptedCtaParam: string;\n featureSetId: string;\n id: string;\n features: FeatureSet;\n package: string;\n skuCost: PackageSkuCosts;\n ctaLabel: keyof typeof CTA_LABEL;\n};\n\nexport type PackageDataSet = PackageData[];\n\nexport type PackageSet = string[];\n\nexport type FeatureSet = Feature[];\n\nexport type Feature = {\n name: string;\n amount?: number | null;\n isEnabled?: boolean | null;\n setting?: string | null;\n};\n\nexport type PricingData = {\n packageData: PackageDataSet;\n packageSet: PackageSet;\n};\n\nexport type PackageListProps = {\n packages: PackageData;\n packageSet: PackageSet;\n};\n\n// The properties for a summary/detail feature line item\nexport type DisplayFeatureStatic = {\n summary?: string;\n tooltipHeading?: string;\n tooltip?: string;\n} | null;\n\nexport type SummaryDisplayFeatureList = DisplayFeatureStatic[];\n\nexport type SummaryFeatureMapCompoundItem = {\n featureItemKey: string;\n features?: string[];\n};\n\nexport type SummaryFeatureMapItem = {\n [P in keyof SummaryFeatureMapCompoundItem]: SummaryFeatureMapCompoundItem[P];\n};\n\nexport type FeatureSetMap = {\n [key: string]: Feature;\n};\n\nexport type FeatureTransformerOptions = {\n locale?: string;\n packageName?: string;\n};\n\nexport type SummaryFeatureRule = (\n featureValues: Record,\n options: FeatureTransformerOptions\n) => DisplayFeatureStatic;\n\nexport type SummaryFeatureRuleMap = Record;\n\nexport enum PackageType {\n Individual = 'individual',\n Teams = 'teams',\n Enterprise = 'enterprise',\n}\n\nexport type NavRouteParams = {\n canonicalPath: string;\n subPath: string;\n};\n\nexport type DetailsFeatureValueType = number | string | boolean | undefined | null;\n\nexport type DetailsFeatureRowPackages = {\n packageName: string;\n value: DetailsFeatureValueType;\n};\n\nexport type DetailsFeatureRowFeature = {\n feature: string;\n summary?: string | undefined;\n tooltip?: string | undefined;\n tooltipHeading?: string | undefined;\n packages: DetailsFeatureRowPackages[];\n};\n\nexport type DetailsFeatureRow = {\n name: string;\n features: DetailsFeatureRowFeature[];\n};\n\nexport type DetailsFeatureSets = DetailsFeatureRow[];\n\nexport type FeaturesCategoryGroup = {\n category: string;\n features: string[];\n};\n\nexport type DisplayFeatureRule = (featureValues: Record) => DisplayFeatureStatic;\n\nexport type DisplayFeatures = Record;\n\nexport type DisplayFeature = DisplayFeatureRule | DisplayFeatureStatic;\n\nexport type DisplayFeaturesUnion = Record;\n\nexport type CopyItem = {\n defaultMessage: string;\n desc: string;\n id: string;\n};\n\nexport type Copy = {\n [key: string]: CopyItem;\n};\n","import { createContext } from 'react';\nimport { PackageDataSet } from '../summaryPackages';\n\ntype PricingExperienceContextType = PackageDataSet | [];\n\nexport const PricingExperienceContext = createContext([]);\nexport const PricingExperienceProvider = PricingExperienceContext.Provider;\n","import React from 'react';\nimport { useParams } from 'react-router';\n\nimport { FiveHundredErrorPage } from '@sm/webassets';\nimport usePricingExperience from '~pricing/lib/PricingExperience';\nimport { PackageType } from '~pricing/lib/summaryPackages';\nimport { PricingExperienceProvider } from '~pricing/lib/PricingExperience/PricingExperienceContext';\nimport { INDIVIDUAL_PACKAGES, TEAMS_PACKAGES } from '~pricing/lib/constants';\n\ntype MatchParams = {\n canonicalPath: string;\n};\n\nexport function withPageHandler

(WrappedComponent: React.ComponentType

): React.ComponentType

{\n return props => {\n const { canonicalPath = PackageType.Teams } = useParams();\n const packageSet = canonicalPath === PackageType.Individual ? INDIVIDUAL_PACKAGES : TEAMS_PACKAGES;\n\n const { error, loading, data } = usePricingExperience();\n return (\n \n {/* if there was an issue loading the data from pricingsvc, we've got nothing to show. bail */}\n \n \n \n \n \n \n \n \n \n );\n };\n}\n\nexport default withPageHandler;\n","const { defineMessages } = require('@sm/intl');\n\nconst COPY = defineMessages({\n MAIN_HEADING: {\n id: 'Pricing.MainHeading.Heading',\n defaultMessage: 'Choose a plan that works for you',\n desc: '[Type: header][Vis: high] - Primary header for pricing summary page',\n },\n DETAILS_HEADING: {\n id: 'Pricing.DetailsHeading.Heading',\n defaultMessage: 'Compare our full set of features',\n desc: '[Type: header][Vis: high] - Primary header for pricing details page',\n },\n EDUCATIONAL_HEADING: {\n id: 'Pricing.EducationalHeading.Heading',\n defaultMessage: 'Discounts for Students and Educators',\n desc: '[Type: header][Vis: high] - Primary header for pricing educational page',\n },\n EDUCATIONAL_SUBHEADING: {\n id: 'Pricing.EducationalSubHeading.SubHeading',\n defaultMessage:\n 'You must have a valid student, staff, or faculty ID to qualify for discounted pricing. Not eligible for this discount?',\n desc: '[Type: header][Vis: high] - Subheader for pricing educational page',\n },\n VIEW_PRICING: {\n id: 'Pricing.ViewPricing.Link',\n defaultMessage: 'View pricing',\n desc: '[Type: Link][Vis: high] - Link to pricing page',\n },\n TEAM_PLANS: {\n id: 'Pricing.Route.TeamPlans',\n defaultMessage: 'Team Plans',\n desc: '[Type: Link][Vis.: high] - A link that will direct the user to the Team Plans Pricing Summary page',\n },\n INDIVIDUAL_PLANS: {\n id: 'Pricing.Route.IndividualPlans',\n defaultMessage: 'Individual Plans',\n desc: '[Type: Link][Vis.: high] - A link that will direct the user to the Individual Plans Pricing Summary page',\n },\n ENTERPRISE: {\n id: 'Pricing.Route.Enterprise',\n defaultMessage: 'Enterprise',\n desc: '[Type: Link][Vis.: high] - A link that will direct the user to the Enterprise Pricing page',\n },\n BACK_TO_SUMMARY: {\n id: 'Pricing.Link.BackToSummary',\n defaultMessage: 'Back to pricing summary',\n desc: '[Type: Link][Vis.: high] - A link that will direct the user to back to the pricing summary page',\n },\n EXPAND_ALL: {\n id: 'Pricing.AccordionToggle.ExpandAll',\n defaultMessage: 'Expand all',\n desc: '[Type: Link][Vis.: high] - A button discription to Expand all accordions',\n },\n COLLAPSE_ALL: {\n id: 'Pricing.AccordionToggle.CollapseAll',\n defaultMessage: 'Collapse all',\n desc: '[Type: Link][Vis.: high] - A button discription to Collapse all accordions',\n },\n});\n\nexport default COPY;\n","import { WrenchTheme } from '@wds/styles';\nimport { convertToObject } from '~shared/util';\n\nconst DISPLAY_SIZE_OPTIONS_DATA = Object.freeze(['default', 'sm', 'mds-sm', 'md', 'lg', 'xl', 'xs', 'none']);\n\nexport const SIZE_OPTIONS: { [key: string]: string } = convertToObject(...DISPLAY_SIZE_OPTIONS_DATA);\n\nexport type DisplaySizeOption = typeof DISPLAY_SIZE_OPTIONS_DATA[number];\nexport type DisplaySizeOptions = Record;\n\nconst DISPLAY_SIZE_OPTIONS: Required = {\n default: 'default',\n sm: WrenchTheme.breakpoints.sm,\n 'mds-sm': 320,\n md: WrenchTheme.breakpoints.md,\n lg: WrenchTheme.breakpoints.lg,\n xl: WrenchTheme.breakpoints.xl,\n xs: WrenchTheme.breakpoints.xs,\n none: 'none',\n};\n\nexport default DISPLAY_SIZE_OPTIONS;\n","import DISPLAY_SIZE_OPTIONS, { SIZE_OPTIONS } from '~shared/constants/sizes';\n\n// CSS Constants\n/**\n * Breakpoints to delineate special handling\n */\n// If mixing lowerBPMediaQUery with upperBPMediaQuery at same WrenchTheme.breakpoints[size],\n// most recent (in sequence) or most specific css rules would apply.\n// For MDS_MOBILE (768 and below rule) in conjunction with MDS_TABLET(768 and above rule), place\n// MDS_MOBILE first, followed by MDS_TABLET\nconst lowerBPMediaQuery = (size: string | number, overrideSize?: number): string => {\n return `@media only screen and (min-width: ${overrideSize ?? DISPLAY_SIZE_OPTIONS[size]}px)`;\n};\n\n/**\n * This set of media queries are designed to work with Wrench's breakpoints.\n * In particular, use alongside GridPlus/Wrench Grid and other divs (e.g., FlexContainer).\n *\n * NOTE: media queries cascade from small to large.\n * Thus specify in the following order for ease of use, ease of understanding, and to leverage CSS\n * cascading and rule specificity precedence.\n * XS_MEDIA_QUERY, SM_MEDIA_QUERY, MD_MEDIA_QUERY, LG_MEDIA_QUERY, XL_MEDIA_QUERY.\n\n* All browser widths > WrenchTheme.breakpoints.xl conform to XL_MEDIA_QUERY.\n * Similarly, if XS_MEDIA_QUERY is not stated and others are stated, e.g., SM_MEDIA_QUERY,\n * then widths from 0 to < WrenchTheme.breakpoints.sm use default CSS rules.\n */\n// Wrench.breakpoints - lg: '992px'\nexport const LG_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.lg);\n// Wrench.breakpoints - md: '768px'\nexport const MD_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.md);\n// Wrench.breakpoints - sm: '576px'\nexport const SM_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.sm);\n// MDS_SMALL_BREAKPOINT = '320px'\nexport const SM_MOBILE_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS['mds-sm']);\n// Wrench.breakpoints - xs: '0'\nexport const XS_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.xs);\n// Wrench.breakpoints - xl: '1200px'\nexport const XL_MEDIA_QUERY = lowerBPMediaQuery(SIZE_OPTIONS.xl);\n","import { createUseStyles } from 'react-jss';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme } from '~app/styles/theme';\n\nexport default createUseStyles(({ spacing, type }: PricingAppTheme) => ({\n Heading: {\n '& h1': {\n display: 'block',\n fontSize: type.fontSize.sectionTitle,\n textAlign: 'center',\n margin: [spacing[5], spacing[3], spacing[2]],\n fontWeight: type.fontWeight.medium,\n [MD_MEDIA_QUERY]: {\n fontSize: type.fontSize.hero2,\n margin: [spacing[6], 'auto', spacing[2]],\n },\n },\n },\n}));\n","import React from 'react';\n\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport { T } from '@sm/intl';\n\nimport COPY from '~app/pages/Pricing/copy';\n\nimport useHeadingStyles from './useStyles';\n\ntype HeadingProps = {\n children?: string;\n};\n\nexport default function MainHeading({ children }: HeadingProps): React.ReactElement {\n const { Heading } = useHeadingStyles();\n\n return (\n \n \n {children ?? }\n \n \n );\n}\n","import { t } from '@sm/intl';\nimport COPY from '~app/pages/Pricing/copy';\n\nexport type RouteObject = {\n [key: string]: Route;\n};\n\nexport type Route = {\n path: string;\n title: string;\n queryString: {\n ut_source: string;\n };\n packageType: string;\n};\n\nconst ROUTE_CONFIG: RouteObject = {\n teams: {\n path: '/pricing/teams',\n title: t(COPY.TEAM_PLANS),\n queryString: {\n ut_source: 'pricing-teams-summary',\n },\n packageType: 'teams',\n },\n individual: {\n path: '/pricing/individual',\n title: t(COPY.INDIVIDUAL_PLANS),\n queryString: {\n ut_source: 'pricing-indv-summary',\n },\n packageType: 'individual',\n },\n enterprise: {\n path: '/pricing/enterprise',\n title: t(COPY.ENTERPRISE),\n queryString: {\n ut_source: 'pricing-ent-summary',\n },\n packageType: 'enterprise',\n },\n};\n\nexport default ROUTE_CONFIG;\n","import { createUseStyles } from 'react-jss';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme } from '~app/styles/theme';\n\nexport default createUseStyles(({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n Container: {\n margin: [0, 'auto', spacing[5]],\n [MD_MEDIA_QUERY]: {\n marginBottom: spacing[7],\n },\n },\n List: {\n display: 'flex',\n listStyle: 'none',\n justifyContent: 'center',\n padding: 0,\n },\n ListItem: {\n padding: '0.6em 0.8em 0.6em 0.6em',\n margin: [0, 12],\n fontSize: type.fontSize.bodySm,\n textAlign: 'center',\n display: 'flex',\n alignItems: 'center',\n [MD_MEDIA_QUERY]: {\n fontSize: type.fontSize.body,\n },\n '& a': {\n color: pricingPalette.colors.charcoal,\n '&:hover, &:focus': {\n textDecoration: 'none',\n },\n },\n '&.selected': {\n borderBottom: `3px solid ${pricingPalette.colors.sabaeus}`,\n '& a': {\n color: pricingPalette.colors.sabaeus,\n },\n },\n },\n}));\n","import React from 'react';\nimport { Link } from 'react-router-dom';\n\nimport usePricingNavigationStyles from './useStyles';\n\ntype NavItemProps = {\n title: string;\n selected: string;\n url: string;\n};\n\nexport default function NavItem({ title, selected, url }: NavItemProps): React.ReactElement {\n const { ListItem } = usePricingNavigationStyles();\n\n return (\n

  • \n \n {title}\n \n
  • \n );\n}\n","import React from 'react';\nimport { useParams } from 'react-router';\nimport { createURL } from '@sm/utils';\nimport { PackageType } from '~pricing/lib/summaryPackages';\n\nimport ROUTE_CONFIG from './routes';\nimport NavItem from './NavItem';\n\nimport useNavigationStyles from './useStyles';\n\ntype NavRouteParams = {\n canonicalPath: string;\n subPath: string;\n};\n\nexport default function Navigation(): React.ReactElement {\n const { canonicalPath = PackageType.Teams, subPath = '' } = useParams();\n const { Container, List } = useNavigationStyles();\n\n return (\n \n );\n}\n","import { createUseStyles } from 'react-jss';\nimport { PricingAppTheme } from '~app/styles/theme';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\ntype Props = {\n packageName: string;\n};\n\nexport default createUseStyles(({ pricingPalette, packageTheme, spacing }: PricingAppTheme) => ({\n CTA: {\n margin: `${spacing[6]}px auto`,\n display: 'flex',\n justifyContent: 'center',\n '& a': {\n maxWidth: 200,\n width: '70%',\n backgroundColor: ({ packageName }: Props) => packageTheme[packageName]?.primary,\n border: 'none',\n '&:hover, &:focus': {\n backgroundColor: ({ packageName }: Props) => packageTheme[packageName]?.primary,\n },\n },\n [MD_MEDIA_QUERY]: {\n margin: ['auto', 0, 0],\n },\n },\n noCTA: {\n margin: `${spacing[6]}px auto`,\n display: 'flex',\n justifyContent: 'center',\n background: 'none',\n border: 'none',\n '& button': {\n color: pricingPalette.colors.black,\n },\n [MD_MEDIA_QUERY]: {\n margin: ['auto', 0, 0],\n },\n },\n}));\n","const { defineMessages } = require('@sm/intl');\n\nconst COPY = defineMessages({\n SELECT: {\n id: 'Pricing.PackageCta.Select',\n defaultMessage: 'SELECT',\n desc: '[Type: Button][Vis.: high] - A button/link text for an authenticated user',\n },\n SIGN_UP: {\n id: 'Pricing.PackageCta.SignUp',\n defaultMessage: 'SIGN UP',\n desc: '[Type: Button][Vis.: high] - A button/link text for an unauthenticated user',\n },\n YOUR_PLAN: {\n id: 'Pricing.PackageCta.YourPlan',\n defaultMessage: 'YOUR PLAN',\n desc: '[Type: Button][Vis.: high] - A button/link text for an purchased user',\n },\n CONTACT_US: {\n id: 'Pricing.PackageCta.ContactUs',\n defaultMessage: 'CONTACT US',\n desc: '[Type: Button][Vis.: high] - A button/link text to contact the sales team',\n },\n});\n\nexport default COPY;\n","import React from 'react';\nimport { Button } from '@wds/button';\n\nimport { CTA_LABEL } from '~pricing/lib/summaryPackages';\nimport { PACKAGE_IDS } from '~pricing/lib/constants';\n\nimport useStyles from './useStyles';\nimport getCTAText from './getCTAOptions';\n\ntype PackageCTAProps = {\n ctaLabel: keyof typeof CTA_LABEL;\n packageName: string;\n small?: boolean;\n};\n\nconst PackageCta = ({ ctaLabel, packageName, small = false }: PackageCTAProps): JSX.Element => {\n const { CTA, noCTA } = useStyles({ packageName });\n const packageId = PACKAGE_IDS[packageName];\n const { url, text, disabled } = getCTAText({ packageId, ctaLabel });\n\n return (\n
    \n \n {text}\n \n
    \n );\n};\n\nexport default PackageCta;\n","import { t } from '@sm/intl';\n\nimport { PACKAGE_IDS } from '~pricing/lib/constants';\nimport { CTA_LABEL } from '~pricing/lib/summaryPackages';\n\nimport COPY from './copy';\n\nconst CHECKOUT_LINK = '/billing/checkout/?package_id=';\nconst SIGN_UP_LINK = '/user/sign-up';\nconst ENTERPRISE_LINK = '/mp/contact-sales/';\n\ntype GetCTATextOptions = {\n packageId: number;\n ctaLabel: keyof typeof CTA_LABEL;\n};\n\ntype CTATextOptions = {\n url?: string;\n text?: string | null;\n disabled?: boolean;\n};\n\nexport default function getCTAText({ packageId, ctaLabel }: GetCTATextOptions): CTATextOptions {\n // special case handling for Enterprise\n // TODO: add encrypted `sm` parameter to signup link\n if (packageId === PACKAGE_IDS.ENT_PLATINUM) {\n return {\n url: ENTERPRISE_LINK,\n text: t(COPY.CONTACT_US),\n };\n }\n if (ctaLabel === CTA_LABEL.SIGN_UP) {\n return {\n url: SIGN_UP_LINK,\n text: t(COPY.SIGN_UP),\n };\n }\n if (ctaLabel === CTA_LABEL.SELECT) {\n return {\n url: `${CHECKOUT_LINK}${packageId}`,\n text: t(COPY.SELECT),\n };\n }\n if (ctaLabel === CTA_LABEL.NOT_UPGRADEABLE) {\n return {\n url: '',\n text: null,\n disabled: true,\n };\n }\n return {\n url: '',\n text: t(COPY.YOUR_PLAN),\n disabled: true,\n };\n}\n","import { PACKAGES } from '../../lib/constants';\n\nconst PER_MONTH = '/ month';\nconst PER_USER_PER_MONTH = '/ user / month';\nconst BILLED_ANNUALLY = 'Starting at 3 users, billed annually';\ntype PER_MONTH_ANNUALLY = (price: string) => string | null;\nconst getPerMonthAnnually: PER_MONTH_ANNUALLY = price => `${price} billed annually`;\n\ntype PackageDef = {\n [key: string]: Package;\n};\n\ntype Package = {\n priceUnit?: string;\n byline?: string;\n pricePerMonthAnnually?: PER_MONTH_ANNUALLY;\n highlighted?: boolean;\n};\n\nconst PackageDefs: PackageDef = {\n [PACKAGES.TeamAdvantage]: {\n priceUnit: PER_USER_PER_MONTH,\n byline: BILLED_ANNUALLY,\n },\n [PACKAGES.TeamPremier]: {\n priceUnit: PER_USER_PER_MONTH,\n byline: BILLED_ANNUALLY,\n },\n [PACKAGES.Enterprise]: {\n byline: 'Powerful admin tools, integrations, and collaboration features for your organization.',\n },\n [PACKAGES.PremierAnnual]: {\n priceUnit: PER_MONTH,\n pricePerMonthAnnually: (price: string) => getPerMonthAnnually(price),\n },\n [PACKAGES.AdvantageAnnual]: {\n priceUnit: PER_MONTH,\n pricePerMonthAnnually: (price: string) => getPerMonthAnnually(price),\n highlighted: true,\n },\n [PACKAGES.StandardMonthly]: {\n priceUnit: PER_MONTH,\n pricePerMonthAnnually: () => null,\n },\n};\n\nexport default PackageDefs;\n","import React from 'react';\nimport { Typography } from '@wds/typography';\nimport packageDefs from '../Summary/packageDefs';\n\nimport { PackagePriceProps } from '~pricing/lib/summaryPackages';\n\nexport default function PackagePrice({ packageName, formattedPrice }: PackagePriceProps): React.ReactElement {\n return (\n \n {formattedPrice}\n \n {packageDefs[packageName]?.priceUnit}\n \n \n );\n}\n","import React from 'react';\nimport { Typography } from '@wds/typography';\nimport { PACKAGES } from '~app/pages/Pricing/lib/constants';\nimport { BylineProps } from '~pricing/lib/summaryPackages';\n\nexport default function PackageByline({ byline, packageName }: BylineProps): JSX.Element {\n if (!byline) {\n return <>;\n }\n return (\n \n {byline}\n \n );\n}\n","import { createUseStyles } from 'react-jss';\nimport { PricingAppTheme } from '~app/styles/theme';\n\n// In the future all components will have type.ts for exporting\ntype Props = {\n packageName: string;\n};\n\nexport default createUseStyles(({ type, packageTheme }: PricingAppTheme) => ({\n RibbonStyle: {\n fontSize: 10,\n position: 'absolute',\n right: -3,\n top: -3,\n zIndex: 1,\n overflow: 'hidden',\n width: 96,\n height: 96,\n '&:before, &:after': {\n content: \"''\",\n display: 'block',\n zIndex: -1,\n backgroundColor: ({ packageName }: Props) => packageTheme[packageName].primary,\n position: 'absolute',\n },\n '&:before': {\n top: 0,\n height: 3,\n width: 10,\n left: 0,\n borderTopLeftRadius: 3,\n },\n '&:after': {\n width: 3,\n height: 10,\n right: 0,\n borderBottomRightRadius: 3,\n bottom: 0,\n },\n '& p': {\n fontSize: 10,\n fontWeight: type.fontWeight.medium,\n color: '#fff',\n textAlign: 'center',\n lineHeight: '20px',\n transform: `translate(-50%, -50%) rotate(45deg) translateY(-11px)`,\n width: 184,\n display: 'block',\n boxShadow: 'none',\n position: 'absolute',\n top: '50%',\n left: '50%',\n backgroundColor: ({ packageName }) => packageTheme[packageName]?.primary,\n margin: 0,\n },\n },\n}));\n","import React from 'react';\n\nimport useRibbonStyles from './useStyles';\n\nexport const DATA_TESTID = 'Ribbon';\n\ntype RibbonType = {\n children?: string;\n packageName: string;\n};\n\nexport default function Ribbon({ children, packageName }: RibbonType): React.ReactElement {\n const { RibbonStyle } = useRibbonStyles({ packageName });\n return (\n \n );\n}\n","const { defineMessages } = require('@sm/intl');\n\nconst COPY = defineMessages({\n BEST_VALUE: {\n id: 'PackageCta.BestValue',\n defaultMessage: 'BEST VALUE',\n desc: '[Type: Label][Vis.: high] - Default text for Package Ribbon',\n },\n SAVE_PERCENTAGE: {\n id: 'PackageCta.SavePercentage',\n defaultMessage: 'Save {percentage}% *',\n desc: '[Type: Label][Vis.: high] - Percentage of savings displayed in Package Ribbon',\n },\n});\n\nexport default COPY;\n","import { FormattedNumber } from '@sm/intl';\nimport {\n PackageSkuCosts,\n PackageSkuCost,\n PackageData,\n PackageDataSet,\n PackageSet,\n FeatureSetMap,\n Feature,\n} from './summaryPackages';\n\ntype PlaceHolderType = {\n label: string;\n};\n/**\n * Creates a className friendly string from a package label\n *\n * @param {PlaceHolderType} packageObj The package object to create the class name from\n * @return The label name, ready to be used as a className\n */\nexport function packageLabelToClassName(packageObj: PlaceHolderType): string {\n return packageObj.label.trim().replace(/\\s/g, '-').toLowerCase();\n}\n\n/**\n *\n * @param skuCosts\n * @returns The package set cost information based on the subscription type\n */\n\nexport function getCoreCostFromSkus(skuCosts: PackageSkuCosts): PackageSkuCost | undefined {\n return skuCosts.find(sku => sku?.skuType === 'SUBSCRIPTION_CORE_SEAT');\n}\n\n/**\n * Given two skuCosts, returns the rounded percentage savings between them\n *\n * @param {object} skuCostOriginal The originally priced skuCost object\n * @param {object} skuCostDiscounted The discounted priced skuCost object\n */\nexport function calculateSavingsPercent(skuCostOriginal: PackageSkuCost, skuCostDiscounted: PackageSkuCost): number {\n let retVal = 0;\n const costDifference = skuCostOriginal?.cost - skuCostDiscounted?.cost;\n\n // If the \"discounted\" price is greater, we'll just ignore that...\n if (costDifference > 0) {\n retVal = Math.round((costDifference / skuCostOriginal?.cost) * 100);\n }\n\n return retVal;\n}\n\nexport function formatCostInLocaleCurrency(skuCost: PackageSkuCost): React.ReactElement | string {\n return FormattedNumber({\n value: skuCost?.cost / 100,\n formatStyle: 'currency',\n currency: skuCost?.currency?.code,\n currencyDisplay: 'symbol',\n minimumFractionDigits: 0,\n });\n}\n\nexport function monthlyCostInDollars(skuCost: PackageSkuCost): number {\n return skuCost.cost / 100 / 12;\n}\n\nexport function formatMonthlyCostInLocaleCurrency(skuCost: PackageSkuCost): React.ReactElement | string {\n const monthlyCost = monthlyCostInDollars(skuCost);\n return FormattedNumber({\n value: monthlyCost,\n formatStyle: 'currency',\n currency: skuCost.currency.code,\n currencyDisplay: 'symbol',\n minimumFractionDigits: 0,\n });\n}\n\nexport function createPackagesList(packages: PackageDataSet, packageSet: PackageSet): PackageDataSet {\n // The provided package list is both the filter and determines the order\n return packages\n .filter((packageObj: PackageData) => packageSet.includes(packageObj.package))\n .sort((a, b) => packageSet.indexOf(a.package) - packageSet.indexOf(b.package));\n}\n\nexport function convertFeatureSetToMap(featureSet: Feature[]): FeatureSetMap {\n return featureSet.reduce(\n (acc: FeatureSetMap, feature: Feature) => ({\n ...acc,\n [feature.name]: feature,\n }),\n {}\n );\n}\n","import { createUseStyles } from 'react-jss';\nimport { PricingAppTheme } from '~app/styles/theme';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createUseStyles(({ spacing, type, palette }: PricingAppTheme) => ({\n Header: {\n textAlign: 'center',\n padding: [spacing[4], spacing[5], 0],\n '& h2': {\n fontSize: 21,\n fontWeight: type.fontWeight.medium,\n },\n '& h3': {\n fontSize: 34,\n fontWeight: type.fontWeight.medium,\n whiteSpace: 'nowrap',\n '& span': {\n fontSize: 20,\n fontWeight: 400,\n },\n },\n '& h4': {\n fontSize: 11,\n },\n '& p': {\n color: palette.text.darkMuted,\n fontSize: 16,\n marginTop: 20,\n lineHeight: 1.2,\n },\n [MD_MEDIA_QUERY]: {\n minHeight: 180,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n },\n },\n}));\n","import React, { useContext, useMemo } from 'react';\nimport { t } from '@sm/intl';\nimport { Typography } from '@wds/typography';\nimport { PricingExperienceContext } from '~pricing/lib/PricingExperience/PricingExperienceContext';\nimport { PACKAGES, COMPARISON_PACKAGES } from '~app/pages/Pricing/lib/constants';\nimport { PackageHeaderProps, PackageData, PackageType } from '~pricing/lib/summaryPackages';\n\nimport packageDefs from '~pricing/components/Summary/packageDefs';\nimport PackageCta from '~pricing/components/PackageCta';\nimport PackagePrice from '~pricing/components/PackageHeader/PackagePrice';\nimport PackageByline from '~pricing/components/PackageHeader/PackageByline';\nimport Ribbon from '~pricing/components/Ribbon';\n\nimport COPY from './copy';\n\nimport {\n calculateSavingsPercent,\n formatMonthlyCostInLocaleCurrency,\n formatCostInLocaleCurrency,\n getCoreCostFromSkus,\n} from '~app/pages/Pricing/lib/lib-helpers';\n\nimport usePackageHeaderStyles from '~app/pages/Pricing/components/PackageHeader/useStyles';\n\nexport default function PackageHeader({\n ctaLabel,\n details,\n packageName,\n skuCosts,\n packageType,\n}: PackageHeaderProps): React.ReactElement {\n const { Header } = usePackageHeaderStyles();\n const { displayName } = details;\n\n const comparisonPackageName = COMPARISON_PACKAGES[packageName];\n const coreSeatCost = useMemo(() => getCoreCostFromSkus(skuCosts), [skuCosts]);\n const formattedPrice = useMemo(\n () => coreSeatCost && formatCostInLocaleCurrency(coreSeatCost),\n [coreSeatCost]\n ) as string;\n const formattedMonthlyPrice = useMemo(\n () => coreSeatCost && formatMonthlyCostInLocaleCurrency(coreSeatCost),\n [coreSeatCost]\n ) as string;\n const packageData = useContext(PricingExperienceContext);\n let ribbonText = packageDefs[packageName]?.highlighted ? t(COPY.BEST_VALUE) : null;\n\n const comparisonPackage = useMemo(\n () =>\n comparisonPackageName\n ? packageData?.find((packageObj: PackageData) => packageObj.package === comparisonPackageName)\n : null,\n [comparisonPackageName, packageData]\n );\n const comparisonSeatCost = useMemo(\n () => (comparisonPackage ? getCoreCostFromSkus(comparisonPackage?.skuCost) : null),\n [comparisonPackage]\n );\n const savingsPercentage = useMemo(\n () => (coreSeatCost && comparisonSeatCost ? calculateSavingsPercent(comparisonSeatCost, coreSeatCost) : 0),\n [comparisonSeatCost, coreSeatCost]\n );\n\n if (savingsPercentage > 0) {\n ribbonText = t(COPY.SAVE_PERCENTAGE, { percentage: savingsPercentage });\n }\n\n const byline =\n packageType === PackageType.Teams\n ? packageDefs[packageName]?.byline\n : packageDefs[packageName]?.pricePerMonthAnnually?.(formattedPrice);\n\n return (\n <>\n {ribbonText && {ribbonText}}\n\n
    \n \n {displayName.toUpperCase()}\n \n {packageName !== PACKAGES.Enterprise && (\n \n )}\n \n \n
    \n \n );\n}\n","import { createUseStyles } from 'react-jss';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme, PackageTheme } from '~app/styles/theme';\n\ntype Props = {\n packageName: string;\n};\n\ntype RuleNames = 'PricingPackageContainer' | 'PricingPackage' | 'Highlighted' | 'PlanFeaturesLink';\n\nexport const HIGHLIGHT = (defaultColor: string, packageTheme: PackageTheme): object => ({\n border: ({ packageName }: Props) =>\n `1px solid ${packageTheme[packageName] ? packageTheme[packageName].primary : defaultColor}`,\n});\n\nexport default createUseStyles(\n ({ spacing, pricingPalette, packageTheme }: PricingAppTheme) => ({\n PricingPackageContainer: {\n marginBottom: spacing[4],\n width: '100%',\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n flexDirection: 'column',\n maxWidth: 320,\n marginLeft: spacing[3],\n marginRight: spacing[3],\n },\n },\n PricingPackage: {\n position: 'relative',\n padding: [spacing[5], 0],\n border: `1px solid ${pricingPalette.colors.flint}`,\n borderRadius: 3,\n marginBottom: spacing[6],\n [MD_MEDIA_QUERY]: {\n height: '100%',\n transition: 'border-color 0.5s ease',\n '&:hover': {\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n },\n },\n },\n Highlighted: {\n [MD_MEDIA_QUERY]: {\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n marginTop: -spacing[5],\n paddingTop: spacing[7],\n },\n },\n PlanFeaturesLink: {\n fontSize: 13,\n margin: [spacing[4], spacing[5], 0],\n textAlign: 'center',\n [MD_MEDIA_QUERY]: {\n position: 'absolute',\n bottom: spacing[4],\n textAlign: 'left',\n },\n },\n })\n);\n","import { createUseStyles } from 'react-jss';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\nimport { PricingAppTheme } from '~app/styles/theme';\n\nexport default createUseStyles(({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n Features: {\n listStyle: 'none',\n fontSize: 13,\n lineHeight: 1.2,\n color: pricingPalette.colors.charcoal,\n display: 'flex',\n flexDirection: 'column',\n padding: 0,\n margin: [20, 'auto', 30],\n width: 240,\n [MD_MEDIA_QUERY]: {\n margin: [20, 0, 30],\n width: 'auto',\n },\n },\n FeatureItem: {\n position: 'relative',\n padding: [spacing[1], 0, spacing[1]],\n display: 'flex',\n alignItems: 'center',\n wordBreak: 'break-word',\n '&:before': {\n content: '\"•\"',\n display: 'inline-block',\n paddingRight: 10,\n color: pricingPalette.colors.stone,\n fontSize: 20,\n },\n [MD_MEDIA_QUERY]: {\n padding: `${spacing[1]}px ${spacing[7]}px ${spacing[1]}px ${spacing[6]}px`,\n '&:hover': {\n backgroundColor: pricingPalette.colors.canvas,\n transition: '0.2s ease',\n '& $TooltipContainer': {\n display: 'inline-block',\n },\n },\n },\n },\n FeatureSummary: {\n lineHeight: 1.6,\n },\n TooltipContainer: {\n position: 'relative',\n display: 'none',\n },\n}));\n","import { createUseStyles } from 'react-jss';\nimport { PricingAppTheme } from '~app/styles/theme';\n\nexport default createUseStyles(({ spacing, type, pricingPalette }: PricingAppTheme) => ({\n Tooltip: {\n position: 'absolute',\n width: 200,\n padding: spacing[5],\n backgroundColor: pricingPalette.colors.white,\n transform: 'translateX(10%)',\n top: -36,\n borderRadius: 2,\n boxShadow: '0 0 10px 0 rgba(0, 0, 0, 0.2)',\n zIndex: 1,\n '& h5': {\n fontWeight: type.fontWeight.medium,\n marginBottom: spacing[3],\n },\n },\n TooltipArrow: {\n width: 50,\n height: 25,\n position: 'absolute',\n top: 20,\n left: -37,\n transform: 'rotate(90deg)',\n overflow: 'hidden',\n '&:after': {\n content: '\"\"',\n position: 'absolute',\n width: 20,\n height: 20,\n background: pricingPalette.colors.white,\n transform: 'translateX(-50%) translateY(-50%) rotate(45deg)',\n top: 0,\n left: '50%',\n boxShadow: '0 0 10px 0 rgba(0, 0, 0, 0.2)',\n },\n },\n}));\n","import React from 'react';\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\nimport useTooltipStyles from './useStyles';\n\ntype FeatureTooltipProps = {\n tooltipHeading: string;\n tooltip: string;\n};\n\nexport default function FeatureTooltip({ tooltipHeading, tooltip }: FeatureTooltipProps): React.ReactElement {\n const { Tooltip, TooltipArrow } = useTooltipStyles();\n\n return (\n \n \n {tooltipHeading}\n \n {tooltip}\n \n \n );\n}\n","import React from 'react';\nimport useFeatureSetStyles from '~app/pages/Pricing/components/FeatureSet/useStyles';\nimport { SummaryDisplayFeatureList, DisplayFeatureStatic } from '~pricing/lib/summaryPackages';\nimport FeatureTooltip from '~pricing/components/Tooltip';\n\nexport default function FeatureSet({\n features,\n packageName,\n}: {\n features: SummaryDisplayFeatureList;\n packageName: string;\n}): React.ReactElement {\n const { Features, FeatureItem, FeatureSummary, TooltipContainer } = useFeatureSetStyles();\n\n return (\n
      \n {features\n .filter((feature: DisplayFeatureStatic) => !!feature)\n .map((feature: DisplayFeatureStatic) => {\n return (\n
    • \n {feature?.summary && (\n \n {feature?.summary}\n {feature?.tooltip && feature?.tooltipHeading && (\n \n \n \n )}\n \n )}\n
    • \n );\n })}\n
    \n );\n}\n","import { useState, useMemo, useContext } from 'react';\nimport { StaticContext } from '@sm/webassets';\n\nimport useFeatureSet from './useFeatureSet';\nimport { SummaryFeatureTransformer } from '~pricing/transformers/summary';\nimport { FeatureSet, SummaryDisplayFeatureList } from '~pricing/lib/summaryPackages';\n\nexport default function useSummaryDisplayFeatures(\n features: FeatureSet,\n featureTransformer?: SummaryFeatureTransformer\n): SummaryDisplayFeatureList {\n const {\n environment: { slLanguageLocale },\n } = useContext(StaticContext);\n\n const featureSetMap = useFeatureSet(features);\n const [displayFeatures, setDisplayFeatures] = useState([]);\n\n useMemo(() => {\n if (featureTransformer) {\n const featureSetData = featureTransformer(featureSetMap, { locale: slLanguageLocale });\n setDisplayFeatures(featureSetData);\n }\n }, [featureSetMap, featureTransformer, slLanguageLocale]);\n\n return displayFeatures;\n}\n","import { useMemo, useState } from 'react';\nimport { FeatureSet, FeatureSetMap } from '~pricing/lib/summaryPackages';\nimport { convertFeatureSetToMap } from '~pricing/lib/lib-helpers';\n\nexport default function usePackageFeatureSet(featureSet: FeatureSet): FeatureSetMap {\n const [featureSetMap, setFeatureSetMap] = useState({});\n useMemo(() => {\n setFeatureSetMap(convertFeatureSetToMap(featureSet));\n }, [featureSet]);\n\n return featureSetMap;\n}\n","import { SummaryFeatureMapItem } from '~pricing/lib/summaryPackages';\n\n// The list of the order in which summary display features should be shown.\n// Also maps where feature set items should be combined or split for display purposes\n// To make TS happy we still have to map standalone features to an empty array\nconst DefaultFeatureSetToSummaryFeatures: SummaryFeatureMapItem[] = [\n {\n featureItemKey: 'survey_create_limit',\n },\n {\n featureItemKey: 'create_question_limit',\n },\n {\n featureItemKey: 'response_count',\n features: ['base_response_count', 'num_free_responses'],\n },\n {\n featureItemKey: 'support',\n features: ['email_support', 'priority_email_support', 'phone_support'],\n },\n {\n featureItemKey: 'quizzes_pro',\n },\n {\n featureItemKey: 'analyze_export_enabled',\n },\n {\n featureItemKey: 'survey_logic',\n features: ['create_skip_logic_enabled', 'create_piping_enabled'],\n },\n {\n featureItemKey: 'statistical_significance',\n },\n {\n featureItemKey: 'analyze_export_spss_enabled',\n },\n {\n featureItemKey: 'survey_branding',\n features: ['create_logo_enabled', 'create_custom_theme_enabled', 'collector_friendly_url_enabled'],\n },\n {\n featureItemKey: 'create_advanced_features',\n features: ['create_quotas_enabled', 'a_b_testing', 'create_randomization_enabled'],\n },\n {\n featureItemKey: 'create_custom_variables_enabled',\n },\n {\n featureItemKey: 'payment_qt',\n },\n {\n featureItemKey: 'file_upload',\n },\n {\n featureItemKey: 'benchmarks',\n },\n {\n featureItemKey: 'click_map_qt',\n },\n];\n\nexport default DefaultFeatureSetToSummaryFeatures;\n","const { defineMessages } = require('@sm/intl');\n\nconst TYPE_HEADER = '[Type: Header][Vis: high] - Feature Set List Item Tooltip Heading';\nconst TYPE_PARAGRAPH = '[Type: Paragraph][Vis: high] - Feature Set List Item Tooltip';\nconst NUM_RESPONSES = 'NUMBER OF RESPONSES';\nconst NUM_RESPONSES_TOOLTIP =\n 'Each plan has a limited number of responses as indicated. Basic users must purchase a paid plan to view responses in excess of the Response Limit. For other plans, users will be invoiced up to US$0.80 cent or equivalent, for each response over the indicated Response Limit.';\nconst SUPPORT = '24/7 CUSTOMER SUPPORT VIA EMAIL';\nconst SUPPORT_TOOLTIP =\n 'We offer 24/7 email support for all customers. Emails from ADVANTAGE and PREMIER customers are prioritized to receive responses as quickly as possible. We also offer phone support for our PREMIER customers.';\n\nexport default defineMessages({\n '508_accessibility_tooltip_heading': {\n id: 'PricingSummary.Feature.508AccessibilityTooltipHeading',\n defaultMessage: 'ADA compliancy',\n desc: TYPE_HEADER,\n },\n '508_accessibility_tooltip': {\n id: 'PricingSummary.Feature.508AccessibilityTooltip',\n defaultMessage: 'ADA compliant tooltip',\n desc: TYPE_PARAGRAPH,\n },\n a_b_testing_tooltip_heading: {\n id: 'PricingSummary.Feature.ABTestingTooltipHeading',\n defaultMessage: 'A/B Testing Heading',\n desc: TYPE_HEADER,\n },\n a_b_testing_tooltip: {\n id: 'PricingSummary.Feature.ABTestingTooltip',\n defaultMessage: 'A/B Testing tooltip',\n desc: TYPE_PARAGRAPH,\n },\n account_verification_tooltip_heading: {\n id: 'PricingSummary.Feature.AccountVerificationTooltipHeading',\n defaultMessage: 'Account Verification Heading',\n desc: TYPE_HEADER,\n },\n account_verification_tooltip: {\n id: 'PricingSummary.Feature.AccountVerificationTooltip',\n defaultMessage: 'Account Verification tooltip',\n desc: TYPE_PARAGRAPH,\n },\n add_users_tooltip_heading: {\n id: 'PricingSummary.Feature.AddUsersTooltipHeading',\n defaultMessage: 'Add Users Heading',\n desc: TYPE_HEADER,\n },\n add_users_tooltip: {\n id: 'PricingSummary.Feature.AddUsersTooltip',\n defaultMessage: 'Add Users tooltip',\n desc: TYPE_PARAGRAPH,\n },\n admin_dashboard_tooltip_heading: {\n id: 'PricingSummary.Feature.AdminDashboardTooltipHeading',\n defaultMessage: 'Admin Dashboard Heading',\n desc: TYPE_HEADER,\n },\n admin_dashboard_tooltip: {\n id: 'PricingSummary.Feature.AdminDashboardTooltip',\n defaultMessage: 'Admin Dashboard tooltip',\n desc: TYPE_PARAGRAPH,\n },\n advanced_logic_tooltip_heading: {\n id: 'PricingSummary.Feature.AdvancedLogicTooltipHeading',\n defaultMessage: 'Advanced Logic Heading',\n desc: TYPE_HEADER,\n },\n advanced_logic_tooltip: {\n id: 'PricingSummary.Feature.AdvancedLogicTooltip',\n defaultMessage: 'Advanced Logic tooltip',\n desc: TYPE_PARAGRAPH,\n },\n advanced_survey_features_tooltip_heading: {\n id: 'PricingSummary.Feature.AdvancedSurveyFeaturesTooltipHeading',\n defaultMessage: 'Advanced Survey Features Heading',\n desc: TYPE_HEADER,\n },\n advanced_survey_features_tooltip: {\n id: 'PricingSummary.Feature.AdvancedSurveyFeaturesTooltip',\n defaultMessage: 'Advanced Survey Features tooltip',\n desc: TYPE_PARAGRAPH,\n },\n all_languages_supported_tooltip_heading: {\n id: 'PricingSummary.Feature.AllLanguagesSupportedTooltipHeading',\n defaultMessage: 'All Languages Supported Heading',\n desc: TYPE_HEADER,\n },\n all_languages_supported_tooltip: {\n id: 'PricingSummary.Feature.AllLanguagesSupportedTooltip',\n defaultMessage: 'All Languages Supported tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_access_benchmarking_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeAccessBenchmarkingTooltipHeading',\n defaultMessage: 'Analyze Access Benchmarking Heading',\n desc: TYPE_HEADER,\n },\n analyze_access_benchmarking_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeAccessBenchmarkingTooltip',\n defaultMessage: 'Analyze Access Benchmarking tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_can_customize_charts_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeCanCustomizeChartsTooltipHeading',\n defaultMessage: 'Analyze Custom Charts Heading',\n desc: TYPE_HEADER,\n },\n analyze_can_customize_charts_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeCanCustomizeChartsTooltip',\n defaultMessage: 'Analyze Custom Charts tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_can_export_hide_branding_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeCanExportHideBrandingTooltipHeading',\n defaultMessage: 'Analyze Export Branding Heading',\n desc: TYPE_HEADER,\n },\n analyze_can_export_hide_branding_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeCanExportHideBrandingTooltip',\n defaultMessage: 'Analyze Export Branding tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_can_export_ta_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeCanExportTATooltipHeading',\n defaultMessage: 'Analyze Export TA Heading',\n desc: TYPE_HEADER,\n },\n analyze_can_export_ta_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeCanExportTATooltip',\n defaultMessage: 'Analyze Export TA tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_can_save_views_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeCanSaveViewsTooltipHeading',\n defaultMessage: 'Analyze Save Views Heading',\n desc: TYPE_HEADER,\n },\n analyze_can_save_views_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeCanSaveViewsTooltip',\n defaultMessage: 'Analyze Save Views tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_can_share_customize_branding_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeCanShareCustomizeBrandingTooltipHeading',\n defaultMessage: 'Analyze Share Customize Branding Heading',\n desc: TYPE_HEADER,\n },\n analyze_can_share_customize_branding_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeCanShareCustomizeBrandingTooltip',\n defaultMessage: 'Analyze Share Customize Branding tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_can_share_customize_domain_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeCanShareCustomizeDomainTooltipHeading',\n defaultMessage: 'Analyze Share Customize Domain Heading',\n desc: TYPE_HEADER,\n },\n analyze_can_share_customize_domain_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeCanShareCustomizeDomainTooltip',\n defaultMessage: 'Analyze Share Customize Domain tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_can_ta_search_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeCanTASearchTooltipHeading',\n defaultMessage: 'Analyze TA Search Heading',\n desc: TYPE_HEADER,\n },\n analyze_can_ta_search_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeCanTASearchTooltip',\n defaultMessage: 'Analyze TA Search tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_can_ta_tag_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeCanTATagTooltipHeading',\n defaultMessage: 'Analyze TA Tag Heading',\n desc: TYPE_HEADER,\n },\n analyze_can_ta_tag_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeCanTATagTooltip',\n defaultMessage: 'Analyze TA Tag tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_combine_filters_tooltip_heading: {\n id: 'PricingSummary.Feature.CombineFiltersTooltipHeading',\n defaultMessage: 'Analyze Combine Filters Heading',\n desc: TYPE_HEADER,\n },\n analyze_combine_filters_tooltip: {\n id: 'PricingSummary.Feature.CombineFiltersTooltip',\n defaultMessage: 'Analyze Combine Filters tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_dashboard_password_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeDashboardPasswordEnabledTooltipHeading',\n defaultMessage: 'Analyze Dashboard Password Heading',\n desc: TYPE_HEADER,\n },\n analyze_dashboard_password_enabled_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeDashboardPasswordEnabledTooltip',\n defaultMessage: 'Analyze Dashboard Password tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_delete_respondent_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeDeleteRespondentLimitTooltipHeading',\n defaultMessage: 'Analyze Delete Respondent Limit Heading',\n desc: TYPE_HEADER,\n },\n analyze_delete_respondent_limit_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeDeleteRespondentLimitTooltip',\n defaultMessage: 'Analyze Delete Respondent Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_export_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeExportEnabledTooltipHeading',\n defaultMessage: 'DATA EXPORTS',\n desc: TYPE_HEADER,\n },\n analyze_export_enabled_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeExportEnabledTooltip',\n defaultMessage: `Easily create tests and assessments with automatic scoring for employees, customers, students, and more. You can choose whether you want to display your respondent's score to them after they complete your quiz. You'll also be able to see rankings, segment response data, and access statistics for your results.`,\n desc: TYPE_PARAGRAPH,\n },\n analyze_export_spss_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeExportSpssEnabledTooltipHeading',\n defaultMessage: 'ADVANCED DATA EXPORTS',\n desc: TYPE_HEADER,\n },\n analyze_export_spss_enabled_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeExportSpssEnabledTooltip',\n defaultMessage:\n 'Download your survey results into SPSS-along with CSV, PDF, PPT, or XLS files too. Also create and print custom charts and reports quickly and easily.',\n desc: TYPE_PARAGRAPH,\n },\n analyze_integrations_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeIntegrationsTooltipHeading',\n defaultMessage: 'Analyze Integrations Heading',\n desc: TYPE_HEADER,\n },\n analyze_integrations_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeIntegrationsTooltip',\n defaultMessage: 'Analyze Integrations tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_password_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzePasswordEnabledTooltipHeading',\n defaultMessage: 'Analyze Password Enabled Heading',\n desc: TYPE_HEADER,\n },\n analyze_password_enabled_tooltip: {\n id: 'PricingSummary.Feature.AnalyzePasswordEnabledTooltip',\n defaultMessage: 'Analyze Password Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_response_delete_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeResponseDeleteLimitTooltipHeading',\n defaultMessage: 'Analyze Response Delete Limit Heading',\n desc: TYPE_HEADER,\n },\n analyze_response_delete_limit_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeResponseDeleteLimitTooltip',\n defaultMessage: 'Analyze Response Delete Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_response_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeResponseLimitTooltipHeading',\n defaultMessage: 'Analyze Response Limit Heading',\n desc: TYPE_HEADER,\n },\n analyze_response_limit_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeResponseLimitTooltip',\n defaultMessage: 'Analyze Response Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_results_together_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeResultsTogetherTooltipHeading',\n defaultMessage: 'Analyze Results Together Heading',\n desc: TYPE_HEADER,\n },\n analyze_results_together_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeResultsTogetherTooltip',\n defaultMessage: 'Analyze Results Together tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_rule_based_tagging_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeRuleBasedTaggingTooltipHeading',\n defaultMessage: 'Analyze Rule Based Tagging Heading',\n desc: TYPE_HEADER,\n },\n analyze_rule_based_tagging_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeRuleBasedTaggingTooltip',\n defaultMessage: 'Analyze Rule Based Tagging tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_rule_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeRuleLimitTooltipHeading',\n defaultMessage: 'Analyze Rule Limit Heading',\n desc: TYPE_HEADER,\n },\n analyze_rule_limit_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeRuleLimitTooltip',\n defaultMessage: 'Analyze Rule Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_sentiment_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeSentimentEnabledTooltipHeading',\n defaultMessage: 'Analyze Sentiment Enabled Heading',\n desc: TYPE_HEADER,\n },\n analyze_sentiment_enabled_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeSentimentEnabledTooltip',\n defaultMessage: 'Analyze Sentiment Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_shared_results_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeSharedResultsEnabledTooltipHeading',\n defaultMessage: 'Analyze Shared Results Enabled Heading',\n desc: TYPE_HEADER,\n },\n analyze_shared_results_enabled_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeSharedResultsEnabledTooltip',\n defaultMessage: 'Analyze Shared Results Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_ta_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeTAEnabledTooltipHeading',\n defaultMessage: 'Analyze TA Enabled Heading',\n desc: TYPE_HEADER,\n },\n analyze_ta_enabled_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeTAEnabledTooltip',\n defaultMessage: 'Analyze TA Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n analyze_trends_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.AnalyzeTrendsEnabledTooltipHeading',\n defaultMessage: 'Analyze Trends Enabled Heading',\n desc: TYPE_HEADER,\n },\n analyze_trends_enabled_tooltip: {\n id: 'PricingSummary.Feature.AnalyzeTrendsEnabledTooltip',\n defaultMessage: 'Analyze Trends Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n api_access_tooltip_heading: {\n id: 'PricingSummary.Feature.ApiAccessTooltipHeading',\n defaultMessage: 'API Access Heading',\n desc: TYPE_HEADER,\n },\n api_access_tooltip: {\n id: 'PricingSummary.Feature.ApiAccessTooltip',\n defaultMessage: 'API Access tooltip',\n desc: TYPE_PARAGRAPH,\n },\n asset_library_tooltip_heading: {\n id: 'PricingSummary.Feature.AssetLibraryTooltipHeading',\n defaultMessage: 'Asset Library Heading',\n desc: TYPE_HEADER,\n },\n asset_library_tooltip: {\n id: 'PricingSummary.Feature.AssetLibraryTooltip',\n defaultMessage: 'Asset Library tooltip',\n desc: TYPE_PARAGRAPH,\n },\n assign_admin_role_tooltip_heading: {\n id: 'PricingSummary.Feature.AssignAdminRoleTooltipHeading',\n defaultMessage: 'Assign Admin Role Heading',\n desc: TYPE_HEADER,\n },\n assign_admin_role_tooltip: {\n id: 'PricingSummary.Feature.AssignAdminRoleTooltip',\n defaultMessage: 'Assign Admin Role tooltip',\n desc: TYPE_PARAGRAPH,\n },\n base_response_count_tooltip_heading: {\n id: 'PricingSummary.Feature.BaseResponseCountTooltipHeading',\n defaultMessage: NUM_RESPONSES,\n desc: TYPE_HEADER,\n },\n base_response_count_tooltip: {\n id: 'PricingSummary.Feature.BaseResponseCountTooltip',\n defaultMessage: NUM_RESPONSES_TOOLTIP,\n desc: TYPE_PARAGRAPH,\n },\n benchmarks_tooltip_heading: {\n id: 'PricingSummary.Feature.BenchmarksTooltipHeading',\n defaultMessage: 'SURVEYMONKEY INDUSTRY BENCHMARKS',\n desc: TYPE_HEADER,\n },\n benchmarks_tooltip: {\n id: 'PricingSummary.Feature.BenchmarksTooltip',\n defaultMessage: `Compare your results against the Industry Benchmark to understand how you're doing in the context of your greater industry. See your results in context to see how you measure up against your peers.`,\n desc: TYPE_PARAGRAPH,\n },\n best_worst_qt_tooltip_heading: {\n id: 'PricingSummary.Feature.BestWorstQTTooltipHeading',\n defaultMessage: 'Best Worst QT Heading',\n desc: TYPE_HEADER,\n },\n best_worst_qt_tooltip: {\n id: 'PricingSummary.Feature.BestWorstQTTooltip',\n defaultMessage: 'Best Worst QT tooltip',\n desc: TYPE_PARAGRAPH,\n },\n build_surveys_together_tooltip_heading: {\n id: 'PricingSummary.Feature.BuildSurveysTogetherTooltipHeading',\n defaultMessage: 'Build Surveys Together Heading',\n desc: TYPE_HEADER,\n },\n build_surveys_together_tooltip: {\n id: 'PricingSummary.Feature.BuildSurveysTogetherTooltip',\n defaultMessage: 'Build Surveys Together tooltip',\n desc: TYPE_PARAGRAPH,\n },\n bulk_survey_share_tooltip_heading: {\n id: 'PricingSummary.Feature.BulkSurveyShareTooltipHeading',\n defaultMessage: 'Bulk Survey Share Heading',\n desc: TYPE_HEADER,\n },\n bulk_survey_share_tooltip: {\n id: 'PricingSummary.Feature.BulkSurveyShareTooltip',\n defaultMessage: 'Bulk Survey Share tooltip',\n desc: TYPE_PARAGRAPH,\n },\n bulk_survey_transfer_tooltip_heading: {\n id: 'PricingSummary.Feature.BulkSurveyTransferTooltipHeading',\n defaultMessage: 'Bulk Survey Transfer Heading',\n desc: TYPE_HEADER,\n },\n bulk_survey_transfer_tooltip: {\n id: 'PricingSummary.Feature.BulkSurveyTransferTooltip',\n defaultMessage: 'Bulk Survey Transfer tooltip',\n desc: TYPE_PARAGRAPH,\n },\n carry_forward_tooltip_heading: {\n id: 'PricingSummary.Feature.CarryForwardTooltipHeading',\n defaultMessage: 'Carry Forward Heading',\n desc: TYPE_HEADER,\n },\n carry_forward_tooltip: {\n id: 'PricingSummary.Feature.CarryForwardTooltip',\n defaultMessage: 'Carry Forward tooltip',\n desc: TYPE_PARAGRAPH,\n },\n click_map_qt_tooltip_heading: {\n id: 'PricingSummary.Feature.ClickMapQTTooltipHeading',\n defaultMessage: 'CLICK MAP DATA VISUALIZATION',\n desc: TYPE_HEADER,\n },\n click_map_qt_tooltip: {\n id: 'PricingSummary.Feature.ClickMapQTTooltip',\n defaultMessage: `Collect feedback on an image by tracking where and how many respondents click on it. When analyzing and presenting results, you'll be able to see each click represented by a corresponding dot, so it's clear which areas stand out to your audience.`,\n desc: TYPE_PARAGRAPH,\n },\n collaboration_tooltip_heading: {\n id: 'PricingSummary.Feature.CollaborationTooltipHeading',\n defaultMessage: 'Collaboration Heading',\n desc: TYPE_HEADER,\n },\n collaboration_tooltip: {\n id: 'PricingSummary.Feature.CollaborationTooltip',\n defaultMessage: 'Collaboration tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collect_contact_information_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectContactInformationTooltipHeading',\n defaultMessage: 'Collect Contact Information Heading',\n desc: TYPE_HEADER,\n },\n collect_contact_information_tooltip: {\n id: 'PricingSummary.Feature.CollectContactInformationTooltip',\n defaultMessage: 'Collect Contact Information tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collect_email_throttle_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectEmailThrottleLimitTooltipHeading',\n defaultMessage: 'Collect Email Throttle Limit Heading',\n desc: TYPE_HEADER,\n },\n collect_email_throttle_limit_tooltip: {\n id: 'PricingSummary.Feature.CollectEmailThrottleLimitTooltip',\n defaultMessage: 'Collect Email Throttle Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collect_min_daily_messages_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectMinDailyMessagesLimitTooltipHeading',\n defaultMessage: 'Collect Min Daily Messages Limit Heading',\n desc: TYPE_HEADER,\n },\n collect_min_daily_messages_limit_tooltip: {\n id: 'PricingSummary.Feature.CollectMinDailyMessagesLimitTooltip',\n defaultMessage: 'Collect Min Daily Messages Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collect_responses_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectResponsesTooltipHeading',\n defaultMessage: 'Collect Responses Heading',\n desc: TYPE_HEADER,\n },\n collect_responses_tooltip: {\n id: 'PricingSummary.Feature.CollectResponsesTooltip',\n defaultMessage: 'Collect Responses tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_completion_url_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorCompletionUrlEnabledTooltipHeading',\n defaultMessage: 'Collector Completion Url Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_completion_url_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorCompletionUrlEnabledTooltip',\n defaultMessage: 'Collector Completion Url Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_contact_list_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorContactListLimitTooltipHeading',\n defaultMessage: 'Collector Contact List Limit Heading',\n desc: TYPE_HEADER,\n },\n collector_contact_list_limit_tooltip: {\n id: 'PricingSummary.Feature.CollectorContactListLimitTooltip',\n defaultMessage: 'Collector Contact List Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_create_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorCreateLimitTooltipHeading',\n defaultMessage: 'Collector Create Limit Heading',\n desc: TYPE_HEADER,\n },\n collector_create_limit_tooltip: {\n id: 'PricingSummary.Feature.CollectorCreateLimitTooltip',\n defaultMessage: 'Collector Create Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_email_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorEmailLimitTooltipHeading',\n defaultMessage: 'Collector Email Limit Heading',\n desc: TYPE_HEADER,\n },\n collector_email_limit_tooltip: {\n id: 'PricingSummary.Feature.CollectorEmailLimitTooltip',\n defaultMessage: 'Collector Email Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_email_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorEmailEnabledTooltipHeading',\n defaultMessage: 'Collector Email Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_email_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorEmailEnabledTooltip',\n defaultMessage: 'Collector Email Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_facebook_messenger_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorFacebookMessengerEnabledTooltipHeading',\n defaultMessage: 'Collector Facebook Messenger Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_facebook_messenger_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorFacebookMessengerEnabledTooltip',\n defaultMessage: 'Collector Facebook Messenger Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_manual_data_entry_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorManualDataEntryEnabledTooltipHeading',\n defaultMessage: 'Collector Manuanl Data Entry Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_manual_data_entry_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorManualDataEntryEnabledTooltip',\n defaultMessage: 'Collector Manuanl Data Entry Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_mobile_sdk_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorMobileSdkEnabledTooltipHeading',\n defaultMessage: 'Collector Mobile SDK Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_mobile_sdk_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorMobileSdkEnabledTooltip',\n defaultMessage: 'Collector Mobile SDK Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_offline_kiosk_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorOfflineKioskEnabledTooltipHeading',\n defaultMessage: 'Collector Offline Kiosk Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_offline_kiosk_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorOfflineKioskEnabledTooltip',\n defaultMessage: 'Collector Offline Kiosk Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_popup_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorPopupEnabledTooltipHeading',\n defaultMessage: 'Collector Popup Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_popup_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorPopupEnabledTooltip',\n defaultMessage: 'Collector Popup Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_friendly_url_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorFriendlyUrlEnabledTooltipHeading',\n defaultMessage: 'Collector Friendly Url Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_friendly_url_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorFriendlyUrlEnabledTooltip',\n defaultMessage: 'Collector Friendly Url Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_max_responses_delete_count_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorMaxResponsesDeleteCountTooltipHeading',\n defaultMessage: 'Collector Max Responses Delete Count Heading',\n desc: TYPE_HEADER,\n },\n collector_max_responses_delete_count_tooltip: {\n id: 'PricingSummary.Feature.CollectorMaxResponsesDeleteCountTooltip',\n defaultMessage: 'Collector Max Responses Delete Count tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_recipients_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorRecipientsLimitTooltipHeading',\n defaultMessage: 'Collector Recipients Limit Heading',\n desc: TYPE_HEADER,\n },\n collector_recipients_limit_tooltip: {\n id: 'PricingSummary.Feature.CollectorRecipientsLimitTooltip',\n defaultMessage: 'Collector Recipients Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_thank_you_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorThankYouEnabledTooltipHeading',\n defaultMessage: 'Collector Thank You Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_thank_you_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorThankYouEnabledTooltip',\n defaultMessage: 'Collector Thank You Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_white_label_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorWhiteLabelEnabledTooltipHeading',\n defaultMessage: 'Collector White Label Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_white_label_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorWhiteLabelEnabledTooltip',\n defaultMessage: 'Collector White Label Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collector_zoom_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorZoomEnabledTooltipHeading',\n defaultMessage: 'Collector Zoom Enabled Heading',\n desc: TYPE_HEADER,\n },\n collector_zoom_enabled_tooltip: {\n id: 'PricingSummary.Feature.CollectorZoomEnabledTooltip',\n defaultMessage: 'Collector Zoom Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collectors_read_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorsReadTooltipHeading',\n defaultMessage: 'Collectors Read Heading',\n desc: TYPE_HEADER,\n },\n collectors_read_tooltip: {\n id: 'PricingSummary.Feature.CollectorsReadTooltip',\n defaultMessage: 'Collectors Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collectors_write_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectorsWriteTooltipHeading',\n defaultMessage: 'Collectors Write Heading',\n desc: TYPE_HEADER,\n },\n collectors_write_tooltip: {\n id: 'PricingSummary.Feature.CollectorsWriteTooltip',\n defaultMessage: 'Collectors Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n collect_end_page_question_bank_demographics_tooltip_heading: {\n id: 'PricingSummary.Feature.CollectEndPageQuestionBankDemographicsTooltipHeading',\n defaultMessage: 'Collect End Page Question Bank Demographics Heading',\n desc: TYPE_HEADER,\n },\n collect_end_page_question_bank_demographics_tooltip: {\n id: 'PricingSummary.Feature.CollectEndPageQuestionBankDemographicsTooltip',\n defaultMessage: 'Collect End Page Question Bank Demographics tooltip',\n desc: TYPE_PARAGRAPH,\n },\n comment_box_question_type_tooltip_heading: {\n id: 'PricingSummary.Feature.CommentBoxQuestionTypeTooltipHeading',\n defaultMessage: 'Comment Box Question Type Heading',\n desc: TYPE_HEADER,\n },\n comment_box_question_type_tooltip: {\n id: 'PricingSummary.Feature.CommentBoxQuestionTypeTooltip',\n defaultMessage: 'Comment Box Question Type tooltip',\n desc: TYPE_PARAGRAPH,\n },\n consolidated_billing_tooltip_heading: {\n id: 'PricingSummary.Feature.ConsolidatedBillingTooltipHeading',\n defaultMessage: 'Consolidatd Billing Heading',\n desc: TYPE_HEADER,\n },\n consolidated_billing_tooltip: {\n id: 'PricingSummary.Feature.ConsolidatedBillingTooltip',\n defaultMessage: 'Consolidatd Billing tooltip',\n desc: TYPE_PARAGRAPH,\n },\n contacts_read_tooltip_heading: {\n id: 'PricingSummary.Feature.ContactsReadTooltipHeading',\n defaultMessage: 'Contacts Read Heading',\n desc: TYPE_HEADER,\n },\n contacts_read_tooltip: {\n id: 'PricingSummary.Feature.ContactsReadTooltip',\n defaultMessage: 'Contacts Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n contacts_write_tooltip_heading: {\n id: 'PricingSummary.Feature.ContactsWriteTooltipHeading',\n defaultMessage: 'Contacts Write Heading',\n desc: TYPE_HEADER,\n },\n contacts_write_tooltip: {\n id: 'PricingSummary.Feature.ContactsWriteTooltip',\n defaultMessage: 'Contacts Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_custom_chatbot_avatar_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateCustomChatbotAvatarTooltipHeading',\n defaultMessage: 'Create Custom Chatbot Avatar Heading',\n desc: TYPE_HEADER,\n },\n create_custom_chatbot_avatar_tooltip: {\n id: 'PricingSummary.Feature.CreateCustomChatbotAvatarTooltip',\n defaultMessage: 'Create Custom Chatbot Avatar tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_custom_html_email_message_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateCustomHtmlEmailMessageEnabledTooltipHeading',\n defaultMessage: 'Create Custom Html Email Message Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_custom_html_email_message_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateCustomHtmlEmailMessageEnabledTooltip',\n defaultMessage: 'Create Custom Html Email Message Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_custom_theme_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateCustomThemeEnabledTooltipHeading',\n defaultMessage: 'Create Custom Theme Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_custom_theme_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateCustomThemeEnabledTooltip',\n defaultMessage: 'Create Custom Theme Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_custom_variables_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateCustomVariablesEnabledTooltipHeading',\n defaultMessage: 'CUSTOM VARIABLES',\n desc: TYPE_HEADER,\n },\n create_custom_variables_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateCustomVariablesEnabledTooltip',\n defaultMessage:\n 'Use custom variables to track data about respondents by passing one or more values through a survey link and into your survey results.',\n desc: TYPE_PARAGRAPH,\n },\n create_grayscale_footer_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateGrayscaleFooterTooltipHeading',\n defaultMessage: 'Create Grayscale Footer Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_grayscale_footer_tooltip: {\n id: 'PricingSummary.Feature.CreateGrayscaleFooterTooltip',\n defaultMessage: 'Create Grayscale Footer Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_logo_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateLogoEnabledTooltipHeading',\n defaultMessage: 'Create Logo Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_logo_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateLogoEnabledTooltip',\n defaultMessage: 'Create Logo Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_piping_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreatePipingEnabledTooltipHeading',\n defaultMessage: 'CUSTOMIZED SURVEY EXPERIENCE',\n desc: TYPE_HEADER,\n },\n create_piping_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreatePipingEnabledTooltip',\n defaultMessage: `Get more ways to personalize each respondent's experience while taking your survey. Use skip logic to create custom paths through a survey based on each respondent's answers. With question & answer piping, you can insert answer text from a question into another question on a later page in the survey.`,\n desc: TYPE_PARAGRAPH,\n },\n create_print_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreatePrintEnabledTooltipHeading',\n defaultMessage: 'Create Print Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_print_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreatePrintEnabledTooltip',\n defaultMessage: 'Create Print Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_question_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateQuestionLimitTooltipHeading',\n defaultMessage: 'QUESTIONS PER SURVEY',\n desc: TYPE_HEADER,\n },\n create_question_limit_tooltip: {\n id: 'PricingSummary.Feature.CreateQuestionLimitTooltip',\n defaultMessage:\n 'Some of our plans only allow a certain number of questions for each survey you send. All plans allow you to create and send as many surveys as you want.',\n desc: TYPE_PARAGRAPH,\n },\n create_quotas_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateQuotasEnabledTooltipHeading',\n defaultMessage: 'Create Quotas Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_quotas_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateQuotasEnabledTooltip',\n defaultMessage: 'Create Quotas Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_random_assignment_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateRandomAssignmentEnabledTooltipHeading',\n defaultMessage: 'Create Random Assignment Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_random_assignment_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateRandomAssignmentEnabledTooltip',\n defaultMessage: 'Create Random Assignment Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_randomization_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateRandomizationEnabledTooltipHeading',\n defaultMessage: 'Create Randomization Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_randomization_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateRandomizationEnabledTooltip',\n defaultMessage: 'Create Randomization Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_skip_logic_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateSkipLogicEnabledTooltipHeading',\n defaultMessage: 'CUSTOMIZED SURVEY EXPERIENCE',\n desc: TYPE_HEADER,\n },\n create_skip_logic_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateSkipLogicEnabledTooltip',\n defaultMessage: `Get more ways to personalize each respondent's experience while taking your survey. Use skip logic to create custom paths through a survey based on each respondent's answers. With question & answer piping, you can insert answer text from a question into another question on a later page in the survey.`,\n desc: TYPE_PARAGRAPH,\n },\n create_templates_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateTemplatesEnabledTooltipHeading',\n defaultMessage: 'Create Templates Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_templates_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateTemplatesEnabledTooltip',\n defaultMessage: 'Create Templates Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n create_toggle_footer_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CreateToggleFooterEnabledTooltipHeading',\n defaultMessage: 'Create Toggle Footer Enabled Heading',\n desc: TYPE_HEADER,\n },\n create_toggle_footer_enabled_tooltip: {\n id: 'PricingSummary.Feature.CreateToggleFooterEnabledTooltip',\n defaultMessage: 'Create Toggle Footer Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n custom_charts_tooltip_heading: {\n id: 'PricingSummary.Feature.CustomChartsTooltipHeading',\n defaultMessage: 'Custom Charts Heading',\n desc: TYPE_HEADER,\n },\n custom_charts_tooltip: {\n id: 'PricingSummary.Feature.CustomChartsTooltip',\n defaultMessage: 'Custom Charts tooltip',\n desc: TYPE_PARAGRAPH,\n },\n custom_templates_tooltip_heading: {\n id: 'PricingSummary.Feature.CustomTemplatesTooltipHeading',\n defaultMessage: 'Custom Templates Heading',\n desc: TYPE_HEADER,\n },\n custom_templates_tooltip: {\n id: 'PricingSummary.Feature.CustomTemplatesTooltip',\n defaultMessage: 'Custom Templates tooltip',\n desc: TYPE_PARAGRAPH,\n },\n customize_disqualification_page_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.CustomizeDisqualificationPageEnabledTooltipHeading',\n defaultMessage: 'Customize Disqualification Page Enabled Heading',\n desc: TYPE_HEADER,\n },\n customize_disqualification_page_enabled_tooltip: {\n id: 'PricingSummary.Feature.CustomizeDisqualificationPageEnabledTooltip',\n defaultMessage: 'Customize Disqualification Page Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n data_ownership_tooltip_heading: {\n id: 'PricingSummary.Feature.DataOwnershipTooltipHeading',\n defaultMessage: 'Data Ownership Heading',\n desc: TYPE_HEADER,\n },\n data_ownership_tooltip: {\n id: 'PricingSummary.Feature.DataOwnershipTooltip',\n defaultMessage: 'Data Ownership tooltip',\n desc: TYPE_PARAGRAPH,\n },\n disable_closed_page_branding_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.DisableClosedPageBrandingEnbabledTooltipHeading',\n defaultMessage: 'Disable Closed Page Branding Enabled Heading',\n desc: TYPE_HEADER,\n },\n disable_closed_page_branding_enabled_tooltip: {\n id: 'PricingSummary.Feature.DisableClosedPageBrandingEnbabledTooltip',\n defaultMessage: 'Disable Closed Page Branding Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n disable_email_message_branding_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.DisableEmailMessageBrandingEnbabledTooltipHeading',\n defaultMessage: 'Disable Email Message Branding Enabled Heading',\n desc: TYPE_HEADER,\n },\n disable_email_message_branding_enabled_tooltip: {\n id: 'PricingSummary.Feature.DisableEmailMessageBrandingEnbabledTooltip',\n defaultMessage: 'Disable Email Message Branding Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n disable_footer_branding_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.DisableFooterBrandingEnbabledTooltipHeading',\n defaultMessage: 'Disable Footer Branding Enabled Heading',\n desc: TYPE_HEADER,\n },\n disable_footer_branding_enabled_tooltip: {\n id: 'PricingSummary.Feature.DisableFooterBrandingEnbabledTooltip',\n defaultMessage: 'Disable Footer Branding Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n download_as_csv_xls_pdf_tooltip_heading: {\n id: 'PricingSummary.Feature.DownloadAsCsvXlsPdfTooltipHeading',\n defaultMessage: 'Download as Csv/Xls/Pdf Heading',\n desc: TYPE_HEADER,\n },\n download_as_csv_xls_pdf_tooltip: {\n id: 'PricingSummary.Feature.DownloadAsCsvXlsPdfTooltip',\n defaultMessage: 'Download as Csv/Xls/Pdf tooltip',\n desc: TYPE_PARAGRAPH,\n },\n download_as_ppt_tooltip_heading: {\n id: 'PricingSummary.Feature.DownloadAsPptTooltipHeading',\n defaultMessage: 'Download as Ppt Heading',\n desc: TYPE_HEADER,\n },\n download_as_ppt_tooltip: {\n id: 'PricingSummary.Feature.DownloadAsPptTooltip',\n defaultMessage: 'Download as Ppt tooltip',\n desc: TYPE_PARAGRAPH,\n },\n email_support_tooltip_heading: {\n id: 'PricingSummary.Feature.EmailSupportTooltipHeading',\n defaultMessage: SUPPORT,\n desc: TYPE_HEADER,\n },\n email_support_tooltip: {\n id: 'PricingSummary.Feature.EmailSupportTooltip',\n defaultMessage: SUPPORT_TOOLTIP,\n desc: TYPE_PARAGRAPH,\n },\n email_tracking_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.EmailTrackingEnabledTooltipHeading',\n defaultMessage: 'Email Tracking Enabled Heading',\n desc: TYPE_HEADER,\n },\n email_tracking_enabled_tooltip: {\n id: 'PricingSummary.Feature.EmailTrackingEnabledTooltip',\n defaultMessage: 'Email Tracking Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n enable_ip_blocking_tooltip_heading: {\n id: 'PricingSummary.Feature.EnableIpBlockingTooltipHeading',\n defaultMessage: 'Enable Ip Blocking Heading',\n desc: TYPE_HEADER,\n },\n enable_ip_blocking_tooltip: {\n id: 'PricingSummary.Feature.EnableIpBlockingTooltip',\n defaultMessage: 'Enable Ip Blocking tooltip',\n desc: TYPE_PARAGRAPH,\n },\n essential_question_types_tooltip_heading: {\n id: 'PricingSummary.Feature.EssentialQuestionTypesTooltipHeading',\n defaultMessage: 'Essential Question Types Heading',\n desc: TYPE_HEADER,\n },\n essential_question_types_tooltip: {\n id: 'PricingSummary.Feature.EssentialQuestionTypesTooltip',\n defaultMessage: 'Essential Question Types tooltip',\n desc: TYPE_PARAGRAPH,\n },\n extended_piping_tooltip_heading: {\n id: 'PricingSummary.Feature.ExtendedPipingTooltipHeading',\n defaultMessage: 'Extended Piping Heading',\n desc: TYPE_HEADER,\n },\n extended_piping_tooltip: {\n id: 'PricingSummary.Feature.ExtendedPipingTooltip',\n defaultMessage: 'Extended Piping tooltip',\n desc: TYPE_PARAGRAPH,\n },\n extract_data_tooltip_heading: {\n id: 'PricingSummary.Feature.ExtractDataTooltipHeading',\n defaultMessage: 'Extract Data Heading',\n desc: TYPE_HEADER,\n },\n extract_data_tooltip: {\n id: 'PricingSummary.Feature.ExtractDataTooltip',\n defaultMessage: 'Extract Data tooltip',\n desc: TYPE_PARAGRAPH,\n },\n file_upload_tooltip_heading: {\n id: 'PricingSummary.Feature.FileUploadTooltipHeading',\n defaultMessage: 'FILE UPLOAD',\n desc: TYPE_HEADER,\n },\n file_upload_tooltip: {\n id: 'PricingSummary.Feature.FileUploadTooltip',\n defaultMessage:\n 'Allow respondents to upload a file as part of their survey response. You can add up to 20 file upload questions per survey.',\n desc: TYPE_PARAGRAPH,\n },\n filter_crosstab_tooltip_heading: {\n id: 'PricingSummary.Feature.FilterCrosstabTooltipHeading',\n defaultMessage: 'Filter Crosstab Heading',\n desc: TYPE_HEADER,\n },\n filter_crosstab_tooltip: {\n id: 'PricingSummary.Feature.FilterCrosstabTooltip',\n defaultMessage: 'Filter Crosstab tooltip',\n desc: TYPE_PARAGRAPH,\n },\n funneling_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.FunnelingEnabledTooltipHeading',\n defaultMessage: 'Funneling Enabled Heading',\n desc: TYPE_HEADER,\n },\n funneling_enabled_tooltip: {\n id: 'PricingSummary.Feature.FunnelingEnabledTooltip',\n defaultMessage: 'Funneling Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n gold_features_included_tooltip_heading: {\n id: 'PricingSummary.Feature.GoldFeaturesIncludedTooltipHeading',\n defaultMessage: 'Gold Features Included Heading',\n desc: TYPE_HEADER,\n },\n gold_features_included_tooltip: {\n id: 'PricingSummary.Feature.GoldFeaturesIncludedTooltip',\n defaultMessage: 'Gold Features Included tooltip',\n desc: TYPE_PARAGRAPH,\n },\n group_contacts_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.GroupContactsLimitTooltipHeading',\n defaultMessage: 'Group Contacts Limit Heading',\n desc: TYPE_HEADER,\n },\n group_contacts_limit_tooltip: {\n id: 'PricingSummary.Feature.GroupContactsLimitTooltip',\n defaultMessage: 'Group Contacts Limit tooltip',\n desc: TYPE_PARAGRAPH,\n },\n group_templates_tooltip_heading: {\n id: 'PricingSummary.Feature.GroupTemplatesTooltipHeading',\n defaultMessage: 'Group Templates Heading',\n desc: TYPE_HEADER,\n },\n group_templates_tooltip: {\n id: 'PricingSummary.Feature.GroupTemplatesTooltip',\n defaultMessage: 'Group Templates tooltip',\n desc: TYPE_PARAGRAPH,\n },\n groups_read_tooltip_heading: {\n id: 'PricingSummary.Feature.GroupsReadTooltipHeading',\n defaultMessage: 'Groups Read Heading',\n desc: TYPE_HEADER,\n },\n groups_read_tooltip: {\n id: 'PricingSummary.Feature.GroupsReadTooltip',\n defaultMessage: 'Groups Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n groups_write_tooltip_heading: {\n id: 'PricingSummary.Feature.GroupsWriteTooltipHeading',\n defaultMessage: 'Groups Write Heading',\n desc: TYPE_HEADER,\n },\n groups_write_tooltip: {\n id: 'PricingSummary.Feature.GroupsWriteTooltip',\n defaultMessage: 'Groups Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n hide_export_branding_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.HideExportBrandingEnabledTooltipHeading',\n defaultMessage: 'Hide Export Branding Enabled Heading',\n desc: TYPE_HEADER,\n },\n hide_export_branding_enabled_tooltip: {\n id: 'PricingSummary.Feature.HideExportBrandingEnabledTooltip',\n defaultMessage: 'Hide Export Branding Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n hipaa_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.HipaaEnabledTooltipHeading',\n defaultMessage: 'Hipaa Enabled Heading',\n desc: TYPE_HEADER,\n },\n hipaa_enabled_tooltip: {\n id: 'PricingSummary.Feature.HipaaEnabledTooltip',\n defaultMessage: 'Hipaa Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n kiosk_mode_inactivity_timer_tooltip_heading: {\n id: 'PricingSummary.Feature.KioskModeInactivityTimerTooltipHeading',\n defaultMessage: 'Kiosk Mode Inactivity Timer Heading',\n desc: TYPE_HEADER,\n },\n kiosk_mode_inactivity_timer_tooltip: {\n id: 'PricingSummary.Feature.KioskModeInactivityTimerTooltip',\n defaultMessage: 'Kiosk Mode Inactivity Timer tooltip',\n desc: TYPE_PARAGRAPH,\n },\n kiosk_mode_passcode_lock_tooltip_heading: {\n id: 'PricingSummary.Feature.KioskModePasscodeLockTooltipHeading',\n defaultMessage: 'Kiosk Mode Passcode Lock Heading',\n desc: TYPE_HEADER,\n },\n kiosk_mode_passcode_lock_tooltip: {\n id: 'PricingSummary.Feature.KioskModePasscodeLockTooltip',\n defaultMessage: 'Kiosk Mode Passcode Lock tooltip',\n desc: TYPE_PARAGRAPH,\n },\n labeling_titles_numbering_tooltip_heading: {\n id: 'PricingSummary.Feature.LabelingTitlesNumberingTooltipHeading',\n defaultMessage: 'Labeling Titles Numbering Heading',\n desc: TYPE_HEADER,\n },\n labeling_titles_numbering_tooltip: {\n id: 'PricingSummary.Feature.LabelingTitlesNumberingTooltip',\n defaultMessage: 'Labeling Titles Numbering tooltip',\n desc: TYPE_PARAGRAPH,\n },\n library_read_tooltip_heading: {\n id: 'PricingSummary.Feature.LibraryReadTooltipHeading',\n defaultMessage: 'Library Read Heading',\n desc: TYPE_HEADER,\n },\n library_read_tooltip: {\n id: 'PricingSummary.Feature.LibraryReadTooltip',\n defaultMessage: 'Library Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n lite_library_tooltip_heading: {\n id: 'PricingSummary.Feature.LiteLibraryTooltipHeading',\n defaultMessage: 'Lite Library Heading',\n desc: TYPE_HEADER,\n },\n lite_library_tooltip: {\n id: 'PricingSummary.Feature.LiteLibraryTooltip',\n defaultMessage: 'Lite Library tooltip',\n desc: TYPE_PARAGRAPH,\n },\n max_collectors_per_survey_tooltip_heading: {\n id: 'PricingSummary.Feature.MaxCollectorsPerSurveyTooltipHeading',\n defaultMessage: 'Max Collectors Per Survey Heading',\n desc: TYPE_HEADER,\n },\n max_collectors_per_survey_tooltip: {\n id: 'PricingSummary.Feature.MaxCollectorsPerSurveyTooltip',\n defaultMessage: 'Max Collectors Per Survey tooltip',\n desc: TYPE_PARAGRAPH,\n },\n matrix_question_type_tooltip_heading: {\n id: 'PricingSummary.Feature.MatrixQuestionTypeTooltipHeading',\n defaultMessage: 'Matrix Question Type Heading',\n desc: TYPE_HEADER,\n },\n matrix_question_type_tooltip: {\n id: 'PricingSummary.Feature.MatrixQuestionTypeTooltip',\n defaultMessage: 'Matrix Question Type tooltip',\n desc: TYPE_PARAGRAPH,\n },\n maximum_daily_messages_tooltip_heading: {\n id: 'PricingSummary.Feature.MaximumDailyMessagesTooltipHeading',\n defaultMessage: 'Maximum Daily Message Heading',\n desc: TYPE_HEADER,\n },\n maximum_daily_messages_tooltip: {\n id: 'PricingSummary.Feature.MaximumDailyMessagesTooltip',\n defaultMessage: 'Maximum Daily Message tooltip',\n desc: TYPE_PARAGRAPH,\n },\n menu_matrix_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.MenuMatrixEnabledTooltipHeading',\n defaultMessage: 'Menu Matrix Enabled Heading',\n desc: TYPE_HEADER,\n },\n menu_matrix_enabled_tooltip: {\n id: 'PricingSummary.Feature.MenuMatrixEnabledTooltip',\n defaultMessage: 'Menu Matrix Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n metadata_settings_tooltip_heading: {\n id: 'PricingSummary.Feature.MetadataSettingsTooltipHeading',\n defaultMessage: 'Metadata Settings Heading',\n desc: TYPE_HEADER,\n },\n metadata_settings_tooltip: {\n id: 'PricingSummary.Feature.MetadataSettingsTooltip',\n defaultMessage: 'Metadata Settings tooltip',\n desc: TYPE_PARAGRAPH,\n },\n mobile_sdk_pull_response_data_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.MobileSdkPullResponseDataEnabledTooltipHeading',\n defaultMessage: 'Mobile Sdk Pull Response Data Heading',\n desc: TYPE_HEADER,\n },\n mobile_sdk_pull_response_data_enabled_tooltip: {\n id: 'PricingSummary.Feature.MobileSdkPullResponseDataEnabledTooltip',\n defaultMessage: 'Mobile Sdk Pull Response Data tooltip',\n desc: TYPE_PARAGRAPH,\n },\n mta_sparkpost_low_risk_ip_pools_tooltip_heading: {\n id: 'PricingSummary.Feature.MtaSparkpostLowRiskIpPoolsTooltipHeading',\n defaultMessage: 'MTA Sparkpost Low Risk Ip Pools Heading',\n desc: TYPE_HEADER,\n },\n mta_sparkpost_low_risk_ip_pools_tooltip: {\n id: 'PricingSummary.Feature.MtaSparkpostLowRiskIpPoolsTooltip',\n defaultMessage: 'MTA Sparkpost Low Risk Ip Pools tooltip',\n desc: TYPE_PARAGRAPH,\n },\n multilingual_tooltip_heading: {\n id: 'PricingSummary.Feature.MultilingualTooltipHeading',\n defaultMessage: 'Multilingual Heading',\n desc: TYPE_HEADER,\n },\n multilingual_tooltip: {\n id: 'PricingSummary.Feature.MultilingualTooltip',\n defaultMessage: 'Multilingual tooltip',\n desc: TYPE_PARAGRAPH,\n },\n multiple_block_rotation_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.MultipleBlockRotationEnabledTooltipHeading',\n defaultMessage: 'Multiple Block Rotation Enabled Heading',\n desc: TYPE_HEADER,\n },\n multiple_block_rotation_enabled_tooltip: {\n id: 'PricingSummary.Feature.MultipleBlockRotationEnabledTooltip',\n defaultMessage: 'Multiple Block Rotation Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n multiple_users_tooltip_heading: {\n id: 'PricingSummary.Feature.MultipleUsersTooltipHeading',\n defaultMessage: 'Multiple Users Heading',\n desc: TYPE_HEADER,\n },\n multiple_users_tooltip: {\n id: 'PricingSummary.Feature.MultipleUsersTooltip',\n defaultMessage: 'Multiple Users tooltip',\n desc: TYPE_PARAGRAPH,\n },\n new_stock_themes_tooltip_heading: {\n id: 'PricingSummary.Feature.NewStockThemesTooltipHeading',\n defaultMessage: 'New Stock Themes Heading',\n desc: TYPE_HEADER,\n },\n new_stock_themes_tooltip: {\n id: 'PricingSummary.Feature.NewStockThemesTooltip',\n defaultMessage: 'New Stock Themes tooltip',\n desc: TYPE_PARAGRAPH,\n },\n notification_center_tooltip_heading: {\n id: 'PricingSummary.Feature.NotificationCenterTooltipHeading',\n defaultMessage: 'Notification Center Heading',\n desc: TYPE_HEADER,\n },\n notification_center_tooltip: {\n id: 'PricingSummary.Feature.NotificationCenterTooltip',\n defaultMessage: 'Notification Center tooltip',\n desc: TYPE_PARAGRAPH,\n },\n num_free_responses_tooltip_heading: {\n id: 'PricingSummary.Feature.NumFreeResponsesTooltipHeading',\n defaultMessage: NUM_RESPONSES,\n desc: TYPE_HEADER,\n },\n num_free_responses_tooltip: {\n id: 'PricingSummary.Feature.NumFreeResponsesTooltip',\n defaultMessage: NUM_RESPONSES_TOOLTIP,\n desc: TYPE_PARAGRAPH,\n },\n onboarding_tooltip_heading: {\n id: 'PricingSummary.Feature.OnboardingTooltipHeading',\n defaultMessage: 'Onboarding Heading',\n desc: TYPE_HEADER,\n },\n onboarding_tooltip: {\n id: 'PricingSummary.Feature.OnboardingTooltip',\n defaultMessage: 'Onboarding tooltip',\n desc: TYPE_PARAGRAPH,\n },\n pagination_tooltip_heading: {\n id: 'PricingSummary.Feature.PaginationTooltipHeading',\n defaultMessage: 'Pagination Heading',\n desc: TYPE_HEADER,\n },\n pagination_tooltip: {\n id: 'PricingSummary.Feature.PaginationTooltip',\n defaultMessage: 'Pagination tooltip',\n desc: TYPE_PARAGRAPH,\n },\n paid_to_group_rollout_tooltip_heading: {\n id: 'PricingSummary.Feature.PaidToGroupRolloutTooltipHeading',\n defaultMessage: 'Paid To Group Rollout Heading',\n desc: TYPE_HEADER,\n },\n paid_to_group_rollout_tooltip: {\n id: 'PricingSummary.Feature.PaidToGroupRolloutTooltip',\n defaultMessage: 'Paid To Group Rollout tooltip',\n desc: TYPE_PARAGRAPH,\n },\n papi_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.PapiEnabledTooltipHeading',\n defaultMessage: 'Papi Enabled Heading',\n desc: TYPE_HEADER,\n },\n papi_enabled_tooltip: {\n id: 'PricingSummary.Feature.PapiEnabledTooltip',\n defaultMessage: 'Papi Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n password_protection_tooltip_heading: {\n id: 'PricingSummary.Feature.PasswordProtectionTooltipHeading',\n defaultMessage: 'Password Protection Heading',\n desc: TYPE_HEADER,\n },\n password_protection_tooltip: {\n id: 'PricingSummary.Feature.PasswordProtectionTooltip',\n defaultMessage: 'Password Protection tooltip',\n desc: TYPE_PARAGRAPH,\n },\n payment_qt_tooltip_heading: {\n id: 'PricingSummary.Feature.PaymentQTTooltipHeading',\n defaultMessage: 'ACCEPT PAYMENTS',\n desc: TYPE_HEADER,\n },\n payment_qt_tooltip: {\n id: 'PricingSummary.Feature.PaymentQTTooltip',\n defaultMessage:\n 'Add a payment page to the end of your survey and accept payments through Stripe. Respondents can complete a survey and make a credit card payment at one time and in one place.',\n desc: TYPE_PARAGRAPH,\n },\n phone_support_tooltip_heading: {\n id: 'PricingSummary.Feature.PhoneSupportTooltipHeading',\n defaultMessage: SUPPORT,\n desc: TYPE_HEADER,\n },\n phone_support_tooltip: {\n id: 'PricingSummary.Feature.PhoneSupportTooltip',\n defaultMessage: SUPPORT_TOOLTIP,\n desc: TYPE_PARAGRAPH,\n },\n plans_benchmarks_tooltip_heading: {\n id: 'PricingSummary.Feature.PlansBenchmarkTooltipHeading',\n defaultMessage: 'Plans Benchmark Heading',\n desc: TYPE_HEADER,\n },\n plans_benchmarks_tooltip: {\n id: 'PricingSummary.Feature.PlansBenchmarkTooltip',\n defaultMessage: 'Plans Benchmark tooltip',\n desc: TYPE_PARAGRAPH,\n },\n pop_up_collector_tooltip_heading: {\n id: 'PricingSummary.Feature.PopupCollectorTooltipHeading',\n defaultMessage: 'Popup Collector Heading',\n desc: TYPE_HEADER,\n },\n pop_up_collector_tooltip: {\n id: 'PricingSummary.Feature.PopupCollectorTooltip',\n defaultMessage: 'Popup Collector tooltip',\n desc: TYPE_PARAGRAPH,\n },\n premium_themes_tooltip_heading: {\n id: 'PricingSummary.Feature.PremiumThemesTooltipHeading',\n defaultMessage: 'Premium Themes Heading',\n desc: TYPE_HEADER,\n },\n premium_themes_tooltip: {\n id: 'PricingSummary.Feature.PremiumThemesTooltip',\n defaultMessage: 'Premium Themes tooltip',\n desc: TYPE_PARAGRAPH,\n },\n priority_email_support_tooltip_heading: {\n id: 'PricingSummary.Feature.PrimaryEmailSupportTooltipHeading',\n defaultMessage: SUPPORT,\n desc: TYPE_HEADER,\n },\n priority_email_support_tooltip: {\n id: 'PricingSummary.Feature.PrimaryEmailSupportTooltip',\n defaultMessage: SUPPORT_TOOLTIP,\n desc: TYPE_PARAGRAPH,\n },\n private_apps_tooltip_heading: {\n id: 'PricingSummary.Feature.PrivateAppsTooltipHeading',\n defaultMessage: 'Private Apps Heading',\n desc: TYPE_HEADER,\n },\n private_apps_tooltip: {\n id: 'PricingSummary.Feature.PrivateAppsTooltip',\n defaultMessage: 'Private Apps tooltip',\n desc: TYPE_PARAGRAPH,\n },\n progress_bar_tooltip_heading: {\n id: 'PricingSummary.Feature.ProgressBarTooltipHeading',\n defaultMessage: 'Progress Bar Heading',\n desc: TYPE_HEADER,\n },\n progress_bar_tooltip: {\n id: 'PricingSummary.Feature.ProgressBarTooltip',\n defaultMessage: 'Progress Bar tooltip',\n desc: TYPE_PARAGRAPH,\n },\n question_library_tooltip_heading: {\n id: 'PricingSummary.Feature.QuestionLibraryTooltipHeading',\n defaultMessage: 'Question Library Heading',\n desc: TYPE_HEADER,\n },\n question_library_tooltip: {\n id: 'PricingSummary.Feature.QuestionLibraryTooltip',\n defaultMessage: 'Question Library tooltip',\n desc: TYPE_PARAGRAPH,\n },\n question_library_intl_tooltip_heading: {\n id: 'PricingSummary.Feature.QuestionLibraryIntlTooltipHeading',\n defaultMessage: 'Question Library Intl Heading',\n desc: TYPE_HEADER,\n },\n question_library_intl_tooltip: {\n id: 'PricingSummary.Feature.QuestionLibraryIntlTooltip',\n defaultMessage: 'Question Library Intl tooltip',\n desc: TYPE_PARAGRAPH,\n },\n quizzes_pro_tooltip_heading: {\n id: 'PricingSummary.Feature.QuizzesProTooltipHeading',\n defaultMessage: 'QUIZZES',\n desc: TYPE_HEADER,\n },\n quizzes_pro_tooltip: {\n id: 'PricingSummary.Feature.QuizzesProTooltip',\n defaultMessage: `Easily create tests and assessments with automatic scoring for employees, customers, students, and more. You can choose whether you want to display your respondent's score to them after they complete your quiz. You'll also be able to see rankings, segment response data, and access statistics for your results.`,\n desc: TYPE_PARAGRAPH,\n },\n randomize_answer_choices_tooltip_heading: {\n id: 'PricingSummary.Feature.RandomizeAnswerChoicesTooltipHeading',\n defaultMessage: 'Randomize Answer Choices Heading',\n desc: TYPE_HEADER,\n },\n randomize_answer_choices_tooltip: {\n id: 'PricingSummary.Feature.RandomizeAnswerChoicesTooltip',\n defaultMessage: 'Randomize Answer Choices tooltip',\n desc: TYPE_PARAGRAPH,\n },\n ranking_question_type_tooltip_heading: {\n id: 'PricingSummary.Feature.RankingQuestionTypeTooltipHeading',\n defaultMessage: 'Ranking Question Type Heading',\n desc: TYPE_HEADER,\n },\n ranking_question_type_tooltip: {\n id: 'PricingSummary.Feature.RankingQuestionTypeTooltip',\n defaultMessage: 'Ranking Question Type tooltip',\n desc: TYPE_PARAGRAPH,\n },\n rating_question_type_tooltip_heading: {\n id: 'PricingSummary.Feature.RatingQuestionTypeTooltipHeading',\n defaultMessage: 'Rating Question Type Heading',\n desc: TYPE_HEADER,\n },\n rating_question_type_tooltip: {\n id: 'PricingSummary.Feature.RatingQuestionTypeTooltip',\n defaultMessage: 'Rating Question Type tooltip',\n desc: TYPE_PARAGRAPH,\n },\n real_time_results_tooltip_heading: {\n id: 'PricingSummary.Feature.RealTimeResultsTooltipHeading',\n defaultMessage: 'Real Time Results Heading',\n desc: TYPE_HEADER,\n },\n real_time_results_tooltip: {\n id: 'PricingSummary.Feature.RealTimeResultsTooltip',\n defaultMessage: 'Real Time Results tooltip',\n desc: TYPE_PARAGRAPH,\n },\n receive_transferred_survey_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.ReceiveTransferredSurveyEnabledTooltipHeading',\n defaultMessage: 'Receive Transferred Survey Enabled Heading',\n desc: TYPE_HEADER,\n },\n receive_transferred_survey_enabled_tooltip: {\n id: 'PricingSummary.Feature.ReceiveTransferredSurveyEnabledTooltip',\n defaultMessage: 'Receive Transferred Survey Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n record_respondent_email_address_tooltip_heading: {\n id: 'PricingSummary.Feature.RecordRespondentEmailAddressTooltipHeading',\n defaultMessage: 'Record Respondent Email Address Heading',\n desc: TYPE_HEADER,\n },\n record_respondent_email_address_tooltip: {\n id: 'PricingSummary.Feature.RecordRespondentEmailAddressTooltip',\n defaultMessage: 'Record Respondent Email Address tooltip',\n desc: TYPE_PARAGRAPH,\n },\n recurring_email_collector_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.RecurringEmailCollectorEnabledTooltipHeading',\n defaultMessage: 'Recurring Email Collector Enabled Heading',\n desc: TYPE_HEADER,\n },\n recurring_email_collector_enabled_tooltip: {\n id: 'PricingSummary.Feature.RecurringEmailCollectorEnabledTooltip',\n defaultMessage: 'Recurring Email Collector Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n recurring_surveys_tooltip_heading: {\n id: 'PricingSummary.Feature.RecurringSurveysTooltipHeading',\n defaultMessage: 'Recurring Surveys Heading',\n desc: TYPE_HEADER,\n },\n recurring_surveys_tooltip: {\n id: 'PricingSummary.Feature.RecurringSurveysTooltip',\n defaultMessage: 'Recurring Surveys tooltip',\n desc: TYPE_PARAGRAPH,\n },\n require_answer_tooltip_heading: {\n id: 'PricingSummary.Feature.RequireAnswerTooltipHeading',\n defaultMessage: 'Require Answeer Heading',\n desc: TYPE_HEADER,\n },\n require_answer_tooltip: {\n id: 'PricingSummary.Feature.RequireAnswerTooltip',\n defaultMessage: 'Require Answeer tooltip',\n desc: TYPE_PARAGRAPH,\n },\n reshare_tooltip_heading: {\n id: 'PricingSummary.Feature.ReshareTooltipHeading',\n defaultMessage: 'Reshare Heading',\n desc: TYPE_HEADER,\n },\n reshare_tooltip: {\n id: 'PricingSummary.Feature.ReshareTooltip',\n defaultMessage: 'Reshare tooltip',\n desc: TYPE_PARAGRAPH,\n },\n respondent_receipt_tooltip_heading: {\n id: 'PricingSummary.Feature.RespondentReceiptTooltipHeading',\n defaultMessage: 'Respondent Receipt Heading',\n desc: TYPE_HEADER,\n },\n respondent_receipt_tooltip: {\n id: 'PricingSummary.Feature.RespondentReceiptTooltip',\n defaultMessage: 'Respondent Receipt tooltip',\n desc: TYPE_PARAGRAPH,\n },\n response_quality_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.ResponseQualityEnabledTooltipHeading',\n defaultMessage: 'Response Quality Enabled Heading',\n desc: TYPE_HEADER,\n },\n response_quality_enabled_tooltip: {\n id: 'PricingSummary.Feature.ResponseQualityEnabledTooltip',\n defaultMessage: 'Response Quality Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n responses_read_tooltip_heading: {\n id: 'PricingSummary.Feature.ResponsesReadTooltipHeading',\n defaultMessage: 'Responses Read Heading',\n desc: TYPE_HEADER,\n },\n responses_read_tooltip: {\n id: 'PricingSummary.Feature.ResponsesReadTooltip',\n defaultMessage: 'Responses Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n responses_read_detail_tooltip_heading: {\n id: 'PricingSummary.Feature.ResponsesReadDetailTooltipHeading',\n defaultMessage: 'Responses Read Detail Heading',\n desc: TYPE_HEADER,\n },\n responses_read_detail_tooltip: {\n id: 'PricingSummary.Feature.ResponsesReadDetailTooltip',\n defaultMessage: 'Responses Read Detail tooltip',\n desc: TYPE_PARAGRAPH,\n },\n responses_write_tooltip_heading: {\n id: 'PricingSummary.Feature.ResponsesWriteTooltipHeading',\n defaultMessage: 'Responses Write Heading',\n desc: TYPE_HEADER,\n },\n responses_write_tooltip: {\n id: 'PricingSummary.Feature.ResponsesWriteTooltip',\n defaultMessage: 'Responses Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n roles_read_tooltip_heading: {\n id: 'PricingSummary.Feature.RolesReadTooltipHeading',\n defaultMessage: 'Roles Read Heading',\n desc: TYPE_HEADER,\n },\n roles_read_tooltip: {\n id: 'PricingSummary.Feature.RolesReadTooltip',\n defaultMessage: 'Roles Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n roles_write_tooltip_heading: {\n id: 'PricingSummary.Feature.RolesWriteTooltipHeading',\n defaultMessage: 'Roles Write Heading',\n desc: TYPE_HEADER,\n },\n roles_write_tooltip: {\n id: 'PricingSummary.Feature.RolesWriteTooltip',\n defaultMessage: 'Roles Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n sa_en_ga_tooltip_heading: {\n id: 'PricingSummary.Feature.SaEnGaTooltipHeading',\n defaultMessage: 'SA EN GA Heading',\n desc: TYPE_HEADER,\n },\n sa_en_ga_tooltip: {\n id: 'PricingSummary.Feature.SaEnGaTooltip',\n defaultMessage: 'SA EN GA tooltip',\n desc: TYPE_PARAGRAPH,\n },\n select_features_included_tooltip_heading: {\n id: 'PricingSummary.Feature.SelectFeaturesIncludedTooltipHeading',\n defaultMessage: 'Select Features Included Heading',\n desc: TYPE_HEADER,\n },\n select_features_included_tooltip: {\n id: 'PricingSummary.Feature.SelectFeaturesIncludedTooltip',\n defaultMessage: 'Select Features Included tooltip',\n desc: TYPE_PARAGRAPH,\n },\n send_surveys_tooltip_heading: {\n id: 'PricingSummary.Feature.SendSurveysTooltipHeading',\n defaultMessage: 'Send Surveys Heading',\n desc: TYPE_HEADER,\n },\n send_surveys_tooltip: {\n id: 'PricingSummary.Feature.SendSurveysTooltip',\n defaultMessage: 'Send Surveys tooltip',\n desc: TYPE_PARAGRAPH,\n },\n set_max_response_count_tooltip_heading: {\n id: 'PricingSummary.Feature.SetMaxResponseCountTooltipHeading',\n defaultMessage: 'Set Max Response Count Heading',\n desc: TYPE_HEADER,\n },\n set_max_response_count_tooltip: {\n id: 'PricingSummary.Feature.SetMaxResponseCountTooltip',\n defaultMessage: 'Set Max Response Count tooltip',\n desc: TYPE_PARAGRAPH,\n },\n set_survey_end_date_tooltip_heading: {\n id: 'PricingSummary.Feature.SetSurveyEndDateTooltipHeading',\n defaultMessage: 'Set Survey End Date Heading',\n desc: TYPE_HEADER,\n },\n set_survey_end_date_tooltip: {\n id: 'PricingSummary.Feature.SetSurveyEndDateTooltip',\n defaultMessage: 'Set Survey End Date tooltip',\n desc: TYPE_PARAGRAPH,\n },\n share_surveys_tooltip_heading: {\n id: 'PricingSummary.Feature.ShareSurveysTooltipHeading',\n defaultMessage: 'Share Surveys Heading',\n desc: TYPE_HEADER,\n },\n share_surveys_tooltip: {\n id: 'PricingSummary.Feature.ShareSurveysTooltip',\n defaultMessage: 'Share Surveys tooltip',\n desc: TYPE_PARAGRAPH,\n },\n share_with_your_organization_tooltip_heading: {\n id: 'PricingSummary.Feature.ShareWithYourOrganizationTooltipHeading',\n defaultMessage: 'Share With Your Organization Heading',\n desc: TYPE_HEADER,\n },\n share_with_your_organization_tooltip: {\n id: 'PricingSummary.Feature.ShareWithYourOrganizationTooltip',\n defaultMessage: 'Share With Your Organization tooltip',\n desc: TYPE_PARAGRAPH,\n },\n shared_group_library_tooltip_heading: {\n id: 'PricingSummary.Feature.SharedGroupLibraryTooltipHeading',\n defaultMessage: 'Shared Group Library Heading',\n desc: TYPE_HEADER,\n },\n shared_group_library_tooltip: {\n id: 'PricingSummary.Feature.SharedGroupLibraryTooltip',\n defaultMessage: 'Shared Group Library tooltip',\n desc: TYPE_PARAGRAPH,\n },\n shared_library_tooltip_heading: {\n id: 'PricingSummary.Feature.SharedLibraryTooltipHeading',\n defaultMessage: 'Shared Library Heading',\n desc: TYPE_HEADER,\n },\n shared_library_tooltip: {\n id: 'PricingSummary.Feature.SharedLibraryTooltip',\n defaultMessage: 'Shared Library tooltip',\n desc: TYPE_PARAGRAPH,\n },\n show_create_crosstab_tooltip_heading: {\n id: 'PricingSummary.Feature.ShowCreateCrosstabTooltipHeading',\n defaultMessage: 'Show Create Crosstab Heading',\n desc: TYPE_HEADER,\n },\n show_create_crosstab_tooltip: {\n id: 'PricingSummary.Feature.ShowCreateCrosstabTooltip',\n defaultMessage: 'Show Create Crosstab tooltip',\n desc: TYPE_PARAGRAPH,\n },\n show_create_header_upgrade_button_tooltip_heading: {\n id: 'PricingSummary.Feature.ShowCreateHeaderUpgradeButtonTooltipHeading',\n defaultMessage: 'Show Create Header Upgrade Button Heading',\n desc: TYPE_HEADER,\n },\n show_create_header_upgrade_button_tooltip: {\n id: 'PricingSummary.Feature.ShowCreateHeaderUpgradeButtonTooltip',\n defaultMessage: 'Show Create Header Upgrade Button tooltip',\n desc: TYPE_PARAGRAPH,\n },\n show_sig_diffs_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.ShowSigDiffsEnabledTooltipHeading',\n defaultMessage: 'Show Sig Diffs Enabled Heading',\n desc: TYPE_HEADER,\n },\n show_sig_diffs_enabled_tooltip: {\n id: 'PricingSummary.Feature.ShowSigDiffsEnabledTooltip',\n defaultMessage: 'Show Sig Diffs Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n single_sign_on_tooltip_heading: {\n id: 'PricingSummary.Feature.SingleSignOnTooltipHeading',\n defaultMessage: 'Single Sign On Heading',\n desc: TYPE_HEADER,\n },\n single_sign_on_tooltip: {\n id: 'PricingSummary.Feature.SingleSignOnTooltip',\n defaultMessage: 'Single Sign On tooltip',\n desc: TYPE_PARAGRAPH,\n },\n slider_question_type_tooltip_heading: {\n id: 'PricingSummary.Feature.SliderQuestionTypeTooltipHeading',\n defaultMessage: 'Slider Question Type Heading',\n desc: TYPE_HEADER,\n },\n slider_question_type_tooltip: {\n id: 'PricingSummary.Feature.SliderQuestionTypeTooltip',\n defaultMessage: 'Slider Question Type tooltip',\n desc: TYPE_PARAGRAPH,\n },\n smart_notifications_tooltip_heading: {\n id: 'PricingSummary.Feature.SmartNotificationsTooltipHeading',\n defaultMessage: 'Smart Notifications Heading',\n desc: TYPE_HEADER,\n },\n smart_notifications_tooltip: {\n id: 'PricingSummary.Feature.SmartNotificationsTooltip',\n defaultMessage: 'Smart Notifications tooltip',\n desc: TYPE_PARAGRAPH,\n },\n ssl_tls_encryption_tooltip_heading: {\n id: 'PricingSummary.Feature.SslTlsEncryptionTooltipHeading',\n defaultMessage: 'SSL/TLS Encryption Heading',\n desc: TYPE_HEADER,\n },\n ssl_tls_encryption_tooltip: {\n id: 'PricingSummary.Feature.SslTlsEncryptionTooltip',\n defaultMessage: 'SSL/TLS Encryption tooltip',\n desc: TYPE_PARAGRAPH,\n },\n star_rating_question_type_tooltip_heading: {\n id: 'PricingSummary.Feature.StarRatingQuestionTypeTooltipHeading',\n defaultMessage: 'Star Rating Question Type Heading',\n desc: TYPE_HEADER,\n },\n star_rating_question_type_tooltip: {\n id: 'PricingSummary.Feature.StarRatingQuestionTypeTooltip',\n defaultMessage: 'Star Rating Question Type tooltip',\n desc: TYPE_PARAGRAPH,\n },\n statistical_significance_tooltip_heading: {\n id: 'PricingSummary.Feature.StatisticalSignifcanceTooltipHeading',\n defaultMessage: 'ADVANCED SURVEY ANALYSIS',\n desc: TYPE_HEADER,\n },\n statistical_significance_tooltip: {\n id: 'PricingSummary.Feature.StatisticalSignifcanceTooltip',\n defaultMessage:\n 'Get more context for your data. See if there are statistically significant differences between response groups. And use text analysis to search and categorize open-ended responses and quickly see frequently used words and phrases.',\n desc: TYPE_PARAGRAPH,\n },\n survey_branding_tooltip_heading: {\n id: 'PricingSummary.Feature.SurveyBrandingTooltipHeading',\n defaultMessage: 'CUSTOMIZED SURVEYS',\n desc: TYPE_HEADER,\n },\n survey_branding_tooltip: {\n id: 'PricingSummary.Feature.SurveyBrandingTooltip',\n defaultMessage: `Customize your survey's look and feel by adding your logo, selecting colors and web fonts, and uploading images. Create and save custom themes to quickly build on-brand surveys. You can also modify the ending of your survey's URL. For example: www.surveymonkey.com/s/your-survey`,\n desc: TYPE_PARAGRAPH,\n },\n survey_create_limit_tooltip_heading: {\n id: 'PricingSummary.Feature.SurveyCreateLimitTooltipHeading',\n defaultMessage: 'NUMBER OF SURVEYS',\n desc: TYPE_HEADER,\n },\n survey_create_limit_tooltip: {\n id: 'PricingSummary.Feature.SurveyCreateLimitTooltip',\n defaultMessage: 'You can create and send as many surveys, polls, and quizzes as you need with any plan.',\n desc: TYPE_PARAGRAPH,\n },\n survey_templates_intl_tooltip_heading: {\n id: 'PricingSummary.Feature.SurveyTemplatesIntlTooltipHeading',\n defaultMessage: 'Survey Templates Intl Heading',\n desc: TYPE_HEADER,\n },\n survey_templates_intl_tooltip: {\n id: 'PricingSummary.Feature.SurveyTemplatesIntlTooltip',\n defaultMessage: 'Survey Templates Intl tooltip',\n desc: TYPE_PARAGRAPH,\n },\n surveys_read_tooltip_heading: {\n id: 'PricingSummary.Feature.SurveysReadTooltipHeading',\n defaultMessage: 'Surveys Read Heading',\n desc: TYPE_HEADER,\n },\n surveys_read_tooltip: {\n id: 'PricingSummary.Feature.SurveysReadTooltip',\n defaultMessage: 'Surveys Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n surveys_write_tooltip_heading: {\n id: 'PricingSummary.Feature.SurveysWriteTooltipHeading',\n defaultMessage: 'Surveys Write Heading',\n desc: TYPE_HEADER,\n },\n surveys_write_tooltip: {\n id: 'PricingSummary.Feature.SurveysWriteTooltip',\n defaultMessage: 'Surveys Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n team_ownership_tooltip_heading: {\n id: 'PricingSummary.Feature.TeamOwnershipTooltipHeading',\n defaultMessage: 'Team Ownership Heading',\n desc: TYPE_HEADER,\n },\n team_ownership_tooltip: {\n id: 'PricingSummary.Feature.TeamOwnershipTooltip',\n defaultMessage: 'Team Ownership tooltip',\n desc: TYPE_PARAGRAPH,\n },\n team_themes_tooltip_heading: {\n id: 'PricingSummary.Feature.TeamThemesTooltipHeading',\n defaultMessage: 'Team Themes Heading',\n desc: TYPE_HEADER,\n },\n team_themes_tooltip: {\n id: 'PricingSummary.Feature.TeamThemesTooltip',\n defaultMessage: 'Team Themes tooltip',\n desc: TYPE_PARAGRAPH,\n },\n teams_can_discover_tooltip_heading: {\n id: 'PricingSummary.Feature.TeamsCanDiscoverTooltipHeading',\n defaultMessage: 'Teams Can Discover Heading',\n desc: TYPE_HEADER,\n },\n teams_can_discover_tooltip: {\n id: 'PricingSummary.Feature.TeamsCanDiscoverTooltip',\n defaultMessage: 'Teams Can Discover tooltip',\n desc: TYPE_PARAGRAPH,\n },\n teams_can_make_discoverable_tooltip_heading: {\n id: 'PricingSummary.Feature.TeamsCanMakeDiscoverableTooltipHeading',\n defaultMessage: 'Teams Can Make Discoverable Heading',\n desc: TYPE_HEADER,\n },\n teams_can_make_discoverable_tooltip: {\n id: 'PricingSummary.Feature.TeamsCanMakeDiscoverableTooltip',\n defaultMessage: 'Teams Can Make Discoverable tooltip',\n desc: TYPE_PARAGRAPH,\n },\n teams_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.TeamsEnabledTooltipHeading',\n defaultMessage: 'Teams Enabled Heading',\n desc: TYPE_HEADER,\n },\n teams_enabled_tooltip: {\n id: 'PricingSummary.Feature.TeamsEnabledTooltip',\n defaultMessage: 'Teams Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n text_analysis_tooltip_heading: {\n id: 'PricingSummary.Feature.TextAnalysisTooltipHeading',\n defaultMessage: 'ADVANCED SURVEY ANALYSIS',\n desc: TYPE_HEADER,\n },\n text_analysis_tooltip: {\n id: 'PricingSummary.Feature.TextAnalysisTooltip',\n defaultMessage:\n 'Get more context for your data. See if there are statistically significant differences between response groups. And use text analysis to search and categorize open-ended responses and quickly see frequently used words and phrases.',\n desc: TYPE_PARAGRAPH,\n },\n text_formatting_tooltip_heading: {\n id: 'PricingSummary.Feature.TextFormattingTooltipHeading',\n defaultMessage: 'Text Formatting Heading',\n desc: TYPE_HEADER,\n },\n text_formatting_tooltip: {\n id: 'PricingSummary.Feature.TextFormattingTooltip',\n defaultMessage: 'Text Formatting tooltip',\n desc: TYPE_PARAGRAPH,\n },\n textbox_multiple_question_type_tooltip_heading: {\n id: 'PricingSummary.Feature.TextboxMultipleQuestionTypeTooltipHeading',\n defaultMessage: 'Textbox Multiple Question Type Heading',\n desc: TYPE_HEADER,\n },\n textbox_multiple_question_type_tooltip: {\n id: 'PricingSummary.Feature.TextboxMultipleQuestionTypeTooltip',\n defaultMessage: 'Textbox Multiple Question Type tooltip',\n desc: TYPE_PARAGRAPH,\n },\n track_email_responses_tooltip_heading: {\n id: 'PricingSummary.Feature.TrackEmailResponsesTooltipHeading',\n defaultMessage: 'Track Email Responses Heading',\n desc: TYPE_HEADER,\n },\n track_email_responses_tooltip: {\n id: 'PricingSummary.Feature.TrackEmailResponsesTooltip',\n defaultMessage: 'Track Email Responses tooltip',\n desc: TYPE_PARAGRAPH,\n },\n try_before_you_buy_enabled_tooltip_heading: {\n id: 'PricingSummary.Feature.TryBeforeYouBuyEnabledTooltipHeading',\n defaultMessage: 'Try Before You Buy Enabled Heading',\n desc: TYPE_HEADER,\n },\n try_before_you_buy_enabled_tooltip: {\n id: 'PricingSummary.Feature.TryBeforeYouBuyEnabledTooltip',\n defaultMessage: 'Try Before You Buy Enabled tooltip',\n desc: TYPE_PARAGRAPH,\n },\n unlimited_responses_tooltip_heading: {\n id: 'PricingSummary.Feature.UnlimitedResponsesTooltipHeading',\n defaultMessage: NUM_RESPONSES,\n desc: TYPE_HEADER,\n },\n unlimited_responses_tooltip: {\n id: 'PricingSummary.Feature.UnlimitedResponsesTooltip',\n defaultMessage: NUM_RESPONSES_TOOLTIP,\n desc: TYPE_PARAGRAPH,\n },\n user_management_tooltip_heading: {\n id: 'PricingSummary.Feature.UserManagmentTooltipHeading',\n defaultMessage: 'User Management Heading',\n desc: TYPE_HEADER,\n },\n user_management_tooltip: {\n id: 'PricingSummary.Feature.UserManagmentTooltip',\n defaultMessage: 'User Management tooltip',\n desc: TYPE_PARAGRAPH,\n },\n users_read_tooltip_heading: {\n id: 'PricingSummary.Feature.UsersReadTooltipHeading',\n defaultMessage: 'Users Read Heading',\n desc: TYPE_HEADER,\n },\n users_read_tooltip: {\n id: 'PricingSummary.Feature.UsersReadTooltip',\n defaultMessage: 'Users Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n validate_answer_tooltip_heading: {\n id: 'PricingSummary.Feature.ValidateAnswerTooltipHeading',\n defaultMessage: 'Validate Answer Heading',\n desc: TYPE_HEADER,\n },\n validate_answer_tooltip: {\n id: 'PricingSummary.Feature.ValidateAnswerTooltip',\n defaultMessage: 'Validate Answer tooltip',\n desc: TYPE_PARAGRAPH,\n },\n video_question_type_tooltip_heading: {\n id: 'PricingSummary.Feature.VideoQuestionTypeTooltipHeading',\n defaultMessage: 'Video Question Type Heading',\n desc: TYPE_HEADER,\n },\n video_question_type_tooltip: {\n id: 'PricingSummary.Feature.VideoQuestionTypeTooltip',\n defaultMessage: 'Video Question Type tooltip',\n desc: TYPE_PARAGRAPH,\n },\n view_respondent_ip_address_tooltip_heading: {\n id: 'PricingSummary.Feature.ViewRespondentIpAddrressTooltipHeading',\n defaultMessage: 'View Responded Ip Address Heading',\n desc: TYPE_HEADER,\n },\n view_respondent_ip_address_tooltip: {\n id: 'PricingSummary.Feature.ViewRespondentIpAddrressTooltip',\n defaultMessage: 'View Responded Ip Address tooltip',\n desc: TYPE_PARAGRAPH,\n },\n webhooks_read_tooltip_heading: {\n id: 'PricingSummary.Feature.WebhooksReadTooltipHeading',\n defaultMessage: 'Webhooks Read Heading',\n desc: TYPE_HEADER,\n },\n webhooks_read_tooltip: {\n id: 'PricingSummary.Feature.WebhooksReadTooltip',\n defaultMessage: 'Webhooks Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n webhooks_write_tooltip_heading: {\n id: 'PricingSummary.Feature.WebhooksWriteTooltipHeading',\n defaultMessage: 'Webhooks Write Heading',\n desc: TYPE_HEADER,\n },\n webhooks_write_tooltip: {\n id: 'PricingSummary.Feature.WebhooksWriteTooltip',\n defaultMessage: 'Webhooks Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n workgroups_members_read_tooltip_heading: {\n id: 'PricingSummary.Feature.WorkgroupsMembersReadTooltipHeading',\n defaultMessage: 'Workgroups Members Read Heading',\n desc: TYPE_HEADER,\n },\n workgroups_members_read_tooltip: {\n id: 'PricingSummary.Feature.WorkgroupsMembersReadTooltip',\n defaultMessage: 'Workgroups Members Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n workgroups_members_write_tooltip_heading: {\n id: 'PricingSummary.Feature.WorkgroupsMembersWriteTooltipHeading',\n defaultMessage: 'Workgroups Members Write Heading',\n desc: TYPE_HEADER,\n },\n workgroups_members_write_tooltip: {\n id: 'PricingSummary.Feature.WorkgroupsMembersWriteTooltip',\n defaultMessage: 'Workgroups Members Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n workgroups_read_tooltip_heading: {\n id: 'PricingSummary.Feature.WorkgroupsReadTooltipHeading',\n defaultMessage: 'Workgroups Read Heading',\n desc: TYPE_HEADER,\n },\n workgroups_read_tooltip: {\n id: 'PricingSummary.Feature.WorkgroupsReadTooltip',\n defaultMessage: 'Workgroups Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n workgroups_shares_read_tooltip_heading: {\n id: 'PricingSummary.Feature.WorkgroupsSharesReadTooltipHeading',\n defaultMessage: 'Workgroups Shares Read Heading',\n desc: TYPE_HEADER,\n },\n workgroups_shares_read_tooltip: {\n id: 'PricingSummary.Feature.WorkgroupsSharesReadTooltip',\n defaultMessage: 'Workgroups Shares Read tooltip',\n desc: TYPE_PARAGRAPH,\n },\n workgroups_shares_write_tooltip_heading: {\n id: 'PricingSummary.Feature.WorkgroupsSharesWriteTooltipHeading',\n defaultMessage: 'Workgroups Shares Write Heading',\n desc: TYPE_HEADER,\n },\n workgroups_shares_write_tooltip: {\n id: 'PricingSummary.Feature.WorkgroupsSharesWriteTooltip',\n defaultMessage: 'Workgroups Shares Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n workgroups_write_tooltip_heading: {\n id: 'PricingSummary.Feature.WorkgroupsWriteTooltipHeading',\n defaultMessage: 'Workgroups Write Heading',\n desc: TYPE_HEADER,\n },\n workgroups_write_tooltip: {\n id: 'PricingSummary.Feature.WorkgroupsWriteTooltip',\n defaultMessage: 'Workgroups Write tooltip',\n desc: TYPE_PARAGRAPH,\n },\n});\n","import tooltipCopy from '../tooltipCopy';\n\nconst { defineMessages } = require('@sm/intl');\n\nconst TYPE_LABEL = '[Type: Label][Vis: high] - Feature Set List Item';\n\nexport default defineMessages({\n ...tooltipCopy,\n '508_accessibility': {\n id: 'PricingSummary.Feature.508Accessibility',\n defaultMessage: 'ADA compliant',\n desc: TYPE_LABEL,\n },\n a_b_testing: {\n id: 'PricingSummary.Feature.ABTesting',\n defaultMessage: 'A/B Testing',\n desc: TYPE_LABEL,\n },\n account_verification: {\n id: 'PricingSummary.Feature.AccountVerification',\n defaultMessage: 'Account Verification',\n desc: TYPE_LABEL,\n },\n add_users: {\n id: 'PricingSummary.Feature.AddUsers',\n defaultMessage: 'Add Users',\n desc: TYPE_LABEL,\n },\n admin_dashboard: {\n id: 'PricingSummary.Feature.AdminDashboard',\n defaultMessage: 'Admin Dashboard',\n desc: TYPE_LABEL,\n },\n advanced_logic: {\n id: 'PricingSummary.Feature.AdvancedLogic',\n defaultMessage: 'Advanced Logic',\n desc: TYPE_LABEL,\n },\n advanced_survey_features: {\n id: 'PricingSummary.Feature.AdvancedSurveyFeatures',\n defaultMessage: 'A/B testing, randomization, quotas',\n desc: TYPE_LABEL,\n },\n all_languages_supported: {\n id: 'PricingSummary.Feature.AllLanguagesSupported',\n defaultMessage: 'All Languages Supported',\n desc: TYPE_LABEL,\n },\n analyze_access_benchmarking: {\n id: 'PricingSummary.Feature.AnalyzeAccessBenchmarking',\n defaultMessage: 'Analyze Access Benchmarking',\n desc: TYPE_LABEL,\n },\n analyze_can_customize_charts: {\n id: 'PricingSummary.Feature.AnalyzeCanCustomizeCharts',\n defaultMessage: 'Analyze Custom Charts',\n desc: TYPE_LABEL,\n },\n analyze_can_export_hide_branding: {\n id: 'PricingSummary.Feature.AnalyzeCanExportHideBranding',\n defaultMessage: 'Analyze Export Branding',\n desc: TYPE_LABEL,\n },\n analyze_can_export_ta: {\n id: 'PricingSummary.Feature.AnalyzeCanExportTA',\n defaultMessage: 'Analyze Export TA',\n desc: TYPE_LABEL,\n },\n analyze_can_save_views: {\n id: 'PricingSummary.Feature.AnalyzeCanSaveViews',\n defaultMessage: 'Analyze Save Views',\n desc: TYPE_LABEL,\n },\n analyze_can_share_customize_branding: {\n id: 'PricingSummary.Feature.AnalyzeCanShareCustomizeBranding',\n defaultMessage: 'Analyze Share Customize Branding',\n desc: TYPE_LABEL,\n },\n analyze_can_share_customize_domain: {\n id: 'PricingSummary.Feature.AnalyzeCanShareCustomizeDomain',\n defaultMessage: 'Analyze Share Customize Domain',\n desc: TYPE_LABEL,\n },\n analyze_can_ta_search: {\n id: 'PricingSummary.Feature.AnalyzeCanTASearch',\n defaultMessage: 'Analyze TA Search',\n desc: TYPE_LABEL,\n },\n analyze_can_ta_tag: {\n id: 'PricingSummary.Feature.AnalyzeCanTATag',\n defaultMessage: 'Analyze TA Tag',\n desc: TYPE_LABEL,\n },\n analyze_combine_filters: {\n id: 'PricingSummary.Feature.CombineFilters',\n defaultMessage: 'Analyze Combine Filters',\n desc: TYPE_LABEL,\n },\n analyze_dashboard_password_enabled: {\n id: 'PricingSummary.Feature.AnalyzeDashboardPasswordEnabled',\n defaultMessage: 'Analyze Dashboard Password',\n desc: TYPE_LABEL,\n },\n analyze_delete_respondent_limit: {\n id: 'PricingSummary.Feature.AnalyzeDeleteRespondentLimit',\n defaultMessage: 'Analyze Delete Respondent Limit',\n desc: TYPE_LABEL,\n },\n analyze_export_enabled: {\n id: 'PricingSummary.Feature.AnalyzeExportEnabled',\n defaultMessage: 'Data exports (CSV, PDF, PPT, XLS)',\n desc: TYPE_LABEL,\n },\n analyze_export_spss_enabled: {\n id: 'PricingSummary.Feature.AnalyzeExportSpssEnabled',\n defaultMessage: 'Advanced data exports (SPSS)',\n desc: TYPE_LABEL,\n },\n analyze_integrations: {\n id: 'PricingSummary.Feature.AnalyzeIntegrations',\n defaultMessage: 'Analyze Integrations',\n desc: TYPE_LABEL,\n },\n analyze_password_enabled: {\n id: 'PricingSummary.Feature.AnalyzePasswordEnabled',\n defaultMessage: 'Analyze Password Enabled',\n desc: TYPE_LABEL,\n },\n analyze_response_delete_limit: {\n id: 'PricingSummary.Feature.AnalyzeResponseDeleteLimit',\n defaultMessage: 'Analyze Response Delete Limit',\n desc: TYPE_LABEL,\n },\n analyze_response_limit: {\n id: 'PricingSummary.Feature.AnalyzeResponseLimit',\n defaultMessage: 'Analyze Response Limit',\n desc: TYPE_LABEL,\n },\n analyze_results_together: {\n id: 'PricingSummary.Feature.AnalyzeResultsTogether',\n defaultMessage: 'Analyze Results Together',\n desc: TYPE_LABEL,\n },\n analyze_rule_based_tagging: {\n id: 'PricingSummary.Feature.AnalyzeRuleBasedTagging',\n defaultMessage: 'Analyze Rule Based Tagging',\n desc: TYPE_LABEL,\n },\n analyze_rule_limit: {\n id: 'PricingSummary.Feature.AnalyzeRuleLimit',\n defaultMessage: 'Analyze Rule Limit',\n desc: TYPE_LABEL,\n },\n analyze_sentiment_enabled: {\n id: 'PricingSummary.Feature.AnalyzeSentimentEnabled',\n defaultMessage: 'Analyze Sentiment Enabled',\n desc: TYPE_LABEL,\n },\n analyze_shared_results_enabled: {\n id: 'PricingSummary.Feature.AnalyzeSharedResultsEnabled',\n defaultMessage: 'Analyze Shared Results Enabled',\n desc: TYPE_LABEL,\n },\n analyze_ta_enabled: {\n id: 'PricingSummary.Feature.AnalyzeTAEnabled',\n defaultMessage: 'Analyze TA Enabled',\n desc: TYPE_LABEL,\n },\n analyze_trends_enabled: {\n id: 'PricingSummary.Feature.AnalyzeTrendsEnabled',\n defaultMessage: 'Analyze Trends Enabled',\n desc: TYPE_LABEL,\n },\n api_access: {\n id: 'PricingSummary.Feature.ApiAccess',\n defaultMessage: 'API Access',\n desc: TYPE_LABEL,\n },\n asset_library: {\n id: 'PricingSummary.Feature.AssetLibrary',\n defaultMessage: 'Asset Library',\n desc: TYPE_LABEL,\n },\n assign_admin_role: {\n id: 'PricingSummary.Feature.AssignAdminRole',\n defaultMessage: 'Assign Admin Role',\n desc: TYPE_LABEL,\n },\n base_response_count: {\n id: 'PricingSummary.Feature.BaseResponseCount',\n defaultMessage: '{amount} responses per year**',\n desc: TYPE_LABEL,\n },\n benchmarks: {\n id: 'PricingSummary.Feature.Benchmarks',\n defaultMessage: 'SurveyMonkey industry benchmarks',\n desc: TYPE_LABEL,\n },\n best_worst_qt: {\n id: 'PricingSummary.Feature.BestWorstQT',\n defaultMessage: 'Best Worst QT',\n desc: TYPE_LABEL,\n },\n build_surveys_together: {\n id: 'PricingSummary.Feature.BuildSurveysTogether',\n defaultMessage: 'Build Surveys Together',\n desc: TYPE_LABEL,\n },\n bulk_survey_share: {\n id: 'PricingSummary.Feature.BulkSurveyShare',\n defaultMessage: 'Bulk Survey Share',\n desc: TYPE_LABEL,\n },\n bulk_survey_transfer: {\n id: 'PricingSummary.Feature.BulkSurveyTransfer',\n defaultMessage: 'Bulk Survey Transfer',\n desc: TYPE_LABEL,\n },\n carry_forward: {\n id: 'PricingSummary.Feature.CarryForward',\n defaultMessage: 'Carry Forward',\n desc: TYPE_LABEL,\n },\n click_map_qt: {\n id: 'PricingSummary.Feature.ClickMapQT',\n defaultMessage: 'Click map data visualization',\n desc: TYPE_LABEL,\n },\n collaboration: {\n id: 'PricingSummary.Feature.Collaboration',\n defaultMessage: 'Collaboration',\n desc: TYPE_LABEL,\n },\n collect_contact_information: {\n id: 'PricingSummary.Feature.CollectContactInformation',\n defaultMessage: 'Collect Contact Information',\n desc: TYPE_LABEL,\n },\n collect_email_throttle_limit: {\n id: 'PricingSummary.Feature.CollectEmailThrottleLimit',\n defaultMessage: 'Collect Email Throttle Limit',\n desc: TYPE_LABEL,\n },\n collect_min_daily_messages_limit: {\n id: 'PricingSummary.Feature.CollectMinDailyMessagesLimit',\n defaultMessage: 'Collect Min Daily Messages Limit',\n desc: TYPE_LABEL,\n },\n collect_responses: {\n id: 'PricingSummary.Feature.CollectResponses',\n defaultMessage: 'Collect Responses',\n desc: TYPE_LABEL,\n },\n collector_completion_url_enabled: {\n id: 'PricingSummary.Feature.CollectorCompletionUrlEnabled',\n defaultMessage: 'Collector Completion Url Enabled',\n desc: TYPE_LABEL,\n },\n collector_contact_list_limit: {\n id: 'PricingSummary.Feature.CollectorContactListLimit',\n defaultMessage: 'Collector Contact List Limit',\n desc: TYPE_LABEL,\n },\n collector_create_limit: {\n id: 'PricingSummary.Feature.CollectorCreateLimit',\n defaultMessage: 'Collector Create Limit',\n desc: TYPE_LABEL,\n },\n collector_email_limit: {\n id: 'PricingSummary.Feature.CollectorEmailLimit',\n defaultMessage: 'Collector Email Limit',\n desc: TYPE_LABEL,\n },\n collector_email_enabled: {\n id: 'PricingSummary.Feature.CollectorEmailEnabled',\n defaultMessage: 'Collector Email Enabled',\n desc: TYPE_LABEL,\n },\n collector_facebook_messenger_enabled: {\n id: 'PricingSummary.Feature.CollectorFacebookMessengerEnabled',\n defaultMessage: 'Collector Facebook Messenger Enabled',\n desc: TYPE_LABEL,\n },\n collector_manual_data_entry_enabled: {\n id: 'PricingSummary.Feature.CollectorManualDataEntryEnabled',\n defaultMessage: 'Collector Manuanl Data Entry Enabled',\n desc: TYPE_LABEL,\n },\n collector_mobile_sdk_enabled: {\n id: 'PricingSummary.Feature.CollectorMobileSdkEnabled',\n defaultMessage: 'Collector Mobile SDK Enabled',\n desc: TYPE_LABEL,\n },\n collector_offline_kiosk_enabled: {\n id: 'PricingSummary.Feature.CollectorOfflineKioskEnabled',\n defaultMessage: 'Collector Offline Kiosk Enabled',\n desc: TYPE_LABEL,\n },\n collector_popup_enabled: {\n id: 'PricingSummary.Feature.CollectorPopupEnabled',\n defaultMessage: 'Collector Popup Enabled',\n desc: TYPE_LABEL,\n },\n collector_friendly_url_enabled: {\n id: 'PricingSummary.Feature.CollectorFriendlyUrlEnabled',\n defaultMessage: 'Collector Friendly Url Enabled',\n desc: TYPE_LABEL,\n },\n collector_max_responses_delete_count: {\n id: 'PricingSummary.Feature.CollectorMaxResponsesDeleteCount',\n defaultMessage: 'Collector Max Responses Delete Count',\n desc: TYPE_LABEL,\n },\n collector_recipients_limit: {\n id: 'PricingSummary.Feature.CollectorRecipientsLimit',\n defaultMessage: 'Collector Recipients Limit',\n desc: TYPE_LABEL,\n },\n collector_thank_you_enabled: {\n id: 'PricingSummary.Feature.CollectorThankYouEnabled',\n defaultMessage: 'Collector Thank You Enabled',\n desc: TYPE_LABEL,\n },\n collector_white_label_enabled: {\n id: 'PricingSummary.Feature.CollectorWhiteLabelEnabled',\n defaultMessage: 'Collector White Label Enabled',\n desc: TYPE_LABEL,\n },\n collector_zoom_enabled: {\n id: 'PricingSummary.Feature.CollectorZoomEnabled',\n defaultMessage: 'Collector Zoom Enabled',\n desc: TYPE_LABEL,\n },\n collectors_read: {\n id: 'PricingSummary.Feature.CollectorsRead',\n defaultMessage: 'Collectors Read',\n desc: TYPE_LABEL,\n },\n collectors_write: {\n id: 'PricingSummary.Feature.CollectorsWrite',\n defaultMessage: 'Collectors Write',\n desc: TYPE_LABEL,\n },\n collect_end_page_question_bank_demographics: {\n id: 'PricingSummary.Feature.CollectEndPageQuestionBankDemographics',\n defaultMessage: 'Collect End Page Question Bank Demographics',\n desc: TYPE_LABEL,\n },\n comment_box_question_type: {\n id: 'PricingSummary.Feature.CommentBoxQuestionType',\n defaultMessage: 'Comment Box Question Type',\n desc: TYPE_LABEL,\n },\n consolidated_billing: {\n id: 'PricingSummary.Feature.ConsolidatedBilling',\n defaultMessage: 'Consolidatd Billing',\n desc: TYPE_LABEL,\n },\n contacts_read: {\n id: 'PricingSummary.Feature.ContactsRead',\n defaultMessage: 'Contacts Read',\n desc: TYPE_LABEL,\n },\n contacts_write: {\n id: 'PricingSummary.Feature.ContactsWrite',\n defaultMessage: 'Contacts Write',\n desc: TYPE_LABEL,\n },\n create_custom_chatbot_avatar: {\n id: 'PricingSummary.Feature.CreateCustomChatbotAvatar',\n defaultMessage: 'Create Custom Chatbot Avatar',\n desc: TYPE_LABEL,\n },\n create_custom_html_email_message_enabled: {\n id: 'PricingSummary.Feature.CreateCustomHtmlEmailMessageEnabled',\n defaultMessage: 'Create Custom Html Email Message Enabled',\n desc: TYPE_LABEL,\n },\n create_custom_theme_enabled: {\n id: 'PricingSummary.Feature.CreateCustomThemeEnabled',\n defaultMessage: 'Create Custom Theme Enabled',\n desc: TYPE_LABEL,\n },\n create_custom_variables_enabled: {\n id: 'PricingSummary.Feature.CreateCustomVariablesEnabled',\n defaultMessage: 'Custom variables',\n desc: TYPE_LABEL,\n },\n create_grayscale_footer: {\n id: 'PricingSummary.Feature.CreateGrayscaleFooter',\n defaultMessage: 'Create Grayscale Footer Enabled',\n desc: TYPE_LABEL,\n },\n create_logo_enabled: {\n id: 'PricingSummary.Feature.CreateLogoEnabled',\n defaultMessage: 'Create Logo Enabled',\n desc: TYPE_LABEL,\n },\n create_piping_enabled: {\n id: 'PricingSummary.Feature.CreatePipingEnabled',\n defaultMessage: 'Skip logic, question & answer piping',\n desc: TYPE_LABEL,\n },\n create_print_enabled: {\n id: 'PricingSummary.Feature.CreatePrintEnabled',\n defaultMessage: 'Create Print Enabled',\n desc: TYPE_LABEL,\n },\n create_question_limit: {\n id: 'PricingSummary.Feature.CreateQuestionLimit',\n defaultMessage: 'Unlimited questions per survey',\n desc: TYPE_LABEL,\n },\n create_quotas_enabled: {\n id: 'PricingSummary.Feature.CreateQuotasEnabled',\n defaultMessage: 'Create Quotas Enabled',\n desc: TYPE_LABEL,\n },\n create_random_assignment_enabled: {\n id: 'PricingSummary.Feature.CreateRandomAssignmentEnabled',\n defaultMessage: 'Create Random Assignment Enabled',\n desc: TYPE_LABEL,\n },\n create_randomization_enabled: {\n id: 'PricingSummary.Feature.CreateRandomizationEnabled',\n defaultMessage: 'Create Randomization Enabled',\n desc: TYPE_LABEL,\n },\n create_skip_logic_enabled: {\n id: 'PricingSummary.Feature.CreateSkipLogicEnabled',\n defaultMessage: 'Skip logic only',\n desc: TYPE_LABEL,\n },\n create_templates_enabled: {\n id: 'PricingSummary.Feature.CreateTemplatesEnabled',\n defaultMessage: 'Create Templates Enabled',\n desc: TYPE_LABEL,\n },\n create_toggle_footer_enabled: {\n id: 'PricingSummary.Feature.CreateToggleFooterEnabled',\n defaultMessage: 'Create Toggle Footer Enabled',\n desc: TYPE_LABEL,\n },\n custom_charts: {\n id: 'PricingSummary.Feature.CustomCharts',\n defaultMessage: 'Custom Charts',\n desc: TYPE_LABEL,\n },\n custom_templates: {\n id: 'PricingSummary.Feature.CustomTemplates',\n defaultMessage: 'Custom Templates',\n desc: TYPE_LABEL,\n },\n customize_disqualification_page_enabled: {\n id: 'PricingSummary.Feature.CustomizeDisqualificationPageEnabled',\n defaultMessage: 'Customize Disqualification Page Enabled',\n desc: TYPE_LABEL,\n },\n data_ownership: {\n id: 'PricingSummary.Feature.DataOwnership',\n defaultMessage: 'Data Ownership',\n desc: TYPE_LABEL,\n },\n disable_closed_page_branding_enabled: {\n id: 'PricingSummary.Feature.DisableClosedPageBrandingEnbabled',\n defaultMessage: 'Disable Closed Page Branding Enabled',\n desc: TYPE_LABEL,\n },\n disable_email_message_branding_enabled: {\n id: 'PricingSummary.Feature.DisableEmailMessageBrandingEnbabled',\n defaultMessage: 'Disable Email Message Branding Enabled',\n desc: TYPE_LABEL,\n },\n disable_footer_branding_enabled: {\n id: 'PricingSummary.Feature.DisableFooterBrandingEnbabled',\n defaultMessage: 'Disable Footer Branding Enabled',\n desc: TYPE_LABEL,\n },\n download_as_csv_xls_pdf: {\n id: 'PricingSummary.Feature.DownloadAsCsvXlsPdf',\n defaultMessage: 'Download as Csv/Xls/Pdf',\n desc: TYPE_LABEL,\n },\n download_as_ppt: {\n id: 'PricingSummary.Feature.DownloadAsPpt',\n defaultMessage: 'Download as Ppt',\n desc: TYPE_LABEL,\n },\n email_support: {\n id: 'PricingSummary.Feature.EmailSupport',\n defaultMessage: '24/7 customer support via email',\n desc: TYPE_LABEL,\n },\n email_tracking_enabled: {\n id: 'PricingSummary.Feature.EmailTrackingEnabled',\n defaultMessage: 'Email Tracking Enabled',\n desc: TYPE_LABEL,\n },\n enable_ip_blocking: {\n id: 'PricingSummary.Feature.EnableIpBlocking',\n defaultMessage: 'Enable Ip Blocking',\n desc: TYPE_LABEL,\n },\n essential_question_types: {\n id: 'PricingSummary.Feature.EssentialQuestionTypes',\n defaultMessage: 'Essential Question Types',\n desc: TYPE_LABEL,\n },\n extended_piping: {\n id: 'PricingSummary.Feature.ExtendedPiping',\n defaultMessage: 'Extended Piping',\n desc: TYPE_LABEL,\n },\n extract_data: {\n id: 'PricingSummary.Feature.ExtractData',\n defaultMessage: 'Extract Data',\n desc: TYPE_LABEL,\n },\n file_upload: {\n id: 'PricingSummary.Feature.FileUpload',\n defaultMessage: 'File upload',\n desc: TYPE_LABEL,\n },\n filter_crosstab: {\n id: 'PricingSummary.Feature.FilterCrosstab',\n defaultMessage: 'Filter Crosstab',\n desc: TYPE_LABEL,\n },\n funneling_enabled: {\n id: 'PricingSummary.Feature.FunnelingEnabled',\n defaultMessage: 'Funneling Enabled',\n desc: TYPE_LABEL,\n },\n gold_features_included: {\n id: 'PricingSummary.Feature.GoldFeaturesIncluded',\n defaultMessage: 'Gold Features Included',\n desc: TYPE_LABEL,\n },\n group_contacts_limit: {\n id: 'PricingSummary.Feature.GroupContactsLimit',\n defaultMessage: 'Group Contacts Limit',\n desc: TYPE_LABEL,\n },\n group_templates: {\n id: 'PricingSummary.Feature.GroupTemplates',\n defaultMessage: 'Group Templates',\n desc: TYPE_LABEL,\n },\n groups_read: {\n id: 'PricingSummary.Feature.GroupsRead',\n defaultMessage: 'Groups Read',\n desc: TYPE_LABEL,\n },\n groups_write: {\n id: 'PricingSummary.Feature.GroupsWrite',\n defaultMessage: 'Groups Write',\n desc: TYPE_LABEL,\n },\n hide_export_branding_enabled: {\n id: 'PricingSummary.Feature.HideExportBrandingEnabled',\n defaultMessage: 'Hide Export Branding Enabled',\n desc: TYPE_LABEL,\n },\n hipaa_enabled: {\n id: 'PricingSummary.Feature.HipaaEnabled',\n defaultMessage: 'Hipaa Enabled',\n desc: TYPE_LABEL,\n },\n kiosk_mode_inactivity_timer: {\n id: 'PricingSummary.Feature.KioskModeInactivityTimer',\n defaultMessage: 'Kiosk Mode Inactivity Timer',\n desc: TYPE_LABEL,\n },\n kiosk_mode_passcode_lock: {\n id: 'PricingSummary.Feature.KioskModePasscodeLock',\n defaultMessage: 'Kiosk Mode Passcode Lock',\n desc: TYPE_LABEL,\n },\n labeling_titles_numbering: {\n id: 'PricingSummary.Feature.LabelingTitlesNumbering',\n defaultMessage: 'Labeling Titles Numbering',\n desc: TYPE_LABEL,\n },\n library_read: {\n id: 'PricingSummary.Feature.LibraryRead',\n defaultMessage: 'Library Read',\n desc: TYPE_LABEL,\n },\n lite_library: {\n id: 'PricingSummary.Feature.LiteLibrary',\n defaultMessage: 'Lite Library',\n desc: TYPE_LABEL,\n },\n max_collectors_per_survey: {\n id: 'PricingSummary.Feature.MaxCollectorsPerSurvey',\n defaultMessage: 'Max Collectors Per Survey',\n desc: TYPE_LABEL,\n },\n matrix_question_type: {\n id: 'PricingSummary.Feature.MatrixQuestionType',\n defaultMessage: 'Matrix Question Type',\n desc: TYPE_LABEL,\n },\n maximum_daily_messages: {\n id: 'PricingSummary.Feature.MaximumDailyMessages',\n defaultMessage: 'Maximum Daily Message',\n desc: TYPE_LABEL,\n },\n menu_matrix_enabled: {\n id: 'PricingSummary.Feature.MenuMatrixEnabled',\n defaultMessage: 'Menu Matrix Enabled',\n desc: TYPE_LABEL,\n },\n metadata_settings: {\n id: 'PricingSummary.Feature.MetadataSettings',\n defaultMessage: 'Metadata Settings',\n desc: TYPE_LABEL,\n },\n mobile_sdk_pull_response_data_enabled: {\n id: 'PricingSummary.Feature.MobileSdkPullResponseDataEnabled',\n defaultMessage: 'Mobile Sdk Pull Response Data',\n desc: TYPE_LABEL,\n },\n mta_sparkpost_low_risk_ip_pools: {\n id: 'PricingSummary.Feature.MtaSparkpostLowRiskIpPools',\n defaultMessage: 'MTA Sparkpost Low Risk Ip Pools',\n desc: TYPE_LABEL,\n },\n multilingual: {\n id: 'PricingSummary.Feature.Multilingual',\n defaultMessage: 'Multilingual',\n desc: TYPE_LABEL,\n },\n multiple_block_rotation_enabled: {\n id: 'PricingSummary.Feature.MultipleBlockRotationEnabled',\n defaultMessage: 'Multiple Block Rotation Enabled',\n desc: TYPE_LABEL,\n },\n multiple_users: {\n id: 'PricingSummary.Feature.MultipleUsers',\n defaultMessage: 'Multiple Users',\n desc: TYPE_LABEL,\n },\n new_stock_themes: {\n id: 'PricingSummary.Feature.NewStockThemes',\n defaultMessage: 'New Stock Themes',\n desc: TYPE_LABEL,\n },\n notification_center: {\n id: 'PricingSummary.Feature.NotificationCenter',\n defaultMessage: 'Notification Center',\n desc: TYPE_LABEL,\n },\n num_free_responses: {\n id: 'PricingSummary.Feature.NumFreeResponses',\n defaultMessage: '{amount} responses per month**',\n desc: TYPE_LABEL,\n },\n onboarding: {\n id: 'PricingSummary.Feature.Onboarding',\n defaultMessage: 'Onboarding',\n desc: TYPE_LABEL,\n },\n pagination: {\n id: 'PricingSummary.Feature.Pagination',\n defaultMessage: 'Pagination',\n desc: TYPE_LABEL,\n },\n paid_to_group_rollout: {\n id: 'PricingSummary.Feature.PaidToGroupRollout',\n defaultMessage: 'Paid To Group Rollout',\n desc: TYPE_LABEL,\n },\n papi_enabled: {\n id: 'PricingSummary.Feature.PapiEnabled',\n defaultMessage: 'Papi Enabled',\n desc: TYPE_LABEL,\n },\n password_protection: {\n id: 'PricingSummary.Feature.PasswordProtection',\n defaultMessage: 'Password Protection',\n desc: TYPE_LABEL,\n },\n payment_qt: {\n id: 'PricingSummary.Feature.PaymentQT',\n defaultMessage: 'Accept payments',\n desc: TYPE_LABEL,\n },\n phone_support: {\n id: 'PricingSummary.Feature.PhoneSupport',\n defaultMessage: 'Phone support and 24/7 email support',\n desc: TYPE_LABEL,\n },\n plans_benchmarks: {\n id: 'PricingSummary.Feature.PlansBenchmark',\n defaultMessage: 'Plans Benchmark',\n desc: TYPE_LABEL,\n },\n pop_up_collector: {\n id: 'PricingSummary.Feature.PopupCollector',\n defaultMessage: 'Popup Collector',\n desc: TYPE_LABEL,\n },\n premium_themes: {\n id: 'PricingSummary.Feature.PremiumThemes',\n defaultMessage: 'Premium Themes',\n desc: TYPE_LABEL,\n },\n priority_email_support: {\n id: 'PricingSummary.Feature.PrimaryEmailSupport',\n defaultMessage: '24/7 expedited email support',\n desc: TYPE_LABEL,\n },\n private_apps: {\n id: 'PricingSummary.Feature.PrivateApps',\n defaultMessage: 'Private Apps',\n desc: TYPE_LABEL,\n },\n progress_bar: {\n id: 'PricingSummary.Feature.ProgressBar',\n defaultMessage: 'Progress Bar',\n desc: TYPE_LABEL,\n },\n question_library: {\n id: 'PricingSummary.Feature.QuestionLibrary',\n defaultMessage: 'Question Library',\n desc: TYPE_LABEL,\n },\n question_library_intl: {\n id: 'PricingSummary.Feature.QuestionLibraryIntl',\n defaultMessage: 'Question Library Intl',\n desc: TYPE_LABEL,\n },\n quizzes_pro: {\n id: 'PricingSummary.Feature.QuizzesPro',\n defaultMessage: 'Quizzes with custom feedback',\n desc: TYPE_LABEL,\n },\n randomize_answer_choices: {\n id: 'PricingSummary.Feature.RandomizeAnswerChoices',\n defaultMessage: 'Randomize Answer Choices',\n desc: TYPE_LABEL,\n },\n ranking_question_type: {\n id: 'PricingSummary.Feature.RankingQuestionType',\n defaultMessage: 'Ranking Question Type',\n desc: TYPE_LABEL,\n },\n rating_question_type: {\n id: 'PricingSummary.Feature.RatingQuestionType',\n defaultMessage: 'Rating Question Type',\n desc: TYPE_LABEL,\n },\n real_time_results: {\n id: 'PricingSummary.Feature.RealTimeResults',\n defaultMessage: 'Real Time Results',\n desc: TYPE_LABEL,\n },\n receive_transferred_survey_enabled: {\n id: 'PricingSummary.Feature.ReceiveTransferredSurveyEnabled',\n defaultMessage: 'Receive Transferred Survey Enabled',\n desc: TYPE_LABEL,\n },\n record_respondent_email_address: {\n id: 'PricingSummary.Feature.RecordRespondentEmailAddress',\n defaultMessage: 'Record Respondent Email Address',\n desc: TYPE_LABEL,\n },\n recurring_email_collector_enabled: {\n id: 'PricingSummary.Feature.RecurringEmailCollectorEnabled',\n defaultMessage: 'Recurring Email Collector Enabled',\n desc: TYPE_LABEL,\n },\n recurring_surveys: {\n id: 'PricingSummary.Feature.RecurringSurveys',\n defaultMessage: 'Recurring Surveys',\n desc: TYPE_LABEL,\n },\n require_answer: {\n id: 'PricingSummary.Feature.RequireAnswer',\n defaultMessage: 'Require Answeer',\n desc: TYPE_LABEL,\n },\n reshare: {\n id: 'PricingSummary.Feature.Reshare',\n defaultMessage: 'Reshare',\n desc: TYPE_LABEL,\n },\n respondent_receipt: {\n id: 'PricingSummary.Feature.RespondentReceipt',\n defaultMessage: 'Respondent Receipt',\n desc: TYPE_LABEL,\n },\n response_quality_enabled: {\n id: 'PricingSummary.Feature.ResponseQualityEnabled',\n defaultMessage: 'Response Quality Enabled',\n desc: TYPE_LABEL,\n },\n responses_read: {\n id: 'PricingSummary.Feature.ResponsesRead',\n defaultMessage: 'Responses Read',\n desc: TYPE_LABEL,\n },\n responses_read_detail: {\n id: 'PricingSummary.Feature.ResponsesReadDetail',\n defaultMessage: 'Responses Read Detail',\n desc: TYPE_LABEL,\n },\n responses_write: {\n id: 'PricingSummary.Feature.ResponsesWrite',\n defaultMessage: 'Responses Write',\n desc: TYPE_LABEL,\n },\n roles_read: {\n id: 'PricingSummary.Feature.RolesRead',\n defaultMessage: 'Roles Read',\n desc: TYPE_LABEL,\n },\n roles_write: {\n id: 'PricingSummary.Feature.RolesWrite',\n defaultMessage: 'Roles Write',\n desc: TYPE_LABEL,\n },\n sa_en_ga: {\n id: 'PricingSummary.Feature.SaEnGa',\n defaultMessage: 'SA EN GA',\n desc: TYPE_LABEL,\n },\n select_features_included: {\n id: 'PricingSummary.Feature.SelectFeaturesIncluded',\n defaultMessage: 'Select Features Included',\n desc: TYPE_LABEL,\n },\n send_surveys: {\n id: 'PricingSummary.Feature.SendSurveys',\n defaultMessage: 'Send Surveys',\n desc: TYPE_LABEL,\n },\n set_max_response_count: {\n id: 'PricingSummary.Feature.SetMaxResponseCount',\n defaultMessage: 'Set Max Response Count',\n desc: TYPE_LABEL,\n },\n set_survey_end_date: {\n id: 'PricingSummary.Feature.SetSurveyEndDate',\n defaultMessage: 'Set Survey End Date',\n desc: TYPE_LABEL,\n },\n share_surveys: {\n id: 'PricingSummary.Feature.ShareSurveys',\n defaultMessage: 'Share Surveys',\n desc: TYPE_LABEL,\n },\n share_with_your_organization: {\n id: 'PricingSummary.Feature.ShareWithYourOrganization',\n defaultMessage: 'Share With Your Organization',\n desc: TYPE_LABEL,\n },\n shared_group_library: {\n id: 'PricingSummary.Feature.SharedGroupLibrary',\n defaultMessage: 'Shared Group Library',\n desc: TYPE_LABEL,\n },\n shared_library: {\n id: 'PricingSummary.Feature.SharedLibrary',\n defaultMessage: 'Shared Library',\n desc: TYPE_LABEL,\n },\n show_create_crosstab: {\n id: 'PricingSummary.Feature.ShowCreateCrosstab',\n defaultMessage: 'Show Create Crosstab',\n desc: TYPE_LABEL,\n },\n show_create_header_upgrade_button: {\n id: 'PricingSummary.Feature.ShowCreateHeaderUpgradeButton',\n defaultMessage: 'Show Create Header Upgrade Button',\n desc: TYPE_LABEL,\n },\n show_sig_diffs_enabled: {\n id: 'PricingSummary.Feature.ShowSigDiffsEnabled',\n defaultMessage: 'Show Sig Diffs Enabled',\n desc: TYPE_LABEL,\n },\n single_sign_on: {\n id: 'PricingSummary.Feature.SingleSignOn',\n defaultMessage: 'Single Sign On',\n desc: TYPE_LABEL,\n },\n slider_question_type: {\n id: 'PricingSummary.Feature.SliderQuestionType',\n defaultMessage: 'Slider Question Type',\n desc: TYPE_LABEL,\n },\n smart_notifications: {\n id: 'PricingSummary.Feature.SmartNotifications',\n defaultMessage: 'Smart Notifications',\n desc: TYPE_LABEL,\n },\n ssl_tls_encryption: {\n id: 'PricingSummary.Feature.SslTlsEncryption',\n defaultMessage: 'SSL/TLS Encryption',\n desc: TYPE_LABEL,\n },\n star_rating_question_type: {\n id: 'PricingSummary.Feature.StarRatingQuestionType',\n defaultMessage: 'Star Rating Question Type',\n desc: TYPE_LABEL,\n },\n statistical_significance: {\n id: 'PricingSummary.Feature.StatisticalSignifcance',\n defaultMessage: 'Text analysis & statistical significance',\n desc: TYPE_LABEL,\n },\n survey_branding: {\n id: 'PricingSummary.Feature.SurveyBranding',\n defaultMessage: 'Custom logo, colors, and survey URL',\n desc: TYPE_LABEL,\n },\n survey_create_limit: {\n id: 'PricingSummary.Feature.SurveyCreateLimit',\n defaultMessage: 'Unlimited number of surveys',\n desc: TYPE_LABEL,\n },\n survey_templates_intl: {\n id: 'PricingSummary.Feature.SurveyTemplatesIntl',\n defaultMessage: 'Survey Templates Intl',\n desc: TYPE_LABEL,\n },\n surveys_read: {\n id: 'PricingSummary.Feature.SurveysRead',\n defaultMessage: 'Surveys Read',\n desc: TYPE_LABEL,\n },\n surveys_write: {\n id: 'PricingSummary.Feature.SurveysWrite',\n defaultMessage: 'Surveys Write',\n desc: TYPE_LABEL,\n },\n team_ownership: {\n id: 'PricingSummary.Feature.TeamOwnership',\n defaultMessage: 'Team Ownership',\n desc: TYPE_LABEL,\n },\n team_themes: {\n id: 'PricingSummary.Feature.TeamThemes',\n defaultMessage: 'Team Themes',\n desc: TYPE_LABEL,\n },\n teams_can_discover: {\n id: 'PricingSummary.Feature.TeamsCanDiscover',\n defaultMessage: 'Teams Can Discover',\n desc: TYPE_LABEL,\n },\n teams_can_make_discoverable: {\n id: 'PricingSummary.Feature.TeamsCanMakeDiscoverable',\n defaultMessage: 'Teams Can Make Discoverable',\n desc: TYPE_LABEL,\n },\n teams_enabled: {\n id: 'PricingSummary.Feature.TeamsEnabled',\n defaultMessage: 'Teams Enabled',\n desc: TYPE_LABEL,\n },\n text_analysis: {\n id: 'PricingSummary.Feature.TextAnalysis',\n defaultMessage: 'Text analysis',\n desc: TYPE_LABEL,\n },\n text_formatting: {\n id: 'PricingSummary.Feature.TextFormatting',\n defaultMessage: 'Text Formatting',\n desc: TYPE_LABEL,\n },\n textbox_multiple_question_type: {\n id: 'PricingSummary.Feature.TextboxMultipleQuestionType',\n defaultMessage: 'Textbox Multiple Question Type',\n desc: TYPE_LABEL,\n },\n track_email_responses: {\n id: 'PricingSummary.Feature.TrackEmailResponses',\n defaultMessage: 'Track Email Responses',\n desc: TYPE_LABEL,\n },\n try_before_you_buy_enabled: {\n id: 'PricingSummary.Feature.TryBeforeYouBuyEnabled',\n defaultMessage: 'Try Before You Buy Enabled',\n desc: TYPE_LABEL,\n },\n unlimited_responses: {\n id: 'PricingSummary.Feature.UnlimitedResponses',\n defaultMessage: 'Unlimited surveys and questions',\n desc: TYPE_LABEL,\n },\n user_management: {\n id: 'PricingSummary.Feature.UserManagment',\n defaultMessage: 'User Management',\n desc: TYPE_LABEL,\n },\n users_read: {\n id: 'PricingSummary.Feature.UsersRead',\n defaultMessage: 'Users Read',\n desc: TYPE_LABEL,\n },\n validate_answer: {\n id: 'PricingSummary.Feature.ValidateAnswer',\n defaultMessage: 'Validate Answer',\n desc: TYPE_LABEL,\n },\n video_question_type: {\n id: 'PricingSummary.Feature.VideoQuestionType',\n defaultMessage: 'Video Question Type',\n desc: TYPE_LABEL,\n },\n view_respondent_ip_address: {\n id: 'PricingSummary.Feature.ViewRespondentIpAddrress',\n defaultMessage: 'View Responded Ip Address',\n desc: TYPE_LABEL,\n },\n webhooks_read: {\n id: 'PricingSummary.Feature.WebhooksRead',\n defaultMessage: 'Webhooks Read',\n desc: TYPE_LABEL,\n },\n webhooks_write: {\n id: 'PricingSummary.Feature.WebhooksWrite',\n defaultMessage: 'Webhooks Write',\n desc: TYPE_LABEL,\n },\n workgroups_members_read: {\n id: 'PricingSummary.Feature.WorkgroupsMembersRead',\n defaultMessage: 'Workgroups Members Read',\n desc: TYPE_LABEL,\n },\n workgroups_members_write: {\n id: 'PricingSummary.Feature.WorkgroupsMembersWrite',\n defaultMessage: 'Workgroups Members Write',\n desc: TYPE_LABEL,\n },\n workgroups_read: {\n id: 'PricingSummary.Feature.WorkgroupsRead',\n defaultMessage: 'Workgroups Read',\n desc: TYPE_LABEL,\n },\n workgroups_shares_read: {\n id: 'PricingSummary.Feature.WorkgroupsSharesRead',\n defaultMessage: 'Workgroups Shares Read',\n desc: TYPE_LABEL,\n },\n workgroups_shares_write: {\n id: 'PricingSummary.Feature.WorkgroupsSharesWrite',\n defaultMessage: 'Workgroups Shares Write',\n desc: TYPE_LABEL,\n },\n workgroups_write: {\n id: 'PricingSummary.Feature.WorkgroupsWrite',\n defaultMessage: 'Workgroups Write',\n desc: TYPE_LABEL,\n },\n});\n","import tooltipCopy from '../tooltipCopy';\n\nconst { defineMessages } = require('@sm/intl');\n\nconst TYPE_LABEL = '[Type: Label][Vis: high] - Feature Set List Item';\nconst GLOBAL_BENCHMARKS = 'SurveyMonkey Global Benchmarks';\nconst RESPONSES_PER_YEAR = 'X responses per year/month/survey';\nconst SHARED_LIBRARY = 'Shared library';\n\nexport default defineMessages({\n ...tooltipCopy,\n '508_accessibility': {\n id: 'PricingDetails.Feature.508Accessibility',\n defaultMessage: 'Fully accessible, 508 compliant surveys',\n desc: TYPE_LABEL,\n },\n a_b_testing: {\n id: 'PricingDetails.Feature.ABTesting',\n defaultMessage: 'A/B test question type',\n desc: TYPE_LABEL,\n },\n account_verification: {\n id: 'PricingDetails.Feature.AccountVerification',\n defaultMessage: 'Account Verification',\n desc: TYPE_LABEL,\n },\n add_users: {\n id: 'PricingDetails.Feature.AddUsers',\n defaultMessage: 'Additional Full User Accounts (Team Collaboration), Additional Users (Team Management)',\n desc: TYPE_LABEL,\n },\n admin_dashboard: {\n id: 'PricingDetails.Feature.AdminDashboard',\n defaultMessage: 'Admin dashboard',\n desc: TYPE_LABEL,\n },\n advanced_logic: {\n id: 'PricingDetails.Feature.AdvancedLogic',\n defaultMessage: 'Advanced survey logic',\n desc: TYPE_LABEL,\n },\n advanced_survey_features: {\n id: 'PricingDetails.Feature.AdvancedSurveyFeatures',\n defaultMessage: 'A/B testing, randomization, quotas',\n desc: TYPE_LABEL,\n },\n all_languages_supported: {\n id: 'PricingDetails.Feature.AllLanguagesSupported',\n defaultMessage: 'All languages supported',\n desc: TYPE_LABEL,\n },\n analyze_access_benchmarking: {\n id: 'PricingDetails.Feature.AnalyzeAccessBenchmarking',\n defaultMessage: GLOBAL_BENCHMARKS,\n desc: TYPE_LABEL,\n },\n analyze_can_customize_charts: {\n id: 'PricingDetails.Feature.AnalyzeCanCustomizeCharts',\n defaultMessage: 'Generate custom charts & reports',\n desc: TYPE_LABEL,\n },\n analyze_can_export_hide_branding: {\n id: 'PricingDetails.Feature.AnalyzeCanExportHideBranding',\n defaultMessage: 'Analyze Export Branding',\n desc: TYPE_LABEL,\n },\n analyze_can_export_ta: {\n id: 'PricingDetails.Feature.AnalyzeCanExportTA',\n defaultMessage: 'Analyze Export TA',\n desc: TYPE_LABEL,\n },\n analyze_can_save_views: {\n id: 'PricingDetails.Feature.AnalyzeCanSaveViews',\n defaultMessage: 'Analyze Save Views',\n desc: TYPE_LABEL,\n },\n analyze_can_share_customize_branding: {\n id: 'PricingDetails.Feature.AnalyzeCanShareCustomizeBranding',\n defaultMessage: 'Add your logo',\n desc: TYPE_LABEL,\n },\n analyze_can_share_customize_domain: {\n id: 'PricingDetails.Feature.AnalyzeCanShareCustomizeDomain',\n defaultMessage: 'Custom SurveyMonkey URL',\n desc: TYPE_LABEL,\n },\n analyze_can_ta_search: {\n id: 'PricingDetails.Feature.AnalyzeCanTASearch',\n defaultMessage: 'Analyze TA Search',\n desc: TYPE_LABEL,\n },\n analyze_can_ta_tag: {\n id: 'PricingDetails.Feature.AnalyzeCanTATag',\n defaultMessage: 'Analyze TA Tag',\n desc: TYPE_LABEL,\n },\n analyze_combine_filters: {\n id: 'PricingDetails.Feature.CombineFilters',\n defaultMessage: 'Filter & compare results',\n desc: TYPE_LABEL,\n },\n analyze_dashboard_password_enabled: {\n id: 'PricingDetails.Feature.AnalyzeDashboardPasswordEnabled',\n defaultMessage: 'Dashboard: Password protection',\n desc: TYPE_LABEL,\n },\n analyze_delete_respondent_limit: {\n id: 'PricingDetails.Feature.AnalyzeDeleteRespondentLimit',\n defaultMessage: 'Analyze Delete Respondent Limit',\n desc: TYPE_LABEL,\n },\n analyze_export_enabled: {\n id: 'PricingDetails.Feature.AnalyzeExportEnabled',\n defaultMessage: 'Download results as CSV, XLS or PDF, Download results in PPT format',\n desc: TYPE_LABEL,\n },\n analyze_export_spss_enabled: {\n id: 'PricingDetails.Feature.AnalyzeExportSpssEnabled',\n defaultMessage: 'Export to SPSS',\n desc: TYPE_LABEL,\n },\n analyze_integrations: {\n id: 'PricingDetails.Feature.AnalyzeIntegrations',\n defaultMessage: 'Extract data',\n desc: TYPE_LABEL,\n },\n analyze_password_enabled: {\n id: 'PricingDetails.Feature.AnalyzePasswordEnabled',\n defaultMessage: 'Analyze Password Enabled',\n desc: TYPE_LABEL,\n },\n analyze_response_delete_limit: {\n id: 'PricingDetails.Feature.AnalyzeResponseDeleteLimit',\n defaultMessage: 'Analyze Response Delete Limit',\n desc: TYPE_LABEL,\n },\n analyze_response_limit: {\n id: 'PricingDetails.Feature.AnalyzeResponseLimit',\n defaultMessage: RESPONSES_PER_YEAR,\n desc: TYPE_LABEL,\n },\n analyze_results_together: {\n id: 'PricingDetails.Feature.AnalyzeResultsTogether',\n defaultMessage: 'Analyze results together',\n desc: TYPE_LABEL,\n },\n analyze_rule_based_tagging: {\n id: 'PricingDetails.Feature.AnalyzeRuleBasedTagging',\n defaultMessage: 'Tag written answers',\n desc: TYPE_LABEL,\n },\n analyze_rule_limit: {\n id: 'PricingDetails.Feature.AnalyzeRuleLimit',\n defaultMessage: 'Analyze Rule Limit',\n desc: TYPE_LABEL,\n },\n analyze_sentiment_enabled: {\n id: 'PricingDetails.Feature.AnalyzeSentimentEnabled',\n defaultMessage: 'Sentiment analysis',\n desc: TYPE_LABEL,\n },\n analyze_shared_results_enabled: {\n id: 'PricingDetails.Feature.AnalyzeSharedResultsEnabled',\n defaultMessage: 'Analyze Shared Results Enabled',\n desc: TYPE_LABEL,\n },\n analyze_ta_enabled: {\n id: 'PricingDetails.Feature.AnalyzeTAEnabled',\n defaultMessage: 'Analyze TA Enabled',\n desc: TYPE_LABEL,\n },\n analyze_trends_enabled: {\n id: 'PricingDetails.Feature.AnalyzeTrendsEnabled',\n defaultMessage: 'Data trends',\n desc: TYPE_LABEL,\n },\n api_access: {\n id: 'PricingDetails.Feature.ApiAccess',\n defaultMessage: 'API Access',\n desc: TYPE_LABEL,\n },\n asset_library: {\n id: 'PricingDetails.Feature.AssetLibrary',\n defaultMessage: SHARED_LIBRARY,\n desc: TYPE_LABEL,\n },\n assign_admin_role: {\n id: 'PricingDetails.Feature.AssignAdminRole',\n defaultMessage: 'Assign Admin Role',\n desc: TYPE_LABEL,\n },\n base_response_count: {\n id: 'PricingDetails.Feature.BaseResponseCount',\n defaultMessage: RESPONSES_PER_YEAR,\n desc: TYPE_LABEL,\n },\n benchmarks: {\n id: 'PricingDetails.Feature.Benchmarks',\n defaultMessage: GLOBAL_BENCHMARKS,\n desc: TYPE_LABEL,\n },\n best_worst_qt: {\n id: 'PricingDetails.Feature.BestWorstQT',\n defaultMessage: 'Best Worst QT',\n desc: TYPE_LABEL,\n },\n build_surveys_together: {\n id: 'PricingDetails.Feature.BuildSurveysTogether',\n defaultMessage: 'Build surveys together',\n desc: TYPE_LABEL,\n },\n bulk_survey_share: {\n id: 'PricingDetails.Feature.BulkSurveyShare',\n defaultMessage: 'Bulk Survey Share',\n desc: TYPE_LABEL,\n },\n bulk_survey_transfer: {\n id: 'PricingDetails.Feature.BulkSurveyTransfer',\n defaultMessage: 'Bulk Survey Transfer',\n desc: TYPE_LABEL,\n },\n carry_forward: {\n id: 'PricingDetails.Feature.CarryForward',\n defaultMessage: 'Carry forward responses',\n desc: TYPE_LABEL,\n },\n click_map_qt: {\n id: 'PricingDetails.Feature.ClickMapQT',\n defaultMessage: 'Click map data visualization',\n desc: TYPE_LABEL,\n },\n collaboration: {\n id: 'PricingDetails.Feature.Collaboration',\n defaultMessage: 'Collaboration',\n desc: TYPE_LABEL,\n },\n collect_contact_information: {\n id: 'PricingDetails.Feature.CollectContactInformation',\n defaultMessage: 'Collect Contact Information',\n desc: TYPE_LABEL,\n },\n collect_email_throttle_limit: {\n id: 'PricingDetails.Feature.CollectEmailThrottleLimit',\n defaultMessage: 'Collect Email Throttle Limit',\n desc: TYPE_LABEL,\n },\n collect_min_daily_messages_limit: {\n id: 'PricingDetails.Feature.CollectMinDailyMessagesLimit',\n defaultMessage: 'Collect Min Daily Messages Limit',\n desc: TYPE_LABEL,\n },\n collect_responses: {\n id: 'PricingDetails.Feature.CollectResponses',\n defaultMessage: 'Collect Responses',\n desc: TYPE_LABEL,\n },\n collector_completion_url_enabled: {\n id: 'PricingDetails.Feature.CollectorCompletionUrlEnabled',\n defaultMessage: 'Survey completion redirect',\n desc: TYPE_LABEL,\n },\n collector_contact_list_limit: {\n id: 'PricingDetails.Feature.CollectorContactListLimit',\n defaultMessage: 'Collector Contact List Limit',\n desc: TYPE_LABEL,\n },\n collector_create_limit: {\n id: 'PricingDetails.Feature.CollectorCreateLimit',\n defaultMessage: 'Number of surveys',\n desc: TYPE_LABEL,\n },\n collector_email_limit: {\n id: 'PricingDetails.Feature.CollectorEmailLimit',\n defaultMessage: 'Collector Email Limit',\n desc: TYPE_LABEL,\n },\n collector_email_enabled: {\n id: 'PricingDetails.Feature.CollectorEmailEnabled',\n defaultMessage: 'Collector Email Enabled',\n desc: TYPE_LABEL,\n },\n collector_facebook_messenger_enabled: {\n id: 'PricingDetails.Feature.CollectorFacebookMessengerEnabled',\n defaultMessage: 'Collector Facebook Messenger Enabled',\n desc: TYPE_LABEL,\n },\n collector_manual_data_entry_enabled: {\n id: 'PricingDetails.Feature.CollectorManualDataEntryEnabled',\n defaultMessage: 'Collector Manuanl Data Entry Enabled',\n desc: TYPE_LABEL,\n },\n collector_mobile_sdk_enabled: {\n id: 'PricingDetails.Feature.CollectorMobileSdkEnabled',\n defaultMessage: 'Mobile SDK, Mobile SDK-Data Pull',\n desc: TYPE_LABEL,\n },\n collector_offline_kiosk_enabled: {\n id: 'PricingDetails.Feature.CollectorOfflineKioskEnabled',\n defaultMessage: 'Kiosk Mode: Inactivity Timer, Kiosk Mode: Passcode Lock',\n desc: TYPE_LABEL,\n },\n collector_popup_enabled: {\n id: 'PricingDetails.Feature.CollectorPopupEnabled',\n defaultMessage: 'Pop up online surveys',\n desc: TYPE_LABEL,\n },\n collector_friendly_url_enabled: {\n id: 'PricingDetails.Feature.CollectorFriendlyUrlEnabled',\n defaultMessage: 'Custom SurveyMonkey URL',\n desc: TYPE_LABEL,\n },\n collector_max_responses_delete_count: {\n id: 'PricingDetails.Feature.CollectorMaxResponsesDeleteCount',\n defaultMessage: 'Collector Max Responses Delete Count',\n desc: TYPE_LABEL,\n },\n collector_recipients_limit: {\n id: 'PricingDetails.Feature.CollectorRecipientsLimit',\n defaultMessage: 'Collector Recipients Limit',\n desc: TYPE_LABEL,\n },\n collector_thank_you_enabled: {\n id: 'PricingDetails.Feature.CollectorThankYouEnabled',\n defaultMessage: `Display a 'thank you' page`,\n desc: TYPE_LABEL,\n },\n collector_white_label_enabled: {\n id: 'PricingDetails.Feature.CollectorWhiteLabelEnabled',\n defaultMessage: 'White label surveys',\n desc: TYPE_LABEL,\n },\n collector_zoom_enabled: {\n id: 'PricingDetails.Feature.CollectorZoomEnabled',\n defaultMessage: 'Collector Zoom Enabled',\n desc: TYPE_LABEL,\n },\n collectors_read: {\n id: 'PricingDetails.Feature.CollectorsRead',\n defaultMessage: 'Collectors Read',\n desc: TYPE_LABEL,\n },\n collectors_write: {\n id: 'PricingDetails.Feature.CollectorsWrite',\n defaultMessage: 'Collectors Write',\n desc: TYPE_LABEL,\n },\n collect_end_page_question_bank_demographics: {\n id: 'PricingDetails.Feature.CollectEndPageQuestionBankDemographics',\n defaultMessage: 'Collect End Page Question Bank Demographics',\n desc: TYPE_LABEL,\n },\n comment_box_question_type: {\n id: 'PricingDetails.Feature.CommentBoxQuestionType',\n defaultMessage: 'Comment Box Question Type',\n desc: TYPE_LABEL,\n },\n consolidated_billing: {\n id: 'PricingDetails.Feature.ConsolidatedBilling',\n defaultMessage: 'Consolidatd billing',\n desc: TYPE_LABEL,\n },\n contacts_read: {\n id: 'PricingDetails.Feature.ContactsRead',\n defaultMessage: 'Contacts Read',\n desc: TYPE_LABEL,\n },\n contacts_write: {\n id: 'PricingDetails.Feature.ContactsWrite',\n defaultMessage: 'Contacts Write',\n desc: TYPE_LABEL,\n },\n create_custom_chatbot_avatar: {\n id: 'PricingDetails.Feature.CreateCustomChatbotAvatar',\n defaultMessage: 'Create Custom Chatbot Avatar',\n desc: TYPE_LABEL,\n },\n create_custom_html_email_message_enabled: {\n id: 'PricingDetails.Feature.CreateCustomHtmlEmailMessageEnabled',\n defaultMessage: 'Custom HTML email invitations',\n desc: TYPE_LABEL,\n },\n create_custom_theme_enabled: {\n id: 'PricingDetails.Feature.CreateCustomThemeEnabled',\n defaultMessage: 'Custom themes, colors & more',\n desc: TYPE_LABEL,\n },\n create_custom_variables_enabled: {\n id: 'PricingDetails.Feature.CreateCustomVariablesEnabled',\n defaultMessage: 'Custom variables',\n desc: TYPE_LABEL,\n },\n create_grayscale_footer: {\n id: 'PricingDetails.Feature.CreateGrayscaleFooter',\n defaultMessage: 'Subtle SurveyMonkey footer',\n desc: TYPE_LABEL,\n },\n create_logo_enabled: {\n id: 'PricingDetails.Feature.CreateLogoEnabled',\n defaultMessage: 'Add your logo',\n desc: TYPE_LABEL,\n },\n create_piping_enabled: {\n id: 'PricingDetails.Feature.CreatePipingEnabled',\n defaultMessage: 'Question & answer piping',\n desc: TYPE_LABEL,\n },\n create_print_enabled: {\n id: 'PricingDetails.Feature.CreatePrintEnabled',\n defaultMessage: 'Print reports',\n desc: TYPE_LABEL,\n },\n create_question_limit: {\n id: 'PricingDetails.Feature.CreateQuestionLimit',\n defaultMessage: 'Questions per survey',\n desc: TYPE_LABEL,\n },\n create_quotas_enabled: {\n id: 'PricingDetails.Feature.CreateQuotasEnabled',\n defaultMessage: 'Response quotas',\n desc: TYPE_LABEL,\n },\n create_random_assignment_enabled: {\n id: 'PricingDetails.Feature.CreateRandomAssignmentEnabled',\n defaultMessage: 'Create Random Assignment Enabled',\n desc: TYPE_LABEL,\n },\n create_randomization_enabled: {\n id: 'PricingDetails.Feature.CreateRandomizationEnabled',\n defaultMessage: 'Create Randomization Enabled',\n desc: TYPE_LABEL,\n },\n create_skip_logic_enabled: {\n id: 'PricingDetails.Feature.CreateSkipLogicEnabled',\n defaultMessage: 'Question & page skip logic',\n desc: TYPE_LABEL,\n },\n create_templates_enabled: {\n id: 'PricingDetails.Feature.CreateTemplatesEnabled',\n defaultMessage: 'Expert, pre-written survey templates',\n desc: TYPE_LABEL,\n },\n create_toggle_footer_enabled: {\n id: 'PricingDetails.Feature.CreateToggleFooterEnabled',\n defaultMessage: 'Remove SurveyMonkey footer',\n desc: TYPE_LABEL,\n },\n custom_charts: {\n id: 'PricingDetails.Feature.CustomCharts',\n defaultMessage: 'Generate custom charts & reports',\n desc: TYPE_LABEL,\n },\n custom_templates: {\n id: 'PricingDetails.Feature.CustomTemplates',\n defaultMessage: 'Shared templates',\n desc: TYPE_LABEL,\n },\n customize_disqualification_page_enabled: {\n id: 'PricingDetails.Feature.CustomizeDisqualificationPageEnabled',\n defaultMessage: 'Display disqualification page',\n desc: TYPE_LABEL,\n },\n data_ownership: {\n id: 'PricingDetails.Feature.DataOwnership',\n defaultMessage: 'Team ownership',\n desc: TYPE_LABEL,\n },\n disable_closed_page_branding_enabled: {\n id: 'PricingDetails.Feature.DisableClosedPageBrandingEnbabled',\n defaultMessage: 'Disable Closed Page Branding Enabled',\n desc: TYPE_LABEL,\n },\n disable_email_message_branding_enabled: {\n id: 'PricingDetails.Feature.DisableEmailMessageBrandingEnbabled',\n defaultMessage: 'Disable Email Message Branding Enabled',\n desc: TYPE_LABEL,\n },\n disable_footer_branding_enabled: {\n id: 'PricingDetails.Feature.DisableFooterBrandingEnbabled',\n defaultMessage: 'Disable Footer Branding Enabled',\n desc: TYPE_LABEL,\n },\n download_as_csv_xls_pdf: {\n id: 'PricingDetails.Feature.DownloadAsCsvXlsPdf',\n defaultMessage: 'Download results as CSV, XLS or PDF',\n desc: TYPE_LABEL,\n },\n download_as_ppt: {\n id: 'PricingDetails.Feature.DownloadAsPpt',\n defaultMessage: 'Download results in PPT format',\n desc: TYPE_LABEL,\n },\n email_support: {\n id: 'PricingDetails.Feature.EmailSupport',\n defaultMessage: '24/7 email support',\n desc: TYPE_LABEL,\n },\n email_tracking_enabled: {\n id: 'PricingDetails.Feature.EmailTrackingEnabled',\n defaultMessage: 'Track email responses',\n desc: TYPE_LABEL,\n },\n enable_ip_blocking: {\n id: 'PricingDetails.Feature.EnableIpBlocking',\n defaultMessage: 'Enable Ip Blocking',\n desc: TYPE_LABEL,\n },\n essential_question_types: {\n id: 'PricingDetails.Feature.EssentialQuestionTypes',\n defaultMessage: 'Essential question types',\n desc: TYPE_LABEL,\n },\n extended_piping: {\n id: 'PricingDetails.Feature.ExtendedPiping',\n defaultMessage: 'Not marketed (included in Advanced survey logic)',\n desc: TYPE_LABEL,\n },\n extract_data: {\n id: 'PricingDetails.Feature.ExtractData',\n defaultMessage: 'Extract data',\n desc: TYPE_LABEL,\n },\n file_upload: {\n id: 'PricingDetails.Feature.FileUpload',\n defaultMessage: 'File upload',\n desc: TYPE_LABEL,\n },\n filter_crosstab: {\n id: 'PricingDetails.Feature.FilterCrosstab',\n defaultMessage: 'Crosstabs',\n desc: TYPE_LABEL,\n },\n funneling_enabled: {\n id: 'PricingDetails.Feature.FunnelingEnabled',\n defaultMessage: 'Funneling Enabled',\n desc: TYPE_LABEL,\n },\n gold_features_included: {\n id: 'PricingDetails.Feature.GoldFeaturesIncluded',\n defaultMessage: 'Gold Features Included',\n desc: TYPE_LABEL,\n },\n group_contacts_limit: {\n id: 'PricingDetails.Feature.GroupContactsLimit',\n defaultMessage: 'Group Contacts Limit',\n desc: TYPE_LABEL,\n },\n group_templates: {\n id: 'PricingDetails.Feature.GroupTemplates',\n defaultMessage: 'Shared templates',\n desc: TYPE_LABEL,\n },\n groups_read: {\n id: 'PricingDetails.Feature.GroupsRead',\n defaultMessage: 'Groups Read',\n desc: TYPE_LABEL,\n },\n groups_write: {\n id: 'PricingDetails.Feature.GroupsWrite',\n defaultMessage: 'Groups Write',\n desc: TYPE_LABEL,\n },\n hide_export_branding_enabled: {\n id: 'PricingDetails.Feature.HideExportBrandingEnabled',\n defaultMessage: 'Remove SurveyMonkey footer',\n desc: TYPE_LABEL,\n },\n hipaa_enabled: {\n id: 'PricingDetails.Feature.HipaaEnabled',\n defaultMessage: 'HIPAA-compliant features',\n desc: TYPE_LABEL,\n },\n kiosk_mode_inactivity_timer: {\n id: 'PricingDetails.Feature.KioskModeInactivityTimer',\n defaultMessage: 'Kiosk Mode: Inactivity Timer',\n desc: TYPE_LABEL,\n },\n kiosk_mode_passcode_lock: {\n id: 'PricingDetails.Feature.KioskModePasscodeLock',\n defaultMessage: 'Kiosk Mode: Passcode Lock',\n desc: TYPE_LABEL,\n },\n labeling_titles_numbering: {\n id: 'PricingDetails.Feature.LabelingTitlesNumbering',\n defaultMessage: 'Labeling, titles & numbering',\n desc: TYPE_LABEL,\n },\n library_read: {\n id: 'PricingDetails.Feature.LibraryRead',\n defaultMessage: SHARED_LIBRARY,\n desc: TYPE_LABEL,\n },\n lite_library: {\n id: 'PricingDetails.Feature.LiteLibrary',\n defaultMessage: SHARED_LIBRARY,\n desc: TYPE_LABEL,\n },\n max_collectors_per_survey: {\n id: 'PricingDetails.Feature.MaxCollectorsPerSurvey',\n defaultMessage: 'Number of collectors',\n desc: TYPE_LABEL,\n },\n matrix_question_type: {\n id: 'PricingDetails.Feature.MatrixQuestionType',\n defaultMessage: 'Matrix questions',\n desc: TYPE_LABEL,\n },\n maximum_daily_messages: {\n id: 'PricingDetails.Feature.MaximumDailyMessages',\n defaultMessage: 'Maximum Daily Message',\n desc: TYPE_LABEL,\n },\n menu_matrix_enabled: {\n id: 'PricingDetails.Feature.MenuMatrixEnabled',\n defaultMessage: 'Matrix of dropdown menus',\n desc: TYPE_LABEL,\n },\n metadata_settings: {\n id: 'PricingDetails.Feature.MetadataSettings',\n defaultMessage: 'Metadata Settings',\n desc: TYPE_LABEL,\n },\n mobile_sdk_pull_response_data_enabled: {\n id: 'PricingDetails.Feature.MobileSdkPullResponseDataEnabled',\n defaultMessage: 'Mobile SDK-Data Pull',\n desc: TYPE_LABEL,\n },\n mta_sparkpost_low_risk_ip_pools: {\n id: 'PricingDetails.Feature.MtaSparkpostLowRiskIpPools',\n defaultMessage: 'MTA Sparkpost Low Risk Ip Pools',\n desc: TYPE_LABEL,\n },\n multilingual: {\n id: 'PricingDetails.Feature.Multilingual',\n defaultMessage: 'Multilingual surveys',\n desc: TYPE_LABEL,\n },\n multiple_block_rotation_enabled: {\n id: 'PricingDetails.Feature.MultipleBlockRotationEnabled',\n defaultMessage: 'Block randomization',\n desc: TYPE_LABEL,\n },\n multiple_users: {\n id: 'PricingDetails.Feature.MultipleUsers',\n defaultMessage: 'Multiple Users',\n desc: TYPE_LABEL,\n },\n new_stock_themes: {\n id: 'PricingDetails.Feature.NewStockThemes',\n defaultMessage: 'Custom themes, colors & more',\n desc: TYPE_LABEL,\n },\n notification_center: {\n id: 'PricingDetails.Feature.NotificationCenter',\n defaultMessage: 'Notification Center',\n desc: TYPE_LABEL,\n },\n num_free_responses: {\n id: 'PricingDetails.Feature.NumFreeResponses',\n defaultMessage: RESPONSES_PER_YEAR,\n desc: TYPE_LABEL,\n },\n onboarding: {\n id: 'PricingDetails.Feature.Onboarding',\n defaultMessage: 'Onboarding',\n desc: TYPE_LABEL,\n },\n pagination: {\n id: 'PricingDetails.Feature.Pagination',\n defaultMessage: 'Pagination',\n desc: TYPE_LABEL,\n },\n paid_to_group_rollout: {\n id: 'PricingDetails.Feature.PaidToGroupRollout',\n defaultMessage: 'Paid To Group Rollout',\n desc: TYPE_LABEL,\n },\n papi_enabled: {\n id: 'PricingDetails.Feature.PapiEnabled',\n defaultMessage: 'Papi Enabled',\n desc: TYPE_LABEL,\n },\n password_protection: {\n id: 'PricingDetails.Feature.PasswordProtection',\n defaultMessage: 'Password-protected surveys',\n desc: TYPE_LABEL,\n },\n payment_qt: {\n id: 'PricingDetails.Feature.PaymentQT',\n defaultMessage: 'Accept payments',\n desc: TYPE_LABEL,\n },\n phone_support: {\n id: 'PricingDetails.Feature.PhoneSupport',\n defaultMessage: 'Phone support',\n desc: TYPE_LABEL,\n },\n plans_benchmarks: {\n id: 'PricingDetails.Feature.PlansBenchmark',\n defaultMessage: GLOBAL_BENCHMARKS,\n desc: TYPE_LABEL,\n },\n pop_up_collector: {\n id: 'PricingDetails.Feature.PopupCollector',\n defaultMessage: 'Pop up online surveys',\n desc: TYPE_LABEL,\n },\n premium_themes: {\n id: 'PricingDetails.Feature.PremiumThemes',\n defaultMessage: 'Premium themes',\n desc: TYPE_LABEL,\n },\n priority_email_support: {\n id: 'PricingDetails.Feature.PrimaryEmailSupport',\n defaultMessage: 'Expedited email support',\n desc: TYPE_LABEL,\n },\n private_apps: {\n id: 'PricingDetails.Feature.PrivateApps',\n defaultMessage: 'Unlimited API access',\n desc: TYPE_LABEL,\n },\n progress_bar: {\n id: 'PricingDetails.Feature.ProgressBar',\n defaultMessage: 'Progress bar',\n desc: TYPE_LABEL,\n },\n question_library: {\n id: 'PricingDetails.Feature.QuestionLibrary',\n defaultMessage: 'Question Bank approved questions',\n desc: TYPE_LABEL,\n },\n question_library_intl: {\n id: 'PricingDetails.Feature.QuestionLibraryIntl',\n defaultMessage: 'Question Bank approved questions',\n desc: TYPE_LABEL,\n },\n quizzes_pro: {\n id: 'PricingDetails.Feature.QuizzesPro',\n defaultMessage: 'Quizzes pro',\n desc: TYPE_LABEL,\n },\n randomize_answer_choices: {\n id: 'PricingDetails.Feature.RandomizeAnswerChoices',\n defaultMessage: 'Randomize answer choices',\n desc: TYPE_LABEL,\n },\n ranking_question_type: {\n id: 'PricingDetails.Feature.RankingQuestionType',\n defaultMessage: 'Ranking questions',\n desc: TYPE_LABEL,\n },\n rating_question_type: {\n id: 'PricingDetails.Feature.RatingQuestionType',\n defaultMessage: 'Rating questions',\n desc: TYPE_LABEL,\n },\n real_time_results: {\n id: 'PricingDetails.Feature.RealTimeResults',\n defaultMessage: 'Real time results',\n desc: TYPE_LABEL,\n },\n receive_transferred_survey_enabled: {\n id: 'PricingDetails.Feature.ReceiveTransferredSurveyEnabled',\n defaultMessage: 'Receive Transferred Survey Enabled',\n desc: TYPE_LABEL,\n },\n record_respondent_email_address: {\n id: 'PricingDetails.Feature.RecordRespondentEmailAddress',\n defaultMessage: 'Record respondent email address',\n desc: TYPE_LABEL,\n },\n recurring_email_collector_enabled: {\n id: 'PricingDetails.Feature.RecurringEmailCollectorEnabled',\n defaultMessage: 'Recurring surveys',\n desc: TYPE_LABEL,\n },\n recurring_surveys: {\n id: 'PricingDetails.Feature.RecurringSurveys',\n defaultMessage: 'Recurring surveys',\n desc: TYPE_LABEL,\n },\n require_answer: {\n id: 'PricingDetails.Feature.RequireAnswer',\n defaultMessage: 'Require answer completion',\n desc: TYPE_LABEL,\n },\n reshare: {\n id: 'PricingDetails.Feature.Reshare',\n defaultMessage: 'Reshare',\n desc: TYPE_LABEL,\n },\n respondent_receipt: {\n id: 'PricingDetails.Feature.RespondentReceipt',\n defaultMessage: 'Confirmation Email to Respondents',\n desc: TYPE_LABEL,\n },\n response_quality_enabled: {\n id: 'PricingDetails.Feature.ResponseQualityEnabled',\n defaultMessage: 'Response Quality',\n desc: TYPE_LABEL,\n },\n responses_read: {\n id: 'PricingDetails.Feature.ResponsesRead',\n defaultMessage: 'Responses Read',\n desc: TYPE_LABEL,\n },\n responses_read_detail: {\n id: 'PricingDetails.Feature.ResponsesReadDetail',\n defaultMessage: 'Responses Read Detail',\n desc: TYPE_LABEL,\n },\n responses_write: {\n id: 'PricingDetails.Feature.ResponsesWrite',\n defaultMessage: 'Responses Write',\n desc: TYPE_LABEL,\n },\n roles_read: {\n id: 'PricingDetails.Feature.RolesRead',\n defaultMessage: 'Roles Read',\n desc: TYPE_LABEL,\n },\n roles_write: {\n id: 'PricingDetails.Feature.RolesWrite',\n defaultMessage: 'Roles Write',\n desc: TYPE_LABEL,\n },\n sa_en_ga: {\n id: 'PricingDetails.Feature.SaEnGa',\n defaultMessage: 'SA EN GA',\n desc: TYPE_LABEL,\n },\n select_features_included: {\n id: 'PricingDetails.Feature.SelectFeaturesIncluded',\n defaultMessage: 'Select Features Included',\n desc: TYPE_LABEL,\n },\n send_surveys: {\n id: 'PricingDetails.Feature.SendSurveys',\n defaultMessage: 'Send Surveys',\n desc: TYPE_LABEL,\n },\n set_max_response_count: {\n id: 'PricingDetails.Feature.SetMaxResponseCount',\n defaultMessage: 'Set Max Response Count',\n desc: TYPE_LABEL,\n },\n set_survey_end_date: {\n id: 'PricingDetails.Feature.SetSurveyEndDate',\n defaultMessage: 'Set survey end date',\n desc: TYPE_LABEL,\n },\n share_surveys: {\n id: 'PricingDetails.Feature.ShareSurveys',\n defaultMessage: 'Share survey data',\n desc: TYPE_LABEL,\n },\n share_with_your_organization: {\n id: 'PricingDetails.Feature.ShareWithYourOrganization',\n defaultMessage: 'Share With Your Organization',\n desc: TYPE_LABEL,\n },\n shared_group_library: {\n id: 'PricingDetails.Feature.SharedGroupLibrary',\n defaultMessage: SHARED_LIBRARY,\n desc: TYPE_LABEL,\n },\n shared_library: {\n id: 'PricingDetails.Feature.SharedLibrary',\n defaultMessage: SHARED_LIBRARY,\n desc: TYPE_LABEL,\n },\n show_create_crosstab: {\n id: 'PricingDetails.Feature.ShowCreateCrosstab',\n defaultMessage: 'Crosstabs',\n desc: TYPE_LABEL,\n },\n show_create_header_upgrade_button: {\n id: 'PricingDetails.Feature.ShowCreateHeaderUpgradeButton',\n defaultMessage: 'Show Create Header Upgrade Button',\n desc: TYPE_LABEL,\n },\n show_sig_diffs_enabled: {\n id: 'PricingDetails.Feature.ShowSigDiffsEnabled',\n defaultMessage: 'Statistical significance',\n desc: TYPE_LABEL,\n },\n single_sign_on: {\n id: 'PricingDetails.Feature.SingleSignOn',\n defaultMessage: 'Single sign-on',\n desc: TYPE_LABEL,\n },\n slider_question_type: {\n id: 'PricingDetails.Feature.SliderQuestionType',\n defaultMessage: 'Slider questions',\n desc: TYPE_LABEL,\n },\n smart_notifications: {\n id: 'PricingDetails.Feature.SmartNotifications',\n defaultMessage: 'Smart Notifications',\n desc: TYPE_LABEL,\n },\n ssl_tls_encryption: {\n id: 'PricingDetails.Feature.SslTlsEncryption',\n defaultMessage: 'SSL/TLS Encryption',\n desc: TYPE_LABEL,\n },\n star_rating_question_type: {\n id: 'PricingDetails.Feature.StarRatingQuestionType',\n defaultMessage: 'Rating questions',\n desc: TYPE_LABEL,\n },\n statistical_significance: {\n id: 'PricingDetails.Feature.StatisticalSignifcance',\n defaultMessage: 'Statistical significance',\n desc: TYPE_LABEL,\n },\n survey_branding: {\n id: 'PricingDetails.Feature.SurveyBranding',\n defaultMessage: 'Custom logo, colors, and survey URL',\n desc: TYPE_LABEL,\n },\n survey_create_limit: {\n id: 'PricingDetails.Feature.SurveyCreateLimit',\n defaultMessage: 'Number of surveys',\n desc: TYPE_LABEL,\n },\n survey_templates_intl: {\n id: 'PricingDetails.Feature.SurveyTemplatesIntl',\n defaultMessage: 'Expert, pre-written survey templates',\n desc: TYPE_LABEL,\n },\n surveys_read: {\n id: 'PricingDetails.Feature.SurveysRead',\n defaultMessage: 'Surveys Read',\n desc: TYPE_LABEL,\n },\n surveys_write: {\n id: 'PricingDetails.Feature.SurveysWrite',\n defaultMessage: 'Surveys Write',\n desc: TYPE_LABEL,\n },\n team_ownership: {\n id: 'PricingDetails.Feature.TeamOwnership',\n defaultMessage: 'Team ownership',\n desc: TYPE_LABEL,\n },\n team_themes: {\n id: 'PricingDetails.Feature.TeamThemes',\n defaultMessage: 'Shared themes',\n desc: TYPE_LABEL,\n },\n teams_can_discover: {\n id: 'PricingDetails.Feature.TeamsCanDiscover',\n defaultMessage: 'Teams Can Discover',\n desc: TYPE_LABEL,\n },\n teams_can_make_discoverable: {\n id: 'PricingDetails.Feature.TeamsCanMakeDiscoverable',\n defaultMessage: 'Teams Can Make Discoverable',\n desc: TYPE_LABEL,\n },\n teams_enabled: {\n id: 'PricingDetails.Feature.TeamsEnabled',\n defaultMessage: 'Teams Enabled',\n desc: TYPE_LABEL,\n },\n text_analysis: {\n id: 'PricingDetails.Feature.TextAnalysis',\n defaultMessage: 'Text analysis',\n desc: TYPE_LABEL,\n },\n text_formatting: {\n id: 'PricingDetails.Feature.TextFormatting',\n defaultMessage: 'Text formatting',\n desc: TYPE_LABEL,\n },\n textbox_multiple_question_type: {\n id: 'PricingDetails.Feature.TextboxMultipleQuestionType',\n defaultMessage: 'Textbox Multiple Question Type',\n desc: TYPE_LABEL,\n },\n track_email_responses: {\n id: 'PricingDetails.Feature.TrackEmailResponses',\n defaultMessage: 'Track Email Responses',\n desc: TYPE_LABEL,\n },\n try_before_you_buy_enabled: {\n id: 'PricingDetails.Feature.TryBeforeYouBuyEnabled',\n defaultMessage: 'Try Before You Buy Enabled',\n desc: TYPE_LABEL,\n },\n unlimited_responses: {\n id: 'PricingDetails.Feature.UnlimitedResponses',\n defaultMessage: 'Unlimited surveys and questions',\n desc: TYPE_LABEL,\n },\n user_management: {\n id: 'PricingDetails.Feature.UserManagment',\n defaultMessage: 'User Management',\n desc: TYPE_LABEL,\n },\n users_read: {\n id: 'PricingDetails.Feature.UsersRead',\n defaultMessage: 'Users Read',\n desc: TYPE_LABEL,\n },\n validate_answer: {\n id: 'PricingDetails.Feature.ValidateAnswer',\n defaultMessage: 'Answer validation',\n desc: TYPE_LABEL,\n },\n video_question_type: {\n id: 'PricingDetails.Feature.VideoQuestionType',\n defaultMessage: 'Video and image questions',\n desc: TYPE_LABEL,\n },\n view_respondent_ip_address: {\n id: 'PricingDetails.Feature.ViewRespondentIpAddrress',\n defaultMessage: `View respondent's IP address`,\n desc: TYPE_LABEL,\n },\n webhooks_read: {\n id: 'PricingDetails.Feature.WebhooksRead',\n defaultMessage: 'Webhooks Read',\n desc: TYPE_LABEL,\n },\n webhooks_write: {\n id: 'PricingDetails.Feature.WebhooksWrite',\n defaultMessage: 'Webhooks Write',\n desc: TYPE_LABEL,\n },\n workgroups_members_read: {\n id: 'PricingDetails.Feature.WorkgroupsMembersRead',\n defaultMessage: 'Workgroups Members Read',\n desc: TYPE_LABEL,\n },\n workgroups_members_write: {\n id: 'PricingDetails.Feature.WorkgroupsMembersWrite',\n defaultMessage: 'Workgroups Members Write',\n desc: TYPE_LABEL,\n },\n workgroups_read: {\n id: 'PricingDetails.Feature.WorkgroupsRead',\n defaultMessage: 'Workgroups Read',\n desc: TYPE_LABEL,\n },\n workgroups_shares_read: {\n id: 'PricingDetails.Feature.WorkgroupsSharesRead',\n defaultMessage: 'Workgroups Shares Read',\n desc: TYPE_LABEL,\n },\n workgroups_shares_write: {\n id: 'PricingDetails.Feature.WorkgroupsSharesWrite',\n defaultMessage: 'Workgroups Shares Write',\n desc: TYPE_LABEL,\n },\n workgroups_write: {\n id: 'PricingDetails.Feature.WorkgroupsWrite',\n defaultMessage: 'Workgroups Write',\n desc: TYPE_LABEL,\n },\n});\n","import { t } from '@sm/intl';\n\nimport SUMMARY_COPY from './summary/copy';\nimport DETAILS_COPY from './details/copy';\n\nimport { Copy, DisplayFeatureStatic } from '../summaryPackages';\n\n/**\n * A formatter method that takes a map of l10n ready strings and builds a DisplayFeatureStatic\n * object populating summary/tooltip values wrapped with l10n formatting\n *\n * @param COPY_MAP The l10n copy object that will be referenced in building DisplayFeature objects\n * @returns A curried function that will generate DisplayFeature objects with l10n formatting\n */\nfunction createFeatureFormatter(COPY_MAP: T) {\n return (featureName: keyof T, formatValues?: Record): DisplayFeatureStatic => {\n const tooltipKey = `${String(featureName)}_tooltip`;\n const tooltipHeadingKey = `${String(featureName)}_tooltip_heading`;\n const tooltip = tooltipKey in COPY_MAP && COPY_MAP[tooltipKey as keyof typeof SUMMARY_COPY];\n const tooltipHeading = tooltipHeadingKey in COPY_MAP && COPY_MAP[tooltipHeadingKey as keyof typeof SUMMARY_COPY];\n\n return {\n summary: COPY_MAP[featureName] ? t(COPY_MAP[featureName], formatValues) : undefined,\n tooltip: tooltip ? t(tooltip, formatValues) : undefined,\n tooltipHeading: tooltipHeading ? t(tooltipHeading, formatValues) : undefined,\n };\n };\n}\n\nexport const formatSummaryFeature = createFeatureFormatter(SUMMARY_COPY);\nexport const formatDetailsFeature = createFeatureFormatter(DETAILS_COPY);\n","import { SummaryFeatureRuleMap, DisplayFeature, DisplayFeatureStatic } from '~pricing/lib/summaryPackages';\nimport { formatSummaryFeature } from '~app/pages/Pricing/lib/packageFeatures';\n\nconst SETTING_UNLIMITED = 'unlimited';\n\n// Individual feature line rules\nconst SummaryFeatureRules: SummaryFeatureRuleMap = {\n survey_create_limit: () => formatSummaryFeature('survey_create_limit'),\n\n create_question_limit: ({ create_question_limit }) => {\n const setting = create_question_limit?.setting;\n const obj = setting === SETTING_UNLIMITED ? formatSummaryFeature('create_question_limit') : null;\n return obj;\n },\n\n response_count: ({ base_response_count, num_free_responses }, { locale }) => {\n let obj: DisplayFeatureStatic = {};\n\n // Annual packages\n if (base_response_count?.amount) {\n obj = formatSummaryFeature('base_response_count', { amount: base_response_count.amount.toLocaleString(locale) });\n\n // Basic/Standard monthly\n } else if (num_free_responses?.amount) {\n obj = formatSummaryFeature('num_free_responses', { amount: num_free_responses.amount.toLocaleString(locale) });\n\n // Enterprise\n } else if (num_free_responses?.setting === SETTING_UNLIMITED) {\n obj = formatSummaryFeature('unlimited_responses');\n }\n\n return obj;\n },\n\n support: ({ priority_email_support, phone_support }) => {\n let obj: DisplayFeatureStatic = {};\n\n // we'll check from highest level support to lowest\n if (phone_support?.isEnabled) {\n obj = formatSummaryFeature('phone_support');\n } else if (priority_email_support?.isEnabled) {\n obj = formatSummaryFeature('priority_email_support');\n } else {\n obj = formatSummaryFeature('email_support');\n }\n\n return obj;\n },\n\n quizzes_pro: ({ quizzes_pro }) => (quizzes_pro?.isEnabled ? formatSummaryFeature('quizzes_pro') : null),\n\n analyze_export_enabled: ({ analyze_export_enabled }) =>\n analyze_export_enabled?.isEnabled ? formatSummaryFeature('analyze_export_enabled') : null,\n\n survey_logic: ({ create_skip_logic_enabled, create_piping_enabled }) => {\n let obj: DisplayFeature = {};\n\n if (create_piping_enabled?.isEnabled) {\n obj = formatSummaryFeature('create_piping_enabled');\n } else if (create_skip_logic_enabled?.isEnabled) {\n obj = formatSummaryFeature('create_skip_logic_enabled');\n }\n\n return obj;\n },\n\n statistical_significance: ({ statistical_significance }) => formatSummaryFeature('statistical_significance'),\n\n survey_branding: ({ create_logo_enabled, create_custom_theme_enabled, collector_friendly_url_enabled }) => {\n const hasBranding =\n create_logo_enabled?.isEnabled &&\n create_custom_theme_enabled?.isEnabled &&\n collector_friendly_url_enabled?.isEnabled;\n return hasBranding ? formatSummaryFeature('survey_branding') : null;\n },\n\n analyze_export_spss_enabled: ({ analyze_export_spss_enabled }) =>\n analyze_export_spss_enabled?.isEnabled ? formatSummaryFeature('analyze_export_spss_enabled') : null,\n\n create_advanced_features: ({ create_quotas_enabled, a_b_testing, create_randomization_enabled }) => {\n const hasAdvancedFeatures =\n create_quotas_enabled?.isEnabled && a_b_testing?.isEnabled && create_randomization_enabled?.isEnabled;\n\n return hasAdvancedFeatures ? formatSummaryFeature('advanced_survey_features') : null;\n },\n\n create_custom_variables_enabled: ({ create_custom_variables_enabled }) =>\n create_custom_variables_enabled?.isEnabled ? formatSummaryFeature('create_custom_variables_enabled') : null,\n\n payment_qt: ({ payment_qt }) => (payment_qt?.isEnabled ? formatSummaryFeature('payment_qt') : null),\n\n file_upload: ({ file_upload }) => (file_upload?.isEnabled ? formatSummaryFeature('file_upload') : null),\n\n benchmarks: ({ benchmarks }) => (benchmarks?.isEnabled ? formatSummaryFeature('benchmarks') : null),\n\n click_map_qt: ({ click_map_qt }) => (click_map_qt?.isEnabled ? formatSummaryFeature('click_map_qt') : null),\n};\n\nexport default SummaryFeatureRules;\n","import {\n FeatureSetMap,\n SummaryDisplayFeatureList,\n SummaryFeatureMapItem,\n SummaryFeatureRuleMap,\n FeatureTransformerOptions,\n} from '~pricing/lib/summaryPackages';\n\nimport { SummaryFeatureTransformer } from '.';\n\nexport default function summaryFeaturesTransformer(\n featureListMap: SummaryFeatureMapItem[],\n featureListRules: SummaryFeatureRuleMap\n): SummaryFeatureTransformer {\n return (packageFeatures: FeatureSetMap, options: FeatureTransformerOptions): SummaryDisplayFeatureList =>\n featureListMap.map((featureListItem: SummaryFeatureMapItem) => {\n const { featureItemKey }: SummaryFeatureMapItem = featureListItem;\n const featureKeys: string[] = featureListItem.features || [];\n // if the features are empty , push the key inside the feature array based on the rule mapping\n // See src/app/pages/Pricing/transformers/summary/featureRules.ts\n if (!featureKeys.length) {\n featureKeys.push(featureItemKey);\n }\n // map the feature keys with the defined package features\n const featureValues = featureKeys.reduce(\n (acc: FeatureSetMap, featureKey: string) => ({\n ...acc,\n [featureKey]: packageFeatures[featureKey],\n }),\n {}\n );\n // apply the proper rule for this display feature\n return featureListRules[featureItemKey](featureValues, options);\n });\n}\n","import DefaultFeatureSetToSummaryFeatures from './defaultSummaryFeatures';\nimport SummaryFeatureRules from './featureRules';\nimport summaryFeaturesTransformer from './summaryFeaturesTransformer';\nimport { formatSummaryFeature } from '~app/pages/Pricing/lib/packageFeatures';\n\n// Standard monthly has one special quirk where we advertise support differently,\n// so override that particular rule\nexport default summaryFeaturesTransformer(DefaultFeatureSetToSummaryFeatures, {\n ...SummaryFeatureRules,\n support: () => formatSummaryFeature('email_support'),\n statistical_significance: () => formatSummaryFeature('text_analysis'),\n});\n\nexport type SummaryFeaturesTransformerType = typeof summaryFeaturesTransformer;\n","import { PACKAGES } from '~pricing/lib/constants';\nimport { FeatureSetMap, SummaryDisplayFeatureList, FeatureTransformerOptions } from '~pricing/lib/summaryPackages';\n\nimport DefaultFeatureSetToSummaryFeatures from './defaultSummaryFeatures';\nimport SummaryFeatureRules from './featureRules';\nimport summaryFeaturesTransformer from './summaryFeaturesTransformer';\nimport StandardMonthlyFeatureTransformer from './StandardMonthly';\n\nexport type SummaryFeatureTransformer = (\n packageFeatures: FeatureSetMap,\n options: FeatureTransformerOptions\n) => SummaryDisplayFeatureList;\nexport type SummaryPackageFeatureTransformers = Partial>;\n\nconst DefaultSummaryFeatureTransformer = summaryFeaturesTransformer(\n DefaultFeatureSetToSummaryFeatures,\n SummaryFeatureRules\n);\n\n/**\n * A map of package to the feature transformer for that package.\n * This handles the defaults, but an experiment can override a transformer\n * for any one package or multiple\n */\nconst SummaryFeatureTransformers: SummaryPackageFeatureTransformers = {\n [PACKAGES.StandardMonthly]: StandardMonthlyFeatureTransformer,\n [PACKAGES.AdvantageAnnual]: DefaultSummaryFeatureTransformer,\n [PACKAGES.TeamAdvantage]: DefaultSummaryFeatureTransformer,\n [PACKAGES.TeamPremier]: DefaultSummaryFeatureTransformer,\n [PACKAGES.Enterprise]: DefaultSummaryFeatureTransformer,\n [PACKAGES.PremierAnnual]: DefaultSummaryFeatureTransformer,\n};\n\nexport default SummaryFeatureTransformers;\n","import React from 'react';\nimport { useParams } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport { Box } from '@wds/box';\nimport { PackageProps, NavRouteParams, PackageType } from '~pricing/lib/summaryPackages';\n\nimport PackageCta from '~pricing/components/PackageCta';\nimport PackageHeader from '~pricing/components/PackageHeader';\nimport PackageDefs from './packageDefs';\nimport usePackageStyles from '~pricing/components/Summary/useStyles';\nimport FeatureSet from '~pricing/components/FeatureSet';\nimport useSummaryDisplayFeatures from '~pricing/hooks/useSummaryDisplayFeatures';\nimport SummaryFeatureTransformers from '~pricing/transformers/summary';\n\ntype PackagePropType = Omit;\n\nexport default function Package({\n ctaLabel,\n details,\n skuCost,\n package: packageName,\n features,\n}: PackagePropType): React.ReactElement | null {\n const { canonicalPath = PackageType.Teams } = useParams();\n const displayFeatures = useSummaryDisplayFeatures(features, SummaryFeatureTransformers[packageName]);\n const { PricingPackageContainer, PricingPackage, Highlighted, PlanFeaturesLink } = usePackageStyles({ packageName });\n\n if (!SummaryFeatureTransformers[packageName]) {\n return null;\n }\n\n return (\n \n \n \n \n \n See all plan features\n \n \n \n \n );\n}\n","import PropTypes from 'prop-types';\n\n// Prop types for a GraphQL package\nexport const PackagePropTypes = {\n details: PropTypes.shape({\n displayName: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }).isRequired,\n skuCost: PropTypes.arrayOf(\n PropTypes.shape({\n skuType: PropTypes.string.isRequired,\n cost: PropTypes.number.isRequired,\n })\n ).isRequired,\n package: PropTypes.string.isRequired,\n};\n\nexport const PackageListPropTypes = PropTypes.arrayOf(PropTypes.shape(PackagePropTypes));\n\n/**\n * These are just ports of defined Typescript types/interfaces elsewhere.\n * Some day, we'll just be able to use those interfaces instead.\n */\nexport const FeatureTooltipPropTypes = {\n title: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n};\n\nexport const FeaturePropTypes = {\n summaryLine: PropTypes.string.isRequired,\n tooltip: PropTypes.shape(FeatureTooltipPropTypes).isRequired,\n hidden: PropTypes.bool,\n};\n\nexport const PackageSummaryPropTypes = {\n features: PropTypes.arrayOf(PropTypes.shape(FeaturePropTypes)).isRequired,\n headerRenderer: PropTypes.func.isRequired,\n footerRenderer: PropTypes.func.isRequired,\n};\n\nexport const PackageComparisonPropTypes = {\n byline: PropTypes.string.isRequired,\n features: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string])).isRequired,\n ctaRenderer: PropTypes.func.isRequired,\n};\n\nexport const SummaryPackageConfigPropTypes = {\n summary: PropTypes.shape(PackageSummaryPropTypes).isRequired,\n comparison: PropTypes.shape(PackageComparisonPropTypes),\n};\n\nexport const SummaryPackagesConfigPropTypes = PropTypes.objectOf(PropTypes.shape(SummaryPackageConfigPropTypes));\n\nexport const ComparisonTableFeaturePropTypes = {\n title: PropTypes.string.isRequired,\n tooltip: PropTypes.string,\n};\n\nexport const ComparisonTableCategoryFeaturesPropTypes = PropTypes.objectOf(\n PropTypes.shape(ComparisonTableFeaturePropTypes)\n);\n\nexport const ComparisonTableCategoryPropTypes = {\n title: PropTypes.string.isRequired,\n features: ComparisonTableCategoryFeaturesPropTypes.isRequired,\n};\n\nexport const ComparisonTablePropTypes = PropTypes.arrayOf(PropTypes.shape(ComparisonTableCategoryPropTypes));\n\nexport const RibbonTextOverridePropType = PropTypes.oneOfType([PropTypes.string, PropTypes.bool]);\n","// import translations\n\nconst audienceFeatures = [\n {\n name: 'number_of_survey',\n label: 'Unlimited number of surveys',\n included: true,\n },\n {\n name: 'create_question_limit',\n label: '50 questions per survey',\n included: true,\n },\n {\n name: 'number_of_response',\n label: 'Unlimited responses',\n included: true,\n },\n {\n name: 'email_support',\n label: '24/7 customer support via email',\n included: true,\n },\n {\n name: 'customized_survey',\n label: 'Custom colors & survey URL',\n included: true,\n },\n {\n name: 'analyze_export_enabled',\n label: 'Data exports (CSV, PDF, PPT, XLS)',\n included: true,\n },\n {\n name: 'skip_logic',\n label: 'Skip logic',\n included: true,\n },\n {\n name: 'question_answer_piping',\n label: 'Question & answer piping',\n included: true,\n },\n {\n name: 'file_upload',\n label: 'File upload',\n included: false,\n },\n {\n name: 'create_random_assignment_enabled',\n label: 'A/B test text and images',\n included: true,\n },\n {\n name: 'create_toggle_footer_enabled',\n label: 'Hide SurveyMonkey footer',\n included: true,\n },\n {\n name: 'multilingual',\n label: 'Multilingual surveys',\n included: true,\n },\n];\n\nexport default audienceFeatures;\n","import React from 'react';\n\nexport const EnabledCheckMark = () => {\n return (\n \n \n \n \n \n \n );\n};\n\nexport default EnabledCheckMark;\n","import React from 'react';\n\nexport const DisabledCheckMark = () => {\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default DisabledCheckMark;\n","import React from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Typography, Button, Container } from '@sm/wds-react';\nimport ROUTE_CONFIG from '../Navigation/routes';\nimport audienceFeatures from './config/features';\nimport EnabledCheckMark from './components/EnabledCheckMark';\nimport DisabledCheckMark from './components/DisabledCheckMark';\nimport './audience-footer.scss';\n\nconst getUTSource = currentPath => {\n if (currentPath === ROUTE_CONFIG.teams.path) {\n return ROUTE_CONFIG.teams.queryString.ut_source;\n }\n\n if (currentPath === ROUTE_CONFIG.individual.path) {\n return ROUTE_CONFIG.individual.queryString.ut_source;\n }\n\n // by default return 'pricing' as ut source\n return 'pricing';\n};\n\nexport const AudienceFooter = () => {\n const currentPath = useLocation().pathname;\n return (\n \n
    \n \n SurveyMonkey Audience includes access to Paid Features\n \n
    \n\n \n \n \n Get survey responses from around the world in minutes with\n SurveyMonkey Audience\n \n \n\n \n \n Target the types of people you want to hear from based on specific attributes, like country, gender, age,\n income, employment status, and more.\n \n \n\n \n \n BUY TARGETED RESPONSES\n \n \n\n \n Advanced survey design and analysis features are included in the price of your Audience project.\n \n\n \n {audienceFeatures.map(feature => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {feature.label}\n \n \n );\n })}\n \n \n \n );\n};\n\nexport default AudienceFooter;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Col, Link, Typography } from '@sm/wds-react';\nimport { IconArrowRight } from '@sm/wds-icons';\n\nimport { PACKAGES, MONTHLY_PACKAGES, TEAMS_PACKAGES } from '~pricing/lib/constants';\nimport { PackageListPropTypes } from '~pricing/lib/proptypes';\nimport AudienceFooter from '../AudienceFooter';\n\nimport './summary-footer.scss';\n\nconst FaqQuestion = ({ children }) => (\n \n {children}\n \n);\n\nFaqQuestion.propTypes = {\n children: PropTypes.string.isRequired,\n};\n\nconst FaqAnswer = ({ children }) => (\n \n {children}\n \n);\n\nFaqAnswer.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nconst SummaryFooter = ({ packages }) => (\n
    \n
      \n \n *Displayed pricing represents a 20% or more savings per user per month compared to individual Advantage and\n Premier plans\n \n \n **Add-on features available with Enterprise plan must be purchased separately\n \n
    \n\n \n\n \n Just need the basics? Get started for free.\n \n\n \n \n SEE ALL PLAN FEATURES \n \n \n\n \n More about plans and pricing\n \n\n
    \n \n How much does SurveyMonkey cost?\n {packages.map(({ package: packageName, details, skuCost }) => {\n // TODO: Make a better component out of this with filtering to remove strange\n // strange one off business logic like this\n if (packageName === PACKAGES.Enterprise) {\n return null;\n }\n\n if (packageName === PACKAGES.Basic) {\n return {`The ${details.displayName} plan is FREE`};\n }\n\n const coreSeatCost = skuCost.find(sku => sku.skuType === 'SUBSCRIPTION_CORE_SEAT');\n let cost = coreSeatCost.cost / 100;\n let term = '';\n if (TEAMS_PACKAGES.includes(packageName)) {\n term += ', per user';\n }\n\n if (!MONTHLY_PACKAGES.includes(packageName)) {\n cost /= 12;\n term += ', billed annually';\n }\n\n return (\n \n {`The ${details.displayName} plan costs $${cost} a month${term}.`}\n \n );\n })}\n \n\n {/* TODO: Need to compare with billweb faq macro and look for conditional logic, particularly around the utsource values for the contact us link */}\n \n Do you offer special pricing for students or educations?\n \n Yes! We offer discounted pricing for students and educators.{' '}\n \n See pricing \n \n \n Do you offer discounts for teams?\n \n We offer discounts when you sign up for team plans that include 3 or more people. With Team Advantage and Team\n Premier plans, you’ll save 20% or more over individual plans and get access to additional collaboration\n features.{' '}\n \n See pricing \n \n \n Do you offer plans for corporate needs?\n \n Our Enterprise plans offer HIPAA{' '}\n compliance, advanced security, and admin features for increased governance and control.{' '}\n \n Contact sales \n \n \n \n
    \n
    \n);\n\nSummaryFooter.propTypes = {\n packages: PackageListPropTypes.isRequired,\n};\n\nexport default SummaryFooter;\n","import classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst ComparisonTable = ({ children, packageCount = 0, className = '' }) => (\n \n {children}\n \n);\n\nComparisonTable.propTypes = {\n children: PropTypes.node.isRequired,\n packageCount: PropTypes.number,\n className: PropTypes.string,\n};\n\nComparisonTable.defaultProps = {\n packageCount: 0,\n className: '',\n};\n\nexport default ComparisonTable;\n","import classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst ComparisonTableHeader = ({ children, className = '' }) => (\n \n {children}\n \n);\n\nComparisonTableHeader.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nComparisonTableHeader.defaultProps = {\n className: '',\n};\n\nexport default ComparisonTableHeader;\n","import classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst ComparisonTableHeaderCell = ({ children, a11yId, className = '' }) => (\n \n {children}\n \n);\n\nComparisonTableHeaderCell.propTypes = {\n children: PropTypes.node.isRequired,\n a11yId: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nComparisonTableHeaderCell.defaultProps = {\n className: '',\n};\n\nexport default ComparisonTableHeaderCell;\n","import classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useState } from 'react';\nimport { IconChevronDown, IconChevronUp } from '@sm/wds-icons';\n\nimport { PackageListPropTypes } from '~pricing/lib/proptypes';\n\nconst ComparisonTableCategory = ({ children, title, a11yId, packages = [], opened = false, className = '' }) => {\n const [open, setOpen] = useState(opened);\n const a11yButtonText = `Toggle list of features ${open ? 'closed' : 'open'}`;\n const ChevronIcon = open ? IconChevronDown : IconChevronUp;\n\n return (\n \n \n setOpen(!open)}\n tabIndex=\"-1\"\n >\n {title}\n setOpen(prevState => !prevState)}\n className=\"sm-comparison-table__category-toggle\"\n data-testid=\"ComparisonTableCategory__Toggle\"\n type=\"button\"\n title={a11yButtonText}\n aria-label={a11yButtonText}\n >\n \n \n \n \n \n \n {open && children}\n \n );\n};\n\nComparisonTableCategory.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.string.isRequired,\n a11yId: PropTypes.string.isRequired,\n packages: PackageListPropTypes,\n opened: PropTypes.bool,\n className: PropTypes.string,\n};\n\nComparisonTableCategory.defaultProps = {\n packages: [],\n opened: false,\n className: '',\n};\n\nexport default ComparisonTableCategory;\n","import classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { Tooltip } from '@sm/wds-react';\nimport { IconInfo } from '@sm/wds-icons';\n\nconst ComparisonTableFeatureRow = ({ children, title, a11yHeaders, a11yId, tooltip = null, className = '' }) => (\n \n \n {title}\n {tooltip && (\n \n \n \n \n \n )}\n \n {children}\n \n);\n\nComparisonTableFeatureRow.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.string.isRequired,\n a11yHeaders: PropTypes.arrayOf(PropTypes.string).isRequired,\n a11yId: PropTypes.string.isRequired,\n tooltip: PropTypes.string,\n className: PropTypes.string,\n};\n\nComparisonTableFeatureRow.defaultProps = {\n tooltip: null,\n className: '',\n};\n\nexport default ComparisonTableFeatureRow;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\nimport { IconCheck } from '@sm/wds-icons';\n\nconst ComparisonTableFeatureCell = ({ a11yHeaders, checked = false, text = null, className = '' }) => {\n let cell = text;\n\n // Provided text will supercede the checked property\n if (!text) {\n cell = (\n \n {checked && }\n {checked ? 'available' : 'not available'}\n \n );\n }\n\n return (\n \n {cell}\n \n );\n};\n\nComparisonTableFeatureCell.propTypes = {\n a11yHeaders: PropTypes.arrayOf(PropTypes.string).isRequired,\n checked: PropTypes.bool,\n text: PropTypes.string,\n className: PropTypes.string,\n};\n\nComparisonTableFeatureCell.defaultProps = {\n checked: false,\n text: '',\n className: '',\n};\n\nexport default ComparisonTableFeatureCell;\n","import classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst ComparisonTableFooter = ({ children, className = '' }) => (\n \n {children}\n \n);\n\nComparisonTableFooter.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nComparisonTableFooter.defaultProps = {\n className: '',\n};\n\nexport default ComparisonTableFooter;\n","import classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst ComparisonTableFooterCell = ({ children, className }) => (\n \n {children}\n \n);\n\nComparisonTableFooterCell.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n};\n\nComparisonTableFooterCell.defaultProps = {\n className: '',\n};\n\nexport default ComparisonTableFooterCell;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Typography } from '@sm/wds-react';\n\nimport { ComparisonTableHeaderCell } from '~pricing/components/ComparisonTable';\nimport { PackagePropTypes, PackageComparisonPropTypes } from '~pricing/lib/proptypes';\n\nconst SummaryComparisonTableHeader = ({ pricingPackage, packageTableDetails, a11yId }) => (\n \n \n {pricingPackage.details.label}\n \n \n {packageTableDetails.byline}\n \n \n);\n\nSummaryComparisonTableHeader.propTypes = {\n pricingPackage: PropTypes.shape(PackagePropTypes).isRequired,\n packageTableDetails: PropTypes.shape(PackageComparisonPropTypes).isRequired,\n a11yId: PropTypes.string.isRequired,\n};\n\nexport default SummaryComparisonTableHeader;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Typography } from '@sm/wds-react';\nimport { ComparisonTableFooterCell } from '~pricing/components/ComparisonTable';\nimport { packageLabelToClassName } from '~pricing/lib/helpers';\nimport { PackagePropTypes, PackageComparisonPropTypes } from '~pricing/lib/proptypes';\n\nconst SummaryComparisonTableFooter = ({ pricingPackage, packageTableDetails }) => {\n const { ctaRenderer: CtaRenderer } = packageTableDetails;\n return (\n \n \n {pricingPackage.details.label}\n \n \n \n );\n};\n\nSummaryComparisonTableFooter.propTypes = {\n pricingPackage: PropTypes.shape(PackagePropTypes).isRequired,\n packageTableDetails: PropTypes.shape(PackageComparisonPropTypes).isRequired,\n};\n\nexport default SummaryComparisonTableFooter;\n","import { useContext } from 'react';\nimport { StaticContext } from '@sm/webassets';\n\nimport { GUAC_COUNTRY_CODES } from './constants';\n\n/**\n * TODO: Delete after we have converted the usage to TS\n * Creates a className friendly string from a package label\n *\n * @param {PlaceHolderType} packageObj The package object to create the class name from\n * @return The label name, ready to be used as a className\n */\nexport function packageLabelToClassName(packageObj) {\n return packageObj.label.trim().replace(/\\s/g, '-').toLowerCase();\n}\n\n/* eslint-disable react-hooks/rules-of-hooks */\n\n/**\n * TODO: Refactor into a ts file hook, create a hook folder\n * Used as part of a feature's `hidden` property to limit its\n * display to only GB, US, AU, and CA.\n *\n * NOTE: Uses react hooks, so can only be called from within a\n * react component. Do not use outside of a package feature's\n * `hidden` getter.\n *\n * @return {boolean}\n */\nexport function featureIsGuacOnly() {\n const {\n environment: { countryCode },\n } = useContext(StaticContext);\n return !GUAC_COUNTRY_CODES.includes(countryCode.toLowerCase());\n}\n\n/**\n * TODO: Refactor to ts\n * Used as part of a feature's `hidden` property to limit its\n * display to non GB, US, AU, or CA countries\n *\n * NOTE: Uses react hooks, so can only be called from within a\n * react component. Do not use outside of a package feature's\n * `hidden` getter.\n *\n * @return {boolean}\n */\nexport function featureIsNonGuacOnly() {\n return !featureIsGuacOnly();\n}\n\n/* eslint-enable react-hooks/rules-of-hooks */\n","import React from 'react';\nimport { Typography } from '@sm/wds-react';\n\nimport {\n ComparisonTable,\n ComparisonTableHeader,\n ComparisonTableHeaderCell,\n ComparisonTableCategory,\n ComparisonTableFeatureRow,\n ComparisonTableFeatureCell,\n ComparisonTableFooter,\n ComparisonTableFooterCell,\n} from '~pricing/components/ComparisonTable';\nimport { PackageListPropTypes, SummaryPackagesConfigPropTypes, ComparisonTablePropTypes } from '~pricing/lib/proptypes';\n\nimport SummaryComparisonTableHeader from './SummaryComparisonTableHeader';\nimport SummaryComparisonTableFooter from './SummaryComparisonTableFooter';\n\n// Helper methods for generating a11y ids for the table headers\nconst createPackageA11yId = pricingPackage => `ctPkg-${pricingPackage.package.replace(/\\s/g, '').toLowerCase()}`;\nconst createCategoryA11yId = category => `ctCat-${category.title.replace(/\\s/g, '').toLowerCase()}`;\nconst createFeatureA11yId = feature => `ctFeat-${feature.title.replace(/\\s/g, '').toLowerCase()}`;\n\nconst SummaryComparisonTable = ({ packages, packagesConfig, comparisonTableDef }) => (\n
    \n \n Feature and plan comparisons\n \n \n \n \n \n Our plans\n \n {/*\n We have a different label for screen readers because \"our features\" makes more sense\n when having a screen reader read the feature cell than \"our plans\".\n */}\n Our features\n \n {packages.map(pricingPackage => (\n \n ))}\n \n {comparisonTableDef.map((category, index) => {\n const categoryA11yId = createCategoryA11yId(category);\n\n return (\n \n {Object.keys(category.features).map(feature => {\n const featureA11yId = createFeatureA11yId(category.features[feature]);\n\n return (\n \n {packages.map(pricingPackage => (\n \n ))}\n \n );\n })}\n \n );\n })}\n \n  \n {packages.map(pricingPackage => (\n \n ))}\n \n \n
    \n);\n\nSummaryComparisonTable.propTypes = {\n packages: PackageListPropTypes.isRequired,\n packagesConfig: SummaryPackagesConfigPropTypes.isRequired,\n comparisonTableDef: ComparisonTablePropTypes.isRequired,\n};\n\nexport default SummaryComparisonTable;\n","import { createUseStyles } from 'react-jss';\n\nimport { PricingAppTheme } from '~app/styles/theme';\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\nexport default createUseStyles(({ spacing }: PricingAppTheme) => ({\n Packages: {\n padding: [0, spacing[3]],\n [MD_MEDIA_QUERY]: {\n display: 'flex',\n justifyContent: 'center',\n padding: 0,\n },\n },\n}));\n","import { useState, useContext, useMemo } from 'react';\nimport { StaticContext } from '@sm/webassets';\n\nimport { PACKAGE_IDS } from '~pricing/lib/constants';\nimport assignCTABasedOnPackageTier from '~pricing/pages/shared/';\nimport { createPackagesList } from '~pricing/lib/lib-helpers';\nimport { PackageDataSet, PackageSet } from '~pricing/lib/summaryPackages';\n\n/**\n * Move this logic into the context provider Hack is working one\n * @param packageData\n * @param packageSet\n * @returns\n */\nexport default function usePackagesWithCTALabel(\n packageData: PackageDataSet,\n packageSet: PackageSet\n): { packages: PackageDataSet } {\n const [packages, setPackages] = useState([]);\n const { user } = useContext(StaticContext);\n const { isAuthenticated, package: currentPackage } = user;\n\n useMemo(() => {\n /**\n * TODO: Richmond Frimpong\n * This will be eventually moved to the context provider,\n * that spits out the current package the user has\n */\n const currentlyPurchased = packageData\n .filter(displayed => parseInt(displayed.id, 10) !== PACKAGE_IDS.ENT_PLATINUM)\n .find(pkg => pkg.id === currentPackage);\n const packagesToDisplayBasedOnRoute: PackageDataSet = createPackagesList(packageData, packageSet);\n const assignedPackages = assignCTABasedOnPackageTier(\n packagesToDisplayBasedOnRoute,\n currentlyPurchased,\n isAuthenticated\n );\n setPackages(assignedPackages.slice());\n }, [packageData, packageSet, currentPackage, isAuthenticated]);\n\n return {\n packages,\n };\n}\n","import { PackageDataSet, PackageData, CTA_LABEL } from '~pricing/lib/summaryPackages';\n\n/**\n * A utility the returns the current packages to display based on route\n * @param packages\n * @param packageSet\n * @returns\n */\n\n/**\n * A utility to assign ctaLabel based on current user package,\n * the tier and authentication status\n * @param packages\n * @param currentPackage\n * @param authenticated\n * @returns PackageDataSet\n */\nexport default function assignCTABasedOnPackageTier(\n packages: PackageDataSet,\n currentPackage?: PackageData,\n authenticated?: boolean\n): PackageDataSet {\n if (currentPackage && authenticated) {\n return packages.map((pkg: PackageData): PackageData => {\n const tempPackage = { ...pkg };\n if (currentPackage.id === pkg.id) {\n tempPackage.ctaLabel = CTA_LABEL.YOUR_PLAN;\n }\n if (pkg.details.tier < currentPackage?.details?.tier) {\n tempPackage.ctaLabel = CTA_LABEL.NOT_UPGRADEABLE;\n } else if (pkg.details.tier > currentPackage?.details?.tier) {\n tempPackage.ctaLabel = CTA_LABEL.SELECT;\n }\n return tempPackage;\n });\n }\n const tempPackages = packages.map(\n (pkg: PackageData): PackageData => ({\n ...pkg,\n ctaLabel: authenticated ? CTA_LABEL.SELECT : CTA_LABEL.SIGN_UP,\n })\n );\n\n return tempPackages;\n}\n","import { createUseStyles } from 'react-jss';\nimport { PricingAppTheme } from '~app/styles/theme';\n\nexport default createUseStyles(({ spacing }: PricingAppTheme) => ({\n Back: {\n maxWidth: 1200,\n margin: '0 auto',\n padding: [spacing[6], spacing[6], 0],\n '& a': {\n fontSize: 14,\n display: 'inline-flex',\n alignItems: 'center',\n '& svg': {\n marginRight: 3,\n },\n },\n },\n}));\n","import React from 'react';\nimport { t } from '@sm/intl';\nimport { Link } from 'react-router-dom';\nimport { Box } from '@wds/box';\nimport { IconArrowLeft } from '@wds/icons';\n\nimport COPY from '~app/pages/Pricing/copy';\n\nimport useStyles from './useStyles';\n\nexport default function BackToSummary({ url }: { url: string }): JSX.Element {\n const { Back } = useStyles();\n const text = t(COPY.BACK_TO_SUMMARY);\n\n return (\n \n \n {text}\n \n \n );\n}\n","import { createUseStyles } from 'react-jss';\nimport { PricingAppTheme } from '~app/styles/theme';\nimport { HIGHLIGHT } from '~pricing/components/Summary/useStyles';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\ntype Props = {\n packageName: string;\n};\ntype Rules = 'Highlighted' | 'Package';\n\nexport default createUseStyles(\n ({ spacing, type, pricingPalette, packageTheme }: PricingAppTheme) => ({\n Highlighted: {\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n borderWidth: '3px !important',\n },\n Package: {\n position: 'relative',\n border: `1px solid ${pricingPalette.colors.pebble}`,\n [MD_MEDIA_QUERY]: {\n '&:not(:last-of-type):not($Highlighted)': {\n borderRight: 'none',\n },\n },\n '& aside': {\n top: 0,\n right: 0,\n width: '100%',\n '&:before, &:after': {\n display: 'none',\n },\n '& p': {\n transform: 'none',\n top: 0,\n left: 0,\n width: '100%',\n fontSize: 13,\n },\n },\n '& header': {\n paddingTop: spacing[6],\n '& h2': {\n fontSize: type.fontSize.body,\n },\n '& h3': {\n fontSize: 26,\n '& span': {\n fontWeight: 300,\n fontSize: type.fontSize.body,\n },\n },\n '& p': {\n fontSize: 11,\n },\n '& a': {\n fontSize: 13,\n borderRadius: 0,\n height: 'auto',\n padding: 5,\n maxWidth: 140,\n width: '100%',\n marginBottom: 20,\n },\n },\n },\n })\n);\n","import React from 'react';\n\nimport PackageDefs from '~pricing/components/Summary/packageDefs';\nimport PackageHeader from '~app/pages/Pricing/components/PackageHeader';\n\nimport { PackageHeaderProps } from '~pricing/lib/summaryPackages';\n\nimport useDetailsPackageHeaderStyles from './useStyles';\n\ntype DetailsHeader = {\n index: string;\n};\n\ntype DetailsPackageHeaderProps = PackageHeaderProps & DetailsHeader;\n\nexport default function DetailsPackageHeader({\n ctaLabel,\n skuCosts,\n details,\n packageName,\n packageType,\n index,\n}: DetailsPackageHeaderProps): JSX.Element {\n const { Highlighted, Package } = useDetailsPackageHeaderStyles({ packageName });\n\n return (\n \n \n \n );\n}\n","export default [\n {\n category: 'Team Collaboration',\n features: [\n 'asset_library',\n 'collaboration',\n 'group_templates',\n 'library_read',\n 'lite_library',\n 'shared_library',\n 'add_users',\n // 'advanced_permissions',\n 'build_surveys_together',\n 'analyze_results_together',\n 'custom_templates',\n 'team_themes',\n 'shared_group_library',\n ],\n },\n {\n category: 'Team Management',\n features: [\n 'team_ownership',\n // 'add_additional_users',\n // 'contributor_seats_analyst',\n 'consolidated_billing',\n 'user_management',\n 'data_ownership',\n ],\n },\n {\n category: 'Enterprise-grade admin and security',\n features: [\n 'hipaa_enabled',\n 'admin_dashboard',\n 'single_sign_on',\n // 'enterprise_activity_tracking',\n // 'enterprise_account_control',\n // 'enterprise_sso',\n // 'enterprise_global_settings',\n // 'enterprise_custom_terms_of_service',\n // 'enterprise_integrations',\n // 'enterprise_hipaa_compliance',\n ],\n },\n {\n category: 'Survey Capabilities',\n features: [\n 'base_response_count',\n // 'create_survey_limit',\n 'create_question_limit',\n 'analyze_response_limit',\n // 'website_collectors_enabled',\n 'collector_create_limit',\n 'email_tracking_enabled',\n 'pop_up_collector',\n 'track_email_responses',\n // 'mobile_apps_ios_android',\n 'recurring_surveys',\n // 'payment_question_type',\n // 'inactivity_timer',\n // 'passcode_lock',\n 'max_collectors_per_survey',\n 'matrix_question_type',\n 'menu_matrix_enabled',\n 'num_free_responses',\n 'payment_qt',\n 'survey_create_limit',\n 'recurring_email_collector_enabled',\n 'collector_offline_kiosk_enabled',\n 'collector_popup_enabled',\n 'kiosk_mode_inactivity_timer',\n 'kiosk_mode_passcode_lock',\n ],\n },\n {\n category: 'Fast Support',\n features: [\n 'email_support',\n // 'expedited_email_support',\n 'phone_support',\n // 'phone_support_non_en',\n // 'team_customer_success_manager',\n 'priority_email_support',\n ],\n },\n {\n category: 'Survey Builder',\n features: [\n 'click_map_qt',\n 'essential_question_types',\n 'all_languages_supported',\n 'pagination',\n 'labeling_titles_numbering',\n 'create_templates_enabled',\n // 'create_templates_enabled_non_en',\n 'question_library',\n // 'question_library_non_en',\n '508_accessibility',\n 'ranking_question_type',\n 'slider_question_type',\n 'collect_contact_information',\n // 'video_and_image_question_type',\n 'rating_question_type',\n // 'quiz_scoring_and_instant_results',\n 'quizzes_pro',\n // 'matrix_of_dropdown_menus',\n 'file_upload',\n // 'create_randomization_enabled',\n 'a_b_testing',\n 'create_quotas_enabled',\n // 'summary_click_map_question_type',\n 'multilingual',\n 'advanced_logic',\n 'multiple_block_rotation_enabled',\n // 'custom_question_bank',\n 'extended_piping',\n 'star_rating_question_type',\n 'video_question_type',\n 'survey_templates_intl',\n 'question_library_intl',\n ],\n },\n {\n category: 'Customization & Branding',\n features: [\n 'analyze_can_share_customize_branding',\n 'analyze_can_share_customize_domain',\n 'progress_bar',\n 'text_formatting',\n 'create_logo_enabled',\n 'create_custom_theme_enabled',\n 'premium_themes',\n 'collector_friendly_url_enabled',\n 'collector_thank_you_enabled',\n 'customize_disqualification_page_enabled',\n // 'custom_html_email_invitations',\n 'create_grayscale_footer',\n 'create_piping_enabled',\n 'carry_forward',\n 'create_custom_variables_enabled',\n 'create_toggle_footer_enabled',\n 'collector_completion_url_enabled',\n 'collector_white_label_enabled',\n 'create_custom_html_email_message_enabled',\n 'create_skip_logic_enabled',\n // 'custom_subdomain',\n 'new_stock_themes',\n 'hide_export_branding_enabled',\n ],\n },\n {\n category: 'Analysis & Reporting',\n features: [\n 'analyze_can_customize_charts',\n 'analyze_combine_filters',\n 'analyze_dashboard_password_enabled',\n 'analyze_export_enabled',\n 'analyze_sentiment_enabled',\n 'real_time_results',\n // 'analyze_shared_results_enabled',\n 'benchmarks',\n // 'industry_benchmarks',\n 'analyze_trends_enabled',\n // 'response_quality',\n 'filter_crosstab',\n // 'word_cloud',\n // 'text_analysis',\n // 'dashboard',\n // 'dashboard_password_protection',\n 'statistical_significance',\n 'custom_charts',\n 'create_print_enabled',\n 'download_as_csv_xls_pdf',\n 'download_as_ppt',\n 'analyze_export_spss_enabled',\n // 'word_cloud_combine_hide',\n // 'sentiment_analysis',\n // 'crosstab',\n 'plans_benchmarks',\n 'response_quality_enabled',\n 'show_create_crosstab',\n 'show_sig_diffs_enabled',\n 'analyze_rule_based_tagging',\n 'analyze_access_benchmarking',\n 'share_surveys',\n ],\n },\n {\n category: 'Response Management',\n features: [\n 'respondent_receipt',\n 'require_answer',\n 'validate_answer',\n 'randomize_answer_choices',\n 'set_survey_end_date',\n 'view_respondent_ip_address',\n 'record_respondent_email_address',\n // 'confirmation_email_to_respondents',\n // 'set_max_response_count',\n ],\n },\n {\n category: 'Enhanced Security',\n features: ['password_protection', 'enable_ip_blocking'],\n },\n {\n category: 'Partner Integrations & APIs',\n features: [\n 'collector_mobile_sdk_enabled',\n 'mobile_sdk_pull_response_data_enabled',\n // 'send_surveys',\n // 'mobile_sdk',\n // 'mobile_sdk_data_pull',\n 'extract_data',\n // 'api_access',\n 'private_apps',\n 'analyze_integrations',\n ],\n },\n];\n","import { createUseStyles } from 'react-jss';\nimport { PricingAppTheme } from '~app/styles/theme';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\ntype Props = {\n packageCount?: number;\n packageName?: string;\n};\n\nfunction getTemplate(): object {\n return {\n display: 'grid',\n gridTemplateColumns: ({ packageCount }: Props) =>\n `minmax(200px, 350px) repeat(${packageCount}, minmax(16%, 250px))`,\n justifyContent: 'center',\n };\n}\n\nexport default createUseStyles(({ spacing, palette, elevation, pricingPalette, packageTheme }: PricingAppTheme) => ({\n AccordionControl: {\n marginBottom: spacing[4],\n '& [role=button]': {\n backgroundColor: palette.background.main,\n '& span:first-child': {\n paddingLeft: spacing[3],\n '& strong': {\n fontSize: 13,\n [MD_MEDIA_QUERY]: {\n fontSize: 16,\n },\n },\n },\n },\n '& ul li > div > div': {\n padding: 0,\n },\n },\n Cell: {\n border: `1px solid ${pricingPalette.colors.pebble}`,\n borderTop: 'none',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n [MD_MEDIA_QUERY]: {\n '&:not(:last-child)': {\n borderRight: 'none',\n },\n },\n },\n Highlighted: {\n backgroundColor: ({ packageName }: Props) => (packageName ? packageTheme[packageName].primary : 'transparent'),\n color: pricingPalette.colors.white,\n },\n DetailRow: {\n ...getTemplate(),\n fontSize: 13,\n color: pricingPalette.colors.charcoal,\n },\n Feature: {\n padding: spacing[4],\n borderLeft: `1px solid ${pricingPalette.colors.pebble}`,\n borderBottom: `1px solid ${pricingPalette.colors.pebble}`,\n [MD_MEDIA_QUERY]: {\n borderLeft: 'none',\n },\n },\n Bullet: {\n borderRadius: '100%',\n backgroundColor: ({ packageName }: Props) => (packageName ? packageTheme[packageName].primary : 'none'),\n width: 10,\n height: 10,\n display: 'block',\n },\n BulletInverse: {\n composes: '$Bullet',\n backgroundColor: pricingPalette.colors.white,\n },\n ExpandCollapse: {\n fontSize: 13,\n left: spacing[3],\n backgroundColor: 'transparent',\n color: pricingPalette.colors.link,\n border: 'none',\n borderLeft: `1px solid ${pricingPalette.colors.pebble}`,\n borderRight: `1px solid ${pricingPalette.colors.pebble}`,\n padding: spacing[4],\n width: '100%',\n '&:hover, &:focus': {\n textDecoration: 'none',\n },\n '& svg': {\n marginLeft: 5,\n },\n [MD_MEDIA_QUERY]: {\n justifyContent: 'center',\n display: 'flex',\n alignItems: 'center',\n padding: 0,\n border: 'none',\n position: 'sticky',\n top: 190,\n zIndex: elevation.sky,\n margin: [-25, 0, 10, 12],\n },\n },\n TooltipContainer: {\n position: 'relative',\n },\n TooltipIndicator: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 13,\n height: 13,\n fontSize: 13,\n color: 'white',\n borderRadius: '100%',\n backgroundColor: pricingPalette.colors.stone,\n marginLeft: 5,\n cursor: 'help',\n '&:hover': {\n backgroundColor: pricingPalette.colors.flint,\n '& $Tooltip': {\n display: 'inline-block',\n },\n },\n },\n Tooltip: {\n display: 'none',\n color: pricingPalette.colors.charcoal,\n cursor: 'auto',\n top: -25,\n },\n Test: {\n position: 'sticky',\n },\n}));\n","const { defineMessages } = require('@sm/intl');\n\nconst COPY = defineMessages({\n AVAILABLE: {\n id: 'Pricing.Details.Available',\n defaultMessage: 'available',\n desc: '[Type: label][Vis: high] - Pricing details comparison feature cell value',\n },\n UNAVAILABLE: {\n id: 'Pricing.Details.Unavailable',\n defaultMessage: 'unavailable',\n desc: '[Type: label][Vis: high] - Pricing details comparison feature cell value',\n },\n});\n\nexport default COPY;\n","import React from 'react';\nimport { t } from '@sm/intl';\nimport { DetailsFeatureRowPackages } from '~pricing/lib/summaryPackages';\nimport PackageDefs from '~pricing/components/Summary/packageDefs';\n\nimport useCategoryStyles from './useStyles';\nimport COPY from './copy';\n\nexport default function FeatureCell(pkg: DetailsFeatureRowPackages): JSX.Element {\n const { Cell, Bullet, BulletInverse, Highlighted } = useCategoryStyles({ packageName: pkg.packageName });\n let a11yValue = t(COPY.UNAVAILABLE);\n\n if (typeof pkg.value === 'string') {\n a11yValue = pkg.value;\n } else if (pkg.value) {\n a11yValue = t(COPY.AVAILABLE);\n }\n\n return (\n \n {typeof pkg.value === 'string'\n ? pkg.value\n : pkg.value && }\n \n );\n}\n","import React, { useCallback, useMemo, useState } from 'react';\n\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport { Accordion } from '@wds/accordion';\nimport { IconCaretUp, IconCaretDown } from '@wds/icons';\nimport { PackageDataSet } from '~pricing/lib/summaryPackages';\nimport getFeatureCategories from '~pricing/transformers/details';\nimport FeatureTooltip from '~pricing/components/Tooltip';\n\nimport FeatureCell from './FeatureCell';\nimport useCateogryStyles from './useStyles';\nimport COPY from '~app/pages/Pricing/copy';\n\ntype ToggleState = {\n initialLoad: boolean | undefined;\n isExpanded: boolean;\n text: string;\n icon: JSX.Element;\n};\n\nconst CaretDown = ;\nconst CaretUp = ;\n\nexport default function Categories({\n displayedPackages,\n isMobile,\n}: {\n displayedPackages: PackageDataSet;\n isMobile?: boolean;\n}): JSX.Element {\n const { AccordionControl, DetailRow, Feature, TooltipContainer, TooltipIndicator, Tooltip, ExpandCollapse } =\n useCateogryStyles({\n packageCount: displayedPackages ? displayedPackages.length : 1,\n });\n const expandAll = t(COPY.EXPAND_ALL);\n const collapseAll = t(COPY.COLLAPSE_ALL);\n\n const [toggleData, setToggleData] = useState({\n initialLoad: isMobile,\n isExpanded: !isMobile ?? true,\n text: isMobile ? expandAll : collapseAll,\n icon: isMobile ? CaretUp : CaretDown,\n });\n\n const categories = useMemo(() => getFeatureCategories(displayedPackages), [displayedPackages]);\n\n const handleToggle = useCallback(\n (event: React.SyntheticEvent): void => {\n event.preventDefault();\n setToggleData({\n initialLoad: false,\n isExpanded: !toggleData.isExpanded,\n text: toggleData.isExpanded ? expandAll : collapseAll,\n icon: toggleData.isExpanded ? CaretUp : CaretDown,\n });\n },\n [toggleData.isExpanded, expandAll, collapseAll]\n );\n\n const key = isMobile ? 'Mobile' : 'Desktop';\n\n return (\n <>\n \n \n \n {categories.map((category, index) => (\n \n
    \n {category?.features?.map(feature => (\n
    \n
    \n {feature.summary}\n {feature.tooltip && feature.tooltipHeading && (\n \n \n ?\n \n \n \n \n \n )}\n
    \n {feature?.packages.map(pkg => (\n \n ))}\n
    \n ))}\n
    \n \n ))}\n
    \n
    \n \n );\n}\n","import groupings from './groupings';\nimport { formatDetailsFeature } from '~app/pages/Pricing/lib/packageFeatures';\nimport {\n Feature,\n PackageDataSet,\n FeaturesCategoryGroup,\n DetailsFeatureSets,\n DetailsFeatureValueType,\n DetailsFeatureRow,\n DetailsFeatureRowFeature,\n} from '~pricing/lib/summaryPackages';\nimport { convertFeatureSetToMap } from '~pricing/lib/lib-helpers';\nimport DETAILS_COPY from '~pricing/lib/packageFeatures/details/copy';\n\n/**\n * Returns an array with the following structure\n * [\n {\n name: 'Team Collaboration',\n features: [\n {\n feature: 'team_themes',\n title: 'Shared themes',\n packages: [\n {\n packageName: 'TEAM_ADVANTAGE_ANNUAL',\n value: true,\n },\n {\n packageName: 'TEAM_PREMIER_ANNUAL',\n value: true,\n },\n {\n packageName: 'ENT_PLATINUM',\n value: true,\n },\n ],\n },\n {\n feature: 'group_templates',\n title: 'Shared templates',\n packages: [\n {\n packageName: 'TEAM_ADVANTAGE_ANNUAL',\n value: false,\n },\n {\n packageName: 'TEAM_PREMIER_ANNUAL',\n value: true,\n },\n {\n packageName: 'ENT_PLATINUM',\n value: true,\n },\n ],\n },\n ],\n },\n {\n name: 'Survey Capabilities',\n features: [\n {\n feature: 'survey_create_limit',\n title: 'Number of surveys',\n packages: [\n {\n packageName: 'TEAM_ADVANTAGE_ANNUAL',\n value: 'UNLIMITED',\n },\n {\n packageName: 'TEAM_PREMIER_ANNUAL',\n value: 'UNLIMITED',\n },\n {\n packageName: 'ENT_PLATINUM',\n value: 'UNLIMITED',\n },\n ],\n },\n ],\n },\n ];\n */\n\nexport default function getFeatureCategories(displayedPackages: PackageDataSet): DetailsFeatureSets {\n const transformedPackages = displayedPackages.map(pkg => {\n return {\n ...pkg,\n features: convertFeatureSetToMap(pkg.features),\n };\n });\n\n function getFeatureValue(feature: Feature): DetailsFeatureValueType {\n if (feature?.amount) {\n return feature.amount;\n }\n if (feature?.setting) {\n return feature.setting;\n }\n return feature?.isEnabled;\n }\n\n return groupings.map((group: FeaturesCategoryGroup): DetailsFeatureRow => {\n return {\n name: group.category,\n features: group.features?.map((feature: string): DetailsFeatureRowFeature => {\n return {\n feature,\n ...formatDetailsFeature(feature as keyof typeof DETAILS_COPY),\n packages: transformedPackages.map(pkg => {\n return {\n packageName: pkg.package,\n value: getFeatureValue(pkg.features[feature]),\n };\n }),\n };\n }),\n };\n });\n}\n","import { createUseStyles } from 'react-jss';\nimport { PricingAppTheme } from '~app/styles/theme';\nimport { HIGHLIGHT } from '~pricing/components/Summary/useStyles';\n\nimport { MD_MEDIA_QUERY } from '~shared/media-query';\n\ntype Props = {\n packageCount: number;\n};\n\ntype Rules =\n | 'Details'\n | 'Sticky'\n | 'Highlighted'\n | 'Package1'\n | 'Package2'\n | 'Package3'\n | 'Package4'\n | 'Package5'\n | 'Package6';\n\nfunction getGridTemplateAreas(packageCount: number): string {\n let str = '.';\n let i;\n for (i = 1; i <= packageCount; i += 1) {\n str += ` package${i}`;\n }\n return `\"${str}\"`;\n}\nfunction getTemplateArea(): object {\n return {\n gridTemplateAreas: ({ packageCount }: Props) => getGridTemplateAreas(packageCount),\n };\n}\n\nfunction getTemplate(): object {\n return {\n display: 'grid',\n gridTemplateColumns: ({ packageCount }: Props) =>\n `minmax(200px, 350px) repeat(${packageCount}, minmax(16%, 250px))`,\n justifyContent: 'center',\n };\n}\n\nexport default createUseStyles(\n ({ elevation, spacing, pricingPalette, packageTheme }: PricingAppTheme) => ({\n Details: {\n padding: `0 ${spacing[4]}px`,\n margin: `0 auto ${spacing[4]}px`,\n display: 'block',\n width: 'fit-content',\n maxWidth: 1200,\n },\n Sticky: {\n [MD_MEDIA_QUERY]: {\n backgroundColor: pricingPalette.colors.white,\n ...getTemplate(),\n ...getTemplateArea(),\n top: 0,\n position: 'sticky',\n boxShadow: `0 4px 2px -2px rgb(0 0 0 / 11%)`,\n zIndex: elevation.sky,\n },\n },\n Highlighted: {\n ...HIGHLIGHT(pricingPalette.colors.flint, packageTheme),\n },\n Package1: {\n gridArea: 'package1',\n },\n Package2: {\n gridArea: 'package2',\n },\n Package3: {\n gridArea: 'package3',\n },\n Package4: {\n gridArea: 'package4',\n },\n Package5: {\n gridArea: 'package5',\n },\n Package6: {\n gridArea: 'package6',\n },\n })\n);\n","import { ERROR_MAP } from './Validation';\n\n// since we don't know the type we get from the backend the most generic type that applies\n// Unless we have a way to map the whole data structure in flight\nexport type HubspotDataType = {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [x: string]: any;\n};\n\nexport type HsFormFields = {\n id: string;\n type: string;\n name: string;\n label: string;\n defaultValue: string;\n fieldType: string;\n required: boolean;\n hidden: boolean;\n placeholder: string;\n hideLabel?: boolean;\n};\n\nexport type HubspotData = {\n fields: HsFormFields[];\n redirect?: string;\n portalId?: number;\n guid?: string;\n};\n\nexport enum HubspotApiStatus {\n // API request is being made\n Loading = 'Loading',\n // API call was successful\n Success = 'Success',\n // API resulted in an error\n Error = 'Error',\n}\n\nexport type HubpotApiData = {\n status?: HubspotApiStatus;\n error?: Error | null;\n data?: HubspotData | null;\n};\n\ntype HubspotApiError = {\n message: string;\n errorType: keyof typeof ERROR_MAP;\n};\n\nexport type HubspotApiReturnStatus = {\n status: string;\n message: string;\n errors: HubspotApiError[];\n redirectUri?: string;\n};\n\nexport type HsContext = {\n hutk: string;\n pageName: string;\n pageUri: string;\n};\n\nexport type HsCommunicationDTO = {\n text: string;\n subscriptionTypeId: number;\n value: boolean;\n};\n\nexport type HsConsent = {\n [key in 'consent']: {\n communications: HsCommunicationDTO[];\n consentToProcess: boolean;\n text: string;\n };\n};\nexport type HsFormValues = Pick & { value: string };\n\nexport type HubspotDTO = {\n context: HsContext;\n fields: HsFormValues[];\n legalConsentOptions?: HsConsent;\n};\n","import { useState, useMemo } from 'react';\n\nimport {\n HsFormFields,\n HubpotApiData,\n HubspotApiStatus,\n HubspotDataType,\n HubspotData,\n} from '~app/pages/Pricing/components/HubSpotForm/HubSpotTypes';\n\nconst EXCLUDE_COUNTRY_FIELD = 'contact_country__c';\nconst HUBSPOT_PROXY = '/cc/hs/';\nconst HUBSPOT_FORM_ID = '289edeb2-bb6b-45f7-bef3-7185f3c6e9f4';\n\nconst fetchHubSpotForm = async (): Promise => {\n const formData = new URLSearchParams();\n formData.append('formId', HUBSPOT_FORM_ID);\n const fetchHSForms = await fetch(HUBSPOT_PROXY, {\n method: 'POST',\n body: formData,\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n });\n return fetchHSForms.json();\n};\n\nfunction mapHiddenField({ name, hidden }: HubspotDataType): boolean {\n return name === EXCLUDE_COUNTRY_FIELD ? true : hidden;\n}\n\nfunction mapHubSpotFormFields(hsData: T): HubspotData {\n const { form } = hsData;\n const mappedData: HubspotData = {\n fields: [],\n redirect: form?.redirect,\n guid: form?.guid,\n portalId: form?.portalId,\n };\n\n const shallowCopiedFormFields: HubspotDataType[] = [...form?.formFieldGroups];\n\n const temp = shallowCopiedFormFields.map((field: HubspotDataType) => {\n return field?.fields.map((formFields: HubspotDataType): HsFormFields => {\n return {\n id: `HubSpotForm__${formFields.name}`,\n type: formFields.type,\n name: formFields.name,\n defaultValue: formFields.defaultValue,\n label: formFields.label,\n fieldType: formFields.fieldType,\n required: formFields.required,\n hidden: mapHiddenField(formFields),\n hideLabel: formFields.labelHidden,\n placeholder: formFields.placeholder,\n };\n });\n });\n return { ...mappedData, fields: temp.flat() };\n}\n\nexport default function useHubSpotFormAPI>(): T | {} {\n const [data, setData] = useState({\n status: HubspotApiStatus.Loading,\n error: null,\n data: null,\n });\n useMemo(() => {\n fetchHubSpotForm()\n .then((formData: HubspotDataType) => {\n setData({\n data: mapHubSpotFormFields(formData),\n error: null,\n status: 'Success',\n });\n })\n .catch(err => {\n setData({\n data: null,\n status: HubspotApiStatus.Error,\n error: err,\n });\n });\n }, []);\n\n return data;\n}\n","const { defineMessages } = require('@sm/intl');\n\nconst COPY = defineMessages({\n CONTACT_US_TODAY: {\n id: 'Pricing.Enterprise.Heading',\n defaultMessage: 'Contact us today',\n desc: '[Type: header][Vis: high] - Primary header for enterprise tab contact us form',\n },\n MAIN_HEADING: {\n id: 'Pricing.MainHeading.Heading',\n defaultMessage: 'Choose a plan that works for you',\n desc: '[Type: header][Vis: high] - Primary header for pricing summary page',\n },\n LEARN_MORE: {\n id: 'Pricing.Enterprise.SubHeading',\n defaultMessage: 'Learn more about SurveyMonkey Enterprise and schedule a demo.',\n desc: '[Type: header][Vis: high] - Subheader for enterprise tab contact us form',\n },\n MANAGE_USERS: {\n id: 'Pricing.Enterprise.ManageUsersBullet',\n defaultMessage:\n 'Manage multiple users and gain visibility into all survey data collected across your organization with admin controls and dashboards.',\n desc: '[Type: paragraph][Vis: high] - First bullet for enterprise tab contact us form',\n },\n CONFIDENTIAL_DATA: {\n id: 'Pricing.Enterprise.ConfidentialDataBullet',\n defaultMessage:\n 'Ensure confidential data is protected with enhanced security including encryption, SSO, and features that help you remain compliant with HIPAA and GDPR.',\n desc: '[Type: paragraph][Vis: high] - Second bullet for enterprise tab contact us form',\n },\n FEEDBACK: {\n id: 'Pricing.Enterprise.FeedbackBullet',\n defaultMessage:\n 'Make feedback automated and actionable by connecting to key business systems using APIs and powerful integrations, including Salesforce, Marketo, Tableau, and more.',\n desc: '[Type: paragraph][Vis: high] - Third bullet for enterprise tab contact us form',\n },\n INVALID_EMAIL: {\n id: 'Pricing.Enterprise.Invalid-Email',\n defaultMessage: 'Please enter a valid email address',\n desc: '[Type: Form][Vis.: high] - A message that is shown if the email entered is invalid',\n },\n BLOCKED_EMAIL: {\n id: 'Pricing.Enterprise.InvalidBusinessEmail',\n defaultMessage: 'Please use your business email address',\n desc: '[Type: Form][Vis.: high] - A message that is shown if a the email is not a business email',\n },\n INVALID_PHONE_NUMBER: {\n id: 'Pricing.Enterprise.Invalid-Phone-Number',\n defaultMessage: 'Please enter your phone number',\n desc: '[Type: Form][Vis.: high] - A message that is shown if the phone number is not valid',\n },\n REQUIRED: {\n id: 'Pricing.Enterprise.Required',\n defaultMessage: 'Required',\n desc: '[Type: Form][Vis.: high] - A message that is shown if a field is required to process the form',\n },\n CONTACT_SALES: {\n id: 'Pricing.Enterprise.ContactSales',\n defaultMessage: 'Contact sales',\n desc: '[Type: Button][Vis.: high] - A button/link text to contact the sales team',\n },\n HUSBPOT_FORM_ERROR: {\n id: 'Pricing.Enterprise.BackendError',\n defaultMessage: 'Unable to load form.',\n desc: '[Type: Button][Vis.: high] - A generic error message',\n },\n ERROR: {\n id: 'Pricing.Enterprise.GenericError',\n defaultMessage: 'Error',\n desc: '[Type: Button][Vis.: high] - A generic error message',\n },\n CONSENT: {\n id: 'Pricing.Enterprise.ConsentMessage',\n defaultMessage:\n 'Contact me about SurveyMonkey Business Solutions like product updates, news, information, and special promotions. I can unsubscribe if I have any questions. We remember your preference so you do not have to submit it to us again and we will retain this preference until you opt-out.',\n desc: '[Type: Text][Vis.: high] - Consent to newsletter subscription verbiage',\n },\n CONSENT_ONE: {\n id: 'Pricing.Enterprise.ConsentMessageOne',\n defaultMessage: `Contact me about SurveyMonkey Business Solutions like product updates, news, information, and special promotions.\n I can unsubscribe `,\n desc: '[Type: Text][Vis.: high] - Consent to newsletter subscription verbiage one',\n },\n CONSENT_TWO: {\n id: 'Pricing.Enterprise.ConsentMessageTwo',\n defaultMessage: ` at any time and can visit SurveyMonkey's `,\n desc: '[Type: Text][Vis.: high] - Consent to newsletter subscription verbiage two',\n },\n CONSENT_THREE: {\n id: 'Pricing.Enterprise.ConsentMessageThree',\n defaultMessage: ` if I have any questions. We remember your preference so you do not have to submit it to us again and we will retain this preference until you opt-out.`,\n desc: '[Type: Text][Vis.: high] - Consent to newsletter subscription verbiage three',\n },\n SUBSCRIPTION_LINK: {\n id: 'Pricing.Enterprise.SubscriptionLink',\n defaultMessage: 'here',\n desc: '[Type: Checkbox][Vis.: high] - Consent link to newsletter subscription',\n },\n MP_PRIVACY_LINK: {\n id: 'Pricing.Enterprise.MPLink',\n defaultMessage: 'privacy notice',\n desc: '[Type: Checkbox][Vis.: high] - Privacy notice',\n },\n});\n\nexport default COPY;\n","import React from 'react';\n\nimport { t } from '@sm/intl';\n\nimport { Typography } from '@wds/typography';\nimport { Box } from '@wds/box';\nimport { Banner } from '@wds/banner';\n\nimport COPY from '~pricing/pages/Enterprise/copy';\n\nexport default function HubSpotErrorBanner(): JSX.Element {\n return (\n \n \n \n {t(COPY.HUSBPOT_FORM_ERROR)}\n \n \n \n );\n}\n","import React, { FocusEvent } from 'react';\n\nimport { FormField } from '@wds/form-group';\nimport { Input } from '@wds/input';\n\nimport { HsFormFields } from '~pricing/components/HubSpotForm/HubSpotTypes';\n\nimport { FormState } from './Validation';\n\ntype HubspotInputType = {\n fields: HsFormFields[] | undefined;\n formData: FormState;\n handleOnBlur(e: FocusEvent): void;\n};\n\nexport default function HubspotInput({ fields, formData, handleOnBlur }: HubspotInputType): JSX.Element {\n return (\n <>\n {fields?.map(\n (field: HsFormFields) =>\n !field.hidden && (\n \n \n \n )\n )}\n \n );\n}\n","import { t } from '@sm/intl';\nimport { isValidEmail } from '@sm/utils';\n\nimport COPY from '~pricing/pages/Enterprise/copy';\n\nconst FIELDS = Object.freeze({ email: 'email', phone: 'phone', defaultType: 'defaultType' });\n\nexport const ERROR_MAP = {\n INVALID_EMAIL: t(COPY.INVALID_EMAIL),\n BLOCKED_EMAIL: t(COPY.BLOCKED_EMAIL),\n INVALID_PHONE_NUMBER: t(COPY.INVALID_PHONE_NUMBER),\n REQUIRED_FIELD: t(COPY.REQUIRED),\n GENERIC_ERROR: t(COPY.ERROR),\n};\n\nconst PHONE_NUMBER_REGEX = new RegExp(\n '^(\\\\+\\\\d{1,2}\\\\s?)?1?\\\\-?\\\\.?\\\\s?\\\\(?\\\\d{3}\\\\)?[\\\\s.-]?\\\\d{3}[\\\\s.-]?\\\\d{4}$',\n 's'\n);\n\ntype FIELD_TYPE = { [x: string]: ValidateFn[] };\n\nexport enum ValidationColor {\n success = 'success',\n error = 'error',\n}\n\nexport type FormState = {\n [x: string]: {\n value: string;\n color: ValidationColor | undefined;\n errorMessage: string | undefined;\n };\n};\n\nexport type ValidationResult = {\n error?: string;\n color?: ValidationColor;\n};\n\ntype ValidateFn = (value: string) => ValidationResult;\n\ntype ValidatorFn = {\n value: string;\n validators: ValidateFn[];\n};\n\nconst VALIDATOR_SUCCESS: ValidationResult = { color: ValidationColor.success };\n\n/**\n * This applies to most specific validator to an input\n * @param param ValidatorFn\n * @returns return a validation result in accordance with wrench input component\n */\nexport function applyValidators({ value, validators }: ValidatorFn): ValidationResult {\n let validatorResult: ValidationResult = {};\n validators.every(validate => {\n validatorResult = validate(value);\n return !validatorResult.error;\n });\n return validatorResult;\n}\n\nexport function minLengthValidator(value: string): ValidationResult {\n return value.length < 1 ? { error: ERROR_MAP.REQUIRED_FIELD, color: ValidationColor.error } : VALIDATOR_SUCCESS;\n}\n\nexport function emailValidator(value: string): ValidationResult {\n return !isValidEmail(value) ? { error: ERROR_MAP.INVALID_EMAIL, color: ValidationColor.error } : VALIDATOR_SUCCESS;\n}\n\nexport function phoneValidator(value: string): ValidationResult {\n return PHONE_NUMBER_REGEX.test(value)\n ? VALIDATOR_SUCCESS\n : { error: ERROR_MAP.INVALID_PHONE_NUMBER, color: ValidationColor.error };\n}\n\nconst FIELD_VALIDATORS: FIELD_TYPE = Object.freeze({\n [FIELDS.email]: [minLengthValidator, emailValidator],\n [FIELDS.phone]: [minLengthValidator, phoneValidator],\n [FIELDS.defaultType]: [minLengthValidator],\n});\n\n/**\n * This routines validates and return the final final state\n * @param fieldType\n * @param value\n * @returns the form validated state\n */\nexport function validateAndGetFormData(fieldType: string, value: string): FormState {\n const validatorType = FIELD_VALIDATORS[fieldType] ? fieldType : 'defaultType';\n const validator = applyValidators({ value, validators: FIELD_VALIDATORS[validatorType] });\n return {\n [fieldType]: {\n value,\n color: validator?.color,\n errorMessage: validator?.error,\n },\n };\n}\n\n/**\n * A simple utility to check the form validity status\n * @param formData\n * @returns if all the form fields are valid\n */\nexport const isFormValid = (formData: FormState): boolean | number => {\n const formValues = Object.values(formData);\n return formValues.length && !formValues?.some(({ errorMessage }) => errorMessage);\n};\n","import { t } from '@sm/intl';\n\nimport { getCookieValue, isBrowser, EMPTY_STRING } from '~shared/util';\n\nimport COPY from '~pricing/pages/Enterprise/copy';\n\nimport {\n HsContext,\n HsConsent,\n HsFormFields,\n HsFormValues,\n HubspotDTO,\n HsCommunicationDTO,\n HubspotApiReturnStatus,\n} from './HubSpotTypes';\nimport { FormState, isFormValid, ValidationColor, ERROR_MAP } from './Validation';\n\nconst ENDPOINT =\n 'https://api.hsforms.com/submissions/v3/integration/submit/5811593/289edeb2-bb6b-45f7-bef3-7185f3c6e9f4';\n\nconst MONTHLY_SUB_ID = 9074378;\nconst PRODUCT_UPDATES_SUB_ID = 9074384;\n\nconst HS_ERROR_STATUS: string[] = ['error'];\n\ntype SubmissionDataOptions = {\n formFields: HsFormFields[];\n formData: FormState;\n};\n\n/**\n * Utility to retrieve hubspot Utility values\n * @returns HsContext\n */\nexport const getHubspotContextValues = (): HsContext => ({\n hutk: getCookieValue('hubspotutk'),\n pageName: isBrowser() ? document.title : '',\n pageUri: isBrowser() ? document.location.pathname : '',\n});\n\n/**\n * Maps the name and value for given set of fields\n * @param fields\n * @param formData\n * @returns key value pair for hubspot submission values\n */\nfunction mapFieldAndValues(fields: HsFormFields[], formData: FormState): HsFormValues[] {\n return fields?.map(({ name, defaultValue }): HsFormValues => {\n const formDTO = formData[name];\n return {\n name,\n value: formDTO ? formDTO.value : defaultValue,\n };\n });\n}\n\n/**\n * Sanitizes hubspot from data for submission\n * @param formFields\n * @param formData\n * @returns HubspotDTO | undefined\n */\nfunction mapHubspotSubmissionData(formFields: HsFormFields[], formData: FormState): HubspotDTO | undefined {\n const communications: HsCommunicationDTO[] = [\n {\n text: t(COPY.CONSENT),\n subscriptionTypeId: MONTHLY_SUB_ID,\n value: !!formData?.consent?.value,\n },\n {\n text: t(COPY.CONSENT),\n subscriptionTypeId: PRODUCT_UPDATES_SUB_ID,\n value: !!formData?.consent?.value,\n },\n ];\n const legalConsentOptions: HsConsent = {\n consent: {\n communications,\n consentToProcess: true,\n text: EMPTY_STRING,\n },\n };\n return {\n context: getHubspotContextValues(),\n fields: mapFieldAndValues(formFields, formData),\n legalConsentOptions,\n } as HubspotDTO;\n}\n/**\n * A fetch helper function to submit hubspot forms\n * @param dataOptions\n * @returns Promise\n */\nexport async function saveFormData(dataOptions: SubmissionDataOptions): Promise {\n const { formFields, formData } = dataOptions;\n // bail right away if the overall form lacks a required field\n if (!isFormValid(formData)) {\n return;\n }\n const submitData = mapHubspotSubmissionData(formFields, formData);\n const response =\n submitData &&\n (await fetch(ENDPOINT, {\n method: 'POST',\n body: JSON.stringify(submitData),\n headers: {\n 'Content-type': 'application/json;charset=utf-8',\n },\n }));\n return response?.json();\n}\n\n/**\n * Parses and validates hubspot server side error\n * @param responseData\n * @param formData\n * @returns FormState | undefined\n */\nexport function parseHubspotApiResponse(\n responseData: HubspotApiReturnStatus,\n formData: FormState\n): FormState[] | undefined {\n const { status = EMPTY_STRING, errors = [] } = responseData;\n if (HS_ERROR_STATUS.includes(status)) {\n return errors.map(({ message, errorType }): FormState => {\n const [field] = message.match(/(fields|context)\\.([^']*)/) as RegExpMatchArray; // modified version from cms\n const fieldName = field?.replace(/(.*)\\./, ''); // retrieves the field name from the above string\n const mapFormDataWWithError: FormState = {\n [fieldName]: {\n value: formData[fieldName].value,\n color: ValidationColor.error,\n errorMessage: ERROR_MAP[errorType],\n },\n };\n return mapFormDataWWithError;\n });\n }\n}\n","import { createUseStyles } from 'react-jss';\n\nimport { PricingAppTheme } from '~app/styles/theme';\n\nconst useHubSpotStyles = createUseStyles(({ spacing }) => ({\n CheckBoxWrapper: {\n display: 'flex',\n justifyContent: 'flex-start',\n gap: spacing[2],\n '& p': {\n overflowX: 'clip',\n },\n },\n}));\n\nexport default useHubSpotStyles;\n","import React, { useState, useMemo, useCallback, FocusEvent, ChangeEvent, FormEvent } from 'react';\n\nimport { t } from '@sm/intl';\n\nimport { Typography } from '@wds/typography';\nimport { Checkbox } from '@wds/checkbox';\nimport { Box } from '@wds/box';\nimport { Button } from '@wds/button';\nimport { FormGroup, FormField } from '@wds/form-group';\nimport { ProgressCircle } from '@wds/progress-circle';\n\nimport { EMPTY_STRING } from '~shared/util';\n\nimport { HubspotApiStatus, HubpotApiData } from '~pricing/components/HubSpotForm/HubSpotTypes';\nimport useHubSpotFormAPI from '~pricing/hooks/useHubSpotAPI';\n\nimport COPY from '~pricing/pages/Enterprise/copy';\n\nimport HubSpotErrorBanner from './HubSpotErrorBanner';\nimport HubspotInput from './HubspotInput';\nimport { parseHubspotApiResponse, saveFormData } from './helpers';\nimport { HubspotApiReturnStatus } from './HubSpotTypes';\nimport { validateAndGetFormData, FormState } from './Validation';\nimport useHubSpotStyles from './useStyles';\n\nexport default function HubSpotForm(): JSX.Element {\n const [formData, setFormData] = useState({});\n const { status, data, error }: HubpotApiData = useHubSpotFormAPI();\n const { CheckBoxWrapper } = useHubSpotStyles();\n\n const formFields = useMemo(() => data?.fields, [data?.fields]);\n\n const handleChange = useCallback(\n ({ target }: FocusEvent) => {\n const { name, value } = target;\n const validatedData = validateAndGetFormData(name, value);\n setFormData({\n ...formData,\n ...validatedData,\n });\n },\n [setFormData, formData]\n );\n\n const handleConsentChecked = useCallback(\n ({ target }: ChangeEvent) => {\n const { name, checked } = target;\n setFormData({\n ...formData,\n [name]: {\n value: checked,\n color: undefined,\n errorMessage: checked ? undefined : t(COPY.ERROR),\n },\n } as FormState);\n },\n [setFormData, formData]\n );\n\n const handleFormSubmission = useCallback(\n (event: FormEvent) => {\n event.preventDefault();\n if (!formFields || !formFields.length) {\n return;\n }\n let newFormData = { ...formData };\n formFields.forEach(({ name, hidden }) => {\n if (!hidden) {\n const currentValue = newFormData[name] ? newFormData[name].value : EMPTY_STRING;\n const submitErrors = validateAndGetFormData(name, currentValue);\n newFormData = { ...newFormData, ...submitErrors };\n }\n });\n setFormData(newFormData);\n saveFormData({ formFields, formData })\n .then((response: HubspotApiReturnStatus | undefined) => {\n if (response?.redirectUri) {\n // TODO SM.tracking\n window.location.assign(response?.redirectUri);\n } else {\n // TODO SM tracking\n const errors = parseHubspotApiResponse(response as HubspotApiReturnStatus, formData);\n errors?.forEach(fs => setFormData({ ...formData, ...fs }));\n }\n })\n .catch(err => {\n // TODO SM tracking\n });\n },\n [setFormData, formFields, formData]\n );\n\n if (error) {\n return ;\n }\n\n return (\n <>\n {status === HubspotApiStatus.Success ? (\n
    \n \n \n \n \n \n \n \n {t(COPY.CONSENT_ONE)}\n \n {t(COPY.SUBSCRIPTION_LINK)}\n \n {t(COPY.CONSENT_TWO)}\n \n {t(COPY.MP_PRIVACY_LINK)}\n \n {t(COPY.CONSENT_THREE)}\n \n \n\n \n \n \n \n
    \n ) : (\n \n \n \n )}\n \n );\n}\n","import { createUseStyles } from 'react-jss';\n\nimport { PricingAppTheme } from '~app/styles/theme';\n\ntype ButtonProps = {\n children?: React.ReactNode;\n spacing?: number;\n fontWeight?: string;\n labelColor?: string;\n};\n\nconst useEnterprisePageStyles = createUseStyles(\n ({ pricingPalette, spacing }) => ({\n ContactList: {\n lineHeight: '1.8',\n listStyleType: 'none',\n textAlign: 'center',\n marginTop: spacing[1],\n },\n FeatureItem: {\n fontSize: '16px',\n textAlign: 'left',\n lineHeight: '32px',\n '&:before': {\n content: '\"•\"',\n marginLeft: '-35px',\n marginRight: spacing[3],\n paddingRight: spacing[4],\n color: pricingPalette.colors.sabaeus,\n },\n },\n ListHeading: {\n fontSize: '16px',\n textAlign: 'left',\n marginTop: '5px',\n lineHeight: '32px',\n maxWidth: '350px',\n },\n TypographyBolded: {\n fontSize: '32px',\n fontWeight: '500',\n margin: '16px 0',\n color: pricingPalette.colors.charcoal,\n },\n HubSpotWrapper: {\n background: pricingPalette.colors.canvas,\n },\n })\n);\n\nexport default useEnterprisePageStyles;\n","import React from 'react';\n\nimport { Box } from '@wds/box';\nimport { t } from '@sm/intl';\nimport { Typography } from '@wds/typography';\n\nimport COPY from './copy';\nimport useEnterprisePageStyles from './useStyles';\n\nexport default function ContactUs(): JSX.Element {\n const { ContactList, FeatureItem, ListHeading, TypographyBolded } = useEnterprisePageStyles();\n\n return (\n <>\n \n {/* Change div line below to following once wds/typography is changed to v3+ to inherit styling\n \n also remove class in style file */}\n

    {t(COPY.CONTACT_US_TODAY)}

    \n

    {t(COPY.LEARN_MORE)}

    \n \n \n
  • {t(COPY.MANAGE_USERS)}
  • \n
  • {t(COPY.CONFIDENTIAL_DATA)}
  • \n
  • {t(COPY.FEEDBACK)}
  • \n
    \n
    \n
    \n \n );\n}\n","import { createUseStyles } from 'react-jss';\n\nexport default createUseStyles(() => ({\n ViewPricingLink: {\n display: 'inline-flex',\n alignItems: 'center',\n fontSize: 14,\n '& svg': {\n marginLeft: 3,\n },\n },\n}));\n","import withPageHandler from '~pricing/hocs/withPageHandler';\nimport PricingSummary from './Summary';\nimport PricingDetails from './Details';\nimport EnterprisePage from './Enterprise';\nimport EducationalPage from './Educational';\n\nexport default [\n {\n component: withPageHandler(PricingSummary),\n paths: ['/pricing', '/pricing/', '/pricing/upgrade/quickview/', '/pricing/:canonicalPath(individual|teams)'],\n },\n {\n component: withPageHandler(EnterprisePage),\n paths: ['/pricing/:canonicalPath(enterprise)/:subPath(details)?'],\n },\n {\n component: withPageHandler(PricingDetails),\n paths: ['/pricing/:canonicalPath(individual|teams)/:subPath(details)'],\n },\n {\n component: withPageHandler(EducationalPage),\n paths: ['/pricing/:canonicalPath(educational)'],\n },\n];\n","import React from 'react';\n\nimport { Box } from '@wds/box';\n\nimport MainHeading from '~pricing/components/MainHeading';\nimport Navigation from '~pricing/components/Navigation';\nimport { Package } from '~pricing/components/Summary';\nimport { PricingData } from '~pricing/lib/summaryPackages';\n\nimport useSummaryStyles from './useStyles';\nimport usePackagesWithCTALabel from '~pricing/hooks/usePackagesWithCTALabel';\n\nexport default function PricingSummaryPage({ packageData, packageSet }: PricingData): JSX.Element {\n const { Packages } = useSummaryStyles();\n const { packages } = usePackagesWithCTALabel(packageData, packageSet);\n\n if (!packageData) {\n return <>;\n }\n\n return (\n <>\n
    \n \n \n
    \n \n {packages?.map(pricingPackage => {\n return ;\n })}\n \n \n );\n}\n","import React from 'react';\n\nimport { t } from '@sm/intl';\nimport { Grid } from '@wds/grid';\nimport { Box } from '@wds/box';\n\nimport MainHeading from '~pricing/components/MainHeading';\nimport Navigation from '~pricing/components/Navigation';\nimport HubSpotForm from '~pricing/components/HubSpotForm';\n\nimport COPY from './copy';\nimport ContactUs from './ContactUs';\n\nimport useEnterprisePageStyles from './useStyles';\n\nexport default function EnterprisePage(): JSX.Element {\n const { HubSpotWrapper } = useEnterprisePageStyles();\n return (\n <>\n
    \n {t(COPY.MAIN_HEADING)}\n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport { useParams } from 'react-router';\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport { createURL } from '@sm/utils';\nimport { Responsive } from '@wds/responsive';\n\nimport { PricingData, NavRouteParams, PackageProps } from '~pricing/lib/summaryPackages';\n\nimport BackToSummary from '~pricing/components/BackToSummary';\nimport ROUTE_CONFIG from '~pricing/components/Navigation/routes';\nimport MainHeading from '~pricing/components/MainHeading';\nimport Navigation from '~pricing/components/Navigation';\nimport DetailsPackageHeader from '~pricing/components/DetailsTable/PackageHeader';\nimport Categories from '~app/pages/Pricing/components/DetailsTable/Categories';\nimport COPY from '~app/pages/Pricing/copy';\nimport usePackagesWithCTALabel from '~pricing/hooks/usePackagesWithCTALabel';\n\nimport useDetailsStyles from './useStyles';\n\nexport default function PricingDetailsPage({ packageData, packageSet }: PricingData): JSX.Element {\n const { packages } = usePackagesWithCTALabel(packageData, packageSet);\n const { Details, Sticky } = useDetailsStyles({\n packageCount: packages.length,\n });\n const { canonicalPath } = useParams();\n\n if (!packageData) {\n return <>;\n }\n\n return (\n <>\n
    \n \n {t(COPY.DETAILS_HEADING)}\n \n
    \n \n \n \n {packages.map((pricingPackage: PackageProps, index: number) => {\n const { skuCost, details, package: packageName, ctaLabel } = pricingPackage;\n const currentPackage = packages.find(pkg => pkg.package === packageName);\n return (\n
    \n \n {currentPackage && }\n
    \n );\n })}\n
    \n
    \n \n <>\n \n {packages.map((pricingPackage: PackageProps, index: number) => {\n const { skuCost, details, package: packageName, ctaLabel } = pricingPackage;\n\n return (\n \n );\n })}\n \n \n \n \n
    \n \n );\n}\n","import React from 'react';\nimport { useParams } from 'react-router';\nimport { Link } from 'react-router-dom';\nimport { t } from '@sm/intl';\nimport { Box } from '@wds/box';\nimport { createURL } from '@sm/utils';\nimport { IconArrowRight } from '@wds/icons';\nimport { Typography } from '@wds/typography';\nimport { INDIVIDUAL_PACKAGES } from '~pricing/lib/constants';\nimport { PricingData, NavRouteParams, PackageProps } from '~pricing/lib/summaryPackages';\n\nimport BackToSummary from '~pricing/components/BackToSummary';\nimport ROUTE_CONFIG from '~pricing/components/Navigation/routes';\nimport MainHeading from '~pricing/components/MainHeading';\nimport Navigation from '~pricing/components/Navigation';\nimport DetailsPackageHeader from '~pricing/components/DetailsTable/PackageHeader';\nimport Categories from '~app/pages/Pricing/components/DetailsTable/Categories';\nimport COPY from '~app/pages/Pricing/copy';\nimport usePackagesWithCTALabel from '~pricing/hooks/usePackagesWithCTALabel';\n\nimport useDetailsStyles from '~pricing/pages/Details/useStyles';\nimport useEducationalStyles from './useStyles';\n\nexport default function EducationalDetailsPage({ packageData, packageSet }: PricingData): JSX.Element {\n // This packageSetOverride is only temporary until GROW-2111 is completed\n const packageSetOverride = INDIVIDUAL_PACKAGES;\n\n const { Details, Sticky } = useDetailsStyles({\n packageCount: packageSetOverride.length,\n });\n const { ViewPricingLink } = useEducationalStyles();\n const { canonicalPath } = useParams();\n const { packages } = usePackagesWithCTALabel(packageData, packageSetOverride);\n\n if (!packageData) {\n return <>;\n }\n\n const path = canonicalPath === 'educational' ? 'individual' : canonicalPath;\n const viewPricingLinkText = t(COPY.VIEW_PRICING);\n\n return (\n <>\n
    \n \n {t(COPY.EDUCATIONAL_HEADING)}\n \n {t(COPY.EDUCATIONAL_SUBHEADING)}{' '}\n \n {viewPricingLinkText}\n \n \n \n \n
    \n \n \n {packages.map((pricingPackage: PackageProps, index: number) => {\n const { skuCost, details, package: packageName, ctaLabel } = pricingPackage;\n\n return (\n \n );\n })}\n \n \n \n \n );\n}\n","import React from 'react';\nimport { Route, Redirect } from 'react-router-dom';\n\nimport { PricingRouteProps } from '~pricing/lib/summaryPackages';\n\nconst UPGRADE_PATH = '/pricing/upgrade/quickview/';\n\nconst PricingRoutes: React.FC = ({ redirectPath, path, ...rest }) => {\n // Since we will eventually get rid of the upgrade path\n if (path === UPGRADE_PATH) {\n return ;\n }\n return ;\n};\n\nexport default PricingRoutes;\n","import React from 'react';\nimport { Switch } from 'react-router-dom';\nimport { FourOhFourErrorPage } from '@sm/webassets';\nimport Layout from '~pricing/components/Layout';\nimport pages from '~pricing/pages';\n\nimport PricingRoutes from './PricingRoutes';\n\nconst ROUTES = pages.map(page => {\n return page.paths.map((path: string) => {\n return ;\n });\n});\n\nconst PricingRouter = (): JSX.Element => {\n return (\n \n \n {ROUTES}\n \n \n \n );\n};\n\nexport default PricingRouter;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { Query } from 'react-apollo';\nimport { withRouter } from 'react-router-dom';\n\nimport { MetricsTracker, USER_EVENTS } from '@sm/metrics';\nimport { StaticContext, Autocomplete } from '@sm/webassets';\nimport { defineMessages } from '@sm/intl';\n\nimport './search-box.scss';\nimport publishedApplicationListingsByKeywordQuery from './SearchBox.graphql';\nimport AppPlaceHolderImg from '../../static/images/app-placeholder.png';\n\nexport const COPY = defineMessages({\n SEARCHBOX_PLACEHOLDER: {\n id: 'AppsDirectory.SearchBox.Placeholder',\n defaultMessage: 'Search the App Directory',\n description: '[Type: Label][Vis.: high] - A placeholder text for the search box indicating its intention',\n },\n});\n\nfunction mapItemsToAutocomplete({ publishedApplicationListingsByKeyword: { items } }) {\n return items.map(({ name: text, logo, id, links: { detail: link } }) => ({\n text,\n logo,\n id,\n link,\n }));\n}\n\nclass SearchBox extends Component {\n state = {\n keyword: '',\n };\n\n handleTermChanged = keyword => {\n this.setState({ keyword });\n };\n\n handleItemSelected = ({ link }) => {\n window.location.assign(link);\n };\n\n handleSubmit = keyword => {\n MetricsTracker.track({\n name: USER_EVENTS.ELEMENT_INTERACTION,\n data: {\n amplitudeEvent: 'app directory searched',\n actionType: 'directory_search.searched',\n actionFlow: 'directory_search',\n searchTerm: keyword,\n location: this.props.location,\n },\n });\n this.props.history.push(`/apps/search?q=${keyword}`);\n };\n\n render() {\n const { environment } = this.context;\n return (\n \n {({ loading, error, data }) => {\n return (\n
    \n (\n
    \n {text}\n {text}\n
    \n )}\n />\n
    \n );\n }}\n \n );\n }\n}\n\nSearchBox.propTypes = {\n history: PropTypes.shape({\n push: PropTypes.func.isRequired,\n }).isRequired,\n location: PropTypes.string.isRequired,\n};\n\nexport default withRouter(SearchBox);\nSearchBox.contextType = StaticContext;\n","import React, { useContext } from 'react';\n\nimport { StaticContext } from '@sm/webassets';\nimport { defineMessages } from '@sm/intl';\nimport { Typography } from '@sm/wds-react';\n\nimport SearchBox from '../../../../components/SearchBox';\nimport './jumbo-header.scss';\n\nexport const COPY = defineMessages({\n JUMBO_TAGLINE: {\n id: 'Home.JumboHeader.Tagline',\n defaultMessage: \"We're better together\",\n description: '[Type: Header][Vis.: high] - The main tagline for the home page',\n },\n JUMBO_SUBTITLE: {\n id: 'Home.JumboHeader.Subtitle',\n defaultMessage: 'Integrate with over 100+ SurveyMonkey apps and plug-ins to get more done',\n description: \"[Type: Header][Vis.: high] - A small description of what's available on the app directory page\",\n },\n});\n\nconst JumboHeader = () => {\n const { user, HEADER_EXP: { isModernTreatment = false } = {} } = useContext(StaticContext);\n const shouldShowNewHeader = user.isAuthenticated && isModernTreatment;\n return (\n \n \n {COPY.JUMBO_TAGLINE.defaultMessage}\n \n \n {COPY.JUMBO_SUBTITLE.defaultMessage}\n \n
    \n \n
    \n \n );\n};\n\nexport default JumboHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\n// TODO: put this back after investigating the issue\n// import LinkWithSearch from '../LinkWithSearch';\nimport { Link } from 'react-router-dom';\n\nconst AppLink = props => {\n const {\n app: {\n isIntegration,\n links: { detail },\n },\n children,\n } = props;\n return (\n \n -1}>\n \n \n {children}\n \n \n \n \n \n \n {children}\n \n \n \n \n );\n};\n\nAppLink.propTypes = {\n app: PropTypes.shape({\n isIntegration: PropTypes.bool.isRequired,\n links: PropTypes.shape({\n detail: PropTypes.string.isRequired,\n }).isRequired,\n }).isRequired,\n children: PropTypes.node.isRequired,\n};\n\nexport default AppLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Typography, Grid, Row, Col } from '@sm/wds-react';\n\nimport AppPlaceHolderImg from '../../../../static/images/app-placeholder.png';\nimport AppLink from '../../../../components/AppLink';\n\nimport './apps-grid.scss';\n\nconst AppsGrid = ({ apps }) => {\n return (\n \n \n {apps.map(app => (\n \n \n
    \n {app.name}\n {app.name}\n \n \n \n {app.categories[0].name}\n \n \n \n
    \n
    \n \n ))}\n
    \n
    \n );\n};\n\nAppsGrid.propTypes = {\n apps: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n logo: PropTypes.string.isRequired,\n links: PropTypes.shape({\n detail: PropTypes.string.isRequired,\n }),\n categories: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n }).isRequired\n ),\n })\n ).isRequired,\n};\n\nexport default AppsGrid;\n","import React, { useContext } from 'react';\n\nimport { SkeletonLoader, TabletScreen, MobileScreen, StaticContext } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nconst AppsGridSkeleton = props => {\n const { userAgent } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\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 \n \n \n \n \n \n \n \n );\n};\n\nexport default AppsGridSkeleton;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Query } from 'react-apollo';\nimport { withRouter } from 'react-router-dom';\n\nimport { StaticContext, ErrorCard } from '@sm/webassets';\nimport { defineMessages } from '@sm/intl';\nimport { Typography } from '@sm/wds-react';\n\nimport publishedApplicationListingsQuery from './AppsGrid.graphql';\nimport AppsGrid from './AppsGrid';\nimport AppsGridSkeleton from './AppsGridSkeleton';\n\nexport const COPY = defineMessages({\n FEATURED_APPS_TITLE: {\n id: 'Home.AppsGrid.FeaturedTitle',\n defaultMessage: 'Featured',\n description: '[Type: Header][Vis.: high] - A section title for a grid displaying the featured apps',\n },\n RECENTLY_ADDED_APPS_TITLE: {\n id: 'Home.AppsGrid.RecentlyAddedTitle',\n defaultMessage: 'Recently Added',\n description: '[Type: Header][Vis.: high] - A section title for a grid displaying the recently apps',\n },\n MOST_RECENT_APPS_TITLE: {\n id: 'Home.AppsGrid.MostRecentTitle',\n defaultMessage: 'Most Popular',\n description: '[Type: Header][Vis.: high] - A section title for a grid displaying the most popular apps',\n },\n GRID_APPS_SEE_MORE: {\n id: 'Home.AppsGrid.SeeMore',\n defaultMessage: 'See More',\n description:\n '[Type: Link][Vis.: med] - A link to redirect the user so it can see more apps from the current displayed category',\n },\n});\n\nconst FEATURED = 'FEATURED';\nconst RECENTLY_ADDED = 'RECENTLY_ADDED';\nconst MOST_POPULAR = 'MOST_POPULAR';\n\nconst retrieveValuesForGridOption = option => {\n const page = 1;\n const defaultPageSize = 6;\n switch (option) {\n case FEATURED:\n return {\n title: COPY.FEATURED_APPS_TITLE.defaultMessage,\n moreLink: '/apps/featured-apps',\n page,\n pageSize: defaultPageSize,\n };\n\n case RECENTLY_ADDED:\n return {\n title: COPY.RECENTLY_ADDED_APPS_TITLE.defaultMessage,\n moreLink: '/apps/recently-added',\n page,\n pageSize: defaultPageSize,\n };\n\n case MOST_POPULAR:\n return {\n title: COPY.MOST_RECENT_APPS_TITLE.defaultMessage,\n moreLink: '/apps/most-popular',\n page,\n pageSize: 9,\n };\n\n default:\n return ['', '#', page, defaultPageSize];\n }\n};\n\nconst AppsGridContainer = ({ gridOption, location: { search } }) => {\n const { title, moreLink, page, pageSize } = retrieveValuesForGridOption(gridOption);\n const {\n environment: { languageId, subdomain, tld },\n } = useContext(StaticContext);\n return (\n \n {({ loading, error, data }) => {\n return (\n
    \n
    \n \n {title}\n \n \n \n {/* The query params need to be preserved between urls (needed for ut_source) */}\n \n {COPY.GRID_APPS_SEE_MORE.defaultMessage}\n \n \n \n
    \n \n \n \n \n \n \n \n \n \n \n \n
    \n );\n }}\n \n );\n};\n\nAppsGridContainer.propTypes = {\n environment: PropTypes.shape({\n languageId: PropTypes.number.isRequired,\n }),\n gridOption: PropTypes.oneOf([FEATURED, MOST_POPULAR, RECENTLY_ADDED]).isRequired,\n location: PropTypes.shape({\n search: PropTypes.string,\n }).isRequired,\n};\n\nAppsGridContainer.defaultProps = {\n environment: {\n languageId: 1,\n },\n};\n\nexport default withRouter(AppsGridContainer);\n","import React from 'react';\n\nimport { SkeletonLoader } from '@sm/webassets';\n\nconst SidebarSkeleton = props => (\n \n \n \n \n \n);\n\nexport default SidebarSkeleton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter, Link } from 'react-router-dom';\n\nconst LinkWithSearch = ({\n pathname,\n location: { search },\n // removes staticContext from the props that are being passed down to prevent a React warning\n staticContext, // eslint-disable-line\n ...args\n}) => {\n return (\n \n {args.children}\n \n );\n};\n\nLinkWithSearch.propTypes = {\n pathname: PropTypes.string.isRequired,\n children: PropTypes.node.isRequired,\n location: PropTypes.shape({\n search: PropTypes.string,\n }).isRequired,\n};\n\nexport default withRouter(LinkWithSearch);\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Query } from 'react-apollo';\n\nimport { StaticContext, TabletScreen, MobileScreen } from '@sm/webassets';\nimport { defineMessages } from '@sm/intl';\nimport { Typography, Accordion, AccordionItem, List, ListItem } from '@sm/wds-react';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport './navbar.scss';\nimport publishedApplicationListingCategoriesQuery from './NavBar.graphql';\nimport SidebarSkeleton from './SideBarSkeleton';\n// LinkWithSearch should be used so it will keep any existing query arguments present in the url (needed for ut_source)\nimport LinkWithSearch from '../LinkWithSearch';\n\nexport const COPY = defineMessages({\n NAVBAR_APPS_DIRECTORY: {\n id: 'AppsDirectory.NavBar.AppsDirectory',\n defaultMessage: 'App Directory',\n description: `[Type: Header][Vis.: high] - A section title for a group of links on the page's sidebar`,\n },\n NAVBAR_CATEGORIES: {\n id: 'AppsDirectory.NavBar.Categories',\n defaultMessage: 'App Category',\n description: `[Type: Header][Vis.: high] - A section title for a group of links on the page's sidebar`,\n },\n NAVBAR_MY_APPS: {\n id: 'AppsDirectory.NavBar.MyApps',\n defaultMessage: 'My Apps',\n description: `[Type: Link][Vis.: med] - A link on the sidebar directing the user to its installed apps`,\n },\n NAVBAR_FEATURED: {\n id: 'AppsDirectory.NavBar.Featured',\n defaultMessage: 'Featured',\n description: `[Type: Link][Vis.: med] - A link on the sidebar directing the user the featured apps`,\n },\n NAVBAR_MOST_POPULAR: {\n id: 'AppsDirectory.NavBar.MostPopular',\n defaultMessage: 'Most Popular',\n description: `[Type: Link][Vis.: med] - A link on the sidebar directing the user to the most popular apps`,\n },\n NAVBAR_RECENTLY_ADDED: {\n id: 'AppsDirectory.NavBar.RecentlyAdded',\n defaultMessage: 'Recently Added',\n description: `[Type: Link][Vis.: med] - A link on the sidebar directing the user to the most recently added apps`,\n },\n});\n\nconst SidebarLink = ({ target, text, 'data-testid': dataTestId }) => (\n
  • \n \n {text}\n \n
  • \n);\n\nSidebarLink.propTypes = {\n target: PropTypes.string.isRequired,\n text: PropTypes.string.isRequired,\n 'data-testid': PropTypes.string,\n};\n\nSidebarLink.defaultProps = {\n 'data-testid': 'NavBar__SidebarLink',\n};\n\nconst NavBar = props => {\n const {\n environment: { languageId },\n user,\n userAgent,\n } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n return (\n
    \n \n {({ loading, data, error }) => {\n return (\n <>\n \n \n \n \n \n \n \n \n {COPY.NAVBAR_MY_APPS.defaultMessage}\n \n \n \n \n \n \n \n \n \n {COPY.NAVBAR_FEATURED.defaultMessage}\n \n \n \n \n {COPY.NAVBAR_MOST_POPULAR.defaultMessage}\n \n \n \n \n {COPY.NAVBAR_RECENTLY_ADDED.defaultMessage}\n \n \n \n \n \n \n \n \n {data.publishedApplicationListingCategories.map(cat => (\n \n \n {cat.name}\n \n \n ))}\n \n \n \n \n \n \n \n \n \n \n \n {COPY.NAVBAR_APPS_DIRECTORY.defaultMessage}\n \n
      \n \n \n \n \n \n \n
    \n \n {COPY.NAVBAR_CATEGORIES.defaultMessage}\n \n \n \n \n \n null\n \n
      \n {data.publishedApplicationListingCategories.map(cat => (\n \n ))}\n
    \n
    \n
    \n
    \n \n );\n }}\n
    \n
    \n );\n};\n\nexport default NavBar;\n","import React from 'react';\n\nimport { SkeletonLoader } from '@sm/webassets';\nimport { ProgressCircle } from '@sm/wds-react';\n\nimport './ucs-module-loaders.scss';\n\nconst TopBarSkeleton = () => (\n
    \n \n
    \n);\n\nconst DefaultLoader = () => (\n
    \n \n
    \n);\n\nconst MODULE_SKELETONS = {\n top_bar: TopBarSkeleton,\n};\n\nexport default DefaultLoader;\nexport { MODULE_SKELETONS };\n","import React, { Component } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { ErrorBoundary, clientErrorHandler } from '@sm/webassets';\n\nimport { sanitizeString } from '@sm/utils';\nimport DefaultLoader, { MODULE_SKELETONS } from './UCSModuleLoaders';\n\nconst UCS_CONTAINER_ID_PREFIX = 'ucs-content';\n\n// TODO: this component is a duplicate of UCSModule from coreweb and\n// will need to be moved somewhere common\nclass UCSModule extends Component {\n static propTypes = {\n className: PropTypes.string,\n moduleName: PropTypes.string,\n customLoader: PropTypes.node,\n };\n\n static defaultProps = {\n moduleName: null,\n className: null,\n customLoader: null,\n };\n\n state = {\n data: {\n moduleHTML: null,\n },\n loading: true,\n error: false,\n };\n\n componentDidMount() {\n this._isMounted = true;\n this.getModuleHTML();\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n getPreloadedModule() {\n const { moduleName } = this.props;\n const moduleContainer = document.getElementById(`${UCS_CONTAINER_ID_PREFIX}-${moduleName}`);\n if (moduleContainer) {\n moduleContainer.remove();\n return moduleContainer.textContent;\n }\n return null;\n }\n\n async getModuleHTML() {\n const reFetchFailed = () => {\n this.setState({\n loading: false,\n error: true,\n });\n };\n\n let moduleHTML = this.getPreloadedModule();\n if (!moduleHTML) {\n try {\n moduleHTML = await this.reFetchModule();\n if (!this._isMounted) {\n return null;\n }\n } catch (error) {\n if (!this._isMounted) {\n return null;\n }\n clientErrorHandler.logError(error, 'ucsFetchFailure');\n return reFetchFailed();\n }\n }\n\n if (moduleHTML === null) {\n return reFetchFailed();\n }\n\n return this.setState({\n data: { moduleHTML },\n loading: false,\n error: false,\n });\n }\n\n async reFetchModule() {\n const { moduleName } = this.props;\n const moduleContent = await fetch(`/content/api/ucs/${moduleName}/html`, {\n credentials: 'include',\n });\n const moduleJson = await moduleContent.json();\n return moduleJson.html;\n }\n\n renderLoadingState = () => {\n const { customLoader, moduleName } = this.props;\n const ModuleLoader = MODULE_SKELETONS[moduleName];\n\n if (customLoader) {\n return customLoader;\n }\n\n if (ModuleLoader) {\n return ;\n }\n\n return ;\n };\n\n render() {\n const { className } = this.props;\n const { data, loading, error } = this.state;\n // fail silently\n const errorComponent = null;\n\n const classNames = classnames('sm-ucs-module__content-container', className);\n\n return (\n \n {this.renderLoadingState()}\n {errorComponent}\n \n \n \n \n );\n }\n}\n\nconst BoundUCSModule = props => (\n \n \n \n);\n\nexport default BoundUCSModule;\n","/**\n * Get the canonical URL for the current page\n * @returns {canonicalUrl} string\n */\nexport default function getCanonicalUrlOrNoIndex(subdomain, domain, tld, url) {\n let path = '';\n let noIndex = false;\n let canonicalUrl = '';\n\n if (subdomain !== 'www' || tld !== 'com') {\n noIndex = true;\n } else {\n if (typeof window !== 'undefined') {\n path = window.location.pathname;\n } else {\n path = url.indexOf('?') > -1 ? url.substr(0, url.indexOf('?')) : url;\n }\n\n if (path.substr(-1) !== '/') {\n path += '/';\n }\n\n canonicalUrl = `https://${subdomain}.${domain}.${tld}${path}`;\n }\n\n return { noIndex, canonicalUrl };\n}\n","export default function switchAccountsUrl(pathname, search) {\n const epParam = `ep=${encodeURIComponent(pathname + search)}`;\n const sep = search ? '&' : '?';\n return `/user/account/select${search}${sep}${epParam}`;\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nimport { Typography, Menu, MenuItem, Button } from '@sm/wds-react';\nimport { IconCaretDown } from '@sm/wds-icons';\nimport { Logo } from '@sm/webassets';\nimport { defineMessages, T } from '@sm/intl';\n// LinkWithSearch should be used so it will keep any existing query arguments present in the url (needed for ut_source)\nimport LinkWithSearch from '../LinkWithSearch';\nimport switchAccountsUrl from './switchAccountsUrl';\n\nconst COPY = defineMessages({\n NAV_MY_ACCOUNT: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.MyAccountLink',\n defaultMessage: 'My Account',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to their profile page',\n },\n NAV_SWITCH_ACCOUNTS: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.SwitchAccountsLink',\n defaultMessage: 'Switch accounts',\n description: '[Type: Label][Vis.: high] - A link that will direct the user to the switch accounts page',\n },\n NAV_HELP_CENTER: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.HelpCenterLink',\n defaultMessage: 'Help Center',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the help center page',\n },\n NAV_SIGN_OUT: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.SignOutLink',\n defaultMessage: 'Sign Out',\n description: '[Type: Link][Vis.: Low] - A link that will sign the user out',\n },\n NAV_SIGN_IN: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.SignInLink',\n defaultMessage: 'Sign In',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the sign in page',\n },\n NAV_SIGN_UP: {\n id: 'AppsDirectory.AppDirNavHeaderDesktop.SignUpLink',\n defaultMessage: 'Sign Up',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the sign up page',\n },\n});\n\nconst AppDirNavHeaderDesktop = ({\n navItems,\n shouldDisplayNavItem,\n isAuthenticated,\n username,\n showSwitchAccounts,\n location: { pathname, search },\n}) => {\n return (\n
    \n \n \n \n App Directory\n \n \n
    \n \n
    \n \n \n
    \n \n {username}\n \n
    \n }\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n
    \n \n \n
    \n
    \n \n \n );\n};\n\nAppDirNavHeaderDesktop.propTypes = {\n navItems: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.string.isRequired,\n text: PropTypes.node.isRequired,\n requiresAuthentication: PropTypes.bool,\n })\n ).isRequired,\n shouldDisplayNavItem: PropTypes.func.isRequired,\n isAuthenticated: PropTypes.bool.isRequired,\n username: PropTypes.string.isRequired,\n location: PropTypes.shape({\n pathname: PropTypes.string,\n search: PropTypes.string,\n }).isRequired,\n showSwitchAccounts: PropTypes.bool,\n};\n\nAppDirNavHeaderDesktop.defaultProps = {\n showSwitchAccounts: false,\n};\n\nexport default withRouter(AppDirNavHeaderDesktop);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nimport { Menu, MenuGroup, MenuItem } from '@sm/wds-react';\nimport { IconMenu, IconLogoGoldie } from '@sm/wds-icons';\nimport { defineMessages, T } from '@sm/intl';\nimport switchAccountsUrl from './switchAccountsUrl';\n\nconst COPY = defineMessages({\n NAV_MY_ACCOUNT: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.MyAccountLink',\n defaultMessage: 'My Account',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to their profile page',\n },\n NAV_SWITCH_ACCOUNTS: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.SwitchAccountsLink',\n defaultMessage: 'Switch accounts',\n description: '[Type: Label][Vis.: high] - A link that will direct the user to the switch accounts page',\n },\n NAV_HELP_CENTER: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.HelpCenterLink',\n defaultMessage: 'Help Center',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the help center page',\n },\n NAV_SIGN_OUT: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.SignOutLink',\n defaultMessage: 'Sign Out',\n description: '[Type: Link][Vis.: Low] - A link that will sign the user out',\n },\n NAV_SIGN_IN: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.SignInLink',\n defaultMessage: 'Sign In',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the sign in page',\n },\n NAV_SIGN_UP: {\n id: 'AppsDirectory.AppDirNavHeaderMobile.SignUpLink',\n defaultMessage: 'Sign Up',\n description: '[Type: Link][Vis.: Low] - A link that will direct the user to the sign up page',\n },\n});\n\nfunction urlWithSearch(url, search) {\n return `${url}${search}`;\n}\n\nconst AppDirNavHeaderMobile = ({\n isAuthenticated,\n navItems,\n shouldDisplayNavItem,\n showSwitchAccounts,\n location: { pathname, search },\n}) => {\n const authorizedMenuItems = navItems.filter(shouldDisplayNavItem).map(nav => (\n // The query params need to be preserved between urls (needed for ut_source)\n \n {nav.text}\n \n ));\n return (\n
    \n \n \n \n \n \n
    \n \n \n \n \n
    \n }\n >\n {authorizedMenuItems}\n \n {/* fragment below is a workaround for https://code.corp.surveymonkey.com/wrench/wds/issues/904 */}\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n
    \n \n \n \n \n
    \n }\n >\n {authorizedMenuItems}\n \n \n \n \n \n \n \n \n
    \n \n \n );\n};\n\nAppDirNavHeaderMobile.propTypes = {\n navItems: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.string.isRequired,\n text: PropTypes.node.isRequired,\n requiresAuthentication: PropTypes.bool,\n })\n ).isRequired,\n shouldDisplayNavItem: PropTypes.func.isRequired,\n isAuthenticated: PropTypes.bool.isRequired,\n location: PropTypes.shape({\n pathname: PropTypes.string,\n search: PropTypes.string,\n }).isRequired,\n showSwitchAccounts: PropTypes.bool,\n};\n\nAppDirNavHeaderMobile.defaultProps = {\n showSwitchAccounts: false,\n};\n\nexport default withRouter(AppDirNavHeaderMobile);\n","import React, { useContext } from 'react';\nimport { Query } from '@apollo/react-components';\n\nimport { DesktopScreen, MobileTabletScreen, StaticContext } from '@sm/webassets';\nimport { defineMessages, T } from '@sm/intl';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport AppDirNavHeaderDesktop from './AppDirNavHeaderDesktop';\nimport AppDirNavHeaderMobile from './AppDirNavHeaderMobile';\nimport userDropDownQuery from './AppDirNavHeader.graphql';\n\nimport './app-dir-nav-header.scss';\n\nexport const COPY = defineMessages({\n NAV_EXPLORE: {\n id: 'AppsDirectory.AppDirNavHeader.ExploreLink',\n defaultMessage: 'Explore',\n description:\n '[Type: Link][Vis.: High] - A link that will direct the user to initial page of the app directory site',\n },\n NAV_MANAGE: {\n id: 'AppsDirectory.AppDirNavHeader.ManageLink',\n defaultMessage: 'Manage',\n description:\n '[Type: Link][Vis.: High] - A link that will direct the user their installed apps and will be able to manage them',\n },\n NAV_DEVELOP: {\n id: 'AppsDirectory.AppDirNavHeader.DevelopLink',\n defaultMessage: 'Develop',\n description: '[Type: Link][Vis.: High] - A link that will direct the user to the developer portal',\n },\n NAV_PARTNER: {\n id: 'AppsDirectory.AppDirNavHeader.PartnerLink',\n defaultMessage: 'Partner',\n description: '[Type: Link][Vis.: High] - A link that will direct the user to the partner form page',\n },\n});\n\nexport const subdomainUri = (altdomain, domain, subdomain, tld) => {\n if (subdomain !== 'www') {\n return `https://${altdomain}.${subdomain}.${domain}.${tld}`;\n }\n return `https://${altdomain}.${domain}.${tld}`;\n};\n\nconst navigationItems = ({ domain, subdomain, tld }) => [\n { target: '/apps', text: },\n {\n target: '/apps/my-apps',\n text: ,\n requiresAuthentication: true,\n },\n {\n target: subdomainUri('developer', domain, subdomain, tld),\n text: ,\n },\n {\n target: 'https://www.surveymonkey.com/mp/partner-program/',\n text: ,\n },\n];\n\nexport function shouldDisplayNavItem(user, nav) {\n return !nav.requiresAuthentication || (nav.requiresAuthentication && user.isAuthenticated);\n}\n\nconst AppDirNavHeader = () => {\n const { user, environment } = useContext(StaticContext);\n const { userAgent } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n return (\n \n {({ data }) => {\n const hasMultipleLinkedIdentities = data?.user?.linkedIdentities?.totalCount > 0;\n return (\n <>\n \n
    \n shouldDisplayNavItem(user, item)}\n isAuthenticated={user.isAuthenticated}\n showSwitchAccounts={hasMultipleLinkedIdentities}\n username={user && user.username ? user.username : ''}\n />\n
    \n
    \n \n
    \n shouldDisplayNavItem(user, item)}\n showSwitchAccounts={hasMultipleLinkedIdentities}\n isAuthenticated={user.isAuthenticated}\n />\n
    \n
    \n \n );\n }}\n
    \n );\n};\n\nexport default AppDirNavHeader;\n","import { SMHeader, StaticContext } from '@sm/webassets';\nimport React, { useContext } from 'react';\nimport AppDirNavHeader from '../AppDirNavHeader';\n\nconst ModernHeader = () => {\n const {\n environment: { languageCode: language },\n user,\n locale: { isEUDC },\n } = useContext(StaticContext);\n\n return (\n <>\n \n \n \n \n \n \n \n );\n};\n\nexport default ModernHeader;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BasePage, TabletScreen, MobileScreen, StaticContext, Helmet } from '@sm/webassets';\nimport { Grid, Row, Col } from '@sm/wds-react';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport NavBar from '../components/NavBar';\nimport UCSModule from '../../components/UCSModule';\n\nimport getCanonicalUrlOrNoIndex from '~app/helpers/getCanonicalUrlOrNoIndex';\n\nimport './app-directory-base-page.scss';\nimport ModernHeader from '../components/ModernHeader';\n\nconst AppDirectoryBasePage = ({ id, header, navbar, pageMetricsAttributes, children }) => {\n const {\n environment: { subdomain, domain, tld },\n userAgent,\n user,\n url,\n } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n\n const { noIndex, canonicalUrl } = getCanonicalUrlOrNoIndex(subdomain, domain, tld, url);\n\n return (\n \n \n \n \n \n \n \n \n \n {header}\n \n } />\n \n \n
    \n \n \n {navbar}\n \n \n \n \n {navbar}\n \n {children}\n \n
    \n
    \n
    \n );\n};\n\nAppDirectoryBasePage.propTypes = {\n id: PropTypes.string.isRequired,\n header: PropTypes.node,\n navbar: PropTypes.node,\n children: PropTypes.node.isRequired,\n pageMetricsAttributes: PropTypes.shape({}),\n};\n\nAppDirectoryBasePage.defaultProps = {\n header: ,\n navbar: ,\n pageMetricsAttributes: null,\n};\n\nexport default AppDirectoryBasePage;\n","export default function waitForUsabilla(callback) {\n let count = 0;\n const waitForUsabillaLiveToLoad = () => {\n if (window && window.usabilla_live) {\n count = 0;\n callback();\n } else {\n count += 1;\n if (count < 10) {\n setTimeout(waitForUsabillaLiveToLoad, 250);\n } else {\n // Give up and reset count\n count = 0;\n }\n }\n };\n\n waitForUsabillaLiveToLoad();\n}\n","import React, { useEffect } from 'react';\n\nimport { Helmet } from '@sm/webassets';\n\nimport JumboHeader from './components/JumboHeader';\nimport AppsGrid from './components/AppsGrid';\nimport AppDirectoryBasePage from '../AppDirectoryBasePage';\nimport ModernHeader from '../../components/ModernHeader';\nimport waitForUsabilla from '~app/helpers/waitForUsabilla';\n\nconst Home = () => {\n useEffect(() => {\n waitForUsabilla(() => {\n window.usabilla_live('show');\n window.usabilla_live('setForm', 'APP DIRECTORY');\n });\n }, []);\n\n return (\n
    \n \n \n \n \n }\n >\n \n SurveyMonkey App Directory & Integrations\n \n \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n );\n};\n\nexport default Home;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Typography } from '@sm/wds-react';\nimport AppPlaceHolderImg from '../../static/images/app-placeholder.png';\n// LinkWithSearch should be used so it will keep any existing query arguments present in the url (needed for ut_source)\nimport AppLink from '../AppLink';\n\nimport './app-listing-list.scss';\n\nconst AppListingList = ({ title, apps }) => (\n <>\n \n {title}\n \n\n
    \n {apps.map(app => (\n \n
    \n
    \n \n
    \n
    \n {app.name}\n {app.tagline}\n
    \n
    \n
    \n ))}\n
    \n \n);\n\nAppListingList.propTypes = {\n title: PropTypes.string,\n apps: PropTypes.arrayOf(\n PropTypes.shape({\n links: PropTypes.shape({\n detail: PropTypes.string.isRequired,\n }).isRequired,\n id: PropTypes.string.isRequired,\n logo: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n tagline: PropTypes.string,\n })\n ).isRequired,\n};\n\nAppListingList.defaultProps = {\n title: null,\n};\n\nexport default AppListingList;\n","import React, { useContext } from 'react';\n\nimport { SkeletonLoader, TabletScreen, MobileScreen, StaticContext } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nconst AppListingSkeleton = props => {\n const { userAgent } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\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 \n \n );\n};\n\nexport default AppListingSkeleton;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { Query } from 'react-apollo';\n\nimport { Helmet, StaticContext, ErrorCard, FourOhFourError, TabletScreen } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport NavBar from '../../components/NavBar';\nimport SearchBox from '../../components/SearchBox';\nimport AppListingList from '../../components/AppListingList';\nimport AppListingSkeleton from '../../components/AppListingList/AppListingSkeleton';\nimport AppDirectoryBasePage from '../AppDirectoryBasePage';\n\nimport { publishedApplicationListingCategory } from './listings.graphql';\n\nconst CATEGORIES_FETCH_LIMIT = 50;\n\nconst Categories = ({ match }) => {\n const {\n environment: { languageId, subdomain, tld },\n userAgent,\n } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n const { categoryKey } = match.params;\n return (\n \n \n
    \n \n
    \n
    \n \n \n }\n >\n \n {({ loading, error, data }) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n {`SurveyMonkey ${data.publishedApplicationListingCategory.name} Apps and Integrations`}\n \n \n \n \n \n );\n }}\n \n \n );\n};\n\nCategories.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n categoryKey: PropTypes.string.isRequired,\n }).isRequired,\n }).isRequired,\n};\n\nexport default Categories;\n","import React, { useContext } from 'react';\n\nimport PropTypes from 'prop-types';\nimport { Query } from 'react-apollo';\n\nimport { Helmet, StaticContext, ErrorCard, TabletScreen } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport NavBar from '../../components/NavBar';\nimport SearchBox from '../../components/SearchBox';\nimport AppListingList from '../../components/AppListingList';\nimport AppListingSkeleton from '../../components/AppListingList/AppListingSkeleton';\nimport AppDirectoryBasePage from '../AppDirectoryBasePage';\n\nimport { publishedApplicationListings } from './listings.graphql';\n\nconst LISTINGS_FETCH_LIMIT = 50;\n\nconst ListingsBasePage = ({ pageId, filter, title, pageTitle, description }) => {\n const {\n environment: { languageId, subdomain, tld },\n userAgent,\n } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n\n return (\n \n \n
    \n \n
    \n
    \n \n \n }\n >\n \n {pageTitle}\n \n \n \n {({ loading, error, data }) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n }}\n \n \n );\n};\n\nListingsBasePage.propTypes = {\n pageId: PropTypes.string.isRequired,\n filter: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n pageTitle: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n};\n\nexport default ListingsBasePage;\n","import React from 'react';\n\nimport { defineMessages } from '@sm/intl';\n\nimport ListingsBasePage from './ListingsBasePage';\n\nconst COPY = defineMessages({\n PAGE_TITLE: {\n id: 'Listings.Featured.Title',\n defaultMessage: 'Featured',\n description: '[Type: Header][Vis.: high] - The title of the page for the featured apps.',\n },\n});\n\nconst Featured = () => {\n return (\n \n );\n};\n\nexport default Featured;\n","import React from 'react';\n\nimport { defineMessages } from '@sm/intl';\n\nimport ListingsBasePage from './ListingsBasePage';\n\nconst COPY = defineMessages({\n PAGE_TITLE: {\n id: 'Listings.MostPopular.Title',\n defaultMessage: 'Most Popular',\n description: '[Type: Header][Vis.: high] - The title of the page for the most popular installed apps.',\n },\n});\n\nconst MostPopular = () => {\n return (\n \n );\n};\n\nexport default MostPopular;\n","import React from 'react';\n\nimport { defineMessages } from '@sm/intl';\n\nimport ListingsBasePage from './ListingsBasePage';\n\nconst COPY = defineMessages({\n PAGE_TITLE: {\n id: 'Listings.RecentlyAdded.Title',\n defaultMessage: 'Recently Added',\n description: '[Type: Header][Vis.: high] - The title of the page for the more recently added apps.',\n },\n});\n\nconst RecentlyAdded = () => {\n return (\n \n );\n};\n\nexport default RecentlyAdded;\n","import React, { useContext } from 'react';\nimport { Query } from 'react-apollo';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nimport { defineMessages } from '@sm/intl';\nimport { Typography, Card } from '@sm/wds-react';\nimport { StaticContext, ErrorCard, Helmet } from '@sm/webassets';\nimport { sanitizeString } from '@sm/utils';\n\nimport NavBar from '../../components/NavBar';\nimport SearchBox from '../../components/SearchBox';\nimport AppListingList from '../../components/AppListingList';\nimport AppListingSkeleton from '../../components/AppListingList/AppListingSkeleton';\nimport AppDirectoryBasePage from '../AppDirectoryBasePage';\n\nimport publishedApplicationListingsByKeywordQuery from './search.graphql';\n\nconst FETCH_LIMIT = 50;\n\nexport const COPY = defineMessages({\n SEARCH_RESULTS: {\n id: 'Search.Results',\n defaultMessage: 'Search results for',\n description: '[Type: Header][Vis.: med] - A small phrase describing the keyword used to search for apps',\n },\n RESULTS_NOT_FOUND: {\n id: 'Search.ResultsNotFound',\n defaultMessage: 'No apps were found for this keyword',\n description:\n '[Type: Paragraph][Vis.: low] - A message informing that no apps were found for the keyword used to search for apps.',\n },\n FILL_IN_KEYWORD: {\n id: 'Search.FillInKeyword',\n defaultMessage: 'You need to fill in a keyword to search for apps.',\n description:\n '[Type: Paragraph][Vis.: low] - A message informing that a keyword needs to be informed in order to search for apps',\n },\n});\n\nconst Search = ({ location: { search } }) => {\n const {\n environment: { languageId, subdomain, tld },\n } = useContext(StaticContext);\n const params = new URLSearchParams(search);\n const keyword = sanitizeString(params.get('q'));\n\n return (\n } pageMetricsAttributes={{ keyword }}>\n \n SurveyMonkey Apps & Integrations Search Results\n \n \n {({ loading, error, data }) => {\n return (\n <>\n \n \n {`${COPY.SEARCH_RESULTS.defaultMessage} \"${keyword}\"`}\n \n \n \n \n \n \n \n \n \n \n {COPY.RESULTS_NOT_FOUND.defaultMessage}\n \n \n \n \n \n \n \n {COPY.FILL_IN_KEYWORD.defaultMessage}\n \n \n \n \n );\n }}\n \n \n );\n};\n\nSearch.propTypes = {\n location: PropTypes.shape({ search: PropTypes.string }).isRequired,\n};\n\nexport default withRouter(Search);\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Mutation } from 'react-apollo';\n\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Align, Button } from '@sm/wds-react';\nimport { defineMessages } from '@sm/intl';\n\nimport uninstallAppMutation from './remove-app.graphql';\n\nconst COPY = defineMessages({\n REMOVE_DIALOG_HEADER: {\n id: 'AppsDirectory.RemoveApp.DialogHeader',\n defaultMessage: 'Remove App',\n description: '[Type: Header][Vis.: low] - The header of the dialog window displaying a confirmation message',\n },\n REMOVE_DIALOG_MESSAGE: {\n id: 'AppsDirectory.RemoveApp.DialogMessage',\n defaultMessage: 'Would you like to uninstall this app?',\n description:\n '[Type: Paragraph][Vis.: low] - A message asking the user to confirm if they really want to uninstall the selected app',\n },\n REMOVE_DIALOG_CONFIRM: {\n id: 'AppsDirectory.RemoveApp.UninstallButton',\n defaultMessage: 'Uninstall',\n description: '[Type: Button][Vis.: low] - A button confirming that user will uninstall a given application',\n },\n REMOVE_DIALOG_CANCEL: {\n id: 'AppsDirectory.RemoveApp.CancelButton',\n defaultMessage: 'Cancel',\n description: '[Type: Button][Vis.: low] - A button cancelling the request to uninstall a given application',\n },\n});\n\nconst RemoveApp = ({ children, appId, onSuccess, onClose }) => {\n const [confirmDialogVisible, setConfirmDialogVisible] = useState(false);\n return (\n <>\n setConfirmDialogVisible(true)}\n role=\"button\"\n tabIndex={0}\n onKeyUp={e => {\n if (e.key === 'Enter') {\n setConfirmDialogVisible(true);\n }\n }}\n data-testid=\"RemoveApp\"\n >\n {children}\n \n {\n setConfirmDialogVisible(false);\n onSuccess();\n }}\n >\n {(uninstallApp, { loading }) => {\n return (\n {\n setConfirmDialogVisible(false);\n onClose();\n }}\n >\n \n {COPY.REMOVE_DIALOG_MESSAGE.defaultMessage}\n \n \n \n {\n setConfirmDialogVisible(false);\n onClose();\n }}\n color=\"alt\"\n >\n {COPY.REMOVE_DIALOG_CANCEL.defaultMessage}\n \n \n \n \n );\n }}\n \n \n );\n};\n\nRemoveApp.propTypes = {\n children: PropTypes.node.isRequired,\n appId: PropTypes.string.isRequired,\n onClose: PropTypes.func,\n onSuccess: PropTypes.func,\n};\n\nRemoveApp.defaultProps = {\n onClose: () => {},\n onSuccess: () => {},\n};\n\nexport default RemoveApp;\n","import React, { useContext } from 'react';\nimport { Query } from 'react-apollo';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nimport { StaticContext, ErrorCard, TabletScreen, Helmet } from '@sm/webassets';\nimport { defineMessages } from '@sm/intl';\nimport { Card, Typography } from '@sm/wds-react';\nimport { IconDesktop, IconTrash, IconBadge } from '@sm/wds-icons';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport NavBar from '../../components/NavBar';\nimport SearchBox from '../../components/SearchBox';\nimport RemoveApp from '../../components/RemoveApp';\nimport AppLink from '../../components/AppLink';\nimport AppListingSkeleton from '../../components/AppListingList/AppListingSkeleton';\nimport AppDirectoryBasePage from '../AppDirectoryBasePage';\n\nimport installedApplications from './myApps.graphql';\nimport './my-apps.scss';\nimport AppPlaceHolderImg from '../../static/images/app-placeholder.png';\n\nconst FETCH_LIMIT = 50;\n\nconst COPY = defineMessages({\n NO_RESULTS_FOUND: {\n id: 'MyApps.NoResultsFound',\n defaultMessage: 'You currently have no installed apps',\n description:\n '[Type: Paragraph][Vis.: med] - A message informing the current user that there are not installed apps',\n },\n PAGE_TITLE: {\n id: 'MyApps.PageTitle',\n defaultMessage: 'Installed Apps',\n description:\n '[Type: Header][Vis.: high] - The title of the page displaying the installed apps for the current user',\n },\n LAUNCH_APP_LINK: {\n id: 'MyApps.LaunchAppLink',\n defaultMessage: 'Launch',\n description: '[Type: Link][Vis.: med] - A link that will direct the user to launch page for a given application',\n },\n APP_DETAILS_LINK: {\n id: 'MyApps.AppDetailsLink',\n defaultMessage: 'Details',\n description: '[Type: Link][Vis.: med] - A link that will direct the user to details of a given application',\n },\n REMOVE_APP_LINK: {\n id: 'MyApps.RemoveAppLink',\n defaultMessage: 'Remove',\n description: '[Type: Link][Vis.: med] - A link that direct the user to uninstall a given application',\n },\n});\n\nfunction renderCategories(categories) {\n if (!categories || !categories.length) {\n return null;\n }\n return {categories.map(c => c.name).join(' ')};\n}\n\nconst MyApps = ({ location: { search } }) => {\n const {\n environment: { languageId },\n userAgent,\n } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n\n return (\n \n \n
    \n \n
    \n
    \n \n \n }\n >\n \n SurveyMonkey Installed Apps\n \n \n {({ loading, error, data, refetch }) => {\n return (\n <>\n \n {COPY.PAGE_TITLE.defaultMessage}\n \n \n \n \n \n \n \n \n \n \n {COPY.NO_RESULTS_FOUND.defaultMessage}\n \n \n \n
    \n {data.installedApplications.items.map(app => (\n \n
    \n
    \n \n
    \n
    \n \n {app.name}\n \n {renderCategories(app.categories)}\n
    \n
    \n
    \n \n \n {COPY.LAUNCH_APP_LINK.defaultMessage}\n \n \n \n {COPY.APP_DETAILS_LINK.defaultMessage}\n \n
    \n \n refetch()}>\n
    \n \n {COPY.REMOVE_APP_LINK.defaultMessage}\n
    \n
    \n
    \n
    \n
    \n
    \n ))}\n \n
    \n
    \n \n );\n }}\n \n \n );\n};\n\nMyApps.propTypes = {\n location: PropTypes.shape({ search: PropTypes.string }).isRequired,\n};\n\nexport default withRouter(MyApps);\n","import React, { useContext } from 'react';\n\nimport { SkeletonLoader, DesktopScreen, MobileScreen, StaticContext } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nconst AppDirectoryAppDetailsSkeleton = props => {\n const { userAgent } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\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 \n );\n};\n\nexport default AppDirectoryAppDetailsSkeleton;\n","import React from 'react';\n\nimport { SkeletonLoader } from '@sm/webassets';\nimport { ProgressCircle } from '@sm/wds-react';\n\nimport './ucs-module-loaders.scss';\n\nconst TopBarSkeleton = () => (\n
    \n \n
    \n);\n\nconst DefaultLoader = () => (\n
    \n \n
    \n);\n\nconst MODULE_SKELETONS = {\n top_bar: TopBarSkeleton,\n};\n\nexport default DefaultLoader;\nexport { MODULE_SKELETONS };\n","import React, { Component } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport { ErrorBoundary, clientErrorHandler } from '@sm/webassets';\n\nimport { sanitizeString } from '@sm/utils';\nimport DefaultLoader, { MODULE_SKELETONS } from './UCSModuleLoaders';\n\nconst UCS_CONTAINER_ID_PREFIX = 'ucs-content';\n\n// TODO: this component is a duplicate of UCSModule from coreweb and\n// will need to be moved somewhere common\nclass UCSModule extends Component {\n static propTypes = {\n className: PropTypes.string,\n moduleName: PropTypes.string,\n customLoader: PropTypes.node,\n };\n\n static defaultProps = {\n moduleName: null,\n className: null,\n customLoader: null,\n };\n\n state = {\n data: {\n moduleHTML: null,\n },\n loading: true,\n error: false,\n };\n\n componentDidMount() {\n this._isMounted = true;\n this.getModuleHTML();\n }\n\n componentWillUnmount() {\n this._isMounted = false;\n }\n\n getPreloadedModule() {\n const { moduleName } = this.props;\n const moduleContainer = document.getElementById(`${UCS_CONTAINER_ID_PREFIX}-${moduleName}`);\n if (moduleContainer) {\n moduleContainer.remove();\n return moduleContainer.textContent;\n }\n return null;\n }\n\n async getModuleHTML() {\n const reFetchFailed = () => {\n this.setState({\n loading: false,\n error: true,\n });\n };\n\n let moduleHTML = this.getPreloadedModule();\n if (!moduleHTML) {\n try {\n moduleHTML = await this.reFetchModule();\n if (!this._isMounted) {\n return null;\n }\n } catch (error) {\n if (!this._isMounted) {\n return null;\n }\n clientErrorHandler.logError(error, 'ucsFetchFailure');\n return reFetchFailed();\n }\n }\n\n if (moduleHTML === null) {\n return reFetchFailed();\n }\n\n return this.setState({\n data: { moduleHTML },\n loading: false,\n error: false,\n });\n }\n\n async reFetchModule() {\n const { moduleName } = this.props;\n const moduleContent = await fetch(`/content/api/ucs/${moduleName}/html`, {\n credentials: 'include',\n });\n const moduleJson = await moduleContent.json();\n return moduleJson.html;\n }\n\n renderLoadingState = () => {\n const { customLoader, moduleName } = this.props;\n const ModuleLoader = MODULE_SKELETONS[moduleName];\n\n if (customLoader) {\n return customLoader;\n }\n\n if (ModuleLoader) {\n return ;\n }\n\n return ;\n };\n\n render() {\n const { className } = this.props;\n const { data, loading, error } = this.state;\n // fail silently\n const errorComponent = null;\n\n const classNames = classnames('sm-ucs-module__content-container', className);\n\n return (\n \n {this.renderLoadingState()}\n {errorComponent}\n \n \n \n \n );\n }\n}\n\nconst BoundUCSModule = props => (\n \n \n \n);\n\nexport default BoundUCSModule;\n","import React, { useState, useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { StaticContext, DesktopScreen, MobileScreen } from '@sm/webassets';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nconst MediaCarousel = ({ media }) => {\n const [current, setCurrent] = useState(0);\n const currentMedia = media[current];\n const { userAgent } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n\n if (!currentMedia) {\n return null;\n }\n\n return (\n <>\n \n
    \n {media.map(m => (\n \n \n \n \n
    \n \n \n \n \n \n \n \n ))}\n \n
    \n \n <>\n
    \n \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n
    \n \n {media.map((m, mediaIdx) => (\n {\n if (e.key === 'Enter') {\n setCurrent(mediaIdx);\n }\n }}\n role=\"button\"\n onClick={() => {\n setCurrent(mediaIdx);\n }}\n tabIndex={0}\n >\n \n \n \n \n \n \n \n \n \n ))}\n \n \n
    \n \n );\n};\nMediaCarousel.propTypes = {\n media: PropTypes.arrayOf(\n PropTypes.shape({\n type: PropTypes.oneOf(['youtube', 'image']).isRequired,\n url: PropTypes.string.isRequired,\n altText: PropTypes.string.isRequired,\n })\n ).isRequired,\n};\n\nexport default MediaCarousel;\n","import React from 'react';\nimport { Typography } from '@sm/wds-react';\n\nconst AppDetailsItem = (icon, label, link, linkLabel, search) => (\n
    \n
    {icon}
    \n
    \n {`${label}:`}\n {/* The query params need to be preserved between urls (needed for ut_source) */}\n \n \n {linkLabel}\n \n \n
    \n
    \n);\n\nexport default AppDetailsItem;\n","import React, { useState, useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { useQuery } from 'react-apollo';\nimport ReactGA from 'react-ga';\n\nimport { defineMessages, substitute } from '@sm/intl';\nimport {\n BasePage,\n Helmet,\n StaticContext,\n ErrorCard,\n DesktopScreen,\n MobileScreen,\n FourOhFourError,\n} from '@sm/webassets';\nimport { Grid, Row, Col, Typography, Banner, Button, Card, Tabs, Tab } from '@sm/wds-react';\nimport {\n IconTag,\n IconEmail,\n IconGlobe,\n IconLock,\n IconLogoWhatsApp,\n IconMegaphone,\n IconNews,\n IconCheck,\n IconGear,\n IconUserFilled,\n} from '@sm/wds-icons';\nimport { sanitizeString, getClientEnvironmentDetails } from '@sm/utils';\nimport { MetricsTracker, generateMetricsAttribute, USER_EVENTS } from '@sm/metrics';\n\nimport AppDirectoryAppDetailsSkeleton from './AppDirectoryAppDetailsSkeleton';\n\nimport './app-directory-app-details.scss';\nimport publishedApplicationListingDetails from './published-application-listing-details.graphql';\nimport previewApplicationListingDetails from './preview-application-listing-details.graphql';\nimport RemoveApp from '../../components/RemoveApp';\nimport AppPlaceHolderImg from '../../static/images/app-placeholder.png';\n\nimport UCSModule from '../../components/UCSModule';\nimport getCanonicalUrlOrNoIndex from '~app/helpers/getCanonicalUrlOrNoIndex';\nimport waitForUsabilla from '~app/helpers/waitForUsabilla';\nimport MediaCarousel from './MediaCarousel';\nimport AppDetailsItem from './AppDetailsItem';\nimport ModernHeader from '../../components/ModernHeader';\n\nconst COPY = defineMessages({\n APP_DETAILS_HEADER: {\n id: 'Details.AppDetails',\n defaultMessage: 'App Details',\n description: '[Type: Header][Vis.: low] - A header preceding the full description of the current app',\n },\n REQUIRED_ACCESS_LABEL: {\n id: 'Details.RequiredAccess',\n defaultMessage: 'This app will require access to:',\n description:\n '[Type: Label][Vis.: low] - A label preceding a list of requirements before the current application could be installed',\n },\n REQUIRED_ACCOUNT_LABEL: {\n id: 'Details.RequiredAccount',\n defaultMessage: 'This app will require an additional {accountType} account:',\n description:\n '[Type: Label][Vis.: low] - A label preceding a description of an external account required by the app',\n },\n INSTALLED_LABEL: {\n id: 'Details.Installed',\n defaultMessage: 'Installed',\n description:\n '[Type: Label][Vis.: low] - A label indicating that the user has the current visible application installed',\n },\n INSTALL_LABEL: {\n id: 'Details.Install',\n defaultMessage: 'Install',\n description:\n '[Type: Label][Vis.: low] - A link/button that will redirect the user to the install page for the current app',\n },\n VISIT_SITE_LABEL: {\n id: 'Details.VisitSite',\n defaultMessage: 'Visit Site',\n description:\n '[Type: Link][Vis.: med] - A link/button that will redirect the user to the site of the application they are trying to install',\n },\n LAUNCH_LABEL: {\n id: 'Details.Launch',\n defaultMessage: 'Launch',\n description:\n '[Type: Link][Vis.: med] - A link/button that will redirect the user to the current visible application',\n },\n UPGRADE_LABEL: {\n id: 'Details.Upgrade',\n defaultMessage: 'Upgrade',\n description:\n '[Type: Link][Vis.: med] - A link/button that will redirect the user to the upgrade page for the visible application',\n },\n REMOVE_APP: {\n id: 'Details.RemoveApp',\n defaultMessage: 'Remove App',\n description:\n '[Type: Link][Vis.: low] - A link/button that will open a dialog requesting the user to confirm the removal of the current app',\n },\n});\n\nfunction getLangFromUrl(search) {\n return new URLSearchParams(search).get('lang') || 'en';\n}\n\nconst AppDirectoryAppDetails = ({\n match: {\n params: { appId },\n },\n location: { search, pathname },\n preview,\n}) => {\n const [selectedTab, setSelectedTab] = useState(0);\n const [pageTracked, setPageTracked] = useState(false);\n const [googleTracked, setGoogleTracked] = useState(false);\n const { userAgent, user } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n const {\n environment: { subdomain, domain, tld },\n url,\n } = useContext(StaticContext);\n const language = getLangFromUrl(search);\n const { noIndex, canonicalUrl } = getCanonicalUrlOrNoIndex(subdomain, domain, tld, url);\n const onCompleted = appDetails => {\n if (appDetails && appDetails.details.googleAnalyticsTrackingId && !googleTracked) {\n const trackerName = 'app-dir-details-pageview';\n ReactGA.initialize(appDetails.details.googleAnalyticsTrackingId, {\n name: trackerName, // this is tracker name in case there are other trackers on the page\n });\n ReactGA.pageview(pathname, [trackerName]);\n setGoogleTracked(true);\n }\n\n if (appDetails && !pageTracked) {\n MetricsTracker.track({\n name: USER_EVENTS.COMPONENT_ADD,\n data: {\n actionFlow: 'browsing',\n actionType: 'app_details.page_view',\n appId: appDetails.id,\n appName: appDetails.name,\n },\n });\n setPageTracked(true);\n }\n };\n\n const getAppDetails = (data = {}) =>\n preview ? data.previewApplicationListingDetails : data.publishedApplicationListingDetails;\n\n const {\n loading,\n error,\n refetch,\n data: queryData = {},\n } = useQuery(preview ? previewApplicationListingDetails : publishedApplicationListingDetails, {\n variables: { language, appId },\n onCompleted: (data = {}) => onCompleted(getAppDetails(data)),\n });\n const appDetails = getAppDetails(queryData);\n\n useEffect(() => {\n waitForUsabilla(() => {\n window.usabilla_live('show');\n window.usabilla_live('setForm', 'AppDirectoryForm');\n });\n }, []);\n\n return (\n \n \n \n } />\n \n\n \n \n \n \n \n \n \n \n
    \n \n
    \n
    \n \n \n {`${appDetails.name} - SurveyMonkey App Integration`}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {appDetails.name}\n \n \n \n \n {appDetails.tagline}\n \n \n \n \n
    \n \n {appDetails.name}\n \n \n \n \n
    \n {appDetails.tagline}\n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n {COPY.INSTALL_LABEL.defaultMessage}\n \n \n \n \n
    \n \n \n {COPY.APP_DETAILS_HEADER.defaultMessage}}\n >\n \n
    \n \n \n \n This app requires an upgraded plan to function\n \n This app requires an upgraded plan to access some functionality\n \n \n \n
    \n \n {AppDetailsItem(\n ,\n 'Publisher',\n appDetails.details.websiteUrl,\n appDetails.details.publisher,\n search\n )}\n \n {AppDetailsItem(\n ,\n 'Email',\n `mailto:${appDetails.details.supportEmail}`,\n appDetails.details.supportEmail,\n search\n )}\n \n \n {AppDetailsItem(\n ,\n 'Phone',\n `tel:${appDetails.details.supportPhoneNumber}`,\n appDetails.details.supportPhoneNumber,\n search\n )}\n \n \n {AppDetailsItem(\n ,\n 'Support Website',\n `${appDetails.details.supportUrl}`,\n appDetails.details.supportUrl,\n search\n )}\n \n {AppDetailsItem(\n ,\n 'Privacy Policy',\n appDetails.details.privacyPolicyUrl,\n appDetails.details.privacyPolicyUrl,\n search\n )}\n {AppDetailsItem(\n ,\n 'Terms of Service',\n appDetails.details.termsOfUseUrl,\n appDetails.details.termsOfUseUrl,\n search\n )}\n \n {AppDetailsItem(\n ,\n 'Blog',\n `${appDetails.details.blogUrl}`,\n appDetails.details.blogUrl,\n search\n )}\n \n \n \n refetch()}>\n \n {COPY.REMOVE_APP.defaultMessage}\n \n \n \n \n \n ({\n url: s,\n type: 'image',\n altText: appDetails.name,\n }))\n )}\n />\n
    \n {appDetails.details.featureList.map(feature => (\n
    \n \n \n {feature}\n \n
    \n ))}\n
    \n
    \n setSelectedTab(value)}>\n \n \n \n \n \n \n {substitute(COPY.REQUIRED_ACCOUNT_LABEL.defaultMessage, {\n accountType: appDetails.details.requirements.type,\n })}\n \n
      \n
    • \n \n \n \n {appDetails.details.requirements.label}\n \n \n
    • \n
    \n \n

    {appDetails.details.requirements.description}

    \n
    \n
    \n \n \n {COPY.REQUIRED_ACCESS_LABEL.defaultMessage}\n \n
      \n {appDetails.details.scopes.map(scope => (\n
    • \n \n {scope}\n
    • \n ))}\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nAppDirectoryAppDetails.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n appId: PropTypes.string.isRequired,\n }).isRequired,\n }).isRequired,\n location: PropTypes.shape({\n search: PropTypes.string,\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n preview: PropTypes.bool,\n};\n\nAppDirectoryAppDetails.defaultProps = {\n preview: false,\n};\n\nexport default AppDirectoryAppDetails;\n","import React, { useContext } from 'react';\n\nimport { StaticContext } from '@sm/webassets';\nimport { Button, Typography } from '@sm/wds-react';\n\nimport './jumbo-header.scss';\n\nconst JumboHeader = () => {\n const { user, HEADER_EXP: { isModernTreatment = false } = {} } = useContext(StaticContext);\n const shouldShowNewHeader = user.isAuthenticated && isModernTreatment;\n return (\n \n \n We're better together\n \n \n Connect SurveyMonkey with the apps you use daily—gather holistic feedback from the right audience at the right\n time. right place, and take insights-driven actions fast.\n \n {!user.isAuthenticated && (\n \n )}\n \n );\n};\n\nexport default JumboHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Card, Col, If } from '@sm/wds-react';\nimport { Typography } from '@wds/typography';\nimport AppPlaceHolderImg from '~app/pages/AppsDirectory/static/images/app-placeholder.png';\nimport AppLink from '~app/pages/AppsDirectory/components/AppLink';\n\nimport './app-card.scss';\n\nconst AppCard = ({ app }) => {\n return (\n \n \n \n {app.name}\n {app.name}\n \n \n \n {app.categories[0].name}\n \n \n \n \n \n \n );\n};\n\nAppCard.propTypes = {\n app: PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n logo: PropTypes.string.isRequired,\n links: PropTypes.shape({\n detail: PropTypes.string.isRequired,\n }),\n categories: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n }).isRequired\n ),\n }).isRequired,\n};\n\nexport default AppCard;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { Grid, Row } from '@sm/wds-react';\nimport AppCard from '../AppCard';\n\nimport './apps-grid.scss';\n\nconst AppsGrid = ({ apps = [] }) => (\n \n \n {apps.map(app => (\n \n ))}\n \n \n);\n\nAppsGrid.propTypes = {\n apps: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n logo: PropTypes.string.isRequired,\n links: PropTypes.shape({\n detail: PropTypes.string.isRequired,\n }),\n categories: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n }).isRequired\n ),\n })\n ).isRequired,\n};\n\nexport default AppsGrid;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nconst SearchContext = React.createContext({\n search: '',\n filters: [],\n});\n\nconst SearchProvider = ({ children }) => {\n const [search, setSearch] = useState('');\n const [filters, setFilters] = useState([]);\n\n const updateSearch = newSearch => setSearch(newSearch);\n const updateFilter = filter => setFilters(filter);\n\n return (\n \n {children}\n \n );\n};\n\nSearchProvider.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nconst SearchConsumer = SearchContext.Consumer;\n\nexport { SearchProvider, SearchConsumer };\n","// TODO: To ve removed after INTEGRATE-3825\n\nexport const FEATURED = { key: 'featured', name: 'Featured' };\nexport const MOST_POPULAR = { key: 'most-popular', name: 'Most Popular' };\n\nexport const ANALYTICS_REPORTING = { key: 'analytics-reporting', name: 'Analytics & Reporting' };\nexport const AUTOMATION = { key: 'automation', name: 'Automation' };\nexport const COLLABORATION = { key: 'collaboration', name: 'Collaboration' };\nexport const E_COMMERCE = { key: 'e-commerce', name: 'E-commerce' };\nexport const DIGITAL_EXPERIENCE = { key: 'digital-experience', name: 'Digital/Web Experience' };\nexport const MARKETING = { key: 'marketing', name: 'Marketing' };\nexport const CRM = { key: 'crm', name: 'CRM' };\nexport const CUSTOMER_SUPPORT = { key: 'customer-support', name: 'Customer Support' };\nexport const SOCIAL = { key: 'social', name: 'Social' };\nexport const HRIS = { key: 'hris', name: 'HRIS' };\nexport const PRODUCTIVITY = { key: 'productivity', name: 'Productivity' };\nexport const EDUCATION = { key: 'education', name: 'Education' };\nexport const REWARDS = { key: 'rewards', name: 'Rewards' };\nexport const EVENTS = { key: 'events', name: 'Events' };\n\nexport const BY_SURVEYMONKEY = { key: 'by-surveymonkey', name: 'Built by SurveyMonkey' };\nexport const BY_PARTNER = { key: 'by-partner', name: 'Built by Partner' };\nexport const ZAPIER_ENABLED = { key: 'zapier-enabled', name: 'Enabled via Zapier' };\n\nexport const SM_FREE_PLAN = { key: 'sm-free-plan', name: 'SurveyMonkey Free Plan' };\nexport const SM_PAID_PLAN = { key: 'sm-paid-plan', name: 'SurveyMonkey Paid Plan' };\nexport const SM_ENTERPRISE_PLAN = { key: 'sm-enterprise-plan', name: 'SurveyMonkey Enterprise Plan' };\n\nexport const DEFAULT_FILTERS = [FEATURED, MOST_POPULAR];\n\nexport const APP_CATEGORIES = [\n ANALYTICS_REPORTING,\n AUTOMATION,\n COLLABORATION,\n E_COMMERCE,\n DIGITAL_EXPERIENCE,\n MARKETING,\n CRM,\n CUSTOMER_SUPPORT,\n SOCIAL,\n HRIS,\n PRODUCTIVITY,\n EDUCATION,\n REWARDS,\n EVENTS,\n];\n\nexport const INTEGRATE_TYPES = [BY_SURVEYMONKEY, BY_PARTNER, ZAPIER_ENABLED];\n\nexport const AVAILABLE_IN = [SM_FREE_PLAN, SM_PAID_PLAN, SM_ENTERPRISE_PLAN];\n","import React from 'react';\nimport { Checkbox } from '@sm/wds-react';\nimport { SearchConsumer } from '../SearchContext';\n\nimport { DEFAULT_FILTERS, APP_CATEGORIES, INTEGRATE_TYPES, AVAILABLE_IN } from '../SearchContext/FilterOptions';\n\nconst FilterNav = () => {\n return (\n \n {({ filters, updateFilter }) => {\n const isChecked = filter => filters.includes(filter);\n const handleChange = filter =>\n updateFilter(isChecked(filter) ? filters.filter(f => f !== filter) : [...filters, filter]);\n\n const renderFilter = ({ name, key, id }) => (\n
    \n handleChange(key)}\n checked={isChecked(key)}\n />\n
    \n );\n\n return (\n
    \n

    Filter

    \n {DEFAULT_FILTERS.map(cat => renderFilter(cat))}\n

    App Category

    \n {/* TODO: use a query to fetch the application categories (INTEGRATE-3825) */}\n {APP_CATEGORIES.map(cat => renderFilter(cat))}\n

    Integration Type

    \n {INTEGRATE_TYPES.map(cat => renderFilter(cat))}\n

    Available in

    \n {AVAILABLE_IN.map(cat => renderFilter(cat))}\n
    \n );\n }}\n
    \n );\n};\n\nexport default FilterNav;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BasePage, TabletScreen, StaticContext, Helmet } from '@sm/webassets';\nimport { Grid, Row, Col } from '@sm/wds-react';\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport ModernHeader from '../../components/ModernHeader';\nimport { SearchProvider } from '../../components/SearchContext';\nimport FilterNav from '../../components/FilterNav';\n\nimport SearchBox from '../../components/SearchBox';\nimport UCSModule from '../../components/UCSModule';\n\nimport getCanonicalUrlOrNoIndex from '~app/helpers/getCanonicalUrlOrNoIndex';\n\nimport './app-directory-base-page.scss';\n\nconst AppDirectoryBasePage = ({ id, header, navbar, pageMetricsAttributes, children }) => {\n const {\n environment: { subdomain, domain, tld },\n userAgent,\n user,\n url,\n } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n\n const { noIndex, canonicalUrl } = getCanonicalUrlOrNoIndex(subdomain, domain, tld, url);\n\n return (\n \n \n \n \n \n \n \n \n \n {header}\n \n } />\n \n \n \n
    \n \n
    \n \n
    \n
    \n \n \n {navbar}\n \n {children}\n \n
    \n
    \n
    \n
    \n );\n};\n\nAppDirectoryBasePage.propTypes = {\n id: PropTypes.string.isRequired,\n header: PropTypes.node,\n navbar: PropTypes.node,\n children: PropTypes.node.isRequired,\n pageMetricsAttributes: PropTypes.shape({}),\n};\n\nAppDirectoryBasePage.defaultProps = {\n header: ,\n navbar: ,\n pageMetricsAttributes: null,\n};\n\nexport default AppDirectoryBasePage;\n","import React, { useEffect } from 'react';\n\nimport { Helmet } from '@sm/webassets';\n\nimport JumboHeader from './components/JumboHeader';\nimport AppsGrid from './components/AppsGrid';\nimport AppDirectoryBasePage from './AppDirectoryBasePage';\nimport ModernHeader from '../../components/ModernHeader';\nimport waitForUsabilla from '~app/helpers/waitForUsabilla';\n\nconst HomeV2 = () => {\n useEffect(() => {\n waitForUsabilla(() => {\n window.usabilla_live('show');\n window.usabilla_live('setForm', 'APP DIRECTORY');\n });\n }, []);\n\n return (\n
    \n \n \n \n \n }\n >\n \n SurveyMonkey App Directory & Integrations\n \n \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n );\n};\n\nexport default HomeV2;\n","import React, { useEffect, useContext } from 'react';\nimport { Route, withRouter, Switch } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { FourOhFourError, StaticContext } from '@sm/webassets';\nimport { MetricsTracker } from '@sm/metrics';\n\nimport {\n HomePage,\n CategoriesPage,\n FeaturedPage,\n MostPopularPage,\n RecentlyAddedPage,\n SearchPage,\n MyAppsPage,\n DetailsPage,\n HomePageV2,\n} from './pages';\n\nconst AppsDirectoryRouter = ({ history }) => {\n const {\n user,\n environment: { countryCode: country },\n 'client-config': { loggingAPIPath, amplitudeToken },\n } = useContext(StaticContext);\n\n useEffect(() => {\n const unlisten = history.listen(() => {\n window.scrollTo(0, 0);\n });\n return () => {\n unlisten();\n };\n }, [history]);\n\n useEffect(() => {\n MetricsTracker.initialize({\n user: { id: user.id, isAuthenticated: user.isAuthenticated },\n loggingAPIPath,\n country,\n pageId: 'AppDirectory',\n amplitudeToken,\n });\n }, [user, country, loggingAPIPath, amplitudeToken]);\n\n // Hide usabilla for all pages - each individual page will set usabilla configs and show if enabled\n // Note the load of usabilla hides the button so this code is included if usabilla has already been loaded\n if (typeof window !== 'undefined' && window && window.usabilla_live) {\n window.usabilla_live('virtualPageView');\n window.usabilla_live('hide');\n }\n\n return (\n \n } />\n \n \n \n \n \n \n \n\n \n\n \n\n \n \n );\n};\n\nAppsDirectoryRouter.propTypes = {\n history: PropTypes.shape({\n listen: PropTypes.func.isRequired,\n }).isRequired,\n};\n\nexport default withRouter(AppsDirectoryRouter);\n","export const PRODUCT_CATEGORY = Object.freeze({\n AUDIENCE: 'audience_panel',\n EXPERT_SOLUTIONS: 'expert_solutions',\n});\n\nexport const FILTER_KEY = Object.freeze({\n CATEGORY: 'category',\n});\n\nexport const NAV_VARIANT = Object.freeze({\n LIGHT: 'light',\n DARK: 'dark',\n});\n","import { useContext } from 'react';\nimport { StaticContext } from '@sm/webassets';\n\nexport const BROWSER = Object.freeze({\n IE: 'IE',\n UNKNOWN: 'UNKNOWN',\n});\n\nconst useBrowser = () => {\n const { userAgent } = useContext(StaticContext);\n /*\n This kind of naive browser testing should be replaced by Thiago's (MOD-312)\n when it is ready. This is just a stop-gap until it becomes available.\n This only detects IE 11; since we do not support earlier versions anyway.\n */\n if (typeof window === 'undefined') {\n if (userAgent.indexOf('Trident/7.0') >= 0) return BROWSER.IE;\n return BROWSER.UNKNOWN;\n }\n if (!!window.MSInputMethodContext && !!document.documentMode) {\n return BROWSER.IE;\n }\n return BROWSER.UNKNOWN;\n};\n\nexport default useBrowser;\n","const getOnClickHandlers = handler => ({\n onClick: handler,\n onKeyPress: e => {\n if (e.key === 'Enter') handler();\n },\n});\n\nexport default getOnClickHandlers;\n","import { useEffect, useLayoutEffect } from 'react';\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' &&\n typeof window.document !== 'undefined' &&\n typeof window.document.createElement !== 'undefined'\n ? useLayoutEffect\n : useEffect;\n\nexport default useIsomorphicLayoutEffect;\n","/**\n * Takes a base link along with some query parameters and an anchor tag and\n * returns a formed link given the parameters given. Example:\n * getLinkWithParams('example.com', { queryParams: { key: 'value&' }, anchor: 'top' })\n * returns: 'example.com?key=value%26#top'\n * @param {string} href String base link\n * @param {object} config Can contain keys queryParams as an object and anchor as a string\n */\nconst getLinkWithParams = (href, config) => {\n const { queryParams = {}, anchor } = config;\n const mHref = `${href}?`;\n const mQueryParams = Object.keys(queryParams)\n .map(paramKey => `${encodeURIComponent(paramKey)}=${encodeURIComponent(queryParams[paramKey])}`)\n .join('&');\n const mAnchor = anchor ? `#${anchor}` : '';\n return mHref + mQueryParams + mAnchor;\n};\n\nexport default getLinkWithParams;\n","import PropTypes from 'prop-types';\nimport { MetricsTracker, USER_EVENTS } from '@sm/metrics';\nimport getLinkWithParams from './getLinkWithParams';\n\nconst buildEventData =\n actionFlow =>\n (actionType, data = {}) => ({\n data: {\n actionFlow,\n actionType,\n ...data,\n },\n });\n\nconst trackEvent = actionFlow => (actionType, data) => {\n MetricsTracker.track({\n name: USER_EVENTS.ELEMENT_INTERACTION,\n ...buildEventData(actionFlow)(actionType, data),\n });\n};\n\nconst createLogger = actionFlow => ({\n trackEvent: trackEvent(actionFlow),\n buildEventData: buildEventData(actionFlow),\n});\n\nexport const LOGGER_NAME = Object.freeze({\n SOLUTIONS: 'mrx_solutions',\n NAV: 'mrx_navigation_menu',\n BI_MARKETPLACE_MODAL: 'marketplace_modal',\n});\n\nclass ActionFlowLogger {\n constructor(actionFlow) {\n this.logger = createLogger(actionFlow);\n }\n\n registerActionKey = (key, handlerName, handler) => {\n if (!handlerName) {\n this[key] = (...args) => this.logger.trackEvent(...handler(...args));\n } else {\n if (!this[key]) {\n this[key] = {};\n }\n this[key][handlerName] = (...args) => this.logger.trackEvent(...handler(...args));\n }\n return this;\n };\n}\n\nconst removeSpaces = str => str.replace(' ', '_');\n\nconst getLoggedModuleType = moduleType => {\n if (moduleType === 'CONCEPT_TESTING') {\n return 'CTM';\n }\n return moduleType;\n};\n\nconst getLogger = loggerName => {\n switch (loggerName) {\n case LOGGER_NAME.SOLUTIONS:\n case LOGGER_NAME.NAV:\n return new ActionFlowLogger(loggerName)\n .registerActionKey('click', 'learnMore', moduleTitle => [`CLICK_${removeSpaces(moduleTitle)}_LEARN_MORE`])\n .registerActionKey('click', 'getStarted', moduleTitle => [`CLICK_${removeSpaces(moduleTitle)}_TRY_IT_NOW`])\n .registerActionKey('click', 'navigateTo', dest => [`CLICK_NAVIGATE_TO_${removeSpaces(dest)}`])\n .registerActionKey('click', 'contactUs', moduleTitle => [`CLICK_${removeSpaces(moduleTitle)}_CONTACT_US`]);\n case LOGGER_NAME.BI_MARKETPLACE_MODAL:\n return new ActionFlowLogger(loggerName)\n .registerActionKey('click', 'getStarted', (moduleType, moduleSubType) => [\n 'button_click',\n {\n page: 'marketplace',\n button: 'done',\n moduleType: getLoggedModuleType(moduleType),\n module_subtype: moduleSubType,\n },\n ])\n .registerActionKey('click', 'learnMore', () => [\n 'button_click',\n {\n page: 'marketplace',\n button: 'learn_more',\n },\n ])\n .registerActionKey('pageLoad', null, () => ['page_load', { page: 'marketplace' }]);\n default:\n throw new Error(`Unrecognized logger type \"${loggerName}\"`);\n }\n};\n\nexport const loggerPropType = PropTypes.objectOf(\n PropTypes.oneOfType([PropTypes.func, PropTypes.objectOf(PropTypes.func)])\n);\n\nexport const getLinkGenerator = config => {\n const { ut_source: utSource, ut_source2: utSource2, ut_source3: utSource3 } = config;\n return (link, conf = {}) => {\n const { ut_source3: utSource3sub, ut_ctatext: utCtaText, anchor } = conf;\n const linkConfig = {\n queryParams: {\n ut_source: utSource,\n ut_source2: utSource2,\n },\n };\n if (utSource3 || utSource3sub) {\n linkConfig.queryParams.ut_source3 = utSource3sub || utSource3;\n }\n if (utCtaText) linkConfig.queryParams.ut_ctatext = utCtaText;\n if (anchor) linkConfig.anchor = anchor;\n return getLinkWithParams(link, linkConfig);\n };\n};\n\nexport default getLogger;\n","export const MENU = Object.freeze({\n SOLUTIONS: 'SOLUTIONS',\n MORE_RESOURCES: 'MORE_RESOURCES',\n});\n\nexport const GLOBAL_NAV_HEIGHT = 50;\n","import { GLOBAL_NAV_HEIGHT } from './enums';\n\nconst isAtTop = () => window.pageYOffset <= GLOBAL_NAV_HEIGHT;\n\nconst getScrollListener = handler => () => {\n const listenerArgs = ['scroll', () => handler(isAtTop())];\n window.addEventListener(...listenerArgs);\n return () => window.removeEventListener(...listenerArgs);\n};\n\nexport default getScrollListener;\n","import getLogger, { LOGGER_NAME } from '../../../helpers/logging';\n\nconst logger = getLogger(LOGGER_NAME.NAV);\n\nexport default logger;\n","const COPY = {\n marketResearchSolutions: {\n id: 'mrx.MRXNav.marketResearchSolutions',\n defaultMessage: 'Market Research Solutions logo',\n description: '[Type: Header][Vis: med] - Navigation menu logo label',\n },\n homeLink: {\n id: 'mrx.MRXNav.homeLink',\n defaultMessage: 'Link to market research home page',\n description: '[Type: Link][Vis: med] - Link to market research home page',\n },\n solutions: {\n id: 'mrx.MRXNav.solutions',\n defaultMessage: 'Solutions',\n description: '[Type: Button][Vis: med] - Labels the sub-menu for market research product links',\n },\n globalSurveyPanel: {\n id: 'mrx.MRXNav.globalSurveyPanel',\n defaultMessage: 'Global survey panel',\n description: '[Type: Link][Vis: med] - Labels the link to the Audience market research product page',\n },\n expertSolutions: {\n id: 'mrx.MRXNav.expertSolutions',\n defaultMessage: 'Expert solutions',\n description: '[Type: Link][Vis: med] - Labels the link to the solutions market research product page',\n },\n services: {\n id: 'mrx.MRXNav.services',\n defaultMessage: 'Services',\n description: '[Type: Link][Vis: med] - Labels the link to the market research services page',\n },\n moreResources: {\n id: 'mrx.MRXNav.moreResources',\n defaultMessage: 'More Resources',\n description: '[Type: Button][Vis: med] - Labels the sub-menu for market research product links',\n },\n audienceTargeting: {\n id: 'mrx.MRXNav.audienceTargeting',\n defaultMessage: 'Audience targeting',\n description: '[Type: Link][Vis: med] - Labels the link to the Audience targeting market research help page',\n },\n dataQuality: {\n id: 'mrx.MRXNav.dataQuality',\n defaultMessage: 'Data quality',\n description: '[Type: Link][Vis: med] - Labels the link to the data quality market research help page',\n },\n budgetingOptions: {\n id: 'mrx.MRXNav.budgetingOptions',\n defaultMessage: 'Budgeting options',\n description: '[Type: Link][Vis: med] - Labels the link to the market research credits page',\n },\n guidesAndCaseStudies: {\n id: 'mrx.MRXNav.guidesAndCaseStudies',\n defaultMessage: 'Guides & case studies',\n description: '[Type: Link][Vis: med] - Labels the link to the market research help page',\n },\n getADemo: {\n id: 'mrx.MRXNav.getADemo',\n defaultMessage: 'Get a demo',\n description: '[Type: Button][Vis: med] - Labels the link to the market research demo page',\n },\n};\n\nexport default COPY;\n","import { t } from '@sm/intl';\nimport COPY from './copy';\nimport logger from './logger';\nimport { getLinkGenerator } from '../../../helpers/logging';\n\nconst getLink = getLinkGenerator({\n ut_source: 'market_research',\n ut_source2: 'solutions',\n ut_source3: 'subnav',\n});\n\nconst MENU_CONFIG = Object.freeze({\n solutions: {\n text: t(COPY.solutions),\n menuItems: [\n {\n text: t(COPY.globalSurveyPanel),\n href: getLink('/market-research/solutions/audience-panel', {\n ut_ctatext: 'Global survey panel',\n }),\n logging: () => logger.click.navigateTo('global_survey_panel'),\n },\n {\n text: t(COPY.expertSolutions),\n href: getLink('/market-research/solutions', {\n ut_ctatext: 'Expert solutions',\n }),\n logging: () => logger.click.navigateTo('expert_solutions'),\n },\n ],\n },\n services: {\n text: t(COPY.services),\n href: getLink('/market-research/services', {\n ut_ctatext: 'Services',\n }),\n onClick: () => logger.click.navigateTo('services'),\n },\n moreResources: {\n text: t(COPY.moreResources),\n menuItems: [\n {\n text: t(COPY.audienceTargeting),\n href: getLink('/market-research/audience-targeting', {\n ut_ctatext: 'Audience targeting',\n }),\n logging: () => logger.click.navigateTo('audience_targeting'),\n },\n {\n text: t(COPY.dataQuality),\n href: getLink('/market-research/data-quality', {\n ut_ctatext: 'Data quality',\n }),\n logging: () => logger.click.navigateTo('data_quality'),\n },\n {\n text: t(COPY.budgetingOptions),\n href: getLink('/market-research/credits', {\n ut_ctatext: 'Budgeting options',\n }),\n logging: () => logger.click.navigateTo('credits'),\n },\n {\n text: t(COPY.guidesAndCaseStudies),\n href: getLink('/market-research/resources', {\n ut_ctatext: 'Guides and case studies',\n }),\n logging: () => logger.click.navigateTo('resources'),\n },\n ],\n },\n});\n\nexport default MENU_CONFIG;\n","import PropTypes from 'prop-types';\n\nexport const linkPropType = PropTypes.shape({\n href: PropTypes.string.isRequired,\n disabled: PropTypes.bool,\n text: PropTypes.string.isRequired,\n logging: PropTypes.func,\n});\n\nexport const productPropType = PropTypes.shape({\n name: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n image: PropTypes.string.isRequired,\n ctaLink: linkPropType,\n learnMoreLink: linkPropType,\n});\n\nexport const productCategoryPropType = PropTypes.shape({\n name: PropTypes.string.isRequired,\n description: PropTypes.string.isRequired,\n priority: PropTypes.number,\n products: PropTypes.arrayOf(productPropType).isRequired,\n});\n\nexport const menuItemPropType = PropTypes.shape({\n text: PropTypes.string.isRequired,\n href: PropTypes.string,\n target: PropTypes.string,\n logging: PropTypes.func,\n});\n","import { useRef, useEffect } from 'react';\n\nconst useCursor = () => {\n const cursorPos = useRef({ x: 0, y: 0 });\n useEffect(() => {\n const listenerArgs = [\n 'mousemove',\n e => {\n cursorPos.current.x = e.clientX;\n cursorPos.current.y = e.clientY;\n },\n ];\n window.addEventListener(...listenerArgs);\n return () => window.removeEventListener(...listenerArgs);\n });\n\n return {\n isCursorOverElement: element => {\n if (!element) return false;\n const rect = element.getBoundingClientRect();\n let isInBound = true;\n if (cursorPos.current.y < rect.top || cursorPos.current.y > rect.bottom) isInBound = false;\n if (cursorPos.current.x < rect.left || cursorPos.current.x > rect.right) isInBound = false;\n return isInBound;\n },\n };\n};\n\nexport default useCursor;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport { DesktopScreen, MobileTabletScreen, TabletScreen } from '@sm/webassets';\nimport { Typography, List, ListItem, Row, Col } from '@sm/wds-react';\nimport { IconChevronDown, IconChevronUp } from '@sm/wds-icons';\n\nimport { menuItemPropType } from '../../../propTypes';\nimport getClickHandlers from '../../../helpers/getClickHandlers';\nimport useCursor from '../../../helpers/useCursor';\nimport './expandable-menu.scss';\nimport { NAV_VARIANT } from '../../../enums';\n\nexport const getLinkTestId = text => `ExpandableMenu__link-${text}`;\n\nconst ExpandableMenu = ({ text, href, target, menuItems, isOpen, onClick, onBlur, variant }) => {\n const boundingElementId = 'expandable-menu-bounding-box';\n const cursor = useCursor();\n useEffect(() => {\n const listenerArgs = [\n 'mouseup',\n () => {\n const element = document.getElementById(boundingElementId);\n if (!cursor.isCursorOverElement(element)) {\n onBlur();\n }\n },\n ];\n window.addEventListener(...listenerArgs);\n return () => window.removeEventListener(...listenerArgs);\n });\n const getText = () => {\n const textClasses = classnames({\n 'sm-expandable-menu__title': true,\n 'wds-m-r-2': !href,\n });\n if (href) {\n return (\n {\n if (onClick) onClick();\n })}\n data-testid={getLinkTestId(text)}\n >\n \n {text}\n \n \n );\n }\n return (\n \n {\n if (onClick) onClick();\n })}\n className=\"sm-expandable-menu__open-text\"\n >\n {text}\n
    \n \n \n \n \n \n \n \n \n
    \n \n
    \n );\n };\n\n return (\n <>\n \n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n {\n if (e.key === 'Escape') onBlur();\n }}\n >\n {getText()}\n \n
    \n \n {menuItems.map(item => (\n \n {item.text}\n \n ))}\n \n
    \n
    \n \n
    \n \n \n \n \n \n {getText()}\n \n \n \n \n \n
    \n {menuItems.map(item => (\n \n \n \n \n \n\n \n {item.text}\n \n\n \n \n \n \n \n ))}\n
    \n
    \n
    \n \n );\n};\n\nExpandableMenu.propTypes = {\n text: PropTypes.string.isRequired,\n href: PropTypes.string,\n target: PropTypes.string,\n menuItems: PropTypes.arrayOf(menuItemPropType),\n isOpen: PropTypes.bool,\n onClick: PropTypes.func,\n // This can either be a handler or ID to attach to the element\n // the event handler would attach to (for IE 11)\n onBlur: PropTypes.func,\n variant: PropTypes.oneOf(Object.values(NAV_VARIANT)).isRequired,\n};\n\nExpandableMenu.defaultProps = {\n href: null,\n target: '',\n menuItems: [],\n isOpen: false,\n onClick: () => null,\n onBlur: () => null,\n};\n\nexport default ExpandableMenu;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport { Grid, Row, Col, Button } from '@sm/wds-react';\nimport { t, T } from '@sm/intl';\n\nimport { NAV_VARIANT } from '../../enums';\nimport getClickHandlers from '../../helpers/getClickHandlers';\nimport useIsomorphicLayoutEffect from '../../helpers/useIsomorphicLayoutEffect';\nimport { getLinkGenerator } from '../../helpers/logging';\nimport addScrollListener from './helpers/scrollListener';\nimport { MENU } from './helpers/enums';\nimport logger from './helpers/logger';\nimport COPY from './helpers/copy';\nimport MENU_CONFIG from './helpers/menuConfig';\nimport mrxLogoDark from './helpers/logo-marketresearch.svg';\nimport mrxLogoLight from './helpers/logo-marketresearch--white.svg';\nimport ExpandableMenu from './ExpandableMenu';\n\nexport const TEST_ID = 'NavForDesktop__MRX';\n\nconst getLink = getLinkGenerator({\n ut_source: 'market_research',\n ut_source2: 'solutions',\n ut_source3: 'subnav',\n});\n\nconst NavForDesktop = ({ openMenu, setOpenMenu }) => {\n const [scrolledToTop, setScrolledToTop] = useState(true);\n const navId = 'sm-mrx-nav-id';\n // Need to add this after layout is painted to fix flickering for MRX-21\n useIsomorphicLayoutEffect(addScrollListener(isAtTop => setScrolledToTop(isAtTop)));\n const classes = classnames({\n 'sm-mrx-nav__wrapper': true,\n 'sm-mrx-nav--scroll': !scrolledToTop,\n });\n const image = scrolledToTop ? mrxLogoLight : mrxLogoDark;\n const buttonColor = scrolledToTop ? 'muted' : 'upgrade';\n const buttonVariant = !scrolledToTop ? 'solid' : 'ghost';\n const buttonClass = classnames({\n 'sm-mrx-nav__cta-button--light': scrolledToTop,\n 'sm-mrx-nav__cta-button': true,\n });\n const textVariant = scrolledToTop ? 'light' : 'dark';\n const onBlur = () => setOpenMenu(null);\n\n return (\n
    \n \n \n \n {\n logger.click.navigateTo('mrx_home');\n })}\n >\n {t(COPY.marketResearchSolutions)}\n \n \n \n
    \n setOpenMenu(MENU.SOLUTIONS)}\n onBlur={onBlur}\n variant={textVariant}\n />\n
    \n
    \n \n
    \n
    \n setOpenMenu(MENU.MORE_RESOURCES)}\n onBlur={onBlur}\n variant={textVariant}\n />\n
    \n \n \n {\n logger.click.navigateTo('get_a_demo');\n })}\n >\n \n \n \n
    \n
    \n
    \n );\n};\n\nNavForDesktop.propTypes = {\n openMenu: PropTypes.oneOf(Object.values(MENU)),\n setOpenMenu: PropTypes.func.isRequired,\n variant: PropTypes.oneOf(Object.values(NAV_VARIANT)).isRequired,\n};\n\nNavForDesktop.defaultProps = {\n openMenu: undefined,\n};\n\nexport default NavForDesktop;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport { Grid, Row, Col, Typography, Button } from '@sm/wds-react';\nimport { IconChevronDown, IconChevronUp } from '@sm/wds-icons';\nimport { t, T } from '@sm/intl';\nimport { TabletScreen } from '@sm/webassets';\n\nimport useIsomorphicLayoutEffect from '../../helpers/useIsomorphicLayoutEffect';\nimport getClickHandlers from '../../helpers/getClickHandlers';\nimport { getLinkGenerator } from '../../helpers/logging';\nimport addScrollListener from './helpers/scrollListener';\nimport COPY from './helpers/copy';\nimport { MENU } from './helpers/enums';\nimport MENU_CONFIG from './helpers/menuConfig';\nimport logger from './helpers/logger';\nimport mrxLogoDark from './helpers/logo-marketresearch.svg';\nimport mrxLogoLight from './helpers/logo-marketresearch--white.svg';\nimport ExpandableMenu from './ExpandableMenu';\n\nexport const TEST_ID = 'NavForTablet__MRX';\n\nconst getLink = getLinkGenerator({\n ut_source: 'market_research',\n ut_source2: 'solutions',\n ut_source3: 'subnav',\n});\n\nconst NavForTablet = ({ openMenu, setOpenMenu, isOpen, setIsOpen }) => {\n const [scrolledToTop, setScrolledToTop] = useState(true);\n const navId = 'sm-mrx-nav-id-mobile';\n // Need to add this after layout is painted to fix flickering for MRX-21\n useIsomorphicLayoutEffect(addScrollListener(isAtTop => setScrolledToTop(isAtTop)));\n const useLight = scrolledToTop && !isOpen;\n const image = useLight ? mrxLogoLight : mrxLogoDark;\n const chevronColor = useLight ? 'light' : 'dark';\n\n return (\n \n \n setIsOpen(!isOpen))}\n >\n \n {t(COPY.marketResearchSolutions)}\n \n \n \n \n \n \n \n \n \n \n \n \n \n setOpenMenu(MENU.SOLUTIONS)}\n variant=\"dark\"\n />\n \n setOpenMenu(MENU.MORE_RESOURCES)}\n variant=\"dark\"\n />\n \n \n \n \n \n {\n logger.click.navigateTo('get_a_demo');\n })}\n className=\"sm-mrx-nav__cta-button--mobile\"\n stretched\n >\n \n \n \n \n \n \n \n \n \n \n );\n};\n\nNavForTablet.propTypes = {\n openMenu: PropTypes.oneOf(Object.values(MENU)),\n setOpenMenu: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n setIsOpen: PropTypes.func.isRequired,\n scrollPosRef: PropTypes.shape({\n current: PropTypes.number,\n }),\n isScrolledToTop: PropTypes.bool,\n};\n\nNavForTablet.defaultProps = {\n openMenu: undefined,\n scrollPosRef: { current: 0 },\n isScrolledToTop: true,\n};\n\nexport default NavForTablet;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport { Grid, Row, Col, Button } from '@sm/wds-react';\nimport { t, T } from '@sm/intl';\n\nimport useIsomorphicLayoutEffect from '../../../helpers/useIsomorphicLayoutEffect';\nimport getClickHandlers from '../../../helpers/getClickHandlers';\nimport { getLinkGenerator } from '../../../helpers/logging';\nimport addScrollListener from '../helpers/scrollListener';\nimport { MENU } from '../helpers/enums';\nimport logger from '../helpers/logger';\nimport COPY from '../helpers/copy';\nimport MENU_CONFIG from '../helpers/menuConfig';\nimport mrxLogoDark from '../helpers/logo-marketresearch.svg';\nimport mrxLogoLight from '../helpers/logo-marketresearch--white.svg';\nimport ExpandableMenu from '../ExpandableMenu';\nimport './nav-for-ie.scss';\n\nexport const TEST_ID = 'DesktopNavForIE';\n\nconst getLink = getLinkGenerator({\n ut_source: 'market_research',\n ut_source2: 'solutions',\n ut_source3: 'subnav',\n});\n\nconst NavForIE = ({ openMenu, setOpenMenu }) => {\n const [scrolledToTop, setScrolledToTop] = useState(true);\n const navId = 'sm-mrx-nav-id';\n useIsomorphicLayoutEffect(() => {\n const removeListener = addScrollListener(isAtTop => setScrolledToTop(isAtTop));\n document.body.classList.add('sm-nav-for-ie--hide-overflow-x');\n return () => {\n removeListener();\n document.body.classList.remove('sm-nav-for-ie--hide-overflow-x');\n };\n });\n const classes = classnames({\n 'sm-nav-for-ie__wrapper': true,\n 'sm-nav-for-ie__wrapper--scroll': !scrolledToTop,\n 'sm-nav-for-ie__wrapper--top': scrolledToTop,\n });\n const image = scrolledToTop ? mrxLogoLight : mrxLogoDark;\n const buttonColor = scrolledToTop ? 'muted' : 'upgrade';\n const buttonVariant = !scrolledToTop ? 'solid' : 'ghost';\n const buttonClass = classnames({\n 'sm-nav-for-ie__cta-button': true,\n 'sm-nav-for-ie__cta-button--light': scrolledToTop,\n });\n const textVariant = scrolledToTop ? 'light' : 'dark';\n\n return (\n
    \n
    \n \n \n \n {\n logger.click.navigateTo('mrx_home');\n })}\n >\n {t(COPY.marketResearchSolutions)}\n \n \n \n
    \n setOpenMenu(MENU.SOLUTIONS)}\n onBlur={() => setOpenMenu(null)}\n variant={textVariant}\n />\n
    \n
    \n setOpenMenu(null)} />\n
    \n
    \n setOpenMenu(MENU.MORE_RESOURCES)}\n onBlur={() => setOpenMenu(null)}\n variant={textVariant}\n />\n
    \n \n \n {\n logger.click.navigateTo('get_a_demo');\n })}\n >\n \n \n \n
    \n
    \n
    \n
    \n );\n};\n\nNavForIE.propTypes = {\n openMenu: PropTypes.oneOf(Object.values(MENU)),\n setOpenMenu: PropTypes.func.isRequired,\n};\n\nNavForIE.defaultProps = {\n openMenu: undefined,\n};\n\nexport default NavForIE;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport { Grid, Row, Col, Typography, Button } from '@sm/wds-react';\nimport { IconChevronDown, IconChevronUp } from '@sm/wds-icons';\nimport { t, T } from '@sm/intl';\nimport { TabletScreen } from '@sm/webassets';\n\nimport useIsomorphicLayoutEffect from '../../../helpers/useIsomorphicLayoutEffect';\nimport getClickHandlers from '../../../helpers/getClickHandlers';\nimport { getLinkGenerator } from '../../../helpers/logging';\nimport addScrollListener from '../helpers/scrollListener';\nimport COPY from '../helpers/copy';\nimport { MENU } from '../helpers/enums';\nimport MENU_CONFIG from '../helpers/menuConfig';\nimport logger from '../helpers/logger';\nimport mrxLogoDark from '../helpers/logo-marketresearch.svg';\nimport mrxLogoLight from '../helpers/logo-marketresearch--white.svg';\nimport ExpandableMenu from '../ExpandableMenu';\nimport './nav-for-ie.scss';\n\nexport const TEST_ID = 'MobileNavForIE';\n\nconst getLink = getLinkGenerator({\n ut_source: 'market_research',\n ut_source2: 'solutions',\n ut_source3: 'subnav',\n});\n\nconst NavForTablet = ({ openMenu, setOpenMenu, isOpen, setIsOpen }) => {\n const [scrolledToTop, setScrolledToTop] = useState(true);\n const navId = 'sm-mrx-nav-id-mobile';\n // Need to add this after layout is painted to fix flickering for MRX-21\n useIsomorphicLayoutEffect(() => {\n const removeScrollListener = addScrollListener(isAtTop => setScrolledToTop(isAtTop))();\n // This is because there is some element on IE 11 forcing the page to\n // be scroll-able to the right.\n document.body.classList.add('sm-nav-for-ie--hide-overflow-x');\n return () => {\n removeScrollListener();\n document.body.classList.remove('sm-nav-for-ie--hide-overflow-x');\n };\n });\n const useLight = scrolledToTop && !isOpen;\n const image = useLight ? mrxLogoLight : mrxLogoDark;\n const chevronColor = useLight ? 'light' : 'dark';\n\n return (\n
    \n \n \n setIsOpen(!isOpen))}\n >\n \n {t(COPY.marketResearchSolutions)}\n \n \n \n \n \n \n \n \n \n \n \n \n \n setOpenMenu(MENU.SOLUTIONS)}\n variant=\"dark\"\n />\n \n setOpenMenu(MENU.MORE_RESOURCES)}\n variant=\"dark\"\n />\n \n \n \n \n \n {\n logger.click.navigateTo('get_a_demo');\n })}\n className=\"sm-mrx-nav__cta-button--mobile\"\n stretched\n >\n \n \n \n \n \n \n \n \n \n
    \n \n );\n};\n\nNavForTablet.propTypes = {\n openMenu: PropTypes.oneOf(Object.values(MENU)),\n setOpenMenu: PropTypes.func.isRequired,\n isOpen: PropTypes.bool.isRequired,\n setIsOpen: PropTypes.func.isRequired,\n scrollPosRef: PropTypes.shape({\n current: PropTypes.number,\n }),\n isScrolledToTop: PropTypes.bool,\n};\n\nNavForTablet.defaultProps = {\n openMenu: undefined,\n scrollPosRef: { current: 0 },\n isScrolledToTop: true,\n};\n\nexport default NavForTablet;\n","import React from 'react';\nimport { MobileTabletScreen, DesktopScreen } from '@sm/webassets';\n\nimport DesktopNav from './DesktopNavForIE';\nimport MobileNav from './MobileNavForIE';\n\nexport { TEST_ID as DESKTOP_TEST_ID } from './DesktopNavForIE';\nexport { TEST_ID as MOBILE_TEST_ID } from './MobileNavForIE';\n\nconst NavForIE = props => (\n <>\n \n \n \n \n \n \n \n);\n\nexport default NavForIE;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { DesktopScreen, MobileTabletScreen } from '@sm/webassets';\n\nimport { NAV_VARIANT } from '../../enums';\nimport useBrowser, { BROWSER } from '../../helpers/useBrowser';\nimport NavForDesktop, { TEST_ID as DESKTOP_TEST_ID } from './NavForDesktop';\nimport NavForTablet, { TEST_ID as TABLET_TEST_ID } from './NavForTablet';\nimport NavForIE, { DESKTOP_TEST_ID as IE_DESKTOP_TEST_ID, MOBILE_TEST_ID as IE_MOBILE_TEST_ID } from './NavForIE';\nimport './mrx-nav.scss';\n\nexport const TEST_ID = {\n DESKTOP: DESKTOP_TEST_ID,\n TABLET: TABLET_TEST_ID,\n IE_DESKTOP: IE_DESKTOP_TEST_ID,\n IE_TABLET: IE_MOBILE_TEST_ID,\n};\n\nconst MRXNav = ({ variant, mobileOpen, setMobileOpen }) => {\n const [openMenu, _setOpenMenu] = useState(undefined);\n const setOpenMenu = menu => {\n if (menu === openMenu) _setOpenMenu(undefined);\n else _setOpenMenu(menu);\n };\n const isIE11 = useBrowser() === BROWSER.IE;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nMRXNav.propTypes = {\n variant: PropTypes.oneOf(Object.values(NAV_VARIANT)),\n mobileOpen: PropTypes.bool.isRequired,\n setMobileOpen: PropTypes.func.isRequired,\n};\n\nMRXNav.defaultProps = {\n variant: NAV_VARIANT.LIGHT,\n};\n\nexport default MRXNav;\n","import React, { useState, useRef, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BasePage, Helmet, StaticContext } from '@sm/webassets';\nimport { t } from '@sm/intl';\n\nimport MRXNav from './MRXNav';\nimport { NAV_VARIANT } from '../enums';\nimport previewImage from './featured-image.png';\n\nconst COPY = {\n pageTitle: {\n id: 'mrx.MRXPage.pageTitle',\n defaultMessage: 'Market Research Solutions | SurveyMonkey',\n description: '[Type: Label][Vis: med] - Page title for all Market Research Experience pages',\n },\n pageDescription: {\n id: 'mrx.MRXPage.pageDescription',\n defaultMessage:\n 'Collect quality data from your target market with expert solutions, ' +\n 'global online panels, and market research services to help you get the insights you need, fast.',\n description: '[Type: Label][Vis: med] - Page meta description for all Market Research Experience pages',\n },\n};\n\nconst MRXPage = ({ pageTitle, previewImageHref, noIndex, children, canonicalLink }) => {\n const {\n environment: { subdomain, domain, tld },\n req: { url },\n } = useContext(StaticContext);\n const requestUrl = `https://${subdomain}.${domain}.${tld}${url}`;\n const [mobileNavOpen, _setMobileNavOpen] = useState(false);\n const scrollPosition = useRef(0);\n const setMobileNavOpen = () => {\n if (window && !mobileNavOpen) scrollPosition.current = window.pageYOffset;\n _setMobileNavOpen(!mobileNavOpen);\n };\n useEffect(() => {\n if (mobileNavOpen) document.body.classList.add('sm-mrx-nav--no-scroll');\n else document.body.classList.remove('sm-mrx-nav--no-scroll');\n }, [mobileNavOpen]);\n // Have to manually append this to comply with Twitter's requirements\n const mPreviewImageHref = previewImageHref.startsWith('http') ? previewImageHref : `https:${previewImageHref}`;\n\n return (\n \n \n {t(COPY.pageTitle)}\n \n\n \n \n \n \n \n \n \n\n {/* TWITTER META */}\n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n {children}\n \n );\n};\n\nMRXPage.propTypes = {\n pageTitle: PropTypes.string.isRequired,\n noIndex: PropTypes.bool,\n previewImageHref: PropTypes.string,\n children: PropTypes.node,\n canonicalLink: PropTypes.string,\n};\n\nMRXPage.defaultProps = {\n children: null,\n previewImageHref: previewImage,\n noIndex: false,\n canonicalLink: null,\n};\n\nexport default MRXPage;\n","import React from 'react';\nimport classnames from 'classnames';\nimport { T } from '@sm/intl';\nimport './mrx-header.scss';\n\nexport const COPY = {\n title: {\n id: 'mrx.MRXHeader.title',\n defaultMessage: 'Explore our market research solutions',\n description: '[Type: Header][Vis: med] - Page header for market research hub',\n },\n subtitle: {\n id: 'mrx.MRXHeader.subtitle',\n defaultMessage:\n 'Quickly collect quality data from your target market. ' +\n 'Choose from expert solutions, global online panels, or market research services to help you get answers, fast.',\n description: '[Type: Paragraph][Vis: med] - Description of the market research hub',\n },\n};\n\nexport const TEST_ID = 'MRXHeader';\n\nconst MRXHeader = () => {\n const isIE = !!window.MSInputMethodContext && !!document.documentMode;\n const classes = classnames({\n 'sm-mrx-header': !isIE,\n 'sm-mrx-header--ie': isIE,\n });\n return (\n
    \n

    \n \n

    \n
    \n \n
    \n
    \n );\n};\n\nexport default MRXHeader;\n","const MIN_SWIPE_DISTANCE = 40;\nconst VECTOR = Object.freeze({\n UP: 'UP',\n DOWN: 'DOWN',\n RIGHT: 'RIGHT',\n LEFT: 'LEFT',\n});\n\nconst getQuadrant = vector => {\n const isUpperHemisphere = vector[1] < 0;\n const isLeftHemisphere = vector[0] < 0;\n if (isUpperHemisphere && isLeftHemisphere) return 2;\n if (isUpperHemisphere && !isLeftHemisphere) return 1;\n if (!isUpperHemisphere && isLeftHemisphere) return 3;\n return 4;\n};\n\nconst convertToAbsoluteAngle = (vector, vectorDeg) => {\n const quadrant = getQuadrant(vector);\n if (quadrant === 1) return -1 * vectorDeg;\n if (quadrant === 2) return 90 - vectorDeg + 90;\n if (quadrant === 3) return 180 - vectorDeg;\n return 360 - vectorDeg;\n};\n\nconst getSwipeVectorFromPoints = (start, end) => {\n const vector = [end.x - start.x, end.y - start.y];\n const vectorDeg = convertToAbsoluteAngle(vector, Math.atan(vector[1] / vector[0]) * (180 / Math.PI));\n if (vectorDeg > 315 || vectorDeg <= 45) return VECTOR.RIGHT;\n if (vectorDeg > 45 && vectorDeg <= 120) return VECTOR.DOWN;\n if (vectorDeg > 120 && vectorDeg <= 210) return VECTOR.LEFT;\n return VECTOR.UP;\n};\n\nconst getDistanceBetweenPoints = (start, end) => Math.trunc(Math.sqrt((end.x - start.x) ** 2 + (end.y - start.y) ** 2));\n\nexport const hasSwipedLeft = (touchStartPos, touchEndPos) =>\n getDistanceBetweenPoints(touchStartPos, touchEndPos) >= MIN_SWIPE_DISTANCE &&\n getSwipeVectorFromPoints(touchStartPos, touchEndPos) === VECTOR.LEFT;\n\nexport const hasSwipedRight = (touchStartPos, touchEndPos) =>\n getDistanceBetweenPoints(touchStartPos, touchEndPos) >= MIN_SWIPE_DISTANCE &&\n getSwipeVectorFromPoints(touchStartPos, touchEndPos) === VECTOR.RIGHT;\n\nexport const hasSwipedUp = (touchStartPos, touchEndPos) =>\n getDistanceBetweenPoints(touchStartPos, touchEndPos) >= MIN_SWIPE_DISTANCE &&\n getSwipeVectorFromPoints(touchStartPos, touchEndPos) === VECTOR.UP;\n\nexport const hasSwipedDown = (touchStartPos, touchEndPos) =>\n getDistanceBetweenPoints(touchStartPos, touchEndPos) >= MIN_SWIPE_DISTANCE &&\n getSwipeVectorFromPoints(touchStartPos, touchEndPos) === VECTOR.DOWN;\n","import React, { Children, useState, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport { hasSwipedLeft, hasSwipedRight } from '../../helpers/swipe';\n\nimport './mrx-carousel.scss';\n\nconst Carousel = ({ children }) => {\n const [currentOffset, setCurrentOffset] = useState(0);\n const touchDownPosition = useRef({ x: 0, y: 0 });\n return (\n
    \n {\n touchDownPosition.current = {\n x: e.touches[0].clientX,\n y: e.touches[0].clientY,\n };\n }}\n onTouchEnd={e => {\n const pos = {\n x: e.changedTouches[0].clientX,\n y: e.changedTouches[0].clientY,\n };\n if (hasSwipedLeft(touchDownPosition.current, pos) && currentOffset < children.length - 1) {\n setCurrentOffset(currentOffset + 1);\n } else if (hasSwipedRight(touchDownPosition.current, pos) && currentOffset) {\n setCurrentOffset(currentOffset - 1);\n }\n }}\n >\n {Children.map(children, (child, idx) => {\n const isFocused = idx === currentOffset;\n const myOffset = currentOffset * 100;\n return (\n \n {child}\n
    \n );\n })}\n \n \n );\n};\n\nCarousel.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default Carousel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nimport useIsomorphicLayoutEffect from '../helpers/useIsomorphicLayoutEffect';\n\nlet timeout;\n\nconst getOffsetTop = element => {\n if (!element) return 0;\n return getOffsetTop(element.offsetParent) + element.offsetTop;\n};\n\nconst scrollToElement = element => {\n if (element) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n timeout = setTimeout(() => {\n const offset = getOffsetTop(element);\n if (window.pageYOffset !== offset) {\n element.focus();\n window.scrollTo(0, offset);\n scrollToElement(element);\n }\n }, 200);\n }\n};\n\nconst Anchor = ({ location, children, className, id }) => {\n const { hash } = location;\n useIsomorphicLayoutEffect(() => {\n if (hash) {\n const hashId = hash.slice(1);\n if (hashId === id) {\n const element = document.getElementById(hashId);\n scrollToElement(element);\n }\n }\n }, [children, hash, id]);\n return (\n <>\n
    \n {children}\n \n );\n};\n\nAnchor.propTypes = {\n location: PropTypes.shape({\n hash: PropTypes.string,\n }).isRequired,\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n id: PropTypes.string.isRequired,\n};\n\nAnchor.defaultProps = {\n className: '',\n};\n\nexport default withRouter(Anchor);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { Card, Typography, Grid, Row, Col, Button } from '@sm/wds-react';\n\nimport './product-tile.scss';\nimport { linkPropType } from '../../../propTypes';\nimport useBrowser, { BROWSER } from '../../../helpers/useBrowser';\nimport getClickHandlers from '../../../helpers/getClickHandlers';\n\nexport const TEST_ID = 'ProductTile';\n\nconst ProductTile = ({ title, image, body, ctaButton, link }) => {\n const isIE = useBrowser() === BROWSER.IE;\n const outerClasses = classnames({\n 'sm-product-tile': !isIE,\n 'sm-product-tile--ie': isIE,\n });\n\n return (\n \n \n \n \n {title}\n \n \n \n \n \n \n \n {title}\n \n

    \n \n {body}\n \n

    \n \n
    \n \n \n \n \n {\n if (ctaButton.logging) ctaButton.logging();\n })}\n >\n {ctaButton.text}\n \n \n \n \n \n \n {\n if (link.logging) link.logging();\n })}\n >\n {link.text}\n \n \n \n \n \n \n
    \n
    \n
    \n
    \n );\n};\n\nProductTile.propTypes = {\n title: PropTypes.string.isRequired,\n image: PropTypes.string.isRequired,\n body: PropTypes.string.isRequired,\n ctaButton: linkPropType,\n link: linkPropType,\n};\n\nProductTile.defaultProps = {\n ctaButton: null,\n link: null,\n};\n\nexport default ProductTile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { Grid, Row, Col, Typography } from '@sm/wds-react';\nimport { MobileScreen, TabletScreen, DesktopScreen, MobileTabletScreen } from '@sm/webassets';\n\nimport Carousel from '../../sharedComponents/MRXCarousel';\nimport Anchor from '../../sharedComponents/Anchor';\nimport { productPropType } from '../../propTypes';\nimport ProductTile from './ProductTile';\nimport './product-category.scss';\n\nexport const TEST_ID = 'ProductCategory';\n\nconst ProductCategory = ({ products, title, description, first, anchor }) => (\n \n \n \n \n
    \n \n \n \n \n {title}\n \n {description}\n \n \n \n \n \n \n \n {title}\n \n {description}\n \n \n \n \n \n \n {products.map((product, idx) => (\n \n \n \n ))}\n \n \n \n \n \n \n \n \n \n {products.map((product, idx) => (\n \n ))}\n \n \n \n \n \n \n \n \n \n);\n\nProductCategory.propTypes = {\n title: PropTypes.string.isRequired,\n products: PropTypes.arrayOf(productPropType).isRequired,\n description: PropTypes.string.isRequired,\n first: PropTypes.bool.isRequired,\n anchor: PropTypes.string.isRequired,\n};\n\nexport default ProductCategory;\n","import React from 'react';\nimport { Grid, Row, Col, Button, Typography } from '@sm/wds-react';\nimport { TabletScreen, DesktopScreen, MobileScreen } from '@sm/webassets';\nimport { T } from '@sm/intl';\n\nimport { getLinkGenerator } from '../../helpers/logging';\nimport expertsImage from './experts.png';\nimport './here-to-help.scss';\n\nexport const COPY = {\n title: {\n id: 'mrx.HereToHelp.title',\n defaultMessage: 'Expert help for your market research program',\n description:\n '[Type: Header][Vis: med] - Title of a section of the market research experience page where we explain our customer support',\n },\n description1: {\n id: 'mrx.HereToHelp.description1',\n defaultMessage:\n 'Looking for an online panel to pinpoint hard-to-reach groups? Need to get a market research survey translated into Spanish? ' +\n 'Want reassurance that your survey logic is set up correctly? We have you covered with support and services that scale to meet your needs.',\n description: '[Type: Paragraph][Vis: med] - Description of our market research customer support',\n },\n description2: {\n id: 'mrx.HereToHelp.description2',\n defaultMessage: 'Choose from bundled or pay-as-you-go market research services.',\n description: '[Type: Paragraph][Vis: med] - Description of our market research customer support',\n },\n learnMore: {\n id: 'mrx.HereToHelp.learnMore',\n defaultMessage: 'Learn more',\n description: '[Type: Link][Vis: med] - Link to learn more about our market research solutions',\n },\n};\n\nexport const TEST_ID = 'HereToHelp';\n\nconst getLink = getLinkGenerator({\n ut_source: 'market_research',\n ut_source2: 'solutions',\n ut_source3: 'sm-button',\n});\n\nconst getBodySection = isMobile => (\n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n);\n\nconst HereToHelp = () => (\n \n \n \n \n \"\"\n \n {getBodySection(false)}\n \n \n \n \n \n \n {getBodySection(true)}\n \n \n \"\"\n \n \n \n \n);\n\nexport default HereToHelp;\n","import { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nexport const BREAK_POINT = Object.freeze({\n MD: 768,\n LG: 1200,\n XL: 1400,\n});\n\nexport const SCREEN = Object.freeze({\n MOBILE: `(max-width: ${BREAK_POINT.MD - 1}px)`,\n TABLET: `(min-width: ${BREAK_POINT.MD}px)`,\n MOBILE_TABLET: `(max-width: ${BREAK_POINT.LG - 1}px)`,\n SMALL_DESKTOP: `(min-width: ${BREAK_POINT.LG}px) and (max-width: ${BREAK_POINT.XL - 1}px)`,\n LARGE_DESKTOP: `(min-width: ${BREAK_POINT.XL}px)`,\n DESKTOP: `(min-width: ${BREAK_POINT.LG}px)`,\n});\n\nconst CustomScreen = ({ screen, children }) => {\n const m = window.matchMedia(screen);\n const [matches, setMatches] = useState(m.matches);\n useEffect(() => {\n const listenerArgs = [\n 'resize',\n () => {\n const doesMatch = window.matchMedia(screen).matches;\n if (matches !== doesMatch) setMatches(doesMatch);\n },\n ];\n window.addEventListener(...listenerArgs);\n return () => window.removeEventListener(...listenerArgs);\n });\n return matches ? children : null;\n};\n\nCustomScreen.propTypes = {\n screen: PropTypes.string.isRequired,\n children: PropTypes.node,\n};\n\nCustomScreen.defaultProps = {\n children: null,\n};\n\nexport default CustomScreen;\n","import { t } from '@sm/intl';\n\nconst COPY = {\n allbirds: {\n id: 'mrx.getLocalizedLogos.allbirds',\n defaultMessage: 'Allbirds company logo',\n description: '[Type: Label][Vis: low] - Labels Allbirds logo',\n },\n ibm: {\n id: 'mrx.getLocalizedLogos.ibm',\n defaultMessage: 'IBM company logo',\n description: '[Type: Label][Vis: low] - Labels IBM company logo',\n },\n just: {\n id: 'mrx.getLocalizedLogos.just',\n defaultMessage: 'JUST company logo',\n description: '[Type: Label][Vis: low] - Labels JUST company logo',\n },\n rj: {\n id: 'mrx.getLocalizedLogos.rj',\n defaultMessage: 'Raymond James company logo',\n description: '[Type: Label][Vis: low] - Labels Raymond James company logo',\n },\n tweezerman: {\n id: 'mrx.getLocalizedLogos.tweezerman',\n defaultMessage: 'Tweezerman company logo',\n description: '[Type: Label][Vis: low] - Labels Tweezerman company logo',\n },\n};\n\nconst _getImage = (imgName, useBig) =>\n useBig ? import(`./images/${imgName}--lg.png`) : import(`./images/${imgName}.png`);\n\nconst getLocalizedLogos = async (locale = 'en_US', size = 'lg') => {\n const useBig = size === 'lg';\n const getImage = async imgName => (await _getImage(imgName, useBig)).default;\n\n if (locale === 'en_US') {\n return [\n {\n id: 'ibmLogo',\n name: t(COPY.ibm),\n image: await getImage('ibm_logo'),\n },\n {\n id: 'tweezermanLogo',\n name: t(COPY.tweezerman),\n image: await getImage('tweezerman_logo'),\n },\n\n {\n id: 'justLogo',\n name: t(COPY.just),\n image: await getImage('just_logo'),\n },\n {\n id: 'raymondJamesLogo',\n name: t(COPY.rj),\n image: await getImage('rj_logo'),\n },\n {\n id: 'allbirdsLogo',\n name: t(COPY.allbirds),\n image: await getImage('allbirds_logo'),\n },\n ];\n }\n return [];\n};\n\nexport default getLocalizedLogos;\n","import React, { useState, useEffect } from 'react';\nimport classnames from 'classnames';\n\nimport { Grid, Row, Col, Typography } from '@sm/wds-react';\nimport { DesktopScreen } from '@sm/webassets';\nimport { T } from '@sm/intl';\n\nimport useBrowser, { BROWSER } from '../../helpers/useBrowser';\nimport { SCREEN } from '../../sharedComponents/CustomScreen';\nimport getLocalizedLogos from './getLocalizedLogos';\nimport './used-in-orgs.scss';\n\nexport const COPY = {\n title: {\n id: 'mrx.UsedInOrgs.title',\n defaultMessage: 'Leading brands use SurveyMonkey for market research',\n description:\n '[Type: Header][Vis: med] - Title of the section of the market research hub where we show companies that use our products',\n },\n};\n\nexport const TEST_ID = 'UsedInOrgs';\n\nconst UsedInOrgs = () => {\n const [logos, setLogos] = useState(null);\n const [screenSize, setScreenSize] = useState('lg');\n useEffect(() => {\n const listenerArgs = [\n 'resize',\n () => {\n const isMobileTablet = window.matchMedia(SCREEN.MOBILE).matches;\n if (isMobileTablet && screenSize !== 'sm') setScreenSize('sm');\n else if (screenSize !== 'lg') setScreenSize('lg');\n },\n ];\n window.addEventListener(...listenerArgs);\n getLocalizedLogos('en_US', screenSize).then(data => setLogos(data));\n return () => window.removeEventListener(...listenerArgs);\n }, [screenSize]);\n const isIE = useBrowser() === BROWSER.IE;\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {logos.map(logo => (\n \n {logo.name}\n \n ))}\n \n \n \n );\n};\n\nexport default UsedInOrgs;\n","import { FILTER_KEY } from '../enums';\n\nconst FILTERS = Object.freeze({\n [FILTER_KEY.CATEGORY]: (products, filterValues) =>\n Object.keys(products).reduce((prod, productCategory) => {\n if (filterValues.includes(productCategory)) return { ...prod, [productCategory]: products[productCategory] };\n return prod;\n }, {}),\n});\n\nexport const getFilterParamsFromUrlLocation = location => {\n if (!location) return {};\n const searchParams = new URLSearchParams(location.search);\n const filterParams = {};\n const validFilterKeys = Object.values(FILTER_KEY);\n searchParams.forEach((value, key) => {\n if (validFilterKeys.includes(key) && value) {\n filterParams[key] = value.split(',').map(x => x.trim());\n }\n });\n return filterParams;\n};\n\nconst filterProducts = (products, filterParams) => {\n return Object.keys(filterParams).reduce(\n (prod, filterKey) => FILTERS[filterKey](prod, filterParams[filterKey]),\n products\n );\n};\n\nexport default filterProducts;\n","/**\n * Helper class for making queries that depend on each other or for groups of\n * queries that all need to resolve before taking an action. Just cleans up\n * all of the '.then' statements needed for that kind of thing.\n */\n\nexport default class SynchronousQueryStream {\n constructor(apolloClient) {\n this.client = apolloClient;\n this.actions = [];\n this.catchHandlers = [];\n this.ctx = {};\n }\n\n /**\n * Basically a pass-through to the Apollo client.query\n */\n query = args => {\n this.actions.push(() => this.client.query(args));\n return this;\n };\n\n /**\n * Takes the result of the previous chained action and adds it to the collected\n * context\n */\n resolveToContext = () => {\n this.actions.push(data => {\n this.ctx = { ...this.ctx, ...data };\n });\n return this;\n };\n\n /**\n * Does basically the same thing as resolveToContext but destructures the\n * query result for you.\n */\n resolveQueryResultToContext = () => {\n this.actions.push(data => {\n this.ctx = { ...this.ctx, ...data.data };\n });\n return this;\n };\n\n /**\n * You get the result of the previous chained command and the context and the\n * result is transformed for the next chained command.\n */\n map = handler => {\n this.actions.push(handler);\n return this;\n };\n\n /**\n * You get the result of the previous chained command and the context but\n * this doesn't expect a return value and just passes the previous result\n * through to the next command.\n */\n peek = handler => {\n this.actions.push((...args) => {\n handler(...args);\n return args;\n });\n return this;\n };\n\n /**\n * This is a non-blocking catch that catches any error that has occurred since\n * the last catch. If this error isn't thrown, the return value of the handler\n * is passed to the next chained command after the catch.\n */\n catch = handler => {\n const startIdx = this.catchHandlers.length ? this.catchHandlers[this.catchHandlers.length - 1].range[0] : 0;\n this.catchHandlers.push({\n range: [startIdx, this.actions.length],\n handler,\n });\n return this;\n };\n\n /**\n * The commands will not be executed unless this is put at the end. This is\n * the final command that executes the chain of commands. Takes a handler that\n * will be passed the final result value as well as the final context value.\n */\n collect = async handler => {\n let result;\n for (let i = 0; i < this.actions.length; i += 1) {\n try {\n // eslint-disable-next-line no-await-in-loop\n result = await this.actions[i](result, this.ctx);\n } catch (err) {\n let handled = false;\n for (let j = 0; j < this.catchHandlers.length; j += 1) {\n const catchHandler = this.catchHandlers[j];\n if (i >= catchHandler.range[0] && i < catchHandler.range[1]) {\n result = catchHandler.handler(err, result, this.ctx);\n handled = true;\n // eslint-disable-next-line prefer-destructuring\n i = catchHandler.range[1];\n break;\n }\n }\n if (!handled) throw err;\n }\n }\n\n handler(result, this.ctx);\n };\n}\n","import React, { useState, useEffect, useContext, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\nimport { withApollo } from 'react-apollo';\n\nimport { StaticContext, FiveHundredError } from '@sm/webassets';\nimport { Grid, Row, Col, ProgressCircle } from '@sm/wds-react';\nimport { t } from '@sm/intl';\n\nimport MRXPage from '../MRXPage';\nimport MRXHeader from './MRXHeader';\nimport ProductCategory from './ProductCategory';\nimport HereToHelp from './HereToHelp';\nimport UsedInOrgs from './UsedInOrgs';\nimport { modules as modulesQuery, user as userQuery } from './solutions.graphql';\nimport { PRODUCT_CATEGORY } from '../enums';\nimport filterProducts, { getFilterParamsFromUrlLocation } from './filter';\nimport { productCategoryPropType } from '../propTypes';\nimport getLogger, { LOGGER_NAME, getLinkGenerator } from '../helpers/logging';\nimport SynchronousQueryStream from '../helpers/SynchronousQueryStream';\n\nimport audienceImage from './audience-image.png';\nimport './mrx-solutions.scss';\n\nexport const COPY = {\n audiencePanel: {\n id: 'mrx.Solutions.audiencePanel',\n defaultMessage: 'Global survey panel',\n description: '[Type: Header][Vis: med] - Title of the Audience panel product solutions category',\n },\n expertSolutions: {\n id: 'mrx.Solutions.expertSolutions',\n defaultMessage: 'Expert solutions',\n description: '[Type: Header][Vis: med] - Title of the market research ready-made solutions category',\n },\n audiencePanelDescription: {\n id: 'mrx.Solutions.audiencePanelDescription',\n defaultMessage:\n 'Run your own global market research in minutes. Design a custom survey in the SurveyMonkey platform, ' +\n 'launch to your target audience, and receive real-time results.',\n description: '[Type: Paragraph][Vis: med] - Description of the Audience panel category of products',\n },\n expertSolutionsDescription: {\n id: 'mrx.Solutions.expertSolutionsDescription',\n defaultMessage:\n 'Get powerful insights without doing a single calculation. Customize your study using our built-in expert methodology, ' +\n 'launch to your target audience, and receive presentation-ready reports automatically.',\n description: '[Type: Paragraph][Vis: med] - Description of the market research ready-made category of products',\n },\n getStarted: {\n id: 'mrx.Solutions.getStarted',\n defaultMessage: 'Get started',\n description: '[Type: Link][Vis: med] - CTA for user to try out a market research product',\n },\n learnMore: {\n id: 'mrx.Solutions.learnMore',\n defaultMessage: 'Learn more',\n description: '[Type: Link][Vis: med] - CTA for user to learn more about a market research product',\n },\n contactUs: {\n id: 'mrx.Solutions.contactUs',\n defaultMessage: 'Contact us',\n description: '[Type: Link][Vis: med] - CTA for user to contact our support team about a market research product',\n },\n tryItNow: {\n id: 'mrx.Solutions.tryItNow',\n defaultMessage: 'Try it now',\n description: '[Type: Link][Vis: med] - CTA for user to contact our support team about a market research product',\n },\n surveyMonkeyAudience: {\n id: 'mrx.Solutions.surveyMonkeyAudience',\n defaultMessage: 'SurveyMonkey Audience',\n description: '[Type: Header][Vis: med] - Title of the Audience product',\n },\n surveyMonkeyAudienceDescription: {\n id: 'mrx.Solutions.surveyMonkeyAudienceDescription',\n defaultMessage:\n 'Find people who fit your criteria from our global panel of respondents. Select region, age, gender, income, and more.',\n description: '[Type: Paragraph][Vis: med] - Description of the Audience product',\n },\n};\n\nconst logger = getLogger(LOGGER_NAME.SOLUTIONS);\nconst biLogger = getLogger(LOGGER_NAME.BI_MARKETPLACE_MODAL);\nconst getLink = getLinkGenerator({\n ut_source: 'market_research',\n ut_source2: 'solutions',\n ut_source3: 'marketplace-cards',\n});\n\nconst getAudienceCategory = ctaCopy => ({\n name: t(COPY.audiencePanel),\n description: t(COPY.audiencePanelDescription),\n priority: 1,\n products: [\n {\n name: t(COPY.surveyMonkeyAudience),\n description: t(COPY.surveyMonkeyAudienceDescription),\n image: audienceImage,\n ctaLink: {\n href: getLink('/collect/audience/preview', {\n ut_ctatext: ctaCopy.defaultMessage,\n ut_source3: 'sm-button',\n }),\n text: t(ctaCopy),\n logging: () => logger.click.getStarted('audience_panel'),\n },\n learnMoreLink: {\n href: getLink('/market-research/solutions/audience-panel', {\n ut_ctatext: 'Learn more',\n }),\n text: t(COPY.learnMore),\n logging: () => logger.click.learnMore('audience_panel'),\n },\n },\n ],\n});\n\nconst MRX = ({ location, productCategories }) => {\n const [filterParams] = useState(getFilterParamsFromUrlLocation(location));\n const mProductCategories = filterProducts(productCategories, filterParams);\n const orderedCategories = Object.keys(mProductCategories);\n orderedCategories.sort((keyA, keyB) => {\n const priorityA = mProductCategories[keyA].priority;\n const priorityB = mProductCategories[keyB].priority;\n if (priorityA === undefined || priorityA === null) return 1;\n if (priorityB === undefined || priorityB === null) return -1;\n return priorityA - priorityB;\n });\n\n return (\n \n \n \n \n \n \n {orderedCategories.map((pcKey, idx) => (\n \n \n \n \n \n \n \n ))}\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nMRX.propTypes = {\n location: PropTypes.shape({\n search: PropTypes.string,\n hash: PropTypes.string,\n }),\n productCategories: PropTypes.objectOf(productCategoryPropType).isRequired,\n};\n\nMRX.defaultProps = {\n location: null,\n};\n\nconst mapModules = (modules, ctaCopy) =>\n modules.map(module => {\n return {\n name: module.title,\n description: module.description,\n image: module.image,\n ctaLink: {\n href: getLink(`/solutions/create/${module.id}`, {\n ut_ctatext: ctaCopy.defaultMessage,\n }),\n text: t(ctaCopy),\n logging: () => {\n logger.click.getStarted(module.title);\n biLogger.click.getStarted(module.type, module.subtype);\n },\n },\n learnMoreLink: {\n href: getLink(module.links.marketingPage, {\n ut_ctatext: 'Learn more',\n }),\n text: t(COPY.learnMore),\n logging: () => {\n logger.click.learnMore(module.title);\n biLogger.click.learnMore();\n },\n },\n };\n });\n\nconst FETCH_STATE = Object.freeze({\n LOADING: 'LOADING',\n ERROR: 'ERROR',\n IDLE: 'IDLE',\n});\n\nconst Wrapper = ({ location, client, useIntercom }) => {\n const {\n user: { isAuthenticated },\n } = useContext(StaticContext);\n const ctmProducts = useRef();\n const [fetchState, setFetchState] = useState(FETCH_STATE.LOADING);\n const ctaCopy = useRef(COPY.tryItNow);\n useEffect(() => biLogger.pageLoad(), []);\n useEffect(() => {\n new SynchronousQueryStream(client)\n .query({ query: modulesQuery })\n .resolveQueryResultToContext()\n .catch(err => {\n setFetchState(FETCH_STATE.ERROR);\n throw err;\n })\n .query({ query: userQuery })\n .resolveQueryResultToContext()\n // Don't block on this error; just move on since the user doesn't\n // have to be logged in\n .catch(() => null)\n .collect((_, context) => {\n const {\n modules: { items: modules },\n user,\n } = context;\n const hasPurchasedModule = user ? user.preferences.hasPurchasedModule : false;\n ctaCopy.current = isAuthenticated && hasPurchasedModule ? COPY.getStarted : COPY.tryItNow;\n ctmProducts.current = mapModules(modules, ctaCopy.current);\n setFetchState(FETCH_STATE.IDLE);\n });\n });\n let inner;\n if (fetchState === FETCH_STATE.LOADING) {\n inner = (\n
    \n \n
    \n );\n } else if (fetchState === FETCH_STATE.ERROR) {\n inner = ;\n } else {\n inner = (\n \n );\n }\n return (\n \n {inner}\n \n );\n};\n\nWrapper.propTypes = {\n location: PropTypes.shape({\n search: PropTypes.string,\n hash: PropTypes.string,\n }),\n client: PropTypes.shape({\n query: PropTypes.func.isRequired,\n }).isRequired,\n useIntercom: PropTypes.bool,\n};\n\nWrapper.defaultProps = {\n location: null,\n useIntercom: true,\n};\n\nexport default withRouter(withApollo(Wrapper));\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst CreateWizardConfigContext = React.createContext();\n\nconst CreateWizardConfigContextProvider = ({ createWizardConfig: defaultConfig, children }) => {\n const [createWizardConfig, _setCreateWizardConfig] = useState(defaultConfig);\n useEffect(() => {\n _setCreateWizardConfig(defaultConfig);\n }, [defaultConfig]);\n\n const setCreateWizardConfig = newCreateWizardConfig => {\n _setCreateWizardConfig(newCreateWizardConfig);\n };\n\n return (\n \n {children}\n \n );\n};\n\nCreateWizardConfigContextProvider.propTypes = {\n children: PropTypes.node.isRequired,\n createWizardConfig: PropTypes.shape({}),\n};\n\nCreateWizardConfigContextProvider.defaultProps = {\n createWizardConfig: {},\n};\n\nexport { CreateWizardConfigContext, CreateWizardConfigContextProvider };\n","export const SINGLE_CHOICE = 'single_choice';\nexport const DROPDOWN = 'dropdown';\nexport const MULTIPLE_CHOICE = 'multiple_choice';\nexport const SINGLE_TEXTBOX = 'single_textbox';\nexport const COMMENT_BOX = 'comment_box';\nexport const STAR_RATING = 'star_rating';\nexport const SLIDER = 'slider';\n\nexport const QUESTION_TYPES = [\n { id: 1, value: SINGLE_CHOICE, text: 'Multiple choice' },\n { id: 2, value: DROPDOWN, text: 'Dropdown' },\n { id: 3, value: MULTIPLE_CHOICE, text: 'Checkboxes' },\n { id: 4, value: SINGLE_TEXTBOX, text: 'Single textbox' },\n { id: 5, value: COMMENT_BOX, text: 'Comment box' },\n { id: 6, value: STAR_RATING, text: 'Star rating' },\n { id: 7, value: SLIDER, text: 'Slider' },\n];\n\nexport const MULTI_CHOICE_QUESTIONS = [SINGLE_CHOICE, DROPDOWN, MULTIPLE_CHOICE];\nexport const NON_MULTI_CHOICE_QUESTIONS = [SINGLE_TEXTBOX, COMMENT_BOX, STAR_RATING, SLIDER];\nexport const DEFAULT_POLL_QUESTION_TYPES = [SINGLE_CHOICE, DROPDOWN];\n\nexport const getQuestionTypes = (questionArray = []) => QUESTION_TYPES.filter(q => questionArray.includes(q.value));\n\nexport default QUESTION_TYPES;\n","import React from 'react';\nimport { Button } from '@sm/wds-react';\nimport { IconX, IconArrowDown, IconArrowUp } from '@sm/wds-icons';\nimport { PropTypes } from 'prop-types';\n\nexport const ChoiceOptions = ({ index, questionAnswersLength, moveAnswer, deleteAnswer }) => (\n
    \n {index !== 0 && (\n moveAnswer(index)}\n tabIndex=\"-1\"\n >\n \n \n \n \n )}\n {index !== questionAnswersLength - 1 && (\n moveAnswer(index, true)}\n tabIndex=\"-1\"\n >\n \n \n \n \n )}\n {questionAnswersLength > 2 && (\n deleteAnswer(index)}\n tabIndex=\"-1\"\n >\n \n \n \n \n )}\n
    \n);\n\nChoiceOptions.propTypes = {\n index: PropTypes.number,\n questionAnswersLength: PropTypes.number,\n moveAnswer: PropTypes.func,\n deleteAnswer: PropTypes.func,\n};\n\nChoiceOptions.defaultProps = {\n index: 0,\n questionAnswersLength: 0,\n moveAnswer: () => {},\n deleteAnswer: () => {},\n};\n\nexport default ChoiceOptions;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Container, Input, InputGroup, InputGroupAddon } from '@sm/wds-react';\nimport { ChoiceOptions } from './ChoiceOptions';\n\nexport const SurveyChoice = ({\n index,\n readOnlySurvey,\n questionId,\n answersLength,\n answerValue,\n moveAnswer,\n deleteAnswer,\n handleAnswerChange,\n}) => (\n \n \n \n handleAnswerChange(index, event)}\n disabled={readOnlySurvey}\n />\n \n \n \n \n \n \n);\n\nSurveyChoice.propTypes = {\n index: PropTypes.number,\n readOnlySurvey: PropTypes.bool,\n questionId: PropTypes.string,\n answersLength: PropTypes.number,\n answerValue: PropTypes.string,\n moveAnswer: PropTypes.func,\n deleteAnswer: PropTypes.func,\n handleAnswerChange: PropTypes.func,\n};\n\nSurveyChoice.defaultProps = {\n index: 0,\n readOnlySurvey: false,\n questionId: 0,\n answersLength: 0,\n answerValue: '',\n moveAnswer: () => {},\n deleteAnswer: () => {},\n handleAnswerChange: () => {},\n};\n\nexport default SurveyChoice;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Container, Input, InputGroupAddon } from '@sm/wds-react';\nimport { ChoiceOptions } from './ChoiceOptions';\n\nexport const QuizChoice = ({\n index,\n readOnlySurvey,\n questionId,\n answersLength,\n answer,\n moveAnswer,\n deleteAnswer,\n handleAnswerChange,\n handleScoreChange,\n}) => (\n \n
    \n \n handleAnswerChange(index, event)}\n disabled={readOnlySurvey}\n />\n \n \n handleScoreChange(index, event)}\n disabled={readOnlySurvey}\n />\n \n \n \n \n \n \n
    \n \n);\n\nQuizChoice.propTypes = {\n index: PropTypes.number,\n readOnlySurvey: PropTypes.bool,\n questionId: PropTypes.string,\n answersLength: PropTypes.number,\n answer: PropTypes.shape({\n answer: PropTypes.string,\n score: PropTypes.string,\n }),\n moveAnswer: PropTypes.func,\n deleteAnswer: PropTypes.func,\n handleAnswerChange: PropTypes.func,\n handleScoreChange: PropTypes.func,\n};\n\nQuizChoice.defaultProps = {\n index: 0,\n readOnlySurvey: false,\n questionId: '',\n answersLength: 0,\n answer: {\n answer: '',\n score: '',\n },\n moveAnswer: () => {},\n deleteAnswer: () => {},\n handleAnswerChange: () => {},\n handleScoreChange: () => {},\n};\n\nexport default QuizChoice;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { Container, Button } from '@sm/wds-react';\nimport { IconPlusCircle } from '@sm/wds-icons';\nimport { SINGLE_CHOICE } from '../../pages/NewSurvey/questionTypes';\nimport SurveyChoice from './SurveyChoice';\nimport { QuizChoice } from './QuizChoice';\n\nconst MultipleChoice = ({ question, surveyType, updateQuestion, maxAnsChoices, readOnlySurvey }) => {\n const handleAnswerChange = (idx, event) => {\n const currentQuestion = cloneDeep(question);\n const answers = [...currentQuestion.answers];\n answers[idx].answer = event.target.value;\n\n currentQuestion.answers = answers;\n updateQuestion(currentQuestion);\n };\n\n const moveAnswer = (idx, down) => {\n if (idx === 0 && !down) {\n return;\n }\n if (idx === question.answers.length - 1 && down) {\n return;\n }\n\n const currentQuestion = cloneDeep(question);\n const answers = [...currentQuestion.answers];\n\n const answer = answers[idx];\n const to = down ? idx + 1 : idx - 1;\n answers.splice(idx, 1);\n answers.splice(to, 0, answer);\n\n currentQuestion.answers = answers;\n updateQuestion(currentQuestion);\n };\n\n const deleteAnswer = idx => {\n const currentQuestion = cloneDeep(question);\n const answers = [...currentQuestion.answers];\n answers.splice(idx, 1);\n\n currentQuestion.answers = answers;\n updateQuestion(currentQuestion);\n };\n\n const addAnswer = () => {\n const currentQuestion = cloneDeep(question);\n const answers = [...currentQuestion.answers];\n answers.push({ answer: '', score: '' });\n\n currentQuestion.answers = answers;\n updateQuestion(currentQuestion);\n };\n\n const handleScoreChange = (idx, event) => {\n const val = event.target.value.replace(/[^0-9]+/g, '');\n const currentQuestion = cloneDeep(question);\n const answers = [...currentQuestion.answers];\n answers[idx].score = val;\n\n currentQuestion.answers = answers;\n updateQuestion(currentQuestion);\n };\n\n return (\n \n {question.answers.length > maxAnsChoices && (\n
    \n Multiple choice will only display a maximum of \n {maxAnsChoices}\n  poll choices\n
    \n )}\n {question.answers.map((answer, index) => {\n if (index < maxAnsChoices) {\n const id = `mc-${question.id}-answer-${index}`;\n return (\n
    \n \n \n \n \n \n \n
    \n );\n }\n return null;\n })}\n {question.answers.length < maxAnsChoices && !readOnlySurvey && (\n \n )}\n
    \n );\n};\n\nMultipleChoice.propTypes = {\n question: PropTypes.shape({\n id: PropTypes.string,\n question: PropTypes.string,\n questionType: PropTypes.string,\n answers: PropTypes.arrayOf(\n PropTypes.shape({\n answer: PropTypes.string,\n score: PropTypes.string,\n })\n ),\n min: PropTypes.number,\n max: PropTypes.number,\n allowComments: PropTypes.bool,\n required: PropTypes.bool,\n isNew: PropTypes.bool,\n isUpdated: PropTypes.bool,\n }),\n surveyType: PropTypes.string,\n updateQuestion: PropTypes.func,\n maxAnsChoices: PropTypes.number,\n readOnlySurvey: PropTypes.bool,\n};\n\nMultipleChoice.defaultProps = {\n question: {\n id: '',\n question: '',\n questionType: SINGLE_CHOICE,\n answers: [\n { answer: '', score: '' },\n { answer: '', score: '' },\n { answer: '', score: '' },\n ],\n min: 0,\n max: 100,\n allowComments: false,\n required: false,\n isNew: true,\n isUpdated: false,\n },\n surveyType: 'poll',\n updateQuestion: () => {},\n maxAnsChoices: 50,\n readOnlySurvey: false,\n};\n\nexport default MultipleChoice;\n","import { DEFAULT_POLL_QUESTION_TYPES, MULTI_CHOICE_QUESTIONS, NON_MULTI_CHOICE_QUESTIONS } from './questionTypes';\n\nconst defaultPollQuestionConfig = [\n {\n forTypes: DEFAULT_POLL_QUESTION_TYPES,\n maxOptions: 10,\n customConfigs: [\n {\n id: 'comments',\n label: 'Allow comments',\n },\n ],\n hideRequired: true,\n },\n];\n\nconst defaultSurveyQuestionConfig = [\n {\n forTypes: MULTI_CHOICE_QUESTIONS,\n maxOptions: 20,\n customConfigs: [\n {\n id: 'comments',\n label: 'Allow comments',\n },\n ],\n hideRequired: true,\n },\n {\n forTypes: NON_MULTI_CHOICE_QUESTIONS,\n customConfigs: [{}],\n hideRequired: true,\n },\n];\n\nexport const getDefaultQuestionConfig = surveyType => {\n if (surveyType === 'poll') {\n return defaultPollQuestionConfig;\n }\n return defaultSurveyQuestionConfig;\n};\n\nexport const getQuestionConfigs = (configs, surveyType) => {\n let questionArray = [];\n let disabledQuestionTypes = [];\n let maxAnsChoices;\n\n const questionConfigOverride = !configs ? getDefaultQuestionConfig(surveyType) : configs;\n\n questionConfigOverride.forEach(({ forTypes = [], maxOptions, disabled }) => {\n const isMCQuestions = forTypes.every(val => MULTI_CHOICE_QUESTIONS.includes(val));\n if (isMCQuestions && maxOptions) {\n maxAnsChoices = maxOptions;\n }\n if (disabled) {\n disabledQuestionTypes = disabledQuestionTypes.concat(forTypes);\n } else {\n questionArray = questionArray.concat(forTypes);\n }\n });\n\n return {\n enabledQuestionTypes: questionArray,\n disabledQuestionTypes,\n config: questionConfigOverride,\n maxAnsChoices,\n };\n};\n\nexport const sendMessage = (msg, domain) => {\n window.parent.postMessage(msg, domain);\n};\n","const ACTION_TYPES = {\n PREVIEW: 'preview',\n READ_ONLY: 'read_only',\n NO_CHANGE: 'no_change',\n UPDATE: 'update',\n SAVE: 'save',\n CANCEL: 'cancel',\n BACK: 'back',\n};\n\nexport default ACTION_TYPES;\n\nexport const determineActionType = (readOnlySurvey, changeIds, edit) => {\n if (readOnlySurvey) {\n return ACTION_TYPES.READ_ONLY;\n }\n if (edit) {\n return ACTION_TYPES.UPDATE;\n }\n if (changeIds.length === 0) {\n return ACTION_TYPES.NO_CHANGE;\n }\n return ACTION_TYPES.SAVE;\n};\n","import { SINGLE_CHOICE, MULTI_CHOICE_QUESTIONS, SLIDER } from './questionTypes';\n\nexport const createNewQuestion = () => {\n return {\n id: new Date().getUTCMilliseconds().toString(),\n question: '',\n questionType: SINGLE_CHOICE,\n min: 0,\n max: 100,\n required: false,\n isNew: true,\n isUpdated: false,\n answers: [\n { answer: '', score: '' },\n { answer: '', score: '' },\n { answer: '', score: '' },\n ],\n };\n};\n\nexport const validateSliderQuestionType = ({ min, max, id }, errors) => {\n if (\n min === '' ||\n max === '' ||\n parseInt(min, 10) > 1000000 ||\n parseInt(max, 10) > 1000000 ||\n parseInt(min, 10) < -1000000 ||\n parseInt(max, 10) < -1000000 ||\n parseInt(min, 10) >= parseInt(max, 10)\n ) {\n const minmaxid = max === '' || max > 1000000 || max < -1000000 ? '-max' : '-min';\n errors.push({\n focus: `question-${id}${minmaxid}`,\n message: 'Please enter valid slider min and max values',\n });\n }\n};\n\nexport const validateQuestionType = ({ questionType, id }, errors, disabledQuestionTypes) => {\n if (!questionType) {\n errors.push({\n focus: `question-${id}`,\n message: 'Please select a question type or remove the question',\n });\n }\n\n if (disabledQuestionTypes.includes(questionType)) {\n errors.push({\n focus: `question-${id}`,\n message: 'Please change question type or remove question',\n });\n }\n};\n\nexport const validateMultipleChoiceQuestionType = ({ id, answers }, surveyType, errors) => {\n if (answers.filter(({ answer }) => answer !== '').length < 2) {\n errors.push({\n focus: `question-${id}-answer1`,\n message: 'Please enter at least two choices',\n });\n }\n\n if (surveyType === 'quiz' && answers.filter(({ score }) => score > 0).length === 0) {\n errors.push({\n focus: `question-${id}-score1`,\n message: 'Please enter at least one score for your answers',\n });\n }\n};\n\nexport const isQuestionInvalid = (question, surveyType, { disabledQuestionTypes = [] }) => {\n const errors = [];\n validateQuestionType(question, errors, disabledQuestionTypes);\n\n if (question.question === '') {\n errors.push({\n focus: `question-${question.id}`,\n message: 'Please enter question text',\n });\n }\n\n if (MULTI_CHOICE_QUESTIONS.includes(question.questionType)) {\n validateMultipleChoiceQuestionType(question, surveyType, errors);\n }\n\n if (question.questionType === SLIDER) {\n validateSliderQuestionType(question, errors);\n }\n\n return errors;\n};\n\nexport default createNewQuestion;\n","import { COMMENT_BOX, DROPDOWN, SINGLE_CHOICE, SINGLE_TEXTBOX, SLIDER, STAR_RATING } from '../questionTypes';\n\nexport const mapAnswersFromAPI = (apiQuestion = {}) => {\n if (apiQuestion.family === 'single_choice' || apiQuestion.family === 'multiple_choice') {\n const answers = [];\n apiQuestion.answers.choices.forEach(choice => {\n const answer = { answer: choice.text, score: '' };\n if (choice.quiz_options) {\n answer.score = choice.quiz_options.score.toString();\n }\n answers.push(answer);\n });\n\n return answers;\n }\n\n return [];\n};\n\nexport const mapQuestionTypeFromAPI = (family, subtype, displayOptions = {}) => {\n const singleChoiceSubType = subtype === 'vertical' || subtype === 'vertical_two_col' ? SINGLE_CHOICE : DROPDOWN;\n switch (family) {\n case 'single_choice':\n return singleChoiceSubType;\n case 'multiple_choice':\n return 'multiple_choice';\n case 'open_ended':\n if (subtype === 'single') {\n if (displayOptions.display_type === 'slider') {\n return SLIDER;\n }\n return SINGLE_TEXTBOX;\n }\n if (subtype === 'essay') {\n return COMMENT_BOX;\n }\n break;\n case 'matrix':\n if (\n subtype === 'rating' &&\n displayOptions.display_type === 'emoji' &&\n displayOptions.display_subtype === 'star'\n ) {\n return STAR_RATING;\n }\n break;\n default:\n return singleChoiceSubType;\n }\n\n return null;\n};\n\nexport const mapQuestionFromApi = (question, surveyDetails) => {\n return {\n id: question.id || question.question_id,\n question: question.headings[0].heading,\n questionType: mapQuestionTypeFromAPI(question.family, question.subtype, question.display_options),\n answers: mapAnswersFromAPI(question),\n min: question.validation ? question.validation.min : 0,\n max: question.validation ? question.validation.max : 100,\n allowComments: false,\n required: !!question.required,\n isNew: surveyDetails && surveyDetails.id === undefined,\n isUpdated: false,\n initialPosition: question.position,\n };\n};\n","import {\n COMMENT_BOX,\n DROPDOWN,\n MULTIPLE_CHOICE,\n MULTI_CHOICE_QUESTIONS,\n SINGLE_CHOICE,\n SINGLE_TEXTBOX,\n SLIDER,\n STAR_RATING,\n} from '../questionTypes';\n\nexport const mapQuestionTypeToAPI = type => {\n switch (type) {\n case SINGLE_CHOICE:\n return { family: 'single_choice', subtype: 'vertical' };\n case DROPDOWN:\n return { family: 'single_choice', subtype: 'menu' };\n case MULTIPLE_CHOICE:\n return { family: 'multiple_choice', subtype: 'vertical' };\n case SINGLE_TEXTBOX:\n return { family: 'open_ended', subtype: 'single' };\n case COMMENT_BOX:\n return { family: 'open_ended', subtype: 'essay' };\n case STAR_RATING:\n return { family: 'matrix', subtype: 'rating' };\n case SLIDER:\n return { family: 'open_ended', subtype: 'single' };\n default:\n return { family: 'single_choice', subtype: 'vertical' };\n }\n};\n\nexport const mapAnswersToAPI = (question = {}, isQuiz = false) => {\n let mappedAnwers = null;\n if (MULTI_CHOICE_QUESTIONS.includes(question.questionType)) {\n const choices = [];\n let position = 1;\n question.answers.forEach(answer => {\n if (answer.answer) {\n const choice = {\n text: answer.answer,\n visible: true,\n position,\n };\n if (isQuiz) {\n choice.quiz_options = {\n score: answer.score ? parseInt(answer.score, 10) : 0,\n };\n }\n choices.push(choice);\n position += 1;\n }\n });\n mappedAnwers = {\n choices,\n };\n } else if (question.questionType === STAR_RATING) {\n mappedAnwers = {\n rows: [\n {\n visible: true,\n text: '',\n position: 1,\n },\n ],\n choices: [\n {\n weight: 1,\n text: '',\n },\n {\n weight: 2,\n text: '',\n },\n {\n weight: 3,\n text: '',\n },\n {\n weight: 4,\n text: '',\n },\n {\n weight: 5,\n text: '',\n },\n ],\n };\n }\n return mappedAnwers;\n};\n\nexport const handleRequired = (question, apiQuestion) => {\n const updatedQuestion = { ...apiQuestion };\n\n if (question.required) {\n updatedQuestion.required = {\n text: 'Response is required',\n type: question.questionType === MULTIPLE_CHOICE ? 'at_least' : 'all',\n amount: '1',\n };\n } else {\n delete updatedQuestion.required;\n }\n\n return updatedQuestion;\n};\n\nexport const handleStarQuestionType = (question, apiQuestion) => {\n const updatedQuestion = { ...apiQuestion };\n if (question.questionType === STAR_RATING) {\n updatedQuestion.display_options = {\n display_type: 'emoji',\n display_subtype: 'star',\n };\n updatedQuestion.forced_ranking = false;\n }\n\n return updatedQuestion;\n};\n\nexport const handleSliderQuestionType = (question, apiQuestion) => {\n const updatedQuestion = { ...apiQuestion };\n if (question.questionType === SLIDER) {\n updatedQuestion.display_options = {\n right_label: `${question.max}` || '100',\n display_type: 'slider',\n custom_options: {\n starting_position: 0,\n step_size: 1,\n },\n left_label: `${question.min}` || '0',\n };\n\n updatedQuestion.validation = {\n sum_text: '',\n min: question.min ? parseInt(question.min, 10) : 0,\n text: 'Please enter a whole number between {0} and {1}.',\n max: question.max ? parseInt(question.max, 10) : 100,\n type: 'integer',\n };\n }\n return updatedQuestion;\n};\n\nexport const mapQuestionToAPI = (question, position, isQuiz, originalQuestionFromApi) => {\n const familySubType = mapQuestionTypeToAPI(question.questionType);\n\n let apiQuestion = {\n family: familySubType.family,\n subtype: familySubType.subtype,\n ...(originalQuestionFromApi || {}),\n ...{\n headings: [\n {\n heading: question.question,\n },\n ],\n position,\n },\n };\n\n delete apiQuestion.href;\n delete apiQuestion.layout;\n\n if (!question.isNew) {\n apiQuestion.id = question.id;\n }\n\n apiQuestion = handleRequired(question, apiQuestion);\n\n if (MULTI_CHOICE_QUESTIONS.includes(question.questionType) || question.questionType === STAR_RATING) {\n apiQuestion.answers = mapAnswersToAPI(question, isQuiz);\n }\n\n apiQuestion = handleStarQuestionType(question, apiQuestion);\n\n apiQuestion = handleSliderQuestionType(question, apiQuestion);\n\n if (isQuiz && MULTI_CHOICE_QUESTIONS.includes(question.questionType)) {\n apiQuestion.quiz_options = {\n scoring_enabled: true,\n feedback: {\n correct_text: \"Nice! That's correct\",\n incorrect_text: \"Nope, that's wrong\",\n },\n };\n }\n\n return apiQuestion;\n};\n\nexport const buildQuestionData = (questions, surveyType) => {\n const questionsToSend = [];\n questions.forEach((question, position) => {\n const mappedQuestion = mapQuestionToAPI(question, position + 1, surveyType === 'quiz');\n\n questionsToSend.push(mappedQuestion);\n });\n return { questionsToSend };\n};\n","export const getInputConfig = ({ survey, surveyType, style }) => {\n if (surveyType === 'poll') {\n return {\n survey,\n maxQuestions: 1,\n maxQuestionsBasic: 10,\n types: ['poll'],\n selectedType: surveyType,\n showBadge: false,\n sendPayloadOnAllUpdates: false,\n hideCreateSurveyButton: false,\n hideCancelSurveyButton: true,\n style,\n };\n }\n return {\n survey,\n maxQuestions: 20,\n maxQuestionsBasic: 10,\n types: ['Survey', 'Quiz'],\n selectedType: surveyType,\n showBadge: false,\n sendPayloadOnAllUpdates: false,\n hideCreateSurveyButton: false,\n hideCancelSurveyButton: true,\n style,\n };\n};\n\nexport default getInputConfig;\n","import React, { useState, useEffect, useCallback, useContext } from 'react';\nimport { Redirect } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport {\n Alert,\n Badge,\n Container,\n Typography,\n Grid,\n Row,\n Col,\n Button,\n Menu,\n MenuItem,\n Option,\n Select,\n Switch,\n Input,\n Toast,\n ToastTitle,\n} from '@sm/wds-react';\nimport { IconStarFilled, IconMore, IconArrowLeft, IconArrowRight } from '@sm/wds-icons';\nimport MultipleChoice from '../../components/MultipleChoice';\nimport { sendMessage, getQuestionConfigs } from './helper';\n\nimport { CreateWizardConfigContext } from '../../CreateWizardConfigContext';\n\nimport './new-survey.scss';\nimport ACTION_TYPES, { determineActionType } from './actionTypes';\n\nimport {\n MULTI_CHOICE_QUESTIONS,\n SINGLE_TEXTBOX,\n COMMENT_BOX,\n STAR_RATING,\n SLIDER,\n getQuestionTypes,\n} from './questionTypes';\nimport createNewQuestion, { isQuestionInvalid } from './questions';\nimport { mapQuestionFromApi } from './questionTransformer/questionFromApi';\nimport { buildQuestionData, mapQuestionToAPI } from './questionTransformer/questionToApi';\nimport { getInputConfig } from './inputConfig';\n\nconst NewSurvey = ({ match }) => {\n const { createWizardConfig, setCreateWizardConfig } = useContext(CreateWizardConfigContext);\n const {\n primaryCtaCopy,\n secondaryCtaCopy,\n style,\n survey,\n redirectToEditorPage,\n redirectTo,\n readOnlySurvey,\n showPrimaryCtaIcon,\n parentDomain,\n questionConfig,\n } = createWizardConfig;\n const surveyTypeSelected = redirectToEditorPage ? redirectTo : match.params.surveyTypeSelected;\n\n const defaultInputConfig = getInputConfig({ survey, surveyType: surveyTypeSelected, style });\n\n const {\n hideCreateSurveyButton,\n hideCancelSurveyButton,\n sendPayloadOnAllUpdates,\n maxQuestions: MAX_QUESTIONS,\n types,\n } = defaultInputConfig;\n\n const [inputData] = useState(defaultInputConfig);\n\n const [surveyDetails, setSurveyDetails] = useState(survey);\n\n const [questions, setQuestions] = useState([createNewQuestion()]);\n\n const [surveyTitle, setSurveyTitle] = useState(survey && survey.title);\n\n const [surveyType, setSurveyType] = useState(surveyTypeSelected);\n\n const [shouldRedirectBackToHome, setShouldRedirectBackToHome] = useState(false);\n\n const [redirectUrl, setRedirectUrl] = useState('/createwizard/');\n\n const isNewSurvey = Object.keys(survey).length === 0;\n\n const edit = redirectToEditorPage && !isNewSurvey;\n\n const [questionsFromApiMap, setQuestionsFromApiMap] = useState({});\n\n const [questionConfigs] = useState(getQuestionConfigs(questionConfig, surveyTypeSelected));\n\n const [showUnsupportedAlert, setUnsupportedAlert] = useState(false);\n\n const loadMappedQuestionsList = useCallback(\n surveyData => {\n const questionsList = [];\n const questionsFromAPIList = [];\n if (edit && surveyData) {\n surveyData.pages.forEach(page => {\n page.questions.forEach(question => {\n const q = mapQuestionFromApi(question, surveyDetails);\n if (q) {\n if (questionConfigs.disabledQuestionTypes.includes(q.questionType)) {\n q.unsupported = true;\n setUnsupportedAlert(true);\n }\n\n questionsList.push(q);\n questionsFromAPIList.push(question);\n }\n });\n });\n setQuestions(questionsList);\n setQuestionsFromApiMap(\n questionsFromAPIList.reduce((map, question) => {\n const newMap = map;\n if (question.id) {\n newMap[question.id] = question;\n }\n return newMap;\n }, {})\n );\n }\n },\n [edit, surveyDetails, questionConfigs]\n );\n\n useEffect(() => {\n loadMappedQuestionsList(survey);\n setSurveyDetails(survey);\n }, [edit, loadMappedQuestionsList, survey]);\n\n const {\n iconColor,\n buttonColor,\n buttonTextColor,\n secondaryButtonColor,\n secondaryButtonTextColor,\n badgeColor,\n badgeTextColor,\n containerBackgroundColor,\n middleContainerBackgroundColor = 'transparent',\n inputBackgroundColor,\n inputBorderColor,\n inputBorderHoverColor,\n inputBorderFocusColor,\n inputLabelBackgroundColor,\n } = style;\n\n useEffect(() => {\n const root = document.documentElement;\n\n root.style.setProperty('--customIconColor', iconColor);\n root.style.setProperty('--customButtonColor', buttonColor);\n root.style.setProperty('--customTextColor', buttonTextColor);\n root.style.setProperty('--customSecondaryButtonColor', secondaryButtonColor);\n root.style.setProperty('--customSecondaryTextColor', secondaryButtonTextColor);\n root.style.setProperty('--customBadgeColor', badgeColor);\n root.style.setProperty('--customBadgeTextColor', badgeTextColor);\n root.style.setProperty('--customContainerBackgroundColor', containerBackgroundColor);\n root.style.setProperty('--customMiddleContainerBackgroundColor', middleContainerBackgroundColor);\n root.style.setProperty('--customInputBackgroundColor', inputBackgroundColor);\n root.style.setProperty('--customInputBorderColor', inputBorderColor);\n root.style.setProperty('--customInputBorderHoverColor', inputBorderHoverColor);\n root.style.setProperty('--customInputBorderFocusColor', inputBorderFocusColor);\n root.style.setProperty('--customInputLabelBackgroundColor', inputLabelBackgroundColor || '#F3F2F1');\n }, [\n iconColor,\n buttonColor,\n buttonTextColor,\n secondaryButtonColor,\n secondaryButtonTextColor,\n badgeColor,\n badgeTextColor,\n containerBackgroundColor,\n middleContainerBackgroundColor,\n inputBackgroundColor,\n inputBorderColor,\n inputBorderHoverColor,\n inputBorderFocusColor,\n inputLabelBackgroundColor,\n ]);\n\n const showMore = false;\n\n const hasresponses = false;\n const [showToast, setShowToast] = useState(false);\n const [errorText, setErrorText] = useState('');\n const [setDeletePromptQuestion] = useState(undefined);\n const [questionsToDelete, setQuestionsToDelete] = useState([]);\n\n const hasErrors = () => {\n if (!surveyTitle && surveyType !== 'poll') {\n return { focus: 'surveyTitle', message: 'Please enter survey title' };\n }\n\n for (let x = 0; x < questions.length; x += 1) {\n const question = questions[x];\n\n const questionErrors = isQuestionInvalid(question, surveyType, questionConfigs);\n if (questionErrors.length > 0) {\n return questionErrors[0];\n }\n }\n\n return null;\n };\n\n const saveSurvey = ({ overrideAction }) => {\n let dataToSend = {};\n\n const { questionsToSend } = buildQuestionData(questions, surveyType);\n\n dataToSend = {\n action: overrideAction || (readOnlySurvey ? 'read_only' : 'save'),\n changeIds: [],\n survey: {\n title: surveyTitle,\n pages: [\n {\n questions: questionsToSend,\n },\n ],\n },\n customConfigs: questionConfigs.config.customConfigs,\n };\n sendMessage(`${JSON.stringify(dataToSend)}`, parentDomain);\n };\n\n const handleSurveyTypeChange = e => {\n setSurveyType(e.target.attributes.value.value);\n\n if (sendPayloadOnAllUpdates) {\n saveSurvey();\n }\n };\n\n const errorClass = 'sm-new-survey__error-outline';\n\n const updateQuestion = _question => {\n const updatedQuestion = { ..._question, isUpdated: true };\n const questionsTemp = questions;\n const foundIndex = questionsTemp.findIndex(q => q.id === updatedQuestion.id);\n if (foundIndex > -1) {\n questionsTemp[foundIndex] = updatedQuestion;\n setQuestions([...questionsTemp]);\n }\n\n if (sendPayloadOnAllUpdates) {\n saveSurvey();\n }\n\n const errOutline = document.querySelector('.sm-new-survey__input.sm-new-survey__error-outline');\n if (errOutline) {\n errOutline.classList.remove(errorClass);\n }\n };\n\n const handleQuestionTypeChange = (_question, e) => {\n const tmpQuestion = _question;\n const { value } = e.target.attributes.value;\n tmpQuestion.questionType = value;\n updateQuestion(tmpQuestion);\n };\n\n const handleQuestionChange = (_question, event) => {\n const tmpQuestion = _question;\n tmpQuestion.question = event.target.value;\n if (surveyType === 'poll') {\n setSurveyTitle(tmpQuestion.question);\n }\n updateQuestion(tmpQuestion);\n };\n\n const handleMinChange = (_question, e) => {\n const tmpQuestion = _question;\n\n tmpQuestion.min = `${e.target.value === '-' ? '-' : parseInt(e.target.value, 10) || ''}`;\n updateQuestion(tmpQuestion);\n };\n\n const handleMaxChange = (_question, e) => {\n const tmpQuestion = _question;\n\n tmpQuestion.max = `${e.target.value === '-' ? '-' : parseInt(e.target.value, 10) || ''}`;\n updateQuestion(tmpQuestion);\n };\n\n const handleRequiredChange = (_question, e) => {\n const tmpQuestion = _question;\n tmpQuestion.required = e.target.checked;\n updateQuestion(tmpQuestion);\n };\n\n const addQuestion = () => {\n setQuestions([...questions, createNewQuestion()]);\n const questionTitles = document.getElementsByClassName('sm-new-survey__question-title');\n questionTitles[questionTitles.length - 1].focus();\n };\n\n const deleteQuestion = question => {\n if (!question.isNew && hasresponses) {\n setDeletePromptQuestion(question);\n } else {\n const questionsToDeleteList = questionsToDelete;\n const filteredQuestions = questions.filter(q => q.id !== question.id);\n if (!question.isNew) {\n questionsToDeleteList.push(question);\n }\n setQuestions([...filteredQuestions]);\n setQuestionsToDelete([...questionsToDeleteList]);\n }\n };\n\n const handleSurveyTitleChange = e => {\n setSurveyTitle(e.target.value);\n\n if (sendPayloadOnAllUpdates) {\n saveSurvey();\n }\n\n const errOutline = document.querySelector('.sm-new-survey__input.sm-new-survey__error-outline');\n if (errOutline) {\n errOutline.classList.remove(errorClass);\n }\n };\n\n const moveQuestion = (question, down) => {\n const questionsList = questions;\n const from = questionsList.findIndex(q => q.id === question.id);\n const to = down ? from + 1 : from - 1;\n questionsList.splice(from, 1);\n questionsList.splice(to, 0, question);\n setQuestions([...questionsList]);\n };\n\n const showErrors = errObj => {\n if (errObj && errObj.focus) {\n const input = document.getElementById(errObj.focus);\n input.focus();\n input.classList.add(errorClass);\n }\n setShowToast(true);\n setErrorText(errObj ? errObj.message : '');\n };\n\n const handleUpdate = ({ overrideAction }) => {\n const questionsToSend = [];\n const errors = hasErrors();\n if (errors) {\n showErrors(errors);\n return;\n }\n setShowToast(false);\n\n const changeIds = [];\n\n questions.forEach((question, position) => {\n const questionFromApi = questionsFromApiMap[question.id] || null;\n const mappedQuestion = mapQuestionToAPI(question, position + 1, surveyType === 'quiz', questionFromApi);\n\n if (question.initialPosition !== mappedQuestion.position || question.isUpdated || question.isNew) {\n changeIds.push(question.id);\n questionsToSend.push(mappedQuestion);\n }\n });\n\n questionsToDelete.forEach(questionToDelete => {\n changeIds.push(questionToDelete.id);\n });\n\n const action = determineActionType(readOnlySurvey, changeIds, edit);\n\n const dataToSend = {\n action: overrideAction || action,\n changeIds,\n survey: {\n id: surveyDetails.id,\n title: surveyTitle,\n pages: [\n {\n questions: questionsToSend,\n },\n ],\n },\n customConfigs: questionConfigs.config.customConfigs,\n };\n sendMessage(`${JSON.stringify(dataToSend)}`, parentDomain);\n };\n\n const handleSave = ({ overrideAction }) => {\n const errors = hasErrors();\n if (errors) {\n showErrors(errors);\n return;\n }\n setShowToast(false);\n saveSurvey({ overrideAction });\n };\n\n const handleSubmit = ({ overrideAction = '' } = {}) => {\n if (questions.length === 0) {\n return;\n }\n\n localStorage.removeItem('createExperiencePayload');\n if (edit && surveyDetails.id) {\n handleUpdate({ overrideAction });\n } else {\n handleSave({ overrideAction });\n }\n };\n\n const handleCancel = actionType => {\n if (redirectTo === 'templates') {\n setRedirectUrl('/createwizard/templates');\n setShouldRedirectBackToHome(true);\n } else if (redirectToEditorPage || readOnlySurvey) {\n const dataToSend = {\n action: actionType,\n };\n sendMessage(`${JSON.stringify(dataToSend)}`, parentDomain);\n localStorage.removeItem('createExperiencePayload');\n setCreateWizardConfig({\n ...createWizardConfig,\n redirectTo: '',\n redirectToEditorPage: false,\n readOnlySurvey: false,\n survey: {},\n });\n setRedirectUrl('/createwizard');\n setShouldRedirectBackToHome(true);\n } else {\n setRedirectUrl('/createwizard');\n setShouldRedirectBackToHome(true);\n }\n };\n\n const onCloseToast = () => setShowToast(false);\n\n const isSubmitDisabled = () =>\n (questions && questions.length === 0) || (MAX_QUESTIONS && questions && questions.length > MAX_QUESTIONS);\n\n return (\n \n \n \n \n \n \n \n \n handleCancel(ACTION_TYPES.BACK)}\n >\n \n Back\n \n \n \n \n Create \n {surveyTypeSelected}\n \n \n \n \n \n \n setUnsupportedAlert(false)}>\n This survey contains question types that are not supported with your current SurveyMonkey plan.{' '}\n \n Upgrade your plan or update the paid question types to use this template.\n \n \n \n Upgrade\n \n   your plan or update the paid question types to use this template. \n \n Learn More\n \n \n  \n \n \n \n {types && types.length >= 1 && (\n \n Poll\n \n \n \n {types.map(supportedSurveyType => {\n return (\n \n );\n })}\n \n \n \n )}\n \n \n {MAX_QUESTIONS !== 1 && (\n \n \n \n )}\n {questions &&\n questions.map((question, index) => {\n const questionID = `question-${question.id}`;\n return (\n \n {MAX_QUESTIONS !== 1 && !readOnlySurvey && (\n <>\n
    \n \n \n Q {index + 1}\n \n \n \n }\n >\n deleteQuestion(question)}>Delete question\n {index !== 0 && (\n moveQuestion(question, false)}>Move question up\n )}\n {questions && questions.length - 1 !== index && (\n moveQuestion(question, true)}>Move question down\n )}\n \n \n \n \n )}\n \n handleQuestionTypeChange(question, event)}\n disabled={(edit && !question.isNew) || readOnlySurvey}\n >\n {getQuestionTypes(questionConfigs.enabledQuestionTypes).map(questionType => {\n return (\n \n {questionType.text}\n \n );\n })}\n \n \n \n handleQuestionChange(question, event)}\n disabled={readOnlySurvey}\n />\n \n {MULTI_CHOICE_QUESTIONS.includes(question.questionType) && (\n \n )}\n {question.questionType === SINGLE_TEXTBOX && (\n \n
    \n \n )}\n {question.questionType === COMMENT_BOX && (\n \n
    \n \n )}\n {question.questionType === STAR_RATING && (\n \n
    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    \n
    \n )}\n {question.questionType === SLIDER && (\n \n \n \n \n {\n handleMinChange(question, event);\n }}\n value={question.min}\n disabled={readOnlySurvey}\n />\n \n \n {\n handleMaxChange(question, event);\n }}\n value={question.max}\n disabled={readOnlySurvey}\n />\n \n \n \n \n
    \n \n \n )}\n {MAX_QUESTIONS !== 1 && (\n \n handleRequiredChange(question, event)}\n />\n Required\n \n )}\n \n );\n })}\n \n \n \n \n {MAX_QUESTIONS !== 1 && questions.length < MAX_QUESTIONS && !readOnlySurvey && (\n \n \n \n )}\n \n \n \n \n Error creating {surveyType}. {errorText}\n \n \n\n \n {!hideCancelSurveyButton && (\n handleCancel(ACTION_TYPES.CANCEL)}\n >\n Cancel\n \n )}\n {!hideCreateSurveyButton && (\n <>\n {secondaryCtaCopy && (\n handleSubmit({ overrideAction: 'preview' })}\n disabled={isSubmitDisabled()}\n >\n {secondaryCtaCopy}\n \n )}\n handleSubmit()}\n disabled={isSubmitDisabled()}\n >\n {primaryCtaCopy}\n {showPrimaryCtaIcon ? : ''}\n \n \n )}\n \n \n \n \n \n );\n};\n\nNewSurvey.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n surveyTypeSelected: PropTypes.string.isRequired,\n }).isRequired,\n }).isRequired,\n};\n\nexport default NewSurvey;\n","import React from 'react';\n\nconst IconPoll = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default IconPoll;\n","import React from 'react';\n\nconst IconSurvey = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default IconSurvey;\n","import React from 'react';\n\nconst IconTemplate = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default IconTemplate;\n","import React from 'react';\n\nconst IconQuiz = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default IconQuiz;\n","import React, { useState, useEffect, useCallback, useContext } from 'react';\nimport { Redirect } from 'react-router-dom';\nimport { Card, Container, Typography, Grid, Row, Col } from '@sm/wds-react';\n\nimport { CreateWizardConfigContext } from '../../CreateWizardConfigContext';\n\nimport { IconPoll, IconSurvey, IconTemplate } from '../../components/IconWrapper';\n\nimport './home.scss';\nimport IconQuiz from '../../components/IconWrapper/IconQuiz';\n\nconst Home = () => {\n const { createWizardConfig, setCreateWizardConfig } = useContext(CreateWizardConfigContext);\n const [shouldRedirect, setShouldRedirect] = useState(false);\n const [redirectUrl, setRedirectUrl] = useState('/createwizard/new-survey/poll');\n const [showCreatePollCard, setShowCreatePollCard] = useState(createWizardConfig.showCreatePollCard);\n const [showCreateSurveyCard, setShowCreateSurveyCard] = useState(createWizardConfig.showCreateSurveyCard);\n const [showStartFromTemplateCard, setShowStartFromTemplateCard] = useState(\n createWizardConfig.showStartFromTemplateCard\n );\n const [showCreateQuizCard, setShowCreateQuizCard] = useState(createWizardConfig.showCreateQuizCard);\n const [customStylings, setCustomStylings] = useState(createWizardConfig.style);\n\n useEffect(() => {\n setShouldRedirect(createWizardConfig.redirectToEditorPage);\n if (createWizardConfig.redirectToEditorPage) {\n if (createWizardConfig.redirectTo === 'templates') {\n setRedirectUrl(`/createwizard/${createWizardConfig.redirectTo}`);\n } else {\n setRedirectUrl(`/createwizard/new-survey/${createWizardConfig.redirectTo}`);\n }\n }\n setShowCreatePollCard(createWizardConfig.showCreatePollCard);\n setShowCreateSurveyCard(createWizardConfig.showCreateSurveyCard);\n setShowStartFromTemplateCard(createWizardConfig.showStartFromTemplateCard);\n setShowCreateQuizCard(createWizardConfig.showCreateQuizCard);\n setCustomStylings(createWizardConfig.style);\n }, [createWizardConfig]);\n\n const onMessageReceivedFromIframe = useCallback(\n event => {\n if (\n event.data &&\n event.data.message &&\n typeof event.data.message !== 'object' &&\n event.data.source === 'create-wizard-app'\n ) {\n const data = JSON.parse(event.data.message);\n setCreateWizardConfig(data);\n }\n },\n [setCreateWizardConfig]\n );\n\n useEffect(() => {\n window.addEventListener('message', onMessageReceivedFromIframe);\n return () => window.removeEventListener('message', onMessageReceivedFromIframe);\n }, [onMessageReceivedFromIframe]);\n\n useEffect(() => {\n document.documentElement.style.setProperty('--customIconColor', customStylings.iconColor);\n document.documentElement.style.setProperty(\n '--customContainerBackgroundColor',\n customStylings.containerBackgroundColor\n );\n }, [customStylings]);\n\n return (\n <>\n \n Get started\n \n \n \n \n \n \n \n \n \n \n {\n setShouldRedirect(true);\n setRedirectUrl('/createwizard/new-survey/poll');\n }}\n className=\"sm-home__cards sm-home__poll\"\n >\n
    \n \n
    \n \n Create poll\n \n Write a 1-question poll to share\n \n
    \n \n {\n setShouldRedirect(true);\n setRedirectUrl('/createwizard/new-survey/survey');\n }}\n className=\"sm-home__cards sm-home__survey\"\n >\n
    \n \n
    \n \n Create survey\n \n \n Write a survey to share\n \n \n
    \n \n {\n setShouldRedirect(true);\n setRedirectUrl('/createwizard/templates');\n }}\n className=\"sm-home__cards sm-home__template\"\n >\n
    \n \n
    \n \n Start from template\n \n \n Start from an expertly written poll or survey template\n \n \n
    \n \n {\n setShouldRedirect(true);\n setRedirectUrl('/createwizard/new-survey/quiz');\n }}\n className=\"sm-home__cards sm-home__template\"\n >\n
    \n \n
    \n \n Create Quiz\n \n \n Add scores to questions and grade responses\n \n \n
    \n
    \n \n
    \n
    \n
    \n \n );\n};\n\nexport default Home;\n","import React, { useState, useEffect, useCallback, useContext } from 'react';\nimport { Redirect } from 'react-router-dom';\nimport { Card, Container, Grid, Row, Col, Button, Typography } from '@sm/wds-react';\n\nimport { IconArrowLeft } from '@sm/wds-icons';\n\nimport { sendMessage } from '../NewSurvey/helper';\n\nimport { CreateWizardConfigContext } from '../../CreateWizardConfigContext';\n\nimport './templates.scss';\n\nconst Templates = () => {\n const { createWizardConfig, setCreateWizardConfig } = useContext(CreateWizardConfigContext);\n const { templatesList, style, redirectToEditorPage, parentDomain } = createWizardConfig;\n const [shouldRedirectBackToHome, setShouldRedirectBackToHome] = useState(false);\n const [showCreatePollCard, setShowCreatePollCard] = useState(createWizardConfig.showCreatePollCard);\n\n const { badgeColor, secondaryButtonTextColor, badgeTextTransform, containerBackgroundColor } = style;\n\n useEffect(() => {\n setShowCreatePollCard(createWizardConfig.showCreatePollCard);\n }, [createWizardConfig]);\n\n useEffect(() => {\n const root = document.documentElement;\n root.style.setProperty('--customBadgeColor', badgeColor);\n root.style.setProperty('--customSecondaryTextColor', secondaryButtonTextColor);\n root.style.setProperty('--customBadgeTextTransform', badgeTextTransform);\n root.style.setProperty('--customContainerBackgroundColor', containerBackgroundColor);\n }, [badgeColor, secondaryButtonTextColor, badgeTextTransform, containerBackgroundColor]);\n\n const handleBackToHome = actionType => {\n if (redirectToEditorPage) {\n const dataToSend = {\n action: actionType,\n };\n sendMessage(`${JSON.stringify(dataToSend)}`, parentDomain);\n setShouldRedirectBackToHome(true);\n setCreateWizardConfig({\n ...createWizardConfig,\n redirectTo: '',\n redirectToEditorPage: false,\n readOnlySurvey: false,\n survey: {},\n });\n } else {\n setShouldRedirectBackToHome(true);\n }\n };\n\n const handleTemplateSelect = template => {\n const dataToSend = {\n action: 'template_selected',\n details: template,\n };\n sendMessage(`${JSON.stringify(dataToSend)}`, parentDomain);\n };\n\n const onMessageReceivedFromIframe = useCallback(\n event => {\n if (\n event.data &&\n event.data.message &&\n typeof event.data.message !== 'object' &&\n event.data.source === 'create-wizard-app'\n ) {\n const data = JSON.parse(event.data.message);\n setCreateWizardConfig(data);\n setShouldRedirectBackToHome(true);\n }\n },\n [setCreateWizardConfig]\n );\n\n useEffect(() => {\n window.addEventListener('message', onMessageReceivedFromIframe);\n return () => window.removeEventListener('message', onMessageReceivedFromIframe);\n }, [onMessageReceivedFromIframe]);\n\n return (\n <>\n
    \n \n \n \n \n handleBackToHome('back')}\n >\n \n Back\n \n \n \n Start from template\n \n
    \n\n \n \n \n \n {templatesList &&\n templatesList.map(template => {\n return (\n handleTemplateSelect(template)}\n className=\"sm-templates__cards\"\n >\n \n \n {template.type}\n \n \n {template.title}\n \n );\n })}\n \n \n \n \n \n );\n};\n\nexport default Templates;\n","export const DEFAULT_STYLES = {\n buttonColor: '#00BF6F',\n buttonTextColor: '#FFFFFF',\n secondaryButtonColor: '#FFFFFF',\n secondaryButtonTextColor: '#00BF6F',\n badgeColor: '#00BF6F',\n badgeTextColor: '#FFFFFF',\n iconColor: '#00BF6F',\n containerBackgroundColor: '#FFFFFF',\n inputBackgroundColor: '#f3f2f1',\n inputBorderColor: 'transparent',\n inputBorderHoverColor: 'transparent',\n inputBorderFocusColor: 'transparent',\n};\n\nexport const DEFAULT_CREATE_WIZARD_CONFIG = {\n redirectToEditorPage: false,\n redirectTo: 'poll',\n readOnlySurvey: false,\n showCreatePollCard: true,\n showCreateSurveyCard: false,\n showStartFromTemplateCard: false,\n showCreateQuizCard: false,\n primaryCtaCopy: 'Create poll',\n secondaryCtaCopy: '',\n showPrimaryCtaIcon: false,\n parentDomain: '*',\n questionConfig: [\n {\n forTypes: ['single_choice', 'dropdown'],\n maxOptions: 10,\n customConfigs: [\n {\n id: 'comments',\n label: 'Allow comments',\n },\n ],\n hideRequired: true,\n },\n ],\n style: DEFAULT_STYLES,\n survey: {},\n templatesList: [],\n};\n\nexport default DEFAULT_CREATE_WIZARD_CONFIG;\n","import React, { useEffect, useCallback, useState } from 'react';\nimport { Route, withRouter, Switch } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nimport { CreateWizardConfigContextProvider } from './CreateWizardConfigContext';\n\nimport { HomePage, NewSurveyPage, TemplatesPage } from './pages';\nimport { DEFAULT_STYLES, DEFAULT_CREATE_WIZARD_CONFIG } from './DefaultCreateWizardConfig';\n\nconst CreateWizardRouter = ({ history }) => {\n useEffect(() => {\n const unlisten = history.listen(() => {\n window.scrollTo(0, 0);\n });\n return () => {\n unlisten();\n };\n }, [history]);\n\n const [createWizardConfig, setCreateWizardConfig] = useState(DEFAULT_CREATE_WIZARD_CONFIG);\n\n const updateCreateWizardConfig = newConfigs => {\n const configs = { ...newConfigs, style: { ...DEFAULT_STYLES, ...newConfigs.style } };\n setCreateWizardConfig(configs);\n };\n\n const onMessageReceivedFromIframe = useCallback(event => {\n if (\n event.data &&\n event.data.message &&\n typeof event.data.message !== 'object' &&\n event.data.source === 'create-wizard-app'\n ) {\n const data = JSON.parse(event.data.message);\n localStorage.setItem('createExperiencePayload', event.data.message);\n updateCreateWizardConfig(data);\n }\n }, []);\n\n useEffect(() => {\n window.addEventListener('message', onMessageReceivedFromIframe);\n return () => window.removeEventListener('message', onMessageReceivedFromIframe);\n }, [onMessageReceivedFromIframe]);\n\n useEffect(() => {\n const payload = localStorage.getItem('createExperiencePayload');\n if (payload) {\n const data = JSON.parse(payload);\n updateCreateWizardConfig(data);\n }\n }, []);\n\n return (\n \n \n \n \n \n \n \n );\n};\n\nCreateWizardRouter.propTypes = {\n history: PropTypes.shape({\n listen: PropTypes.func.isRequired,\n }).isRequired,\n};\n\nexport default withRouter(CreateWizardRouter);\n","/**\n * Change provided set of anchors from relative to static for pages not hosted on www\n * @returns {canonicalUrl} string\n */\nexport default function makeLinksStatic(links, domain, subdomain) {\n links.forEach(link => {\n const linkHref = link.getAttribute('href');\n if (!linkHref.startsWith('http')) {\n if (link.pathname !== '/') {\n const linkElement = link;\n let targetSubdomain = 'www';\n if (subdomain.endsWith('eu')) {\n targetSubdomain = 'eu';\n }\n linkElement.href = `https://${targetSubdomain}.${domain}.com${linkHref}`;\n }\n }\n });\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n\nimport { Box } from '@wds/box';\nimport { Button } from '@wds/button';\nimport { Typography } from '@wds/typography';\n\nimport { Logo } from '@sm/webassets';\n\nconst DeveloperWebNavHeaderDesktop = ({ navItems, domain, subdomain, url }) => {\n return (\n
    \n \n \n \n \n \n \n Developer\n \n \n \n \n \n \n \n \n Sign in\n \n \n \n \n Sign up\n \n \n \n \n
    \n );\n};\n\nDeveloperWebNavHeaderDesktop.propTypes = {\n navItems: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.string.isRequired,\n text: PropTypes.node.isRequired,\n class: PropTypes.string,\n })\n ).isRequired,\n domain: PropTypes.string.isRequired,\n subdomain: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n};\n\nexport default withRouter(DeveloperWebNavHeaderDesktop);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\nimport { Menu } from '@wds/menu';\nimport { IconMenu, IconLogoGoldie } from '@sm/wds-icons';\n\nconst DeveloperWebNavHeaderMobile = ({ navItems, domain, subdomain, url }) => {\n return (\n
    \n \n \n \n
    \n \n \n \n \n
    \n }\n >\n {navItems.map(nav => (\n // The query params need to be preserved between urls (needed for ut_source)\n \n {nav.text}\n \n ))}\n \n Sign In\n \n \n Sign Up\n \n \n
    \n
    \n );\n};\n\nDeveloperWebNavHeaderMobile.propTypes = {\n navItems: PropTypes.arrayOf(\n PropTypes.shape({\n target: PropTypes.string.isRequired,\n text: PropTypes.node.isRequired,\n class: PropTypes.string,\n })\n ).isRequired,\n domain: PropTypes.string.isRequired,\n subdomain: PropTypes.string.isRequired,\n url: PropTypes.string.isRequired,\n};\n\nexport default withRouter(DeveloperWebNavHeaderMobile);\n","import React, { useContext } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nimport { getClientEnvironmentDetails } from '@sm/utils';\n\nimport { DesktopScreen, MobileTabletScreen, StaticContext } from '@sm/webassets';\n\nimport DeveloperWebNavHeaderDesktop from './DeveloperWebNavHeaderDesktop';\nimport DeveloperWebNavHeaderMobile from './DeveloperWebNavHeaderMobile';\n\nimport './developer-web-nav-header.scss';\n\nconst navigationItems = location => {\n const items = [\n { target: '/', text: 'Home' },\n { target: '/apps/', text: 'My Apps' },\n { target: '/api/v3/', text: 'Docs' },\n { target: '/tools/api_status/', text: 'Status' },\n { target: '/faq/', text: 'FAQ' },\n ];\n\n items.forEach(item => {\n const headerItem = item;\n headerItem.class = 'sm-dev-web-nav-header__nav__button';\n if (location.pathname === item.target) {\n headerItem.class = `${item.class} sm-dev-web-nav-header__nav__button--active`;\n }\n });\n\n return items;\n};\n\nconst DeveloperWebNavHeader = () => {\n const {\n environment: { domain, subdomain },\n userAgent,\n url,\n } = useContext(StaticContext);\n const { isDesktop } = getClientEnvironmentDetails(userAgent);\n const location = useLocation();\n\n let redirectUrl = url;\n if (subdomain === 'developer' || subdomain === 'developer.eu') {\n if (window && window.location) {\n redirectUrl = window.location.href;\n }\n }\n\n let targetSubdomain = 'www';\n if (subdomain.endsWith('eu')) {\n targetSubdomain = 'eu';\n }\n\n return (\n <>\n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n \n );\n};\n\nexport default DeveloperWebNavHeader;\n","import { SMHeader, StaticContext } from '@sm/webassets';\nimport React, { useContext, useEffect, useState } from 'react';\nimport { createUseStyles } from 'react-jss';\nimport makeLinksStatic from '~app/helpers/makeLinksStatic';\nimport DeveloperWebNavHeader from '../DeveloperWebNavHeader';\n\nconst portedPages = [\n '/',\n '/home/?ut_source=header',\n '/new-home-page/?ut_source=header',\n '/api/v3/',\n '/api/v3/?ut_source=header',\n '/faq/',\n '/faq/?ut_source=header',\n];\n\nconst useStyles = createUseStyles({\n headerPlaceholderSabeus: {\n height: '48px',\n width: '100%',\n background: '#00BF6F',\n },\n headerPlaceholderBlack: {\n height: '48px',\n width: '100%',\n background: '#404040',\n },\n});\n\nconst fixLinks = domain => {\n const header = document.getElementsByTagName('header')[0];\n if (header) {\n const headerLinks = [...header.getElementsByTagName('a')];\n headerLinks.forEach(headerLink => {\n const headerLinkHref = headerLink.getAttribute('href');\n if (!headerLinkHref.startsWith('http') && !headerLinkHref.startsWith('/developer')) {\n const headerLinkElement = headerLink;\n headerLinkElement.href = portedPages.includes(headerLinkHref)\n ? `/developer${headerLinkHref}`\n : `https://developer.${domain}.com${headerLinkHref}`;\n }\n });\n }\n};\n\nconst fixSubdomainLinks = domain => {\n const mobileButtons = document.querySelectorAll('header [class^=\"mobileNavBoxFull\"] > button');\n if (mobileButtons.length) {\n mobileButtons.forEach(mobileButton => {\n mobileButton.addEventListener('click', () => {\n setTimeout(() => {\n fixLinks(domain);\n });\n });\n });\n }\n};\n\nconst fixAccountLinks = (domain, subdomain) => {\n let tryAttachCount = 0;\n const attachAccountAction = setInterval(() => {\n const accountButton = document.querySelectorAll('header [class^=\"navBarBox\"] button');\n if (accountButton[0]) {\n clearInterval(attachAccountAction);\n accountButton[0].addEventListener('click', () => {\n setTimeout(() => {\n const menuItems = document.querySelectorAll('header [class^=\"navBarBox\"] [class^=\"wrenchList\"] a');\n if (menuItems) {\n makeLinksStatic([...menuItems], domain, subdomain);\n }\n });\n });\n tryAttachCount += 1;\n }\n if (tryAttachCount > 10) {\n clearInterval(attachAccountAction);\n }\n }, 100);\n};\n\nconst ModernHeader = () => {\n const {\n environment: { subdomain, domain },\n user,\n locale: { isEUDC },\n } = useContext(StaticContext);\n const { headerPlaceholderSabeus, headerPlaceholderBlack } = useStyles();\n\n const [postRenderHeader, setPostRenderHeader] = useState(false);\n\n useEffect(() => {\n setPostRenderHeader(true);\n }, []);\n\n useEffect(() => {\n // code for modifying header while testing on /developer path for mobile/tablet\n if (postRenderHeader) {\n if (subdomain !== 'developer' && subdomain !== 'developer.eu') {\n fixSubdomainLinks(domain);\n } else {\n fixAccountLinks(domain, subdomain);\n }\n }\n }, [domain, subdomain, postRenderHeader]);\n\n useEffect(() => {\n // code for modifying header while testing on /developer path\n if (subdomain !== 'developer' && subdomain !== 'developer.eu') {\n setTimeout(() => {\n fixLinks(domain);\n });\n }\n }, [domain, subdomain]);\n\n return (\n <>\n \n \n \n \n \n
    \n \n \n \n \n \n \n \n
    \n \n \n \n );\n};\n\nexport default ModernHeader;\n","import React, { useContext, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BasePage, StaticContext, Helmet } from '@sm/webassets';\nimport { Grid } from '@wds/grid';\n\nimport UCSModule from '../../components/UCSModule';\n\nimport getCanonicalUrlOrNoIndex from '~app/helpers/getCanonicalUrlOrNoIndex';\nimport makeLinksStatic from '~app/helpers/makeLinksStatic';\n\nimport './developer-web-base-page.scss';\nimport ModernHeader from '../components/ModernHeader';\n\nconst fixLanguagerDropdown = (domain, subdomain) => {\n const languageButtons = document.querySelectorAll('.sm-footer [class^=\"wrenchMenuContainer\"] button');\n languageButtons.forEach(languageButton => {\n languageButton.addEventListener('click', () => {\n setTimeout(() => {\n const languageMenuItems = document.querySelectorAll(\n '.sm-footer [class^=\"wrenchMenuContainer\"] [class^=\"wrenchList\"] a'\n );\n if (languageMenuItems) {\n makeLinksStatic([...languageMenuItems], domain, subdomain);\n }\n });\n });\n });\n};\n\nconst DeveloperWebBasePage = ({ id, title, header, footer, pageMetricsAttributes, children }) => {\n const {\n environment: { subdomain, domain, tld },\n user,\n url,\n } = useContext(StaticContext);\n const { noIndex, canonicalUrl } = getCanonicalUrlOrNoIndex(subdomain, domain, tld, url);\n\n const [postRenderFooter, setPostRenderFooter] = useState(false);\n\n useEffect(() => {\n if (postRenderFooter) {\n // make relative footer links static\n const staticFooter = document.getElementsByClassName('sm-footer')[0];\n if (staticFooter) {\n makeLinksStatic([...staticFooter.getElementsByTagName('a')], domain, subdomain);\n\n fixLanguagerDropdown(domain, subdomain);\n }\n }\n }, [postRenderFooter, domain, subdomain]);\n\n useEffect(() => {\n setPostRenderFooter(footer);\n }, [domain, footer]);\n\n return (\n \n \n {title}\n \n \n \n \n \n \n \n {header}\n \n } />\n \n
    \n \n {children}\n \n
    \n \n );\n};\n\nDeveloperWebBasePage.propTypes = {\n id: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n footer: PropTypes.bool,\n header: PropTypes.node,\n children: PropTypes.node.isRequired,\n pageMetricsAttributes: PropTypes.shape({}),\n};\n\nDeveloperWebBasePage.defaultProps = {\n header: ,\n pageMetricsAttributes: null,\n footer: true,\n};\n\nexport default DeveloperWebBasePage;\n","import React, { useContext, useState, useEffect } from 'react';\nimport { Box } from '@wds/box';\nimport { Button } from '@wds/button';\nimport { Grid } from '@wds/grid';\nimport { Typography } from '@wds/typography';\nimport { StaticContext } from '@sm/webassets';\n\nimport { Query } from '@apollo/react-components';\nimport developerApplications from './home.graphql';\n\nimport DeveloperWebBasePage from '../DeveloperWebBasePage';\n\nimport waitForUsabilla from '~app/helpers/waitForUsabilla';\n\nimport './home.scss';\n\nconst Home = () => {\n const {\n environment: { domain, subdomain },\n user,\n url,\n } = useContext(StaticContext);\n const [targetUrl, setTargetUrl] = useState(url);\n\n const developerEUSubdomain = 'developer.eu';\n const developerSubdomain = 'developer';\n\n const prependUrl = subdomain !== developerSubdomain && subdomain !== developerEUSubdomain ? '/developer' : '';\n const prependStatic =\n subdomain !== developerSubdomain && subdomain !== developerEUSubdomain ? `https://developer.${domain}.com` : '';\n\n let targetSubdomain = 'www';\n\n if (subdomain.endsWith('eu')) {\n targetSubdomain = 'eu';\n }\n\n useEffect(() => {\n if (subdomain === developerSubdomain || subdomain === developerEUSubdomain) {\n if (window && window.location) {\n setTargetUrl(window.location.href);\n }\n }\n }, [url, subdomain]);\n\n useEffect(() => {\n waitForUsabilla(() => {\n window.usabilla_live('show');\n });\n }, []);\n\n return (\n
    \n \n \n \n {({ data }) => {\n return (\n <>\n 0}>\n
    \n \n \n \n Power your app with the SurveyMonkey API\n \n \n \n \n \n \n \n
    \n \n \n \n
    \n \n \n Learn\n \n \n \n Start by reading our documentation and decide whether you're building a public or\n private app.\n \n \n \n
    \n \n \n Develop\n \n \n \n As you're building, decide what scopes you'll need to request from users or ask\n for higher call limits.\n \n \n \n
    \n \n \n Deploy\n \n \n \n Once you're ready, deploy your app on the “Overview” page and track your user totals!\n \n \n \n
    \n \n \n
    \n \n \n \n Create with the SurveyMonkey API!\n \n \n \n \n Enable high-powered data collection\n \n \n \n \n \n \n \n \n \n \n \n
    \n \n \n Build a public app for the App Directory\n \n
      \n
    • \n \n An unlimited number of users can access the app\n \n
    • \n
    • \n \n Developer only needs a basic account to start building\n \n
    • \n
    • \n Apps must be approved\n
    • \n
    \n
    \n \n \n \n \n \n \n \n
    \n \n \n Build a private app for you and your Team\n \n
      \n
    • \n Developer purchases all accounts\n
    • \n
    • \n Developer needs an ENTERPRISE seat\n
    • \n
    • \n API limits apply\n
    • \n
    \n
    \n \n \n \n \n \n \n
    \n \n \n );\n }}\n \n \n \n
    \n \n \n \n Welcome to the SurveyMonkey API!\n \n \n \n \n Let's build together\n \n \n \n \n \n Get Started\n \n \n \n \n \n \n
    \n \n \n Customize\n \n \n \n Power your app with customer behavior data.\n \n \n \n
    \n \n \n Automate\n \n \n \n As your data starts rolling in, take action on your findings immediately.\n \n \n \n
    \n \n \n Engage\n \n \n \n Respond instantly to customer feedback.\n \n \n \n
    \n \n \n
    \n );\n};\n\nexport default Home;\n","import React, { useContext, useEffect, useRef } from 'react';\nimport { StaticContext } from '@sm/webassets';\n\nimport DeveloperWebBasePage from '../DeveloperWebBasePage';\n\nimport './docs.scss';\n\nconst Docs = () => {\n const {\n environment: { domain, subdomain, tld },\n } = useContext(StaticContext);\n const frameRef = useRef(null);\n\n const addEu = subdomain === 'developer.eu' ? 'eu.' : '';\n const comOrCa = tld === 'ca' ? 'ca' : 'com';\n\n useEffect(() => {\n // Listen to message from child window\n window.addEventListener(\n 'message',\n e => {\n if (e.origin !== `https://api.${addEu}${domain}.${comOrCa}`) {\n return;\n }\n const data = e[e.message ? 'message' : 'data'];\n if (data.anchor) {\n window.location.hash = data.anchor;\n }\n\n if (data.query_string && window.history.pushState) {\n const newurl = `${window.location.protocol}//${window.location.host}${window.location.pathname}${data.query_string}${window.location.hash}`;\n window.history.pushState({ path: newurl }, '', newurl);\n }\n },\n false\n );\n\n if (window.location.hash) {\n const anchor = window.location.hash;\n frameRef.current.src += anchor;\n }\n }, [domain, addEu, comOrCa]);\n\n return (\n
    \n \n \n \n
    \n );\n};\n\nexport default Docs;\n","import { StaticContext } from '@sm/webassets';\nimport React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { useLocation } from 'react-router-dom';\n\nimport { Table } from '@wds/table';\nimport { Typography } from '@wds/typography';\n\nconst AppTable = ({ privateTable }) => {\n const {\n environment: { domain },\n user,\n } = useContext(StaticContext);\n const location = useLocation();\n\n const planLabel = () => {\n if (user.id === '1' || !user.user_data) {\n return (\n \n Sign In to View Plan\n \n );\n }\n if (user.user_data.features.private_apps) {\n return Your current plan;\n }\n\n return (\n \n ENTERPRISE\n \n );\n };\n\n const col1 = [\n Criteria,\n \n \n Eligible for the App Directory \n \n ,\n \n SurveyMonkey account needed by Developer\n ,\n \n Plan needed to utilize app functionality\n ,\n \n Who purchases user's SM accounts\n ,\n \n How many accounts can access the app\n ,\n \n API call limits*\n ,\n \n Requires approval before launching\n ,\n ];\n\n const col2 = [\n Public Apps,\n Yes,\n Any,\n SurveyMonkey account needs to be an enduser of the app,\n End User,\n Unlimited,\n Unlimited,\n Yes ,\n ];\n\n const col3 = [\n Private Apps,\n No,\n {planLabel()},\n {planLabel()},\n Developer,\n \n One SurveyMonkey account or one Team\n ,\n \n 500/day, more available (Contact sales)\n ,\n No,\n ];\n\n const firstCol = privateTable ? col3 : col2;\n const secondCol = privateTable ? col2 : col3;\n\n return (\n \n \n \n {col1[0]}\n {firstCol[0]}\n {secondCol[0]}\n \n \n \n \n \n {col1[1]}\n \n {firstCol[1]}\n {secondCol[1]}\n \n \n {col1[2]}\n {firstCol[2]}\n {secondCol[2]}\n \n \n {col1[3]}\n {firstCol[3]}\n {secondCol[3]}\n \n \n {col1[4]}\n {firstCol[4]}\n {secondCol[4]}\n \n \n {col1[5]}\n {firstCol[5]}\n {secondCol[5]}\n \n \n {col1[6]}\n {firstCol[6]}\n {secondCol[6]}\n \n \n {col1[7]}\n {firstCol[7]}\n {secondCol[7]}\n \n \n
    \n );\n};\n\nAppTable.propTypes = {\n privateTable: PropTypes.bool,\n};\n\nAppTable.defaultProps = {\n privateTable: false,\n};\n\nexport default AppTable;\n","import React, { useContext, useEffect } from 'react';\n\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\n\nimport { StaticContext } from '@sm/webassets';\n\nimport DeveloperWebBasePage from '../DeveloperWebBasePage';\n\nimport waitForUsabilla from '~app/helpers/waitForUsabilla';\n\nimport AppTable from '../../components/AppTable';\n\nimport './faq.scss';\n\nconst FAQ = () => {\n const {\n environment: { domain, subdomain },\n } = useContext(StaticContext);\n\n useEffect(() => {\n waitForUsabilla(() => {\n window.usabilla_live('show');\n });\n }, []);\n\n // For testing only, when this goes live to the devekoper subdomain this will not be required\n const prependUrl = subdomain !== 'developer' && subdomain !== 'developer.eu' ? '/developer' : '';\n\n return (\n
    \n \n
    \n \n \n \n \n Frequently Asked Questions\n \n \n \n \n Building an app is hard work. We'll help answer any questions that you may have.\n \n \n \n\n \n \n \n What's the difference between building an app for the{' '}\n App Directory and building an app for my team?\n \n \n \n \n Based on your needs, most developers either fall into one bucket or the other. You'll find a\n quick rundown of the differences below.\n \n \n \n \n If you're looking for more info on either camp, visit{' '}\n Creating a Public App or{' '}\n Creating a Private App.\n \n \n\n \n \n \n\n \n \n *Please see our API Developer Terms for more guidelines when\n building with our API.\n \n \n \n\n \n \n How do I get support or suggest a feature for the SurveyMonkey API?\n \n \n \n Reach out to our team for help or feedback by{' '}\n visiting our contact page.\n \n \n \n\n \n \n Where can I read about the SurveyMonkey API scopes?\n \n \n \n Public app developers should understand which scopes they'll need. You can read more about scopes\n in our API Documentation.\n \n \n \n\n \n \n How do I download the actual text responses from my survey?\n \n \n \n Visit our SurveyMonkey API documentation to read about this and the other\n things you can achieve with our endpoints!\n \n \n \n\n \n \n How do I purchase more API calls?\n \n \n \n If you're building a Private app and think you need a higher API limit you should reach out to\n our sales team.\n \n \n \n\n \n \n How do I revoke an access token?\n \n \n \n You can refresh your app's credential in the settings for your app in the{' '}\n developer portal. This will refresh your secret, revoking all access to your app.\n \n \n \n\n \n \n Something missing? Reach out through our help center\n \n \n \n
    \n
    \n
    \n );\n};\n\nexport default FAQ;\n","import React from 'react';\nimport { Box } from '@wds/box';\nimport { Typography } from '@wds/typography';\n\nimport DeveloperWebBasePage from '../DeveloperWebBasePage';\n\nimport './tou.scss';\n\nconst renderSection1 = () => {\n return (\n \n \n \n 1. INTRODUCTION\n \n \n \n \n Thanks for your interest in using Momentive’s API for products and services branded as\n “SurveyMonkey” (“Services”).{' '}\n \n \n \n \n These Terms are a living document and may be changed by Momentive at any time. Momentive will post all changes\n online, and may notify you by email if Momentive regard the changes as significant and material.\n \n \n \n );\n};\n\nconst renderSection2 = () => {\n return (\n \n \n 2. USING THE API\n \n \n \n 2.1. Use Subject to Terms. Your use of the API and any API Content (including use of the API\n through a third party application that uses the API) is subject to compliance with these Terms. Momentive\n grants you a non-exclusive, non-transferable license (without the right to sublicense) to: (a) use the API\n solely as necessary to develop, test, operate and support your App using certain API Content accessed via the\n API; and (b) distribute or allow access to your integration of the API within your App to end users of your\n App. You may not sell, rent or redistribute access to the API or any API Content to any third party without\n Momentive’s prior written approval.\n \n \n \n \n 2.2. General Terms. If you use the Services as a user, such use remains subject to the\n Momentive Terms of Use for Services purchased\n on Momentive’s websites or the Momentive Governing Services Agreement (or similar governing service\n agreement) for Services purchased through Momentive’s enterprise sales team{' '}\n (“General Terms”). Your App’s interactions with a Momentive account must\n also comply with and be consistent with the General Terms.\n \n \n \n );\n};\n\nconst renderSection3 = () => {\n return (\n \n \n 3. DEVELOPER ACCOUNTS\n \n \n \n 3.1. Developer Account. Usage of the API is limited to owners of a SurveyMonkey account\n (“Developer Account”). After creation of your Developer Account, you may create\n applications, for which you will receive access credentials (“\n Access Credentials”). Keep your Access Credentials secure and confidential, as you are\n solely responsible for any activities occurring under your Developer Account.\n \n \n \n \n 3.2. Restrictions. You may open multiple Developer Accounts, but Momentive may close your\n accounts if Momentive regards that you have opened an excessive number of them. Momentive may also close your\n accounts if Momentive believes that you have created multiple accounts to bypass API call limits or\n restrictions. If your Developer Account is suspended, you must not attempt to circumvent such suspension by\n registering for a new Developer Account. You may not open a Developer Account if you are a competitor of\n Momentive.\n \n \n \n \n 3.3. Access Tokens and Credentials. If Momentive issues an Access Token for your App, you may\n only use that Access Token with that specific App, and cannot use that Access Token with any other\n application. Momentive may also issue credentials for your App. You may not sell, trade, or give your Access\n Token or credentials to any third party without Momentive’s prior written consent. You will take\n reasonable measures to safeguard Access Tokens and credentials from unauthorized use or access.\n \n \n \n );\n};\n\nconst renderSection4 = () => {\n return (\n \n \n 4. PRINCIPLES OF USER RESPECT\n \n \n \n Momentive’s goal is to ensure a great experience for Momentive’s Users. Momentive treat\n Momentive’s Users and their data with respect, so Momentive expects Momentive’s API developers to\n do the same.\n \n \n \n \n 4.1 Respect User Data. Your App must use User data in a way that the User expects. Avoid\n surprising Users by clearly describing what you are doing with their data. Obtain their permission before\n performing actions on their data, such as:\n \n \n
      \n
    • \n editing survey data\n
    • \n
    • \n disclosing survey data to third parties\n
    • \n
    • \n using survey data in a way not expressly instructed\n
    • \n
    • \n editing survey questions or survey settings\n
    • \n
    • \n distributing surveys\n
    • \n
    • \n closing surveys\n
    • \n
    • \n altering account settings\n
    • \n
    • \n taking an account action on a User’s behalf\n
    • \n
    \n \n \n 4.2. Don’t Mislead Users. Your App must not be presented in a way\n which misleads Users. For example, your App must not:\n \n \n
      \n
    • \n be publicized in a way which is misleading to Users\n
    • \n
    • \n use logos or trademarks in a manner that misleads or confuses\n
    • \n
    • \n impersonate a third party without their authorization\n
    • \n
    • \n \n link to spam or malware sites or use shortened URLs to mask destinations in a misleading way\n \n
    • \n
    \n \n \n 4.3. Don’t Encourage Bad Behavior. Your App must not induce your Users\n to act in an inappropriate or illegal manner. Specifically, you must not:\n \n \n
      \n
    • \n \n encourage or cause Users to violate any law, terms of use or privacy policy (such as, for example, causing\n or facilitating the User to violate Momentive’s{' '}\n Acceptable Uses Policy through\n abusive use of email collectors)\n \n
    • \n
    • \n facilitate or encourage the infringement of intellectual property\n
    • \n
    • \n \n facilitate or encourage the publishing of a third party’s private or confidential information\n \n
    • \n
    • \n \n encourage collection of information Momentive doesn’t allow users to collect (like social security\n numbers, credit card numbers and passwords)\n \n
    • \n
    • \n \n encourage publishing of links to illegal or malicious content (including age restricted content to minors)\n \n
    • \n
    \n
    \n );\n};\n\nconst renderSection5 = () => {\n return (\n \n \n 5. APP REQUIREMENTS\n \n \n \n 5.1. Privacy Content. Your App must include a privacy policy and/or privacy\n notices which describe in reasonably adequate detail how you handle any User data and personally identifiable\n information that may be collected from Users via the API. You must abide by your own privacy notices and\n policies.\n \n \n \n \n 5.2. Disconnection. You will make it easy for Users to disconnect or disassociate their\n account from your App, and you will not hide or obscure such functionality.\n \n \n \n );\n};\n\nconst renderSection6 = () => {\n return (\n \n \n 6. APP RESTRICTIONS\n \n \n \n 6.1. Category Restrictions. The following types of Apps are not permitted to use the API:\n \n \n
      \n
    • \n \n Apps which are not related to facilitating surveys (e.g. you may not use Momentive as an email service\n provider to send out non-survey content).\n \n
    • \n
    • \n \n Apps which attempt to replicate core functionality of the Services, such as an App which white-labels the\n Services.\n \n
    • \n
    • \n \n Apps which facilitate the exporting of API Content for importation into a Momentive’s\n competitor’s product or service.\n \n
    • \n
    \n \n \n 6.2. Presentation Restrictions. Your App cannot replicate, frame or mirror the Momentive\n websites or their design.\n \n \n \n \n 6.3. Functionality Restrictions. Your App may not:\n \n \n
      \n
    • \n Crawl or datamine the API Content without each relevant User or Users’ consent\n
    • \n
    • \n \n Use the API to monitor the availability, performance or functionality of any our Services, or for other\n benchmarking or competitive purposes\n \n
    • \n
    • \n \n Alter, remove, replace or mask any aspect of a Momentive survey without Momentive’s prior written\n consent\n \n
    • \n
    • \n \n Be used in a way which lets Users circumvent any restrictions or limitations placed on their account due to\n the type of Momentive subscription plan they have (for example, the limitation on the number of survey\n responses that can be viewed by a User on a free subscription plan).\n \n
    • \n
    \n
    \n );\n};\n\nconst renderSection7 = () => {\n return (\n \n \n 7. TECHNICAL RESTRICTIONS\n \n \n \n 7.1. API Call Limits. Monentive may impose limits on the number of API calls in any given\n period that your App is permitted to make. Public Apps and Private Apps may be subject to different\n limitations. If Momentive imposes such limits, Momentive may describe them on Momentive’s website. If\n you exceed the quantity of API calls you had purchased as specified in your order form, Momentive may charge\n additional fees for the excess. Unused API calls will not roll over to the next period.\n \n \n \n \n 7.2. Excessive Use. Abusive or excessive use of the API (as determined by Momentive) may\n result in the temporary suspension or termination of your access to the API. If your use of the API is likely\n to generate a volume of API calls materially in excess of what an average API developer would generate, or\n above the limits for your particular App, please contact Momentive first and Momentive may be able to agree to\n an arrangement in relation to your proposed use case.\n \n \n \n \n 7.3 Other Technical Limitations. Other technical restrictions imposed on Apps are:\n \n \n
      \n
    • \n \n If you provide an application programming interface that uses the API to return the data of Users, you may\n only return Users’ usernames or unique identification numbers. You must pull all other User data by\n using the API.\n \n
    • \n
    • \n \n You may not use the API to aggregate, cache or store any place or geographic location information contained\n in API Content.\n \n
    • \n
    \n
    \n );\n};\n\nconst renderSection8 = () => {\n return (\n \n \n 8. LEGAL RESTRICTIONS\n \n \n \n 8.1. Stay on the Right Side of the Law. Your App and your App’s use of the API must\n comply with all applicable laws, regulations and rules. Your App must not engage in (and must not facilitate)\n spamming, phishing or linking to illegal content. It is your responsibility to be familiar with, and abide by,\n the laws that apply to you.\n \n \n \n );\n};\n\nconst renderSection9 = () => {\n return (\n \n \n 9. MOMENTIVE BRAND ASSETS\n \n \n \n 9.1. Use of Momentive Brand Assets. Momentive’s name, logo, and other trademarks\n (“Marks”) are valuable brand assets of Momentive. Your use of Momentive’s name in\n conjunction with your Apps must be in accordance with the rules in this section. Momentive may publish brand\n use or trademark use guidelines from time to time on Momentive’s website, including as part of\n Momentive’s Brand and Trademark Use Policy,\n and use of Momentive’s Marks will be subject to all such guidelines. All goodwill arising out of or\n related to the use of the Marks by you shall inure to the benefit of Momentive.\n \n \n \n \n 9.2. No Endorsement. You may not use Momentive Marks in a way that creates a sense of\n affiliation, endorsement, or sponsorship by Momentive, unless you have Momentive’s express written\n permission to do so. Your Apps must be clearly labeled as your own, and not Momentive’s. While you may\n use Momentive’s name to indicate that your App integrates with or is compatible with the Services, or\n that Momentive was the source of the API Content, you may not label your product as a Momentive product or use\n theMarks as part of your own logo. You may not use Momentive’s Marks as part of the name of your company\n or of any App or other product or service created by you.\n \n \n \n \n 9.3. Proprietary Notices. You may not remove, modify or obfuscate any proprietary notices or\n marks on the API or in any API Content you obtain.\n \n \n \n );\n};\n\nconst renderSection10 = () => {\n return (\n \n \n 10. FEES\n \n \n \n 10.1. Fees. Access to the API for a basic level of API calls is currently provided at no\n additional fee apart from any applicable fees for your SurveyMonkey account. Contact Sales at Momentive for\n higher API call limit tiers.\n \n \n \n );\n};\n\nconst renderSection11 = () => {\n return (\n \n \n 11. MORE LEGAL TERMS\n \n \n \n 11.1. Limited License to Your Content. You grant Momentive a worldwide, royalty free license\n to use, reproduce, distribute, modify, adapt, create derivative works, make publicly available, and otherwise\n exploit your copyrights, trademarks, patents, publicity, moral, database, and/or other intellectual property\n rights in and to your App, but only for the limited purposes of promoting and marketing Momentive,\n Momentive’s API, and any API content in any media. This license also extends to any trusted third\n parties Momentive works with.\n \n \n \n \n 11.2. Integration Directory. Momentive may include and promote your application in\n Momentive’s integration directory of applications for Momentive users that have been developed by\n developers. Notwithstanding your application appearing in the integration directory, you agree that Momentive\n may for any reason demote or remove it from the integration directory.\n \n \n \n \n 11.3. Suspension and Termination. Momentive will endeavor to warn you if there is an issue\n with your App’s compliance with these Terms, or a compliance issue with the manner in which you are\n accessing the API, so that you can attempt to remedy the problem. Notwithstanding the foregoing, if Momentive\n believes that you have violated these terms or are accessing or using the API in any way that Momentive\n regards as abusive, or that causes liability or detriment to Momentive, Momentive may immediately, and without\n notice, suspend or terminate your access to the API, your Developer Account, and any API Content. Momentive\n may terminate these Terms for any reason, with or without notice to the email address associated with your\n Developer Account. You may terminate these Terms for any reason by ceasing to access the API, ceasing to use\n any API Content, and canceling your Developer Account.\n \n \n \n \n 11.4. Consequences of Termination. Upon termination of these Terms, you will cease accessing\n the API and will delete all API Content. Sections 3.2 (Restrictions), 9 (Momentive Brand Assets), 11.4\n (Consequences of Termination), and 11.7 (IP Ownership) to 11.14 (Terms for Non-U.S. Developers) will survive\n the termination of these Terms.\n \n \n \n \n 11.5. Cooperation. You agree to assist Momentive, at its request, to verify compliance with\n these Terms by providing Momentive with information about your App, including providing Momentive with access\n to it and/or other materials related to your use of the API.\n \n \n \n \n 11.6. Modifications and Support. Momentive may provide you with support for the API in\n Momentive’s sole discretion. Momentive may modify the API at any time without notice or liability to\n you. If you continue to access the API after such modifications, such act will be deemed your acceptance of\n the modifications.\n \n \n \n \n 11.7. IP Ownership. You acknowledge that Momentive and Momentive’s Users retain all\n worldwide rights, title and interest (including intellectual property rights) in and to the API Content. You\n acknowledge that Momentive or its licensors retain all rights, title and interest (including intellectual\n property rights) in and to the API and the Marks (and any derivative works or enhancements). You shall not do\n anything inconsistent with such ownership. Rights not expressly granted by these Terms are reserved by\n Momentive.\n \n \n \n \n Subject to the foregoing, you retain all worldwide rights, title and interest (including intellectual property\n rights) in and to your App. If you provide Momentive with any feedback or comments concerning the API or API\n Content, you agree that Momentive may use, reproduce, license, distribute and exploit in any other way, such\n feedback or comments.\n \n \n \n \n 11.8. Similar or Competitive Products or Services. You acknowledge that Momentive may\n independently develop, or have developed for it by other parties, products or services that are similar to or\n otherwise compete with your App, and nothing in these Terms will be construed against that.\n \n \n \n \n 11.9. Disclaimer of Warranties. ACCESS TO THE API AND THE API CONTENT IS PROVIDED “AS\n IS” WITH NO WARRANTY, EXPRESS OR IMPLIED, OF ANY KIND AND MOMENTIVE EXPRESSLY DISCLAIMS ALL WARRANTIES,\n INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AVAILABILITY, SECURITY,\n TITLE, AND NON-INFRINGEMENT. SOME API FEATURES MAY BE EXPERIMENTAL AND UNTESTED. MOMENTIVE DOES NOT REPRESENT\n OR WARRANT THAT THE API IS FREE OF INACCURACIES, ERRORS, BUGS, OR INTERRUPTIONS, OR ARE RELIABLE, ACCURATE,\n COMPLETE, OR OTHERWISE VALID. YOUR USE OF THE API AND API CONTENT IS AT YOUR RISK AND YOU WILL BE SOLELY\n RESPONSIBLE FOR ANY DAMAGE THAT RESULTS FROM USE OF THE API, INCLUDING FOR ANY DAMAGE TO YOUR COMPUTER SYSTEMS\n OR LOSS OF DATA. WHILE MOMENTIVE STRIVES TO MAKE THE API AVAILABLE WITHOUT INTERRUPTION, MOMENTIVE DOES NOT\n GUARANTEE THAT THE API WILL ALWAYS BE AVAILABLE AND DOES NOT PROVIDE ANY GUARANTEES AS TO SERVICE LEVELS.\n \n \n \n \n 11.10. Indemnity. You agree to indemnify and hold harmless Momentive, its affiliates, and\n their directors, officers, employees and agents, from and against any third party claim, losses, damages,\n suits, judgments, liability, and litigation costs (including reasonable attorneys’ fees) arising from or\n related to your use of the API or the API Content or your violation of these Terms.\n \n \n \n \n 11.11. Limitation of Liability. YOU AGREE THAT MOMENTIVE SHALL NOT BE LIABLE FOR ANY\n INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES, INCLUDING BUT NOT LIMITED TO, DAMAGES FOR\n LOSS OF PROFITS, GOODWILL, USE, DATA OR OTHER INTANGIBLE LOSSES (EVEN IF MOMENTIVE HAS BEEN ADVISED OF THE\n POSSIBILITY OF SUCH DAMAGES), RESULTING FROM YOUR USE OF THE API OR THIRD PARTY PRODUCTS THAT ACCESS API\n CONTENT. IN ANY EVENT, MOMENTIVE’S AGGREGATE, CUMULATIVE LIABILITY TO YOU ARISING IN CONNECTION WITH\n THESE TERMS WILL NOT EXCEED US$100.00.\n \n \n \n \n 11.12. General. If any provision of these Terms is determined to be invalid or unenforceable\n by a court, such provision shall be deemed severable and the remainder of these Terms shall remain in full\n force and effect. The failure by Momentive to enforce any right or provision of these Terms shall not\n constitute a waiver of that provision or of any other provision of these Terms. You agree that you, and not\n Momentive, is responsible for determining which laws may apply to your use of the API and the API Content and\n assessing your obligations under such laws. These Terms comprise the entire agreement between you and\n Momentive with respect to its subject matter and supersede any prior or contemporaneous understandings,\n representations and other communications (written or oral) between you and Momentive.\n \n \n \n \n 11.13. Terms for U.S. Developers. If you are located in the United States, these Terms shall\n be governed by the laws of the State of California, without reference to its conflicts of law rules, and the\n parties hereby submit to the exclusive jurisdiction and venue of the state and federal courts located in that\n State.\n \n \n \n \n 11.14. Terms for Non-U.S. Developers. If you are located outside of the United States, these\n Terms shall be governed by the laws of Ireland, and the parties hereby submit to the exclusive jurisdiction of\n the courts of Ireland in relation to any claim arising under or in connection with these Terms which cannot be\n solved through a mutually agreed conciliation procedure.\n \n \n \n );\n};\n\nconst renderSection12 = () => {\n return (\n \n \n 12. DEFINITIONS\n \n \n \n “Access Token” means a token that permits your App to access or modify data in a\n User’s account.\n \n \n \n \n “API” means the application programming interface and associated code, tools,\n documentation and related material that Momentive provides to you in relation to our Services.\n \n \n \n \n “API Content” means any content made available to you through use of the API.\n \n \n \n \n “App” or “Application” means a software application,\n website, product or service that you create or offer.\n \n \n \n \n “Access Credentials” means the security keys, secrets, tokens, passwords,\n usernames and other identifiers and credentials used to access the API.\n \n \n \n \n “Developer Account” means the account for which you are required to register in\n order to obtain the Access Credentials and access to the API.\n \n \n \n \n “Momentive” means Momentive Inc. if you are located in the United States,\n Momentive Brasil Internet Eireli if you are located inside of Brazil, and by Momentive Europe UC if you are\n located elsewhere.\n \n \n \n \n “Terms” means these Momentive API Developer Terms\n \n \n \n \n “User” means a Momentive user or a user of your Application that uses the API.\n \n \n \n );\n};\n\nconst TOU = () => {\n return (\n
    \n \n
    \n \n \n \n Momentive API Developer Terms\n \n \n VERSION DATE: August 10, 2021\n \n LAST UPDATED: August 10, 2021\n \n\n {renderSection1()}\n\n {renderSection2()}\n\n {renderSection3()}\n\n {renderSection4()}\n\n {renderSection5()}\n\n {renderSection6()}\n\n {renderSection7()}\n\n {renderSection8()}\n\n {renderSection9()}\n\n {renderSection10()}\n\n {renderSection11()}\n\n {renderSection12()}\n\n \n \n Changelog\n \n \n \n Jul 22, 2013 updates to Feb 14, 2013 version:\n \n \n
      \n
    • \n Added provisions relating to Access Tokens and secret keys.\n
    • \n
    \n \n \n Jan 1, 2015 updates to Jul 22, 2013 version:\n \n \n
      \n
    • \n \n \n Changed contracting entity from our old Luxembourg entity (SurveyMonkey Europe Sarl) to our Irish\n entity (SurveyMonkey Europe).\n \n \n
    • \n
    \n \n \n Nov 29, 2016 updates to Jan 1, 2015 version:\n \n \n
      \n
    • \n \n \n Changed contracting entity from our old Irish entity (SurveyMonkey Europe) to our new entity\n (SurveyMonkey Europe UC).\n \n \n
    • \n
    \n \n \n Jan 10, 2017 updates to Nov 29, 2016 version:\n \n \n
      \n
    • \n \n \n Clarified that SurveyMonkey may charge for API calls that reach certain limits and these fees and\n quantities will be specified in the developer’s order form. Also clarified that unused API\n calls do not roll over to the next period.\n \n \n
    • \n
    • \n \n \n Added a license grant to developer's intellectual property rights for the limited purpose of\n SurveyMonkey's promotional activities.\n \n \n
    • \n
    • \n \n Clarified when a developer's App may appear in our integration directory.\n \n
    • \n
    \n \n \n Mar 28, 2017 updates to Jan 10, 2017 version:\n \n \n
      \n
    • \n Revise brand and trademark use guidelines.\n
    • \n
    \n \n \n May 31, 2017 updates to March 28, 2017 version:\n \n \n
      \n
    • \n \n Clarified SurveyMonkey may independently develop similar or competitive products or services.\n \n
    • \n
    \n \n \n August 10, 2021 updates to May 31, 2017 version:\n \n \n
      \n
    • \n \n Clarified that effective as of July 1, 2021, SurveyMonkey Inc. became Momentive Inc., SurveyMonkey\n Europe UC became Momentive Europe UC, and SurveyMonkey Brasil Internet Eireli became Momentive\n Brasil Internet Eireli.\n \n
    • \n
    \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default TOU;\n","import React, { useContext, useEffect } from 'react';\nimport { IconFolderUser, IconChartSegment, IconEmail, IconCheckCircle } from '@sm/wds-icons';\n\nimport { Box } from '@wds/box';\nimport { Grid } from '@wds/grid';\nimport { List } from '@wds/list';\nimport { Typography } from '@wds/typography';\n\nimport { StaticContext } from '@sm/webassets';\n\nimport DeveloperWebBasePage from '../DeveloperWebBasePage';\n\nimport waitForUsabilla from '~app/helpers/waitForUsabilla';\n\nimport AppTable from '../../components/AppTable';\n\nimport './build-a-private-app.scss';\n\nconst renderAppChecklist = () => {\n return (\n \n \n \n Here's a sample guide for creating an end-to-end customer feedback app using the SurveyMonkey API:{' '}\n \n \n \n \n After authorizing into a SurveyMonkey account, the user chooses from a list of existing surveys, a\n SurveyMonkey template, or creates a new survey.{' '}\n \n \n \n \n If the survey results need to correspond to an existing object (e.g. product, customer, support case), the\n developer can automatically add a custom variable to the survey.{' '}\n \n \n \n \n An app can then grab a weblink and send a survey through either their own email tool, or use\n SurveyMonkey's email system.\n \n \n \n \n Response data is stored in SurveyMonkey, and automatically returned via the API to the partner in real time\n (using webhooks).\n \n \n \n );\n};\n\nconst renderAPIChecklist = () => {\n return (\n \n \n \n \n }\n >\n \n Use webhooks instead of polling. Besides providing added stability, webhooks reduce the\n number of calls needed to be made on the client side by only calling the API when there's new activity\n (rather than on a regular basis).\n \n \n \n \n \n }\n >\n \n Caching on the client side. We see lots of apps continually requesting details for the same\n resource from the API. If the resource isn't going to change, cache it, and use webhooks to signal a\n refresh, if available.\n \n \n \n \n \n }\n >\n \n Queue up your changes. Bundle incremental updates to resources together, if they don't\n need to be sent over immediately.\n \n \n \n \n \n }\n >\n \n Use the Bulk API endpoints. Where applicable and available (survey details, responses,\n recipients, contacts), try making bulk calls.\n \n \n \n );\n};\n\nconst BuildAPrivateApp = () => {\n const {\n environment: { subdomain },\n } = useContext(StaticContext);\n\n useEffect(() => {\n waitForUsabilla(() => {\n window.usabilla_live('show');\n });\n }, []);\n\n // For testing only, when this goes live to the devekoper subdomain this will not be required\n const prependUrl = subdomain !== 'developer' && subdomain !== 'developer.eu' ? '/developer' : '';\n\n return (\n
    \n \n
    \n \n \n \n \n Creating a Private App\n \n \n \n \n Apps built for private use can take many forms.\n
    \n Some examples may include:\n
    \n
    \n
    \n \n \n \n
    \n \n
    \n \n \n An organization purchases multiple seats for employees and creates an app for internal use\n \n \n
    \n \n
    \n \n
    \n \n \n A developer automates sending surveys and/or exporting survey data for an SM account or Team\n \n \n
    \n \n
    \n \n
    \n \n \n A team creates functionality to send thank you emails when their survey is completed\n \n \n
    \n
    \n
    \n\n \n \n \n Private apps have different guidelines than apps publicly available in the App Directory. Here are a\n few key differences:\n \n \n\n \n\n \n \n Think your app is better suited to be Public? Check out{' '}\n Creating a Public App.\n \n \n \n \n *Please see our API Developer Terms for more guidelines when building with our\n API.\n \n \n\n \n \n Building a Private App\n \n \n\n {renderAppChecklist()}\n\n \n \n Tips for reducing your API call usage\n \n \n\n {renderAPIChecklist()}\n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default BuildAPrivateApp;\n","import React, { useContext, useEffect } from 'react';\nimport { IconLogoGoldie, IconLogoOutlook, IconListChecks, IconCheckCircle } from '@sm/wds-icons';\n\nimport { Box } from '@wds/box';\nimport { Grid } from '@wds/grid';\nimport { List } from '@wds/list';\nimport { Typography } from '@wds/typography';\n\nimport { StaticContext } from '@sm/webassets';\n\nimport DeveloperWebBasePage from '../DeveloperWebBasePage';\n\nimport waitForUsabilla from '~app/helpers/waitForUsabilla';\n\nimport AppTable from '../../components/AppTable';\n\nimport './build-a-public-app.scss';\n\nconst renderAppChecklist = () => {\n return (\n \n \n \n \n }\n >\n \n Your app should have unique value and be attracting new users regularly.{' '}\n \n \n \n \n \n }\n >\n \n Your app should NOT replicate functionality already offered by SurveyMonkey's survey tools.{' '}\n \n \n \n \n \n }\n >\n \n Your app's name should NOT be a generic term (i.e. "Analytics"), include versioning (i.e.\n "App V3.0"), and/or include the word "SurveyMonkey".{' '}\n \n \n \n \n \n }\n >\n \n Your app should have at least five OAuth sign ins in the first three months.{' '}\n \n \n \n \n \n }\n >\n \n You must state if users will need a free or paid account from your service to use your app.{' '}\n \n \n \n \n \n }\n >\n Your team must provide easily-accessible app support.\n \n \n \n \n }\n >\n \n All communication should be over HTTPS using a valid SSL certificate (we value security!)\n \n \n \n );\n};\n\nconst renderListingChecklist = () => {\n return (\n \n \n \n Listings help users gain a better understanding of your app's core functionality and scope requirements.\n Therefore, they should be written honestly and truthfully.{' '}\n \n \n \n \n Visit the listings tab in the My Apps view to create an app listing and submit it for approval.{' '}\n \n \n \n \n Your first app listing should be in English, but we encourage you to make additional app listings in other\n languages.{' '}\n \n \n \n );\n};\n\nconst BuildAPublicApp = () => {\n const {\n environment: { subdomain },\n } = useContext(StaticContext);\n\n useEffect(() => {\n waitForUsabilla(() => {\n window.usabilla_live('show');\n });\n }, []);\n\n const prependUrl = subdomain !== 'developer' && subdomain !== 'developer.eu' ? '/developer' : '';\n\n return (\n
    \n \n
    \n \n \n \n \n Creating a Public App\n \n \n \n \n Public apps can be listed on SurveyMonkey's App Directory after meeting certain criteria and\n receiving approval.\n
    \n Some examples may include:\n
    \n
    \n
    \n \n \n \n
    \n \n
    \n \n \n A service that offers complementary functionality to SurveyMonkey\n \n \n
    \n \n
    \n \n
    \n \n \n An integration of SurveyMonkey functionality into a pre-existing tool\n \n \n
    \n \n
    \n \n
    \n \n \n A popular app that extends SurveyMonkey's functionality\n \n \n
    \n
    \n
    \n\n \n \n \n Public apps have different guidelines than apps built for private use. Here are a few key differences:\n \n \n\n \n\n \n \n Think your app is better suited to be Private? Check out{' '}\n Creating a Private App.\n \n \n \n \n *Please see our API Developer Terms for more guidelines when building with our\n API.\n \n \n\n \n \n {' '}\n App Approval Checklist{' '}\n \n \n \n \n SurveyMonkey has strict standards for publishing public apps. Meet the criteria below and we'll\n help promote your app in our App Directory.\n \n \n\n \n \n Basic Requirements\n \n \n\n {renderAppChecklist()}\n\n \n \n Creating a Listing\n \n \n\n {renderListingChecklist()}\n\n \n NOTES:\n \n \n \n SurveyMonkey retains the right to reject an app based on criteria not listed above. Approval of your\n app by SurveyMonkey does not guarantee its compliance with the criteria above.\n \n \n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default BuildAPublicApp;\n","import React, { useEffect, useContext } from 'react';\nimport { Route, withRouter, Switch } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { FourOhFourError, StaticContext } from '@sm/webassets';\n\nimport { HomePage, DocsPage, FAQPage, TOUPage, BuildAPrivateAppPage, BuildAPublicAppPage } from './pages';\n\nconst DeveloperWebRouter = ({ history }) => {\n const {\n environment: { domain },\n } = useContext(StaticContext);\n\n useEffect(() => {\n const unlisten = history.listen(() => {\n window.scrollTo(0, 0);\n });\n return () => {\n unlisten();\n };\n }, [history]);\n\n // Hide usabilla for all pages - each individual page will set usabilla configs and show if enabled\n // Note the load of usabilla hides the button so this code is included if usabilla has already been loaded\n if (typeof window !== 'undefined' && window && window.usabilla_live) {\n window.usabilla_live('virtualPageView');\n window.usabilla_live('hide');\n }\n\n return (\n \n \n \n \n \n \n \n \n \n\n {\n window.location.href = `https://www.${domain}.com/user/account`;\n return null;\n }}\n />\n {\n window.location.href = `https://www.${domain}.com/user/account/select?ep=https://developer.${domain}.com`;\n return null;\n }}\n />\n {\n window.location.href = `https://www.${domain}.com/team/libraries`;\n return null;\n }}\n />\n {\n window.location.href = `https://www.${domain}.com/addressbook`;\n return null;\n }}\n />\n {\n window.location.href = `https://www.${domain}.com/user/sign-out?ep=https://developer.${domain}.com`;\n return null;\n }}\n />\n\n \n \n );\n};\n\nDeveloperWebRouter.propTypes = {\n history: PropTypes.shape({\n listen: PropTypes.func.isRequired,\n }).isRequired,\n};\n\nexport default withRouter(DeveloperWebRouter);\n","import React, { useContext } from 'react';\nimport { Route, Switch, useLocation } from 'react-router-dom';\nimport { StaticContext } from '@sm/webassets';\nimport LinkBlocked from './pages/LinkBlocked';\nimport Pricing from './pages/Pricing';\nimport AppsDirectory from './pages/AppsDirectory';\nimport MRXSolutions from './pages/MRX/MRXSolutions';\nimport CreateWizard from './pages/CreateWizard';\nimport DeveloperWeb from './pages/DeveloperWeb';\n\nconst App = () => {\n const {\n environment: { subdomain },\n } = useContext(StaticContext);\n\n // From the developer subdomain prepend /developer to the path\n const location = useLocation();\n if (subdomain === 'developer' || subdomain === 'developer.eu') {\n if (!location.pathname.startsWith('/developer')) {\n location.pathname = `/developer${location.pathname}`;\n }\n }\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n","import { Theme } from '@wds/styles';\nimport { Palette as PricingPalette, PackageColors } from './colors';\n\nimport { PACKAGES } from '~pricing/lib/constants';\n\ntype PackageThemeOptions = {\n [P in 'primary']: T;\n};\nexport type PackageTheme = Record>;\n\n// Any theme object we expose show be define here by its type or interface\ntype PricingTheme = {\n pricingPalette: PricingPalette;\n packageColors: PackageColors;\n packageTheme: PackageTheme;\n};\n\nexport type PricingAppTheme = Theme & PricingTheme;\n\nconst pricingPalette: Required = {\n colors: {\n sabaeus: '#00BF6F',\n midnight: '#05467E',\n link: '#007FAA',\n arctic: '#2DCCD3',\n concord: '#671E75',\n raspberry: '#AC145A',\n bengal: '#F05B24',\n bumblebee: '#F9BE00',\n black: '#000000',\n charcoal: '#333E48',\n slate: '#6B787F',\n stone: '#9DA5AA',\n flint: '#D0D2D3',\n pebble: '#EDEEEE',\n canvas: '#F7F8FA',\n white: '#FFFFFF',\n },\n};\n\nexport const packageColors: PackageColors = {\n advantageAnnual: pricingPalette.colors.sabaeus,\n analyze: pricingPalette.colors.raspberry,\n enterprise: pricingPalette.colors.midnight,\n premierAnnual: pricingPalette.colors.midnight,\n standardMonthly: pricingPalette.colors.arctic,\n teamAdvantage: pricingPalette.colors.link,\n teamPremier: pricingPalette.colors.concord,\n};\n\nexport const packageTheme: PackageTheme = {\n [PACKAGES.AdvantageAnnual]: {\n primary: packageColors.advantageAnnual,\n },\n [PACKAGES.Enterprise]: {\n primary: packageColors.enterprise,\n },\n [PACKAGES.PremierAnnual]: {\n primary: packageColors.premierAnnual,\n },\n [PACKAGES.StandardMonthly]: {\n primary: packageColors.standardMonthly,\n },\n [PACKAGES.TeamAdvantage]: {\n primary: packageColors.teamAdvantage,\n },\n [PACKAGES.TeamPremier]: {\n primary: packageColors.teamPremier,\n },\n};\n\nexport function getPricingTheme(): PricingTheme {\n return {\n pricingPalette, // User defined theme\n packageColors,\n packageTheme,\n };\n}\n","import 'core-js/stable';\nimport 'regenerator-runtime/runtime';\nimport { BrowserRouter } from 'react-router-dom';\nimport React from 'react';\nimport { render, hydrate } from 'react-dom';\nimport { ApolloProvider } from 'react-apollo';\nimport createBrowserApolloClient from '@sm/apollo-clients/dist/browser';\nimport { L10nProvider } from '@sm/intl';\nimport { WrenchTheme } from '@wds/styles';\nimport merge from 'lodash.merge';\n\nimport './entry.scss';\n\nimport { getClientEnvironmentDetails } from '@sm/utils';\nimport {\n ErrorBoundary,\n FiveHundredErrorPage,\n HelmetProvider,\n StaticProvider,\n GlobalThemeProvider,\n initializeClientErrorHandler,\n} from '@sm/webassets';\n\nimport getGraphQLFragmentMatcher from './helpers/fragmentMatcher';\n\nimport ContentWebApp from './App';\nimport { getPricingTheme } from './styles/theme';\n\nconst target = document.getElementById('reactApp');\n\nconst allClientStaticData = getClientEnvironmentDetails().isBrowser ? window.SM.__LOAD_PAYLOAD_CACHE__ || {} : {};\n\n/**\n * Our servers inject the payload with the `user` details and, rightfully so, leave out the authentication attribute.\n * Hence, the client/webs need to calculate whether the user is authenticated or not by looking at the userId in the webs.\n * Now, we don't want every app/page to do this; hence, we abstract the calculation out.\n * In addition, we do not want the attribute readily available in the `window` object; hence, we\n * calculate it here and directly add it to the context.\n * Yes, the user can still access it (debugging JS/React Dev Tools) but this way, it's not readily exposed.\n *\n * With this in place, the webs can retrieve the authentication status via the context.\n */\nallClientStaticData.user = allClientStaticData.user || {};\nallClientStaticData.user.isAuthenticated = allClientStaticData.user.id && allClientStaticData.user.id !== '1';\n\nconst {\n environment,\n pageRequestId,\n 'client-config': { appName, appVersion, graphQLUri },\n gql: { gqlCache = {} } = {},\n 'bugsnag-client-config': bugSnagClientConfig,\n} = allClientStaticData;\n\n// Setup error handler to be available across the web\ninitializeClientErrorHandler(bugSnagClientConfig);\n\nlet localeMessages = null;\n\nconst apolloClient = createBrowserApolloClient({\n uri: graphQLUri,\n cacheHydration: gqlCache,\n pageRequestId,\n fragmentMatcherFn: getGraphQLFragmentMatcher,\n linkOptions: {\n credentials: 'include',\n batchInterval: 30,\n },\n metadata: { appName, appVersion },\n availableLoggedOutPaths: [],\n});\n\n/**\n * Merge any user defined theme objects\n * See http://storybook.jungle.tech/wrench/?path=/story/intro-theming--page\n */\nconst globalTheme = merge({}, WrenchTheme, getPricingTheme());\n\nconst rendered = messages => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n\n/**\n * For SSR apps we need to render the CSR version with messages. If we don't do that,\n * - SSR would send localized content\n * - CSR wouldn't have the messages; hence, it'd render `null`\n * - CSR would then fetch the messages via `ComponentDidMount`\n * - CSR would eventually show the same content\n *\n * Instead, let's fetch the messages before hand so that the initial CSR paint\n * is the same as the SSR paint.\n *\n * Note - This has no performance impact as L10NProvider was waiting for messages before\n * displaying anything anyways.\n */\nconst renderAppWithLocaleMessages = () => {\n return new Promise(resolve => {\n if (environment.slLanguageLocale === 'en-US') {\n resolve(localeMessages);\n } else {\n Promise.all([\n import(/* webpackChunkName: \"i18n/[request]\" */ `../locales/translated/${environment.slLanguageLocale}`),\n import(\n /* webpackChunkName: \"i18n/webassets/[request]\" */ `@sm/webassets/dist/locales/translated/${environment.slLanguageLocale}`\n ),\n ]).then(([appMessages, webassetsMessages]) => {\n resolve({\n ...appMessages,\n ...webassetsMessages,\n });\n });\n }\n });\n};\n\nrenderAppWithLocaleMessages()\n .then(messages => {\n localeMessages = messages;\n })\n .finally(() => {\n (target.innerHTML.trim().length ? hydrate : render)(rendered(localeMessages), document.getElementById('reactApp'));\n });\n","import { IntrospectionFragmentMatcher } from 'apollo-cache-inmemory';\nimport introspectionQueryResultData from './fragmentTypes';\n\n/**\n * Get the GraphQL fragment matcher\n * @memberof module:@sm/utils\n * @returns {IntrospectionFragmentMatcher} IntrospectionFragmentMatcher\n */\nexport default function getGraphQLFragmentMatcher() {\n return new IntrospectionFragmentMatcher({\n introspectionQueryResultData,\n });\n}\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"userDropDownQuery\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"linkedIdentities\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalCount\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":94}};\n doc.loc.source = {\"body\":\"query userDropDownQuery {\\n user {\\n id\\n linkedIdentities {\\n totalCount\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"userDropDownQuery\"] = oneQuery(doc, \"userDropDownQuery\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListingCategories\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListingCategories\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":155}};\n doc.loc.source = {\"body\":\"query publishedApplicationListingCategories($language: ID!) {\\n publishedApplicationListingCategories(language: $language) {\\n id\\n key\\n name\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"publishedApplicationListingCategories\"] = oneQuery(doc, \"publishedApplicationListingCategories\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"uninstallApp\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UninstallAppInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uninstallApp\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":100}};\n doc.loc.source = {\"body\":\"mutation uninstallApp($input: UninstallAppInput!) {\\n uninstallApp(input: $input) {\\n appId\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"uninstallApp\"] = oneQuery(doc, \"uninstallApp\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListingsByKeyword\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListingsByKeyword\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"links\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detail\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":323}};\n doc.loc.source = {\"body\":\"query publishedApplicationListingsByKeyword($subdomain: String, $tld: String, $language: ID!, $keyword: String!) {\\n publishedApplicationListingsByKeyword(subdomain: $subdomain, tld: $tld, language: $language, keyword: $keyword) {\\n items {\\n id\\n name\\n logo\\n links {\\n detail\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"publishedApplicationListingsByKeyword\"] = oneQuery(doc, \"publishedApplicationListingsByKeyword\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"previewApplicationListingDetails\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"previewApplicationListingDetails\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIntegration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tagline\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullDescription\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"details\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publisher\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"featureList\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"googleAnalyticsTrackingId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportEmail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportPhoneNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requirements\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pricingUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"screenshots\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"privacyPolicyUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"termsOfUseUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blogUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"youtubeUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"websiteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upgradeRequired\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"optionalUpgrade\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"scopes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"linkType\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":689}};\n doc.loc.source = {\"body\":\"query previewApplicationListingDetails($language: ID!, $appId: ID!) {\\n previewApplicationListingDetails(language: $language, appId: $appId) {\\n id\\n isIntegration\\n name\\n tagline\\n fullDescription\\n logo\\n installed\\n details {\\n publisher\\n featureList\\n googleAnalyticsTrackingId\\n supportEmail\\n supportPhoneNumber\\n supportUrl\\n requirements {\\n label\\n pricingUrl\\n type\\n description\\n }\\n screenshots\\n privacyPolicyUrl\\n termsOfUseUrl\\n blogUrl\\n youtubeUrl\\n websiteUrl\\n installUrl\\n upgradeRequired\\n optionalUpgrade\\n scopes\\n link\\n linkType\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"previewApplicationListingDetails\"] = oneQuery(doc, \"previewApplicationListingDetails\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListingDetails\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListingDetails\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"appId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIntegration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tagline\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullDescription\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"details\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publisher\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"featureList\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"googleAnalyticsTrackingId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportEmail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportPhoneNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requirements\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pricingUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"screenshots\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"privacyPolicyUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"termsOfUseUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blogUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"youtubeUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"websiteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upgradeRequired\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"optionalUpgrade\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"scopes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"linkType\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":693}};\n doc.loc.source = {\"body\":\"query publishedApplicationListingDetails($language: ID!, $appId: ID!) {\\n publishedApplicationListingDetails(language: $language, appId: $appId) {\\n id\\n isIntegration\\n name\\n tagline\\n fullDescription\\n logo\\n installed\\n details {\\n publisher\\n featureList\\n googleAnalyticsTrackingId\\n supportEmail\\n supportPhoneNumber\\n supportUrl\\n requirements {\\n label\\n pricingUrl\\n type\\n description\\n }\\n screenshots\\n privacyPolicyUrl\\n termsOfUseUrl\\n blogUrl\\n youtubeUrl\\n websiteUrl\\n installUrl\\n upgradeRequired\\n optionalUpgrade\\n scopes\\n link\\n linkType\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"publishedApplicationListingDetails\"] = oneQuery(doc, \"publishedApplicationListingDetails\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"appsGridPublishedApplicationListings\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PublishedApplicationListingFilter\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIntegration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"links\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detail\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"categories\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":501}};\n doc.loc.source = {\"body\":\"query appsGridPublishedApplicationListings(\\n $subdomain: String\\n $tld: String\\n $language: ID!\\n $filter: PublishedApplicationListingFilter\\n $page: Int\\n $pageSize: Int\\n) {\\n publishedApplicationListings(\\n subdomain: $subdomain\\n tld: $tld\\n language: $language\\n filter: $filter\\n page: $page\\n pageSize: $pageSize\\n ) {\\n items {\\n id\\n name\\n logo\\n isIntegration\\n links {\\n detail\\n }\\n categories {\\n id\\n name\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"appsGridPublishedApplicationListings\"] = oneQuery(doc, \"appsGridPublishedApplicationListings\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListingCategory\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"categoryKey\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListingCategory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"categoryKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"categoryKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tagline\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIntegration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"links\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detail\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListings\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PublishedApplicationListingFilter\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pageSize\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tagline\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIntegration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"links\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detail\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1020}};\n doc.loc.source = {\"body\":\"query publishedApplicationListingCategory(\\n $subdomain: String\\n $tld: String\\n $language: ID!\\n $categoryKey: ID!\\n $page: Int!\\n $pageSize: Int!\\n) {\\n publishedApplicationListingCategory(\\n subdomain: $subdomain\\n tld: $tld\\n language: $language\\n categoryKey: $categoryKey\\n ) {\\n id\\n name\\n publishedApplicationListings(subdomain: $subdomain, tld: $tld, page: $page, pageSize: $pageSize) {\\n items {\\n id\\n name\\n tagline\\n logo\\n isIntegration\\n links {\\n detail\\n }\\n }\\n }\\n }\\n}\\n\\nquery publishedApplicationListings(\\n $subdomain: String\\n $tld: String\\n $language: ID!\\n $filter: PublishedApplicationListingFilter!\\n $page: Int\\n $pageSize: Int\\n) {\\n publishedApplicationListings(\\n subdomain: $subdomain\\n tld: $tld\\n language: $language\\n filter: $filter\\n page: $page\\n pageSize: $pageSize\\n ) {\\n items {\\n id\\n name\\n tagline\\n logo\\n isIntegration\\n links {\\n detail\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"publishedApplicationListingCategory\"] = oneQuery(doc, \"publishedApplicationListingCategory\");\n \n module.exports[\"publishedApplicationListings\"] = oneQuery(doc, \"publishedApplicationListings\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"installedApplications\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installedApplications\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIntegration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tagline\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"links\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"launch\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"categories\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":285}};\n doc.loc.source = {\"body\":\"query installedApplications($language: ID!) {\\n installedApplications(language: $language) {\\n items {\\n id\\n isIntegration\\n name\\n tagline\\n logo\\n links {\\n detail\\n launch\\n }\\n categories {\\n id\\n name\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"installedApplications\"] = oneQuery(doc, \"installedApplications\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"searchPublishedApplicationListingsByKeyword\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publishedApplicationListingsByKeyword\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomain\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"tld\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"language\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"keyword\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tagline\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIntegration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"links\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detail\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":363}};\n doc.loc.source = {\"body\":\"query searchPublishedApplicationListingsByKeyword($subdomain: String, $tld: String, $language: ID!, $keyword: String!) {\\n publishedApplicationListingsByKeyword(subdomain: $subdomain, tld: $tld, language: $language, keyword: $keyword) {\\n items {\\n id\\n name\\n tagline\\n logo\\n isIntegration\\n links {\\n detail\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"searchPublishedApplicationListingsByKeyword\"] = oneQuery(doc, \"searchPublishedApplicationListingsByKeyword\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"developerAppListingsCount\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"developerApplications\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalCount\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":81}};\n doc.loc.source = {\"body\":\"query developerAppListingsCount {\\n developerApplications {\\n totalCount\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"developerAppListingsCount\"] = oneQuery(doc, \"developerAppListingsCount\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"modules\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"modules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"items\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tagline\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"image\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"price\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cost\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"currency\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"links\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"marketingPage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferences\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasPurchasedModule\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":338}};\n doc.loc.source = {\"body\":\"query modules {\\n modules {\\n items {\\n id\\n title\\n tagline\\n description\\n image\\n type\\n subtype\\n price {\\n cost\\n locale\\n currency\\n }\\n links {\\n marketingPage\\n }\\n }\\n }\\n}\\n\\nquery user {\\n user {\\n id\\n preferences {\\n hasPurchasedModule\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"modules\"] = oneQuery(doc, \"modules\");\n \n module.exports[\"user\"] = oneQuery(doc, \"user\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"getPricingPageExperience\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"countryCode\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"defaultValue\":{\"kind\":\"StringValue\",\"value\":\"US\",\"block\":false},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"languageCode\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"defaultValue\":{\"kind\":\"StringValue\",\"value\":\"en\",\"block\":false},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"experienceName\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"encryptParams\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PricingPageEncryptParam\"}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pricingPageExperience\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"countryCode\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"countryCode\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"languageCode\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"languageCode\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"experienceName\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"experienceName\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"encryptParams\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"encryptParams\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"packages\"},\"name\":{\"kind\":\"Name\",\"value\":\"package\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"package\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"encryptedCtaParam\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"featureSetId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"details\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOverageable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPaid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tier\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"features\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"amount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"setting\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skuCost\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skuType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cost\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sku\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"currency\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bundle\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sku\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skuType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cost\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"quantity\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"priceTestCookies\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"age\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":969}};\n doc.loc.source = {\"body\":\"query getPricingPageExperience(\\n $countryCode: String = \\\"US\\\"\\n $languageCode: String = \\\"en\\\"\\n $experienceName: String\\n $encryptParams: [PricingPageEncryptParam!]\\n) {\\n pricingPageExperience(\\n countryCode: $countryCode\\n languageCode: $languageCode\\n experienceName: $experienceName\\n encryptParams: $encryptParams\\n ) {\\n name\\n country\\n packages: package {\\n package\\n id\\n encryptedCtaParam\\n featureSetId\\n details {\\n label\\n displayName\\n isOverageable\\n isPaid\\n tier\\n }\\n features {\\n name\\n amount\\n isEnabled\\n setting\\n }\\n skuCost {\\n skuType\\n country\\n cost\\n label\\n sku\\n currency {\\n id\\n code\\n }\\n }\\n bundle {\\n id\\n label\\n sku\\n skuType\\n cost\\n quantity\\n }\\n }\\n priceTestCookies {\\n name\\n value\\n age\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"getPricingPageExperience\"] = oneQuery(doc, \"getPricingPageExperience\");\n \n","module.exports = jsdom;"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","t","keys","Object","module","exports","__schema","types","kind","name","possibleTypes","COPY","defineMessages","LINK_BLOCKED_MAIN_MESSAGE","defaultMessage","description","LINK_BLOCKED_PAGE_TITLE","LINK_BLOCKED_SIGN_UP_BLURB","LINK_BLOCKED_SIGN_UP","LINK_BLOCKED_HOME","LINK_BLOCKED_TERMS_OF_USE","LinkBlocked","color","includeHeader","includeFooter","pageId","legacyWeb","T","content","className","href","generateMetricsAttribute","data","actionType","actionFlow","Typography","variant","desc","component","Button","HelmetWithChildren","children","rest","ORDER","languages","freeze","langCode","order","None","Last","de","ru","Skipped","es","First","pt","nl","fr","it","da","sv","ja","ko","zh","tr","no","fi","LINKS","lang","Seo","canonicalPath","useContext","StaticContext","domain","environment","url","path","hrefLangs","useMemo","getLinks","language","filter","links","SeoHeadTags","HrefLangsTags","rel","key","hrefLang","pageTitle","pageDescription","pageKeywords","isBrowser","window","convertToObject","reduce","a","v","getCookieValue","cname","cookieValue","decodedCookies","decodeURIComponent","document","cookie","split","forEach","c","cSub","startsWith","substring","length","EXTERNAL_SCRIPTS","PACKAGES_MAPPING_DATA_OPTIONS","PACKAGES","Basic","BASIC","StandardMonthly","STANDARD_MONTHLY","StandardAnnual","STANDARD_ANNUAL","AdvantageMonthly","ADVANTAGE_MONTHLY","AdvantageAnnual","ADVANTAGE_ANNUAL","PremierMonthly","PREMIER_MONTHLY","PremierAnnual","PREMIER_ANNUAL","TeamAdvantage","TEAM_ADVANTAGE_ANNUAL","TeamPremier","TEAM_PREMIER_ANNUAL","Enterprise","ENT_PLATINUM","Flex","ANALYZE_MONTHLY","PACKAGE_IDS","MONTHLY_PACKAGES","INDIVIDUAL_PACKAGES","TEAMS_PACKAGES","COMPARISON_PACKAGES","Layout","useScript","urls","scriptElements","useRef","useEffect","current","existingScriptElement","querySelector","script","createElement","src","async","type","setAttribute","body","appendChild","scriptElement","removeChild","sticky","usePricingExperience","encryptParams","experienceName","countryCode","languageCode","useState","priceTestCookies","setPriceTestCookies","useQuery","getPricingPageExperience","variables","onCompleted","pricingPageExperience","loading","error","getClientEnvironmentDetails","Array","isArray","cookies","location","host","replace","cookieObj","value","age","savePriceTestExperimentCookies","CTA_LABEL","PackageType","PricingExperienceContext","createContext","PricingExperienceProvider","Provider","withPageHandler","WrappedComponent","props","useParams","packageSet","Teams","Individual","packages","packageData","require","MAIN_HEADING","DETAILS_HEADING","EDUCATIONAL_HEADING","EDUCATIONAL_SUBHEADING","VIEW_PRICING","TEAM_PLANS","INDIVIDUAL_PLANS","ENTERPRISE","BACK_TO_SUMMARY","EXPAND_ALL","COLLAPSE_ALL","SIZE_OPTIONS","default","sm","WrenchTheme","md","lg","xl","xs","none","lowerBPMediaQuery","size","overrideSize","DISPLAY_SIZE_OPTIONS","MD_MEDIA_QUERY","createUseStyles","spacing","Heading","display","fontSize","sectionTitle","textAlign","margin","fontWeight","medium","hero2","MainHeading","useHeadingStyles","teams","title","queryString","ut_source","packageType","individual","enterprise","pricingPalette","Container","marginBottom","List","listStyle","justifyContent","padding","ListItem","bodySm","alignItems","colors","charcoal","textDecoration","borderBottom","sabaeus","NavItem","selected","usePricingNavigationStyles","to","Navigation","subPath","useNavigationStyles","role","ROUTE_CONFIG","routeName","route","navProps","createURL","packageTheme","CTA","maxWidth","width","backgroundColor","packageName","primary","border","noCTA","background","black","SELECT","SIGN_UP","YOUR_PLAN","CONTACT_US","PackageCta","ctaLabel","small","useStyles","getCTAText","packageId","text","NOT_UPGRADEABLE","disabled","stretched","PER_MONTH","PER_USER_PER_MONTH","BILLED_ANNUALLY","getPerMonthAnnually","price","priceUnit","byline","pricePerMonthAnnually","highlighted","PackagePrice","formattedPrice","align","packageDefs","PackageByline","RibbonStyle","position","right","top","zIndex","overflow","height","left","borderTopLeftRadius","borderBottomRightRadius","bottom","lineHeight","transform","boxShadow","Ribbon","useRibbonStyles","BEST_VALUE","SAVE_PERCENTAGE","getCoreCostFromSkus","skuCosts","find","sku","skuType","convertFeatureSetToMap","featureSet","acc","feature","palette","Header","whiteSpace","darkMuted","marginTop","minHeight","flexDirection","PackageHeader","details","usePackageHeaderStyles","displayName","comparisonPackageName","coreSeatCost","formatCostInLocaleCurrency","skuCost","FormattedNumber","cost","formatStyle","currency","currencyDisplay","minimumFractionDigits","formattedMonthlyPrice","formatMonthlyCostInLocaleCurrency","monthlyCost","monthlyCostInDollars","ribbonText","comparisonPackage","packageObj","package","comparisonSeatCost","savingsPercentage","calculateSavingsPercent","skuCostOriginal","skuCostDiscounted","retVal","costDifference","Math","round","percentage","toUpperCase","HIGHLIGHT","defaultColor","PricingPackageContainer","marginLeft","marginRight","PricingPackage","flint","borderRadius","transition","Highlighted","paddingTop","PlanFeaturesLink","Features","FeatureItem","wordBreak","paddingRight","stone","canvas","FeatureSummary","TooltipContainer","Tooltip","white","TooltipArrow","FeatureTooltip","tooltipHeading","tooltip","useTooltipStyles","FeatureSet","features","useFeatureSetStyles","summary","useSummaryDisplayFeatures","featureTransformer","slLanguageLocale","featureSetMap","usePackageFeatureSet","setFeatureSetMap","useFeatureSet","displayFeatures","setDisplayFeatures","featureSetData","locale","featureItemKey","TYPE_HEADER","TYPE_PARAGRAPH","NUM_RESPONSES","NUM_RESPONSES_TOOLTIP","SUPPORT","SUPPORT_TOOLTIP","a_b_testing_tooltip_heading","a_b_testing_tooltip","account_verification_tooltip_heading","account_verification_tooltip","add_users_tooltip_heading","add_users_tooltip","admin_dashboard_tooltip_heading","admin_dashboard_tooltip","advanced_logic_tooltip_heading","advanced_logic_tooltip","advanced_survey_features_tooltip_heading","advanced_survey_features_tooltip","all_languages_supported_tooltip_heading","all_languages_supported_tooltip","analyze_access_benchmarking_tooltip_heading","analyze_access_benchmarking_tooltip","analyze_can_customize_charts_tooltip_heading","analyze_can_customize_charts_tooltip","analyze_can_export_hide_branding_tooltip_heading","analyze_can_export_hide_branding_tooltip","analyze_can_export_ta_tooltip_heading","analyze_can_export_ta_tooltip","analyze_can_save_views_tooltip_heading","analyze_can_save_views_tooltip","analyze_can_share_customize_branding_tooltip_heading","analyze_can_share_customize_branding_tooltip","analyze_can_share_customize_domain_tooltip_heading","analyze_can_share_customize_domain_tooltip","analyze_can_ta_search_tooltip_heading","analyze_can_ta_search_tooltip","analyze_can_ta_tag_tooltip_heading","analyze_can_ta_tag_tooltip","analyze_combine_filters_tooltip_heading","analyze_combine_filters_tooltip","analyze_dashboard_password_enabled_tooltip_heading","analyze_dashboard_password_enabled_tooltip","analyze_delete_respondent_limit_tooltip_heading","analyze_delete_respondent_limit_tooltip","analyze_export_enabled_tooltip_heading","analyze_export_enabled_tooltip","analyze_export_spss_enabled_tooltip_heading","analyze_export_spss_enabled_tooltip","analyze_integrations_tooltip_heading","analyze_integrations_tooltip","analyze_password_enabled_tooltip_heading","analyze_password_enabled_tooltip","analyze_response_delete_limit_tooltip_heading","analyze_response_delete_limit_tooltip","analyze_response_limit_tooltip_heading","analyze_response_limit_tooltip","analyze_results_together_tooltip_heading","analyze_results_together_tooltip","analyze_rule_based_tagging_tooltip_heading","analyze_rule_based_tagging_tooltip","analyze_rule_limit_tooltip_heading","analyze_rule_limit_tooltip","analyze_sentiment_enabled_tooltip_heading","analyze_sentiment_enabled_tooltip","analyze_shared_results_enabled_tooltip_heading","analyze_shared_results_enabled_tooltip","analyze_ta_enabled_tooltip_heading","analyze_ta_enabled_tooltip","analyze_trends_enabled_tooltip_heading","analyze_trends_enabled_tooltip","api_access_tooltip_heading","api_access_tooltip","asset_library_tooltip_heading","asset_library_tooltip","assign_admin_role_tooltip_heading","assign_admin_role_tooltip","base_response_count_tooltip_heading","base_response_count_tooltip","benchmarks_tooltip_heading","benchmarks_tooltip","best_worst_qt_tooltip_heading","best_worst_qt_tooltip","build_surveys_together_tooltip_heading","build_surveys_together_tooltip","bulk_survey_share_tooltip_heading","bulk_survey_share_tooltip","bulk_survey_transfer_tooltip_heading","bulk_survey_transfer_tooltip","carry_forward_tooltip_heading","carry_forward_tooltip","click_map_qt_tooltip_heading","click_map_qt_tooltip","collaboration_tooltip_heading","collaboration_tooltip","collect_contact_information_tooltip_heading","collect_contact_information_tooltip","collect_email_throttle_limit_tooltip_heading","collect_email_throttle_limit_tooltip","collect_min_daily_messages_limit_tooltip_heading","collect_min_daily_messages_limit_tooltip","collect_responses_tooltip_heading","collect_responses_tooltip","collector_completion_url_enabled_tooltip_heading","collector_completion_url_enabled_tooltip","collector_contact_list_limit_tooltip_heading","collector_contact_list_limit_tooltip","collector_create_limit_tooltip_heading","collector_create_limit_tooltip","collector_email_limit_tooltip_heading","collector_email_limit_tooltip","collector_email_enabled_tooltip_heading","collector_email_enabled_tooltip","collector_facebook_messenger_enabled_tooltip_heading","collector_facebook_messenger_enabled_tooltip","collector_manual_data_entry_enabled_tooltip_heading","collector_manual_data_entry_enabled_tooltip","collector_mobile_sdk_enabled_tooltip_heading","collector_mobile_sdk_enabled_tooltip","collector_offline_kiosk_enabled_tooltip_heading","collector_offline_kiosk_enabled_tooltip","collector_popup_enabled_tooltip_heading","collector_popup_enabled_tooltip","collector_friendly_url_enabled_tooltip_heading","collector_friendly_url_enabled_tooltip","collector_max_responses_delete_count_tooltip_heading","collector_max_responses_delete_count_tooltip","collector_recipients_limit_tooltip_heading","collector_recipients_limit_tooltip","collector_thank_you_enabled_tooltip_heading","collector_thank_you_enabled_tooltip","collector_white_label_enabled_tooltip_heading","collector_white_label_enabled_tooltip","collector_zoom_enabled_tooltip_heading","collector_zoom_enabled_tooltip","collectors_read_tooltip_heading","collectors_read_tooltip","collectors_write_tooltip_heading","collectors_write_tooltip","collect_end_page_question_bank_demographics_tooltip_heading","collect_end_page_question_bank_demographics_tooltip","comment_box_question_type_tooltip_heading","comment_box_question_type_tooltip","consolidated_billing_tooltip_heading","consolidated_billing_tooltip","contacts_read_tooltip_heading","contacts_read_tooltip","contacts_write_tooltip_heading","contacts_write_tooltip","create_custom_chatbot_avatar_tooltip_heading","create_custom_chatbot_avatar_tooltip","create_custom_html_email_message_enabled_tooltip_heading","create_custom_html_email_message_enabled_tooltip","create_custom_theme_enabled_tooltip_heading","create_custom_theme_enabled_tooltip","create_custom_variables_enabled_tooltip_heading","create_custom_variables_enabled_tooltip","create_grayscale_footer_tooltip_heading","create_grayscale_footer_tooltip","create_logo_enabled_tooltip_heading","create_logo_enabled_tooltip","create_piping_enabled_tooltip_heading","create_piping_enabled_tooltip","create_print_enabled_tooltip_heading","create_print_enabled_tooltip","create_question_limit_tooltip_heading","create_question_limit_tooltip","create_quotas_enabled_tooltip_heading","create_quotas_enabled_tooltip","create_random_assignment_enabled_tooltip_heading","create_random_assignment_enabled_tooltip","create_randomization_enabled_tooltip_heading","create_randomization_enabled_tooltip","create_skip_logic_enabled_tooltip_heading","create_skip_logic_enabled_tooltip","create_templates_enabled_tooltip_heading","create_templates_enabled_tooltip","create_toggle_footer_enabled_tooltip_heading","create_toggle_footer_enabled_tooltip","custom_charts_tooltip_heading","custom_charts_tooltip","custom_templates_tooltip_heading","custom_templates_tooltip","customize_disqualification_page_enabled_tooltip_heading","customize_disqualification_page_enabled_tooltip","data_ownership_tooltip_heading","data_ownership_tooltip","disable_closed_page_branding_enabled_tooltip_heading","disable_closed_page_branding_enabled_tooltip","disable_email_message_branding_enabled_tooltip_heading","disable_email_message_branding_enabled_tooltip","disable_footer_branding_enabled_tooltip_heading","disable_footer_branding_enabled_tooltip","download_as_csv_xls_pdf_tooltip_heading","download_as_csv_xls_pdf_tooltip","download_as_ppt_tooltip_heading","download_as_ppt_tooltip","email_support_tooltip_heading","email_support_tooltip","email_tracking_enabled_tooltip_heading","email_tracking_enabled_tooltip","enable_ip_blocking_tooltip_heading","enable_ip_blocking_tooltip","essential_question_types_tooltip_heading","essential_question_types_tooltip","extended_piping_tooltip_heading","extended_piping_tooltip","extract_data_tooltip_heading","extract_data_tooltip","file_upload_tooltip_heading","file_upload_tooltip","filter_crosstab_tooltip_heading","filter_crosstab_tooltip","funneling_enabled_tooltip_heading","funneling_enabled_tooltip","gold_features_included_tooltip_heading","gold_features_included_tooltip","group_contacts_limit_tooltip_heading","group_contacts_limit_tooltip","group_templates_tooltip_heading","group_templates_tooltip","groups_read_tooltip_heading","groups_read_tooltip","groups_write_tooltip_heading","groups_write_tooltip","hide_export_branding_enabled_tooltip_heading","hide_export_branding_enabled_tooltip","hipaa_enabled_tooltip_heading","hipaa_enabled_tooltip","kiosk_mode_inactivity_timer_tooltip_heading","kiosk_mode_inactivity_timer_tooltip","kiosk_mode_passcode_lock_tooltip_heading","kiosk_mode_passcode_lock_tooltip","labeling_titles_numbering_tooltip_heading","labeling_titles_numbering_tooltip","library_read_tooltip_heading","library_read_tooltip","lite_library_tooltip_heading","lite_library_tooltip","max_collectors_per_survey_tooltip_heading","max_collectors_per_survey_tooltip","matrix_question_type_tooltip_heading","matrix_question_type_tooltip","maximum_daily_messages_tooltip_heading","maximum_daily_messages_tooltip","menu_matrix_enabled_tooltip_heading","menu_matrix_enabled_tooltip","metadata_settings_tooltip_heading","metadata_settings_tooltip","mobile_sdk_pull_response_data_enabled_tooltip_heading","mobile_sdk_pull_response_data_enabled_tooltip","mta_sparkpost_low_risk_ip_pools_tooltip_heading","mta_sparkpost_low_risk_ip_pools_tooltip","multilingual_tooltip_heading","multilingual_tooltip","multiple_block_rotation_enabled_tooltip_heading","multiple_block_rotation_enabled_tooltip","multiple_users_tooltip_heading","multiple_users_tooltip","new_stock_themes_tooltip_heading","new_stock_themes_tooltip","notification_center_tooltip_heading","notification_center_tooltip","num_free_responses_tooltip_heading","num_free_responses_tooltip","onboarding_tooltip_heading","onboarding_tooltip","pagination_tooltip_heading","pagination_tooltip","paid_to_group_rollout_tooltip_heading","paid_to_group_rollout_tooltip","papi_enabled_tooltip_heading","papi_enabled_tooltip","password_protection_tooltip_heading","password_protection_tooltip","payment_qt_tooltip_heading","payment_qt_tooltip","phone_support_tooltip_heading","phone_support_tooltip","plans_benchmarks_tooltip_heading","plans_benchmarks_tooltip","pop_up_collector_tooltip_heading","pop_up_collector_tooltip","premium_themes_tooltip_heading","premium_themes_tooltip","priority_email_support_tooltip_heading","priority_email_support_tooltip","private_apps_tooltip_heading","private_apps_tooltip","progress_bar_tooltip_heading","progress_bar_tooltip","question_library_tooltip_heading","question_library_tooltip","question_library_intl_tooltip_heading","question_library_intl_tooltip","quizzes_pro_tooltip_heading","quizzes_pro_tooltip","randomize_answer_choices_tooltip_heading","randomize_answer_choices_tooltip","ranking_question_type_tooltip_heading","ranking_question_type_tooltip","rating_question_type_tooltip_heading","rating_question_type_tooltip","real_time_results_tooltip_heading","real_time_results_tooltip","receive_transferred_survey_enabled_tooltip_heading","receive_transferred_survey_enabled_tooltip","record_respondent_email_address_tooltip_heading","record_respondent_email_address_tooltip","recurring_email_collector_enabled_tooltip_heading","recurring_email_collector_enabled_tooltip","recurring_surveys_tooltip_heading","recurring_surveys_tooltip","require_answer_tooltip_heading","require_answer_tooltip","reshare_tooltip_heading","reshare_tooltip","respondent_receipt_tooltip_heading","respondent_receipt_tooltip","response_quality_enabled_tooltip_heading","response_quality_enabled_tooltip","responses_read_tooltip_heading","responses_read_tooltip","responses_read_detail_tooltip_heading","responses_read_detail_tooltip","responses_write_tooltip_heading","responses_write_tooltip","roles_read_tooltip_heading","roles_read_tooltip","roles_write_tooltip_heading","roles_write_tooltip","sa_en_ga_tooltip_heading","sa_en_ga_tooltip","select_features_included_tooltip_heading","select_features_included_tooltip","send_surveys_tooltip_heading","send_surveys_tooltip","set_max_response_count_tooltip_heading","set_max_response_count_tooltip","set_survey_end_date_tooltip_heading","set_survey_end_date_tooltip","share_surveys_tooltip_heading","share_surveys_tooltip","share_with_your_organization_tooltip_heading","share_with_your_organization_tooltip","shared_group_library_tooltip_heading","shared_group_library_tooltip","shared_library_tooltip_heading","shared_library_tooltip","show_create_crosstab_tooltip_heading","show_create_crosstab_tooltip","show_create_header_upgrade_button_tooltip_heading","show_create_header_upgrade_button_tooltip","show_sig_diffs_enabled_tooltip_heading","show_sig_diffs_enabled_tooltip","single_sign_on_tooltip_heading","single_sign_on_tooltip","slider_question_type_tooltip_heading","slider_question_type_tooltip","smart_notifications_tooltip_heading","smart_notifications_tooltip","ssl_tls_encryption_tooltip_heading","ssl_tls_encryption_tooltip","star_rating_question_type_tooltip_heading","star_rating_question_type_tooltip","statistical_significance_tooltip_heading","statistical_significance_tooltip","survey_branding_tooltip_heading","survey_branding_tooltip","survey_create_limit_tooltip_heading","survey_create_limit_tooltip","survey_templates_intl_tooltip_heading","survey_templates_intl_tooltip","surveys_read_tooltip_heading","surveys_read_tooltip","surveys_write_tooltip_heading","surveys_write_tooltip","team_ownership_tooltip_heading","team_ownership_tooltip","team_themes_tooltip_heading","team_themes_tooltip","teams_can_discover_tooltip_heading","teams_can_discover_tooltip","teams_can_make_discoverable_tooltip_heading","teams_can_make_discoverable_tooltip","teams_enabled_tooltip_heading","teams_enabled_tooltip","text_analysis_tooltip_heading","text_analysis_tooltip","text_formatting_tooltip_heading","text_formatting_tooltip","textbox_multiple_question_type_tooltip_heading","textbox_multiple_question_type_tooltip","track_email_responses_tooltip_heading","track_email_responses_tooltip","try_before_you_buy_enabled_tooltip_heading","try_before_you_buy_enabled_tooltip","unlimited_responses_tooltip_heading","unlimited_responses_tooltip","user_management_tooltip_heading","user_management_tooltip","users_read_tooltip_heading","users_read_tooltip","validate_answer_tooltip_heading","validate_answer_tooltip","video_question_type_tooltip_heading","video_question_type_tooltip","view_respondent_ip_address_tooltip_heading","view_respondent_ip_address_tooltip","webhooks_read_tooltip_heading","webhooks_read_tooltip","webhooks_write_tooltip_heading","webhooks_write_tooltip","workgroups_members_read_tooltip_heading","workgroups_members_read_tooltip","workgroups_members_write_tooltip_heading","workgroups_members_write_tooltip","workgroups_read_tooltip_heading","workgroups_read_tooltip","workgroups_shares_read_tooltip_heading","workgroups_shares_read_tooltip","workgroups_shares_write_tooltip_heading","workgroups_shares_write_tooltip","workgroups_write_tooltip_heading","workgroups_write_tooltip","TYPE_LABEL","tooltipCopy","a_b_testing","account_verification","add_users","admin_dashboard","advanced_logic","advanced_survey_features","all_languages_supported","analyze_access_benchmarking","analyze_can_customize_charts","analyze_can_export_hide_branding","analyze_can_export_ta","analyze_can_save_views","analyze_can_share_customize_branding","analyze_can_share_customize_domain","analyze_can_ta_search","analyze_can_ta_tag","analyze_combine_filters","analyze_dashboard_password_enabled","analyze_delete_respondent_limit","analyze_export_enabled","analyze_export_spss_enabled","analyze_integrations","analyze_password_enabled","analyze_response_delete_limit","analyze_response_limit","analyze_results_together","analyze_rule_based_tagging","analyze_rule_limit","analyze_sentiment_enabled","analyze_shared_results_enabled","analyze_ta_enabled","analyze_trends_enabled","api_access","asset_library","assign_admin_role","base_response_count","benchmarks","best_worst_qt","build_surveys_together","bulk_survey_share","bulk_survey_transfer","carry_forward","click_map_qt","collaboration","collect_contact_information","collect_email_throttle_limit","collect_min_daily_messages_limit","collect_responses","collector_completion_url_enabled","collector_contact_list_limit","collector_create_limit","collector_email_limit","collector_email_enabled","collector_facebook_messenger_enabled","collector_manual_data_entry_enabled","collector_mobile_sdk_enabled","collector_offline_kiosk_enabled","collector_popup_enabled","collector_friendly_url_enabled","collector_max_responses_delete_count","collector_recipients_limit","collector_thank_you_enabled","collector_white_label_enabled","collector_zoom_enabled","collectors_read","collectors_write","collect_end_page_question_bank_demographics","comment_box_question_type","consolidated_billing","contacts_read","contacts_write","create_custom_chatbot_avatar","create_custom_html_email_message_enabled","create_custom_theme_enabled","create_custom_variables_enabled","create_grayscale_footer","create_logo_enabled","create_piping_enabled","create_print_enabled","create_question_limit","create_quotas_enabled","create_random_assignment_enabled","create_randomization_enabled","create_skip_logic_enabled","create_templates_enabled","create_toggle_footer_enabled","custom_charts","custom_templates","customize_disqualification_page_enabled","data_ownership","disable_closed_page_branding_enabled","disable_email_message_branding_enabled","disable_footer_branding_enabled","download_as_csv_xls_pdf","download_as_ppt","email_support","email_tracking_enabled","enable_ip_blocking","essential_question_types","extended_piping","extract_data","file_upload","filter_crosstab","funneling_enabled","gold_features_included","group_contacts_limit","group_templates","groups_read","groups_write","hide_export_branding_enabled","hipaa_enabled","kiosk_mode_inactivity_timer","kiosk_mode_passcode_lock","labeling_titles_numbering","library_read","lite_library","max_collectors_per_survey","matrix_question_type","maximum_daily_messages","menu_matrix_enabled","metadata_settings","mobile_sdk_pull_response_data_enabled","mta_sparkpost_low_risk_ip_pools","multilingual","multiple_block_rotation_enabled","multiple_users","new_stock_themes","notification_center","num_free_responses","onboarding","pagination","paid_to_group_rollout","papi_enabled","password_protection","payment_qt","phone_support","plans_benchmarks","pop_up_collector","premium_themes","priority_email_support","private_apps","progress_bar","question_library","question_library_intl","quizzes_pro","randomize_answer_choices","ranking_question_type","rating_question_type","real_time_results","receive_transferred_survey_enabled","record_respondent_email_address","recurring_email_collector_enabled","recurring_surveys","require_answer","reshare","respondent_receipt","response_quality_enabled","responses_read","responses_read_detail","responses_write","roles_read","roles_write","sa_en_ga","select_features_included","send_surveys","set_max_response_count","set_survey_end_date","share_surveys","share_with_your_organization","shared_group_library","shared_library","show_create_crosstab","show_create_header_upgrade_button","show_sig_diffs_enabled","single_sign_on","slider_question_type","smart_notifications","ssl_tls_encryption","star_rating_question_type","statistical_significance","survey_branding","survey_create_limit","survey_templates_intl","surveys_read","surveys_write","team_ownership","team_themes","teams_can_discover","teams_can_make_discoverable","teams_enabled","text_analysis","text_formatting","textbox_multiple_question_type","track_email_responses","try_before_you_buy_enabled","unlimited_responses","user_management","users_read","validate_answer","video_question_type","view_respondent_ip_address","webhooks_read","webhooks_write","workgroups_members_read","workgroups_members_write","workgroups_read","workgroups_shares_read","workgroups_shares_write","workgroups_write","GLOBAL_BENCHMARKS","RESPONSES_PER_YEAR","SHARED_LIBRARY","createFeatureFormatter","COPY_MAP","featureName","formatValues","tooltipKey","String","tooltipHeadingKey","undefined","formatSummaryFeature","SUMMARY_COPY","formatDetailsFeature","DETAILS_COPY","SETTING_UNLIMITED","setting","response_count","obj","amount","toLocaleString","support","isEnabled","survey_logic","create_advanced_features","summaryFeaturesTransformer","featureListMap","featureListRules","packageFeatures","options","featureListItem","featureKeys","push","featureValues","featureKey","DefaultFeatureSetToSummaryFeatures","SummaryFeatureRules","DefaultSummaryFeatureTransformer","StandardMonthlyFeatureTransformer","Package","SummaryFeatureTransformers","usePackageStyles","element","PackageDefs","PackagePropTypes","PropTypes","label","isRequired","FeatureTooltipPropTypes","FeaturePropTypes","summaryLine","hidden","PackageSummaryPropTypes","headerRenderer","footerRenderer","PackageComparisonPropTypes","ctaRenderer","SummaryPackageConfigPropTypes","comparison","ComparisonTableFeaturePropTypes","ComparisonTableCategoryFeaturesPropTypes","ComparisonTableCategoryPropTypes","included","EnabledCheckMark","viewBox","xmlns","fill","fillRule","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","DisabledCheckMark","cx","cy","r","getUTSource","currentPath","AudienceFooter","useLocation","pathname","px","pz","mt","mb","flex","flexWrap","audienceFeatures","m","p","mr","FaqQuestion","FaqAnswer","SummaryFooter","Link","IconArrowRight","Col","term","includes","ComparisonTable","packageCount","classnames","tabIndex","defaultProps","ComparisonTableHeader","ComparisonTableHeaderCell","a11yId","scope","ComparisonTableCategory","opened","open","setOpen","a11yButtonText","ChevronIcon","IconChevronDown","IconChevronUp","colSpan","onClick","prevState","ComparisonTableFeatureRow","a11yHeaders","headers","join","placement","IconInfo","ComparisonTableFeatureCell","checked","cell","IconCheck","ComparisonTableFooter","ComparisonTableFooterCell","SummaryComparisonTableHeader","pricingPackage","packageTableDetails","SummaryComparisonTableFooter","CtaRenderer","packageClassName","trim","toLowerCase","createPackageA11yId","SummaryComparisonTable","packagesConfig","comparisonTableDef","category","index","categoryA11yId","createCategoryA11yId","featureA11yId","createFeatureA11yId","Packages","usePackagesWithCTALabel","setPackages","user","isAuthenticated","currentPackage","currentlyPurchased","displayed","parseInt","pkg","assignedPackages","assignCTABasedOnPackageTier","authenticated","tempPackage","tier","createPackagesList","sort","b","indexOf","slice","Back","BackToSummary","borderWidth","pebble","borderRight","DetailsPackageHeader","useDetailsPackageHeaderStyles","style","gridArea","elevation","AccordionControl","main","paddingLeft","Cell","borderTop","DetailRow","gridTemplateColumns","Feature","borderLeft","Bullet","BulletInverse","composes","ExpandCollapse","link","sky","TooltipIndicator","cursor","Test","AVAILABLE","UNAVAILABLE","FeatureCell","useCategoryStyles","a11yValue","CaretDown","CaretUp","Categories","displayedPackages","isMobile","useCateogryStyles","expandAll","collapseAll","initialLoad","isExpanded","icon","toggleData","setToggleData","categories","getFeatureCategories","transformedPackages","getFeatureValue","groupings","group","handleToggle","useCallback","event","preventDefault","multiple","expanded","Details","Sticky","gridTemplateAreas","getGridTemplateAreas","i","str","Package1","Package2","Package3","Package4","Package5","Package6","HubspotApiStatus","mapHiddenField","mapHubSpotFormFields","hsData","form","mappedData","fields","redirect","guid","portalId","temp","formFieldGroups","field","formFields","defaultValue","fieldType","required","hideLabel","labelHidden","placeholder","flat","useHubSpotFormAPI","status","Loading","setData","formData","URLSearchParams","append","fetch","method","json","fetchHubSpotForm","catch","err","CONTACT_US_TODAY","LEARN_MORE","MANAGE_USERS","CONFIDENTIAL_DATA","FEEDBACK","INVALID_EMAIL","BLOCKED_EMAIL","INVALID_PHONE_NUMBER","REQUIRED","CONTACT_SALES","HUSBPOT_FORM_ERROR","ERROR","CONSENT","CONSENT_ONE","CONSENT_TWO","CONSENT_THREE","SUBSCRIPTION_LINK","MP_PRIVACY_LINK","HubSpotErrorBanner","showIcon","HubspotInput","handleOnBlur","I","errorMessage","onBlur","FIELDS","email","phone","defaultType","ERROR_MAP","REQUIRED_FIELD","GENERIC_ERROR","PHONE_NUMBER_REGEX","RegExp","ValidationColor","VALIDATOR_SUCCESS","success","minLengthValidator","FIELD_VALIDATORS","emailValidator","isValidEmail","phoneValidator","test","validateAndGetFormData","validatorType","validator","applyValidators","validators","validatorResult","every","validate","HS_ERROR_STATUS","mapFieldAndValues","formDTO","saveFormData","dataOptions","formValues","values","some","isFormValid","submitData","mapHubspotSubmissionData","legalConsentOptions","consent","communications","subscriptionTypeId","consentToProcess","context","hutk","pageName","pageUri","response","JSON","stringify","CheckBoxWrapper","gap","overflowX","HubSpotForm","setFormData","useHubSpotStyles","handleChange","target","validatedData","handleConsentChecked","handleFormSubmission","newFormData","submitErrors","redirectUri","assign","errors","parseHubspotApiResponse","responseData","message","errorType","match","fieldName","fs","Success","onSubmit","noValidate","defaultChecked","onChange","flexJustify","buttonType","valueText","continuous","ContactList","listStyleType","ListHeading","TypographyBolded","HubSpotWrapper","ContactUs","useEnterprisePageStyles","ViewPricingLink","PricingSummaryPage","useSummaryStyles","paths","EnterprisePage","pb","PricingDetailsPage","useDetailsStyles","minWidth","EducationalDetailsPage","packageSetOverride","useEducationalStyles","viewPricingLinkText","PricingRoutes","redirectPath","ROUTES","pages","page","exact","PricingRouter","SEARCHBOX_PLACEHOLDER","mapItemsToAutocomplete","publishedApplicationListingsByKeyword","items","logo","detail","SearchBox","Component","state","keyword","handleTermChanged","this","setState","handleItemSelected","handleSubmit","MetricsTracker","USER_EVENTS","amplitudeEvent","searchTerm","history","render","query","publishedApplicationListingsByKeywordQuery","skip","subdomain","tld","languageId","onTextChanged","onItemSelected","isLoading","hasError","renderItem","alt","AppPlaceHolderImg","withRouter","contextType","JUMBO_TAGLINE","JUMBO_SUBTITLE","JumboHeader","HEADER_EXP","isModernTreatment","shouldShowNewHeader","AppLink","app","isIntegration","AppsGrid","apps","Grid","noBleeds","Row","userAgent","isDesktop","defaultMatches","x","y","rx","ry","FEATURED_APPS_TITLE","RECENTLY_ADDED_APPS_TITLE","MOST_RECENT_APPS_TITLE","GRID_APPS_SEE_MORE","AppsGridContainer","gridOption","search","option","moreLink","pageSize","retrieveValuesForGridOption","publishedApplicationListingsQuery","publishedApplicationListings","SidebarSkeleton","LinkWithSearch","args","staticContext","NAVBAR_APPS_DIRECTORY","NAVBAR_CATEGORIES","NAVBAR_MY_APPS","NAVBAR_FEATURED","NAVBAR_MOST_POPULAR","NAVBAR_RECENTLY_ADDED","SidebarLink","dataTestId","NavBar","publishedApplicationListingCategoriesQuery","Accordion","AccordionItem","dense","transparent","publishedApplicationListingCategories","cat","TopBarSkeleton","DefaultLoader","ProgressCircle","MODULE_SKELETONS","top_bar","UCSModule","moduleHTML","renderLoadingState","customLoader","moduleName","ModuleLoader","componentDidMount","_isMounted","getModuleHTML","componentWillUnmount","getPreloadedModule","moduleContainer","getElementById","remove","textContent","reFetchFailed","reFetchModule","clientErrorHandler","moduleContent","credentials","html","classNames","dangerouslySetInnerHTML","__html","sanitizeString","BoundUCSModule","getCanonicalUrlOrNoIndex","noIndex","canonicalUrl","substr","switchAccountsUrl","encodeURIComponent","NAV_MY_ACCOUNT","NAV_SWITCH_ACCOUNTS","NAV_HELP_CENTER","NAV_SIGN_OUT","NAV_SIGN_IN","NAV_SIGN_UP","AppDirNavHeaderDesktop","navItems","shouldDisplayNavItem","username","showSwitchAccounts","nav","Menu","autoClose","noRules","menuTrigger","IconCaretDown","MenuItem","isNavigable","navigationTarget","urlWithSearch","AppDirNavHeaderMobile","authorizedMenuItems","IconLogoGoldie","IconMenu","MenuGroup","NAV_EXPLORE","NAV_MANAGE","NAV_DEVELOP","NAV_PARTNER","subdomainUri","altdomain","navigationItems","requiresAuthentication","AppDirNavHeader","userDropDownQuery","hasMultipleLinkedIdentities","linkedIdentities","totalCount","item","isEUDC","isUserAuthenticated","wrenchVariant","AppDirectoryBasePage","header","navbar","pageMetricsAttributes","fluid","waitForUsabilla","callback","count","waitForUsabillaLiveToLoad","usabilla_live","setTimeout","Home","AppListingList","tagline","categoryKey","params","publishedApplicationListingCategory","ListingsBasePage","PAGE_TITLE","Featured","MostPopular","RecentlyAdded","SEARCH_RESULTS","RESULTS_NOT_FOUND","FILL_IN_KEYWORD","Search","get","Card","REMOVE_DIALOG_HEADER","REMOVE_DIALOG_MESSAGE","REMOVE_DIALOG_CONFIRM","REMOVE_DIALOG_CANCEL","RemoveApp","appId","onSuccess","onClose","confirmDialogVisible","setConfirmDialogVisible","onKeyUp","mutation","uninstallAppMutation","input","uninstallApp","Modal","show","ModalHeader","ModalBody","ModalFooter","Align","NO_RESULTS_FOUND","LAUNCH_APP_LINK","APP_DETAILS_LINK","REMOVE_APP_LINK","renderCategories","MyApps","installedApplications","refetch","launch","IconDesktop","IconBadge","IconTrash","media","setCurrent","currentMedia","allowFullScreen","altText","mediaIdx","AppDetailsItem","linkLabel","APP_DETAILS_HEADER","REQUIRED_ACCESS_LABEL","REQUIRED_ACCOUNT_LABEL","INSTALLED_LABEL","INSTALL_LABEL","VISIT_SITE_LABEL","LAUNCH_LABEL","UPGRADE_LABEL","REMOVE_APP","AppDirectoryAppDetails","preview","selectedTab","setSelectedTab","pageTracked","setPageTracked","googleTracked","setGoogleTracked","getLangFromUrl","getAppDetails","previewApplicationListingDetails","publishedApplicationListingDetails","appDetails","googleAnalyticsTrackingId","trackerName","ReactGA","appName","installed","linkType","mdOrder","noRule","upgradeRequired","optionalUpgrade","Banner","IconTag","websiteUrl","publisher","supportEmail","IconEmail","supportPhoneNumber","IconLogoWhatsApp","supportUrl","IconGlobe","IconLock","privacyPolicyUrl","IconNews","termsOfUseUrl","blogUrl","IconMegaphone","concat","youtubeUrl","screenshots","s","featureList","Tabs","Tab","fullDescription","requirements","substitute","accountType","IconUserFilled","pricingUrl","scopes","IconGear","AppCard","SearchContext","React","filters","SearchProvider","setSearch","setFilters","updateSearch","newSearch","updateFilter","SearchConsumer","Consumer","DEFAULT_FILTERS","APP_CATEGORIES","INTEGRATE_TYPES","AVAILABLE_IN","FilterNav","isChecked","renderFilter","Checkbox","f","HomeV2","AppsDirectoryRouter","country","loggingAPIPath","amplitudeToken","unlisten","listen","scrollTo","DetailsPage","MyAppsPage","RecentlyAddedPage","MostPopularPage","FeaturedPage","SearchPage","CategoriesPage","HomePageV2","HomePage","FourOhFourError","PRODUCT_CATEGORY","AUDIENCE","EXPERT_SOLUTIONS","FILTER_KEY","CATEGORY","NAV_VARIANT","LIGHT","DARK","BROWSER","IE","UNKNOWN","MSInputMethodContext","documentMode","handler","onKeyPress","useLayoutEffect","config","queryParams","anchor","paramKey","buildEventData","trackEvent","LOGGER_NAME","SOLUTIONS","NAV","BI_MARKETPLACE_MODAL","ActionFlowLogger","constructor","registerActionKey","handlerName","logger","createLogger","removeSpaces","getLoggedModuleType","moduleType","getLinkGenerator","utSource","utSource2","ut_source2","utSource3","ut_source3","conf","utSource3sub","utCtaText","ut_ctatext","linkConfig","getLinkWithParams","loggerName","moduleTitle","dest","moduleSubType","button","module_subtype","MENU","MORE_RESOURCES","listenerArgs","pageYOffset","addEventListener","removeEventListener","getLogger","marketResearchSolutions","homeLink","solutions","globalSurveyPanel","expertSolutions","services","moreResources","audienceTargeting","dataQuality","budgetingOptions","guidesAndCaseStudies","getADemo","getLink","menuItems","logging","linkPropType","productPropType","image","ctaLink","learnMoreLink","priority","products","cursorPos","clientX","clientY","isCursorOverElement","rect","getBoundingClientRect","isInBound","getLinkTestId","ExpandableMenu","isOpen","boundingElementId","useCursor","getText","textClasses","getClickHandlers","interactive","TEST_ID","NavForDesktop","openMenu","setOpenMenu","scrolledToTop","setScrolledToTop","useIsomorphicLayoutEffect","addScrollListener","isAtTop","classes","mrxLogoLight","mrxLogoDark","buttonColor","buttonVariant","buttonClass","textVariant","noGutters","MENU_CONFIG","NavForTablet","setIsOpen","useLight","chevronColor","scrollPosRef","isScrolledToTop","NavForIE","removeListener","classList","add","removeScrollListener","MRXNav","mobileOpen","setMobileOpen","_setOpenMenu","menu","useBrowser","MRXPage","previewImageHref","canonicalLink","requestUrl","mobileNavOpen","_setMobileNavOpen","scrollPosition","mPreviewImageHref","isMRX","property","previewImage","subtitle","MRXHeader","isIE","VECTOR","UP","DOWN","RIGHT","LEFT","getSwipeVectorFromPoints","start","end","vector","vectorDeg","quadrant","isUpperHemisphere","isLeftHemisphere","getQuadrant","convertToAbsoluteAngle","atan","PI","getDistanceBetweenPoints","trunc","sqrt","Carousel","currentOffset","setCurrentOffset","touchDownPosition","onTouchStart","touches","onTouchEnd","pos","changedTouches","touchStartPos","touchEndPos","hasSwipedRight","Children","child","idx","isFocused","myOffset","timeout","getOffsetTop","offsetParent","offsetTop","scrollToElement","clearTimeout","offset","focus","Anchor","hash","hashId","ProductTile","ctaButton","outerClasses","ProductCategory","first","product","description1","description2","learnMore","getBodySection","HereToHelp","expertsImage","BREAK_POINT","MD","LG","XL","SCREEN","MOBILE","TABLET","MOBILE_TABLET","SMALL_DESKTOP","LARGE_DESKTOP","DESKTOP","CustomScreen","screen","matchMedia","matches","setMatches","doesMatch","propTypes","useBig","getImage","imgName","_getImage","UsedInOrgs","logos","setLogos","screenSize","setScreenSize","getLocalizedLogos","FILTERS","filterValues","prod","productCategory","filterParams","filterKey","SynchronousQueryStream","apolloClient","actions","client","resolveToContext","ctx","resolveQueryResultToContext","peek","startIdx","catchHandlers","range","collect","result","handled","j","catchHandler","audiencePanel","audiencePanelDescription","expertSolutionsDescription","getStarted","contactUs","tryItNow","surveyMonkeyAudience","surveyMonkeyAudienceDescription","biLogger","getAudienceCategory","ctaCopy","audienceImage","click","MRX","productCategories","searchParams","validFilterKeys","getFilterParamsFromUrlLocation","mProductCategories","filterProducts","orderedCategories","keyA","keyB","priorityA","priorityB","pcKey","FETCH_STATE","LOADING","IDLE","Wrapper","useIntercom","ctmProducts","fetchState","setFetchState","inner","pageLoad","modulesQuery","userQuery","_","modules","hasPurchasedModule","preferences","subtype","marketingPage","mapModules","withApollo","CreateWizardConfigContext","CreateWizardConfigContextProvider","createWizardConfig","defaultConfig","_setCreateWizardConfig","setCreateWizardConfig","newCreateWizardConfig","SINGLE_CHOICE","DROPDOWN","MULTIPLE_CHOICE","SINGLE_TEXTBOX","COMMENT_BOX","STAR_RATING","SLIDER","QUESTION_TYPES","MULTI_CHOICE_QUESTIONS","NON_MULTI_CHOICE_QUESTIONS","DEFAULT_POLL_QUESTION_TYPES","ChoiceOptions","questionAnswersLength","moveAnswer","deleteAnswer","IconArrowUp","IconArrowDown","IconX","SurveyChoice","readOnlySurvey","questionId","answersLength","answerValue","handleAnswerChange","InputGroup","Input","InputGroupAddon","QuizChoice","answer","handleScoreChange","score","MultipleChoice","question","surveyType","updateQuestion","maxAnsChoices","currentQuestion","cloneDeep","answers","down","splice","val","addAnswer","IconPlusCircle","questionType","min","max","allowComments","isNew","isUpdated","defaultPollQuestionConfig","forTypes","maxOptions","customConfigs","hideRequired","defaultSurveyQuestionConfig","getQuestionConfigs","configs","questionArray","disabledQuestionTypes","questionConfigOverride","getDefaultQuestionConfig","enabledQuestionTypes","sendMessage","msg","parent","postMessage","ACTION_TYPES","PREVIEW","READ_ONLY","NO_CHANGE","UPDATE","SAVE","CANCEL","BACK","isQuestionInvalid","validateQuestionType","validateMultipleChoiceQuestionType","minmaxid","validateSliderQuestionType","Date","getUTCMilliseconds","toString","mapAnswersFromAPI","apiQuestion","family","choices","choice","quiz_options","mapQuestionTypeFromAPI","displayOptions","singleChoiceSubType","display_type","display_subtype","mapQuestionToAPI","isQuiz","originalQuestionFromApi","familySubType","mapQuestionTypeToAPI","headings","heading","layout","updatedQuestion","handleRequired","mappedAnwers","visible","rows","weight","mapAnswersToAPI","display_options","forced_ranking","handleStarQuestionType","right_label","custom_options","starting_position","step_size","left_label","validation","sum_text","handleSliderQuestionType","scoring_enabled","feedback","correct_text","incorrect_text","getInputConfig","survey","maxQuestions","maxQuestionsBasic","selectedType","showBadge","sendPayloadOnAllUpdates","hideCreateSurveyButton","hideCancelSurveyButton","NewSurvey","primaryCtaCopy","secondaryCtaCopy","redirectToEditorPage","redirectTo","showPrimaryCtaIcon","parentDomain","questionConfig","surveyTypeSelected","defaultInputConfig","MAX_QUESTIONS","inputData","surveyDetails","setSurveyDetails","createNewQuestion","questions","setQuestions","surveyTitle","setSurveyTitle","setSurveyType","shouldRedirectBackToHome","setShouldRedirectBackToHome","redirectUrl","setRedirectUrl","isNewSurvey","edit","questionsFromApiMap","setQuestionsFromApiMap","questionConfigs","showUnsupportedAlert","setUnsupportedAlert","loadMappedQuestionsList","surveyData","questionsList","questionsFromAPIList","q","question_id","initialPosition","mapQuestionFromApi","unsupported","newMap","iconColor","buttonTextColor","secondaryButtonColor","secondaryButtonTextColor","badgeColor","badgeTextColor","containerBackgroundColor","middleContainerBackgroundColor","inputBackgroundColor","inputBorderColor","inputBorderHoverColor","inputBorderFocusColor","inputLabelBackgroundColor","root","documentElement","setProperty","showToast","setShowToast","errorText","setErrorText","questionsToDelete","setQuestionsToDelete","hasErrors","questionErrors","saveSurvey","overrideAction","dataToSend","questionsToSend","mappedQuestion","buildQuestionData","action","changeIds","errorClass","_question","questionsTemp","foundIndex","findIndex","errOutline","moveQuestion","from","showErrors","errObj","handleUpdate","questionFromApi","questionToDelete","determineActionType","localStorage","removeItem","handleSave","handleCancel","isSubmitDisabled","ml","IconArrowLeft","pl","Alert","my","Badge","Select","attributes","supportedSurveyType","Option","uuid","questionID","IconMore","questionsToDeleteList","filteredQuestions","deleteQuestion","tmpQuestion","handleQuestionTypeChange","getQuestionTypes","handleQuestionChange","IconStarFilled","handleMinChange","handleMaxChange","Switch","handleRequiredChange","questionTitles","getElementsByClassName","addQuestion","Toast","dismissible","ToastTitle","IconPoll","version","x1","y1","x2","y2","IconSurvey","points","IconTemplate","IconQuiz","strokeMiterlimit","shouldRedirect","setShouldRedirect","showCreatePollCard","setShowCreatePollCard","showCreateSurveyCard","setShowCreateSurveyCard","showStartFromTemplateCard","setShowStartFromTemplateCard","showCreateQuizCard","setShowCreateQuizCard","customStylings","setCustomStylings","onMessageReceivedFromIframe","source","parse","templatesList","badgeTextTransform","handleBackToHome","template","handleTemplateSelect","DEFAULT_STYLES","DEFAULT_CREATE_WIZARD_CONFIG","CreateWizardRouter","updateCreateWizardConfig","newConfigs","setItem","payload","getItem","NewSurveyPage","TemplatesPage","makeLinksStatic","linkHref","getAttribute","linkElement","targetSubdomain","endsWith","DeveloperWebNavHeaderDesktop","class","flexItemGrow","DeveloperWebNavHeaderMobile","headerItem","portedPages","headerPlaceholderSabeus","headerPlaceholderBlack","fixLinks","getElementsByTagName","headerLink","headerLinkHref","postRenderHeader","setPostRenderHeader","mobileButtons","querySelectorAll","mobileButton","fixSubdomainLinks","tryAttachCount","attachAccountAction","setInterval","accountButton","clearInterval","fixAccountLinks","DeveloperWebBasePage","footer","postRenderFooter","setPostRenderFooter","staticFooter","languageButton","languageMenuItems","fixLanguagerDropdown","targetUrl","setTargetUrl","developerEUSubdomain","developerSubdomain","prependUrl","prependStatic","developerApplications","mx","Docs","frameRef","addEu","comOrCa","origin","query_string","pushState","newurl","protocol","frameBorder","ref","AppTable","privateTable","planLabel","user_data","col1","col2","col3","firstCol","secondCol","FAQ","renderSection1","renderSection2","renderSection3","renderSection4","renderSection5","renderSection6","renderSection7","renderSection8","renderSection9","renderSection10","renderSection11","renderSection12","TOU","renderAppChecklist","renderAPIChecklist","addOnLeft","IconCheckCircle","BuildAPrivateApp","IconFolderUser","IconChartSegment","renderListingChecklist","BuildAPublicApp","IconLogoOutlook","IconListChecks","DeveloperWebRouter","DocsPage","FAQPage","TOUPage","BuildAPrivateAppPage","BuildAPublicAppPage","App","Pricing","AppsDirectory","MRXSolutions","CreateWizard","DeveloperWeb","midnight","arctic","concord","raspberry","bengal","bumblebee","slate","packageColors","advantageAnnual","analyze","premierAnnual","standardMonthly","teamAdvantage","teamPremier","allClientStaticData","SM","__LOAD_PAYLOAD_CACHE__","pageRequestId","appVersion","graphQLUri","gql","gqlCache","bugSnagClientConfig","initializeClientErrorHandler","localeMessages","createBrowserApolloClient","uri","cacheHydration","fragmentMatcherFn","getGraphQLFragmentMatcher","IntrospectionFragmentMatcher","introspectionQueryResultData","linkOptions","batchInterval","metadata","availableLoggedOutPaths","globalTheme","merge","getPricingTheme","rendered","messages","theme","FallbackComponent","FiveHundredErrorPage","L10nProvider","localeCode","all","appMessages","webassetsMessages","finally","innerHTML","hydrate","doc","loc","collectFragmentReferences","node","refs","selectionSet","selections","selection","variableDefinitions","def","definitions","definitionRefs","findOperation","extractReferences","Set","oneQuery","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","prevRefs","has","childRef","op","jsdom"],"sourceRoot":""}