{"version":3,"file":"contentweb/mntv-app-contentweb.6bfcfbfa.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,sTCrIjB,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,IAAe,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,oBCjHMmB,YAAc,EAAGC,YAAAA,KACrB,gBAAC,EAAAN,WAAD,CAAYC,QAAQ,QAAQE,UAAU,KAAKT,UAAU,kDAAkDa,MAAM,UAC1GD,GAFCD,YAAAA,YAAAA,cASNA,YAAYG,aAAe,CACzBF,YAhBkC,oCAmBpC,oB,uBCnBO,MAAMG,EAAe,CAC1BC,iBAAkB,CAChBC,KAAM,YACNC,MAAO,iBACPC,YAAa,CACXC,UAAW,mBAEbC,YAAa,SAEfC,sBAAuB,CACrBL,KAAM,uBACNC,MAAO,iBACPC,YAAa,CACXC,UAAW,mBAEbC,YAAa,cAEfE,eAAgB,CACdN,KAAM,0BACNC,MAAO,yBACPG,YAAa,eAGXG,EAAalD,OAAOD,KAAK0C,GAEzBU,QAAU,EAAGC,MAAAA,EAAOC,SAAAA,GAAW,MACnC,MAAM3B,EAAY4B,GAAAA,CAAW,eAAgB,CAC3C,yBAA0BD,IAEtBE,GAAMC,EAAAA,EAAAA,WAAUJ,EAAMT,KAAMS,EAAMP,aAChCD,EAAUQ,EAAVR,MAER,OACE,sBAAIlB,UAAWA,GACb,qBAAGC,KAAM4B,EAAK7B,UAAU,6BAA6B+B,KAAK,MAAM,gBAAeJ,EAAUK,SAAS,KAChG,wBAAMhC,UAAU,mDAAmDkB,MAVrEO,QAAAA,YAAAA,UA0BNA,QAAQX,aAAe,CACrBY,MAAO,CACLP,YAAa,MAEfQ,UAAU,GAGZ,MAAMM,kBAAoB,EAAGZ,YAAAA,EAAc,WACzC,uBAAKrB,UAAU,0EACb,sBAAI+B,KAAK,UAAU/B,UAAU,iBAC1BwB,EAAWjE,KAAI2E,IACd,MAAMR,EAAQX,EAAamB,GAC3B,OAAO,gBAACT,QAAD,CAASC,MAAOA,EAAOC,SAAUN,IAAgBK,EAAML,YAAac,IAAKD,SALlFD,kBAAAA,YAAAA,oBAeNA,kBAAkBnB,aAAe,CAC/BO,YAAa,SAGf,0BC5EMe,OAAS,EAAGC,SAAAA,EAAUrC,UAAAA,EAAWsC,YAAAA,MACrC,MAAMC,EAAYX,GAAAA,CAAW,YAAc,cAAaU,IAAetC,GACvE,OACE,yBAAOA,UAAWuC,EAAW,cALN,UAMrB,qBAAGvC,UAAU,mBAAmBqC,KAJhCD,OAAAA,YAAAA,SAeNA,OAAOtB,aAAe,CACpBuB,SAAU,aACVrC,UAAW,IAGb,eCzBawC,EACJ,QADIA,EAEM,mBAFNA,EAGK,kBAHLA,EAIO,oBAJPA,EAKM,mBALNA,EAMK,kBANLA,EAOI,iBAPJA,EAQI,wBARJA,EASE,sBATFA,EAUC,eAODC,EAAc,CACzB,CAACD,GAAiB,EAClB,CAACA,GAA2B,GAC5B,CAACA,GAA0B,GAC3B,CAACA,GAA4B,GAC7B,CAACA,GAA2B,GAC5B,CAACA,GAA0B,GAC3B,CAACA,GAAyB,GAC1B,CAACA,GAAyB,IAC1B,CAACA,GAAuB,IACxB,CAACA,GAAsB,GACvB,CAjBM,mBAiBW,IAGNE,EAAmB,CAACF,EAA0BA,EAA2BA,GAEzEG,EAAsB,CAACH,EAAwBA,EAA0BA,GAEzEI,EAAiB,CAACJ,EAAwBA,EAAsBA,GAIhEK,EAAqB,CAAC,KAAM,KAAM,KAAM,MAExCC,EAA2B,CACtC,CAACN,GAAyBA,EAC1B,CAACA,GAAuBA,GAIbO,EAAuB,CAACP,GAGxBQ,EAAsB1E,OAAO2E,OAAO,CAC/C,uBAAuB,EACvB,uBAAuB,IC/CnBC,WAAa,EAAGZ,YAAAA,EAAaa,iBAAAA,EAAkBC,MAAAA,GAAQ,MAC3D,MAAQC,GAASC,EAAAA,EAAAA,YAAWC,EAAAA,IAApBF,KACFG,EAAYf,EAAYH,GACxBtC,EAAY4B,GAAAA,CAAW,CAAC,kBAAoB,oBAAmBuB,MAC/DM,EAASJ,EAAKK,gBAAmB,iCAAgCF,IAAe,gBAChFG,EAAUN,EAAKK,gBAAkB,SAAW,UAElD,OACE,gBAAC,EAAAhD,OAAD,CAAQT,KAAMwD,EAAQzD,UAAWA,EAAW4D,WAAS,EAAC,cAAY,kBAAkBC,KAAMT,EAAQ,KAAO,MACtGO,IATDT,WAAAA,YAAAA,aAoBNA,WAAWpC,aAAe,CACxBsC,OAAO,GAGT,mB,uBC7BO,MAAMU,EAAmB,CAC9BC,QAASC,IAAAA,MAAgB,CACvBC,YAAaD,IAAAA,OAAAA,WACbE,MAAOF,IAAAA,OAAAA,aACNG,WACHC,QAASJ,IAAAA,QACPA,IAAAA,MAAgB,CACdK,QAASL,IAAAA,OAAAA,WACTM,KAAMN,IAAAA,OAAAA,cAERG,WACFI,QAASP,IAAAA,OAAAA,YASEQ,GANuBR,IAAAA,QAAkBA,IAAAA,MAAgBF,IAM/B,CACrC5C,MAAO8C,IAAAA,OAAAA,WACP9E,YAAa8E,IAAAA,OAAAA,aAGFS,EAAmB,CAC9BC,YAAaV,IAAAA,OAAAA,WACbW,QAASX,IAAAA,MAAgBQ,GAAyBL,WAClDS,OAAQZ,IAAAA,MAGGa,EAA0B,CACrCC,SAAUd,IAAAA,QAAkBA,IAAAA,MAAgBS,IAAmBN,WAC/DY,eAAgBf,IAAAA,KAAAA,WAChBgB,eAAgBhB,IAAAA,KAAAA,YAGLiB,GAA6B,CACxCC,OAAQlB,IAAAA,OAAAA,WACRc,SAAUd,IAAAA,SAAmBA,IAAAA,UAAoB,CAACA,IAAAA,KAAgBA,IAAAA,UAAoBG,WACtFgB,YAAanB,IAAAA,KAAAA,YAGFoB,GAAgC,CAC3CC,QAASrB,IAAAA,MAAgBa,GAAyBV,WAClDmB,WAAYtB,IAAAA,MAAgBiB,KAKjBM,IAFiCvB,IAAAA,SAAmBA,IAAAA,MAAgBoB,KAElC,CAC7ClE,MAAO8C,IAAAA,OAAAA,WACPW,QAASX,IAAAA,SAGEwB,GAA2CxB,IAAAA,SACtDA,IAAAA,MAAgBuB,KAGLE,GAAmC,CAC9CvE,MAAO8C,IAAAA,OAAAA,WACPc,SAAUU,GAAyCrB,YCxD/CuB,ID2DkC1B,IAAAA,QAAkBA,IAAAA,MAAgByB,KAEhCzB,IAAAA,UAAoB,CAACA,IAAAA,OAAkBA,IAAAA,OC7D3D,EACpBb,iBAAAA,EACAb,YAAAA,EACAqD,aAAAA,EACAC,WAAAA,EAAa,KACbC,UAAAA,EAAY,KACZX,OAAAA,EAAS,KACTY,WAAAA,EAAa,KACbC,YAAAA,EAAc,QAEd,0BAAQ/F,UAAU,qBAAqB,cAAY,yBACjD,gBAAC,EAAAM,WAAD,CACEG,UAAU,KACVF,QAAQ,eACRP,UAAU,oBACV,cAAY,6BAEX2F,GAEYC,GAAcC,EAC3B,gBAAC,EAAAvF,WAAD,CAAYG,UAAU,KAAKF,QAAQ,YAAY,cAAY,uBAAuBP,UAAU,oBAC1F,gBAAC,EAAAM,WAAD,CAAYG,UAAU,OAAOF,QAAQ,YAAYP,UAAU,2BACxD4F,GAEFC,GAdP,KAiBiBX,EACb,gBAAC,EAAA5E,WAAD,CACEG,UAAWmF,GAAcC,EAAY,KAAO,KAC5CtF,QAAQ,OACRP,UAAU,qBACV,cAAY,yBAEXkF,GAxBP,KA2BiBa,EACb,gBAACA,EAAD,MA5BJ,KA8BkBA,EA9BlB,KA+BI,gBAAC,EAAD,CAAYzD,YAAaA,EAAaa,iBAAkBA,IAE3C2C,EACb,gBAAC,EAAD,CAAQxD,YAAaa,GAAmB2C,GAlC5C,OAVIJ,GAAAA,YAAAA,gBA4DNA,GAAc5E,aAAe,CAC3B8E,WAAY,KACZC,UAAW,KACXX,OAAQ,KACRY,WAAY,KACZC,YAAa,MAGf,YCxEMC,qBAAuB,EAAG5C,MAAAA,GAAQ,KAEpC,gBAAC,EAAA1C,OAAD,CACEV,UAAU,8CACVC,KAAK,qBACL2D,WAAS,EACT,cAAY,4BACZC,KAAMT,EAAQ,KAAO,MALvB,cAFE4C,qBAAAA,YAAAA,uBAkBNA,qBAAqBlF,aAAe,CAClCsC,OAAO,GAGT,8BCnBM6C,wBAA0B,EAAGlC,QAAAA,EAAS+B,WAAAA,EAAa,QACvD,gBAAC,GAAD,CACE3C,iBAAiB,aACjBb,YAAY,aACZqD,aAAc5B,EAAQE,YAAYiC,cAClCH,YAAaC,GACbd,OAAO,wFACPY,WAAYA,IAPVG,wBAAAA,YAAAA,0BAmBNA,wBAAwBnF,aAAe,CACrCgF,WAAY,MAGd,iCClBO,SAASK,wBAAwBC,GACtC,OAAOA,EAAWlC,MAAMmC,OAAOC,QAAQ,MAAO,KAAKC,cAO9C,SAASC,kCAAkCpC,GAChD,MAAMqC,EALD,SAASC,qBAAqBtC,GACnC,OAAOuC,SAASvC,EAAQE,KAAM,IAAM,IAAM,GAItBoC,CAAqBtC,GACzC,OAAOwC,EAAAA,EAAAA,IAAgB,CACrBC,MAAOJ,EACPK,YAAa,WACbC,SAAU3C,EAAQ2C,SAAS9I,KAC3B+I,gBAAiB,SACjBC,sBAAuB,IAIpB,SAASC,2BAA2B9C,GACzC,OAAOwC,EAAAA,EAAAA,IAAgB,CACrBC,MAAOF,SAASvC,EAAQE,KAAM,IAAM,IACpCwC,YAAa,WACbC,SAAU3C,EAAQ2C,SAAS9I,KAC3B+I,gBAAiB,SACjBC,sBAAuB,IAIpB,SAASE,oBAAoBC,GAClC,OAAOA,EAASC,MAAKC,GAAuB,2BAAhBA,EAAIjD,UAsD3B,SAASkD,uBACd,OAlBK,SAASC,oBACd,MACiBC,GACbnE,EAAAA,EAAAA,YAAWC,EAAAA,IADbmE,YAAeD,YAEjB,OAAQ5E,EAAmB8E,SAASF,EAAYlB,eAcxCiB,GC/FH,MAAMI,IAA2BC,EAAAA,EAAAA,eAAc,MACzCC,GAA4BF,GAAyBG,SCY5DC,kBAAoB,EAAG1F,YAAAA,EAAa8E,SAAAA,EAAUrD,QAAAA,EAAS+B,WAAYmC,EAAqB,SAC5F,MAAM9E,EAAmBgD,wBAAwBpC,GAC3CmE,EAAef,oBAAoBC,GACnCe,EAAiB3B,kCAAkC0B,GACnDE,GAAc9E,EAAAA,EAAAA,YAAWsE,IAE/B,IAAKQ,EACH,OAAO,KAIT,IAAItC,EAAamC,EACjB,IAAKnC,IAA6B,IAAfA,EAAsB,CACvC,MAAMuC,EAAwBvF,EAAyBR,GACvD,GAAI+F,EAAuB,CACzB,MAEMC,EFmBL,SAASC,wBAAwBC,EAAiBC,GACvD,IAAIC,EAAS,EACb,MAAMC,EAAiBH,EAAgBlE,KAAOmE,EAAkBnE,KAOhE,OAJIqE,EAAiB,IACnBD,EAASE,KAAKC,MAAOF,EAAiBH,EAAgBlE,KAAQ,MAGzDoE,EE5BuBH,CADCpB,oBADDiB,EAAYf,MAAKjB,GAAcA,EAAW7B,UAAY8D,IACfjE,SACK8D,GACtEpC,EAAawC,EAAoB,EAAK,QAAOA,OAAyB,MAI1E,OACE,gBAAC,GAAD,CACEnF,iBAAkBA,EAClBb,YAAaA,EACbqD,aAAc5B,EAAQE,YAAYiC,cAClCN,WAAYuC,EACZtC,UAAU,kBACVX,OAAO,uCACPY,WAAYA,KA9BZkC,kBAAAA,YAAAA,oBAkDNA,kBAAkBlH,aAAe,CAC/BgF,WAAY,MAGd,2BCvDMgD,oBAAsB,EAAGxG,YAAAA,EAAa8E,SAAAA,EAAUrD,QAAAA,EAAS+B,WAAYmC,EAAqB,SAC9F,MAAM9E,EAAmBgD,wBAAwBpC,GAC3CmE,EAAef,oBAAoBC,GACnC2B,EAAwBvC,kCAAkC0B,GAC1Dc,EAAuB9B,2BAA2BgB,GAIxD,IAAIpC,EAAamC,EAMjB,OALoBlF,EAAqBkG,QAAQ3G,IAAgB,IAC7CwD,IAA6B,IAAfA,IAChCA,EAAa,cAIb,gBAAC,GAAD,CACE3C,iBAAkBA,EAClBb,YAAaA,EACbqD,aAAc5B,EAAQE,YAAYiC,cAClCN,WAAYmD,EACZlD,UAAU,WACVX,OAAS,OAAM8D,aACflD,WAAYA,KAtBZgD,oBAAAA,YAAAA,sBA0CNA,oBAAoBhI,aAAe,CACjCgF,WAAY,MAGd,6BCpDMoD,qBAAuB,EAAG5G,YAAAA,EAAa8E,SAAAA,EAAUrD,QAAAA,EAAS+B,WAAAA,EAAa,SAC3E,MAAM3C,EAAmBgD,wBAAwBpC,GAE3CgF,EAAwB7B,2BADTC,oBAAoBC,IAGzC,OACE,gBAAC,GAAD,CACEjE,iBAAkBA,EAClBb,YAAaA,EACbqD,aAAc5B,EAAQE,YAAYiC,cAClCN,WAAYmD,EACZlD,UAAU,WACVC,WAAYA,KAZZoD,qBAAAA,YAAAA,uBAgCNA,qBAAqBpI,aAAe,CAClCgF,WAAY,MAGd,8BC42CA,GAz4C8B,CAC5BqD,oBAAqB,CACnBzE,YAAa,oBACbC,QAAS,CACPzD,MAAO,oBACPhC,YAAa,0DAGjBkK,uBAAwB,CACtB1E,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,waAGNmK,qCAAsC,CACpC3E,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,seAGNoK,SAAU,CACR5E,YAAa,YACbC,QAAS,CACPzD,MAAO,YACPhC,YACE,mJAGNqK,uBAAwB,CACtB7E,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YACE,mJAGNsK,wBAAyB,CACvB9E,YAAa,kCACbC,QAAS,CACPzD,MAAO,kCACPhC,YACE,0JAGNuK,cAAe,CACb/E,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YACE,iJAGNwK,UAAW,CACThF,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,oNAGNyK,qBAAsB,CACpBjF,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YAAa,mFAGjB0K,uBAAwB,CACtBlF,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YAAa,oEAGjB2K,yBAA0B,CACxBnF,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YAAa,8DAGjB4K,iBAAkB,CAChBpF,YAAa,mBACbC,QAAS,CACPzD,MAAO,mBACPhC,YAAa,yFAGjB6K,YAAa,CACXrF,YAAa,gBACbC,QAAS,CACPzD,MAAO,gBACPhC,YAAa,2FAGjB8K,qBAAsB,CACpBtF,YAAa,iBACbC,QAAS,CACPzD,MAAO,iBACPhC,YAAa,sGAGjB+K,4BAA6B,CAC3BvF,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YAAa,kEAGjBgL,eAAgB,CACdxF,YAAa,iBACbC,QAAS,CACPzD,MAAO,iBACPhC,YAAa,oGAGjBiL,qBAAsB,CACpBzF,YAAa,mBACbC,QAAS,CACPzD,MAAO,mBACPhC,YACE,0KAGNkL,qBAAsB,CACpB1F,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YAAa,sEAGjBmL,yBAA0B,CACxB3F,YAAa,8BACbC,QAAS,CACPzD,MAAO,8BACPhC,YACE,uIAGNoL,wBAAyB,CACvB5F,YAAa,0BACbC,QAAS,CACPzD,MAAO,0BACPhC,YACE,sKAGNqL,0BAA2B,CACzB7F,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,+GAGNsL,yBAA0B,CACxB9F,YAAa,uCACbC,QAAS,CACPzD,MAAO,uCACPhC,YACE,kIAGNuL,iBAAkB,CAChB/F,YAAa,mCACbC,QAAS,CACPzD,MAAO,mCACPhC,YACE,2IAGNwL,0BAA2B,CACzBhG,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,4JAGNyL,yBAA0B,CACxBjG,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,qIAGN0L,YAAa,CACXlG,YAAa,cACbC,QAAS,CACPzD,MAAO,cACPhC,YACE,gIAGN2L,eAAgB,CACdnG,YAAa,wBACbC,QAAS,CACPzD,MAAO,wBACPhC,YACE,+PAGN4L,6BAA8B,CAC5BpG,YAAa,gCACbC,QAAS,CACPzD,MAAO,gCACPhC,YACE,kHAGN6L,YAAa,CACXrG,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YACE,mHAGN8L,sBAAuB,CACrBtG,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YAAa,uFAGjB+L,gCAAiC,CAC/BvG,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,4NAGNgM,oBAAqB,CACnBxG,YAAa,gBACbC,QAAS,CACPzD,MAAO,gBACPhC,YAAa,+FAGjBiM,4BAA6B,CAC3BzG,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,6KAGNkM,+BAAgC,CAC9B1G,YAAa,0BACbC,QAAS,CACPzD,MAAO,0BACPhC,YAAa,yFAGjBmM,8BAA+B,CAC7B3G,YAAa,gCACbC,QAAS,CACPzD,MAAO,gCACPhC,YACE,iHAGNoM,sBAAuB,CACrB5G,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,+GAGNqM,cAAe,CACb7G,YAAa,0BACbC,QAAS,CACPzD,MAAO,0BACPhC,YACE,4TAGNsM,iCAAkC,CAChC9G,YAAa,6BACbC,QAAS,CACPzD,MAAO,6BACPhC,YACE,6GAGNuM,gCAAiC,CAC/B/G,YAAa,mBACbC,QAAS,CACPzD,MAAO,mBACPhC,YACE,2IAGNwM,8BAA+B,CAC7BhH,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,+NAGNyM,+BAAgC,CAC9BjH,YAAa,oBACbC,QAAS,CACPzD,MAAO,oBACPhC,YAAa,iDAGjB0M,uBAAwB,CACtBlH,YAAa,cACbC,QAAS,CACPzD,MAAO,cACPhC,YAAa,0EAGjB2M,gBAAiB,CACfnH,YAAa,6BACbC,QAAS,CACPzD,MAAO,6BACPhC,YACE,mKAGN4M,WAAY,CACVpH,YAAa,cACbC,QAAS,CACPzD,MAAO,cACPhC,YACE,uLAGN6M,wBAAyB,CACvBrH,YAAa,qCACbC,QAAS,CACPzD,MAAO,qCACPhC,YACE,sJAGN8M,cAAe,CACbtH,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,2HAGN+M,mBAAoB,CAClBvH,YAAa,qBACbC,QAAS,CACPzD,MAAO,qBACPhC,YACE,yIAGNgN,UAAW,CACTxH,YAAa,YACbC,QAAS,CACPzD,MAAO,YACPhC,YACE,gIAGNiN,8BAA+B,CAC7BzH,YAAa,iCACbC,QAAS,CACPzD,MAAO,iCACPhC,YAAa,gEAGjBkN,yBAA0B,CACxB1H,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YAAa,2FAGjBmN,WAAY,CACV3H,YAAa,iCACbC,QAAS,CACPzD,MAAO,iCACPhC,YACE,+KAGNoN,gBAAiB,CACf5H,YAAa,oBACbC,QAAS,CACPzD,MAAO,oBACPhC,YAAa,0FAGjBqN,yBAA0B,CACxB7H,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YAAa,4FAGjBsN,2BAA4B,CAC1B9H,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,0GAGNuN,gCAAiC,CAC/B/H,YAAa,kCACbC,QAAS,CACPzD,MAAO,kCACPhC,YACE,4HAGNwN,kCAAmC,CACjChI,YAAa,oCACbC,QAAS,CACPzD,MAAO,oCACPhC,YACE,mIAGNyN,+BAAgC,CAC9BjI,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YACE,mQAGN0N,cAAe,CACblI,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,6GAGN2N,aAAc,CACZnI,YAAa,eACbC,QAAS,CACPzD,MAAO,eACPhC,YAAa,wEAGjB4N,WAAY,CACVpI,YAAa,aACbC,QAAS,CACPzD,MAAO,aACPhC,YAAa,qEAGjB6N,qBAAsB,CACpBrI,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YACE,uKAGN8N,aAAc,CACZtI,YAAa,eACbC,QAAS,CACPzD,MAAO,eACPhC,YAAa,sFAGjB+N,WAAY,CACVvI,YAAa,wBACbC,QAAS,CACPzD,MAAO,wBACPhC,YAAa,8EAGjBgO,aAAc,CACZxI,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YACE,oKAGNiO,YAAa,CACXzI,YAAa,cACbC,QAAS,CACPzD,MAAO,cACPhC,YACE,sTAGNkO,kBAAmB,CACjB1I,YAAa,oBACbC,QAAS,CACPzD,MAAO,oBACPhC,YACE,+UAGNmO,oBAAqB,CACnB3I,YAAa,mCACbC,QAAS,CACPzD,MAAO,mCACPhC,YACE,0MAGNoO,qBAAsB,CACpB5I,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YACE,mIAGNqO,sBAAuB,CACrB7I,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YAAa,8FAGjBsO,iBAAkB,CAChB9I,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,4JAGNuO,cAAe,CACb/I,YAAa,4BACbC,QAAS,CACPzD,MAAO,4BACPhC,YACE,gIAGNwO,eAAgB,CACdhJ,YAAa,iBACbC,QAAS,CACPzD,MAAO,iBACPhC,YACE,oNAGNyO,iBAAkB,CAChBjJ,YAAa,mBACbC,QAAS,CACPzD,MAAO,mBACPhC,YACE,6GAGN0O,8BAA+B,CAC7BlJ,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,6MAGN2O,2BAA4B,CAC1BnJ,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YACE,gNAGN4O,6BAA8B,CAC5BpJ,YAAa,gBACbC,QAAS,CACPzD,MAAO,gBACPhC,YACE,6LAGN6O,2BAA4B,CAC1BrJ,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YACE,0JAGN8O,eAAgB,CACdtJ,YAAa,iBACbC,QAAS,CACPzD,MAAO,iBACPhC,YACE,qIAGN+O,2BAA4B,CAC1BvJ,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YACE,wJAGNgP,mCAAoC,CAClCxJ,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YAAa,uFAGjBiP,wBAAyB,CACvBzJ,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,iIAGNkP,4BAA6B,CAC3B1J,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,iLAGNmP,wBAAyB,CACvB3J,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YACE,oLAGNoP,wCAAyC,CACvC5J,YAAa,kCACbC,QAAS,CACPzD,MAAO,kCACPhC,YACE,sQAGNqP,6CAA8C,CAC5C7J,YAAa,kCACbC,QAAS,CACPzD,MAAO,kCACPhC,YACE,4LAGNsP,gCAAiC,CAC/B9J,YAAa,0DACbC,QAAS,CACPzD,MAAO,0DACPhC,YACE,ycAGNuP,qCAAsC,CACpC/J,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,mQAGNwP,8BAA+B,CAC7BhK,YAAa,wBACbC,QAAS,CACPzD,MAAO,wBACPhC,YACE,2JAGNyP,2BAA4B,CAC1BjK,YAAa,qBACbC,QAAS,CACPzD,MAAO,qBACPhC,YACE,yIAGN0P,qBAAsB,CACpBlK,YAAa,eACbC,QAAS,CACPzD,MAAO,eACPhC,YACE,2SAGN2P,wBAAyB,CACvBnK,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YACE,gaAGN4P,sCAAuC,CACrCpK,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,oHAGN6P,+BAAgC,CAC9BrK,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YACE,yNAGN8P,2BAA4B,CAC1BtK,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YAAa,oEAGjB+P,sBAAuB,CACrBvK,YAAa,qBACbC,QAAS,CACPzD,MAAO,qBACPhC,YACE,gLAGNgQ,mCAAoC,CAClCxK,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YAAa,8DAGjBiQ,oCAAqC,CACnCzK,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YACE,0KAGNkQ,4BAA6B,CAC3B1K,YAAa,iBACbC,QAAS,CACPzD,MAAO,iBACPhC,YAAa,sGAGjBmQ,mCAAoC,CAClC3K,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YACE,8HAGNoQ,4CAA6C,CAC3C5K,YAAa,eACbC,QAAS,CACPzD,MAAO,eACPhC,YACE,0IAGNqQ,yCAA0C,CACxC7K,YAAa,oBACbC,QAAS,CACPzD,MAAO,oBACPhC,YAAa,6EAGjBsQ,qCAAsC,CACpC9K,YAAa,kCACbC,QAAS,CACPzD,MAAO,kCACPhC,YACE,kOAGNuQ,qBAAsB,CACpB/K,YAAa,UACbC,QAAS,CACPzD,MAAO,UACPhC,YACE,2TAGNwQ,mCAAoC,CAClChL,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,6RAGNyQ,yBAA0B,CACxBjL,YAAa,qBACbC,QAAS,CACPzD,MAAO,qBACPhC,YACE,2RAGN0Q,wBAAyB,CACvBlL,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,kTAGN2Q,0BAA2B,CACzBnL,YAAa,eACbC,QAAS,CACPzD,MAAO,eACPhC,YACE,mOAGN4Q,8BAA+B,CAC7BpL,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,2OAGN6Q,iCAAkC,CAChCrL,YAAa,mCACbC,QAAS,CACPzD,MAAO,mCACPhC,YACE,0MAGN8Q,mCAAoC,CAClCtL,YAAa,wBACbC,QAAS,CACPzD,MAAO,wBACPhC,YACE,+PAGN+Q,iCAAkC,CAChCvL,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,4NAGNgR,yBAA0B,CACxBxL,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,+NAGNiR,0BAA2B,CACzBzL,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YACE,oKAGNkR,iCAAkC,CAChC1L,YAAa,6BACbC,QAAS,CACPzD,MAAO,6BACPhC,YACE,6GAGNmR,wCAAyC,CACvC3L,YAAa,gBACbC,QAAS,CACPzD,MAAO,gBACPhC,YACE,kJAGNoR,wBAAyB,CACvB5L,YAAa,wBACbC,QAAS,CACPzD,MAAO,wBACPhC,YAAa,8EAGjBqR,sCAAuC,CACrC7L,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YACE,8OAGNsR,iCAAkC,CAChC9L,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YAAa,mFAGjBuR,6BAA8B,CAC5B/L,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,iLAGNwR,6BAA8B,CAC5BhM,YAAa,6BACbC,QAAS,CACPzD,MAAO,6BACPhC,YACE,qKAGNyR,mCAAoC,CAClCjM,YAAa,eACbC,QAAS,CACPzD,MAAO,eACPhC,YACE,iKAGN0R,kCAAmC,CACjClM,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YACE,iHAGN2R,6BAA8B,CAC5BnM,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YACE,gNAGN4R,uCAAwC,CACtCpM,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YACE,0JAGN6R,0CAA2C,CACzCrM,YAAa,0BACbC,QAAS,CACPzD,MAAO,0BACPhC,YACE,6LAGN8R,iBAAkB,CAChBtM,YAAa,iBACbC,QAAS,CACPzD,MAAO,iBACPhC,YACE,qIAGN+R,wBAAyB,CACvBvM,YAAa,gBACbC,QAAS,CACPzD,MAAO,gBACPhC,YACE,6LAGNgS,sCAAuC,CACrCxM,YAAa,mBACbC,QAAS,CACPzD,MAAO,mBACPhC,YACE,6MAGNiS,8CAA+C,CAC7CzM,YAAa,mBACbC,QAAS,CACPzD,MAAO,mBACPhC,YACE,2LAGNkS,0BAA2B,CACzB1M,YAAa,oBACbC,QAAS,CACPzD,MAAO,oBACPhC,YAAa,2FAGjBmS,6BAA8B,CAC5B3M,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YACE,6JAGNoS,4BAA6B,CAC3B5M,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,waAGNqS,0CAA2C,CACzC7M,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,seAGNsS,yBAA0B,CACxB9M,YAAa,kCACbC,QAAS,CACPzD,MAAO,kCACPhC,YACE,sQAGNuS,uCAAwC,CACtC/M,YAAa,kCACbC,QAAS,CACPzD,MAAO,kCACPhC,YACE,6QAGNwS,iCAAkC,CAChChN,YAAa,6BACbC,QAAS,CACPzD,MAAO,6BACPhC,YACE,sQAGNyS,uCAAwC,CACtCjN,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YAAa,kEAGjB0S,sBAAuB,CACrBlN,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YACE,iJAGN2S,gBAAiB,CACfnN,YAAa,wCACbC,QAAS,CACPzD,MAAO,wCACPhC,YACE,2TAGN4S,8BAA+B,CAC7BpN,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,6RAGN6S,qBAAsB,CACpBrN,YAAa,eACbC,QAAS,CACPzD,MAAO,eACPhC,YACE,oKAGN8S,2BAA4B,CAC1BtN,YAAa,qBACbC,QAAS,CACPzD,MAAO,qBACPhC,YACE,2RAGN+S,qBAAsB,CACpBvN,YAAa,eACbC,QAAS,CACPzD,MAAO,eACPhC,YACE,mOAGNgT,qCAAsC,CACpCxN,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,kTAGNiT,oBAAqB,CACnBzN,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YACE,mHAGNkT,mBAAoB,CAClB1N,YAAa,qCACbC,QAAS,CACPzD,MAAO,qCACPhC,YACE,mHAGNmT,4BAA6B,CAC3B3N,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,4NAGNoT,eAAgB,CACd5N,YAAa,kBACbC,QAAS,CACPzD,MAAO,kBACPhC,YAAa,uFAGjBqT,yBAA0B,CACxB7N,YAAa,mBACbC,QAAS,CACPzD,MAAO,mBACPhC,YACE,2IAGNsT,oBAAqB,CACnB9N,YAAa,cACbC,QAAS,CACPzD,MAAO,cACPhC,YACE,gIAGNuT,iCAAkC,CAChC/N,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YAAa,2FAGjBwT,uCAAwC,CACtChO,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YACE,yNAGNyT,4BAA6B,CAC3BjO,YAAa,mCACbC,QAAS,CACPzD,MAAO,mCACPhC,YACE,0MAGN0T,uBAAwB,CACtBlO,YAAa,wBACbC,QAAS,CACPzD,MAAO,wBACPhC,YACE,+PAGN2T,sCAAuC,CACrCnO,YAAa,sBACbC,QAAS,CACPzD,MAAO,sBACPhC,YACE,+NAGN4T,qBAAsB,CACpBpO,YAAa,uBACbC,QAAS,CACPzD,MAAO,uBACPhC,YACE,oKAGN6T,sBAAuB,CACrBrO,YAAa,gBACbC,QAAS,CACPzD,MAAO,gBACPhC,YAAa,2FAGjB8T,iCAAkC,CAChCtO,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,2OAGN+T,uCAAwC,CACtCvO,YAAa,gBACbC,QAAS,CACPzD,MAAO,gBACPhC,YAAa,mGAGjBgU,eAAgB,CACdxO,YAAa,6BACbC,QAAS,CACPzD,MAAO,6BACPhC,YACE,mIAGNiU,iBAAkB,CAChBzO,YAAa,uCACbC,QAAS,CACPzD,MAAO,uCACPhC,YACE,gHAGNkU,sBAAuB,CACrB1O,YAAa,gBACbC,QAAS,CACPzD,MAAO,gBACPhC,YAAa,8FAGjBmU,sBAAuB,CACrB3O,YAAa,0BACbC,QAAS,CACPzD,MAAO,0BACPhC,YACE,4TAGNoU,iCAAkC,CAChC5O,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,qIAGNqU,sCAAuC,CACrC7O,YAAa,gCACbC,QAAS,CACPzD,MAAO,gCACPhC,YACE,8VAGNsU,mCAAoC,CAClC9O,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YACE,2JAGNuU,gCAAiC,CAC/B/O,YAAa,2CACbC,QAAS,CACPzD,MAAO,2CACPhC,YACE,2RAGNwU,0BAA2B,CACzBhP,YAAa,eACbC,QAAS,CACPzD,MAAO,eACPhC,YAAa,qFAGjByU,oCAAqC,CACnCjP,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YAAa,8DAGjB0U,+BAAgC,CAC9BlP,YAAa,iCACbC,QAAS,CACPzD,MAAO,iCACPhC,YAAa,+EAGjB2U,wBAAyB,CACvBnP,YAAa,aACbC,QAAS,CACPzD,MAAO,aACPhC,YAAa,6EAGjB4U,2BAA4B,CAC1BpP,YAAa,gBACbC,QAAS,CACPzD,MAAO,gBACPhC,YAAa,yFAGjB6U,sCAAuC,CACrCrP,YAAa,2BACbC,QAAS,CACPzD,MAAO,2BACPhC,YACE,yGAGN8U,qBAAsB,CACpBtP,YAAa,yBACbC,QAAS,CACPzD,MAAO,yBACPhC,YAAa,mEAGjB+U,yCAA0C,CACxCvP,YAAa,gCACbC,QAAS,CACPzD,MAAO,gCACPhC,YACE,kHAGNgV,2BAA4B,CAC1BxP,YAAa,0BACbC,QAAS,CACPzD,MAAO,0BACPhC,YACE,4TAGNiV,yBAA0B,CACxBzP,YAAa,4BACbC,QAAS,CACPzD,MAAO,4BACPhC,YAAa,yEAGjBkV,gCAAiC,CAC/B1P,YAAa,qBACbC,QAAS,CACPzD,MAAO,qBACPhC,YAAa,mFAGjBmV,6BAA8B,CAC5B3P,YAAa,oCACbC,QAAS,CACPzD,MAAO,oCACPhC,YACE,+HAGNoV,8BAA+B,CAC7B5P,YAAa,qCACbC,QAAS,CACPzD,MAAO,qCACPhC,YAAa,oFAGjBqV,2BAA4B,CAC1B7P,YAAa,qCACbC,QAAS,CACPzD,MAAO,qCACPhC,YAAa,4EAGjBsV,0BAA2B,CACzB9P,YAAa,+BACbC,QAAS,CACPzD,MAAO,+BACPhC,YAAa,uEAGjBuV,2BAA4B,CAC1B/P,YAAa,qBACbC,QAAS,CACPzD,MAAO,qBACPhC,YAAa,sDC1xBnB,GA/mBsD,CACpD,CAACsD,GAA2B,CAC1B,CACEkC,YAAa,yCACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,8BACbC,QAAS+P,GAAAA,0BAAAA,SAEX,CACEhQ,YAAa,iCACbC,QAAS+P,GAAAA,6BAAAA,SAEX,CACEhQ,YAAa,iCACbC,QAAS+P,GAAAA,4BAAAA,SAEX,CACEhQ,YAAa,8BACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,6BACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,uCAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,gBAAAA,SAEX,CACEhQ,YAAa,sCACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,oCACbC,QAAS+P,GAAAA,qBAAAA,SAEX,CACEhQ,YAAa,kBACbC,QAAS+P,GAAAA,qCAAAA,SAEX,CACEhQ,YAAa,gBACbC,QAAS+P,GAAAA,iCAAAA,UAGb,CAAClS,GAA0B,CACzB,CACEkC,YAAa,yCACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,8BACbC,QAAS+P,GAAAA,0BAAAA,SAEX,CACEhQ,YAAa,iCACbC,QAAS+P,GAAAA,6BAAAA,SAEX,CACEhQ,YAAa,iCACbC,QAAS+P,GAAAA,4BAAAA,SAEX,CACEhQ,YAAa,8BACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,6BACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,uCAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,gBAAAA,SAEX,CACEhQ,YAAa,sCACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,oCACbC,QAAS+P,GAAAA,qBAAAA,SAEX,CACEhQ,YAAa,kBACbC,QAAS+P,GAAAA,qCAAAA,SAEX,CACEhQ,YAAa,gBACbC,QAAS+P,GAAAA,iCAAAA,UAGb,CAAClS,GAA2B,CAC1B,CACEkC,YAAa,kBACbC,QAAS+P,GAAAA,wBAAAA,SAEX,CACEhQ,YAAa,0BACbC,QAAS+P,GAAAA,sBAAAA,SAEX,CACEhQ,YAAa,yCACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,8BACbC,QAAS+P,GAAAA,0BAAAA,SAEX,CACEhQ,YAAa,iCACbC,QAAS+P,GAAAA,6BAAAA,SAEX,CACEhQ,YAAa,iCACbC,QAAS+P,GAAAA,4BAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,uCAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,gBAAAA,SAEX,CACEhQ,YAAa,sCACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,oCACbC,QAAS+P,GAAAA,qBAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,8BAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,qCAAAA,SAEX,CACEhQ,YAAa,2CACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YACE,mHACFC,QAAS+P,GAAAA,uCAAAA,SAEX,CACEhQ,YAAa,mBACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,cACbC,QAAS+P,GAAAA,oBAAAA,SAEX,CACEhQ,YAAa,qCACbC,QAAS+P,GAAAA,oBAAAA,SAEX,CACEhQ,YAAa,mCACbC,QAAS+P,GAAAA,4BAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,qBAAAA,UAGb,CAAClS,GAAyB,CACxB,CACEkC,YAAa,kBACbC,QAAS+P,GAAAA,wBAAAA,SAEX,CACEhQ,YAAa,0BACbC,QAAS+P,GAAAA,sBAAAA,SAEX,CACEhQ,YAAa,yCACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,8BACbC,QAAS+P,GAAAA,0BAAAA,SAEX,CACEhQ,YAAa,iCACbC,QAAS+P,GAAAA,6BAAAA,SAEX,CACEhQ,YAAa,iCACbC,QAAS+P,GAAAA,4BAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,+CACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,uCAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,gBAAAA,SAEX,CACEhQ,YAAa,sCACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,oCACbC,QAAS+P,GAAAA,qBAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,8BAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,qCAAAA,SAEX,CACEhQ,YAAa,2CACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,qBACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,YACbC,QAAS+P,GAAAA,SAAAA,SAEX,CACEhQ,YAAa,kDACbC,QAAS+P,GAAAA,8BAAAA,SAEX,CACEhQ,YACE,mHACFC,QAAS+P,GAAAA,uCAAAA,SAEX,CACEhQ,YAAa,cACbC,QAAS+P,GAAAA,oBAAAA,SAEX,CACEhQ,YAAa,mDACbC,QAAS+P,GAAAA,uBAAAA,SAEX,CACEhQ,YAAa,qCACbC,QAAS+P,GAAAA,oBAAAA,SAEX,CACEhQ,YAAa,mBACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,sBACbC,QAAS+P,GAAAA,sCAAAA,SAEX,CACEhQ,YAAa,mCACbC,QAAS+P,GAAAA,4BAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,qBAAAA,UAGb,CAAClS,GAAyB,CACxB,CACEkC,YAAa,8DACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,mCACbC,QAAS+P,GAAAA,sBAAAA,SAEX,CACEhQ,YAAa,uDACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,2CACbC,QAAS+P,GAAAA,oCAAAA,SAEX,CACEhQ,YAAa,4CACbC,QAAS+P,GAAAA,4BAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,oDACbC,QAAS+P,GAAAA,4CAAAA,SAEX,CACEhQ,YAAa,8CACbC,QAAS+P,GAAAA,yCAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,qCAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,qBAAAA,SAEX,CACEhQ,YAAa,sCACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,wBAAAA,SAEX,CACEhQ,YAAa,8CACbC,QAAS+P,GAAAA,0BAAAA,SAEX,CACEhQ,YAAa,kBACbC,QAAS+P,GAAAA,wBAAAA,SAEX,CACEhQ,YAAa,4BACbC,QAAS+P,GAAAA,8BAAAA,SAEX,CACEhQ,YAAa,mCACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,0BAAAA,QAET,aACE,OAAOnN,0BAIb,CAAC/E,GAAuB,CACtB,CACEkC,YAAa,8DACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,mCACbC,QAAS+P,GAAAA,sBAAAA,SAEX,CACEhQ,YAAa,uDACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,2CACbC,QAAS+P,GAAAA,oCAAAA,SAEX,CACEhQ,YAAa,4CACbC,QAAS+P,GAAAA,4BAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,oDACbC,QAAS+P,GAAAA,4CAAAA,SAEX,CACEhQ,YAAa,8CACbC,QAAS+P,GAAAA,yCAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,qCAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,qBAAAA,SAEX,CACEhQ,YAAa,sCACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,wBAAAA,SAEX,CACEhQ,YAAa,8CACbC,QAAS+P,GAAAA,0BAAAA,SAEX,CACEhQ,YAAa,kBACbC,QAAS+P,GAAAA,wBAAAA,SAEX,CACEhQ,YAAa,4BACbC,QAAS+P,GAAAA,8BAAAA,SAEX,CACEhQ,YAAa,qBACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,YACbC,QAAS+P,GAAAA,SAAAA,SAEX,CACEhQ,YAAa,kDACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,mCACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,8BACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,sBACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,sBACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,0BAAAA,SAEX,CACEhQ,YAAa,6BACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,6BACbC,QAAS+P,GAAAA,wCAAAA,SAEX,CACEhQ,YAAa,6CACbC,QAAS+P,GAAAA,wBAAAA,UAGb,CAAClS,GAAsB,CACrB,CACEkC,YAAa,8DACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,mCACbC,QAAS+P,GAAAA,sBAAAA,SAEX,CACEhQ,YAAa,uDACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,2CACbC,QAAS+P,GAAAA,oCAAAA,SAEX,CACEhQ,YAAa,4CACbC,QAAS+P,GAAAA,4BAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,oDACbC,QAAS+P,GAAAA,4CAAAA,SAEX,CACEhQ,YAAa,8CACbC,QAAS+P,GAAAA,yCAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,qCAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,qBAAAA,SAEX,CACEhQ,YAAa,sCACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,+BACbC,QAAS+P,GAAAA,wBAAAA,SAEX,CACEhQ,YAAa,8CACbC,QAAS+P,GAAAA,0BAAAA,SAEX,CACEhQ,YAAa,kBACbC,QAAS+P,GAAAA,wBAAAA,SAEX,CACEhQ,YAAa,4BACbC,QAAS+P,GAAAA,8BAAAA,SAEX,CACEhQ,YAAa,qBACbC,QAAS+P,GAAAA,2BAAAA,SAEX,CACEhQ,YAAa,YACbC,QAAS+P,GAAAA,SAAAA,SAEX,CACEhQ,YAAa,kDACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,mCACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,8BACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,sBACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,sBACbC,QAAS+P,GAAAA,yBAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,0BAAAA,SAEX,CACEhQ,YAAa,6BACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,6BACbC,QAAS+P,GAAAA,wCAAAA,SAEX,CACEhQ,YAAa,yBACbC,QAAS+P,GAAAA,kCAAAA,SAEX,CACEhQ,YAAa,yCACbC,QAAS+P,GAAAA,iCAAAA,SAEX,CACEhQ,YAAa,6BACbC,QAAS+P,GAAAA,6BAAAA,SAEX,CACEhQ,YAAa,6BACbC,QAAS+P,GAAAA,6BAAAA,SAEX,CACEhQ,YAAa,+DACbC,QAAS+P,GAAAA,mCAAAA,SAEX,CACEhQ,YAAa,sCACbC,QAAS+P,GAAAA,6BAAAA,SAEX,CACEhQ,YAAa,gCACbC,QAAS+P,GAAAA,uCAAAA,SAEX,CACEhQ,YAAa,4CACbC,QAAS+P,GAAAA,0CAAAA,SAEX,CACEhQ,YAAa,uBACbC,QAAS+P,GAAAA,iBAAAA,SAEX,CACEhQ,YAAa,uCACbC,QAAS+P,GAAAA,wBAAAA,SAEX,CACEhQ,YAAa,qCACbC,QAAS+P,GAAAA,sCAAAA,W,+lBCtmBf,MAAMC,GAA6C,CAEjDC,mBAAmB,EACnBC,qBAAqB,EACrBC,qBAAqB,EACrBC,sBAAsB,EAGtBC,eAAe,EAGf3K,0BAA0B,EAC1B4K,kBAAkB,EAClBC,SAAS,EACTC,0BAA0B,EAC1BC,6BAA6B,EAC7BC,mBAAmB,EACnBC,kBAAkB,EAClB1K,aAAa,EACb2K,iBAAiB,EAGjBC,wBAAwB,EACxBC,sBAAsB,EAGtBrI,mBAAmB,EACnBsI,2BAA2B,EAC3BC,iBAAiB,EACjBC,mBAAmB,EACnBC,oBAAoB,EAGpBC,aAAa,EACbC,oBAAoB,EACpBC,gBAAgB,EAChB5J,0BAA0B,EAC1B6J,cAAc,EACdC,aAAa,EACbC,oBAAoB,EACpB9I,qBAAqB,EAGrB+I,gBAAgB,EAChBC,6BAA6B,EAC7BC,0BAA0B,EAC1BC,cAAc,EACdC,kBAAkB,EAClBC,uBAAuB,EAGvBC,mBAAmB,EAGnBC,oBAAoB,EACpBC,WAAW,EACXC,YAAY,GAGRC,GAA0C,cAAH,iBAExCnC,IAFwC,IAK3CoC,eAAe,EAGfC,0BAA0B,EAC1BC,qBAAqB,EACrBC,sBAAsB,EAGtBC,eAAe,EAGfC,mBAAmB,EACnBC,kBAAkB,EAGlBpL,oBAAoB,EACpBqL,WAAW,EAGXC,YAAY,IAGRC,GAAwC,cAAH,iBAEtCV,IAFsC,IAKzCW,0BAA0B,EAG1B9J,kBAAkB,EAClB+J,cAAc,EACdC,cAAc,EACdrK,sBAAsB,EAGtBsK,wBAAwB,EACxBC,qBAAqB,EACrBC,kBAAkB,EAGlBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EAGjBC,YAAY,EACZC,iBAAiB,EAGjBC,mBAAmB,EACnBC,eAAe,EACfC,iBAAiB,IAanB,GANoE,CAClE,CAAC9V,GAAyBmS,GAC1B,CAACnS,GAAuBsU,GACxB,CAACtU,GAAsBgV,ICWzB,GAhE4ClZ,OAAO2E,OAAO,CAExD,CAACT,GAA2B,CAC1B6C,QAAS,CACPP,SAAUyT,GAAiB/V,GAC3BuC,eAAgBmE,GAChBlE,eAAgB9B,IAGpB,CAACV,GAA2B,CAC1B6C,QAAS,CACPP,SAAUyT,GAAiB/V,GAC3BuC,eAAgB+D,GAChB9D,eAAgB9B,EAChBsV,aAAa,IAGjB,CAAChW,GAAyB,CACxB6C,QAAS,CACPP,SAAUyT,GAAiB/V,GAC3BuC,eAAgB+D,GAChB9D,eAAgB9B,IAKpB,CAACV,GAAyB,CACxB6C,QAAS,CACPP,SAAUyT,GAAiB/V,GAC3BuC,eAAgBiD,GAChBhD,eAAgB9B,GAElBoC,WAAY,CACVJ,OAAQ,oBACRJ,SAAU2T,GAAiCjW,GAC3C2C,YAAajC,IAGjB,CAACV,GAAuB,CACtB6C,QAAS,CACPP,SAAUyT,GAAiB/V,GAC3BuC,eAAgBiD,GAChBhD,eAAgB9B,GAElBoC,WAAY,CACVJ,OAAQ,oBACRJ,SAAU2T,GAAiCjW,GAC3C2C,YAAajC,IAGjB,CAACV,GAAsB,CACrB6C,QAAS,CACPP,SAAUyT,GAAiB/V,GAC3BuC,eAAgBkB,GAChBjB,eAAgBgB,IAElBV,WAAY,CACVJ,OAAQ,0BACRJ,SAAU2T,GAAiCjW,GAC3C2C,YAAaa,OCzIb0S,QAAU,EACd3U,QAAAA,EACAK,QAAAA,EACAG,QAASjC,EACTqW,iBAAAA,EAAmBC,GACnB9S,WAAAA,EAAa,SAEb,MAAM3C,EAAmBgD,wBAAwBpC,GACjD,EAEI4U,EAAiBrW,GADnB+C,QAAWP,EADb,EACaA,SAA0BY,EADvC,EACuBX,eAA+C8T,EADtE,EACsD7T,eAMhD8T,EAAkBhU,EAASiU,QAAOC,IAAYA,EAAQpU,SAE5D,OACE,2BAAS5E,UAAY,iCAAgCmD,IAAoBhB,IAAKG,EAAa,cAAY,WACrG,2BAAStC,UAAU,uBACjB,gBAAC0F,EAAD,CAAe0B,SAAUhD,EAASL,QAASA,EAASzB,YAAaA,EAAawD,WAAYA,IAC1F,sBAAI9F,UAAU,4BACX8Y,EAAgBvb,KAAIyb,GAEjB,sBAAIhZ,UAAU,sBAAsBmC,IAAM,GAAEG,aAAuB0W,EAAQtU,eACxEsU,EAAQtU,iBAMnB,0BAAQ1E,UAAU,sBAChB,gBAAC6Y,EAAD,CAAevW,YAAaA,EAAaa,iBAAkBA,OAhC7DuV,QAAAA,YAAAA,UAqDNA,QAAQ5X,aAAe,CACrB6X,iBAAkBC,GAClB9S,WAAY,MAGd,iB,eCjEA,MA+DA,GA/DyB,CACvB,CACElH,KAAM,mBACNsF,MAAO,8BACP+U,UAAU,GAEZ,CACEra,KAAM,wBACNsF,MAAO,0BACP+U,UAAU,GAEZ,CACEra,KAAM,qBACNsF,MAAO,sBACP+U,UAAU,GAEZ,CACEra,KAAM,gBACNsF,MAAO,kCACP+U,UAAU,GAEZ,CACEra,KAAM,oBACNsF,MAAO,6BACP+U,UAAU,GAEZ,CACEra,KAAM,yBACNsF,MAAO,oCACP+U,UAAU,GAEZ,CACEra,KAAM,aACNsF,MAAO,aACP+U,UAAU,GAEZ,CACEra,KAAM,yBACNsF,MAAO,2BACP+U,UAAU,GAEZ,CACEra,KAAM,cACNsF,MAAO,cACP+U,UAAU,GAEZ,CACEra,KAAM,mCACNsF,MAAO,2BACP+U,UAAU,GAEZ,CACEra,KAAM,+BACNsF,MAAO,2BACP+U,UAAU,GAEZ,CACEra,KAAM,eACNsF,MAAO,uBACP+U,UAAU,IC3DDC,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,IAAgBlZ,EAAaC,iBAAiBC,KACzCF,EAAaC,iBAAiBG,YAAYC,UAG/C6Y,IAAgBlZ,EAAaO,sBAAsBL,KAC9CF,EAAaO,sBAAsBH,YAAYC,UAIjD,UAGI8Y,eAAiB,KAC5B,MAAMD,GAAcE,EAAAA,EAAAA,MAAcC,SAClC,OACE,gBAAC,EAAA9Z,WAAD,CACEG,UAAU,UACVtC,GAAG,yBACH6B,UAAU,qBACV,cAAY,kBAEZ,8BACE,gBAAC,EAAAM,WAAD,CACEb,MAAM,OACNgB,UAAU,KACVF,QAAQ,YACRM,MAAM,SACNb,UAAU,8BALZ,2DAWF,gBAAC,EAAAqa,UAAD,CAAWC,GAAI,EAAGC,GAAI,EAAGC,GAAI,EAAGxa,UAAU,+BACxC,gBAAC,EAAAqa,UAAD,CAAWI,GAAI,EAAGC,GAAI,GACpB,gBAAC,EAAApa,WAAD,CAAYG,UAAU,IAAIT,UAAU,8BAApC,6DAEE,0DAIJ,gBAAC,EAAAqa,UAAD,CAAWI,GAAI,EAAGC,GAAI,GACpB,gBAAC,EAAApa,WAAD,CAAYG,UAAU,IAAIT,UAAU,8BAApC,mJAMF,gBAAC,EAAAqa,UAAD,CAAWK,GAAI,GACb,gBAAC,EAAAha,OAAD,CACET,KAAO,wCAAuC+Z,YAAYC,KAC1Dxa,MAAM,UACN,cAAY,gCAHd,2BASF,gBAAC,EAAAa,WAAD,CAAYG,UAAU,KAAKF,QAAQ,YAAYga,GAAI,GAAnD,oGAIA,gBAAC,EAAAF,UAAD,CAAW5Z,UAAU,KAAKka,MAAI,EAACC,UAAQ,EAACH,GAAI,GACzCI,GAAAA,KAAqB7B,GAElB,gBAAC,EAAAqB,UAAD,CAAW5Z,UAAU,KAAK0B,IAAK6W,EAAQpa,KAAMoB,UAAU,8BAA8B8a,EAAG,EAAGC,EAAG,GAC5F,gBAAC,EAAAV,UAAD,CAAWI,GAAI,EAAGO,GAAI,EAAGhb,UAAU,sCAEdgZ,EAAQC,SACvB,gBAAC,GAAD,MAGA,gBAAC,GAAD,OAIN,gBAAC,EAAAoB,UAAD,CAAWI,GAAI,GACb,gBAAC,EAAAna,WAAD,CAAYb,MAAM,QAAQuZ,EAAQ9U,eAjEvCgW,eAAAA,YAAAA,iBA4Eb,wBCvFMe,YAAc,EAAG5Y,SAAAA,KACrB,gBAAC,EAAA/B,WAAD,CAAYG,UAAU,KAAKF,QAAQ,YAAYP,UAAU,aACtDqC,GAFC4Y,YAAAA,YAAAA,cAUN,MAAMC,UAAY,EAAG7Y,SAAAA,KACnB,gBAAC,EAAA/B,WAAD,CAAYG,UAAU,KAAKF,QAAQ,OAAOP,UAAU,YAAY,cAAY,4BACzEqC,GAFC6Y,UAAAA,YAAAA,YAUN,MAAMC,cAAgB,EAAGC,SAAAA,KACvB,0BAAQpb,UAAU,qBAAqBmC,IAAI,gBAAgB,cAAY,wCACrE,sBAAInC,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,YACRM,MAAM,SACNb,UAAU,kDAJZ,yBAMwB,gBAAC,EAAAqb,KAAD,CAAMpb,KAAK,yCAAX,0BAGxB,gBAAC,EAAAK,WAAD,CAAYG,UAAU,IAAIF,QAAQ,YAAYM,MAAM,UAClD,qBAAGZ,KAAK,qBAAR,yBACwB,gBAAC,GAAAqb,eAAD,QAI1B,gBAAC,EAAAhb,WAAD,CACEG,UAAU,KACVF,QAAQ,eACRM,MAAM,SACNb,UAAU,+DAJZ,gCASA,sBAAIA,UAAU,iBACZ,gBAAC,EAAAub,IAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,gBAACR,YAAD,yCACCG,EAAS7d,KAAI,EAAGgH,QAASjC,EAAayB,QAAAA,EAASK,QAAAA,MAG9C,GAAI9B,IAAgBE,EAClB,OAAO,KAGT,GAAIF,IAAgBE,EAClB,OAAO,gBAAC0Y,UAAD,CAAW/Y,IAAKG,GAAe,OAAMyB,EAAQE,4BAItD,IAAIK,EADiBF,EAAQiD,MAAKC,GAAuB,2BAAhBA,EAAIjD,UACrBC,KAAO,IAC3BoX,EAAO,GAUX,OATI9Y,EAAe+E,SAASrF,KAC1BoZ,GAAQ,cAGLhZ,EAAiBiF,SAASrF,KAC7BgC,GAAQ,GACRoX,GAAQ,qBAIR,gBAACR,UAAD,CAAW/Y,IAAM,cAAaG,KAC1B,OAAMyB,EAAQE,2BAA2BK,YAAeoX,UAOlE,gBAAC,EAAAH,IAAD,CAAKC,GAAI,GAAIC,GAAI,GACf,gBAACR,YAAD,iEACA,gBAACC,UAAD,oEAC+D,IAC7D,gBAAC,EAAAG,KAAD,CAAMpb,KAAK,iEAAX,eACc,gBAAC,GAAAqb,eAAD,QAGhB,gBAACL,YAAD,0CACA,gBAACC,UAAD,wOAGY,IACV,gBAAC,EAAAG,KAAD,CAAMpb,KAAK,mEAAX,eACc,gBAAC,GAAAqb,eAAD,QAGhB,gBAACL,YAAD,gDACA,gBAACC,UAAD,mCAC6B,wBAAMha,MAAM,uDAAZ,SAA+E,IAD5G,0FAE0F,IACxF,gBAAC,EAAAma,KAAD,CAAMpb,KAAK,KAAX,iBACgB,gBAAC,GAAAqb,eAAD,WA/FpBH,cAAAA,YAAAA,gBA2GN,uBCtIMQ,gBAAkB,EAAGtZ,SAAAA,EAAUuZ,aAAAA,EAAe,EAAG5b,UAAAA,EAAY,MACjE,yBACEA,UAAW4B,GAAAA,CACR,sBACD,CAAE,CAAE,wBAAuBga,OAAmBA,GAC9C5b,GAEF,cAAY,kBACZgC,SAAS,MAERK,GAVCsZ,gBAAAA,YAAAA,kBAoBNA,gBAAgB7a,aAAe,CAC7B8a,aAAc,EACd5b,UAAW,IAGb,yBCzBM6b,sBAAwB,EAAGxZ,SAAAA,EAAUrC,UAAAA,EAAY,MACrD,yBAAOA,UAAW4B,GAAAA,CAAW,8BAA+B5B,GAAY,cAAY,yBAClF,0BAAKqC,IAFHwZ,sBAAAA,YAAAA,wBAWNA,sBAAsB/a,aAAe,CACnCd,UAAW,IAGb,+BCfM8b,0BAA4B,EAAGzZ,SAAAA,EAAU0Z,OAAAA,EAAQ/b,UAAAA,EAAY,MACjE,sBACEA,UAAW4B,GAAAA,CAAW,mCAAoC5B,GAC1D,cAAY,4BACZ7B,GAAI4d,EACJC,MAAM,MACNja,KAAK,gBAEJM,GARCyZ,0BAAAA,YAAAA,4BAkBNA,0BAA0Bhb,aAAe,CACvCd,UAAW,IAGb,mC,0BCnBA,MAAMic,wBAA0B,EAAG5Z,SAAAA,EAAUnB,MAAAA,EAAO6a,OAAAA,EAAQX,SAAAA,EAAW,GAAIc,OAAAA,GAAS,EAAOlc,UAAAA,EAAY,OACrG,SAAwBmc,EAAAA,EAAAA,UAASD,GAAjC,YAAOE,EAAP,KAAaC,EAAb,KACMC,EAAkB,4BAA0BF,EAAO,SAAW,QAC9DG,EAAcH,EAAOI,GAAAA,gBAAkBC,GAAAA,cAE7C,OACE,yBAAOzc,UAAW4B,GAAAA,CAAW,gCAAiC5B,GAAY,cAAY,2BACpF,0BACE,sBACEA,UAAU,qCACV0c,QAAStB,EAASuB,OAAS,EAC3BX,MAAM,MACNja,KAAK,YACL,cAAY,uCACZ5D,GAAI4d,EACJa,QAAS,IAAMP,GAASD,GACxBpa,SAAS,MAET,wBAAMhC,UAAU,wBAAwBkB,GACxC,0BACE0b,QAAS,IAAMP,GAAQQ,IAAcA,IACrC7c,UAAU,uCACV,cAAY,kCACZ8c,KAAK,SACL5b,MAAOob,EACP,aAAYA,GAEZ,wBAAMtc,UAAU,sCAAsC,cAAY,QAChE,gBAACuc,EAAD,UAKPH,GAAQ/Z,IAjCT4Z,wBAAAA,YAAAA,0BA+CNA,wBAAwBnb,aAAe,CACrCsa,SAAU,GACVc,QAAQ,EACRlc,UAAW,IAGb,iCCtDM+c,0BAA4B,EAAG1a,SAAAA,EAAUnB,MAAAA,EAAO8b,YAAAA,EAAajB,OAAAA,EAAQpX,QAAAA,EAAU,KAAM3E,UAAAA,EAAY,MACrG,sBAAIA,UAAW4B,GAAAA,CAAW,+BAAgC5B,GAAY,cAAY,6BAChF,sBACEA,UAAU,mEACVgc,MAAM,MACN,cAAY,mCACZ7d,GAAI4d,EACJkB,QAASD,EAAYE,KAAK,MAEzBhc,EACAyD,GACC,gBAAC,EAAAwY,QAAD,CAASC,KAAMzY,EAAS0Y,UAAU,MAAM,cAAY,sCAClD,wBAAMrd,UAAU,aACd,gBAAC,GAAAsd,SAAD,CAAUzZ,KAAK,UAKtBxB,GAlBC0a,0BAAAA,YAAAA,4BA+BNA,0BAA0Bjc,aAAe,CACvC6D,QAAS,KACT3E,UAAW,IAGb,mCCrCMud,2BAA6B,EAAGP,YAAAA,EAAaQ,QAAAA,GAAU,EAAOJ,KAAAA,EAAO,KAAMpd,UAAAA,EAAY,OAC3F,IAAIyd,EAAOL,EAYX,OATKA,IACHK,EACE,wBAAMzd,UAAU,qBACbwd,GAAW,gBAAC,GAAAE,UAAD,CAAW,cAAY,OAAO,cAAY,sCACtD,wBAAM1d,UAAU,gCAAgCwd,EAAU,YAAc,mBAM5E,sBACExd,UAAW4B,GAAAA,CAAW,4BAA6B,mBAAoB5B,EAAW,CAChF,qCAAsCwd,IAExC,cAAY,6BACZP,QAASD,EAAYE,KAAK,MAEzBO,IArBDF,2BAAAA,YAAAA,6BAiCNA,2BAA2Bzc,aAAe,CACxC0c,SAAS,EACTJ,KAAM,GACNpd,UAAW,IAGb,oCCxCM2d,sBAAwB,EAAGtb,SAAAA,EAAUrC,UAAAA,EAAY,MACrD,yBAAOA,UAAW4B,GAAAA,CAAW,8BAA+B5B,GAAY,cAAY,yBACjFqC,GAFCsb,sBAAAA,YAAAA,wBAWNA,sBAAsB7c,aAAe,CACnCd,UAAW,IAGb,+BCfM4d,0BAA4B,EAAGvb,SAAAA,EAAUrC,UAAAA,KAC7C,sBAAIA,UAAW4B,GAAAA,CAAW,mCAAoC5B,GAAY,cAAY,6BACnFqC,GAFCub,0BAAAA,YAAAA,4BAWNA,0BAA0B9c,aAAe,CACvCd,UAAW,IAGb,mCCZM6d,6BAA+B,EAAGC,eAAAA,EAAgBC,oBAAAA,EAAqBhC,OAAAA,KAC3E,gBAAC,GAAD,CAA2BA,OAAQA,GACjC,gBAAC,EAAAzb,WAAD,CAAYC,QAAQ,YAAYE,UAAU,SAAS,cAAY,uCAC5Dqd,EAAe/Z,QAAQG,OAE1B,gBAAC,EAAA5D,WAAD,CAAYC,QAAQ,OAAOE,UAAU,IAAI,cAAY,wCAClDsd,EAAoB7Y,SANrB2Y,6BAAAA,YAAAA,+BAiBN,sCCjBMG,6BAA+B,EAAGF,eAAAA,EAAgBC,oBAAAA,MACtD,MAAqBE,EAAgBF,EAA7B5Y,YACR,OACE,gBAAC,GAAD,KACE,gBAAC,EAAA7E,WAAD,CACEC,QAAQ,YACRE,UAAU,KACVT,UAAU,YACV,cAAY,uCAEX8d,EAAe/Z,QAAQG,OAE1B,gBAAC+Z,EAAD,CACE3b,YAAawb,EAAevZ,QAC5BpB,iBAAkBgD,wBAAwB2X,EAAe/Z,SACzDX,OAAK,MAfP4a,6BAAAA,YAAAA,+BA0BN,sCCdME,oBAAsBJ,GAAmB,SAAQA,EAAevZ,QAAQ+B,QAAQ,MAAO,IAAIC,gBAI3F4X,uBAAyB,EAAG/C,SAAAA,EAAUgD,eAAAA,EAAgBC,mBAAAA,KAC1D,uBAAK,cAAY,0BACf,gBAAC,EAAA/d,WAAD,CAAYG,UAAU,KAAKF,QAAQ,eAAeP,UAAU,8BAA5D,gCAGA,gBAAC,GAAD,CAAiB4b,aAAcR,EAASuB,OAAQ3c,UAAU,gCACxD,gBAAC,GAAD,KACE,gBAAC,GAAD,CAA2B,cAAY,OAAO+b,OAAO,eACnD,gBAAC,EAAAzb,WAAD,CAAYC,QAAQ,YAAYE,UAAU,OAAO,cAAY,QAA7D,aAOA,wBAAMT,UAAU,gCAAhB,iBAEDob,EAAS7d,KAAIugB,GACZ,gBAAC,GAAD,CACEA,eAAgBA,EAChBC,oBAAqBK,EAAeN,EAAevZ,SAASe,WAC5DnD,IAAM,qBAAoB2b,EAAe/Z,QAAQG,QACjD6X,OAAQmC,oBAAoBJ,QAIjCO,EAAmB9gB,KAAI,CAAC+gB,EAAUC,KACjC,MAAMC,EA9BeF,CAAAA,GAAa,SAAQA,EAASpd,MAAMoF,QAAQ,MAAO,IAAIC,gBA8BrDkY,CAAqBH,GAE5C,OACE,gBAAC,GAAD,CACEpd,MAAOod,EAASpd,MAChBka,SAAUA,EACVc,OAAkB,IAAVqC,EACRpc,IAAM,uBAAsBmc,EAASpd,QACrC6a,OAAQyC,GAEPlgB,OAAOD,KAAKigB,EAASxZ,UAAUvH,KAAIyb,IAClC,MAAM0F,EAxCQ1F,CAAAA,GAAY,UAASA,EAAQ9X,MAAMoF,QAAQ,MAAO,IAAIC,gBAwC9CoY,CAAoBL,EAASxZ,SAASkU,IAE5D,OACE,gBAAC,GAAD,CACE9X,MAAOod,EAASxZ,SAASkU,GAAS9X,MAClCyD,QAAS2Z,EAASxZ,SAASkU,GAASrU,QACpCxC,IAAM,oBAAmB6W,IACzB+C,OAAQ2C,EACR1B,YAAa,CAAC,cAAewB,IAE5BpD,EAAS7d,KAAIugB,GACZ,gBAAC,GAAD,CACE3b,IAAM,mBAAkB6W,KAAW8E,EAAe/Z,QAAQG,QAC1DsZ,QAASY,EAAeN,EAAevZ,SAASe,WAAWR,SAASkU,GACpE8E,eAAgBA,EAChBd,YAAa,CAAC0B,EAAeR,oBAAoBJ,gBASjE,gBAAC,GAAD,KACE,gBAAC,GAAD,UACC1C,EAAS7d,KAAIugB,GACZ,gBAAC,GAAD,CACEA,eAAgBA,EAChBC,oBAAqBK,EAAeN,EAAevZ,SAASe,WAC5DnD,IAAM,qBAAoB2b,EAAe/Z,QAAQG,eApEvDia,uBAAAA,YAAAA,yB,0BCOS,SAASS,sBAAqB,cAAEC,EAAF,eAAiBC,GAAmB,IAC/E,SAEIxb,EAAAA,EAAAA,YAAWC,EAAAA,IADbmE,YAAeD,EADjB,EACiBA,YAAasX,EAD9B,EAC8BA,aAE9B,GAAgD5C,EAAAA,EAAAA,UAAS,MAAzD,YAAO6C,EAAP,KAAyBC,EAAzB,KACA,GAAiCC,EAAAA,GAAAA,IAASC,GAAAA,yBAA0B,CAClEC,UAAW,CACT3X,YAAAA,EACAsX,aAAAA,EACAD,eAAAA,EACAD,cAAAA,GAEFQ,YAAa,KAIXJ,EAAoB9e,GAAQA,EAAKmf,sBAAsBN,qBAXnDO,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,MAAOrf,EAAxB,EAAwBA,KAiBhBsf,GAAcC,EAAAA,EAAAA,+BAAdD,UAKR,OAJIE,MAAMC,QAAQZ,IAAqBS,GAvCFI,CAAAA,IAErC,MACMC,EADWC,OAAOC,SAAhBC,KACY3Z,QAAQ,YAAa,IACzCuZ,EAAQK,SAAQC,IACdC,SAASC,OAAU,GAAEF,EAAUvhB,QAAQuhB,EAAUtZ,kBAAkBsZ,EAAUG,uBAAuBR,QAmCpGS,CAA+BvB,GAG1B,CAAEO,QAAAA,EAASpf,KAAAA,EAAMqf,MAAAA,GCtD1B,MAAM1gB,GACO,CACTX,GAAI,sCACJc,eAAgB,iCAChBC,YAAa,0DAJXJ,GAMa,CACfX,GAAI,4CACJc,eACE,oKACFC,YAAa,qEAVXJ,GAYU,CACZX,GAAI,yCACJc,eACE,sGACFC,YAAa,oGAcjB,0BAVyB,IAErB,gCACE,yBAAO,cAAY,4BAA2Bd,EAAAA,EAAAA,GAAEU,KAChD,wBAAM,cAAY,6BAA6BF,KAAK,WAAWmB,SAAS3B,EAAAA,EAAAA,GAAEU,MAC1E,wBAAM,cAAY,yBAAyBF,KAAK,cAAcmB,SAAS3B,EAAAA,EAAAA,GAAEU,OCvBzE0hB,aAAe,EAAGC,cAAAA,MACtB,SAGInd,EAAAA,EAAAA,YAAWC,EAAAA,IAHf,IACEmE,YAAegZ,EADjB,EACiBA,UAAWZ,EAD5B,EAC4BA,OAAQa,EADpC,EACoCA,IAClC9e,EAFF,EAEEA,IAIIZ,EAAOwf,GAAiB5e,EAExB+e,EAAQ,CACZ,CACEC,KAAM,YACN5gB,KAAO,eAAc6f,QAAa7e,KAEpC,CACE4f,KAAM,QACN5gB,KAAO,eAAc6f,QAAa7e,KAEpC,CACE4f,KAAM,QACN5gB,KAAO,eAAc6f,UAAe7e,KAEtC,CACE4f,KAAM,KACN5gB,KAAO,eAAc6f,OAAY7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,eAAc6f,OAAY7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,KAEnC,CACE4f,KAAM,KACN5gB,KAAO,cAAa6f,QAAa7e,MAI/B6f,EAAe9d,EA/EH,GAAE0d,KAAaZ,KAAUa,KAgFvC,KACAC,EAAMrjB,KAAI,EAAGsjB,KAAAA,EAAM5gB,KAAAA,KACV,wBAAM,cAAY,0BAA0BkC,IAAK0e,EAAME,IAAI,YAAY9gB,KAAMA,EAAM+gB,SAAUH,MAG1G,OACE,gCACE,wBAAM,cAAY,0BAA0BE,IAAI,YAAY9gB,KAAMgB,IACjE6f,IASPN,aAAa1f,aAAe,CAC1B2f,cAAe,MAGjB,sBCvFMQ,mBAAqB,EAAG7Y,YAAAA,EAAa8Y,WAAAA,EAAYC,aAAAA,MACrD,MAAMC,EAXmB,EAAChG,EAAU8F,IAE7BA,EACJ3jB,KAAI+E,GAAe8Y,EAAS/T,MAAKjB,GAAcA,EAAW7B,UAAYjC,MACtEyW,QAAO3S,KAEGA,IAKaib,CAAmBjZ,EAAa8Y,GAE1D,OACE,gBAAC,KAAD,CAAUthB,OAAO,kBAAkBC,UAAU,UAAUyhB,QAAQ,GAC7D,gBAAC,KAAD,KAEGC,4BACAf,GAAa,KAEhB,gBAAC,EAAAgB,KAAD,KACE,gBAAC,EAAAC,IAAD,KACE,gBAAC,EAAAlG,IAAD,KACE,4BACE,8BACE,gBAAC,EAAD,MACA,gBAAC,EAAD,CAAmBla,YAAa8f,KAElC,uBAAKnhB,UAAU,yDAAyDmC,IAAI,eACzEif,EAAkB7jB,KAAIugB,GACd,gBAAC,GAAD,iBAAaA,EAAb,CAA6B3b,IAAM,WAAU2b,EAAevZ,gBAGvE,gBAAC,GAAD,CAAe6W,SAAUhT,UAvBjC6Y,mBAAAA,YAAAA,qBAsCN,MAAMS,eAAiB,EACrBC,OACEC,QAAUT,aAAAA,EAAe,cAG3B,MAAMD,EAA8B,eAAjBC,EAAgCxe,EAAsBC,EACzE,EAAiCgc,uBAAzBY,EAAR,EAAQA,MAAOD,EAAf,EAAeA,QAASpf,EAAxB,EAAwBA,KAExB,OAGqBqf,EACf,gBAAC,KAAD,MAEgBA,GAAUD,IAAWpf,EAN3C,KAOM,gBAAC2H,GAAD,CAA2BjB,MAAO1G,EAAKmf,sBAAsB/a,SAC3D,gBAAC0c,mBAAD,CACE7Y,YAAajI,EAAKmf,sBAAsB/a,QACxC2c,WAAYA,EACZC,aAAcA,MAnBpBO,eAAAA,YAAAA,iBAmCNA,eAAe5gB,aAAe,CAC5B6gB,MAAO,CACLC,OAAQ,CACNT,aAAc,WAKpB,wBCrGMU,cAAgB,IACpB,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAO5gB,KAAK,2CAA2CR,UAAWihB,KAClE,gBAAC,KAAD,CAAOzgB,KAAK,WAAWR,UAAWihB,GAAgBI,OAAK,IACvD,gBAAC,KAAD,CAAO7gB,KAAK,YAAYR,UAAWihB,GAAgBI,OAAK,KAJtDD,cAAAA,YAAAA,gBAQN,uB,gDCAO,MAAM/iB,IAAOC,EAAAA,EAAAA,IAAe,CACjCgjB,sBAAuB,CACrB5jB,GAAI,sCACJc,eAAgB,2BAChBC,YAAa,gGAIjB,SAAS8iB,wBAAyBC,uCAAuC,MAAEC,KACzE,OAAOA,EAAM3kB,KAAI,EAAGqB,KAAMwe,EAAM+E,KAAAA,EAAMhkB,GAAAA,EAAIikB,OAASC,OAAQC,OAA1C,CACflF,KAAAA,EACA+E,KAAAA,EACAhkB,GAAAA,EACAmkB,KAAAA,MAIJ,MAAMC,WAAkBC,EAAAA,UAAU,mCAChCC,MAAQ,CACNC,QAAS,IAFqB,KAKhCC,kBAAoBD,IAClBE,KAAKC,SAAS,CAAEH,QAAAA,KANc,KAShCI,mBAAqB,EAAGR,KAAAA,MACtBvC,OAAOC,SAAS+C,OAAOT,IAVO,KAahCU,aAAeN,IACbE,KAAKK,MAAMC,QAAQC,KAAM,kBAAiBT,MAG5CU,SACE,MAAQ1b,EAAgBkb,KAAKS,QAArB3b,YACR,OACE,gBAAC,MAAD,CACE4b,MAAOC,KACPC,MAA+B,KAAvBZ,KAAKH,MAAMC,QACnBtD,UAAW,CACTsB,UAAWhZ,EAAYgZ,UACvBC,IAAKjZ,EAAYiZ,IACjB8C,SAAU/b,EAAYgc,WACtBhB,QAASE,KAAKH,MAAMC,WAGrB,EAAGnD,QAAAA,EAASC,MAAAA,EAAOrf,KAAAA,KAEhB,gBAAC,KAAD,CACEH,UAAU,gBACV2jB,YAAa7kB,GAAKijB,sBAAsB9iB,eACxC2kB,cAAehB,KAAKD,kBACpBkB,eAAgBjB,KAAKE,mBACrBgB,SAAUlB,KAAKI,aACfe,UAAWxE,EACXyE,WAAYxE,KAAWoD,KAAKH,MAAMC,QAClCtF,KAAMwF,KAAKH,MAAMC,QACjBviB,KACEof,GAAcC,GAAWoD,KAAKH,MAAMC,SAAmC,KAAvBE,KAAKH,MAAMC,QACvD,GACAV,uBAAuB7hB,GAE7B8jB,WAAY,EAAG7G,KAAAA,EAAM+E,KAAAA,KACnB,uBAAKniB,UAAU,uBACb,uBAAKkkB,IAAK9G,EAAMpd,UAAU,2BAA2BmkB,IAAKhC,GAAQiC,KACjEhH,QAjDbmF,GAAAA,YAAAA,YAkEN,UAAe8B,EAAAA,EAAAA,IAAW9B,IAC1BA,GAAU+B,YAAc/gB,EAAAA,GCxFxB,MAAMzE,IAAOC,EAAAA,EAAAA,IAAe,CAC1BwlB,cAAe,CACbpmB,GAAI,2BACJc,eAAgB,wBAChBC,YAAa,mEAEfslB,eAAgB,CACdrmB,GAAI,4BACJc,eAAgB,2EAChBC,YAAa,oGAIXulB,YAAc,IAEhB,uBACE,cAAY,6BACZzkB,UAAU,+EAEV,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,QAAQE,UAAU,KAAKhB,MAAM,QAAQO,UAAU,0BAChElB,GAAKylB,cAActlB,gBAEtB,gBAAC,EAAAqB,WAAD,CAAYC,QAAQ,YAAYE,UAAU,MAAMhB,MAAM,QAAQO,UAAU,6BACrElB,GAAK0lB,eAAevlB,gBAEvB,uBAAKe,UAAU,iDACb,gBAAC,GAAD,QAbFykB,YAAAA,YAAAA,cAmBN,qB,0BCjCA,MAAMC,QAAUzB,IACd,QAMIA,EALF0B,IACEC,EAFJ,EAEIA,cACSvC,EAHb,EAGID,MAASC,OAEXhgB,EACE4gB,EADF5gB,SAEF,OAEqBuiB,GAAiBvC,EAAOpZ,QAAQ,SAAW,EAC1D,wBAAM,cAAY,yBAChB,mCAAGhJ,KAAMoiB,GAAYY,GAClB5gB,IAKL,wBAAM,cAAY,yBAChB,gBAAC,KAAD,eAAMwiB,GAAIxC,GAAYY,GACnB5gB,KApBPqiB,QAAAA,YAAAA,UAsCN,iBCnCMI,SAAW,EAAGC,KAAAA,KAEhB,gBAAC,EAAAvD,KAAD,CAAMwD,UAAQ,EAAChlB,UAAU,+BAA+B,cAAY,YAClE,gBAAC,EAAAyhB,IAAD,KACGsD,EAAKxnB,KAAIonB,GACR,gBAAC,EAAApJ,IAAD,CAAKpZ,IAAKwiB,EAAIxmB,GAAI8mB,GAAI,EAAGxJ,GAAI,EAAGD,GAAI,GAAI0J,GAAI,GAAIllB,UAAU,YAAY,cAAY,iBAChF,gBAAC,GAAD,CAAS2kB,IAAKA,EAAK3kB,UAAU,0BAA0B,cAAY,kBACjE,uBAAKA,UAAU,wFACb,uBAAKmkB,IAAKQ,EAAIxC,KAAOwC,EAAIxC,KAAOiC,GAAmBF,IAAKS,EAAI/lB,KAAMoB,UAAU,2BAC5E,gBAAC,EAAAM,WAAD,KAAaqkB,EAAI/lB,MACF+lB,EAAIQ,WAAWxI,OAC5B,gBAAC,EAAArc,WAAD,CAAYb,MAAM,cAChB,wBAAMO,UAAU,8BAA8B,cAAY,sBACvD2kB,EAAIQ,WAAW,GAAGvmB,OAN3B,YAPRkmB,SAAAA,YAAAA,WA4CN,kBCLA,0BA5CyB7B,IACvB,MAAQmC,GAAc9hB,EAAAA,EAAAA,YAAWC,EAAAA,IAAzB6hB,UACAC,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UACR,OACE,gCACE,gBAAC,KAAD,CAAcC,eAAgBD,GAC5B,gBAAC,KAAD,eAAgBE,OAAQ,IAAKC,MAAO,KAASvC,GAC3C,wBAAMwC,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACpD,wBAAME,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACpD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAEtD,wBAAME,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACrD,wBAAME,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACrD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAEvD,wBAAME,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACrD,wBAAME,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACrD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAEvD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACrD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACrD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAEtD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACtD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACtD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAEvD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACtD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACtD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,SAI3D,gBAAC,KAAD,CAAcD,gBAAiBD,GAC7B,gBAAC,KAAD,eAAgBE,OAAQ,IAAKC,MAAO,IAAKxlB,UAAU,wBAA2BijB,GAC5E,wBAAMwC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OACrD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACvD,wBAAME,EAAE,MAAMC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,WC7BpDzmB,IAAOC,EAAAA,EAAAA,IAAe,CACjC8mB,oBAAqB,CACnB1nB,GAAI,8BACJc,eAAgB,WAChBC,YAAa,wFAEf4mB,0BAA2B,CACzB3nB,GAAI,mCACJc,eAAgB,iBAChBC,YAAa,wFAEf6mB,uBAAwB,CACtB5nB,GAAI,gCACJc,eAAgB,eAChBC,YAAa,4FAEf8mB,mBAAoB,CAClB7nB,GAAI,wBACJc,eAAgB,WAChBC,YACE,uHAyCA+mB,kBAAoB,EAAGC,WAAAA,EAAYlG,UAAYmG,OAAAA,OACnD,QAlCkCC,CAAAA,IAGlC,OAAQA,GACN,IARa,WASX,MAAO,CACLllB,MAAOpC,GAAK+mB,oBAAoB5mB,eAChConB,SAAU,sBACVC,KAPO,EAQPC,SAPkB,GAUtB,IAfmB,iBAgBjB,MAAO,CACLrlB,MAAOpC,GAAKgnB,0BAA0B7mB,eACtConB,SAAU,uBACVC,KAfO,EAgBPC,SAfkB,GAkBtB,IAtBiB,eAuBf,MAAO,CACLrlB,MAAOpC,GAAKinB,uBAAuB9mB,eACnConB,SAAU,qBACVC,KAvBO,EAwBPC,SAAU,GAGd,QACE,MAAO,CAAC,GAAI,IA5BH,EACW,KAgCoBC,CAA4BN,GAAhEhlB,EAAR,EAAQA,MAAOmlB,EAAf,EAAeA,SAAUC,EAAzB,EAAyBA,KAAMC,EAA/B,EAA+BA,SAC/B,GAEIjjB,EAAAA,EAAAA,YAAWC,EAAAA,IADbmE,YAAegc,EADjB,EACiBA,WAAYhD,EAD7B,EAC6BA,UAAWC,EADxC,EACwCA,IAExC,OACE,gBAAC,MAAD,CACE2C,MAAOmD,KACPrH,UAAW,CAAEsB,UAAAA,EAAWC,IAAAA,EAAK8C,SAAUC,EAAY3K,OAAQmN,EAAYI,KAAAA,EAAMC,SAAAA,KAE5E,EAAGhH,QAAAA,EAASC,MAAAA,EAAOrf,KAAAA,KAEhB,2BAASH,UAAU,gBACjB,0BAAQA,UAAU,mDAChB,gBAAC,EAAAM,WAAD,CAAYG,UAAU,MAAMF,QAAQ,aACjCW,GAEYmlB,EACb,gBAAC,EAAA/lB,WAAD,KAEE,qBAAGL,KAAO,GAAEomB,IAAWF,IAAUnmB,UAAU,kCACxClB,GAAKknB,mBAAmB/mB,iBARjC,MAcmBugB,EACf,gBAAC,KAAD,MAEeD,EACf,gBAAC,0BAAD,CAAkB,cAAY,uBAG9B,gBAAC,GAAD,CAAUwF,KAAM5kB,EAAKumB,6BAA6BxE,YAlC5D+D,kBAAAA,YAAAA,oBAsDNA,kBAAkBnlB,aAAe,CAC/B4G,YAAa,CACXgc,WAAY,IAIhB,UAAeW,EAAAA,EAAAA,IAAW4B,mB,0EClIpBU,eAAiB,IAMjB,IALJvM,EAKI,EALJA,SACY+L,EAIR,EAJJnG,SAAYmG,OAGTS,GACC,EAFJC,cAEI,YACJ,OACE,gBAAC,KAAD,eAAMhC,GAAI,CAAEzK,SAAAA,EAAU+L,OAAAA,IAAcS,GACjCA,EAAKvkB,WATNskB,eAAAA,YAAAA,iBAsBN,UAAetC,EAAAA,EAAAA,IAAWsC,gBC1BX,SAASG,kBAAkB1M,EAAU+L,GAGlD,MAAQ,uBAAsBA,IADlBA,EAAS,IAAM,MADV,MAAKY,mBAAmB3M,EAAW+L,OCWtD,MAAMrnB,IAAOC,EAAAA,EAAAA,IAAe,CAC1BioB,eAAgB,CACd7oB,GAAI,qDACJc,eAAgB,aAChBC,YAAa,oFAEf+nB,oBAAqB,CACnB9oB,GAAI,0DACJc,eAAgB,kBAChBC,YAAa,4FAEfgoB,gBAAiB,CACf/oB,GAAI,sDACJc,eAAgB,cAChBC,YAAa,sFAEfioB,aAAc,CACZhpB,GAAI,mDACJc,eAAgB,WAChBC,YAAa,gEAEfkoB,YAAa,CACXjpB,GAAI,kDACJc,eAAgB,UAChBC,YAAa,kFAEfmoB,YAAa,CACXlpB,GAAI,kDACJc,eAAgB,UAChBC,YAAa,oFAIXooB,uBAAyB,EAC7BC,SAAAA,EACAC,qBAAAA,EACA9jB,gBAAAA,EACA+jB,SAAAA,EACAC,mBAAAA,EACA1H,UAAY5F,SAAAA,EAAU+L,OAAAA,MAGpB,uBAAKnmB,UAAU,2FACb,gBAAC,GAAD,CAAgBA,UAAU,2DAA2Doa,SAAS,UAC5F,gBAAC,KAAD,CAAM3a,MAAM,QACZ,gBAAC,EAAAa,WAAD,CAAYC,QAAQ,eAAed,MAAM,QAAQO,UAAU,aAA3D,kBAIF,uBAAKA,UAAU,YACb,uBAAKA,UAAU,8BACb,sBAAIA,UAAU,4CACXunB,EAAShqB,KAAIoqB,GACGH,EAAqBG,GAClC,sBAAI3nB,UAAU,iDAAiDmC,IAAKwlB,EAAIC,QACtE,qBAAG3nB,KAAO,GAAE0nB,EAAIC,SAASzB,IAAUnmB,UAAU,6CAC1C2nB,EAAIvK,OAJI,UAaJ1Z,EACf,uBAAK1D,UAAU,mCACb,gBAAC,EAAA6nB,KAAD,CACEC,WAAS,EACTC,SAAO,EACPC,OAAK,EACL3K,UAAU,eACV4K,YACE,uBACEjoB,UAAU,0CACV,cAAY,2CAEZ,wBAAMA,UAAU,aAAaynB,GAC7B,gBAAC,GAAAS,cAAD,QAIJ,gBAAC,EAAAC,SAAD,CACEC,aAAW,EACXC,iBAAmB,gBAAelC,IAClCnmB,UAAU,6CAEV,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAKkoB,kBAEDU,EACb,gBAAC,EAAAS,SAAD,CAAUC,aAAW,EAACC,iBAAkBvB,kBAAkB1M,EAAU+L,IAClE,gBAAC,EAAArmB,EAAD,CAAGU,KAAM1B,GAAKmoB,uBAxBpB,KA2BE,gBAAC,EAAAkB,SAAD,CAAUC,aAAW,EAACC,iBAAiB,mDACrC,gBAAC,EAAAvoB,EAAD,CAAGU,KAAM1B,GAAKooB,mBAEhB,gBAAC,EAAAiB,SAAD,CAAUC,aAAW,EAACC,iBAAmB,iBAAgBlC,KACvD,gBAAC,EAAArmB,EAAD,CAAGU,KAAM1B,GAAKqoB,kBAMpB,2BACE,gBAAC,EAAAzmB,OAAD,CAAQT,KAAO,gBAAekmB,IAAUnmB,UAAU,aAChD,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAKsoB,eAEhB,gBAAC,EAAA1mB,OAAD,CAAQV,UAAU,0CAA0CC,KAAO,gBAAekmB,KAChF,gBAAC,EAAArmB,EAAD,CAAGU,KAAM1B,GAAKuoB,iBA5EtBC,uBAAAA,YAAAA,yBAuGNA,uBAAuBxmB,aAAe,CACpC4mB,oBAAoB,GAGtB,UAAerD,EAAAA,EAAAA,IAAWiD,wBC/IpBxoB,IAAOC,EAAAA,EAAAA,IAAe,CAC1BioB,eAAgB,CACd7oB,GAAI,oDACJc,eAAgB,aAChBC,YAAa,oFAEf+nB,oBAAqB,CACnB9oB,GAAI,yDACJc,eAAgB,kBAChBC,YAAa,4FAEfgoB,gBAAiB,CACf/oB,GAAI,qDACJc,eAAgB,cAChBC,YAAa,sFAEfioB,aAAc,CACZhpB,GAAI,kDACJc,eAAgB,WAChBC,YAAa,gEAEfkoB,YAAa,CACXjpB,GAAI,iDACJc,eAAgB,UAChBC,YAAa,kFAEfmoB,YAAa,CACXlpB,GAAI,iDACJc,eAAgB,UAChBC,YAAa,oFAIjB,SAASopB,cAAczmB,EAAKskB,GAC1B,MAAQ,GAAEtkB,IAAMskB,IAGlB,MAAMoC,sBAAwB,EAC5B7kB,gBAAAA,EACA6jB,SAAAA,EACAC,qBAAAA,EACAE,mBAAAA,EACA1H,UAAY5F,SAAAA,EAAU+L,OAAAA,OAEtB,MAAMqC,EAAsBjB,EAASxO,OAAOyO,GAAsBjqB,KAAIoqB,GAEpE,gBAAC,EAAAQ,SAAD,CAAUC,aAAW,EAACC,iBAAkBC,cAAcX,EAAIC,OAAQzB,GAAShkB,IAAKwlB,EAAIC,QACjFD,EAAIvK,QAGT,OACE,uBAAKpd,UAAU,2FACb,wBAAMA,UAAU,oDACd,gBAAC,GAAAyoB,eAAD,CAAgB5kB,KAAK,QAGJH,EACf,uBAAK1D,UAAU,mCACb,gBAAC,EAAA6nB,KAAD,CACEC,WAAS,EACTC,SAAO,EACPC,OAAK,EACL3K,UAAU,eACV4K,YACE,uBACEjoB,UAAU,0FACV,cAAY,0CAEZ,wBAAMA,UAAU,oDACd,gBAAC,GAAA0oB,SAAD,CAAU7kB,KAAK,UAKrB,gBAAC,EAAA8kB,UAAD,KAAYH,GACZ,gBAAC,EAAAG,UAAD,KAEE,gCACE,gBAAC,EAAAR,SAAD,CAAUC,aAAW,EAACC,iBAAmB,gBAAelC,KACtD,gBAAC,EAAArmB,EAAD,CAAGU,KAAM1B,GAAKkoB,kBAEDU,EACb,gBAAC,EAAAS,SAAD,CAAUC,aAAW,EAACC,iBAAkBvB,kBAAkB1M,EAAU+L,IAClE,gBAAC,EAAArmB,EAAD,CAAGU,KAAM1B,GAAKmoB,uBANpB,KASE,gBAAC,EAAAkB,SAAD,CAAUC,aAAW,EAACC,iBAAiB,mDACrC,gBAAC,EAAAvoB,EAAD,CAAGU,KAAM1B,GAAKooB,mBAEhB,gBAAC,EAAAiB,SAAD,CAAUC,aAAW,EAACC,iBAAmB,iBAAgBlC,KACvD,gBAAC,EAAArmB,EAAD,CAAGU,KAAM1B,GAAKqoB,oBAQxB,2BACE,gBAAC,EAAAU,KAAD,CACEC,WAAS,EACTC,SAAO,EACPC,OAAK,EACL3K,UAAU,eACV4K,YACE,uBACEjoB,UAAU,0FACV,cAAY,yDAEZ,wBAAMA,UAAU,oDACd,gBAAC,GAAA0oB,SAAD,CAAU7kB,KAAK,UAKpB2kB,EACD,gBAAC,EAAAL,SAAD,CAAUC,aAAW,EAACC,iBAAkBC,cAAc,gBAAiBnC,IACrE,gBAAC,EAAArmB,EAAD,CAAGU,KAAM1B,GAAKsoB,eAEhB,gBAAC,EAAAe,SAAD,CAAUC,aAAW,EAACC,iBAAkBC,cAAc,gBAAiBnC,IACrE,gBAAC,EAAArmB,EAAD,CAAGU,KAAM1B,GAAKuoB,mBAnFxBkB,sBAAAA,YAAAA,wBA8GNA,sBAAsBznB,aAAe,CACnC4mB,oBAAoB,GAGtB,UAAerD,EAAAA,EAAAA,IAAWkE,uB,0BCnJnB,MAAMzpB,IAAOC,EAAAA,EAAAA,IAAe,CACjC6pB,YAAa,CACXzqB,GAAI,4CACJc,eAAgB,UAChBC,YACE,yGAEJ2pB,WAAY,CACV1qB,GAAI,2CACJc,eAAgB,SAChBC,YACE,oHAEJ4pB,YAAa,CACX3qB,GAAI,4CACJc,eAAgB,UAChBC,YAAa,uFAEf6pB,YAAa,CACX5qB,GAAI,4CACJc,eAAgB,UAChBC,YAAa,0FAIX8pB,aAAe,CAACtI,EAAWZ,IACvB,WAAUY,KAAaZ,QAG3BmJ,gBAAkBnJ,GAAU,CAChC,CAAE8H,OAAQ,QAASxK,KAAM,gBAAC,EAAAtd,EAAD,CAAGU,KAAM1B,GAAK8pB,eACvC,CACEhB,OAAQ,gBACRxK,KAAM,gBAAC,EAAAtd,EAAD,CAAGU,KAAM1B,GAAK+pB,aACpBK,wBAAwB,GAE1B,CACEtB,OAAQoB,aAAa,YAAalJ,GAClC1C,KAAM,gBAAC,EAAAtd,EAAD,CAAGU,KAAM1B,GAAKgqB,eAEtB,CACElB,OAAQ,mDACRxK,KAAM,gBAAC,EAAAtd,EAAD,CAAGU,KAAM1B,GAAKiqB,gBAIjB,SAASvB,qBAAqBnkB,EAAMskB,GACzC,OAAQA,EAAIuB,wBAA2BvB,EAAIuB,wBAA0B7lB,EAAKK,gBAG5E,MAAMylB,gBAAkB,KACtB,SAGI7lB,EAAAA,EAAAA,YAAWC,EAAAA,IAFbF,EADF,EACEA,KACeyc,EAFjB,EAEEpY,YAAeoY,OAETsF,GAAc9hB,EAAAA,EAAAA,YAAWC,EAAAA,IAAzB6hB,UACAC,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UACR,OACE,gBAAC,MAAD,CAAO/B,MAAO8F,KAAmB5F,MAAOngB,EAAKK,kBAC1C,EAAGvD,KAAAA,MAAW,QACb,MAAMkpB,GAA8BlpB,MAAAA,GAAA,UAAAA,EAAMkD,YAAN,mBAAYimB,wBAAZ,eAA8BC,YAAa,EAC/E,OACE,gCACE,gBAAC,KAAD,CAAejE,eAAgBD,GAC7B,uBAAK,cAAY,4BACf,gBAAC,GAAD,CACEkC,SAAU0B,gBAAgBnJ,GAC1B0H,qBAAsBgC,GAAQhC,qBAAqBnkB,EAAMmmB,GACzD9lB,gBAAiBL,EAAKK,gBACtBgkB,mBAAoB2B,EACpB5B,SAAUpkB,GAAQA,EAAKokB,SAAWpkB,EAAKokB,SAAW,OAIxD,gBAAC,KAAD,CAAoBnC,gBAAiBD,GACnC,uBAAK,cAAY,2BACf,gBAAC,GAAD,CACEkC,SAAU0B,gBAAgBnJ,GAC1B0H,qBAAsBgC,GAAQhC,qBAAqBnkB,EAAMmmB,GACzD9B,mBAAoB2B,EACpB3lB,gBAAiBL,EAAKK,yBA9BlCylB,gBAAAA,YAAAA,kBAyCN,yB,0BCpGA,MAAMM,gBAAkBxG,GACtB,gBAAC,KAAD,eAAgBsC,OAAQ,IAAKC,MAAO,IAAK,cAAY,mBAAsBvC,GACzE,wBAAMwC,EAAE,IAAIC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACpD,wBAAME,EAAE,IAAIC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACpD,wBAAME,EAAE,IAAIC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,QAJlDkE,gBAAAA,YAAAA,kBAQN,yBCGa3qB,IAAOC,EAAAA,EAAAA,IAAe,CACjC2qB,sBAAuB,CACrBvrB,GAAI,qCACJc,eAAgB,gBAChBC,YAAc,2FAEhByqB,kBAAmB,CACjBxrB,GAAI,kCACJc,eAAgB,eAChBC,YAAc,2FAEhB0qB,eAAgB,CACdzrB,GAAI,8BACJc,eAAgB,UAChBC,YAAc,4FAEhB2qB,gBAAiB,CACf1rB,GAAI,gCACJc,eAAgB,WAChBC,YAAc,wFAEhB4qB,oBAAqB,CACnB3rB,GAAI,mCACJc,eAAgB,eAChBC,YAAc,+FAEhB6qB,sBAAuB,CACrB5rB,GAAI,qCACJc,eAAgB,iBAChBC,YAAc,wGAIZ8qB,YAAc,EAAGpC,OAAAA,EAAQxK,KAAAA,EAAM,cAAe6M,KAClD,sBAAIjqB,UAAU,wBAAwB,cAAaiqB,GACjD,gBAAC,GAAD,CAAgB7P,SAAUwN,EAAQ5nB,UAAU,8BACzCod,IAHD4M,YAAAA,YAAAA,cAcNA,YAAYlpB,aAAe,CACzB,cAAe,uBAGjB,MAAMopB,OAASjH,IACb,SAII3f,EAAAA,EAAAA,YAAWC,EAAAA,IAHEmgB,EADjB,EACEhc,YAAegc,WACfrgB,EAFF,EAEEA,KACA+hB,EAHF,EAGEA,UAEMC,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UACR,OACE,sBAASpC,EACP,gBAAC,MAAD,CAAOK,MAAO6G,KAA4C/K,UAAW,CAAEqE,SAAUC,KAC9E,EAAGnE,QAAAA,EAASpf,KAAAA,EAAMqf,MAAAA,KAEf,gCACE,gBAAC,KAAD,CAAc8F,gBAAiBD,GAC7B,gBAAC,EAAA+E,UAAD,CAAWpqB,UAAU,kCACnB,gBAAC,EAAAqqB,cAAD,CAAerC,OAAK,EAAC9mB,MAAOpC,GAAK4qB,sBAAsBzqB,gBACrD,gBAAC,EAAAqrB,KAAD,CAAMtC,OAAK,EAACuC,aAAW,GAEFlnB,EAAKK,gBACpB,gBAAC,EAAA8mB,SAAD,KACE,gBAAC,GAAD,CAAgBpQ,SAAS,iBACvB,gBAAC,EAAA9Z,WAAD,KAAaxB,GAAK8qB,eAAe3qB,kBAKrC,6BAGJ,gBAAC,EAAAurB,SAAD,KACE,gBAAC,GAAD,CAAgBpQ,SAAS,uBACvB,gBAAC,EAAA9Z,WAAD,KAAaxB,GAAK+qB,gBAAgB5qB,kBAGtC,gBAAC,EAAAurB,SAAD,KACE,gBAAC,GAAD,CAAgBpQ,SAAS,sBACvB,gBAAC,EAAA9Z,WAAD,KAAaxB,GAAKgrB,oBAAoB7qB,kBAG1C,gBAAC,EAAAurB,SAAD,KACE,gBAAC,GAAD,CAAgBpQ,SAAS,wBACvB,gBAAC,EAAA9Z,WAAD,KAAaxB,GAAKirB,sBAAsB9qB,oBAKhD,gBAAC,EAAAorB,cAAD,CAAenpB,MAAOpC,GAAK6qB,kBAAkB1qB,iBAEvBsgB,GAAWpf,EAC3B,gBAAC,EAAAmqB,KAAD,CAAMC,aAAW,GACdpqB,EAAKsqB,sCAAsCltB,KAAImtB,GAC9C,gBAAC,EAAAF,SAAD,CAAUroB,IAAKuoB,EAAIvsB,IACjB,gBAAC,GAAD,CAAgBic,SAAW,oBAAmBsQ,EAAIvoB,OAChD,gBAAC,EAAA7B,WAAD,KAAaoqB,EAAI9rB,WAOzB,gCAMV,gBAAC,KAAD,CAAc0mB,eAAgBD,GAC5B,gBAAC,EAAA/kB,WAAD,CAAYG,UAAU,MAAMF,QAAQ,YAAYP,UAAU,oBACvDlB,GAAK4qB,sBAAsBzqB,gBAE9B,sBAAIe,UAAU,wCACGqD,EAAKK,gBAClB,gBAACsmB,YAAD,CAAapC,OAAO,gBAAgBxK,KAAMte,GAAK8qB,eAAe3qB,iBAFlE,KAIE,gBAAC+qB,YAAD,CAAapC,OAAO,sBAAsBxK,KAAMte,GAAK+qB,gBAAgB5qB,iBACrE,gBAAC+qB,YAAD,CAAapC,OAAO,qBAAqBxK,KAAMte,GAAKgrB,oBAAoB7qB,iBACxE,gBAAC+qB,YAAD,CAAapC,OAAO,uBAAuBxK,KAAMte,GAAKirB,sBAAsB9qB,kBAE9E,gBAAC,EAAAqB,WAAD,CAAYG,UAAU,MAAMF,QAAQ,YAAYP,UAAU,oBACvDlB,GAAK6qB,kBAAkB1qB,gBAGPsgB,EACf,gBAAC,GAAD,MAEeC,EAnBrB,OAqBM,sBAAIxf,UAAU,0CACXG,EAAKsqB,sCAAsCltB,KAAImtB,GAC9C,gBAACV,YAAD,CACE,cAAY,uBACZ7nB,IAAKuoB,EAAIvsB,GACTypB,OAAS,oBAAmB8C,EAAIvoB,MAChCib,KAAMsN,EAAI9rB,gBA7F9BsrB,OAAAA,YAAAA,SA4GN,gBCvKMS,eAAiB,IACrB,uBAAK3qB,UAAU,2CAA2C,cAAY,oCACpE,gBAAC,KAAD,OAFE2qB,eAAAA,YAAAA,iBAMN,MAAMC,cAAgB,IACpB,uBAAK5qB,UAAU,8BAA8B,cAAY,mCACvD,gBAAC,EAAA6qB,eAAD,CAAgBC,YAAU,KAFxBF,cAAAA,YAAAA,gBAMN,MAAMG,GAAmB,CACvBC,QAASL,gBAGX,iBCVA,MAAMM,WAAkBzI,EAAAA,UAAU,mCAahCC,MAAQ,CACNtiB,KAAM,CACJ+qB,WAAY,MAEd3L,SAAS,EACTC,OAAO,GAlBuB,KAoFhC2L,mBAAqB,KACnB,QAAqCvI,KAAKK,MAAlCmI,EAAR,EAAQA,aAAcC,EAAtB,EAAsBA,WAChBC,EAAeP,GAAiBM,GAEtC,OAAID,IAIAE,EACK,gBAACA,EAAD,MAGF,gBAAC,GAAD,QA3ETC,oBACE3I,KAAK4I,YAAa,EAClB5I,KAAK6I,gBAGPC,uBACE9I,KAAK4I,YAAa,EAGpBG,qBACE,MAAQN,EAAezI,KAAKK,MAApBoI,WACFO,EAAkBxL,SAASyL,eAAgB,eAA6BR,KAC9E,OAAIO,GACFA,EAAgBE,SACTF,EAAgBG,aAElB,KAGU,sBACjB,MAAMC,cAAgB,KACpBpJ,KAAKC,SAAS,CACZtD,SAAS,EACTC,OAAO,KAIX,IAAI0L,EAAatI,KAAK+I,qBACtB,IAAKT,EACH,IAEE,GADAA,QAAmBtI,KAAKqJ,iBACnBrJ,KAAK4I,WACR,OAAO,KAET,MAAOhM,GACP,OAAKoD,KAAK4I,YAGVU,EAAAA,GAAAA,SAA4B1M,EAAO,mBAC5BwM,iBAHE,KAOb,OAAmB,OAAfd,EACKc,gBAGFpJ,KAAKC,SAAS,CACnB1iB,KAAM,CAAE+qB,WAAAA,GACR3L,SAAS,EACTC,OAAO,IAIQ,sBACjB,MAAQ6L,EAAezI,KAAKK,MAApBoI,WACFc,QAAsBC,MAAO,oBAAmBf,SAAmB,CACvEgB,YAAa,YAGf,aADyBF,EAAcG,QACrBC,KAkBpBnJ,SACE,MAAQpjB,EAAc4iB,KAAKK,MAAnBjjB,UACR,EAAiC4iB,KAAKH,MAA9BtiB,EAAR,EAAQA,KAAMof,EAAd,EAAcA,QAASC,EAAvB,EAAuBA,MAIjBgN,EAAa5qB,GAAAA,CAAW,mCAAoC5B,GAElE,OAEqBuf,EAAUqD,KAAKuI,qBACf3L,EAPE,KASjB,uBACE,cAAY,YACZxf,UAAWwsB,EACXC,wBAAyB,CACvBC,QAAQC,EAAAA,EAAAA,gBAAexsB,EAAK+qB,gBApHpCD,GAOGnqB,aAAe,CACpBuqB,WAAY,KACZrrB,UAAW,KACXorB,aAAc,MAVZH,GAAAA,YAAAA,YA6HN,MAAM2B,eAAiB3J,GACrB,gBAAC,KAAD,KACE,gBAACgI,GAAchI,IAFb2J,eAAAA,YAAAA,iBAMN,wBC5Ie,SAASC,yBAAyBnM,EAAWZ,EAAQa,EAAK9e,GACvE,IAAIZ,EAAO,GACP6rB,GAAU,EACVC,EAAe,GAkBnB,MAhBkB,QAAdrM,GAA+B,QAARC,EACzBmM,GAAU,GAGR7rB,EADoB,oBAAX8e,OACFA,OAAOC,SAAS5F,SAEhBvY,EAAIoH,QAAQ,MAAQ,EAAIpH,EAAImrB,OAAO,EAAGnrB,EAAIoH,QAAQ,MAAQpH,EAG3C,MAApBZ,EAAK+rB,QAAQ,KACf/rB,GAAQ,KAGV8rB,EAAgB,WAAUrM,KAAaZ,KAAUa,IAAM1f,KAGlD,CAAE6rB,QAAAA,EAASC,aAAAA,GCVpB,MAAME,qBAAuB,EAAG9uB,GAAAA,EAAI+uB,OAAAA,EAAQC,OAAAA,EAAQC,sBAAAA,EAAuB/qB,SAAAA,MACzE,SAKIiB,EAAAA,EAAAA,YAAWC,EAAAA,IALf,IACEmE,YAAegZ,EADjB,EACiBA,UAAWZ,EAD5B,EAC4BA,OAAQa,EADpC,EACoCA,IAClCyE,EAFF,EAEEA,UACA/hB,EAHF,EAGEA,KACAxB,EAJF,EAIEA,IAEMwjB,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UAER,EAAkCwH,yBAAyBnM,EAAWZ,EAAQa,EAAK9e,GAA3EirB,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,aAEjB,OACE,gBAAC,KAAD,CAAUntB,OAAQzB,EAAIuB,eAAe,EAAO0tB,sBAAuBA,EAAuBvtB,UAAU,QAClG,gBAAC,KAAD,KACkBitB,EADlB,KAEI,wBAAM/L,IAAI,YAAY9gB,KAAM8sB,IAEfD,EACb,wBAAMluB,KAAK,SAASmB,QAAQ,sBALhC,MAQCmtB,EACc7pB,EAAKK,gBAClB,gBAAC,GAAD,CAAW2nB,WAAW,UAAUD,aAAc,8BAXlD,KAaE,gBAAC,EAAA5J,KAAD,CAAM6L,OAAK,EAACrtB,UAAU,8BACpB,uBAAKA,UAAU,uBACb,gBAAC,KAAD,CAAcslB,gBAAiBD,GAC7B,gBAAC,EAAA5D,IAAD,KACE,gBAAC,EAAAlG,IAAD,KAAM4R,KAGV,gBAAC,EAAA1L,IAAD,KACE,gBAAC,KAAD,CAAc6D,eAAgBD,GAC5B,gBAAC,EAAA9J,IAAD,CAAK0J,GAAI,GAAIkI,IAEf,gBAAC,EAAA5R,IAAD,KAAMlZ,QApCZ4qB,qBAAAA,YAAAA,uBAoDNA,qBAAqBnsB,aAAe,CAClCosB,OAAQ,gBAAC,GAAD,MACRC,OAAQ,gBAAC,GAAD,MACRC,sBAAuB,MAGzB,8BChEME,KAAO,IAET,uBAAK,cAAY,uBACf,gBAAC,GAAD,CACEnvB,GAAG,uBACH+uB,OACE,gCACE,gBAAC,GAAD,MACA,gBAAC,GAAD,QAIJ,gBAAC,KAAD,KACE,0EACA,wBAAMtuB,KAAK,cAAcmB,QAAQ,8EAEnC,gBAAC,GAAD,CAAUmmB,WAAW,aACrB,uBAAKlmB,UAAU,aACb,gBAAC,GAAD,CAAUkmB,WAAW,kBAEvB,uBAAKlmB,UAAU,aACb,gBAAC,GAAD,CAAUkmB,WAAW,sBArBzBoH,KAAAA,YAAAA,OA4BN,cC3BMC,eAAiB,EAAGrsB,MAAAA,EAAO6jB,KAAAA,KAC/B,gCACiB7jB,EACb,gBAAC,EAAAZ,WAAD,CAAYC,QAAQ,aAAaW,GAFrC,KAKE,uBAAKlB,UAAU,uBACZ+kB,EAAKxnB,KAAIonB,GACR,gBAAC,GAAD,CAASA,IAAKA,EAAKxiB,IAAKwiB,EAAIxmB,GAAI6B,UAAU,4BAA4B,cAAY,wBAChF,uBAAKA,UAAU,uDACb,2BACE,uBACEmkB,IAAKQ,EAAIxC,KAAOwC,EAAIxC,KAAOiC,GAC3BF,IAAKS,EAAI/lB,KACToB,UAAU,6CAGd,uBAAKA,UAAU,wCACb,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,aAAaokB,EAAI/lB,MACrC,gBAAC,EAAA0B,WAAD,CAAYb,MAAM,cAAcklB,EAAI6I,gBAnB5CD,eAAAA,YAAAA,iBA2CNA,eAAezsB,aAAe,CAC5BI,MAAO,MAGT,wBCdA,kCAtC2B+hB,IACzB,MAAQmC,GAAc9hB,EAAAA,EAAAA,YAAWC,EAAAA,IAAzB6hB,UACAC,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UACR,OACE,gCACE,gBAAC,KAAD,CAAcC,eAAgBD,GAC5B,gBAAC,KAAD,eAAgBG,MAAO,IAAKD,OAAQ,KAAStC,GAC3C,wBAAMwC,EAAE,IAAIC,EAAE,IAAIE,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAE5C,wBAAME,EAAE,IAAIC,EAAE,KAAKE,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OAC5C,wBAAME,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAC9C,wBAAME,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAE/C,wBAAME,EAAE,IAAIC,EAAE,MAAME,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OAC7C,wBAAME,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAC/C,wBAAME,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAIJ,MAAM,MAAMD,OAAO,SAInD,gBAAC,KAAD,CAAcD,gBAAiBD,GAC7B,gBAAC,KAAD,eAAgBE,OAAQ,IAAKC,MAAO,KAASvC,GAC3C,wBAAMwC,EAAE,IAAIC,EAAE,IAAIE,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAE5C,wBAAME,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OAC7C,wBAAME,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAC9C,wBAAME,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAIJ,MAAM,MAAMD,OAAO,MAC9C,wBAAME,EAAE,KAAKC,EAAE,KAAKE,GAAG,IAAIJ,MAAM,MAAMD,OAAO,MAE9C,wBAAME,EAAE,IAAIC,EAAE,MAAME,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OAC7C,wBAAME,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAC/C,wBAAME,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAIJ,MAAM,MAAMD,OAAO,MAC/C,wBAAME,EAAE,KAAKC,EAAE,MAAME,GAAG,IAAIJ,MAAM,MAAMD,OAAO,U,eCrBzD,MAEMkI,WAAa,EAAG9L,MAAAA,MACpB,SAGIre,EAAAA,EAAAA,YAAWC,EAAAA,IAHf,IACEmE,YAAegc,EADjB,EACiBA,WAAYhD,EAD7B,EAC6BA,UAAWC,EADxC,EACwCA,IACtCyE,EAFF,EAEEA,UAEMC,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UACAqI,EAAgB/L,EAAMC,OAAtB8L,YACR,OACE,gBAAC,GAAD,CACEvvB,GAAK,8BAA6BuvB,IAClCN,sBAAuB,CAAEM,YAAAA,GACzBP,OACE,gCACE,gBAAC,KAAD,CAAc7H,eAAgBD,GAC5B,uBAAKrlB,UAAU,aACb,gBAAC,GAAD,QAGJ,gBAAC,GAAD,QAIJ,gBAAC,MAAD,CACEsjB,MAAOqK,GAAAA,oCACPvO,UAAW,CACTsB,UAAAA,EACAC,IAAAA,EACA8C,SAAUC,EACVgK,YAAa/L,EAAMC,OAAO8L,YAC1BpH,KAAM,EACNC,SAhCqB,MAmCtB,EAAGhH,QAAAA,EAASC,MAAAA,EAAOrf,KAAAA,KAGGqf,EACf,gBAAC,KAAD,MAEeD,EACf,gBAAC,kCAAD,CAAoB,cAAY,yBAEjBpf,GAAqD,OAA7CA,EAAKwtB,oCAC5B,gBAAC,KAAD,MATN,CAYM,gBAAC,KAAD,UACE,6BAAS,gBAAextB,EAAKwtB,oCAAoC/uB,8BACjE,wBACEA,KAAK,cACLmB,QAAU,+BAA8BI,EAAKwtB,oCAAoC/uB,6CAGrF,gBAAC,GAAD,CACEsC,MAAOf,EAAKwtB,oCAAoC/uB,KAChDmmB,KAAM5kB,EAAKwtB,oCAAoCjH,6BAA6BxE,MAF9E,eArDVuL,WAAAA,YAAAA,aA0EN,oBCzEMG,iBAAmB,EAAGhuB,OAAAA,EAAQmZ,OAAAA,EAAQ7X,MAAAA,EAAO2sB,UAAAA,EAAW3uB,YAAAA,MAC5D,SAGIoE,EAAAA,EAAAA,YAAWC,EAAAA,IAHf,IACEmE,YAAegc,EADjB,EACiBA,WAAYhD,EAD7B,EAC6BA,UAAWC,EADxC,EACwCA,IACtCyE,EAFF,EAEEA,UAEMC,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UAER,OACE,gBAAC,GAAD,CACElnB,GAAIyB,EACJutB,OACE,gCACE,gBAAC,KAAD,CAAc7H,eAAgBD,GAC5B,uBAAKrlB,UAAU,aACb,gBAAC,GAAD,QAGJ,gBAAC,GAAD,QAIJ,gBAAC,KAAD,KACE,6BAAQ6tB,GACR,wBAAMjvB,KAAK,cAAcmB,QAASb,KAEpC,gBAAC,MAAD,CACEokB,MAAOoD,GAAAA,6BACPtH,UAAW,CACTsB,UAAAA,EACAC,IAAAA,EACA8C,SAAUC,EACV3K,OAAAA,EACAuN,KAAM,EACNC,SAnCmB,MAsCpB,EAAGhH,QAAAA,EAASC,MAAAA,EAAOrf,KAAAA,KAGGqf,EACf,gBAAC,KAAD,MAEeD,EACf,gBAAC,kCAAD,CAAoB,cAAY,+BAGhC,gBAAC,GAAD,CAAgBre,MAAOA,EAAO6jB,KAAM5kB,EAAKumB,6BAA6BxE,YA9ChF0L,iBAAAA,YAAAA,mBAgEN,0BC5EM9uB,IAAOC,EAAAA,EAAAA,IAAe,CAC1B+uB,WAAY,CACV3vB,GAAI,0BACJc,eAAgB,WAChBC,YAAa,+EAIX6uB,SAAW,IAEb,gBAAC,GAAD,CACEnuB,OAAO,2BACPmZ,OAAO,WACP7X,MAAOpC,GAAKgvB,WAAW7uB,eACvB4uB,UAAU,4CACV3uB,YAAY,uEAPZ6uB,SAAAA,YAAAA,WAYN,kBCpBMjvB,IAAOC,EAAAA,EAAAA,IAAe,CAC1B+uB,WAAY,CACV3vB,GAAI,6BACJc,eAAgB,eAChBC,YAAa,6FAIX8uB,YAAc,IAEhB,gBAAC,GAAD,CACEpuB,OAAO,+BACPmZ,OAAO,eACP7X,MAAOpC,GAAKgvB,WAAW7uB,eACvB4uB,UAAU,gDACV3uB,YAAY,6EAPZ8uB,YAAAA,YAAAA,cAYN,qBCpBMlvB,IAAOC,EAAAA,EAAAA,IAAe,CAC1B+uB,WAAY,CACV3vB,GAAI,+BACJc,eAAgB,iBAChBC,YAAa,0FAIX+uB,cAAgB,IAElB,gBAAC,GAAD,CACEruB,OAAO,iCACPmZ,OAAO,iBACP7X,MAAOpC,GAAKgvB,WAAW7uB,eACvB4uB,UAAU,kDACV3uB,YAAY,oFAPZ+uB,cAAAA,YAAAA,gBAYN,uB,0BCRA,MAEanvB,IAAOC,EAAAA,EAAAA,IAAe,CACjCmvB,eAAgB,CACd/vB,GAAI,iBACJc,eAAgB,qBAChBC,YAAa,6FAEfivB,kBAAmB,CACjBhwB,GAAI,yBACJc,eAAgB,sCAChBC,YACE,uHAEJkvB,gBAAiB,CACfjwB,GAAI,uBACJc,eAAgB,oDAChBC,YACE,wHAIAmvB,OAAS,EAAGrO,UAAYmG,OAAAA,OAC5B,SAEI7iB,EAAAA,EAAAA,YAAWC,EAAAA,IADbmE,YAAegc,EADjB,EACiBA,WAAYhD,EAD7B,EAC6BA,UAAWC,EADxC,EACwCA,IAElCiB,EAAS,IAAI0M,gBAAgBnI,GAC7BzD,GAAUiK,EAAAA,EAAAA,gBAAe/K,EAAO2M,IAAI,MAE1C,OACE,gBAAC,GAAD,CAAsBpwB,GAAG,yBAAyBgvB,OAAQ,gBAAC,GAAD,MAAYC,sBAAuB,CAAE1K,QAAAA,IAC7F,gBAAC,KAAD,KACE,iFAEF,gBAAC,MAAD,CACEY,MAAOC,KACPC,MAAOd,EACPtD,UAAW,CACTsB,UAAAA,EACAC,IAAAA,EACA8C,SAAUC,EACVhB,QAAAA,EACA4D,KAAM,EACNC,SA3CU,MA8CX,EAAGhH,QAAAA,EAASC,MAAAA,EAAOrf,KAAAA,KAEhB,gCACE,gBAAC,GAAD,MACA,gBAAC,EAAAG,WAAD,CAAYG,UAAU,UAAUF,QAAQ,eAAeP,UAAU,uBAC7D,GAAElB,GAAKovB,eAAejvB,mBAAmByjB,MAG1BlD,EACf,gBAAC,KAAD,MAEeD,EACf,gBAAC,kCAAD,CAAoB,cAAY,4BAEjBpf,GAAoE,IAA5DA,EAAK8hB,sCAAsCC,MAAMvF,OACxE,gBAAC,EAAA6R,KAAD,CAAMxuB,UAAU,uCACd,gBAAC,EAAAM,WAAD,KAAaxB,GAAKqvB,kBAAkBlvB,iBAGvByjB,GAAWviB,EAC1B,gBAAC,GAAD,CAAgB4kB,KAAM5kB,EAAK8hB,sCAAsCC,QAGjE,gBAAC,EAAAsM,KAAD,CAAMxuB,UAAU,0CACd,gBAAC,EAAAM,WAAD,KAAaxB,GAAKsvB,gBAAgBnvB,sBAhDhDovB,OAAAA,YAAAA,SAgEN,UAAehK,EAAAA,EAAAA,IAAWgK,Q,0BC/F1B,MAAMvvB,IAAOC,EAAAA,EAAAA,IAAe,CAC1B0vB,qBAAsB,CACpBtwB,GAAI,uCACJc,eAAgB,aAChBC,YAAa,iGAEfwvB,sBAAuB,CACrBvwB,GAAI,wCACJc,eAAgB,wCAChBC,YACE,yHAEJyvB,sBAAuB,CACrBxwB,GAAI,0CACJc,eAAgB,YAChBC,YAAa,gGAEf0vB,qBAAsB,CACpBzwB,GAAI,uCACJc,eAAgB,SAChBC,YAAa,kGAIX2vB,UAAY,EAAGxsB,SAAAA,EAAUysB,MAAAA,EAAOC,UAAAA,EAAWC,QAAAA,MAC/C,SAAwD7S,EAAAA,EAAAA,WAAS,GAAjE,YAAO8S,EAAP,KAA6BC,EAA7B,KACA,OACE,gCACE,uBACEtS,QAAS,IAAMsS,GAAwB,GACvCntB,KAAK,SACLC,SAAU,EACVmtB,QAASpxB,IACO,UAAVA,EAAEoE,KACJ+sB,GAAwB,IAG5B,cAAY,aAEX7sB,GAEH,gBAAC,MAAD,CACE+sB,SAAUC,KACVjQ,UAAW,CAAEkQ,MAAO,CAAER,MAAAA,IACtBzP,YAAa,KACX6P,GAAwB,GACxBH,OAGD,CAACQ,GAAgBhQ,QAAAA,KAEd,gBAAC,EAAAiQ,MAAD,CACE,cAAY,oBACZC,KAAMR,EACNprB,KAAK,KACLmrB,QAAS,KACPE,GAAwB,GACxBF,MAGF,gBAAC,EAAAU,YAAD,CAAaxC,OAAQpuB,GAAK2vB,qBAAqBxvB,iBAC/C,gBAAC,EAAA0wB,UAAD,KAAY7wB,GAAK4vB,sBAAsBzvB,gBACvC,gBAAC,EAAA2wB,YAAD,KACE,gBAAC,EAAAC,MAAD,CAAOxS,UAAU,SACf,gBAAC,EAAA3c,OAAD,CAAQjB,MAAM,UAAUmd,QAAS2S,EAAcO,SAAUvQ,IAAYuP,GAClEhwB,GAAK6vB,sBAAsB1vB,gBAE9B,gBAAC,EAAAyB,OAAD,CACEkc,QAAS,KACPsS,GAAwB,GACxBF,KAEFvvB,MAAM,OAELX,GAAK8vB,qBAAqB3vB,uBAmB/C4vB,UAAU/tB,aAAe,CACvBkuB,QAAS,OACTD,UAAW,QAGb,mB,0BCrFA,MAEMjwB,IAAOC,EAAAA,EAAAA,IAAe,CAC1BgxB,iBAAkB,CAChB5xB,GAAI,wBACJc,eAAgB,uCAChBC,YACE,yGAEJ4uB,WAAY,CACV3vB,GAAI,mBACJc,eAAgB,iBAChBC,YACE,yGAEJ8wB,gBAAiB,CACf7xB,GAAI,uBACJc,eAAgB,SAChBC,YAAa,qGAEf+wB,iBAAkB,CAChB9xB,GAAI,wBACJc,eAAgB,UAChBC,YAAa,gGAEfgxB,gBAAiB,CACf/xB,GAAI,uBACJc,eAAgB,SAChBC,YAAa,4FAIjB,SAASixB,iBAAiBhL,GACxB,OAAKA,GAAeA,EAAWxI,OAGxB,gBAAC,EAAArc,WAAD,CAAYb,MAAM,cAAc0lB,EAAW5nB,KAAI6yB,GAAKA,EAAExxB,OAAMse,KAAK,MAF/D,KAFFiT,iBAAAA,YAAAA,mBAOT,MAAME,OAAS,EAAGrQ,UAAYmG,OAAAA,OAC5B,SAGI7iB,EAAAA,EAAAA,YAAWC,EAAAA,IAFEmgB,EADjB,EACEhc,YAAegc,WACf0B,EAFF,EAEEA,UAEMC,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UAER,OACE,gBAAC,GAAD,CACElnB,GAAG,0BACHgvB,OACE,gCACE,gBAAC,KAAD,CAAc7H,eAAgBD,GAC5B,uBAAKrlB,UAAU,aACb,gBAAC,GAAD,QAGJ,gBAAC,GAAD,QAIJ,gBAAC,KAAD,KACE,6DAEF,gBAAC,MAAD,CACEsjB,MAAOgN,KACPlR,UAAW,CACTqE,SAAUC,EACV4C,KAAM,EACNC,SApEU,MAuEX,EAAGhH,QAAAA,EAASC,MAAAA,EAAOrf,KAAAA,EAAMowB,QAAAA,KAEtB,gCACE,gBAAC,EAAAjwB,WAAD,CAAYC,QAAQ,eAAeP,UAAU,aAC1ClB,GAAKgvB,WAAW7uB,gBAGAugB,EACf,gBAAC,KAAD,CAAW,cAAY,yBAERD,EACf,gBAAC,kCAAD,CAAoB,cAAY,4BAEjBpf,GAAoD,IAA5CA,EAAKmwB,sBAAsBpO,MAAMvF,OACxD,gBAAC,EAAA6R,KAAD,CAAMxuB,UAAU,6BACd,gBAAC,EAAAM,WAAD,KAAaxB,GAAKixB,iBAAiB9wB,iBAIrC,uBAAKe,UAAU,6BAA6B,cAAY,qBACrDG,EAAKmwB,sBAAsBpO,MAAM3kB,KAAIonB,GACpC,uBACE3kB,UAAU,+DACVmC,IAAKwiB,EAAIxmB,GACT,cAAY,wBAEZ,uBAAK6B,UAAU,YACb,uBAAKA,UAAU,aACb,uBACEmkB,IAAKQ,EAAIxC,KAAOwC,EAAIxC,KAAOiC,GAC3BF,IAAKS,EAAI/lB,KACToB,UAAU,0BAGd,2BACE,gBAAC,EAAAM,WAAD,CAAYG,UAAU,KAAKF,QAAQ,aAChCokB,EAAI/lB,MAENuxB,iBAAiBxL,EAAIQ,cAG1B,uBAAKnlB,UAAU,kCACb,qBACEC,KAAO,GAAE0kB,EAAIvC,MAAMoO,SAASrK,IAC5BnmB,UAAU,sEAEV,gBAAC,GAAAywB,YAAD,CAAa5sB,KAAK,OAClB,wBAAM7D,UAAU,aAAalB,GAAKkxB,gBAAgB/wB,iBAEpD,gBAAC,GAAD,CACE0lB,IAAKA,EACL3kB,UAAU,gFAEV,gBAAC,GAAA0wB,UAAD,CAAW7sB,KAAK,OAChB,wBAAM7D,UAAU,aAAalB,GAAKmxB,iBAAiBhxB,iBAErD,uBAAKe,UAAU,qDACG2kB,EAAIC,cADtB,KAEI,gBAAC,GAAD,CAAWkK,MAAOnK,EAAIxmB,GAAI4wB,UAAW,IAAMwB,KACzC,uBAAKvwB,UAAU,sEACb,gBAAC,GAAA2wB,UAAD,CAAW9sB,KAAK,OAChB,wBAAM7D,UAAU,aAAalB,GAAKoxB,gBAAgBjxB,6BA7F9EoxB,OAAAA,YAAAA,SAoHN,UAAehM,EAAAA,EAAAA,IAAWgM,Q,eC5K1B,MAqCA,uCArCuCpN,IACrC,MAAQmC,GAAc9hB,EAAAA,EAAAA,YAAWC,EAAAA,IAAzB6hB,UACAC,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UACR,OACE,gCACE,gBAAC,KAAD,CAAcC,gBAAiBD,GAC7B,gBAAC,KAAD,eAAgBE,OAAQ,IAAKC,MAAO,KAASvC,GAC3C,wBAAMwC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OAErD,wBAAME,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACrD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAEtD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACtD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACtD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,SAG1D,gBAAC,KAAD,CAAeD,eAAgBD,GAC7B,gBAAC,KAAD,eAAgBE,OAAQ,IAAKC,MAAO,KAASvC,GAC3C,wBAAMwC,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACtD,wBAAME,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACtD,wBAAME,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OAEtD,wBAAME,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,KAAKD,OAAO,OAEpD,wBAAME,EAAE,KAAKC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,QACrD,wBAAME,EAAE,MAAMC,EAAE,KAAKC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,QAEtD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACtD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,OACtD,wBAAME,EAAE,KAAKC,EAAE,MAAMC,GAAG,IAAIC,GAAG,IAAIJ,MAAM,MAAMD,OAAO,W,gDC9BhE,MAoIA,sBApIsB,EAAGqL,MAAAA,MACvB,SAA8BzU,EAAAA,EAAAA,UAAS,GAAvC,YAAO0U,EAAP,KAAgBC,EAAhB,KACMC,EAAeH,EAAMC,GACnBzL,GAAc9hB,EAAAA,EAAAA,YAAWC,EAAAA,IAAzB6hB,UACAC,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UAER,OAAK0L,EAKH,gCACE,gBAAC,KAAD,CAAczL,gBAAiBD,GAC7B,uBAAKrlB,UAAU,uGACZ4wB,EAAMrzB,KAAIud,GAEqB,YAAXA,EAAEgC,KACjB,uBACE3a,IAAK2Y,EAAEjZ,IACP7B,UAAU,mHAEV,0BACEA,UAAU,4DACV,cAAY,+BACZgxB,iBAAe,EACf7M,IAAKrJ,EAAEjZ,IACPX,MAAO4Z,EAAEmW,WAKb,uBACE9uB,IAAK2Y,EAAEjZ,IACP7B,UAAU,mHAEV,uBACEkkB,IAAKpJ,EAAEmW,QACP,cAAY,+BACZjxB,UAAU,4DACVmkB,IAAKrJ,EAAEjZ,WAQrB,gBAAC,KAAD,CAAeyjB,eAAgBD,GAC7B,gCACE,uBAAKrlB,UAAU,iDAE4B,YAAtB+wB,EAAajU,KAC5B,uBAAK9c,UAAU,uDACb,0BACEA,UAAU,4DACV,cAAY,+BACZgxB,iBAAe,EACf7M,IAAK4M,EAAalvB,IAClBX,MAAO6vB,EAAaE,WAKxB,uBAAKjxB,UAAU,uDACb,uBACEkkB,IAAK6M,EAAaE,QAClB,cAAY,+BACZjxB,UAAU,4DACVmkB,IAAK4M,EAAalvB,QAM5B,uBACE7B,UAAU,0DACV,cAAY,6BAEX4wB,EAAMrzB,KAAI,CAACud,EAAGoW,IACb,uBACE/uB,IAAK2Y,EAAEjZ,IACP7B,UAAY,2DACVkxB,IAAaL,EAAU,iEAAmE,IAE5F1B,QAASpxB,IACO,UAAVA,EAAEoE,KACJ2uB,EAAWI,IAGfnvB,KAAK,SACL6a,QAAS,KACPkU,EAAWI,IAEblvB,SAAU,GAGoB,YAAX8Y,EAAEgC,KACjB,0BACE,cAAY,2BACZ9c,UAAU,uDACVgxB,iBAAe,EACf7M,IAAKrJ,EAAEjZ,IACPX,MAAO4Z,EAAEmW,UAIX,uBACE,cAAY,2BACZ/M,IAAKpJ,EAAEmW,QACPjxB,UAAU,uDACVmkB,IAAKrJ,EAAEjZ,aAvGlB,MCTLsvB,eAAiB,CAACC,EAAMltB,EAAOoe,EAAM+O,EAAWlL,IACpD,uBAAKnmB,UAAU,sBACb,uBAAKA,UAAU,4CAA4CoxB,GAC3D,uBAAKpxB,UAAU,sDACb,gBAAC,EAAAM,WAAD,KAAc,GAAE4D,MAEhB,qBAAGjE,KAAO,GAAEqiB,IAAO6D,KACjB,gBAAC,EAAA7lB,WAAD,CAAYC,QAAQ,OAAOP,UAAU,8CAClCqxB,MARLF,eAAAA,YAAAA,iBAeN,wBC2BMryB,IAAOC,EAAAA,EAAAA,IAAe,CAC1BuyB,mBAAoB,CAClBnzB,GAAI,qBACJc,eAAgB,cAChBC,YAAa,0FAEfqyB,sBAAuB,CACrBpzB,GAAI,yBACJc,eAAgB,mCAChBC,YACE,yHAEJsyB,uBAAwB,CACtBrzB,GAAI,0BACJc,eAAgB,6DAChBC,YACE,yGAEJuyB,gBAAiB,CACftzB,GAAI,oBACJc,eAAgB,YAChBC,YACE,6GAEJwyB,cAAe,CACbvzB,GAAI,kBACJc,eAAgB,UAChBC,YACE,gHAEJyyB,iBAAkB,CAChBxzB,GAAI,oBACJc,eAAgB,aAChBC,YACE,iIAEJ0yB,aAAc,CACZzzB,GAAI,iBACJc,eAAgB,SAChBC,YACE,0GAEJ2yB,cAAe,CACb1zB,GAAI,kBACJc,eAAgB,UAChBC,YACE,uHAEJ4yB,WAAY,CACV3zB,GAAI,oBACJc,eAAgB,aAChBC,YACE,mIAQN,MAAM6yB,uBAAyB,EAC7BpQ,OACEC,QAAUkN,MAAAA,IAEZ9O,UAAYmG,OAAAA,EAAQ/L,SAAAA,GACpB4X,QAAAA,MAEA,SAAsC7V,EAAAA,EAAAA,UAAS,GAA/C,YAAO8V,EAAP,KAAoBC,EAApB,KACA,GAAsC/V,EAAAA,EAAAA,WAAS,GAA/C,YAAOgW,EAAP,KAAoBC,EAApB,KACA,GAA0CjW,EAAAA,EAAAA,WAAS,GAAnD,YAAOkW,EAAP,KAAsBC,EAAtB,KACA,GAA4BhvB,EAAAA,EAAAA,YAAWC,EAAAA,IAA/B6hB,EAAR,EAAQA,UAAW/hB,EAAnB,EAAmBA,KACXgiB,GAAc3F,EAAAA,EAAAA,6BAA4B0F,GAA1CC,UACR,GAGI/hB,EAAAA,EAAAA,YAAWC,EAAAA,IAHf,IACEmE,YAAegZ,EADjB,EACiBA,UAAWZ,EAD5B,EAC4BA,OAAQa,EADpC,EACoCA,IAClC9e,EAFF,EAEEA,IAEI4hB,EApBR,SAAS8O,eAAepM,GACtB,OAAO,IAAImI,gBAAgBnI,GAAQoI,IAAI,SAAW,KAmBjCgE,CAAepM,GAChC,EAAkC0G,yBAAyBnM,EAAWZ,EAAQa,EAAK9e,GAA3EirB,EAAR,EAAQA,QAASC,EAAjB,EAAiBA,aAyBXyF,cAAgB,CAACryB,EAAO,KAC5B6xB,EAAU7xB,EAAKsyB,iCAAmCtyB,EAAKuyB,mCAEzD,GAKIxT,EAAAA,GAAAA,IAAS8S,EAAUS,KAAmCC,KAAoC,CAC5FtT,UAAW,CAAEqE,SAAAA,EAAUqL,MAAAA,GACvBzP,YAAa,CAAClf,EAAO,KAlCHwyB,CAAAA,IAClB,GAAIA,GAAcA,EAAW5uB,QAAQ6uB,4BAA8BP,EAAe,CAChF,MAAMQ,EAAc,2BACpBC,GAAAA,GAAAA,WAAmBH,EAAW5uB,QAAQ6uB,0BAA2B,CAC/Dh0B,KAAMi0B,IAERC,GAAAA,GAAAA,SAAiB1Y,EAAU,CAACyY,IAC5BP,GAAiB,GAGfK,IAAeR,IACjBY,EAAAA,eAAAA,MAAqB,CACnBn0B,KAAMo0B,EAAAA,YAAAA,cACN7yB,KAAM,CACJE,WAAY,WACZD,WAAY,wBACZ0uB,MAAO6D,EAAWx0B,GAClB80B,QAASN,EAAW/zB,QAGxBwzB,GAAe,KAcW/S,CAAYmT,cAAcryB,MANtDof,EADF,EACEA,QACAC,EAFF,EAEEA,MACA+Q,EAHF,EAGEA,QAHF,IAIEpwB,KAKIwyB,EAAaH,mBATnB,MAIoB,GAJpB,GAWA,OACE,gBAAC,KAAD,CAAU5yB,OAAO,0BAA0BF,eAAe,EAAOG,UAAU,QACzE,gBAAC,GAAD,MACewD,EAAKK,gBAClB,gBAAC,GAAD,CAAW2nB,WAAW,UAAUD,aAAc,8BAHlD,KAOqB5L,EACf,gBAAC,KAAD,CAAW,cAAY,+BAERD,EACf,gBAAC,uCAAD,CAAgC,cAAY,kCAE5BoT,EAbtB,CAmBM,gBAAC,KAAD,UACE,6BAAS,GAAEA,EAAW/zB,uCACtB,wBAAMA,KAAK,cAAcmB,QAAS4yB,EAAWnF,UAC7BV,EAHlB,KAII,wBAAM/L,IAAI,YAAY9gB,KAAM8sB,IAEfD,EACb,wBAAMluB,KAAK,SAASmB,QAAQ,sBAPhC,MAUA,gBAAC,EAAAyhB,KAAD,CAAMxhB,UAAU,yCAAhB,SACE,gBAAC,EAAAyhB,IAAD,KACE,gBAAC,EAAAlG,IAAD,CAAKE,GAAI,EAAGyJ,GAAI,IACd,uBACEllB,UAAU,qCACVmkB,IAAKwO,EAAWxQ,KAAOwQ,EAAWxQ,KAAOiC,GACzCF,IAAKyO,EAAW/zB,QAGpB,gBAAC,KAAD,CAAc0mB,gBAAiBD,GAC7B,gBAAC,EAAA9J,IAAD,CAAK2J,GAAI,GAAIllB,UAAU,wEACrB,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,YAAYP,UAAU,aACvC2yB,EAAW/zB,MAEC+zB,EAAWO,UACxB,gBAAC,EAAAxyB,OAAD,CAAQjB,MAAM,OAAOoE,KAAK,KAAK7D,UAAU,aACtClB,GAAK2yB,gBAAgBxyB,gBAN5B,KASE,gBAAC,EAAAqB,WAAD,CAAYb,MAAM,cAAckzB,EAAWnF,WAG/C,gBAAC,KAAD,CAAelI,eAAgBD,GAC7B,gBAAC,EAAA9J,IAAD,CAAKE,GAAI,GACP,uBAAKzb,UAAU,+BACb,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,YAAYP,UAAU,aACvC2yB,EAAW/zB,MAEC+zB,EAAWO,UACxB,gBAAC,EAAAxyB,OAAD,CAAQjB,MAAM,OAAOoE,KAAK,MACvB/E,GAAK2yB,gBAAgBxyB,gBAN5B,MAUA,gBAAC,EAAAqB,WAAD,CAAYb,MAAM,cAAckzB,EAAWnF,WAG/C,gBAAC,EAAAjS,IAAD,CAAKE,GAAI,EAAGyJ,GAAI,IAEqC,eAAhCyN,EAAW5uB,QAAQovB,SAClC,gBAAC,EAAAzyB,OAAD,CAAQT,KAAO,GAAE0yB,EAAW5uB,QAAQue,OAAQ7iB,MAAM,UAAUmE,WAAS,GAClE9E,GAAK6yB,iBAAiB1yB,gBAGsB,WAAhC0zB,EAAW5uB,QAAQovB,SAClC,gBAAC,EAAAzyB,OAAD,CAAQT,KAAO,GAAE0yB,EAAW5uB,QAAQue,OAAQ7iB,MAAM,UAAUmE,WAAS,GAClE9E,GAAK8yB,aAAa3yB,gBAG0B,YAAhC0zB,EAAW5uB,QAAQovB,SAClC,gBAAC,EAAAzyB,OAAD,CAAQT,KAAO,GAAE0yB,EAAW5uB,QAAQue,OAAQ7iB,MAAM,UAAUmE,WAAS,GAClE9E,GAAK+yB,cAAc5yB,gBAItB,gBAAC,EAAAyB,OAAD,CACET,KAAO,GAAE0yB,EAAW5uB,QAAQue,OAC5B7iB,MAAM,UACNmE,WAAS,EACT,mBAAiB1D,EAAAA,EAAAA,0BAAyB,CACxCC,KAAM,CACJC,WAAY,4BACZC,WAAY,eAIfvB,GAAK4yB,cAAczyB,kBAM9B,gBAAC,EAAAwiB,IAAD,CAAKzhB,UAAU,aACb,gBAAC,EAAAub,IAAD,CAAKE,GAAI,EAAGyJ,GAAI,GAAIkO,QAAS,EAAGpzB,UAAU,aACxC,gBAAC,EAAAwuB,KAAD,CACE6E,QAAM,EACNnyB,MAAO,gBAAC,EAAAZ,WAAD,CAAYC,QAAQ,aAAazB,GAAKwyB,mBAAmBryB,iBAE/DkyB,GACC,gBAAC,GAAAmC,QAAD,MACA,YACAX,EAAW5uB,QAAQwvB,WACnBZ,EAAW5uB,QAAQyvB,UACnBrN,GAEawM,EAAW5uB,QAAQ0vB,aAC/BtC,GACC,gBAAC,GAAAuC,UAAD,MACA,QACC,UAASf,EAAW5uB,QAAQ0vB,eAC7Bd,EAAW5uB,QAAQ0vB,aACnBtN,GAjBN,KAoBiBwM,EAAW5uB,QAAQ4vB,mBAC/BxC,GACC,gBAAC,GAAAyC,iBAAD,MACA,QACC,OAAMjB,EAAW5uB,QAAQ4vB,qBAC1BhB,EAAW5uB,QAAQ4vB,mBACnBxN,GA1BN,KA6BiBwM,EAAW5uB,QAAQ8vB,WAC/B1C,GACC,gBAAC,GAAA2C,UAAD,MACA,kBACC,GAAEnB,EAAW5uB,QAAQ8vB,aACtBlB,EAAW5uB,QAAQ8vB,WACnB1N,GAnCN,KAsCGgL,GACC,gBAAC,GAAA4C,SAAD,MACA,iBACApB,EAAW5uB,QAAQiwB,iBACnBrB,EAAW5uB,QAAQiwB,iBACnB7N,GAEDgL,GACC,gBAAC,GAAA8C,SAAD,MACA,mBACAtB,EAAW5uB,QAAQmwB,cACnBvB,EAAW5uB,QAAQmwB,cACnB/N,GAEawM,EAAW5uB,QAAQowB,QAC/BhD,GACC,gBAAC,GAAAiD,cAAD,MACA,OACC,GAAEzB,EAAW5uB,QAAQowB,UACtBxB,EAAW5uB,QAAQowB,QACnBhO,GA1DN,MA8DewM,EAAWO,YAAcP,EAAW/N,cACjD,gBAAC,GAAD,CAAWkK,MAAO6D,EAAWx0B,GAAI4wB,UAAW,IAAMwB,KAChD,gBAAC,EAAA7vB,OAAD,CACEkD,WAAS,EACTnE,MAAM,QACNO,UAAU,6DAETlB,GAAKgzB,WAAW7yB,iBAtEzB,MA2EA,gBAAC,EAAAsc,IAAD,CAAKE,GAAI,EAAGyJ,GAAI,IACd,gBAAC,sBAAD,CACE,cAAY,0BACZ0L,MAAO,GAAGyD,OACR1B,EAAW5uB,QAAQuwB,WACf,CACE,CACEzyB,IAAK8wB,EAAW5uB,QAAQuwB,WACxBxX,KAAM,UACNmU,QAAS0B,EAAW/zB,OAGxB,GACJ+zB,EAAW5uB,QAAQwwB,YAAYh3B,KAAIi3B,IAAK,CACtC3yB,IAAK2yB,EACL1X,KAAM,QACNmU,QAAS0B,EAAW/zB,YAI1B,uBAAKoB,UAAU,aACZ2yB,EAAW5uB,QAAQ0wB,YAAYl3B,KAAIyb,GAClC,uBAAKhZ,UAAU,8BAA8BmC,IAAK6W,GAChD,gBAAC,GAAA0E,UAAD,CAAWje,MAAM,eACjB,gBAAC,EAAAa,WAAD,CAAYN,UAAU,YAAYO,QAAQ,gBACvCyY,OAKT,uBAAKhZ,UAAU,uBACb,gBAAC,EAAA00B,KAAD,CAAMj1B,MAAM,cAAck1B,SAAU9tB,GAASqrB,EAAerrB,IAC1D,gBAAC,EAAA+tB,IAAD,CAAKjzB,SAA0B,IAAhBswB,EAAmB/wB,MAAM,eACtC,uBACEurB,wBAAyB,CACvBC,QAAQC,EAAAA,EAAAA,gBAAegG,EAAWkC,qBAIxC,gBAAC,EAAAD,IAAD,CACEjzB,SAA0B,IAAhBswB,EACV/wB,MAAM,eACN,cAAY,wCAEGyxB,EAAW5uB,QAAQ+wB,aALpC,CAMI,gBAAC,EAAAx0B,WAAD,CAAYC,QAAQ,YAAYE,UAAU,KAAK,cAAY,oCAA3D,UACGs0B,EAAAA,EAAAA,IAAWj2B,GAAK0yB,uBAAuBvyB,eAAgB,CACtD+1B,YAAarC,EAAW5uB,QAAQ+wB,aAAahY,QAGjD,sBAAI9c,UAAU,iEAAd,SACE,sBAAIA,UAAU,yCACZ,gBAAC,GAAAi1B,eAAD,CAAgBx1B,MAAM,gBACtB,qBACEQ,KAAM0yB,EAAW5uB,QAAQ+wB,aAAaI,WAAa/O,EACnDyB,OAAO,SACP7G,IAAI,uBAEJ,gBAAC,EAAAzgB,WAAD,CAAYN,UAAU,YAAYO,QAAQ,QACvCoyB,EAAW5uB,QAAQ+wB,aAAa5wB,UAK1ByuB,EAAW5uB,QAAQ+wB,aAAa51B,YAC7C,8BAAIyzB,EAAW5uB,QAAQ+wB,aAAa51B,aA1B1C,WA6BiByzB,EAAW5uB,QAAQoxB,OA7BpC,CA8BI,gBAAC,EAAA70B,WAAD,CAAYC,QAAQ,YAAYE,UAAU,KAA1C,SACG3B,GAAKyyB,sBAAsBtyB,gBAE9B,sBAAIe,UAAU,iEAAd,SACG2yB,EAAW5uB,QAAQoxB,OAAO53B,KAAIye,GAC7B,sBAAIhc,UAAU,wCAAwCmC,IAAK6Z,GACzD,gBAAC,GAAAoZ,SAAD,CAAU31B,MAAM,gBAChB,wBAAMO,UAAU,aAAagc,QArCvC,YA1MV,uBAAK,cAAY,iCACf,gBAAC,KAAD,SAxEN+V,uBAAAA,YAAAA,yBAoVNA,uBAAuBjxB,aAAe,CACpCkxB,SAAS,GAGX,gCCjbMqD,oBAAsB,EAAGnS,QAAAA,OAC7BoS,EAAAA,EAAAA,YAAU,KACR,MAAMC,EAAWrS,EAAQsS,QAAO,KAC9BzV,OAAO0V,SAAS,EAAG,MAErB,MAAO,KACLF,OAED,CAACrS,IAGF,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAOjiB,KAAK,uBAAuBmiB,OAAQH,GAAS,gBAACyS,GAAD,iBAAiBzS,EAAjB,CAAwB+O,SAAO,OACnF,gBAAC,KAAD,CAAO/wB,KAAK,uBAAuBR,UAAWk1B,GAAa7T,OAAK,IAChE,gBAAC,KAAD,CAAO7gB,KAAK,gBAAgBR,UAAWm1B,GAAY9T,OAAK,IACxD,gBAAC,KAAD,CAAO7gB,KAAK,uBAAuBR,UAAWo1B,GAAmB/T,OAAK,IACtE,gBAAC,KAAD,CAAO7gB,KAAK,qBAAqBR,UAAWq1B,GAAiBhU,OAAK,IAClE,gBAAC,KAAD,CAAO7gB,KAAK,sBAAsBR,UAAWs1B,GAAcjU,OAAK,IAChE,gBAAC,KAAD,CAAO7gB,KAAK,eAAeR,UAAWu1B,GAAYlU,OAAK,IACvD,gBAAC,KAAD,CAAO7gB,KAAK,gCAAgCR,UAAWw1B,GAAgBnU,OAAK,IAC5E,gBAAC,KAAD,CAAO7gB,KAAK,QAAQR,UAAWy1B,GAAUpU,OAAK,IAC9C,gBAAC,KAAD,CAAOrhB,UAAW01B,EAAAA,OArBlBd,oBAAAA,YAAAA,sBAgCN,UAAehR,EAAAA,EAAAA,IAAWgR,qB,eChDnB,MAAMe,GAAmB93B,OAAO2E,OAAO,CAC5CozB,SAAU,iBACVC,iBAAkB,qBAGPC,GAAaj4B,OAAO2E,OAAO,CACtCuzB,SAAU,aAGCC,GAAcn4B,OAAO2E,OAAO,CACvCyzB,MAAO,QACPC,KAAM,SCRKC,GAAUt4B,OAAO2E,OAAO,CACnC4zB,GAAI,KACJC,QAAS,YAoBX,mBAjBmB,KACjB,MAAQ1R,GAAc9hB,EAAAA,EAAAA,YAAWC,EAAAA,IAAzB6hB,UAMR,MAAsB,oBAAXrF,OACLqF,EAAUnc,QAAQ,gBAAkB,EAAU2tB,GAAQC,GACnDD,GAAQE,QAEX/W,OAAOgX,sBAA0B3W,SAAS4W,aACvCJ,GAAQC,GAEVD,GAAQE,SCfjB,iBAP2BG,IAAW,CACpCra,QAASqa,EACTC,WAAYn5B,IACI,UAAVA,EAAEoE,KAAiB80B,OCM3B,GANoB,oBAAXlX,aACoB,IAApBA,OAAOK,eAC2B,IAAlCL,OAAOK,SAAS+W,cACnBC,EAAAA,gBACA9B,EAAAA,UCWN,0BAV0B,CAACr1B,EAAMo3B,KAC/B,QAAqCA,EAA7BC,YAAAA,OAAR,MAAsB,GAAtB,EAA0BC,EAAWF,EAAXE,OAM1B,MALe,GAAEt3B,KACI3B,OAAOD,KAAKi5B,GAC9B/5B,KAAIi6B,GAAa,GAAEzQ,mBAAmByQ,MAAazQ,mBAAmBuQ,EAAYE,QAClFta,KAAK,MACQqa,EAAU,IAAGA,IAAW,K,8nBCV1C,MAAME,eACJp3B,GACA,CAACD,EAAYD,EAAO,MAApB,CACEA,KAAM,sBACJE,WAAAA,EACAD,WAAAA,GACGD,KAIHu3B,WAAar3B,GAAc,CAACD,EAAYD,KAC5C4yB,EAAAA,eAAAA,MAAA,sBACEn0B,KAAMo0B,EAAAA,YAAAA,qBACHyE,eAAep3B,EAAfo3B,CAA2Br3B,EAAYD,MASjCw3B,GAAcr5B,OAAO2E,OAAO,CACvC20B,UAAW,gBACXC,IAAK,sBACLC,qBAAsB,sBAGxB,MAAMC,GACJC,YAAY33B,GAAY,KAIxB43B,kBAAoB,CAAC91B,EAAK+1B,EAAajB,KAChCiB,GAGEtV,KAAKzgB,KACRygB,KAAKzgB,GAAO,IAEdygB,KAAKzgB,GAAK+1B,GAAe,IAAItR,IAAShE,KAAKuV,OAAOT,cAAcT,KAAWrQ,KAL3EhE,KAAKzgB,GAAO,IAAIykB,IAAShE,KAAKuV,OAAOT,cAAcT,KAAWrQ,IAOzDhE,MAZPA,KAAKuV,OAbY93B,CAAAA,IAAc,CACjCq3B,WAAYA,WAAWr3B,GACvBo3B,eAAgBA,eAAep3B,KAWf+3B,CAAa/3B,IAgB/B,MAAMg4B,aAAeC,GAAOA,EAAIhyB,QAAQ,IAAK,KAEvCiyB,oBAAsBC,GACP,oBAAfA,EACK,MAEFA,EAwCIC,IAJiBz0B,IAAAA,SAC5BA,IAAAA,UAAoB,CAACA,IAAAA,KAAgBA,IAAAA,SAAmBA,IAAAA,SAG1BqzB,IAC9B,MAAmBqB,EAA2DrB,EAAtEj2B,UAAiCu3B,EAAqCtB,EAAjDuB,WAAmCC,EAAcxB,EAA1ByB,WACpD,MAAO,CAACxW,EAAMyW,EAAO,MACnB,MAAoBC,EAAgDD,EAA5DD,WAAsCG,EAAsBF,EAAlCG,WAAuB3B,EAAWwB,EAAXxB,OACnD4B,EAAa,CACjB7B,YAAa,CACXl2B,UAAWs3B,EACXE,WAAYD,IAQhB,OALIE,GAAaG,KACfG,EAAW7B,YAAYwB,WAAaE,GAAgBH,GAElDI,IAAWE,EAAW7B,YAAY4B,WAAaD,GAC/C1B,IAAQ4B,EAAW5B,OAASA,GACzB6B,0BAAkB9W,EAAM6W,MAInC,QAxDkBE,IAChB,OAAQA,GACN,KAAK1B,GAAYC,UACjB,KAAKD,GAAYE,IACf,OAAO,IAAIE,GAAiBsB,GACzBpB,kBAAkB,QAAS,aAAaqB,GAAe,CAAE,SAAQjB,aAAaiB,mBAC9ErB,kBAAkB,QAAS,cAAcqB,GAAe,CAAE,SAAQjB,aAAaiB,mBAC/ErB,kBAAkB,QAAS,cAAcsB,GAAQ,CAAE,qBAAoBlB,aAAakB,QACpFtB,kBAAkB,QAAS,aAAaqB,GAAe,CAAE,SAAQjB,aAAaiB,mBACnF,KAAK3B,GAAYG,qBACf,OAAO,IAAIC,GAAiBsB,GACzBpB,kBAAkB,QAAS,cAAc,CAACO,EAAYgB,IAAkB,CACvE,eACA,CACElT,KAAM,cACNmT,OAAQ,OACRjB,WAAYD,oBAAoBC,GAChCkB,eAAgBF,MAGnBvB,kBAAkB,QAAS,aAAa,IAAM,CAC7C,eACA,CACE3R,KAAM,cACNmT,OAAQ,iBAGXxB,kBAAkB,WAAY,MAAM,IAAM,CAAC,YAAa,CAAE3R,KAAM,kBACrE,QACE,MAAM,IAAItoB,MAAO,6BAA4Bq7B,QCxFtCM,GAAOr7B,OAAO2E,OAAO,CAChC20B,UAAW,YACXgC,eAAgB,mBCQlB,eAN0B3C,GAAW,KACnC,MAAM4C,EAAe,CAAC,SAAU,IAAM5C,EAHlBlX,OAAO+Z,aDGI,KCE/B,OADA/Z,OAAOga,oBAAoBF,GACpB,IAAM9Z,OAAOia,uBAAuBH,ICH7C,GAFeI,QAAUtC,GAAYE,KC6DrC,GA/Da,CACXqC,wBAAyB,CACvB/7B,GAAI,qCACJc,eAAgB,iCAChBC,YAAa,yDAEfi7B,SAAU,CACRh8B,GAAI,sBACJc,eAAgB,oCAChBC,YAAa,8DAEfk7B,UAAW,CACTj8B,GAAI,uBACJc,eAAgB,YAChBC,YAAa,oFAEfm7B,kBAAmB,CACjBl8B,GAAI,+BACJc,eAAgB,sBAChBC,YAAa,yFAEfo7B,gBAAiB,CACfn8B,GAAI,6BACJc,eAAgB,mBAChBC,YAAa,0FAEfq7B,SAAU,CACRp8B,GAAI,sBACJc,eAAgB,WAChBC,YAAa,iFAEfs7B,cAAe,CACbr8B,GAAI,2BACJc,eAAgB,iBAChBC,YAAa,oFAEfu7B,kBAAmB,CACjBt8B,GAAI,+BACJc,eAAgB,qBAChBC,YAAa,gGAEfw7B,YAAa,CACXv8B,GAAI,yBACJc,eAAgB,eAChBC,YAAa,0FAEfy7B,iBAAkB,CAChBx8B,GAAI,8BACJc,eAAgB,oBAChBC,YAAa,gFAEf07B,qBAAsB,CACpBz8B,GAAI,kCACJc,eAAgB,wBAChBC,YAAa,6EAEf27B,SAAU,CACR18B,GAAI,sBACJc,eAAgB,aAChBC,YAAa,gFCtDX47B,GAAUrC,GAAiB,CAC/Br3B,UAAW,kBACXw3B,WAAY,YACZE,WAAY,WAiEd,GA9DoBx6B,OAAO2E,OAAO,CAChCm3B,UAAW,CACThd,MAAMhf,EAAAA,EAAAA,GAAEU,GAAAA,WACRi8B,UAAW,CACT,CACE3d,MAAMhf,EAAAA,EAAAA,GAAEU,GAAAA,mBACRmB,KAAM66B,GAAQ,4CAA6C,CACzD5B,WAAY,wBAEd8B,QAAS,IAAM7C,GAAAA,MAAAA,WAAwB,wBAEzC,CACE/a,MAAMhf,EAAAA,EAAAA,GAAEU,GAAAA,iBACRmB,KAAM66B,GAAQ,6BAA8B,CAC1C5B,WAAY,qBAEd8B,QAAS,IAAM7C,GAAAA,MAAAA,WAAwB,uBAI7CoC,SAAU,CACRnd,MAAMhf,EAAAA,EAAAA,GAAEU,GAAAA,UACRmB,KAAM66B,GAAQ,4BAA6B,CACzC5B,WAAY,aAEdtc,QAAS,IAAMub,GAAAA,MAAAA,WAAwB,aAEzCqC,cAAe,CACbpd,MAAMhf,EAAAA,EAAAA,GAAEU,GAAAA,eACRi8B,UAAW,CACT,CACE3d,MAAMhf,EAAAA,EAAAA,GAAEU,GAAAA,mBACRmB,KAAM66B,GAAQ,sCAAuC,CACnD5B,WAAY,uBAEd8B,QAAS,IAAM7C,GAAAA,MAAAA,WAAwB,uBAEzC,CACE/a,MAAMhf,EAAAA,EAAAA,GAAEU,GAAAA,aACRmB,KAAM66B,GAAQ,gCAAiC,CAC7C5B,WAAY,iBAEd8B,QAAS,IAAM7C,GAAAA,MAAAA,WAAwB,iBAEzC,CACE/a,MAAMhf,EAAAA,EAAAA,GAAEU,GAAAA,kBACRmB,KAAM66B,GAAQ,2BAA4B,CACxC5B,WAAY,sBAEd8B,QAAS,IAAM7C,GAAAA,MAAAA,WAAwB,YAEzC,CACE/a,MAAMhf,EAAAA,EAAAA,GAAEU,GAAAA,sBACRmB,KAAM66B,GAAQ,6BAA8B,CAC1C5B,WAAY,4BAEd8B,QAAS,IAAM7C,GAAAA,MAAAA,WAAwB,kB,0BCjExC,MAAM8C,GAAej3B,IAAAA,MAAgB,CAC1C/D,KAAM+D,IAAAA,OAAAA,WACN8rB,SAAU9rB,IAAAA,KACVoZ,KAAMpZ,IAAAA,OAAAA,WACNg3B,QAASh3B,IAAAA,OAGEk3B,GAAkBl3B,IAAAA,MAAgB,CAC7CpF,KAAMoF,IAAAA,OAAAA,WACN9E,YAAa8E,IAAAA,OAAAA,WACbm3B,MAAOn3B,IAAAA,OAAAA,WACPo3B,QAASH,GACTI,cAAeJ,KCcjB,IDXuCj3B,IAAAA,MAAgB,CACrDpF,KAAMoF,IAAAA,OAAAA,WACN9E,YAAa8E,IAAAA,OAAAA,WACbs3B,SAAUt3B,IAAAA,OACVu3B,SAAUv3B,IAAAA,QAAkBk3B,IAAiB/2B,aAGfH,IAAAA,MAAgB,CAC9CoZ,KAAMpZ,IAAAA,OAAAA,WACN/D,KAAM+D,IAAAA,OACN4jB,OAAQ5jB,IAAAA,OACRg3B,QAASh3B,IAAAA,OC1BO,KAChB,MAAMw3B,GAAYC,EAAAA,EAAAA,QAAO,CAAEhW,EAAG,EAAGC,EAAG,IAapC,OAZA4P,EAAAA,EAAAA,YAAU,KACR,MAAMuE,EAAe,CACnB,YACA97B,IACEy9B,EAAU3K,QAAQpL,EAAI1nB,EAAE29B,QACxBF,EAAU3K,QAAQnL,EAAI3nB,EAAE49B,UAI5B,OADA5b,OAAOga,oBAAoBF,GACpB,IAAM9Z,OAAOia,uBAAuBH,MAGtC,CACL+B,oBAAqBC,IACnB,IAAKA,EAAS,OAAO,EACrB,MAAMC,EAAOD,EAAQE,wBACrB,IAAIC,GAAY,EAGhB,OAFIR,EAAU3K,QAAQnL,EAAIoW,EAAKG,KAAOT,EAAU3K,QAAQnL,EAAIoW,EAAKI,UAAQF,GAAY,IACjFR,EAAU3K,QAAQpL,EAAIqW,EAAKK,MAAQX,EAAU3K,QAAQpL,EAAIqW,EAAKM,SAAOJ,GAAY,GAC9EA,MCTAK,cAAgBjf,GAAS,wBAAuBA,IAEvDkf,eAAiB,EAAGlf,KAAAA,EAAMnd,KAAAA,EAAM2nB,OAAAA,EAAQmT,UAAAA,EAAWwB,OAAAA,EAAQ3f,QAAAA,EAAS4f,OAAAA,EAAQj8B,QAAAA,MAChF,MAAMk8B,EAAoB,+BACpBC,EAASC,MACfrH,EAAAA,EAAAA,YAAU,KACR,MAAMuE,EAAe,CACnB,UACA,KACE,MAAMgC,EAAUzb,SAASyL,eAAe4Q,GACnCC,EAAOd,oBAAoBC,IAC9BW,MAKN,OADAzc,OAAOga,oBAAoBF,GACpB,IAAM9Z,OAAOia,uBAAuBH,MAE7C,MAAM+C,QAAU,KACd,MAAMC,EAAcj7B,GAAAA,CAAW,CAC7B,6BAA6B,EAC7B,aAAc3B,IAEhB,OAAIA,EAEA,mCACEA,KAAMA,EACND,UAAU,gCACV4nB,OAAQA,GACJkV,kBAAiB,KACflgB,GAASA,OALjB,CAOE,cAAayf,cAAcjf,KAE3B,gBAAC,EAAA9c,WAAD,CAAYC,QAAQ,YAAYP,UAAW68B,EAAap9B,MAAOc,GAC5D6c,IAMP,gBAAC,EAAA9c,WAAD,CAAYC,QAAQ,YAAYP,UAAW68B,EAAap9B,MAAOc,GAC7D,qCACEwB,KAAK,SACLC,SAAS,IACT,eAAcu6B,GACVO,kBAAiB,KACflgB,GAASA,OALjB,CAOE5c,UAAU,kCAEV,wBAAMA,UAAW68B,GAAczf,GAC/B,uBAAKpd,UAAU,+BAEMu8B,EACf,gBAAC,GAAA9f,cAAD,CAAe5Y,KAAK,OAGpB,gBAAC,GAAA2Y,gBAAD,CAAiB3Y,KAAK,WASpC,OACE,gCACE,gBAAC,KAAD,KAEE,uBACE7D,UAAU,qBACVmvB,QAASpxB,IACO,WAAVA,EAAEoE,KAAkBq6B,MAGzBI,UACc7B,EAAUpe,QAAU4f,EACjC,uBAAKv8B,UAAU,+BAA+B7B,GAAIs+B,GAChD,gBAAC,EAAAnS,KAAD,CAAMtC,OAAK,EAACD,SAAO,EAACgV,aAAW,GAC5BhC,EAAUx9B,KAAIisB,GACb,gBAAC,EAAAgB,SAAD,CACEroB,IAAM,2BAA0BqnB,EAAKpM,OACrCgL,aAAW,EACXC,iBAAkBmB,EAAKvpB,KACvB2nB,OAAQ4B,EAAK5B,OACb,cAAayU,cAAc7S,EAAKpM,OAE/BoM,EAAKpM,UAlBlB,OA0BF,gBAAC,KAAD,KACE,gBAAC,EAAAqE,IAAD,CAAKzhB,UAAU,4BACb,gBAAC,KAAD,KACE,gBAAC,EAAAub,IAAD,CAAK2J,GAAI,KAEX,gBAAC,EAAA3J,IAAD,KAAMqhB,WACN,gBAAC,KAAD,KACE,gBAAC,EAAArhB,IAAD,CAAK2J,GAAI,MAGE6V,EAAUpe,QAAU4f,EACjC,uBAAKv8B,UAAU,gCACZ+6B,EAAUx9B,KAAIisB,GACb,qBACEvpB,KAAMupB,EAAKvpB,KACX2nB,OAAQ4B,EAAK5B,OACb5nB,UAAU,2BACVmC,IAAM,2BAA0BqnB,EAAKpM,OACrC,cAAaif,cAAc7S,EAAKpM,OAEhC,gBAAC,EAAAqE,IAAD,CAAKtf,IAAM,2BAA0BqnB,EAAKpM,OAAQpd,UAAU,4BAC1D,gBAAC,KAAD,KACE,gBAAC,EAAAub,IAAD,CAAK2J,GAAI,KAGX,gBAAC,EAAA3J,IAAD,CAAKvb,UAAU,gCACb,gBAAC,EAAAM,WAAD,CAAYN,UAAU,iCAAiCwpB,EAAKpM,OAG9D,gBAAC,KAAD,KACE,gBAAC,EAAA7B,IAAD,CAAK2J,GAAI,UA9BvB,QAuDNoX,eAAex7B,aAAe,CAC5Bb,KAAM,KACN2nB,OAAQ,GACRmT,UAAW,GACXwB,QAAQ,EACR3f,QAAS,IAAM,KACf4f,OAAQ,IAAM,MAGhB,wBC3JaQ,GAAU,qBAEjBlC,GAAUrC,GAAiB,CAC/Br3B,UAAW,kBACXw3B,WAAY,YACZE,WAAY,WAGRmE,cAAgB,EAAGC,SAAAA,EAAUC,YAAAA,MACjC,SAA0ChhB,EAAAA,EAAAA,WAAS,GAAnD,YAAOihB,EAAP,KAAsBC,EAAtB,KAGAC,GAA0BC,gBAAkBC,GAAWH,EAAiBG,MACxE,MAAMC,EAAU77B,GAAAA,CAAW,CACzB,uBAAuB,EACvB,sBAAuBw7B,IAEnBjC,EAAQiC,EAAgBM,GAAeC,GACvCC,EAAcR,EAAgB,QAAU,UACxCS,EAAiBT,EAA0B,QAAV,QACjCU,EAAcl8B,GAAAA,CAAW,CAC7B,gCAAiCw7B,EACjC,0BAA0B,IAEtBW,EAAcX,EAAgB,QAAU,OACxCZ,OAAS,IAAMW,EAAY,MAEjC,OACE,uBAAKn9B,UAAWy9B,EAASt/B,GAlBb,iBAmBV,gBAAC,EAAAqjB,KAAD,CAAMwD,UAAQ,EAACgZ,WAAS,EAACh+B,UAAU,aAAa,cAAag9B,IAC3D,gBAAC,EAAAvb,IAAD,KACE,gBAAC,EAAAlG,IAAD,CAAKvb,UAAU,uBAAuBi+B,GAAI,GACxC,mCACEh+B,KAAM66B,GAAQ,oBACd,cAAY18B,EAAAA,EAAAA,GAAEU,GAAAA,WACVg+B,kBAAiB,KACnB3E,GAAAA,MAAAA,WAAwB,gBAG1B,uBAAKhU,IAAKgX,EAAOjX,KAAK9lB,EAAAA,EAAAA,GAAEU,GAAAA,yBAA+BkB,UAAU,uBAGrE,gBAAC,EAAAub,IAAD,CAAKvb,UAAU,uBAAuBi+B,GAAI,GACxC,uBAAKj+B,UAAU,yBACb,gBAAC,GAAD,iBACMk+B,GAAAA,UADN,CAEE3B,OAAQW,IAAavD,GAAK/B,UAC1Bhb,QAAS,IAAMugB,EAAYxD,GAAK/B,WAChC4E,OACAj8B,QAASw9B,MAGb,uBAAK/9B,UAAU,yBACb,gBAAC,GAAD,iBAAoBk+B,GAAAA,SAApB,CAA0C39B,QAASw9B,EAAavB,WAElE,uBAAKx8B,UAAU,qDACb,gBAAC,GAAD,iBACMk+B,GAAAA,cADN,CAEE3B,OAAQW,IAAavD,GAAKC,eAC1Bhd,QAAS,IAAMugB,EAAYxD,GAAKC,gBAChC4C,OACAj8B,QAASw9B,OAIf,gBAAC,EAAAxiB,IAAD,CAAKvb,UAAU,uCAAuCi+B,GAAI,GACxD,gBAAC,EAAAv9B,OAAD,eACEH,QAASs9B,EACTp+B,MAAOm+B,EACP59B,UAAW89B,EACX79B,KAAM66B,GAAQ,8BAA+B,CAC3C5B,WAAY,gBAEV4D,kBAAiB,KACnB3E,GAAAA,MAAAA,WAAwB,kBAG1B,gBAAC,EAAAr4B,EAAD,CAAGU,KAAM1B,GAAAA,iBArEjBm+B,cAAAA,YAAAA,gBAoFNA,cAAcn8B,aAAe,CAC3Bo8B,cAAUiB,GAGZ,uBC/FanB,GAAU,oBAEjBlC,GAAUrC,GAAiB,CAC/Br3B,UAAW,kBACXw3B,WAAY,YACZE,WAAY,WAGRsF,aAAe,EAAGlB,SAAAA,EAAUC,YAAAA,EAAaZ,OAAAA,EAAQ8B,UAAAA,MACrD,SAA0CliB,EAAAA,EAAAA,WAAS,GAAnD,YAAOihB,EAAP,KAAsBC,EAAtB,KAGAC,GAA0BC,gBAAkBC,GAAWH,EAAiBG,MACxE,MAAMc,EAAWlB,IAAkBb,EAC7BpB,EAAQmD,EAAWZ,GAAeC,GAClCY,EAAeD,EAAW,QAAU,OAE1C,OACE,uBACEt+B,UAAW4B,GAAAA,CAAW,CACpB,uBAAuB,EACvB,sBAAuBw7B,IAEzBj/B,GAbU,wBAeV,gBAAC,EAAAqjB,KAAD,CACEwD,UAAQ,EACRgZ,WAAS,EACT3Q,OAAK,EACLrtB,UAAW4B,GAAAA,CAAW,CACpB,cAAc,EACd,yBAA0B26B,IAE5B,cAAaS,IAEb,gBAAC,EAAAvb,IAAD,eACEzhB,UAAW4B,GAAAA,CAAW,CACpB,YAAa26B,EACb,yBAAyB,IAE3Bx6B,KAAK,SACLC,SAAS,IACT,eAAcu6B,GACVO,kBAAiB,IAAMuB,GAAW9B,MAEtC,gBAAC,EAAAhhB,IAAD,CAAKvb,UAAU,oCACb,uBAAKmkB,IAAKgX,EAAOjX,KAAK9lB,EAAAA,EAAAA,GAAEU,GAAAA,yBAA+BkB,UAAU,qBACjE,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,YAAYd,MAAO8+B,GAElBhC,EACf,gBAAC,GAAA9f,cAAD,MAGA,gBAAC,GAAAD,gBAAD,SAMK+f,EAlCjB,CAmCI,gBAAC,GAAD,iBACM2B,GAAAA,UADN,CAEE3B,OAAQW,IAAavD,GAAK/B,UAC1Bhb,QAAS,IAAMugB,EAAYxD,GAAK/B,WAChCr3B,QAAQ,OAJV,WAMA,gBAAC,GAAD,iBAAoB29B,GAAAA,SAApB,CAA0C39B,QAAQ,OAAlD,WACA,gBAAC,GAAD,iBACM29B,GAAAA,cADN,CAEE3B,OAAQW,IAAavD,GAAKC,eAC1Bhd,QAAS,IAAMugB,EAAYxD,GAAKC,gBAChCr5B,QAAQ,OAJV,WAMA,gBAAC,EAAAkhB,IAAD,CAAKzhB,UAAU,kBAAf,SACE,gBAAC,KAAD,KACE,gBAAC,EAAAub,IAAD,CAAK2J,GAAI,KAEX,gBAAC,EAAA3J,IAAD,KACE,gBAAC,EAAA7a,OAAD,eACEjB,MAAM,UACNQ,KAAM66B,GAAQ,8BAA+B,CAC3C5B,WAAY,gBAEV4D,kBAAiB,KACnB3E,GAAAA,MAAAA,WAAwB,iBAN5B,CAQEn4B,UAAU,iCACV4D,WAAS,IAET,gBAAC,EAAA9D,EAAD,CAAGU,KAAM1B,GAAAA,aAGb,gBAAC,KAAD,KACE,gBAAC,EAAAyc,IAAD,CAAK2J,GAAI,OApEjB,QAjBAkZ,aAAAA,YAAAA,eAyGNA,aAAat9B,aAAe,CAC1Bo8B,cAAUiB,EACVK,aAAc,CAAE3N,QAAS,GACzB4N,iBAAiB,GAGnB,sBCxHazB,GAAU,kBAEjBlC,GAAUrC,GAAiB,CAC/Br3B,UAAW,kBACXw3B,WAAY,YACZE,WAAY,WAGR4F,SAAW,EAAGxB,SAAAA,EAAUC,YAAAA,MAC5B,SAA0ChhB,EAAAA,EAAAA,WAAS,GAAnD,YAAOihB,EAAP,KAAsBC,EAAtB,KAEAC,IAA0B,KACxB,MAAMqB,EAAiBpB,gBAAkBC,GAAWH,EAAiBG,KAErE,OADApd,SAASwe,KAAKr8B,UAAUs8B,IAAI,kCACrB,KACLF,IACAve,SAASwe,KAAKr8B,UAAUupB,OAAO,sCAGnC,MAAM2R,EAAU77B,GAAAA,CAAW,CACzB,0BAA0B,EAC1B,kCAAmCw7B,EACnC,8BAA+BA,IAE3BjC,EAAQiC,EAAgBM,GAAeC,GACvCC,EAAcR,EAAgB,QAAU,UACxCS,EAAiBT,EAA0B,QAAV,QACjCU,EAAcl8B,GAAAA,CAAW,CAC7B,6BAA6B,EAC7B,mCAAoCw7B,IAEhCW,EAAcX,EAAgB,QAAU,OAE9C,OACE,uBAAKp9B,UAAU,qCACb,uBAAKA,UAAWy9B,EAASt/B,GAzBf,iBA0BR,gBAAC,EAAAqjB,KAAD,CAAMwD,UAAQ,EAACgZ,WAAS,EAAC3Q,OAAK,EAACrtB,UAAU,gBAAgB,cAAag9B,IACpE,gBAAC,EAAAvb,IAAD,KACE,gBAAC,EAAAlG,IAAD,CAAKvb,UAAU,mDACb,mCACEC,KAAM66B,GAAQ,oBACd,cAAY18B,EAAAA,EAAAA,GAAEU,GAAAA,WACVg+B,kBAAiB,KACnB3E,GAAAA,MAAAA,WAAwB,gBAG1B,uBAAKhU,IAAKgX,EAAOjX,KAAK9lB,EAAAA,EAAAA,GAAEU,GAAAA,yBAA+BkB,UAAU,0BAGrE,gBAAC,EAAAub,IAAD,CAAKvb,UAAU,8CACb,uBAAKA,UAAU,sCACb,gBAAC,GAAD,iBACMk+B,GAAAA,UADN,CAEE3B,OAAQW,IAAavD,GAAK/B,UAC1Bhb,QAAS,IAAMugB,EAAYxD,GAAK/B,WAChC4E,OAAQ,IAAMW,EAAY,MAC1B58B,QAASw9B,MAGb,uBAAK/9B,UAAU,sCACb,gBAAC,GAAD,iBAAoBk+B,GAAAA,SAApB,CAA0C39B,QAASw9B,EAAavB,OAAQ,IAAMW,EAAY,UAE5F,uBAAKn9B,UAAU,4BACb,gBAAC,GAAD,iBACMk+B,GAAAA,cADN,CAEE3B,OAAQW,IAAavD,GAAKC,eAC1Bhd,QAAS,IAAMugB,EAAYxD,GAAKC,gBAChC4C,OAAQ,IAAMW,EAAY,MAC1B58B,QAASw9B,OAIf,gBAAC,EAAAxiB,IAAD,CAAKvb,UAAU,8CACb,gBAAC,EAAAU,OAAD,eACEH,QAASs9B,EACTp+B,MAAOm+B,EACP59B,UAAW89B,EACX79B,KAAM66B,GAAQ,8BAA+B,CAC3C5B,WAAY,gBAEV4D,kBAAiB,KACnB3E,GAAAA,MAAAA,WAAwB,kBAG1B,gBAAC,EAAAr4B,EAAD,CAAGU,KAAM1B,GAAAA,kBA5EnB4/B,SAAAA,YAAAA,WA2FNA,SAAS59B,aAAe,CACtBo8B,cAAUiB,GAGZ,kBCrGanB,GAAU,iBAEjBlC,GAAUrC,GAAiB,CAC/Br3B,UAAW,kBACXw3B,WAAY,YACZE,WAAY,WAGRsF,4BAAe,EAAGlB,SAAAA,EAAUC,YAAAA,EAAaZ,OAAAA,EAAQ8B,UAAAA,MACrD,SAA0CliB,EAAAA,EAAAA,WAAS,GAAnD,YAAOihB,EAAP,KAAsBC,EAAtB,KAGAC,IAA0B,KACxB,MAAMwB,EAAuBvB,gBAAkBC,GAAWH,EAAiBG,IAA9CD,GAI7B,OADAnd,SAASwe,KAAKr8B,UAAUs8B,IAAI,kCACrB,KACLC,IACA1e,SAASwe,KAAKr8B,UAAUupB,OAAO,sCAGnC,MAAMwS,EAAWlB,IAAkBb,EAC7BpB,EAAQmD,EAAWZ,GAAeC,GAClCY,EAAeD,EAAW,QAAU,OAE1C,OACE,uBAAKt+B,UAAU,qCACb,uBACEA,UAAW4B,GAAAA,CAAW,CACpB,0BAA0B,EAC1B,kCAAmCw7B,EACnC,8BAA+BA,EAC/B,qCAAsCb,IAExCp+B,GAzBQ,wBA2BR,gBAAC,EAAAqjB,KAAD,CAAMwD,UAAQ,EAACgZ,WAAS,EAAC3Q,OAAK,EAAC,cAAa2P,IAC1C,gBAAC,EAAAvb,IAAD,eACEzhB,UAAW4B,GAAAA,CAAW,CACpB,YAAa26B,EACb,yBAAyB,IAE3Bx6B,KAAK,SACLC,SAAS,IACT,eAAcu6B,GACVO,kBAAiB,IAAMuB,GAAW9B,MAEtC,gBAAC,EAAAhhB,IAAD,CAAKvb,UAAU,oCACb,uBAAKmkB,IAAKgX,EAAOjX,KAAK9lB,EAAAA,EAAAA,GAAEU,GAAAA,yBAA+BkB,UAAU,qBACjE,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,YAAYd,MAAO8+B,GAElBhC,EACf,gBAAC,GAAA9f,cAAD,MAGA,gBAAC,GAAAD,gBAAD,SAMK+f,EAzBjB,CA0BI,gBAAC,GAAD,iBACM2B,GAAAA,UADN,CAEE3B,OAAQW,IAAavD,GAAK/B,UAC1Bhb,QAAS,IAAMugB,EAAYxD,GAAK/B,WAChCr3B,QAAQ,OAJV,WAMA,gBAAC,GAAD,iBAAoB29B,GAAAA,SAApB,CAA0C39B,QAAQ,OAAlD,WACA,gBAAC,GAAD,iBACM29B,GAAAA,cADN,CAEE3B,OAAQW,IAAavD,GAAKC,eAC1Bhd,QAAS,IAAMugB,EAAYxD,GAAKC,gBAChCr5B,QAAQ,OAJV,WAMA,gBAAC,EAAAkhB,IAAD,CAAKzhB,UAAU,kBAAf,SACE,gBAAC,KAAD,KACE,gBAAC,EAAAub,IAAD,CAAK2J,GAAI,KAEX,gBAAC,EAAA3J,IAAD,KACE,gBAAC,EAAA7a,OAAD,eACEjB,MAAM,UACNQ,KAAM66B,GAAQ,8BAA+B,CAC3C5B,WAAY,gBAEV4D,kBAAiB,KACnB3E,GAAAA,MAAAA,WAAwB,iBAN5B,CAQEn4B,UAAU,iCACV4D,WAAS,IAET,gBAAC,EAAA9D,EAAD,CAAGU,KAAM1B,GAAAA,aAGb,gBAAC,KAAD,KACE,gBAAC,EAAAyc,IAAD,CAAK2J,GAAI,OA3DjB,SA7BFkZ,4BAAAA,YAAAA,eA6GNA,4BAAat9B,aAAe,CAC1Bo8B,cAAUiB,EACVK,aAAc,CAAE3N,QAAS,GACzB4N,iBAAiB,GAGnB,qCCxIMC,kBAAWzb,GACf,gCACE,gBAAC,KAAD,KACE,gBAAC,GAAeA,IAElB,gBAAC,KAAD,KACE,gBAAC,GAAcA,KANfyb,kBAAAA,YAAAA,WAWN,2BCDMK,OAAS,EAAGx+B,QAAAA,EAASy+B,WAAAA,EAAYC,cAAAA,MACrC,SAAiC9iB,EAAAA,EAAAA,eAASgiB,GAA1C,YAAOjB,EAAP,KAAiBgC,EAAjB,KACM/B,YAAcgC,IACKD,EAAnBC,IAASjC,OAAuBiB,EAClBgB,IAIpB,OAFeC,uBAAiBxI,GAAQC,GAalC,gBAAC,GAAD,CACEqG,SAAUA,EACVC,YACAZ,OAAQyC,EACRX,UAAWY,EACX1+B,QAASA,IAhBjB,CAGM,gBAAC,KAAD,UACE,gBAAC,GAAD,CAAe28B,SAAUA,EAAUC,YAA0B58B,QAASA,KAExE,gBAAC,KAAD,UACE,gBAAC,GAAD,CAAc28B,SAAUA,EAAUC,YAA0BZ,OAAQyC,EAAYX,UAAWY,OAf/FF,OAAAA,YAAAA,SAqCNA,OAAOj+B,aAAe,CACpBP,QAASk2B,GAAYC,OAGvB,gB,eClDA,MAAM53B,GACO,CACTX,GAAI,wBACJc,eAAgB,2CAChBC,YAAa,iFAJXJ,GAMa,CACfX,GAAI,8BACJc,eACE,sKAEFC,YAAa,4FAIXmgC,QAAU,EAAGxR,UAAAA,EAAWyR,iBAAAA,EAAkBxS,QAAAA,EAASzqB,SAAAA,EAAUk9B,cAAAA,MACjE,SAGIj8B,EAAAA,EAAAA,YAAWC,EAAAA,IAHf,IACEmE,YAGI83B,EAAc,WAJpB,EACiB9e,aADjB,EAC4BZ,UAD5B,EACoCa,MADpC,EAEEljB,IAAOoE,MAGT,GAA2Csa,EAAAA,EAAAA,WAAS,GAApD,YAAOsjB,EAAP,KAAsBC,EAAtB,KACMC,GAAiBlE,EAAAA,EAAAA,QAAO,IAK9BnG,EAAAA,EAAAA,YAAU,KACJmK,EAAerf,SAASwe,KAAKr8B,UAAUs8B,IAAI,yBAC1Cze,SAASwe,KAAKr8B,UAAUupB,OAAO,2BACnC,CAAC2T,IAEJ,MAAMG,EAAoBN,EAAiBO,WAAW,QAAUP,EAAoB,SAAQA,IAE5F,OACE,gBAAC,KAAD,CACE7/B,MAAM,QACNC,eAAa,EACbC,eAAgB8/B,EAChB7/B,OAAS,qBAAoBiuB,IAC7BhuB,UAAU,GACVyhB,QAAQ,EACRwe,OAAK,GAEL,gBAAC,KAAD,KACE,8BAAQ1hC,EAAAA,EAAAA,GAAEU,KACV,wBAAMF,KAAK,cAAcmB,SAAS3B,EAAAA,EAAAA,GAAEU,MAEpC,wBAAMihC,SAAS,iBAAiBhgC,SAAS3B,EAAAA,EAAAA,GAAEU,MAC3C,wBAAMihC,SAAS,WAAWhgC,SAAS3B,EAAAA,EAAAA,GAAEU,MACrC,wBAAMihC,SAAS,UAAUhgC,QAAQ,YACjC,wBAAMggC,SAAS,SAAShgC,QAASy/B,IACjC,wBAAMO,SAAS,WAAWhgC,QAAS6/B,IACnC,wBAAMG,SAAS,iBAAiBhgC,QAAQ,SACxC,wBAAMggC,SAAS,kBAAkBhgC,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,QAAS6/B,IAErB9S,EACb,wBAAMluB,KAAK,SAASmB,QAAQ,YApBhC,KAuBiBw/B,EACb,wBAAM,UAAQ,OAAOxe,IAAI,YAAY9gB,KAAMs/B,IAxB/C,MA2BA,gBAAC,GAAD,CAAQh/B,QAASk2B,GAAYC,MAAOsI,WAAYS,EAAeR,cAhD1C,KACnBlf,SAAW0f,IAAeE,EAAe9O,QAAU9Q,OAAO+Z,aAC9D4F,GAAmBD,MA+ChBp9B,IAzDDg9B,QAAAA,YAAAA,UAsENA,QAAQv+B,aAAe,CACrBuB,SAAU,KACVi9B,iBAAkBU,GAClBlT,SAAS,EACTyS,cAAe,MAGjB,iBCjGazgC,GAAO,CAClBoC,MAAO,CACL/C,GAAI,sBACJc,eAAgB,wCAChBC,YAAa,kEAEf+gC,SAAU,CACR9hC,GAAI,yBACJc,eACE,uKAEFC,YAAa,yEAMXghC,UAAY,KAChB,MAAMC,IAASpgB,OAAOgX,wBAA0B3W,SAAS4W,aACnDyG,EAAU77B,GAAAA,CAAW,CACzB,iBAAkBu+B,EAClB,oBAAqBA,IAEvB,OACE,uBAAKngC,UAAWy9B,EAAS,cATN,aAUjB,sBAAIz9B,UAAU,wBACZ,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAKoC,SAEhB,uBAAKlB,UAAU,2BACb,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAKmhC,cAZhBC,UAAAA,YAAAA,YAkBN,mBCvCME,GAAS9hC,OAAO2E,OAAO,CAC3Bo9B,GAAI,KACJC,KAAM,OACNC,MAAO,QACPC,KAAM,SAoBFC,yBAA2B,CAACC,EAAOC,KACvC,MAAMC,EAAS,CAACD,EAAIlb,EAAIib,EAAMjb,EAAGkb,EAAIjb,EAAIgb,EAAMhb,GACzCmb,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,EAAQh4B,KAAKu4B,KAAKP,EAAO,GAAKA,EAAO,KAAO,IAAMh4B,KAAKw4B,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,IAAQ/3B,KAAK04B,MAAM14B,KAAK24B,MAAMZ,EAAIlb,EAAIib,EAAMjb,IAAM,GAAKkb,EAAIjb,EAAIgb,EAAMhb,IAAM,IC1B9G8b,SAAW,EAAGn/B,SAAAA,MAClB,SAA0C8Z,EAAAA,EAAAA,UAAS,GAAnD,YAAOslB,EAAP,KAAsBC,EAAtB,KACMC,GAAoBlG,EAAAA,EAAAA,QAAO,CAAEhW,EAAG,EAAGC,EAAG,IAC5C,OACE,uBAAK1lB,UAAU,4BACb,uBACEA,UAAU,kBACV4hC,aAAc7jC,IACZ4jC,EAAkB9Q,QAAU,CAC1BpL,EAAG1nB,EAAE8jC,QAAQ,GAAGnG,QAChBhW,EAAG3nB,EAAE8jC,QAAQ,GAAGlG,UAGpBmG,WAAY/jC,IACV,MAAMgkC,EAAM,CACVtc,EAAG1nB,EAAEikC,eAAe,GAAGtG,QACvBhW,EAAG3nB,EAAEikC,eAAe,GAAGrG,SDYN,IAACsG,EAAeC,EAAfD,ECVFN,EAAkB9Q,QDW5CwQ,yBAAyBY,EADkBC,ECVUH,ID1B5B,IAsCzBtB,yBAAyBwB,EAAeC,KAAiB9B,GAAOI,MCZHiB,EAAgBp/B,EAASsa,OAAS,EACrF+kB,EAAiBD,EAAgB,GDaf,EAACQ,EAAeC,IAC5Cb,yBAAyBY,EAAeC,IAzCf,IA0CzBzB,yBAAyBwB,EAAeC,KAAiB9B,GAAOG,MCd7C4B,CAAeR,EAAkB9Q,QAASkR,IAAQN,GAC3DC,EAAiBD,EAAgB,KAIpCW,EAAAA,SAAAA,IAAa//B,GAAU,CAACggC,EAAOC,KAC9B,MAAMC,EAAYD,IAAQb,EACpBe,EAA2B,IAAhBf,EACjB,OACE,uBACEzhC,UAAW4B,GAAAA,CAAW,CACpB,yBAAyB,EACzB,iCAAkC2gC,IAEpCE,MAAO,CAAEtG,KAAO,IAAGqG,OAElBH,SApCTb,SAAAA,YAAAA,WAiDN,kBCnDA,IAAIkB,GAEJ,MAAMC,aAAe9G,GACdA,EACE8G,aAAa9G,EAAQ+G,cAAgB/G,EAAQgH,UAD/B,EAIjBC,gBAAkBjH,IAClBA,IACE6G,KACFK,aAAaL,IACbA,GAAU,MAEZA,GAAUM,YAAW,KACnB,MAAMC,EAASN,aAAa9G,GACxB9b,OAAO+Z,cAAgBmJ,IACzBpH,EAAQqH,QACRnjB,OAAO0V,SAAS,EAAGwN,GACnBH,gBAAgBjH,MAEjB,OAIDsH,OAAS,EAAGnjB,SAAAA,EAAU3d,SAAAA,EAAUrC,UAAAA,EAAW7B,GAAAA,MAC/C,MAAQilC,EAASpjB,EAATojB,KAUR,OATA9F,IAA0B,KACxB,GAAI8F,EAAM,CACR,MAAMC,EAASD,EAAKE,MAAM,GAC1B,GAAID,IAAWllC,EAAI,CACjB,MAAM09B,EAAUzb,SAASyL,eAAewX,GACxCP,gBAAgBjH,OAGnB,CAACx5B,EAAU+gC,EAAMjlC,IAElB,gCACE,uBAAKA,GAAIA,EAAI6B,UAAWA,IACvBqC,IAcP8gC,OAAOriC,aAAe,CACpBd,UAAW,IAGb,UAAeqkB,EAAAA,EAAAA,IAAW8e,QClDpBI,YAAc,EAAGriC,MAAAA,EAAOi6B,MAAAA,EAAOyD,KAAAA,EAAM4E,UAAAA,EAAWlhB,KAAAA,MACpD,MAAM6d,EAAOf,uBAAiBxI,GAAQC,GAChC4M,EAAe7hC,GAAAA,CAAW,CAC9B,mBAAoBu+B,EACpB,sBAAuBA,IAGzB,OACE,gBAAC,EAAA3R,KAAD,CAAMxuB,UAAWyjC,EAAcC,SAAS,EAAO,cAV5B,eAWjB,gBAAC,EAAAliB,KAAD,CAAMwD,UAAQ,EAACgZ,WAAS,EAAC3Q,OAAK,EAACrtB,UAAU,aACvC,gBAAC,EAAAyhB,IAAD,CAAKzhB,UAAU,8BACb,gBAAC,EAAAub,IAAD,CACEvb,UAAW4B,GAAAA,CAAW,CACpB,kCAAmCu+B,EACnC,qCAAsCA,KAGxC,uBAAKjc,IAAKhjB,EAAOijB,IAAKgX,EAAOn7B,UAAU,6BAG3C,gBAAC,EAAAyhB,IAAD,CAAKzhB,UAAU,aACb,gBAAC,EAAAwhB,KAAD,CAAMwD,UAAQ,EAACgZ,WAAS,EAAC3Q,OAAK,EAACrtB,UAAU,yBACvC,gBAAC,EAAAyhB,IAAD,CAAKzhB,UAAU,6BACb,gBAAC,EAAAub,IAAD,KACE,gBAAC,EAAAjb,WAAD,CAAYC,QAAQ,YAAYP,UAAU,0BACvCkB,GAEH,yBACE,gBAAC,EAAAZ,WAAD,CAAYC,QAAQ,SAASE,UAAU,QACpCm+B,MAKM4E,GAAalhB,EAC1B,gBAAC,EAAAb,IAAD,CAAKzhB,UAAU,kDACEwjC,EACb,gBAAC,EAAAjoB,IAAD,CAAK2J,GAAI,GACP,gBAAC,EAAAxkB,OAAD,eACEjB,MAAM,YACNc,QAAQ,QACRP,UAAU,8BACVC,KAAMujC,EAAUvjC,KAChB6vB,SAAU0T,EAAU1T,SACpBlsB,WAAS,GACLk5B,kBAAiB,KACf0G,EAAUxI,SAASwI,EAAUxI,cAGlCwI,EAAUpmB,OAdnB,KAkBiBkF,EACb,gBAAC,EAAA/G,IAAD,CACEvb,UAAW4B,GAAAA,CAAW,CACpB,YAAa4hC,EACb,mCAAmC,KAGrC,gBAAC,EAAAljC,WAAD,CAAYC,QAAQ,YAAYM,MAAM,QACpC,mCACEZ,KAAMqiB,EAAKriB,MACP68B,kBAAiB,KACfxa,EAAK0Y,SAAS1Y,EAAK0Y,cAGxB1Y,EAAKlF,QAhChB,MAdJ,UArBJmmB,YAAAA,YAAAA,cAyFNA,YAAYziC,aAAe,CACzB0iC,UAAW,KACXlhB,KAAM,MAGR,qBC5FMqhB,gBAAkB,EAAGpI,SAAAA,EAAUr6B,MAAAA,EAAOhC,YAAAA,EAAa0kC,MAAAA,EAAOrM,OAAAA,KAE3CgE,EAAS5e,OACxB,gBAAC,GAAD,CACExe,GAAIo5B,EACJv3B,UAAW4B,GAAAA,CAAW,CACpB,+BAA+B,EAC/B,qCAAsCgiC,KAGxC,gBAAC,EAAApiB,KAAD,CACEwc,WAAS,EACThZ,UAAQ,EACRqI,OAAK,EACLrtB,UAAW4B,GAAAA,CAAW,CACpB,uBAAuB,EACvB,6BAA8BgiC,IAEhC,cApBa,mBAsBb,uBAAK5jC,UAAU,oCACf,gBAAC,KAAD,KACE,gBAAC,EAAAyhB,IAAD,KACE,gBAAC,EAAAlG,IAAD,CAAKvb,UAAU,0CACb,gBAAC,EAAAM,WAAD,CAAYG,UAAU,KAAKT,UAAU,8BAClCkB,GAEH,gBAAC,EAAAZ,WAAD,CAAYN,UAAU,6BAA6Bd,MAIzD,gBAAC,EAAAuiB,IAAD,KACE,gBAAC,KAAD,KACE,gBAAC,EAAAlG,IAAD,CAAKE,GAAI,EAAGzb,UAAU,2CACpB,gBAAC,EAAAM,WAAD,CAAYG,UAAU,KAAKT,UAAU,8BAClCkB,GAEH,gBAAC,EAAAZ,WAAD,CAAYN,UAAU,6BAA6Bd,KAGvD,gBAAC,KAAD,KACE,gBAAC,EAAAqc,IAAD,KACE,gBAAC,EAAAiG,KAAD,CAAMwD,UAAQ,EAACgZ,WAAS,EAAC3Q,OAAK,GAC5B,gBAAC,EAAA5L,IAAD,KACG8Z,EAASh+B,KAAI,CAACsmC,EAASvB,IACtB,gBAAC,EAAA/mB,IAAD,CAEEpZ,IAAM,GAAE0hC,EAAQjlC,QAAQ0jC,IACxB9mB,GAAI,EACJC,GAAI,EACJzb,UAAU,iCAEV,gBAAC,GAAD,CACEkB,MAAO2iC,EAAQjlC,KACfggC,KAAMiF,EAAQ3kC,YACdi8B,MAAO0I,EAAQ1I,MACfqI,UAAWK,EAAQzI,QACnB9Y,KAAMuhB,EAAQxI,wBAS9B,gBAAC,KAAD,KACE,gBAAC,EAAA5Z,IAAD,KACE,gBAAC,EAAAlG,IAAD,KACE,gBAAC,GAAD,KACGggB,EAASh+B,KAAI,CAACsmC,EAASvB,IACtB,gBAAC,GAAD,CAEEngC,IAAM,GAAE0hC,EAAQjlC,QAAQ0jC,IACxBphC,MAAO2iC,EAAQjlC,KACfggC,KAAMiF,EAAQ3kC,YACdi8B,MAAO0I,EAAQ1I,MACfqI,UAAWK,EAAQzI,QACnB9Y,KAAMuhB,EAAQxI,wBA9EZ,KAAlBsI,gBAAAA,YAAAA,kBAoGN,yB,eCzGO,MAAM7kC,GAAO,CAClBoC,MAAO,CACL/C,GAAI,uBACJc,eAAgB,+CAChBC,YACE,8HAEJ4kC,aAAc,CACZ3lC,GAAI,8BACJc,eACE,wQAEFC,YAAa,qFAEf6kC,aAAc,CACZ5lC,GAAI,8BACJc,eAAgB,iEAChBC,YAAa,qFAEf8kC,UAAW,CACT7lC,GAAI,2BACJc,eAAgB,aAChBC,YAAa,oFAMX47B,GAAUrC,GAAiB,CAC/Br3B,UAAW,kBACXw3B,WAAY,YACZE,WAAY,cAGRmL,eAAiBC,GACrB,gBAAC,EAAA3oB,IAAD,CAAKvb,UAAU,yBACb,uBAAKA,UAAU,iCACb,gBAAC,EAAAM,WAAD,CAAYN,UAAU,8BAA8BS,UAAU,MAC5D,gBAAC,EAAAX,EAAD,CAAGU,KAAM1B,GAAKoC,SAEhB,gBAAC,EAAAZ,WAAD,CAAYN,UAAU,6BAA6BS,UAAU,KAC3D,gBAAC,EAAAX,EAAD,CAAGU,KAAM1B,GAAKglC,gBAEhB,gBAAC,EAAAxjC,WAAD,CAAYN,UAAU,6BAA6BS,UAAU,KAC3D,gBAAC,EAAAX,EAAD,CAAGU,KAAM1B,GAAKilC,gBAEhB,gBAAC,EAAArjC,OAAD,CACET,KAAM66B,GAAQ,4BAA6B,CACzC5B,WAAY,eAEdl5B,UAAU,4BACV6D,KAAMqgC,EAAW,UAAO/F,GAExB,gBAAC,EAAAr+B,EAAD,CAAGU,KAAM1B,GAAKklC,eAnBhBC,eAAAA,YAAAA,iBAyBN,MAAME,WAAa,IACjB,gBAAC,EAAA3iB,KAAD,CAAMwD,UAAQ,EAACgZ,WAAS,EAAC3Q,OAAK,EAACrtB,UAAU,kBAAkB,cAlCtC,cAmCnB,gBAAC,KAAD,KACE,gBAAC,EAAAyhB,IAAD,KACE,gBAAC,EAAAlG,IAAD,CAAKvb,UAAU,YACb,uBAAKA,UAAU,yBAAyBmkB,IAAKigB,GAAc,iBAAYlgB,IAAI,MAE5E+f,gBAAe,GAChB,gBAAC,KAAD,KACE,gBAAC,EAAA1oB,IAAD,CAAK0J,GAAI,EAAGgZ,GAAI,OAItB,gBAAC,KAAD,KACE,gBAAC,EAAAxc,IAAD,KAAMwiB,gBAAe,IACrB,gBAAC,EAAAxiB,IAAD,KACE,gBAAC,EAAAlG,IAAD,CAAKvb,UAAU,YACb,uBAAKA,UAAU,yBAAyBmkB,IAAKigB,GAAc,iBAAYlgB,IAAI,SAjB/EigB,WAAAA,YAAAA,aAwBN,oBCzFaE,GAAc/lC,OAAO2E,OAAO,CACvCqhC,GAAI,IACJC,GAAI,KACJC,GAAI,OAGOC,GAASnmC,OAAO2E,OAAO,CAClCyhC,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,EAAQ5iC,SAAAA,MAC9B,MAAMyY,EAAIiF,OAAOmlB,WAAWD,GAC5B,GAA8B9oB,EAAAA,EAAAA,UAASrB,EAAEqqB,SAAzC,YAAOA,EAAP,KAAgBC,EAAhB,KAYA,OAXA9P,EAAAA,EAAAA,YAAU,KACR,MAAMuE,EAAe,CACnB,SACA,KACE,MAAMwL,EAAYtlB,OAAOmlB,WAAWD,GAAQE,QACxCA,IAAYE,GAAWD,EAAWC,KAI1C,OADAtlB,OAAOga,oBAAoBF,GACpB,IAAM9Z,OAAOia,uBAAuBH,MAEtCsL,EAAU9iC,EAAW,MAG9B2iC,aAAaM,UAAY,CACvBL,OAAQjhC,IAAAA,OAAAA,WACR3B,SAAU2B,IAAAA,MAGZghC,aAAalkC,aAAe,CAC1BuB,SAAU,MAGZ,MC1CMvD,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,6BArC0BqmC,MAAOC,EAAS,QAAS3hC,EAAO,QACxD,MAAM4hC,EAAkB,OAAT5hC,EACT6hC,SAAWH,MAAAA,SALD,EAACI,EAASF,IAC1BA,EAAS,QAAQ,KAAWE,aAAqB,OAAQ,KAAWA,SAI3BC,CAAUD,EAASF,IAASI,QAErE,MAAe,UAAXL,EACK,CACL,CACErnC,GAAI,UACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRq8B,YAAauK,SAAS,aAExB,CACEvnC,GAAI,iBACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRq8B,YAAauK,SAAS,oBAGxB,CACEvnC,GAAI,WACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRq8B,YAAauK,SAAS,cAExB,CACEvnC,GAAI,mBACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRq8B,YAAauK,SAAS,YAExB,CACEvnC,GAAI,eACJS,MAAMR,EAAAA,EAAAA,GAAEU,IACRq8B,YAAauK,SAAS,mBAIrB,ICvDI5mC,GAAO,CAClBoC,MAAO,CACL/C,GAAI,uBACJc,eAAgB,sDAChBC,YACE,6HAMA4mC,WAAa,KACjB,SAA0B3pB,EAAAA,EAAAA,UAAS,MAAnC,YAAO4pB,EAAP,KAAcC,EAAd,KACA,GAAoC7pB,EAAAA,EAAAA,UAAS,MAA7C,YAAO8pB,EAAP,KAAmBC,EAAnB,MACA5Q,EAAAA,EAAAA,YAAU,KACR,MAAMuE,EAAe,CACnB,SACA,KACyB9Z,OAAOmlB,WAAWT,GAAOC,QAAQS,SACnB,OAAfc,EAAqBC,EAAc,MACjC,OAAfD,GAAqBC,EAAc,QAKhD,OAFAnmB,OAAOga,oBAAoBF,GAC3BsM,6BAAkB,QAASF,GAAYnoC,MAAKqC,GAAQ6lC,EAAS7lC,KACtD,IAAM4f,OAAOia,uBAAuBH,KAC1C,CAACoM,IACJ,MAAM9F,EAAOf,uBAAiBxI,GAAQC,GACtC,OACE,gBAAC,EAAArV,KAAD,CAAMwD,UAAQ,EAACgZ,WAAS,EAAC3Q,OAAK,EAACrtB,UAAU,kBAAkB,cApBxC,cAqBjB,gBAAC,EAAAyhB,IAAD,CAAKzhB,UAAU,8BACb,gBAAC,KAAD,KACE,gBAAC,EAAAub,IAAD,CAAK0J,GAAI,EAAGgZ,GAAI,KAElB,gBAAC,EAAA1iB,IAAD,KACE,gBAAC,EAAAjb,WAAD,CAAYO,MAAM,SAASJ,UAAU,KAAKT,UAAU,0BAClD,gBAAC,EAAAF,EAAD,CAAGU,KAAM1B,GAAKoC,UAGlB,gBAAC,KAAD,KACE,gBAAC,EAAAqa,IAAD,CAAK0J,GAAI,EAAGgZ,GAAI,MAGL8H,EACb,gBAAC,EAAAtkB,IAAD,KACGskB,EAAMxoC,KAAI4kB,GACT,gBAAC,EAAA5G,IAAD,CACEpZ,IAAKggB,EAAKhkB,GACV6B,UAAW4B,GAAAA,CAAW,CACpB,iCAAiC,EACjC,oCAAqCu+B,KAGvC,uBAAKngC,UAAU,wBAAwBmkB,IAAKhC,EAAKgZ,MAAOjX,IAAK/B,EAAKvjB,WAxB5E,OAlBEknC,WAAAA,YAAAA,aAmDN,oB,yoBCxEA,MAAMM,GAAU9nC,OAAO2E,OAAO,CAC5B,CAACszB,GAAWC,UAAW,CAAC+E,EAAU8K,IAChC/nC,OAAOD,KAAKk9B,GAAU+K,QAAO,CAACC,EAAMC,IAC9BH,EAAa1+B,SAAS6+B,GAAyB,2CAAKD,GAAZ,IAAkB,CAACC,GAAkBjL,EAASiL,KACnFD,GACN,MAuBP,OAPuB,CAAChL,EAAUkL,IACzBnoC,OAAOD,KAAKooC,GAAcH,QAC/B,CAACC,EAAMG,IAAcN,GAAQM,GAAWH,EAAME,EAAaC,KAC3DnL,G,0rBCpBW,MAAMoL,GACnB3O,YAAY4O,GAAc,KAU1BtjB,MAAQsD,IACNhE,KAAKikB,QAAQ1jB,MAAK,IAAMP,KAAKkkB,OAAOxjB,MAAMsD,KACnChE,MAZiB,KAmB1BmkB,iBAAmB,KACjBnkB,KAAKikB,QAAQ1jB,MAAKhjB,IAChByiB,KAAKokB,IAAL,2EAAgBpkB,KAAKokB,KAAQ7mC,MAExByiB,MAvBiB,KA8B1BqkB,4BAA8B,KAC5BrkB,KAAKikB,QAAQ1jB,MAAKhjB,IAChByiB,KAAKokB,IAAL,2EAAgBpkB,KAAKokB,KAAQ7mC,EAAKA,SAE7ByiB,MAlCiB,KAyC1BrlB,IAAM05B,IACJrU,KAAKikB,QAAQ1jB,KAAK8T,GACXrU,MA3CiB,KAmD1BskB,KAAOjQ,IACLrU,KAAKikB,QAAQ1jB,MAAK,IAAIyD,KACpBqQ,KAAWrQ,GACJA,KAEFhE,MAxDiB,KAgE1BukB,MAAQlQ,IACN,MAAMmQ,EAAWxkB,KAAKykB,cAAc1qB,OAASiG,KAAKykB,cAAczkB,KAAKykB,cAAc1qB,OAAS,GAAG2qB,MAAM,GAAK,EAK1G,OAJA1kB,KAAKykB,cAAclkB,KAAK,CACtBmkB,MAAO,CAACF,EAAUxkB,KAAKikB,QAAQlqB,QAC/Bsa,QAAAA,IAEKrU,MAtEiB,KA8E1B2kB,QAAUhC,MAAAA,IACR,IAAIiC,EACJ,IAAK,IAAIC,EAAI,EAAGA,EAAI7kB,KAAKikB,QAAQlqB,OAAQ8qB,GAAK,EAC5C,IAEED,QAAe5kB,KAAKikB,QAAQY,GAAGD,EAAQ5kB,KAAKokB,KAC5C,MAAOU,GACP,IAAIC,GAAU,EACd,IAAK,IAAIC,EAAI,EAAGA,EAAIhlB,KAAKykB,cAAc1qB,OAAQirB,GAAK,EAAG,CACrD,MAAMC,EAAejlB,KAAKykB,cAAcO,GACxC,GAAIH,GAAKI,EAAaP,MAAM,IAAMG,EAAII,EAAaP,MAAM,GAAI,CAC3DE,EAASK,EAAa5Q,QAAQyQ,EAAKF,EAAQ5kB,KAAKokB,KAChDW,GAAU,EAEVF,EAAII,EAAaP,MAAM,GACvB,OAGJ,IAAKK,EAAS,MAAMD,EAIxBzQ,EAAQuQ,EAAQ5kB,KAAKokB,MAnGrBpkB,KAAKkkB,OAASF,EACdhkB,KAAKikB,QAAU,GACfjkB,KAAKykB,cAAgB,GACrBzkB,KAAKokB,IAAM,I,eCaR,MAAMloC,GAAO,CAClBgpC,cAAe,CACb3pC,GAAI,8BACJc,eAAgB,sBAChBC,YAAa,qFAEfo7B,gBAAiB,CACfn8B,GAAI,gCACJc,eAAgB,mBAChBC,YAAa,yFAEf6oC,yBAA0B,CACxB5pC,GAAI,yCACJc,eACE,sKAEFC,YAAa,wFAEf8oC,2BAA4B,CAC1B7pC,GAAI,2CACJc,eACE,8MAEFC,YAAa,oGAEf+oC,WAAY,CACV9pC,GAAI,2BACJc,eAAgB,cAChBC,YAAa,8EAEf8kC,UAAW,CACT7lC,GAAI,0BACJc,eAAgB,aAChBC,YAAa,uFAEfgpC,UAAW,CACT/pC,GAAI,0BACJc,eAAgB,aAChBC,YAAa,qGAEfipC,SAAU,CACRhqC,GAAI,yBACJc,eAAgB,aAChBC,YAAa,qGAEfkpC,qBAAsB,CACpBjqC,GAAI,qCACJc,eAAgB,wBAChBC,YAAa,4DAEfmpC,gCAAiC,CAC/BlqC,GAAI,gDACJc,eACE,wHACFC,YAAa,sEAIXi5B,GAAS8B,QAAUtC,GAAYC,WAC/B0Q,GAAWrO,QAAUtC,GAAYG,sBACjCgD,GAAUrC,GAAiB,CAC/Br3B,UAAW,kBACXw3B,WAAY,YACZE,WAAY,sBAGRyP,oBAAsBC,IAAW,CACrC5pC,MAAMR,EAAAA,EAAAA,GAAEU,GAAKgpC,eACb5oC,aAAad,EAAAA,EAAAA,GAAEU,GAAKipC,0BACpBzM,SAAU,EACVC,SAAU,CACR,CACE38B,MAAMR,EAAAA,EAAAA,GAAEU,GAAKspC,sBACblpC,aAAad,EAAAA,EAAAA,GAAEU,GAAKupC,iCACpBlN,MAAOsN,GACPrN,QAAS,CACPn7B,KAAM66B,GAAQ,4BAA6B,CACzC5B,WAAYsP,EAAQvpC,eACpB65B,WAAY,cAEd1b,MAAMhf,EAAAA,EAAAA,GAAEoqC,GACRxN,QAAS,IAAM7C,GAAOuQ,MAAMT,WAAW,mBAEzC5M,cAAe,CACbp7B,KAAM66B,GAAQ,4CAA6C,CACzD5B,WAAY,eAEd9b,MAAMhf,EAAAA,EAAAA,GAAEU,GAAKklC,WACbhJ,QAAS,IAAM7C,GAAOuQ,MAAM1E,UAAU,uBAMxC2E,IAAM,EAAG3oB,SAAAA,EAAU4oB,kBAAAA,MACvB,SAAuBzsB,EAAAA,EAAAA,UF7GqB6D,CAAAA,IAC5C,IAAKA,EAAU,MAAO,GACtB,MAAM6oB,EAAe,IAAIva,gBAAgBtO,EAASmG,QAC5CsgB,EAAe,GACfqC,EAAkBxqC,OAAOyqC,OAAOxS,IAMtC,OALAsS,EAAa3oB,SAAQ,CAACrZ,EAAO1E,KACvB2mC,EAAgBnhC,SAASxF,IAAQ0E,IACnC4/B,EAAatkC,GAAO0E,EAAMmiC,MAAM,KAAKzrC,KAAIkoB,GAAKA,EAAEpf,aAG7CogC,GEmGyBwC,CAA+BjpB,IAAxDymB,EAAP,aACMyC,EAAqBC,OAAeP,EAAmBnC,GACvD2C,EAAoB9qC,OAAOD,KAAK6qC,GAStC,OARAE,EAAkBC,MAAK,CAACC,EAAMC,KAC5B,MAAMC,EAAYN,EAAmBI,GAAMhO,SACrCmO,EAAYP,EAAmBK,GAAMjO,SAC3C,OAAIkO,MAAAA,EAAsD,EACtDC,MAAAA,GAAuD,EACpDD,EAAYC,KAInB,gBAAC,EAAAjoB,KAAD,CAAMwD,UAAQ,EAACgZ,WAAS,EAAC3Q,OAAK,EAACrtB,UAAU,oBACvC,gBAAC,EAAAyhB,IAAD,KACE,gBAAC,EAAAlG,IAAD,KACE,gBAAC,GAAD,QAGH6tB,EAAkB7rC,KAAI,CAACmsC,EAAOpH,IACd4G,EAAmBQ,GAAOnO,SAAS5e,OAChD,gBAAC,EAAA8E,IAAD,CACEtf,IAAM,wBAAuB+mC,EAAmBQ,GAAO9qC,OACvDoB,UAAU,0CAEV,gBAAC,EAAAub,IAAD,KACE,gBAAC,GAAD,CACEra,MAAOgoC,EAAmBQ,GAAO9qC,KACjCM,YAAagqC,EAAmBQ,GAAOxqC,YACvCq8B,SAAU2N,EAAmBQ,GAAOnO,SACpCqI,MAAe,IAARtB,EACP/K,OAAQmS,MAZK,OAkBvB,gBAAC,EAAAjoB,IAAD,KACE,gBAAC,EAAAlG,IAAD,KACE,gBAAC,GAAD,QAGJ,gBAAC,EAAAkG,IAAD,KACE,gBAAC,EAAAlG,IAAD,KACE,gBAAC,GAAD,UA5CJotB,IAAAA,YAAAA,MA2DNA,IAAI7nC,aAAe,CACjBkf,SAAU,MAGZ,MA6BM2pB,GAAcrrC,OAAO2E,OAAO,CAChC2mC,QAAS,UACTC,MAAO,QACPC,KAAM,SAGFC,QAAU,EAAG/pB,SAAAA,EAAU8mB,OAAAA,EAAQkD,YAAAA,MACnC,MACUtmC,GACNJ,EAAAA,EAAAA,YAAWC,EAAAA,IADbF,KAAQK,gBAEJumC,GAAcxO,EAAAA,EAAAA,UACpB,GAAoCtf,EAAAA,EAAAA,UAASwtB,GAAYC,SAAzD,YAAOM,EAAP,KAAmBC,EAAnB,KACM3B,GAAU/M,EAAAA,EAAAA,QAAO38B,GAAKqpC,UA0B5B,IAAIiC,EAyBJ,OAlDA9U,EAAAA,EAAAA,YAAU,IAAMgT,GAAS+B,YAAY,KACrC/U,EAAAA,EAAAA,YAAU,KACR,IAAIqR,GAAuBG,GACxBxjB,MAAM,CAAEA,MAAOgnB,GAAAA,UACfrD,8BACAE,OAAMO,IAEL,MADAyC,EAAcR,GAAYE,OACpBnC,KAEPpkB,MAAM,CAAEA,MAAOinB,GAAAA,OACftD,8BAGAE,OAAM,IAAM,OACZI,SAAQ,CAACiD,EAAGnnB,KACX,MACoBonB,EAEhBpnB,EAFFonB,QAAWvoB,MACX7e,EACEggB,EADFhgB,KAEIqnC,IAAqBrnC,GAAOA,EAAKsnC,YAAYD,mBACnDlC,EAAQ3X,QAAUntB,GAAmBgnC,EAAqB5rC,GAAKmpC,WAAanpC,GAAKqpC,SACjF8B,EAAYpZ,QA/DD,EAAC4Z,EAASjC,IAC3BiC,EAAQltC,KAAIgB,IACH,CACLK,KAAML,EAAO2C,MACbhC,YAAaX,EAAOW,YACpBi8B,MAAO58B,EAAO48B,MACdC,QAAS,CACPn7B,KAAM66B,GAAS,qBAAoBv8B,EAAOJ,KAAM,CAC9C+6B,WAAYsP,EAAQvpC,iBAEtBme,MAAMhf,EAAAA,EAAAA,GAAEoqC,GACRxN,QAAS,KACP7C,GAAOuQ,MAAMT,WAAW1pC,EAAO2C,OAC/BonC,GAASI,MAAMT,WAAW1pC,EAAOue,KAAMve,EAAOqsC,WAGlDvP,cAAe,CACbp7B,KAAM66B,GAAQv8B,EAAO6jB,MAAMyoB,cAAe,CACxC3R,WAAY,eAEd9b,MAAMhf,EAAAA,EAAAA,GAAEU,GAAKklC,WACbhJ,QAAS,KACP7C,GAAOuQ,MAAM1E,UAAUzlC,EAAO2C,OAC9BonC,GAASI,MAAM1E,kBAwCK8G,CAAWL,EAASjC,EAAQ3X,SAClDsZ,EAAcR,GAAYG,YAK9BM,EADEF,IAAeP,GAAYC,QAE3B,uBAAK5pC,UAAU,4BACb,gBAAC,EAAA6qB,eAAD,CAAgBhnB,KAAK,KAAKinB,YAAU,KAG/Bof,IAAeP,GAAYE,MAC5B,gBAAC,KAAD,MAGN,gBAAClB,IAAD,CACE3oB,SAAUA,EACV4oB,kBAAmB,CACjB,CAACxS,GAAiBC,UAAWkS,oBAAoBC,EAAQ3X,SACzD,CAACuF,GAAiBE,kBAAmB,CACnC13B,MAAMR,EAAAA,EAAAA,GAAEU,GAAKw7B,iBACbp7B,aAAad,EAAAA,EAAAA,GAAEU,GAAKkpC,4BACpB1M,SAAU,EACVC,SAAU0O,EAAYpZ,YAO9B,gBAAC,GAAD,CACEhD,UAAU,OACVmc,YAAaA,EACbzK,cAAc,2DAEb6K,IA/DDL,QAAAA,YAAAA,UA+ENA,QAAQjpC,aAAe,CACrBkf,SAAU,KACVgqB,aAAa,GAGf,UAAe3lB,EAAAA,EAAAA,KAAW0mB,EAAAA,GAAAA,IAAWhB,UCzS/BiB,GAA4BC,EAAAA,gBAE5BC,kCAAoC,EAAGC,mBAAoBC,EAAe/oC,SAAAA,MAC9E,SAAqD8Z,EAAAA,EAAAA,UAASivB,GAA9D,YAAOD,EAAP,KAA2BE,EAA3B,MACA/V,EAAAA,EAAAA,YAAU,KACR+V,EAAuBD,KACtB,CAACA,IAMJ,OACE,gBAACJ,GAA0BjjC,SAA3B,CACElB,MAAO,CACLskC,mBAAAA,EACAG,sBARwBC,IAC5BF,EAAuBE,MAUpBlpC,IAjBD6oC,kCAAAA,YAAAA,oCA2BNA,kCAAkCpqC,aAAe,CAC/CqqC,mBAAoB,I,qCCjCf,MAAMK,GAAgB,gBAChBC,GAAW,WACXC,GAAkB,kBAClBC,GAAiB,iBACjBC,GAAc,cACdC,GAAc,cACdC,GAAS,SAETC,GAAiB,CAC5B,CAAE5tC,GAAI,EAAG0I,MAAO2kC,GAAepuB,KAAM,mBACrC,CAAEjf,GAAI,EAAG0I,MAAO4kC,GAAUruB,KAAM,YAChC,CAAEjf,GAAI,EAAG0I,MAAO6kC,GAAiBtuB,KAAM,cACvC,CAAEjf,GAAI,EAAG0I,MAAO8kC,GAAgBvuB,KAAM,kBACtC,CAAEjf,GAAI,EAAG0I,MAAO+kC,GAAaxuB,KAAM,eACnC,CAAEjf,GAAI,EAAG0I,MAAOglC,GAAazuB,KAAM,eACnC,CAAEjf,GAAI,EAAG0I,MAAOilC,GAAQ1uB,KAAM,WAGnB4uB,GAAyB,CAACR,GAAeC,GAAUC,IACnDO,GAA6B,CAACN,GAAgBC,GAAaC,GAAaC,IACxEI,GAA8B,CAACV,GAAeC,ICbrDU,eAAiB,EAAGC,SAAAA,EAAUC,WAAAA,EAAYC,eAAAA,EAAgBC,cAAAA,EAAeC,eAAAA,MAC7E,MASMC,WAAa,CAACnK,EAAKoK,KACvB,GAAY,IAARpK,IAAcoK,EAChB,OAEF,GAAIpK,IAAQ8J,EAASO,QAAQhwB,OAAS,GAAK+vB,EACzC,OAGF,MAAME,EAAkBC,IAAAA,CAAUT,GAC5BO,EAAU,IAAIC,EAAgBD,SAE9BG,EAASH,EAAQrK,GACjBzd,EAAK6nB,EAAOpK,EAAM,EAAIA,EAAM,EAClCqK,EAAQI,OAAOzK,EAAK,GACpBqK,EAAQI,OAAOloB,EAAI,EAAGioB,GAEtBF,EAAgBD,QAAUA,EAC1BL,EAAeM,IA+BjB,OACE,gBAAC,EAAAvyB,UAAD,CAAW,cAAY,kBACpB+xB,EAASO,QAAQhwB,OAAS4vB,GACzB,uBAAKvsC,UAAU,wBAAf,kDAEGusC,EAFH,iBAMDH,EAASO,QAAQpvC,KAAI,CAACuvC,EAAQvuB,IACzBA,EAAQguB,EAER,gBAAC,EAAAlyB,UAAD,CAAWlY,IAAM,YAAWiqC,EAASjuC,MAAMogB,EAAQ,IAAK7D,GAAI,GAC1D,gBAAC,EAAAsyB,WAAD,CACEhtC,UAAY,yBAAuC,SAAfqsC,EAAwB,kCAAoC,MACpF,IAAV9tB,EAAc,8BAAgC,KAEhD3a,WAAS,EACTC,KAAK,KACLisB,SAAU0c,GAEV,gBAAC,EAAAnyB,UAAD,CAAWra,UAAU,mCACnB,gBAAC,EAAAitC,MAAD,CACE9uC,GAAK,YAAWiuC,EAASjuC,YAAYogB,EAAQ,IAC7Cve,UAAU,mDACV4D,WAAS,EACTC,KAAK,KACLgD,MAAOimC,EAAOA,OACdnpB,YAAY,eACZzf,MAAiB,IAAVqa,EAAc,eAAY4f,EACjCxJ,SAAUuY,GAvFD,EAAC5K,EAAK4K,KAC/B,MAAMN,EAAkBC,IAAAA,CAAUT,GAC5BO,EAAU,IAAIC,EAAgBD,SACpCA,EAAQrK,GAAKwK,OAASI,EAAMtlB,OAAO/gB,MAEnC+lC,EAAgBD,QAAUA,EAC1BL,EAAeM,IAiFoBO,CAAmB5uB,EAAO2uB,GAC7Cpd,SAAU0c,IAEZ,gBAAC,EAAAY,gBAAD,KACkB,SAAff,GACC,gBAAC,EAAAY,MAAD,CACE9uC,GAAK,YAAWiuC,EAASjuC,WAAWogB,EAAQ,IAC5Cve,UAAU,uBACV6D,KAAK,KACLgD,MAAOimC,EAAOO,MACd1pB,YAAY,IACZzf,MAAiB,IAAVqa,EAAc,aAAU4f,EAC/BxJ,SAAUuY,GApDN,EAAC5K,EAAK4K,KAC9B,MAAMI,EAAMJ,EAAMtlB,OAAO/gB,MAAMP,QAAQ,WAAY,IAC7CsmC,EAAkBC,IAAAA,CAAUT,GAC5BO,EAAU,IAAIC,EAAgBD,SACpCA,EAAQrK,GAAK+K,MAAQC,EAErBV,EAAgBD,QAAUA,EAC1BL,EAAeM,IA6CwBW,CAAkBhvB,EAAO2uB,GAC5Cpd,SAAU0c,IAGd,uBAAKxsC,UAAU,iCACF,IAAVue,GACC,gBAAC,EAAA7d,OAAD,CACEV,UAAU,uCACV6D,KAAK,KACLtD,QAAQ,OACRqc,QAAS,IAAM6vB,WAAWluB,GAC1Bvc,SAAS,MAET,wBAAMhC,UAAU,6CACd,gBAAC,GAAAwtC,YAAD,QAILjvB,IAAU6tB,EAASO,QAAQhwB,OAAS,GACnC,gBAAC,EAAAjc,OAAD,CACEV,UAAU,uCACV6D,KAAK,KACLtD,QAAQ,OACRqc,QAAS,IAAM6vB,WAAWluB,GAAO,GACjCvc,SAAS,MAET,wBAAMhC,UAAU,6CACd,gBAAC,GAAAytC,cAAD,QAILrB,EAASO,QAAQhwB,OAAS,GACzB,gBAAC,EAAAjc,OAAD,CACEV,UAAU,uCACV6D,KAAK,KACLtD,QAAQ,OACRqc,QAAS,IA1GZ0lB,CAAAA,IACnB,MAAMsK,EAAkBC,IAAAA,CAAUT,GAC5BO,EAAU,IAAIC,EAAgBD,SACpCA,EAAQI,OAAOzK,EAAK,GAEpBsK,EAAgBD,QAAUA,EAC1BL,EAAeM,IAoGsBc,CAAanvB,GAC5Bvc,SAAS,MAET,wBAAMhC,UAAU,6CACd,gBAAC,GAAA2tC,MAAD,aAWb,OAERvB,EAASO,QAAQhwB,OAAS4vB,IAAkBC,GAC3C,gBAAC,EAAA9rC,OAAD,CAAQmD,KAAK,KAAKtD,QAAQ,OAAOqc,QAAS,IAnH9B,MAChB,MAAMgwB,EAAkBC,IAAAA,CAAUT,GAC5BO,EAAU,IAAIC,EAAgBD,SACpCA,EAAQxpB,KAAK,CAAE2pB,OAAQ,GAAIO,MAAO,KAElCT,EAAgBD,QAAUA,EAC1BL,EAAeM,IA6GqCgB,GAAa5tC,UAAU,gCACrE,gBAAC,GAAA6tC,eAAD,MADF,YA1JF1B,eAAAA,YAAAA,iBA2LNA,eAAerrC,aAAe,CAC5BsrC,SAAU,CACRjuC,GAAI,GACJiuC,SAAU,GACV0B,aAActC,GACdmB,QAAS,CACP,CAAEG,OAAQ,GAAIO,MAAO,IACrB,CAAEP,OAAQ,GAAIO,MAAO,IACrB,CAAEP,OAAQ,GAAIO,MAAO,KAEvBU,IAAK,EACLC,IAAK,IACLC,eAAe,EACfC,UAAU,EACVC,OAAO,EACPC,WAAW,GAEb/B,WAAY,OACZC,eAAgB,OAChBC,cAAe,GACfC,gBAAgB,GAGlB,wBCvNM6B,GAA4B,CAChC,CACEC,SAAUpC,GACVqC,WAAY,GACZC,cAAe,CACb,CACErwC,GAAI,WACJ+F,MAAO,mBAGXuqC,cAAc,IAIZC,GAA8B,CAClC,CACEJ,SAAUtC,GACVuC,WAAY,GACZC,cAAe,CACb,CACErwC,GAAI,WACJ+F,MAAO,mBAGXuqC,cAAc,GAEhB,CACEH,SAAUrC,GACVuC,cAAe,CAAC,IAChBC,cAAc,IAWLE,mBAAqB,CAACC,EAASvC,KAC1C,IAEIE,EAFAsC,EAAgB,GAChBC,EAAwB,GAG5B,MAAMC,EAA0BH,GAZMvC,CAAAA,GACnB,SAAfA,EACKgC,GAEFK,GAQmCM,CAAyB3C,GAcnE,OAZA0C,EAAuB7uB,SAAQ,EAAGouB,SAAAA,EAAW,GAAIC,WAAAA,EAAYze,SAAAA,MACrCwe,EAASW,OAAM3B,GAAOtB,GAAuBrkC,SAAS2lC,MACvDiB,IACnBhC,EAAgBgC,GAEdze,EACFgf,EAAwBA,EAAsBza,OAAOia,GAErDO,EAAgBA,EAAcxa,OAAOia,MAIlC,CACLY,qBAAsBL,EACtBC,sBAAAA,EACAzX,OAAQ0X,EACRxC,cAAAA,IAIS4C,YAAc,CAACC,EAAKtvB,KAC/BC,OAAOsvB,OAAOC,YAAYF,EAAKtvB,ICtE3ByvB,GAAe,CACnBC,UAAW,YACXC,UAAW,YACXC,OAAQ,SACRC,KAAM,OACNC,OAAQ,SACRC,KAAM,QAGR,MC6DaC,kBAAoB,CAAC1D,EAAUC,GAAcyC,sBAAAA,EAAwB,OAChF,MAAMiB,EAAS,GAkBf,MAnDkC,GAAGjC,aAAAA,EAAc3vC,GAAAA,GAAM4xC,EAAQjB,KAC5DhB,GACHiC,EAAO5sB,KAAK,CACV+f,MAAQ,YAAW/kC,IACnB6xC,QAAS,yDAITlB,EAAsBnnC,SAASmmC,IACjCiC,EAAO5sB,KAAK,CACV+f,MAAQ,YAAW/kC,IACnB6xC,QAAS,oDAuBbC,CAAqB7D,EAAU2D,EAAQjB,GAEb,KAAtB1C,EAASA,UACX2D,EAAO5sB,KAAK,CACV+f,MAAQ,YAAWkJ,EAASjuC,KAC5B6xC,QAAS,+BAIThE,GAAuBrkC,SAASykC,EAAS0B,eA3BG,GAAG3vC,GAAAA,EAAIwuC,QAAAA,GAAWN,EAAY0D,KAC1EpD,EAAQ5zB,QAAO,EAAG+zB,OAAAA,KAAwB,KAAXA,IAAenwB,OAAS,GACzDozB,EAAO5sB,KAAK,CACV+f,MAAQ,YAAW/kC,YACnB6xC,QAAS,sCAIM,SAAf3D,GAA6E,IAApDM,EAAQ5zB,QAAO,EAAGs0B,MAAAA,KAAYA,EAAQ,IAAG1wB,QACpEozB,EAAO5sB,KAAK,CACV+f,MAAQ,YAAW/kC,WACnB6xC,QAAS,sDAiBXE,CAAmC9D,EAAUC,EAAY0D,GAGvD3D,EAAS0B,eAAiBhC,IAjEU,GAAGiC,IAAAA,EAAKC,IAAAA,EAAK7vC,GAAAA,GAAM4xC,KAC3D,GACU,KAARhC,GACQ,KAARC,GACArnC,SAASonC,EAAK,IAAM,KACpBpnC,SAASqnC,EAAK,IAAM,KACpBrnC,SAASonC,EAAK,KAAO,KACrBpnC,SAASqnC,EAAK,KAAO,KACrBrnC,SAASonC,EAAK,KAAOpnC,SAASqnC,EAAK,IACnC,CACA,MAAMmC,EAAmB,KAARnC,GAAcA,EAAM,KAAWA,GAAO,IAAU,OAAS,OAC1E+B,EAAO5sB,KAAK,CACV+f,MAAQ,YAAW/kC,IAAKgyC,IACxBH,QAAS,mDAqDXI,CAA2BhE,EAAU2D,GAGhCA,GAGT,oBA1FiC,KACxB,CACL5xC,IAAI,IAAIkyC,MAAOC,qBAAqBC,WACpCnE,SAAU,GACV0B,aAActC,GACduC,IAAK,EACLC,IAAK,IACLE,UAAU,EACVC,OAAO,EACPC,WAAW,EACXzB,QAAS,CACP,CAAEG,OAAQ,GAAIO,MAAO,IACrB,CAAEP,OAAQ,GAAIO,MAAO,IACrB,CAAEP,OAAQ,GAAIO,MAAO,OCbdmD,kBAAoB,CAACC,EAAc,MAC9C,GAA2B,kBAAvBA,EAAYC,QAAqD,oBAAvBD,EAAYC,OAA8B,CACtF,MAAM/D,EAAU,GAShB,OARA8D,EAAY9D,QAAQgE,QAAQzwB,SAAQ0wB,IAClC,MAAM9D,EAAS,CAAEA,OAAQ8D,EAAOxzB,KAAMiwB,MAAO,IACzCuD,EAAOC,eACT/D,EAAOO,MAAQuD,EAAOC,aAAaxD,MAAMkD,YAE3C5D,EAAQxpB,KAAK2pB,MAGRH,EAGT,MAAO,IAGImE,uBAAyB,CAACJ,EAAQ9F,EAASmG,EAAiB,MACvE,MAAMC,EAAkC,aAAZpG,GAAsC,qBAAZA,EAAiCY,GAAgBC,GACvG,OAAQiF,GACN,IAAK,gBACH,OAAOM,EACT,IAAK,kBACH,MAAO,kBACT,IAAK,aACH,GAAgB,WAAZpG,EACF,MAAoC,WAAhCmG,EAAeE,aACVnF,GAEFH,GAET,GAAgB,UAAZf,EACF,OAAOgB,GAET,MACF,IAAK,SACH,GACc,WAAZhB,GACgC,UAAhCmG,EAAeE,cACoB,SAAnCF,EAAeG,gBAEf,OAAOrF,GAET,MACF,QACE,OAAOmF,EAGX,OAAO,M,spBCvCF,MAsIMG,iBAAmB,CAAC/E,EAAUgF,EAAUC,EAAQC,KAC3D,MAAMC,EAvI4Bz0B,CAAAA,IAClC,OAAQA,GACN,KAAK0uB,GACH,MAAO,CAAEkF,OAAQ,gBAAiB9F,QAAS,YAC7C,KAAKa,GACH,MAAO,CAAEiF,OAAQ,gBAAiB9F,QAAS,QAC7C,KAAKc,GACH,MAAO,CAAEgF,OAAQ,kBAAmB9F,QAAS,YAC/C,KAAKe,GACH,MAAO,CAAE+E,OAAQ,aAAc9F,QAAS,UAC1C,KAAKgB,GACH,MAAO,CAAE8E,OAAQ,aAAc9F,QAAS,SAC1C,KAAKiB,GACH,MAAO,CAAE6E,OAAQ,SAAU9F,QAAS,UACtC,KAAKkB,GACH,MAAO,CAAE4E,OAAQ,aAAc9F,QAAS,UAC1C,QACE,MAAO,CAAE8F,OAAQ,gBAAiB9F,QAAS,cAsHzB4G,CAAqBpF,EAAS0B,cAEpD,IAAI2C,EAAc,uDAChBC,OAAQa,EAAcb,OACtB9F,QAAS2G,EAAc3G,SACnB0G,GAA2B,IAC5B,CACDG,SAAU,CACR,CACEC,QAAStF,EAASA,WAGtBgF,SAAAA,IA+BJ,cA3BOX,EAAYxwC,YACZwwC,EAAYkB,OAEdvF,EAAS+B,QACZsC,EAAYtyC,GAAKiuC,EAASjuC,IAG5BsyC,EA7E4B,EAACrE,EAAUqE,KACvC,MAAMmB,EAAkB,8BAAKnB,GAY7B,OAVIrE,EAAS8B,SACX0D,EAAgB1D,SAAW,CACzB9wB,KAAM,uBACNN,KAAMsvB,EAAS0B,eAAiBpC,GAAkB,WAAa,MAC/DmG,OAAQ,YAGHD,EAAgB1D,SAGlB0D,GAgEOE,CAAe1F,EAAUqE,IAEnCzE,GAAuBrkC,SAASykC,EAAS0B,eAAiB1B,EAAS0B,eAAiBjC,MACtF4E,EAAY9D,QA5Ie,EAACP,EAAW,GAAIiF,GAAS,KACtD,IAAIU,EAAe,KACnB,GAAI/F,GAAuBrkC,SAASykC,EAAS0B,cAAe,CAC1D,MAAM6C,EAAU,GAChB,IAAIS,EAAW,EACfhF,EAASO,QAAQzsB,SAAQ4sB,IACvB,GAAIA,EAAOA,OAAQ,CACjB,MAAM8D,EAAS,CACbxzB,KAAM0vB,EAAOA,OACbkF,SAAS,EACTZ,SAAAA,GAEEC,IACFT,EAAOC,aAAe,CACpBxD,MAAOP,EAAOO,MAAQ1mC,SAASmmC,EAAOO,MAAO,IAAM,IAGvDsD,EAAQxtB,KAAKytB,GACbQ,GAAY,MAGhBW,EAAe,CACbpB,QAAAA,QAEOvE,EAAS0B,eAAiBjC,KACnCkG,EAAe,CACbE,KAAM,CACJ,CACED,SAAS,EACT50B,KAAM,GACNg0B,SAAU,IAGdT,QAAS,CACP,CACEuB,OAAQ,EACR90B,KAAM,IAER,CACE80B,OAAQ,EACR90B,KAAM,IAER,CACE80B,OAAQ,EACR90B,KAAM,IAER,CACE80B,OAAQ,EACR90B,KAAM,IAER,CACE80B,OAAQ,EACR90B,KAAM,OAKd,OAAO20B,GAmFiBI,CAAgB/F,EAAUiF,IAGlDZ,EAnEoC,EAACrE,EAAUqE,KAC/C,MAAMmB,EAAkB,8BAAKnB,GAS7B,OARIrE,EAAS0B,eAAiBjC,KAC5B+F,EAAgBQ,gBAAkB,CAChCnB,aAAc,QACdC,gBAAiB,QAEnBU,EAAgBS,gBAAiB,GAG5BT,GAyDOU,CAAuBlG,EAAUqE,GAE/CA,EAxDsC,EAACrE,EAAUqE,KACjD,MAAMmB,EAAkB,8BAAKnB,GAoB7B,OAnBIrE,EAAS0B,eAAiBhC,KAC5B8F,EAAgBQ,gBAAkB,CAChCG,YAAc,GAAEnG,EAAS4B,OAAS,MAClCiD,aAAc,SACduB,eAAgB,CACdC,kBAAmB,EACnBC,UAAW,GAEbC,WAAa,GAAEvG,EAAS2B,OAAS,KAGnC6D,EAAgBgB,WAAa,CAC3BC,SAAU,GACV9E,IAAK3B,EAAS2B,IAAMpnC,SAASylC,EAAS2B,IAAK,IAAM,EACjD3wB,KAAM,mDACN4wB,IAAK5B,EAAS4B,IAAMrnC,SAASylC,EAAS4B,IAAK,IAAM,IACjDlxB,KAAM,YAGH80B,GAmCOkB,CAAyB1G,EAAUqE,GAE7CY,GAAUrF,GAAuBrkC,SAASykC,EAAS0B,gBACrD2C,EAAYI,aAAe,CACzBkC,iBAAiB,EACjBC,SAAU,CACRC,aAAc,uBACdC,eAAgB,wBAKfzC,G,soBClJT,MAAM0C,UAAY,EAAGxxB,MAAAA,MACnB,SAAsDre,EAAAA,EAAAA,YAAW0nC,IAAzDG,EAAR,EAAQA,mBAAoBG,EAA5B,EAA4BA,sBAE1B8H,EASEjI,EATFiI,eACA3Q,EAQE0I,EARF1I,MACA4Q,EAOElI,EAPFkI,OACAC,EAMEnI,EANFmI,qBACAC,EAKEpI,EALFoI,WACA/G,EAIErB,EAJFqB,eACAgH,EAGErI,EAHFqI,mBACAC,EAEEtI,EAFFsI,aACAC,EACEvI,EADFuI,eAEIC,EAAqBL,EAAuBC,EAAa5xB,EAAMC,OAAO+xB,mBAyBtEC,EAA4C,SAAvBD,EAxBD,CACxBN,OAAAA,EACAQ,aAAc,EACdC,kBAAmB,GACnBp1C,MAAO,CAAC,QACRq1C,aAAcJ,EACdK,WAAW,EACXC,yBAAyB,EACzBC,wBAAwB,EACxBC,wBAAwB,EACxB1R,MAAAA,GAE0B,CAC1B4Q,OAAAA,EACAQ,aAAc,GACdC,kBAAmB,GACnBp1C,MAAO,CAAC,SAAU,QAClBq1C,aAAcJ,EACdK,WAAW,EACXC,yBAAyB,EACzBC,wBAAwB,EACxBC,wBAAwB,EACxB1R,MAAAA,GAKAyR,EAKEN,EALFM,uBACAC,EAIEP,EAJFO,uBACAF,EAGEL,EAHFK,wBACcG,EAEZR,EAFFC,aACAn1C,EACEk1C,EADFl1C,MAGF,GAAoByd,EAAAA,EAAAA,UAASy3B,GAAtBS,EAAP,aAEA,GAA0Cl4B,EAAAA,EAAAA,UAASk3B,GAAnD,YAAOiB,EAAP,KAAsBC,EAAtB,KAEA,GAAkCp4B,EAAAA,EAAAA,UAAS,CAACq4B,wBAA5C,YAAOC,EAAP,KAAkBC,EAAlB,KAEA,GAAsCv4B,EAAAA,EAAAA,UAASk3B,GAAUA,EAAOnyC,OAAhE,YAAOyzC,EAAP,KAAoBC,EAApB,KAEA,GAAoCz4B,EAAAA,EAAAA,UAASw3B,GAA7C,YAAOtH,EAAP,KAAmBwI,EAAnB,KAEA,GAAgE14B,EAAAA,EAAAA,WAAS,GAAzE,YAAO24B,EAAP,KAAiCC,EAAjC,KAEA,GAAsC54B,EAAAA,EAAAA,UAAS,kBAA/C,YAAO64B,EAAP,KAAoBC,EAApB,KAEMC,EAA6C,IAA/B52C,OAAOD,KAAKg1C,GAAQ12B,OAElCw4B,EAAO7B,IAAyB4B,EAEtC,GAAsD/4B,EAAAA,EAAAA,UAAS,IAA/D,YAAOi5B,EAAP,KAA4BC,GAA5B,KAEA,IAA0Bl5B,EAAAA,EAAAA,UAASwyB,mBAAmB+E,EAAgBC,IAA/D2B,GAAP,cAEA,IAAoDn5B,EAAAA,EAAAA,WAAS,GAA7D,cAAOo5B,GAAP,MAA6BC,GAA7B,MAEMC,IAA0BC,EAAAA,EAAAA,cAC9BC,IACE,MAAMC,EAAgB,GAChBC,EAAuB,GACzBV,GAAQQ,IACVA,EAAWG,MAAM51B,SAAQoG,IACvBA,EAAKmuB,UAAUv0B,SAAQksB,IACrB,MAAM2J,EFrEgB,EAAC3J,EAAUkI,KACpC,CACLn2C,GAAIiuC,EAASjuC,IAAMiuC,EAAS4J,YAC5B5J,SAAUA,EAASqF,SAAS,GAAGC,QAC/B5D,aAAcgD,uBAAuB1E,EAASsE,OAAQtE,EAASxB,QAASwB,EAASgG,iBACjFzF,QAAS6D,kBAAkBpE,GAC3B2B,IAAK3B,EAASwG,WAAaxG,EAASwG,WAAW7E,IAAM,EACrDC,IAAK5B,EAASwG,WAAaxG,EAASwG,WAAW5E,IAAM,IACrDC,eAAe,EACfC,WAAY9B,EAAS8B,SACrBC,MAAOmG,QAAsCnW,IAArBmW,EAAcn2C,GACtCiwC,WAAW,EACX6H,gBAAiB7J,EAASgF,WEyDR8E,CAAmB9J,EAAUkI,GACnCyB,IACET,GAAgBxG,sBAAsBnnC,SAASouC,EAAEjI,gBACnDiI,EAAEI,aAAc,EAChBX,IAAoB,IAGtBI,EAAczyB,KAAK4yB,GACnBF,EAAqB1yB,KAAKipB,UAIhCsI,EAAakB,GACbP,GACEQ,EAAqBvP,QAAO,CAAC/oC,EAAK6uC,KAChC,MAAMgK,EAAS74C,EAIf,OAHI6uC,EAASjuC,KACXi4C,EAAOhK,EAASjuC,IAAMiuC,GAEjBgK,IACN,QAIT,CAACjB,EAAMb,EAAegB,MAGxBhgB,EAAAA,EAAAA,YAAU,KACRmgB,GAAwBpC,GACxBkB,EAAiBlB,KAChB,CAAC8B,EAAMM,GAAyBpC,IAEnC,MACEgD,GAaE5T,EAbF4T,UACAzY,GAYE6E,EAZF7E,YACA0Y,GAWE7T,EAXF6T,gBACAC,GAUE9T,EAVF8T,qBACAC,GASE/T,EATF+T,yBACAC,GAQEhU,EARFgU,WACAC,GAOEjU,EAPFiU,eACAC,GAMElU,EANFkU,yBACAC,GAKEnU,EALFmU,qBACAC,GAIEpU,EAJFoU,iBACAC,GAGErU,EAHFqU,sBACAC,GAEEtU,EAFFsU,sBACAC,GACEvU,EADFuU,2BAGF1hB,EAAAA,EAAAA,YAAU,KACR,MAAM2hB,EAAO72B,SAAS82B,gBAEtBD,EAAKxU,MAAM0U,YAAY,oBAAqBd,IAC5CY,EAAKxU,MAAM0U,YAAY,sBAAuBvZ,IAC9CqZ,EAAKxU,MAAM0U,YAAY,oBAAqBb,IAC5CW,EAAKxU,MAAM0U,YAAY,+BAAgCZ,IACvDU,EAAKxU,MAAM0U,YAAY,6BAA8BX,IACrDS,EAAKxU,MAAM0U,YAAY,qBAAsBV,IAC7CQ,EAAKxU,MAAM0U,YAAY,yBAA0BT,IACjDO,EAAKxU,MAAM0U,YAAY,mCAAoCR,IAC3DM,EAAKxU,MAAM0U,YAAY,+BAAgCP,IACvDK,EAAKxU,MAAM0U,YAAY,2BAA4BN,IACnDI,EAAKxU,MAAM0U,YAAY,gCAAiCL,IACxDG,EAAKxU,MAAM0U,YAAY,gCAAiCJ,IACxDE,EAAKxU,MAAM0U,YAAY,oCAAqCH,IAA6B,aACxF,CACDX,GACAzY,GACA0Y,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,KAGF,MAGA,IAAkC76B,EAAAA,EAAAA,WAAS,GAA3C,cAAOi7B,GAAP,MAAkBC,GAAlB,MACA,IAAkCl7B,EAAAA,EAAAA,UAAS,IAA3C,cAAOm7B,GAAP,MAAkBC,GAAlB,MACA,IAAkCp7B,EAAAA,EAAAA,eAASgiB,GAC3C,IADA,eACkDhiB,EAAAA,EAAAA,UAAS,KAA3D,cAAOq7B,GAAP,MAA0BC,GAA1B,MAEMC,UAAY,KAChB,IAAK/C,GAA8B,SAAftI,EAClB,MAAO,CAAEnJ,MAAO,cAAe8M,QAAS,6BAG1C,IAAK,IAAIvqB,EAAI,EAAGA,EAAIgvB,EAAU93B,OAAQ8I,GAAK,EAAG,CAC5C,MAAM2mB,EAAWqI,EAAUhvB,GAErBkyB,EAAiB7H,kBAAkB1D,EAAUC,EAAYiJ,IAC/D,GAAIqC,EAAeh7B,OAAS,EAC1B,OAAOg7B,EAAe,GAI1B,OAAO,MAGHC,WAAa,KACjB,MAAMC,EAAkB,GACxB,IAAIC,EAAa,GACjBrD,EAAUv0B,SAAQ,CAACksB,EAAUgF,KAC3B,MAAM2G,EAAiB5G,iBAAiB/E,EAAUgF,EAAW,EAAkB,SAAf/E,GAEhEwL,EAAgB10B,KAAK40B,MAEvBD,EAAa,CACXE,OAAQxL,EAAiB,YAAc,OACvCyL,UAAW,GACX5E,OAAQ,CACNnyC,MAAOyzC,EACPmB,MAAO,CACL,CACErB,UAAWoD,KAIjBrJ,cAAe8G,GAAgBje,OAAOmX,eAExCW,YAAa,GAAE+I,KAAKC,UAAUL,KAAerE,IAWzC2E,GAAa,+BAEb9L,eAAiB+L,IACrB,MAAMzG,EAAkB,iDAAKyG,GAAR,IAAmBjK,WAAW,IAC7CkK,EAAgB7D,EAChB8D,EAAaD,EAAcE,WAAUzC,GAAKA,EAAE53C,KAAOyzC,EAAgBzzC,KACrEo6C,GAAc,IAChBD,EAAcC,GAAc3G,EAC5B8C,EAAa,IAAI4D,KAGfrE,GACF2D,aAGF,MAAMa,EAAar4B,SAASs4B,cAAc,sDACtCD,GACFA,EAAWl2C,UAAUupB,OAAOssB,KAyE1BO,aAAe,CAACvM,EAAUM,KAC9B,MAAMkJ,EAAgBnB,EAChBmE,EAAOhD,EAAc4C,WAAUzC,GAAKA,EAAE53C,KAAOiuC,EAASjuC,KACtD0mB,EAAK6nB,EAAOkM,EAAO,EAAIA,EAAO,EACpChD,EAAc7I,OAAO6L,EAAM,GAC3BhD,EAAc7I,OAAOloB,EAAI,EAAGunB,GAC5BsI,EAAa,IAAIkB,KAGbiD,WAAaC,IACjB,GAAIA,GAAUA,EAAO5V,MAAO,CAC1B,MAAM5T,EAAQlP,SAASyL,eAAeitB,EAAO5V,OAC7C5T,EAAM4T,QACN5T,EAAM/sB,UAAUs8B,IAAIuZ,IAEtBf,IAAa,GACbE,GAAauB,EAASA,EAAO9I,QAAU,KAGnC+I,aAAe,KACnB,MAAMlB,EAAkB,GAClB9H,EAAS2H,YACf,GAAI3H,EAEF,YADA8I,WAAW9I,GAGbsH,IAAa,GAEb,MAAMY,EAAY,GAElBxD,EAAUv0B,SAAQ,CAACksB,EAAUgF,KAC3B,MAAM4H,EAAkB5D,EAAoBhJ,EAASjuC,KAAO,KACtD45C,EAAiB5G,iBAAiB/E,EAAUgF,EAAW,EAAkB,SAAf/E,EAAuB2M,IAEnF5M,EAAS6J,kBAAoB8B,EAAe3G,UAAYhF,EAASgC,WAAahC,EAAS+B,SACzF8J,EAAU90B,KAAKipB,EAASjuC,IACxB05C,EAAgB10B,KAAK40B,OAIzBP,GAAkBt3B,SAAQ+4B,IACxBhB,EAAU90B,KAAK81B,EAAiB96C,OAGlC,MAEM25C,EAAa,CACjBE,OJjY6B,EAACxL,EAAgByL,EAAW9C,IACzD3I,EACK+C,GAAaC,UAElB2F,EACK5F,GAAaG,OAEG,IAArBuI,EAAUt7B,OACL4yB,GAAaE,UAEfF,GAAaI,KIoXHuJ,CAAoB1M,EAAgByL,EAAW9C,GAI5D8C,UAAAA,EACA5E,OAAQ,CACNl1C,GAAIm2C,EAAcn2C,GAClB+C,MAAOyzC,EACPmB,MAAO,CACL,CACErB,UAAWoD,KAIjBrJ,cAAe8G,GAAgBje,OAAOmX,eAExCW,YAAa,GAAE+I,KAAKC,UAAUL,KAAerE,IAazCzwB,aAAe,KACM,IAArByxB,EAAU93B,SAIdw8B,aAAaC,WAAW,2BAEpBjE,GAAQb,EAAcn2C,GACxB46C,eAlBe,MACjB,MAAMhJ,EAAS2H,YACX3H,EACF8I,WAAW9I,IAGbsH,IAAa,GACbO,eAaEyB,KAIEC,aAAel5C,IACnB,GAAmB,cAAfmzC,EACF0B,EAAe,2BACfF,GAA4B,QACvB,GAAIzB,GAAwB9G,EAAgB,CACjD,MAAMsL,EAAa,CACjBE,OAAQ53C,GAEV+uC,YAAa,GAAE+I,KAAKC,UAAUL,KAAerE,GAC7C0F,aAAaC,WAAW,2BACxB9N,EAAsB,iDACjBH,GADgB,IAEnBoI,WAAY,GACZD,sBAAsB,EACtB9G,gBAAgB,EAChB6G,OAAQ,MAEV4B,EAAe,iBACfF,GAA4B,QAE5BE,EAAe,iBACfF,GAA4B,IAMhC,OACE,gBAAC,EAAA16B,UAAD,CAAW,cAAY,YAAYra,UAAU,IAC3C,gBAAC,EAAAwhB,KAAD,CAAMxhB,UAAU,gBAAgBglB,UAAQ,GACtC,gBAAC,EAAAvD,IAAD,CAAKzhB,UAAU,qBAAqBya,GAAI,GACtC,gBAAC,EAAAc,IAAD,KACiBu5B,EACb,gBAAC,KAAD,CAAUjwB,GAAImwB,IAFlB,KAIE,gBAAC,EAAA36B,UAAD,CAAWI,GAAI,EAAG8+B,GAAI,GACpB,gBAAC,EAAA74C,OAAD,CACEV,UAAU,6BACV6D,KAAK,KACLtD,QAAQ,OACRqc,QAAS,IAAM08B,aAAa/J,GAAAA,OAE5B,gBAAC,GAAAiK,cAAD,MANF,SAUF,gBAAC,EAAAn/B,UAAD,CAAWo/B,GAAI,GACb,gBAAC,EAAAn5C,WAAD,CAAYC,QAAQ,aAApB,UAEGozC,MAKT,gBAAC,EAAAlyB,IAAD,CAAKzhB,UAAU,yBACb,gBAAC,EAAAub,IAAD,CAAKvb,UAAU,mCACb,gBAAC,EAAA05C,MAAD,CAAOj6C,MAAM,OAAOk6C,UAAQ,EAAClqB,KAAM8lB,GAAsBvmB,QAAS,IAAMwmB,IAAoB,IAA5F,kGACkG,IAChG,wBAAMx1C,UAAU,yBAAhB,6EAGA,wBAAMA,UAAU,0BACd,qBAAGC,KAAK,2DAA2D2nB,OAAO,SAAS7G,IAAI,cAAvF,WADF,uEAKE,qBACE9gB,KAAK,qEACL2nB,OAAO,SACP7G,IAAI,cAHN,eAVJ,KAoBeszB,EAAUL,UACvB,gBAAC,EAAA35B,UAAD,CAAWra,UAAU,6BAA6B45C,GAAI,GACnDl7C,GAASA,EAAMie,QAAU,IACS,IAAlBy3B,EACb,gBAAC,EAAAyF,MAAD,CAAOh2C,KAAK,MAAZ,QAEA,gBAAC,EAAAg2C,MAAD,CAAOh2C,KAAK,MACV,gBAAC,EAAAi2C,OAAD,CACEl2C,WAAS,EACTC,KAAK,KACL7D,UAAU,kEACV6G,MAAOwlC,EACP1X,SAjRS52B,IAC7B82C,EAAc92C,EAAE6pB,OAAOmyB,WAAWlzC,MAAMA,OAEpCotC,GACF2D,cA8QkB9nB,SAAUqlB,GAAQ3I,GAEjB9tC,EAAMnB,KAAIy8C,GAEP,gBAAC,EAAAC,OAAD,CAAQ93C,KAAK+3C,EAAAA,GAAAA,MAAQrzC,MAAOmzC,EAAoBzzC,eAC7CyzC,SAvCrB,KAiDqB,IAAlB5F,GACC,gBAAC,EAAA/5B,UAAD,CAAWK,GAAI,GACb,gBAAC,EAAAuyB,MAAD,CACE9uC,GAAG,cACH6B,UAAU,cACV4D,WAAS,EACTC,KAAK,KACLK,MAAM,QACN2C,MAAO8tC,GAAe,GACtBhxB,YAAY,qBACZgR,SAtNgB52B,IAC9B62C,EAAe72C,EAAE6pB,OAAO/gB,OAEpBotC,GACF2D,aAGF,MAAMa,EAAar4B,SAASs4B,cAAc,sDACtCD,GACFA,EAAWl2C,UAAUupB,OAAOssB,KA8MhBtoB,SAAU0c,KAIfiI,GACCA,EAAUl3C,KAAI,CAAC6uC,EAAU7tB,KACvB,MAAM47B,EAAc,YAAW/N,EAASjuC,KACxC,OACE,gBAAC,EAAAkc,UAAD,CACElY,IAAM,sBAAqBiqC,EAASjuC,MAAMogB,EAAQ,IAClD7D,GAAI+5B,GAAaA,EAAU93B,OAAS,IAAM4B,EAAQ,EAAI,GAEnC,IAAlB61B,IAAwB5H,GACvB,gBAAC,EAAAnyB,UAAD,CAAWra,UAAU,gCAAgC0a,GAAI,GACvD,2BACA,gBAAC,EAAApa,WAAD,CAAYG,UAAU,MAAMF,QAAQ,aAClC,wBAAMP,UAAU,wBAAhB,KAA0Cue,EAAQ,GAClD,gBAAC,EAAAsJ,KAAD,CACE4H,KA/WT,MAgXSzvB,UAAU,eACVqd,UAAU,eACV0K,SAAO,EACPC,OAAK,EACLC,YACE,gBAAC,EAAAvnB,OAAD,CAAQV,UAAU,2BAA2B6D,KAAK,KAAKtD,QAAQ,QAC7D,gBAAC,GAAA65C,SAAD,QAIJ,gBAAC,EAAAjyB,SAAD,CAAUvL,QAAS,IAlQtBwvB,CAAAA,IAChBA,EAAS+B,MAEP,CACL,MAAMkM,EAAwB7C,GACxB8C,EAAoB7F,EAAU17B,QAAOg9B,GAAKA,EAAE53C,KAAOiuC,EAASjuC,KAC7DiuC,EAAS+B,OACZkM,EAAsBl3B,KAAKipB,GAE7BsI,EAAa,IAAI4F,IACjB7C,GAAqB,IAAI4C,MAwPsBE,CAAenO,IAAxC,mBACW,IAAV7tB,GACC,gBAAC,EAAA4J,SAAD,CAAUvL,QAAS,IAAM+7B,aAAavM,GAAU,IAAhD,oBAEDqI,GAAaA,EAAU93B,OAAS,IAAM4B,GACrC,gBAAC,EAAA4J,SAAD,CAAUvL,QAAS,IAAM+7B,aAAavM,GAAU,IAAhD,yBAMV,gBAAC,EAAA/xB,UAAD,CAAWK,GAAI,GACb,gBAAC,EAAAo/B,OAAD,CACEl2C,WAAS,EACTC,KAAK,KACL7D,UAAU,+BACV6G,MAAOulC,EAAS0B,aAChBnZ,SAAUuY,GA7TC,EAACmL,EAAWt6C,KAC3C,MAAMy8C,EAAcnC,EACZxxC,EAAU9I,EAAE6pB,OAAOmyB,WAAWlzC,MAA9BA,MACR2zC,EAAY1M,aAAejnC,EAC3BylC,eAAekO,IAyTwBC,CAAyBrO,EAAUc,GACtDpd,SAAWqlB,IAAS/I,EAAS+B,OAAU3B,GPhkB/B,EAACqC,EAAgB,KAAO9C,GAAehzB,QAAOg9B,GAAKlH,EAAclnC,SAASouC,EAAElvC,SOkkBnF6zC,CAAiBpF,GAAgBpG,sBAAsB3xC,KAAIuwC,GAExD,gBAAC,EAAAmM,OAAD,CACE93C,IAAK2rC,EAAa3vC,GAClB0I,MAAOinC,EAAajnC,MACpBipB,SAAUwlB,GAAgBxG,sBAAsBnnC,SAASmmC,EAAajnC,QAErEinC,EAAa1wB,UAMxB,gBAAC,EAAA/C,UAAD,CAAWK,GAAI,GACb,gBAAC,EAAAuyB,MAAD,CACE9uC,GAAIg8C,EACJn6C,UAAU,qDACV4D,WAAS,EACTC,KAAK,KACLK,MAAM,WACN2C,MAAOulC,EAASA,SAChBzoB,YAAY,iBACZgR,SAAUuY,GA/UH,EAACmL,EAAWnL,KACvC,MAAMsN,EAAcnC,EACpBmC,EAAYpO,SAAWc,EAAMtlB,OAAO/gB,MACjB,SAAfwlC,GACFuI,EAAe4F,EAAYpO,UAE7BE,eAAekO,IAyUwBG,CAAqBvO,EAAUc,GAClDpd,SAAU0c,KAGbR,GAAuBrkC,SAASykC,EAAS0B,eACxC,gBAAC,GAAD,CACE3rC,IAAKiqC,EAASjuC,GACdiuC,SAAUA,EACVC,WAAYA,EACZC,eACAC,cAAe+I,GAAgB/I,cAC/BC,eAAgBA,IAGnBJ,EAAS0B,eAAiBnC,IACzB,gBAAC,EAAAtxB,UAAD,KACE,uBAAKra,UAAU,oCAGlBosC,EAAS0B,eAAiBlC,IACzB,gBAAC,EAAAvxB,UAAD,KACE,uBAAKra,UAAU,8EAGlBosC,EAAS0B,eAAiBjC,IACzB,gBAAC,EAAAxxB,UAAD,KACE,uBAAKra,UAAU,mCACb,wBAAMA,UAAU,wCACd,gBAAC,GAAA46C,eAAD,OAEF,wBAAM56C,UAAU,wCACd,gBAAC,GAAA46C,eAAD,OAEF,wBAAM56C,UAAU,wCACd,gBAAC,GAAA46C,eAAD,OAEF,wBAAM56C,UAAU,wCACd,gBAAC,GAAA46C,eAAD,OAEF,wBAAM56C,UAAU,wCACd,gBAAC,GAAA46C,eAAD,SAKPxO,EAAS0B,eAAiBhC,IACzB,gBAAC,EAAAzxB,UAAD,CAAWK,GAAI,GACb,gBAAC,EAAA8G,KAAD,CAAMwD,UAAQ,EAAChlB,UAAU,yBACvB,gBAAC,EAAAyhB,IAAD,KACE,gBAAC,EAAAlG,IAAD,KACE,gBAAC,EAAA0xB,MAAD,CACE9uC,GAAK,YAAWiuC,EAASjuC,SACzB+F,MAAM,MACNL,KAAK,KACLD,WAAS,EACT+wB,SAAUuY,IA7XhB,EAACmL,EAAWt6C,KAClC,MAAMy8C,EAAcnC,EAEpBmC,EAAYzM,IAAO,GAAqB,MAAnBhwC,EAAE6pB,OAAO/gB,MAAgB,IAAMF,SAAS5I,EAAE6pB,OAAO/gB,MAAO,KAAO,KACpFylC,eAAekO,IA0XeK,CAAgBzO,EAAUc,IAE5BrmC,MAAOulC,EAAS2B,IAChBje,SAAU0c,KAGd,gBAAC,EAAAjxB,IAAD,KACE,gBAAC,EAAA0xB,MAAD,CACE9uC,GAAK,YAAWiuC,EAASjuC,SACzB+F,MAAM,MACNL,KAAK,KACLD,WAAS,EACT+wB,SAAUuY,IAnYhB,EAACmL,EAAWt6C,KAClC,MAAMy8C,EAAcnC,EAEpBmC,EAAYxM,IAAO,GAAqB,MAAnBjwC,EAAE6pB,OAAO/gB,MAAgB,IAAMF,SAAS5I,EAAE6pB,OAAO/gB,MAAO,KAAO,KACpFylC,eAAekO,IAgYeM,CAAgB1O,EAAUc,IAE5BrmC,MAAOulC,EAAS4B,IAChBle,SAAU0c,OAKlB,gBAAC,EAAAnyB,UAAD,CAAWI,GAAI,GACb,uBAAKza,UAAU,iCAIF,IAAlBo0C,GACC,gBAAC,EAAA/5B,UAAD,CAAWu/B,GAAI,GACb,gBAAC,EAAAmB,OAAD,CACEjrB,SAAU0c,EACVhvB,QAAS4uB,EAAS8B,SAClBvZ,SAAUuY,GA/YL,EAACmL,EAAWt6C,KACvC,MAAMy8C,EAAcnC,EACpBmC,EAAYtM,SAAWnwC,EAAE6pB,OAAOpK,QAChC8uB,eAAekO,IA4Y0BQ,CAAqB5O,EAAUc,KAEpD,wBAAMltC,UAAU,+BAAhB,mBAQhB,gBAAC,EAAAyhB,IAAD,CAAKzhB,UAAU,yBACb,gBAAC,EAAAub,IAAD,KACqB,IAAlB64B,GAAuBK,EAAU93B,OAASy3B,IAAkB5H,GAC3D,gBAAC,EAAAnyB,UAAD,CAAWM,MAAI,EAACsgC,YAAY,QAAQrB,GAAI,GACtC,gBAAC,EAAAl5C,OAAD,CAAQV,UAAU,8BAA8BO,QAAQ,QAAQqc,QAAS,IAvZnE,MAClB83B,EAAa,IAAID,EAAWD,wBAC5B,MAAM0G,EAAiB96B,SAAS+6B,uBAAuB,iCACvDD,EAAeA,EAAev+B,OAAS,GAAGumB,SAoZiDkY,IAA/E,oBAMN,gBAAC,EAAA7/B,IAAD,KACE,gBAAC,EAAA8/B,MAAD,CAAOrsB,QA7QI,IAAMqoB,IAAa,GA6QAiE,aAAW,EAAC7rB,KAAM2nB,IAC9C,gBAAC,EAAAmE,WAAD,uBACkBlP,EADlB,KACgCiL,KAIlC,gBAAC,EAAAj9B,UAAD,CAAWM,MAAI,EAACsgC,YAAY,MAAMrB,GAAI,IAClCzF,GACA,gBAAC,EAAAzzC,OAAD,CACEV,UAAU,yCACV4c,QAAS,IAAM08B,aAAa/J,GAAAA,SAF9B,WAOA2E,GACA,gBAAC,EAAAxzC,OAAD,CACEV,UAAU,+BACV4c,QAAS,IAAMoG,eACf8M,SACG2kB,GAAkC,IAArBA,EAAU93B,QACvBy3B,GAAiBK,GAAaA,EAAU93B,OAASy3B,GAGnDhB,EACAI,EAAqB,gBAAC,GAAAl4B,eAAD,MAAqB,UAxsBvD63B,UAAAA,YAAAA,YA2tBN,mBCpwBMqI,SAAW,IAEb,uBAAKC,QAAQ,MAAMt9C,GAAG,UAAUsnB,EAAE,MAAMC,EAAE,MAAMvM,QAAQ,eACtD,yBACE,wBACEnZ,UAAU,6BACVuZ,EAAE,0HAEJ,yBACE,wBACEvZ,UAAU,6BACVuZ,EAAE,mFAEJ,wBACEvZ,UAAU,6BACVuZ,EAAE,mFAEJ,wBACEvZ,UAAU,6BACVuZ,EAAE,wGAEJ,wBACEvZ,UAAU,6BACVuZ,EAAE,gLAEJ,yBACE,wBAAMvZ,UAAU,6BAA6B07C,GAAG,QAAQC,GAAG,MAAMC,GAAG,QAAQC,GAAG,UAC/E,wBAAM77C,UAAU,6BAA6B07C,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,QACjF,wBACE77C,UAAU,6BACVuZ,EAAE,wEAIR,yBACE,wBACEvZ,UAAU,qBACVuZ,EAAE,mMArCRiiC,SAAAA,YAAAA,WA6CN,kBC7CMM,WAAa,IAEf,uBAAKL,QAAQ,MAAMt9C,GAAG,UAAUsnB,EAAE,MAAMC,EAAE,MAAMvM,QAAQ,eACtD,yBACE,wBAAMsM,EAAE,OAAOC,EAAE,OAAO1lB,UAAU,+BAA+BwlB,MAAM,QAAQD,OAAO,UACtF,wBAAMvlB,UAAU,+BAA+B07C,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACnF,wBAAM77C,UAAU,+BAA+B07C,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACnF,0BAAQ19C,GAAG,YAAY6B,UAAU,qBAAqB6Z,GAAG,QAAQC,GAAG,QAAQC,EAAE,SAC9E,wBAAM/Z,UAAU,+BAA+B07C,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACnF,0BAAQ19C,GAAG,YAAY6B,UAAU,qBAAqB6Z,GAAG,QAAQC,GAAG,QAAQC,EAAE,SAC9E,4BAAU/Z,UAAU,+BAA+B+7C,OAAO,sCAV5DD,WAAAA,YAAAA,aAgBN,oBChBME,aAAe,IAEjB,uBAAKP,QAAQ,MAAMt9C,GAAG,UAAUsnB,EAAE,MAAMC,EAAE,MAAMvM,QAAQ,eACtD,yBACE,yBACE,wBAAMsM,EAAE,OAAOC,EAAE,QAAQ1lB,UAAU,iCAAiCwlB,MAAM,QAAQD,OAAO,UACzF,wBAAMvlB,UAAU,iCAAiC07C,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACrF,wBAAM77C,UAAU,iCAAiC07C,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACrF,0BAAQ19C,GAAG,YAAY6B,UAAU,qBAAqB6Z,GAAG,QAAQC,GAAG,QAAQC,EAAE,SAC9E,wBAAM/Z,UAAU,iCAAiC07C,GAAG,QAAQC,GAAG,QAAQC,GAAG,QAAQC,GAAG,UACrF,0BAAQ19C,GAAG,YAAY6B,UAAU,qBAAqB6Z,GAAG,QAAQC,GAAG,QAAQC,EAAE,SAC9E,4BAAU/Z,UAAU,iCAAiC+7C,OAAO,uCAE9D,4BACE/7C,UAAU,iCACV+7C,OAAO,gEAET,4BACE/7C,UAAU,iCACV+7C,OAAO,gEAnBXC,aAAAA,YAAAA,eA0BN,sBCoHA,wBAtIa,KACX,SAAsD14C,EAAAA,EAAAA,YAAW0nC,IAAzDG,EAAR,EAAQA,mBAAoBG,EAA5B,EAA4BA,sBAC5B,GAA4CnvB,EAAAA,EAAAA,UAASgvB,EAAmBmI,sBAAxE,YAAO2I,EAAP,KAAuBC,EAAvB,KACA,GAAsC//B,EAAAA,EAAAA,UAAS,iCAA/C,YAAO64B,EAAP,KAAoBC,EAApB,KACA,GAAoD94B,EAAAA,EAAAA,UAASgvB,EAAmBgR,oBAAhF,YAAOA,EAAP,KAA2BC,EAA3B,KACA,GAAwDjgC,EAAAA,EAAAA,UAASgvB,EAAmBkR,sBAApF,YAAOA,EAAP,KAA6BC,EAA7B,KACA,GAAkEngC,EAAAA,EAAAA,UAChEgvB,EAAmBoR,2BADrB,YAAOA,EAAP,KAAkCC,EAAlC,KAGA,GAA4CrgC,EAAAA,EAAAA,UAASgvB,EAAmB1I,OAAxE,YAAOga,EAAP,KAAuBC,EAAvB,MAEApnB,EAAAA,EAAAA,YAAU,KACR4mB,EAAkB/Q,EAAmBmI,sBACjCnI,EAAmBmI,uBACiB,cAAlCnI,EAAmBoI,WACrB0B,EAAgB,iBAAgB9J,EAAmBoI,cAEnD0B,EAAgB,4BAA2B9J,EAAmBoI,eAGlE6I,EAAsBjR,EAAmBgR,oBACzCG,EAAwBnR,EAAmBkR,sBAC3CG,EAA6BrR,EAAmBoR,2BAChDG,EAAkBvR,EAAmB1I,SACpC,CAAC0I,IAEJ,MAAMwR,GAA8BjH,EAAAA,EAAAA,cAClCxI,IACE,GACEA,EAAM/sC,MACN+sC,EAAM/sC,KAAK6vC,SACmB,iBAAvB9C,EAAM/sC,KAAK6vC,SACI,sBAAtB9C,EAAM/sC,KAAKy8C,OACX,CACA,MAAMz8C,EAAO+3C,KAAK2E,MAAM3P,EAAM/sC,KAAK6vC,SACnC1E,EAAsBnrC,MAG1B,CAACmrC,IAgBH,OAbAhW,EAAAA,EAAAA,YAAU,KACRvV,OAAOga,iBAAiB,UAAW4iB,GAC5B,IAAM58B,OAAOia,oBAAoB,UAAW2iB,KAClD,CAACA,KAEJrnB,EAAAA,EAAAA,YAAU,KACRlV,SAAS82B,gBAAgBzU,MAAM0U,YAAY,oBAAqBsF,EAAepG,WAC/Ej2B,SAAS82B,gBAAgBzU,MAAM0U,YAC7B,mCACAsF,EAAe9F,4BAEhB,CAAC8F,IAGF,gCACE,gBAAC,EAAApiC,UAAD,CAAWra,UAAU,sBAAsBya,GAAI,EAAGg/B,GAAI,EAAGqD,GAAI,GAC3D,gBAAC,EAAAx8C,WAAD,CAAYC,QAAQ,aAApB,gBAEF,gBAAC,EAAA8Z,UAAD,CAAW,cAAY,OAAOra,UAAU,WACtC,gBAAC,EAAAwhB,KAAD,CAAMwD,UAAQ,GACZ,gBAAC,EAAAvD,IAAD,KACE,gBAAC,EAAAlG,IAAD,KACE,gBAAC,EAAAlB,UAAD,CAAWM,MAAI,EAAC3a,UAAU,qBAAqBya,GAAI,EAAGH,GAAI,GACzC2hC,EACb,gBAAC,KAAD,CAAUp3B,GAAImwB,IAFlB,KAIiBmH,EACb,gBAAC,EAAA3tB,KAAD,CACE,cAAY,iBACZ5R,QAAS,KACPs/B,GAAkB,GAClBjH,EAAe,kCAEjBj1C,UAAU,gCAEV,uBAAKA,UAAU,iBACb,gBAAC,GAAD,OAEF,gBAAC,EAAAqa,UAAD,CAAWra,UAAU,iBAAiB0a,GAAI,GACxC,gBAAC,EAAApa,WAAD,CAAYC,QAAQ,aAApB,gBAEF,gBAAC,EAAA8Z,UAAD,CAAWra,UAAU,qBAArB,qCAnBN,KAsBiBq8C,EACb,gBAAC,EAAA7tB,KAAD,CACE,cAAY,mBACZ5R,QAAS,KACPs/B,GAAkB,GAClBjH,EAAe,oCAEjBj1C,UAAU,kCAEV,uBAAKA,UAAU,iBACb,gBAAC,GAAD,OAEF,gBAAC,EAAAqa,UAAD,CAAWra,UAAU,iBAAiB0a,GAAI,GACxC,gBAAC,EAAApa,WAAD,CAAYC,QAAQ,aAApB,kBAEF,gBAAC,EAAA8Z,UAAD,CAAWra,UAAU,qBACnB,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,QAApB,6BAtCR,KA0CiBg8C,EACb,gBAAC,EAAA/tB,KAAD,CACE,cAAY,qBACZ5R,QAAS,KACPs/B,GAAkB,GAClBjH,EAAe,4BAEjBj1C,UAAU,oCAEV,uBAAKA,UAAU,iBACb,gBAAC,GAAD,OAEF,gBAAC,EAAAqa,UAAD,CAAWra,UAAU,iBAAiB0a,GAAI,GACxC,gBAAC,EAAApa,WAAD,CAAYC,QAAQ,aAApB,wBAEF,gBAAC,EAAA8Z,UAAD,CAAWra,UAAU,qBACnB,gBAAC,EAAAM,WAAD,CAAYC,QAAQ,QAApB,4DA1DR,Y,soBC7Dd,MAoHA,gBApHkB,KAChB,SAAsD+C,EAAAA,EAAAA,YAAW0nC,IAAzDG,EAAR,EAAQA,mBAAoBG,EAA5B,EAA4BA,sBACpByR,EAA6D5R,EAA7D4R,cAAeta,EAA8C0I,EAA9C1I,MAAO6Q,EAAuCnI,EAAvCmI,qBAAsBG,EAAiBtI,EAAjBsI,aACpD,GAAgEt3B,EAAAA,EAAAA,WAAS,GAAzE,YAAO24B,EAAP,KAAiCC,EAAjC,KAEQ0B,EAAuFhU,EAAvFgU,WAAYD,EAA2E/T,EAA3E+T,yBAA0BwG,EAAiDva,EAAjDua,mBAAoBrG,EAA6BlU,EAA7BkU,0BAElErhB,EAAAA,EAAAA,YAAU,KACR,MAAM2hB,EAAO72B,SAAS82B,gBACtBD,EAAKxU,MAAM0U,YAAY,qBAAsBV,GAC7CQ,EAAKxU,MAAM0U,YAAY,6BAA8BX,GACrDS,EAAKxU,MAAM0U,YAAY,6BAA8B6F,GACrD/F,EAAKxU,MAAM0U,YAAY,mCAAoCR,KAC1D,CAACF,EAAYD,EAA0BwG,EAAoBrG,IAE9D,MA2BMgG,GAA8BjH,EAAAA,EAAAA,cAClCxI,IACE,GACEA,EAAM/sC,MACN+sC,EAAM/sC,KAAK6vC,SACmB,iBAAvB9C,EAAM/sC,KAAK6vC,SACI,sBAAtB9C,EAAM/sC,KAAKy8C,OACX,CACA,MAAMz8C,EAAO+3C,KAAK2E,MAAM3P,EAAM/sC,KAAK6vC,SACnC1E,EAAsBnrC,GACtB40C,GAA4B,MAGhC,CAACzJ,IAQH,OALAhW,EAAAA,EAAAA,YAAU,KACRvV,OAAOga,iBAAiB,UAAW4iB,GAC5B,IAAM58B,OAAOia,oBAAoB,UAAW2iB,KAClD,CAACA,IAGF,gCACE,uBAAK38C,UAAU,qBACE80C,EACb,gBAAC,KAAD,CAAUjwB,GAAG,kBAFjB,KAIE,gBAAC,EAAAxK,UAAD,CAAWI,GAAI,EAAG8+B,GAAI,GACpB,gBAAC,EAAA74C,OAAD,CACE,cAAY,wBACZV,UAAU,4BACV6D,KAAK,KACLtD,QAAQ,OACRqc,QAAS,IA5DMxc,CAAAA,IACvB,GAAIkzC,EAAsB,CACxB,MAAMwE,EAAa,CACjBE,OAAQ53C,GAEV+uC,YAAa,GAAE+I,KAAKC,UAAUL,KAAerE,GAC7CsB,GAA4B,GAC5BzJ,EAAsB,iDACjBH,GADgB,IAEnBoI,WAAY,GACZD,sBAAsB,EACtB9G,gBAAgB,EAChB6G,OAAQ,WAGV0B,GAA4B,IA6CPkI,CAAiB,SAEhC,gBAAC,GAAAzD,cAAD,MAPF,SAWF,gBAAC,EAAAn/B,UAAD,CAAWo/B,GAAI,GACb,gBAAC,EAAAn5C,WAAD,CAAYC,QAAQ,aAApB,yBAIJ,gBAAC,EAAA8Z,UAAD,CAAW,cAAY,YAAYra,UAAU,gBAC3C,gBAAC,EAAAwhB,KAAD,CAAMwD,UAAQ,GACZ,gBAAC,EAAAvD,IAAD,CAAKzhB,UAAU,uBAAuBya,GAAI,GACxC,gBAAC,EAAAc,IAAD,KACGwhC,GACCA,EAAcx/C,KAAI2/C,GAEd,gBAAC,EAAA1uB,KAAD,CACE,cAAY,kBACZrsB,IAAK+6C,EAAS/+C,GACdye,QAAS,IA9DAsgC,CAAAA,IAC3B,MAAMpF,EAAa,CACjBE,OAAQ,oBACRj0C,QAASm5C,GAEX/N,YAAa,GAAE+I,KAAKC,UAAUL,KAAerE,IAyDZ0J,CAAqBD,GACpCl9C,UAAU,uBAEV,gBAAC,EAAAqa,UAAD,CAAWra,UAAU,sBAAsBS,UAAU,OAAO6Z,GAAI,GAC7D4iC,EAASpgC,MAEZ,gBAAC,EAAAzC,UAAD,CAAWra,UAAU,yBAAyBya,GAAI,GAC/CyiC,EAASh8C,gB,kpBC3GlC,MAAMk8C,GAAiB,CACrBxf,YAAa,UACb0Y,gBAAiB,UACjBC,qBAAsB,UACtBC,yBAA0B,UAC1BC,WAAY,UACZC,eAAgB,UAChBL,UAAW,UACXM,yBAA0B,UAC1BC,qBAAsB,UACtBC,iBAAkB,cAClBC,sBAAuB,cACvBC,sBAAuB,eAGnBsG,mBAAqB,EAAGn6B,QAAAA,OAC5BoS,EAAAA,EAAAA,YAAU,KACR,MAAMC,EAAWrS,EAAQsS,QAAO,KAC9BzV,OAAO0V,SAAS,EAAG,MAErB,MAAO,KACLF,OAED,CAACrS,IAEJ,SAAoD/G,EAAAA,EAAAA,UAAS,CAC3Dm3B,sBAAsB,EACtBC,WAAY,OACZ/G,gBAAgB,EAChB2P,oBAAoB,EACpBE,sBAAsB,EACtBE,2BAA2B,EAC3BnJ,eAAgB,cAChBI,oBAAoB,EACpBC,aAAc,IACdC,eAAgB,CACd,CACEpF,SAAU,CAAC,gBAAiB,YAC5BC,WAAY,GACZC,cAAe,CACb,CACErwC,GAAI,WACJ+F,MAAO,mBAGXuqC,cAAc,IAGlBhM,MAAO2a,GACP/J,OAAQ,GACR0J,cAAe,KAzBjB,YAAO5R,EAAP,KAA2BG,EAA3B,KA4BMgS,yBAA2BC,IAC/B,MAAM3O,EAAU,uDAAK2O,GAAR,IAAoB9a,MAAO,uDAAK2a,IAAmBG,EAAW9a,SAC3E6I,EAAsBsD,IAGlB+N,GAA8BjH,EAAAA,EAAAA,cAAYxI,IAC9C,GACEA,EAAM/sC,MACN+sC,EAAM/sC,KAAK6vC,SACmB,iBAAvB9C,EAAM/sC,KAAK6vC,SACI,sBAAtB9C,EAAM/sC,KAAKy8C,OACX,CACA,MAAMz8C,EAAO+3C,KAAK2E,MAAM3P,EAAM/sC,KAAK6vC,SACnCmJ,aAAaqE,QAAQ,0BAA2BtQ,EAAM/sC,KAAK6vC,SAC3DsN,yBAAyBn9C,MAE1B,IAeH,OAbAm1B,EAAAA,EAAAA,YAAU,KACRvV,OAAOga,iBAAiB,UAAW4iB,GAC5B,IAAM58B,OAAOia,oBAAoB,UAAW2iB,KAClD,CAACA,KAEJrnB,EAAAA,EAAAA,YAAU,KACR,MAAMmoB,EAAUtE,aAAauE,QAAQ,2BACrC,GAAID,EAAS,CACX,MAAMt9C,EAAO+3C,KAAK2E,MAAMY,GACxBH,yBAAyBn9C,MAE1B,IAGD,gBAAC+qC,kCAAD,CAAmCC,mBAAoBA,GACrD,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAOlqC,KAAK,+CAA+CR,UAAWk9C,KACtE,gBAAC,KAAD,CAAO18C,KAAK,0BAA0BR,UAAWm9C,kBACjD,gBAAC,KAAD,CAAO38C,KAAK,gBAAgBR,UAAWy1B,6BA1EzCmnB,mBAAAA,YAAAA,qBAsFN,UAAeh5B,EAAAA,EAAAA,IAAWg5B,oBCrGpBQ,IAAM,IAER,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAO58C,KAAK,iBAAiBR,UAAWjB,IACxC,gBAAC,KAAD,CAAOyB,KAAK,YAAYR,UAAWq9C,KACnC,gBAAC,KAAD,CAAO78C,KAAK,SAASR,UAAWs9C,KAChC,gBAAC,KAAD,CAAO98C,KAAK,8BAA8BR,UAAWu9C,KACrD,gBAAC,KAAD,CAAO/8C,KAAK,iBAAiBR,UAAWw9C,MAPxCJ,IAAAA,YAAAA,MAYN,a,snBCKA,MAAMj2B,GAASxH,SAASyL,eAAe,YAEjCqyB,IAAsBx+B,EAAAA,EAAAA,+BAA8BD,WAAYM,OAAOo+B,GAAGC,wBAA+B,GAY/GF,GAAoB76C,KAAO66C,GAAoB76C,MAAQ,GACvD66C,GAAoB76C,KAAKK,gBAAkBw6C,GAAoB76C,KAAKlF,IAAsC,MAAhC+/C,GAAoB76C,KAAKlF,GAEnG,MACEuJ,GAKEw2C,GALFx2C,YACA22C,GAIEH,GAJFG,cAFF,GAMIH,GAHF,iBAAmBjrB,GAHrB,GAGqBA,QAASqrB,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,MAAMhY,GAAeiY,GAAAA,CAA0B,CAC7CC,IAAKP,GACLQ,eAAgBN,GAChBJ,cAAAA,GACAW,kBCnDa,SAASC,4BACtB,OAAO,IAAIC,EAAAA,6BAA6B,CACtCC,6BAA4BA,KDkD9BC,YAAa,CACX/yB,YAAa,UACbgzB,cAAe,IAEjBC,SAAU,CAAErsB,QAAAA,GAASqrB,WAAAA,IACrBiB,wBAAyB,KAGrBC,SAAWC,GACf,gBAAC,KAAD,CAAqBC,MAAOC,EAAAA,GAC1B,gBAAC,KAAD,CAAeC,kBAAmBC,EAAAA,IAChC,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAgB/Y,OAAQF,IACtB,gBAAC,KAAD,KACE,gBAAC,KAAD,CAAgB//B,MAAK,sBAAOq3C,KAC1B,gBAAC,KAAD,CACEU,eAAgBa,EAChBK,WAAYp4C,GAAYq4C,iBACxBhhC,aAAcrX,GAAYqX,cAE1B,gBAAC,GAAD,aAZVygC,SAAAA,YAAAA,WAoCG,IAAI5hD,SAAQC,IACoB,UAAjC6J,GAAYq4C,iBACdliD,EAAQ+gD,IAERhhD,QAAQoiD,IAAI,CACV,QAAiD,KAAwBt4C,GAAYq4C,oBACrF,QACsD,KAAwCr4C,GAAYq4C,sBAEzGjiD,MAAK,EAAEmiD,EAAaC,MACrBriD,EAAQ,yCACHoiD,GACAC,UAQVpiD,MAAK2hD,IACJb,GAAiBa,KAElBU,SAAQ,MACNv4B,GAAOw4B,UAAU/5C,OAAOsW,OAAS0jC,EAAAA,QAAUj9B,EAAAA,QAAQo8B,SAASZ,IAAiBx+B,SAASyL,eAAe,iB,SE/HtG,IAAIy0B,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,IAAI3D,OAAS,CAAC,KAAO,yGAAyG,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqB/L,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,kBAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,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,IAAI3D,OAAS,CAAC,KAAO,qKAAqK,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqB3P,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,sCAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,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,IAAI3D,OAAS,CAAC,KAAO,4GAA4G,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBlM,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,aAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,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,IAAI3D,OAAS,CAAC,KAAO,kVAAkV,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBxa,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,sCAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,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,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,MACxzHA,EAAIC,IAAI3D,OAAS,CAAC,KAAO,2qBAA2qB,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBjwB,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,iCAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,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,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,MAC5zHA,EAAIC,IAAI3D,OAAS,CAAC,KAAO,+qBAA+qB,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBrwB,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,mCAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,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,IAAI3D,OAAS,CAAC,KAAO,uhBAAuhB,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqB7mB,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,qCAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,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,IAAI3D,OAAS,CAAC,KAAO,0jCAA0jC,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBhpC,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,GAKb,SAASwlB,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,MAIrBT,GA9DT,SAAUJ,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,oCAAwD6iD,SAASf,EAAK,uCAEtE/hD,EAAOC,QAAP,6BAAiD6iD,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,IAAI3D,OAAS,CAAC,KAAO,mTAAmT,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBzY,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,sBAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,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,IAAI3D,OAAS,CAAC,KAAO,4XAA4X,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBld,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,4CAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,MAIrBT,EAK2DF,CAASf,EAAK,gD,SCvHlF,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,IAAI3D,OAAS,CAAC,KAAO,mXAAmX,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqBzc,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,GAKb,SAASwlB,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,MAIrBT,GA9DT,SAAUJ,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,QAA4B6iD,SAASf,EAAK,WAE1C/hD,EAAOC,QAAP,KAAyB6iD,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,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,qBAAqB,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,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,MACj6JA,EAAIC,IAAI3D,OAAS,CAAC,KAAO,k4BAAs4B,KAAO,kBAAkB,eAAiB,CAAC,KAAO,EAAE,OAAS,IAqB59B,SAAS4D,0BAA0BC,EAAMC,GACvC,GAAkB,mBAAdD,EAAK9hD,KACP+hD,EAAK7hB,IAAI4hB,EAAK7hD,KAAKiI,YACd,GAAkB,uBAAd45C,EAAK9hD,KAA+B,CAC7C,IAAIme,EAAO2jC,EAAK3jC,KACE,cAAdA,EAAKne,MACP+hD,EAAK7hB,IAAI/hB,EAAKle,KAAKiI,OAInB45C,EAAKE,cACPF,EAAKE,aAAaC,WAAW1gC,SAAQ,SAAS2gC,GAC5CL,0BAA0BK,EAAWH,MAIrCD,EAAKK,qBACPL,EAAKK,oBAAoB5gC,SAAQ,SAAS6gC,GACxCP,0BAA0BO,EAAKL,MAI/BD,EAAKO,aACPP,EAAKO,YAAY9gC,SAAQ,SAAS6gC,GAChCP,0BAA0BO,EAAKL,MAKrC,IAAIO,EAAiB,GAWrB,SAASC,cAAcZ,EAAK1hD,GAC1B,IAAK,IAAI6oC,EAAI,EAAGA,EAAI6Y,EAAIU,YAAYrkC,OAAQ8qB,IAAK,CAC/C,IAAI5L,EAAUykB,EAAIU,YAAYvZ,GAC9B,GAAI5L,EAAQj9B,MAAQi9B,EAAQj9B,KAAKiI,OAASjI,EACxC,OAAOi9B,IAdb,SAAUslB,oBACRb,EAAIU,YAAY9gC,SAAQ,SAAS6gC,GAC/B,GAAIA,EAAIniD,KAAM,CACZ,IAAI8hD,EAAO,IAAIU,IACfZ,0BAA0BO,EAAKL,GAC/BO,EAAeF,EAAIniD,KAAKiI,OAAS65C,MALvC,GAiEAniD,EAAOC,QAAU8hD,EAEb/hD,EAAOC,QAAP,yBAhDJ,SAAS6iD,SAASf,EAAKgB,GAErB,IAAIC,EAAS,CACX5iD,KAAM2hD,EAAI3hD,KACVqiD,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,EAAOvhC,SAAQ,SAAS0hC,GACtBD,EAAQ9iB,IAAI+iB,MAGPD,EAAQ99C,KAAO,GAAG,CACvB,IAAIg+C,EAAWF,EACfA,EAAU,IAAIP,IAEdS,EAAS3hC,SAAQ,SAAS0hC,GACnBF,EAAQI,IAAIF,KACfF,EAAQ7iB,IAAI+iB,IACIX,EAAeW,IAAY,IAAIR,KACrClhC,SAAQ,SAAS6hC,GACzBJ,EAAQ9iB,IAAIkjB,UAapB,OAPAL,EAAQxhC,SAAQ,SAAS0hC,GACvB,IAAII,EAAKd,cAAcZ,EAAKsB,GACxBI,GACFT,EAAOP,YAAY79B,KAAK6+B,MAIrBT,EAKwCF,CAASf,EAAK,6B,y33BCxHnE/hD,EAAOC,QAAUyjD,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/components/MainHeading/index.js","/app/apps/contentweb/src/app/pages/Pricing/components/PricingNavigation/index.js","/app/apps/contentweb/src/app/pages/Pricing/components/Ribbon/index.js","/app/apps/contentweb/src/app/pages/Pricing/lib/constants.js","/app/apps/contentweb/src/app/pages/Pricing/components/PackageCta/index.js","/app/apps/contentweb/src/app/pages/Pricing/lib/proptypes.js","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/PackageHeaders/PackageHeader.js","/app/apps/contentweb/src/app/pages/Pricing/components/EnterprisePackageCta/index.js","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/PackageHeaders/EnterprisePackageHeader.js","/app/apps/contentweb/src/app/pages/Pricing/lib/helpers.js","/app/apps/contentweb/src/app/pages/Pricing/lib/PricingExperience/PricingExperienceContext.js","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/PackageHeaders/TeamPackageHeader.js","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/PackageHeaders/AnnualPackageHeader.js","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/PackageHeaders/MonthlyPackageHeader.js","/app/apps/contentweb/src/app/pages/Pricing/lib/features.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/packageFeatures.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/definitions/SummaryComparisonPackageFeatures.ts","/app/apps/contentweb/src/app/pages/Pricing/lib/summaryPackages.ts","/app/apps/contentweb/src/app/pages/Pricing/components/Summary/Package.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/components/Summary/SummaryComparisonTable.js","/app/apps/contentweb/src/app/pages/Pricing/lib/PricingExperience/index.js","/app/apps/contentweb/src/app/pages/Pricing/lib/HeadTags/RequiredHeadTags.js","/app/apps/contentweb/src/app/pages/Pricing/lib/HeadTags/HrefLangTags.js","/app/apps/contentweb/src/app/pages/Pricing/pages/Summary/index.js","/app/apps/contentweb/src/app/pages/Pricing/index.js","/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/LinkWithSearch/index.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/NavBar/SideBarSkeleton.js","/app/apps/contentweb/src/app/pages/AppsDirectory/components/NavBar/index.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/helpers/getCanonicalUrlOrNoIndex.js","/app/apps/contentweb/src/app/pages/AppsDirectory/pages/AppDirectoryBasePage.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/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/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/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/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/pages/Home/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/pages/Templates/index.js","/app/apps/contentweb/src/app/pages/CreateWizard/index.js","/app/apps/contentweb/src/app/App.js","/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/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 PropTypes from 'prop-types';\n\nimport { Typography } from '@sm/wds-react';\n\nimport './main-heading.scss';\n\nexport const DEFAULT_HEADING_TEXT = 'Choose a plan that works for you';\n\n/**\n * @desc The main heading and subheading component\n * @param {string} headingText - The main heading.\n */\nconst MainHeading = ({ headingText }) => (\n \n {headingText}\n \n);\n\nMainHeading.propTypes = {\n headingText: PropTypes.string,\n};\nMainHeading.defaultProps = {\n headingText: DEFAULT_HEADING_TEXT,\n};\n\nexport default MainHeading;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport { createURL } from '@sm/utils';\n\nimport './pricing-navigation.scss';\n\nexport const ROUTE_CONFIG = {\n teamsPricingPage: {\n path: '/pricing/',\n title: 'Business Plans',\n queryString: {\n ut_source: 'pricing-summary',\n },\n packageType: 'teams',\n },\n individualPricingPage: {\n path: '/pricing/individual/',\n title: 'Personal Plans',\n queryString: {\n ut_source: 'pricing-summary',\n },\n packageType: 'individual',\n },\n audienceFooter: {\n path: '#buy-targeted-responses',\n title: 'Buy Targeted Responses',\n packageType: 'enterprise',\n },\n};\nconst ROUTE_KEYS = Object.keys(ROUTE_CONFIG);\n\nconst NavItem = ({ route, selected = false }) => {\n const className = classnames('wds-tab__tab', {\n 'wds-tab__tab--selected': selected,\n });\n const url = createURL(route.path, route.queryString);\n const { title } = route;\n\n return (\n
  • \n \n {title}\n \n
  • \n );\n};\n\nNavItem.propTypes = {\n route: PropTypes.shape({\n path: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n queryString: PropTypes.shape(),\n packageType: PropTypes.string.isRequired,\n }),\n selected: PropTypes.bool,\n};\n\nNavItem.defaultProps = {\n route: {\n queryString: null,\n },\n selected: false,\n};\n\nconst PricingNavigation = ({ packageType = 'teams' }) => (\n \n);\n\nPricingNavigation.propTypes = {\n packageType: PropTypes.string,\n};\n\nPricingNavigation.defaultProps = {\n packageType: 'teams',\n};\n\nexport default PricingNavigation;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport classnames from 'classnames';\n\nimport './ribbon.scss';\n\nexport const DATA_TESTID = 'Ribbon';\n\nconst Ribbon = ({ children, className, packageName }) => {\n const classList = classnames('sm-ribbon', `sm-ribbon--${packageName}`, className);\n return (\n \n );\n};\n\nRibbon.propTypes = {\n children: PropTypes.node,\n packageName: PropTypes.string.isRequired,\n className: PropTypes.string,\n};\n\nRibbon.defaultProps = {\n children: 'BEST VALUE',\n className: '',\n};\n\nexport default Ribbon;\n","/**\n * \"Enum\" of server returned package names\n */\nexport const PACKAGES = {\n Basic: 'BASIC',\n StandardMonthly: 'STANDARD_MONTHLY',\n StandardAnnual: 'STANDARD_ANNUAL',\n AdvantageMonthly: 'ADVANTAGE_MONTHLY',\n AdvantageAnnual: 'ADVANTAGE_ANNUAL',\n PremierMonthly: 'PREMIER_MONTHLY',\n PremierAnnual: 'PREMIER_ANNUAL',\n TeamAdvantage: 'TEAM_ADVANTAGE_ANNUAL',\n TeamPremier: 'TEAM_PREMIER_ANNUAL',\n Enterprise: 'ENT_PLATINUM',\n Flex: 'ANALYZE_MONTHLY',\n};\n\n/**\n * To do package ID lookups from a package name\n */\nexport const PACKAGE_IDS = {\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 = [PACKAGES.StandardMonthly, PACKAGES.AdvantageMonthly, PACKAGES.PremierMonthly];\n\nexport const INDIVIDUAL_PACKAGES = [PACKAGES.PremierAnnual, PACKAGES.AdvantageAnnual, PACKAGES.StandardMonthly];\n\nexport const TEAMS_PACKAGES = [PACKAGES.TeamAdvantage, PACKAGES.TeamPremier, PACKAGES.Enterprise];\n\nexport const SUITE_PRICING_PACKAGES = [PACKAGES.AdvantageAnnual, PACKAGES.TeamAdvantage, PACKAGES.TeamPremier];\n\nexport const GUAC_COUNTRY_CODES = ['gb', 'us', 'au', 'ca'];\n\nexport const TEAM_COMPARISON_PACKAGES = {\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 classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useContext } from 'react';\nimport { Button } from '@sm/wds-react';\nimport { StaticContext } from '@sm/webassets';\n\nimport { PACKAGE_IDS } from '~pricing/lib/constants';\n\nconst PackageCta = ({ packageName, packageClassName, small = false }) => {\n const { user } = useContext(StaticContext);\n const packageId = PACKAGE_IDS[packageName];\n const className = classnames(['sm-package__btn', `sm-package__btn--${packageClassName}`]);\n const ctaUrl = user.isAuthenticated ? `/billing/checkout/?package_id=${packageId}` : `/user/sign-up`;\n const ctaText = user.isAuthenticated ? 'SELECT' : 'SIGN UP';\n\n return (\n \n );\n};\n\nPackageCta.propTypes = {\n packageName: PropTypes.string.isRequired,\n packageClassName: PropTypes.string.isRequired,\n small: PropTypes.bool,\n};\n\nPackageCta.defaultProps = {\n small: false,\n};\n\nexport default PackageCta;\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 React from 'react';\nimport PropTypes from 'prop-types';\nimport { Typography } from '@sm/wds-react';\n\nimport Ribbon from '~pricing/components/Ribbon';\nimport PackageCta from '~pricing/components/PackageCta';\nimport { RibbonTextOverridePropType } from '~pricing/lib/proptypes';\n\nconst PackageHeader = ({\n packageClassName,\n packageName,\n packageLabel,\n priceValue = null,\n priceUnit = null,\n byline = null,\n ribbonText = null,\n CtaOverride = null,\n}) => (\n
    \n \n {packageLabel}\n \n \n \n \n {priceValue}\n \n {priceUnit}\n \n \n \n \n {byline}\n \n \n \n \n \n \n \n \n \n {ribbonText}\n \n
    \n);\n\nPackageHeader.propTypes = {\n packageClassName: PropTypes.string.isRequired,\n packageName: PropTypes.string.isRequired,\n packageLabel: PropTypes.string.isRequired,\n priceValue: PropTypes.string,\n priceUnit: PropTypes.string,\n byline: PropTypes.string,\n ribbonText: RibbonTextOverridePropType,\n CtaOverride: PropTypes.func,\n};\n\nPackageHeader.defaultProps = {\n priceValue: null,\n priceUnit: null,\n byline: null,\n ribbonText: null,\n CtaOverride: null,\n};\n\nexport default PackageHeader;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { Button } from '@sm/wds-react';\n\nconst EnterprisePackageCta = ({ small = false }) => {\n return (\n \n CONTACT US\n \n );\n};\n\nEnterprisePackageCta.propTypes = {\n small: PropTypes.bool,\n};\n\nEnterprisePackageCta.defaultProps = {\n small: false,\n};\n\nexport default EnterprisePackageCta;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport PackageHeader from './PackageHeader';\nimport EnterprisePackageCta from '~pricing/components/EnterprisePackageCta';\nimport { RibbonTextOverridePropType } from '~pricing/lib/proptypes';\n\nconst EnterprisePackageHeader = ({ details, ribbonText = null }) => (\n \n);\n\nEnterprisePackageHeader.propTypes = {\n details: PropTypes.shape({\n displayName: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }).isRequired,\n ribbonText: RibbonTextOverridePropType,\n};\n\nEnterprisePackageHeader.defaultProps = {\n ribbonText: null,\n};\n\nexport default EnterprisePackageHeader;\n","import { useContext } from 'react';\nimport { FormattedNumber } from '@sm/intl';\nimport { StaticContext } from '@sm/webassets';\n\nimport { GUAC_COUNTRY_CODES } from './constants';\n\n/**\n * Creates a className friendly string from a package label\n *\n * @param {Object} 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\nexport function monthlyCostInDollars(skuCost) {\n return parseInt(skuCost.cost, 10) / 100 / 12;\n}\n\nexport function formatMonthlyCostInLocaleCurrency(skuCost) {\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 formatCostInLocaleCurrency(skuCost) {\n return FormattedNumber({\n value: parseInt(skuCost.cost, 10) / 100,\n formatStyle: 'currency',\n currency: skuCost.currency.code,\n currencyDisplay: 'symbol',\n minimumFractionDigits: 0,\n });\n}\n\nexport function getCoreCostFromSkus(skuCosts) {\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, skuCostDiscounted) {\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\n// The following helpers are meant to only be used in a feature's `hidden` getter.\n// The hooks lint check will be disabled because they will only be invoked during\n// a component's render cycle. These methods should NEVER be invoked anywhere else!\n\n/* eslint-disable react-hooks/rules-of-hooks */\n\n/**\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 * 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 { createContext } from 'react';\n\nexport const PricingExperienceContext = createContext(null);\nexport const PricingExperienceProvider = PricingExperienceContext.Provider;\n","import PropTypes from 'prop-types';\nimport React, { useContext } from 'react';\n\nimport {\n packageLabelToClassName,\n formatMonthlyCostInLocaleCurrency,\n getCoreCostFromSkus,\n calculateSavingsPercent,\n} from '~pricing/lib/helpers';\nimport { PricingExperienceContext } from '~pricing/lib/PricingExperience/PricingExperienceContext';\nimport { TEAM_COMPARISON_PACKAGES } from '~pricing/lib/constants';\nimport { RibbonTextOverridePropType } from '~pricing/lib/proptypes';\n\nimport PackageHeader from './PackageHeader';\n\nconst TeamPackageHeader = ({ packageName, skuCosts, details, ribbonText: ribbonTextOverride = null }) => {\n const packageClassName = packageLabelToClassName(details);\n const coreSeatCost = getCoreCostFromSkus(skuCosts);\n const formattedPrice = formatMonthlyCostInLocaleCurrency(coreSeatCost);\n const packageData = useContext(PricingExperienceContext);\n\n if (!packageData) {\n return null;\n }\n\n // If no overidden ribbon text was path, check for a comparison package to check against\n let ribbonText = ribbonTextOverride;\n if (!ribbonText && ribbonText !== false) {\n const comparisonPackageName = TEAM_COMPARISON_PACKAGES[packageName];\n if (comparisonPackageName) {\n const comparisonPackage = packageData.find(packageObj => packageObj.package === comparisonPackageName);\n const comparisonSeatCost = getCoreCostFromSkus(comparisonPackage.skuCost);\n const savingsPercentage = calculateSavingsPercent(comparisonSeatCost, coreSeatCost);\n ribbonText = savingsPercentage > 0 ? `SAVE ${savingsPercentage}% *` : null;\n }\n }\n\n return (\n \n );\n};\n\nTeamPackageHeader.propTypes = {\n packageName: PropTypes.string.isRequired,\n details: PropTypes.shape({\n displayName: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }).isRequired,\n skuCosts: PropTypes.arrayOf(\n PropTypes.shape({\n skuType: PropTypes.string.isRequired,\n cost: PropTypes.number.isRequired,\n }).isRequired\n ).isRequired,\n ribbonText: RibbonTextOverridePropType,\n};\n\nTeamPackageHeader.defaultProps = {\n ribbonText: null,\n};\n\nexport default TeamPackageHeader;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport {\n packageLabelToClassName,\n formatMonthlyCostInLocaleCurrency,\n formatCostInLocaleCurrency,\n getCoreCostFromSkus,\n} from '~pricing/lib/helpers';\n\nimport PackageHeader from './PackageHeader';\nimport { HIGHLIGHTED_PACKAGES } from '~pricing/lib/constants';\nimport { RibbonTextOverridePropType } from '~pricing/lib/proptypes';\n\nconst AnnualPackageHeader = ({ packageName, skuCosts, details, ribbonText: ribbonTextOverride = null }) => {\n const packageClassName = packageLabelToClassName(details);\n const coreSeatCost = getCoreCostFromSkus(skuCosts);\n const formattedMonthlyPrice = formatMonthlyCostInLocaleCurrency(coreSeatCost);\n const formattedAnnualPrice = formatCostInLocaleCurrency(coreSeatCost);\n\n // If this package is marked as highlighted and the ribbon is not\n // in some way being overridden, show the \"BEST VALUE\" ribbon\n let ribbonText = ribbonTextOverride;\n const highlighted = HIGHLIGHTED_PACKAGES.indexOf(packageName) > -1;\n if (highlighted && !ribbonText && ribbonText !== false) {\n ribbonText = 'BEST VALUE';\n }\n\n return (\n \n );\n};\n\nAnnualPackageHeader.propTypes = {\n packageName: PropTypes.string.isRequired,\n details: PropTypes.shape({\n displayName: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }).isRequired,\n skuCosts: PropTypes.arrayOf(\n PropTypes.shape({\n skuType: PropTypes.string.isRequired,\n cost: PropTypes.number.isRequired,\n }).isRequired\n ).isRequired,\n ribbonText: RibbonTextOverridePropType,\n};\n\nAnnualPackageHeader.defaultProps = {\n ribbonText: null,\n};\n\nexport default AnnualPackageHeader;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport { packageLabelToClassName, formatCostInLocaleCurrency, getCoreCostFromSkus } from '~pricing/lib/helpers';\nimport { RibbonTextOverridePropType } from '~pricing/lib/proptypes';\n\nimport PackageHeader from './PackageHeader';\n\nconst MonthlyPackageHeader = ({ packageName, skuCosts, details, ribbonText = null }) => {\n const packageClassName = packageLabelToClassName(details);\n const coreSeatCost = getCoreCostFromSkus(skuCosts);\n const formattedMonthlyPrice = formatCostInLocaleCurrency(coreSeatCost);\n\n return (\n \n );\n};\n\nMonthlyPackageHeader.propTypes = {\n packageName: PropTypes.string.isRequired,\n details: PropTypes.shape({\n displayName: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n }).isRequired,\n skuCosts: PropTypes.arrayOf(\n PropTypes.shape({\n skuType: PropTypes.string.isRequired,\n cost: PropTypes.number.isRequired,\n }).isRequired\n ).isRequired,\n ribbonText: RibbonTextOverridePropType,\n};\n\nMonthlyPackageHeader.defaultProps = {\n ribbonText: null,\n};\n\nexport default MonthlyPackageHeader;\n","export type FeatureTooltip = {\n title: string;\n description: string;\n};\n\nexport type Feature = {\n summaryLine: string;\n tooltip: FeatureTooltip;\n hidden?: boolean;\n};\n\ntype FeatureList = {\n [featureKey: string]: Feature;\n};\n\nconst FEATURES: FeatureList = {\n create_survey_limit: {\n summaryLine: 'Number of surveys',\n tooltip: {\n title: 'Number of surveys',\n description: 'Send as many surveys, polls, and quizzes as you need.',\n },\n },\n analyze_response_limit: {\n summaryLine: 'Number of responses',\n tooltip: {\n title: 'Number of responses',\n description:\n \"With a free plan, you can collect more than 100 responses, but you can only view the first 100 responses. Upgrade at any time to access additional responses. Our {select_equivalent_name} Monthly plan includes 1000 responses per monthly billing cycle across all your surveys with a {overage_cost} charge per additional response. All annual plans include an unlimited number of responses.\",\n },\n },\n analyze_response_limit_monthly_plans: {\n summaryLine: 'Number of responses',\n tooltip: {\n title: 'Number of responses',\n description:\n \"With a free plan, you can collect more than 100 responses, but you can only view the first 100 responses. Upgrade at any time to access additional responses. Our {select_equivalent_name} Monthly plan includes 1,000 responses and our {gold_equivalent_name} Monthly plan includes 2,000 responses per monthly billing cycle across all your surveys. There is a {overage_cost} charge per additional response. All annual plans include unlimited responses.\",\n },\n },\n crosstab: {\n summaryLine: 'Crosstabs',\n tooltip: {\n title: 'Crosstabs',\n description:\n 'Run advanced comparisons across multiple questions, uncover statistically significant differences, and share your crosstab report with anyone.',\n },\n },\n collector_create_limit: {\n summaryLine: 'Number of collectors',\n tooltip: {\n title: 'Number of collectors',\n description:\n 'Collectors are ways you can send your survey to respondents. Our collector types include weblinks, email, embedding on your website, and more.',\n },\n },\n mobile_apps_ios_android: {\n summaryLine: 'Mobile apps for iOS and Android',\n tooltip: {\n title: 'Mobile apps for iOS and Android',\n description:\n 'Access the essential features you need to create a survey, collect responses, and analyze results with the free SurveyMonkey app for iOS and Android.',\n },\n },\n user_accounts: {\n summaryLine: 'User accounts included',\n tooltip: {\n title: 'User accounts included',\n description:\n 'This is the total number of user accounts included with your plan. Plans with more than 1 user have access to all team collaboration tools. ',\n },\n },\n add_users: {\n summaryLine: 'Additional user accounts',\n tooltip: {\n title: 'Additional user accounts',\n description:\n 'Team plans start at 3 users, and allow you to invite more people to your SurveyMonkey team for an additional fee. Learn More »',\n },\n },\n advanced_permissions: {\n summaryLine: 'Advanced permissions',\n tooltip: {\n title: 'Advanced permissions',\n description: 'Collaborate with fine control over who can view and edit your survey projects.',\n },\n },\n build_surveys_together: {\n summaryLine: 'Build surveys together',\n tooltip: {\n title: 'Build surveys together',\n description: 'Let people on your team view, edit, or comment on your surveys.',\n },\n },\n analyze_results_together: {\n summaryLine: 'Analyze results together',\n tooltip: {\n title: 'Analyze results together',\n description: 'Give your team access to survey results and export tools.',\n },\n },\n custom_templates: {\n summaryLine: 'Shared templates',\n tooltip: {\n title: 'Shared templates',\n description: 'Turn your custom surveys into standard templates that everyone in your team can use.',\n },\n },\n team_themes: {\n summaryLine: 'Shared themes',\n tooltip: {\n title: 'Shared themes',\n description: \"Share custom themes with your team to stay consistent with your brand's look and feel.\",\n },\n },\n shared_group_library: {\n summaryLine: 'Shared library',\n tooltip: {\n title: 'Shared library',\n description: 'Get access to shared images, documents, themes, and templates that everyone in your team can use.',\n },\n },\n international_email_support: {\n summaryLine: '{lang} email support',\n tooltip: {\n title: '{lang} email support',\n description: 'We offer {lang} email support in Central European Time (CET).',\n },\n },\n team_ownership: {\n summaryLine: 'Team ownership',\n tooltip: {\n title: 'Team ownership',\n description: 'Choose whether you or your organization owns all the accounts within your team in SurveyMonkey.',\n },\n },\n add_additional_users: {\n summaryLine: 'Additional users',\n tooltip: {\n title: 'Additional users',\n description:\n 'Team plans include 3 users. You can easily add or re-assign users at any time. Enterprise plans allow you to add as many users as you need across your organization.',\n },\n },\n consolidated_billing: {\n summaryLine: 'Consolidated billing',\n tooltip: {\n title: 'Consolidated billing',\n description: 'Receive a consolidated bill for your entire team in SurveyMonkey.',\n },\n },\n essential_question_types: {\n summaryLine: '13 essential question types',\n tooltip: {\n title: '13 essential question types',\n description:\n 'Choose from 13 different formats for your survey questions, including multiple choice, text box, matrix, NPS, and A/B comparisons.',\n },\n },\n all_languages_supported: {\n summaryLine: 'All languages supported',\n tooltip: {\n title: 'All languages supported',\n description:\n 'Create surveys in any language. You can write in unicode or multi-byte languages, and choose navigation buttons, help text, and error messages from 58 languages.',\n },\n },\n labeling_titles_numbering: {\n summaryLine: 'Labeling, titles & numbering',\n tooltip: {\n title: 'Labeling, titles & numbering',\n description:\n 'Guide respondents through your surveys with labels, titles, and page numbers for any page in your surveys.',\n },\n },\n create_templates_enabled: {\n summaryLine: 'Expert, pre-written survey templates',\n tooltip: {\n title: 'Expert, pre-written survey templates',\n description:\n 'Choose from over 180 survey templates in our Question Bank library. All templates are certified by our expert methodologists.',\n },\n },\n question_library: {\n summaryLine: 'Question Bank approved questions',\n tooltip: {\n title: 'Question Bank approved questions',\n description:\n 'Rely on over 1800 pre-written survey questions (and 180+ survey templates), written by experts to make it easier to get great results.',\n },\n },\n create_skip_logic_enabled: {\n summaryLine: 'Question and page skip logic',\n tooltip: {\n title: 'Question and page skip logic',\n description:\n \"Create custom paths through surveys that change based on a respondent's answers. Skip logic is also known as 'conditional branching' or 'branch logic'.\",\n },\n },\n matrix_of_dropdown_menus: {\n summaryLine: 'Matrix of dropdown menus',\n tooltip: {\n title: 'Matrix of dropdown menus',\n description:\n 'Allow respondents to evaluate several items using the same set of measurements by choosing from a preset list of answer choices.',\n },\n },\n file_upload: {\n summaryLine: 'File upload',\n tooltip: {\n title: 'File upload',\n description:\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 },\n },\n advanced_logic: {\n summaryLine: 'Advanced survey logic',\n tooltip: {\n title: 'Advanced survey logic',\n description:\n 'Enhance your survey data with access to advanced branching, advanced piping, block randomization, quotas, and more. Use custom variables to track data about respondents by passing one or more values through a survey link and into your survey results.',\n },\n },\n create_randomization_enabled: {\n summaryLine: 'Question & page randomization',\n tooltip: {\n title: 'Question & page randomization',\n description:\n 'Reduce answer bias by randomizing the order of the pages in a survey or the order of questions within a page.',\n },\n },\n a_b_testing: {\n summaryLine: 'A/B test question type',\n tooltip: {\n title: 'A/B test question type',\n description:\n 'Conduct A/B tests and test for answer bias by randomly segmenting respondents to see different images or text.',\n },\n },\n create_quotas_enabled: {\n summaryLine: 'Response quotas',\n tooltip: {\n title: 'Response quotas',\n description: 'Close your survey automatically when you get all the qualified responses you need.',\n },\n },\n multiple_block_rotation_enabled: {\n summaryLine: 'Block randomization',\n tooltip: {\n title: 'Block randomization',\n description:\n 'Blocks are groups of pages, where each group contains related questions about a particular concept you want to test. You can use block randomization logic to rotate, flip, or randomize blocks to minimize order bias.',\n },\n },\n create_logo_enabled: {\n summaryLine: 'Add your logo',\n tooltip: {\n title: 'Add your logo',\n description: 'Make your survey stand out. Add a custom image or logo, and personalize the work you send.',\n },\n },\n create_custom_theme_enabled: {\n summaryLine: 'Custom themes, colors & more',\n tooltip: {\n title: 'Custom themes, colors & more',\n description:\n 'Create custom themes to change the look and feel of your survey. You can edit the colors of different survey elements and choose from several web fonts for your survey.',\n },\n },\n collector_friendly_url_enabled: {\n summaryLine: 'Custom SurveyMonkey URL',\n tooltip: {\n title: 'Custom SurveyMonkey URL',\n description: 'Write customized survey URLs, for example: http://www.surveymonkey.com/s/your-survey',\n },\n },\n custom_html_email_invitations: {\n summaryLine: 'Custom HTML email invitations',\n tooltip: {\n title: 'Custom HTML email invitations',\n description:\n 'Add custom designs, images, embed videos, or hyperlink text in your email messages used to send your survey.',\n },\n },\n create_piping_enabled: {\n summaryLine: 'Question & answer piping',\n tooltip: {\n title: 'Question & answer piping',\n description:\n \"Take respondents' answers from a previous question to personalize questions on a later page in the survey.\",\n },\n },\n carry_forward: {\n summaryLine: 'Carry forward responses',\n tooltip: {\n title: 'Carry forward responses',\n description:\n \"Use each respondent's previous answer choices in a related question that appears later in your survey. You can carry forward either a respondent's selected or unselected answer choices and choose to show all or some previously selected or unselected answers. Responses that are carried forward cannot be edited.\",\n },\n },\n collector_completion_url_enabled: {\n summaryLine: 'Survey completion redirect',\n tooltip: {\n title: 'Survey completion redirect',\n description:\n 'For a customized experience, redirect survey respondents to your website once they complete your survey.',\n },\n },\n create_custom_variables_enabled: {\n summaryLine: 'Custom variables',\n tooltip: {\n title: 'Custom variables',\n description:\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 },\n },\n collector_white_label_enabled: {\n summaryLine: 'White label surveys',\n tooltip: {\n title: 'White label surveys',\n description:\n 'Completely customize and brand your surveys. Remove the SurveyMonkey footer from your surveys, change the domain of your survey link to research.net, and redirect survey respondents to your site upon survey completion.',\n },\n },\n analyze_shared_results_enabled: {\n summaryLine: 'Share survey data',\n tooltip: {\n title: 'Share survey data',\n description: 'Invite anyone to view data from your survey.',\n },\n },\n analyze_trends_enabled: {\n summaryLine: 'Data trends',\n tooltip: {\n title: 'Data trends',\n description: 'View your results trended over time to spot changes when they happen.',\n },\n },\n filter_crosstab: {\n summaryLine: 'Filter and compare results',\n tooltip: {\n title: 'Filter and compare results',\n description:\n 'Filter your results and compare how different groups answered the questions in your survey. Segment your data to uncover trends and correlations in your data.',\n },\n },\n word_cloud: {\n summaryLine: 'Word clouds',\n tooltip: {\n title: 'Word clouds',\n description:\n 'Quickly spot trends and common themes in written answers. Words with lots of mentions appear bigger so you can get a quick understanding of what matters most to your respondents.',\n },\n },\n word_cloud_combine_hide: {\n summaryLine: 'Word clouds: Combine or hide words',\n tooltip: {\n title: 'Word clouds: Combine or hide words',\n description:\n 'Get more control over the words that appear in your word cloud. Combine similar words, hide others, and choose the frequency of words to include.',\n },\n },\n text_analysis: {\n summaryLine: 'Tag written answers',\n tooltip: {\n title: 'Tag written answers',\n description:\n 'Tag written answers to organize them by topic and uncover trends. See the percentage of answers that include each tag.',\n },\n },\n sentiment_analysis: {\n summaryLine: 'Sentiment analysis',\n tooltip: {\n title: 'Sentiment analysis',\n description:\n \"We'll automatically label your text responses as positive, neutral, or negative to reveal the emotion behind what people are saying.\",\n },\n },\n dashboard: {\n summaryLine: 'Dashboard',\n tooltip: {\n title: 'Dashboard',\n description:\n 'Tell stories with your data by arranging charts, images, and findings in a custom layout. Share your dashboard with anyone.',\n },\n },\n dashboard_password_protection: {\n summaryLine: 'Dashboard: Password protection',\n tooltip: {\n title: 'Dashboard: Password protection',\n description: 'Set a password for your dashboards for share more securely.',\n },\n },\n statistical_significance: {\n summaryLine: 'Statistical significance',\n tooltip: {\n title: 'Statistical significance',\n description: 'Use to see if there are statistically significant differences between response groups.',\n },\n },\n benchmarks: {\n summaryLine: 'SurveyMonkey Global Benchmarks',\n tooltip: {\n title: 'SurveyMonkey Global Benchmarks',\n description:\n 'SurveyMonkey Global Benchmarks give your results context by letting you compare them with the global average. More specific comparison data is available for an extra fee.',\n },\n },\n validate_answer: {\n summaryLine: 'Answer validation',\n tooltip: {\n title: 'Answer validation',\n description: 'Require the text in survey responses to meet formatting and content criteria you set.',\n },\n },\n randomize_answer_choices: {\n summaryLine: 'Randomize answer choices',\n tooltip: {\n title: 'Randomize answer choices',\n description: 'Reduce bias by randomly changing the order of answer choices for different respondents.',\n },\n },\n view_respondent_ip_address: {\n summaryLine: \"View respondent's IP address\",\n tooltip: {\n title: \"View respondent's IP address\",\n description:\n 'Automatically record the IP address of respondents to get a better sense of who answers your surveys.',\n },\n },\n record_respondent_email_address: {\n summaryLine: 'Record respondent email address',\n tooltip: {\n title: 'Record respondent email address',\n description:\n 'Automatically record the email address of respondents to track who takes your surveys, or to follow up with them later.',\n },\n },\n confirmation_email_to_respondents: {\n summaryLine: 'Confirmation Email to Respondents',\n tooltip: {\n title: 'Confirmation Email to Respondents',\n description:\n 'When distributing surveys with the email collector, send a confirmation email to each respondent with a copy of their answers.',\n },\n },\n complimentary_audience_credits: {\n summaryLine: 'Audience panel credits',\n tooltip: {\n title: 'Audience panel credits',\n description:\n 'Send surveys to your target market with SurveyMonkey Audience, our market research panel with millions of people worldwide. You can choose from 100+ attributes to conduct market research quickly and effectively. Audience can also be purchased separately.',\n },\n },\n hipaa_enabled: {\n summaryLine: 'HIPAA-compliant features',\n tooltip: {\n title: 'HIPAA-compliant features',\n description:\n 'Safeguard protected health information with HIPAA-compliant features and a Business Associate Agreement.',\n },\n },\n send_surveys: {\n summaryLine: 'Send surveys',\n tooltip: {\n title: 'Send surveys',\n description: 'Seamlessly send surveys using powerful 3rd-party integration tools.',\n },\n },\n mobile_sdk: {\n summaryLine: 'Mobile SDK',\n tooltip: {\n title: 'Mobile SDK',\n description: 'Integrate surveys directly into your iOS and Android mobile app.',\n },\n },\n mobile_sdk_data_pull: {\n summaryLine: 'Mobile SDK - Data Pull',\n tooltip: {\n title: 'Mobile SDK - Data Pull',\n description:\n 'Take actions in your app based on survey responses collected through the Mobile SDK. For example, prompt people to leave a review if they enter a positive rating.',\n },\n },\n extract_data: {\n summaryLine: 'Extract data',\n tooltip: {\n title: 'Extract data',\n description: 'Extract and leverage your survey data using powerful 3rd-party integration tools.',\n },\n },\n api_access: {\n summaryLine: 'Get direct API access',\n tooltip: {\n title: 'Get direct API access',\n description: 'Create your own application to send surveys and extract your survey data.',\n },\n },\n multilingual: {\n summaryLine: 'Multilingual surveys',\n tooltip: {\n title: 'Multilingual surveys',\n description:\n \"Reach everyone in the language they're most comfortable with. Add multiple languages to a single survey, and analyze all your results together as one data set.\",\n },\n },\n quizzes_pro: {\n summaryLine: 'Quizzes Pro',\n tooltip: {\n title: 'Quizzes Pro',\n description:\n 'Show custom feedback for correct, partially correct, and incorrect responses as people take your quiz. At the end, show people custom feedback based on their overall score. Quizzes Pro also lets you email people their quiz results automatically, or export your quiz statistics in PDF, XLS, and CSV format.',\n },\n },\n recurring_surveys: {\n summaryLine: 'Recurring surveys',\n tooltip: {\n title: 'Recurring surveys',\n description:\n \"Recurring surveys make it easy to collect new results for the same survey on a weekly, monthly, or quarterly basis. We'll email you new survey links when they're ready, so all you need to do is copy each new link and send it to respondents. Filter your results by each occurrence to see how people responded differently over time.\",\n },\n },\n industry_benchmarks: {\n summaryLine: 'SurveyMonkey Industry Benchmarks',\n tooltip: {\n title: 'SurveyMonkey Industry Benchmarks',\n description:\n \"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 },\n },\n custom_question_bank: {\n summaryLine: 'Custom Question Bank',\n tooltip: {\n title: 'Custom Question Bank',\n description:\n 'Easily create pre-composed survey questions that are unique to your business, and to share them with your entire organization.',\n },\n },\n payment_question_type: {\n summaryLine: 'Accept Payments',\n tooltip: {\n title: 'Accept Payments',\n description: 'Accept credit card payments from respondents in your surveys with our Stripe integration.',\n },\n },\n inactivity_timer: {\n summaryLine: 'Kiosk Mode: Inactivity Timer',\n tooltip: {\n title: 'Kiosk Mode: Inactivity Timer',\n description:\n \"When a survey's inactive for the amount of time you choose, it will loop back to start for the next person. Available in the SurveyMonkey Anywhere app.\",\n },\n },\n passcode_lock: {\n summaryLine: 'Kiosk Mode: Passcode Lock',\n tooltip: {\n title: 'Kiosk Mode: Passcode Lock',\n description:\n 'Keep your device secure-set a passcode that must be entered to exit the survey. Available in the SurveyMonkey Anywhere app.',\n },\n },\n premium_themes: {\n summaryLine: 'Premium themes',\n tooltip: {\n title: 'Premium themes',\n description:\n 'Select from pre-designed themes to pick a survey theme that matches the topic of your survey. You can also edit the premium themes to create a fully customized design using colors, fonts, images and layouts.',\n },\n },\n custom_subdomain: {\n summaryLine: 'Custom subdomain',\n tooltip: {\n title: 'Custom subdomain',\n description:\n 'Get a custom URL and landing page to ensure a seamlessly branded survey experience for your respondents.',\n },\n },\n team_customer_success_manager: {\n summaryLine: 'Customer Success Manager',\n tooltip: {\n title: 'Customer Success Manager',\n description:\n 'Get a dedicated customer success manager to help you with onboarding, training users as well as implementing best practices to ensure optimal use of the SurveyMonkey platform across your organization.',\n },\n },\n enterprise_admin_dashboard: {\n summaryLine: 'Admin dashboard',\n tooltip: {\n title: 'Admin dashboard',\n description:\n \"Get visibility into your team's activity. View usage metrics like the number of surveys each user has in their account, and the date of their last login. You can also preview surveys in each account too.\",\n },\n },\n enterprise_activity_tracking: {\n summaryLine: 'Team activity',\n tooltip: {\n title: 'Team activity',\n description:\n 'Track all user activity in your Enterprise account, such as user logins, survey creation, survey sharing, survey exports, etc. with the ability to search and filter through audit logs.',\n },\n },\n enterprise_account_control: {\n summaryLine: 'Account control',\n tooltip: {\n title: 'Account control',\n description:\n \"Automate onboarding users. Seamlessly enable new users to sign up or migrate existing users into your organization's SurveyMonkey Enterprise account.\",\n },\n },\n enterprise_sso: {\n summaryLine: 'Single sign-on',\n tooltip: {\n title: 'Single sign-on',\n description:\n 'Control access to SurveyMonkey across the organization and define authentication policies for increased security and governance.',\n },\n },\n enterprise_global_settings: {\n summaryLine: 'Global settings',\n tooltip: {\n title: 'Global settings',\n description:\n 'Create global settings for everyone in your plan. Includes PII management, collector and respondent data settings, and Audience credits management.',\n },\n },\n enterprise_custom_terms_of_service: {\n summaryLine: 'Custom Terms of Use',\n tooltip: {\n title: 'Custom Terms of Use',\n description: \"Ensure your employees opt in to your organization's Terms of Use for SurveyMonkey.\",\n },\n },\n enterprise_integrations: {\n summaryLine: 'Enterprise-only integrations',\n tooltip: {\n title: 'Enterprise-only integrations',\n description:\n 'Enterprise plans enjoy unlimited API access and can add on integrations with Salesforce, Marketo, Eloqua, Tableau, and more.',\n },\n },\n enterprise_hipaa_compliance: {\n summaryLine: 'HIPAA-compliant features',\n tooltip: {\n title: 'HIPAA-compliant features',\n description:\n 'Collect and manage Protected Health Information (PHI) through surveys. To enable HIPAA features, you must enter into a Business Associate Agreement (BAA) with SurveyMonkey.',\n },\n },\n summary_accept_payments: {\n summaryLine: 'Accept payments',\n tooltip: {\n title: 'Accept payments',\n description:\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 },\n },\n summary_24_7_customer_support_via_email: {\n summaryLine: '24/7 customer support via email',\n tooltip: {\n title: '24/7 customer support via email',\n description:\n 'We offer 24/7 email support for all customers. Emails from {gold_equivalent_name} and {platinum_equivalent_name} customers are prioritized to receive responses as quickly as possible. We also offer phone support for our {platinum_equivalent_name} customers.',\n },\n },\n summary_24_7_customer_support_via_email_intl: {\n summaryLine: '24/7 customer support via email',\n tooltip: {\n title: '24/7 customer support via email',\n description:\n 'We offer 24/7 email support for all customers. Emails from {gold_equivalent_name} and {platinum_equivalent_name} customers are prioritized to receive responses as quickly as possible.',\n },\n },\n summary_team_accounts_and_tools: {\n summaryLine: \"NEW! Team accounts & tools\",\n tooltip: {\n title: \"NEW! Team accounts & tools\",\n description:\n 'Our {gold_equivalent_name} and {platinum_equivalent_name} plans include 2 user accounts, which allow you and another person to enjoy our team collaboration tools. These tools help you create, edit, and analyze surveys easily and safely with another person. Each user will have their own unique sign-in credentials. The accounts can securely share surveys and data, and you can also choose to keep some surveys or data private and only available to you.',\n },\n },\n summary_team_collaboration_available: {\n summaryLine: 'Team collaboration available',\n tooltip: {\n title: 'Team collaboration available',\n description:\n 'You can convert your existing account into a team account. This allows you to create, edit, and analyze surveys with others and access a shared library of images, documents, themes, and templates. You can invite people to your team for an additional fee.',\n },\n },\n summary_advanced_data_exports: {\n summaryLine: 'Advanced data exports',\n tooltip: {\n title: 'Advanced data exports',\n description:\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 },\n },\n summary_sentiment_analysis: {\n summaryLine: 'SENTIMENT ANALYSIS',\n tooltip: {\n title: 'SENTIMENT ANALYSIS',\n description:\n \"We'll automatically label your text responses as positive, neutral, or negative to reveal the emotion behind what people are saying.\",\n },\n },\n summary_survey_logic: {\n summaryLine: 'Survey logic',\n tooltip: {\n title: 'Survey logic',\n description:\n 'Create smart surveys. Reduce answer bias by randomizing pages or questions on a specific page. Conduct A/B tests and test for answer bias by randomly segmenting respondents to see different images or text. Plus, close your survey automatically when you get all the qualified responses you need.',\n },\n },\n summary_survey_analysis: {\n summaryLine: 'Survey analysis',\n tooltip: {\n title: 'Survey analysis',\n description:\n 'Get more insights from your survey results. Trended data makes it easy to spot changes when they happen by allowing you to view your results trended over time. Use filters and crosstabs to segment your respondents and discover hidden trends. With a {basic_equivalent_name} plan, you can apply and save one filter rule to your data, but paid plans allow you to save and apply an unlimited number of filter rules.',\n },\n },\n summary_advanced_survey_analysis_asia: {\n summaryLine: 'Advanced survey analysis',\n tooltip: {\n title: 'Advanced survey analysis',\n description:\n 'Get more context for your data. See if there are statistically significant differences between response groups.',\n },\n },\n summary_audience_panel_credits: {\n summaryLine: 'Audience panel credits',\n tooltip: {\n title: 'Audience panel credits',\n description:\n 'Use SurveyMonkey Audience to easily run your own market research. Our market research panel includes millions of people worldwide. Choose from several demographic attributes to send surveys to your target market.',\n },\n },\n summary_team_share_surveys: {\n summaryLine: 'BUILD SURVEYS TOGETHER',\n tooltip: {\n title: 'BUILD SURVEYS TOGETHER',\n description: 'Let people on your team view, edit, or comment on your surveys.',\n },\n },\n summary_team_comments: {\n summaryLine: 'COMMENTING FEATURE',\n tooltip: {\n title: 'COMMENTING FEATURE',\n description:\n 'Invite people to provide feedback on your survey projects all ine one place. Our commenting feature allows you to share both survey drafts or results with anyone you want.',\n },\n },\n summary_team_analyze_filter_export: {\n summaryLine: 'ANALYZE RESULTS TOGETHER',\n tooltip: {\n title: 'ANALYZE RESULTS TOGETHER',\n description: 'Give your team access to survey results and export tools.',\n },\n },\n summary_team_responses_nodification: {\n summaryLine: 'RESPONSE ALERTS',\n tooltip: {\n title: 'RESPONSE ALERTS',\n description:\n \"Receive email notifications about new survey responses. You can share Response Alerts with other people (in or outside your team)-as long as you're the survey owner.\",\n },\n },\n summary_team_shared_library: {\n summaryLine: 'SHARED LIBRARY',\n tooltip: {\n title: 'SHARED LIBRARY',\n description: 'Get access to shared images, documents, themes, and templates that everyone in your team can use.',\n },\n },\n summary_team_add_reassign_accounts: {\n summaryLine: 'TEAM MANAGEMENT',\n tooltip: {\n title: 'TEAM MANAGEMENT',\n description:\n \"If you're the Primary Admin or Admin of a team, you can invite more people to join the team and manage existing accounts.\",\n },\n },\n summary_team_collaboration_app_integrations: {\n summaryLine: 'INTEGRATIONS',\n tooltip: {\n title: 'INTEGRATIONS',\n description:\n \"SurveyMonkey integrates with popular apps like Office 365, Google Drive, and Slack, so it's easy to use with your existing workflows.\",\n },\n },\n summary_team_surveys_questions_responses: {\n summaryLine: 'NUMBER OF SURVEYS',\n tooltip: {\n title: 'NUMBER OF SURVEYS',\n description: 'You can create and send as many surveys, polls, and quizzes as you need.',\n },\n },\n summary_team_expedited_email_support: {\n summaryLine: '24/7 CUSTOMER SUPPORT VIA EMAIL',\n tooltip: {\n title: '24/7 CUSTOMER SUPPORT VIA EMAIL',\n description:\n 'We offer 24/7 email support for all customers. Emails from TEAM ADVANTAGE and TEAM PREMIER customers are prioritized to receive responses as quickly as possible. We also offer phone support for our TEAM PREMIER customers.',\n },\n },\n summary_team_quizzes: {\n summaryLine: 'QUIZZES',\n tooltip: {\n title: 'QUIZZES',\n description:\n \"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 },\n },\n summary_team_filters_and_crosstabs: {\n summaryLine: 'FILTER AND COMPARE RULES',\n tooltip: {\n title: 'FILTER AND COMPARE RULES',\n description:\n 'Use filter and compare rules to segment your data and discover hidden trends. With a Basic plan, you can apply and save one rule to your data, but paid plans allow you to save and apply an unlimited number of rules. Data trends let you see how your results have changed over time.',\n },\n },\n summary_team_custom_logo: {\n summaryLine: 'CUSTOMIZED SURVEYS',\n tooltip: {\n title: 'CUSTOMIZED SURVEYS',\n description:\n \"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 },\n },\n summary_team_skip_logic: {\n summaryLine: 'CUSTOMIZED SURVEY EXPERIENCE',\n tooltip: {\n title: 'CUSTOMIZED SURVEY EXPERIENCE',\n description:\n \"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 },\n },\n summary_team_data_exports: {\n summaryLine: 'DATA EXPORTS',\n tooltip: {\n title: 'DATA EXPORTS',\n description:\n \"Create and print custom charts and reports quickly and easily. You'll be able to download survey results in several file formats, including as CSV, PDF, PPT, or XLS files. Export for SPSS for Advantage and Premier members.\",\n },\n },\n summary_team_advanced_analyze: {\n summaryLine: 'ADVANCED SURVEY ANALYSIS',\n tooltip: {\n title: 'ADVANCED SURVEY ANALYSIS',\n description:\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 },\n },\n summary_team_industry_benchmarks: {\n summaryLine: 'SURVEYMONKEY INDUSTRY BENCHMARKS',\n tooltip: {\n title: 'SURVEYMONKEY INDUSTRY BENCHMARKS',\n description:\n \"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 },\n },\n summary_team_advanced_survey_logic: {\n summaryLine: 'ADVANCED SURVEY LOGIC',\n tooltip: {\n title: 'ADVANCED SURVEY LOGIC',\n description:\n 'Enhance your survey data with access to advanced branching, advanced piping, block randomization, quotas, and more. Use custom variables to track data about respondents by passing one or more values through a survey link and into your survey results.',\n },\n },\n summary_team_block_randomization: {\n summaryLine: 'BLOCK RANDOMIZATION',\n tooltip: {\n title: 'BLOCK RANDOMIZATION',\n description:\n 'Blocks are groups of pages, where each group contains related questions about a particular concept you want to test. You can use block randomization logic to rotate, flip, or randomize blocks to minimize order bias.',\n },\n },\n summary_team_white_label: {\n summaryLine: 'WHITE LABEL SURVEYS',\n tooltip: {\n title: 'WHITE LABEL SURVEYS',\n description:\n 'Completely customize and brand your surveys. Remove the SurveyMonkey footer from your surveys, change the domain of your survey link to research.net, and redirect survey respondents to your site upon survey completion.',\n },\n },\n summary_team_multilingual: {\n summaryLine: 'MULTILINGUAL SURVEYS',\n tooltip: {\n title: 'MULTILINGUAL SURVEYS',\n description:\n \"Reach everyone in the language they're most comfortable with. Add multiple languages to a single survey, and analyze all your results together as one data set.\",\n },\n },\n summary_team_completion_redirect: {\n summaryLine: 'SURVEY COMPLETION REDIRECT',\n tooltip: {\n title: 'SURVEY COMPLETION REDIRECT',\n description:\n 'For a customized experience, redirect survey respondents to your website once they complete your survey.',\n },\n },\n summary_team_remove_surveymonkey_footer: {\n summaryLine: 'REMOVE FOOTER',\n tooltip: {\n title: 'REMOVE FOOTER',\n description:\n 'Turn off the \"powered by SurveyMonkey\" footer that appears by default in your survey design, email invitation messages, and embedded surveys.',\n },\n },\n summary_team_api_access: {\n summaryLine: 'GET DIRECT API ACCESS',\n tooltip: {\n title: 'GET DIRECT API ACCESS',\n description: 'Create your own application to send surveys and extract your survey data.',\n },\n },\n summary_team_role_based_collaboration: {\n summaryLine: 'COLLABORATION AT SCALE',\n tooltip: {\n title: 'COLLABORATION AT SCALE',\n description:\n 'Organize teams with a shared purpose into workgroups to collaborate on survey projects. Easily share surveys with everyone in a workgroup and assign roles and permissions to ensure users have the right level of access to survey data.',\n },\n },\n summary_team_flexible_plan_types: {\n summaryLine: 'FLEXIBLE PLAN TYPES',\n tooltip: {\n title: 'FLEXIBLE PLAN TYPES',\n description: \"Enjoy flexible and custom plan types to fit your organization's survey needs. \",\n },\n },\n summary_team_hipaa_compliant: {\n summaryLine: 'HIPAA-COMPLIANT FEATURES',\n tooltip: {\n title: 'HIPAA-COMPLIANT FEATURES',\n description:\n 'Collect and manage Protected Health Information (PHI) through surveys. To enable HIPAA features, you must enter into a Business Associate Agreement (BAA) with SurveyMonkey.',\n },\n },\n summary_team_custom_branding: {\n summaryLine: 'CUSTOMIZATION AND BRANDING',\n tooltip: {\n title: 'CUSTOMIZATION AND BRANDING',\n description:\n 'Ensure a consistent brand experience for all survey-takers and enjoy customization features like Custom Subdomain, Custom Terms of Use and Custom Question Bank.',\n },\n },\n summary_team_3rd_part_integrations: {\n summaryLine: 'INTEGRATIONS',\n tooltip: {\n title: 'INTEGRATIONS',\n description:\n 'Integrate your survey data into important business applications that your organization already uses such as Salesforce, Marketo, Oracle Eloqua, and Tableau.',\n },\n },\n summary_team_unlimited_api_access: {\n summaryLine: 'UNLIMITED API ACCESS',\n tooltip: {\n title: 'UNLIMITED API ACCESS',\n description:\n 'Get unlimited access to the SurveyMonkey API to integrate survey data into your mobile and web applications.',\n },\n },\n summary_team_admin_dashboard: {\n summaryLine: 'ADMIN DASHBOARD',\n tooltip: {\n title: 'ADMIN DASHBOARD',\n description:\n \"Get visibility into your team's activity. View usage metrics like the number of surveys each user has in their account, and the date of their last login. You can also preview surveys in each account too.\",\n },\n },\n summary_team_account_control_migration: {\n summaryLine: 'ACCOUNT CONTROL',\n tooltip: {\n title: 'ACCOUNT CONTROL',\n description:\n \"Automate onboarding users. Seamlessly enable new users to sign up or migrate existing users into your organization's SurveyMonkey Enterprise account.\",\n },\n },\n summary_team_enhanced_governance_security: {\n summaryLine: 'GOVERNANCE AND SECURITY',\n tooltip: {\n title: 'GOVERNANCE AND SECURITY',\n description:\n 'Get access to a vast array of governance and security features, including SSO for user authentication, data encryption, access controls, SSAE-16 SOC II compliant data centers and more.',\n },\n },\n summary_team_sso: {\n summaryLine: 'SINGLE SIGN-ON',\n tooltip: {\n title: 'SINGLE SIGN-ON',\n description:\n 'Control access to SurveyMonkey across the organization and define authentication policies for increased security and governance.',\n },\n },\n summary_team_logs_audit: {\n summaryLine: 'TEAM ACTIVITY',\n tooltip: {\n title: 'TEAM ACTIVITY',\n description:\n 'Track all user activity in your Enterprise account, such as user logins, survey creation, survey sharing, survey exports, etc. with the ability to search and filter through audit logs.',\n },\n },\n summary_team_customer_success_manager: {\n summaryLine: 'CUSTOMER SUCCESS',\n tooltip: {\n title: 'CUSTOMER SUCCESS',\n description:\n 'Get a dedicated customer success manager to help you with onboarding, training users as well as implementing best practices to ensure optimal use of the SurveyMonkey platform across your organization.',\n },\n },\n summary_team_priority_247_email_phone_support: {\n summaryLine: 'PRIORITY SUPPORT',\n tooltip: {\n title: 'PRIORITY SUPPORT',\n description:\n 'We offer 24/7 email support for all customers. Emails from Enterprise customers are prioritized to receive responses as quickly as possible. We also offer English-only phone support.',\n },\n },\n summary_number_of_surveys: {\n summaryLine: 'Number of surveys',\n tooltip: {\n title: 'Number of surveys',\n description: 'You can create and send as many surveys, polls, and quizzes as you need with any plan.',\n },\n },\n summary_questions_per_survey: {\n summaryLine: 'Questions per survey',\n tooltip: {\n title: 'Questions per survey',\n description:\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 },\n },\n summary_number_of_responses: {\n summaryLine: 'Number of responses',\n tooltip: {\n title: 'Number of responses',\n description:\n \"With a free plan, you can collect more than 100 responses, but you can only view the first 100 responses. Upgrade at any time to access additional responses. Our {select_equivalent_name} Monthly plan includes 1000 responses per monthly billing cycle across all your surveys with a {overage_cost} charge per additional response. All annual plans include an unlimited number of responses.\",\n },\n },\n summary_number_of_responses_monthly_plans: {\n summaryLine: 'Number of responses',\n tooltip: {\n title: 'Number of responses',\n description:\n \"With a free plan, you can collect more than 100 responses, but you can only view the first 100 responses. Upgrade at any time to access additional responses. Our {select_equivalent_name} Monthly plan includes 1,000 responses and our {gold_equivalent_name} Monthly plan includes 2,000 responses per monthly billing cycle across all your surveys. There is a {overage_cost} charge per additional response. All annual plans include unlimited responses.\",\n },\n },\n summary_customer_support: {\n summaryLine: '24/7 customer support via email',\n tooltip: {\n title: '24/7 customer support via email',\n description:\n 'We offer 24/7 email support for all customers. Emails from {gold_equivalent_name} and {platinum_equivalent_name} customers are prioritized to receive responses as quickly as possible. We also offer phone support for our {platinum_equivalent_name} customers.',\n },\n },\n summary_customer_support_monthly_plans: {\n summaryLine: '24/7 customer support via email',\n tooltip: {\n title: '24/7 customer support via email',\n description:\n 'We offer 24/7 email support for all customers. Emails from {gold_equivalent_name} and {platinum_equivalent_name} customers are prioritized to receive responses as quickly as possible. We also offer phone support for our {platinum_equivalent_name} Annual customers.',\n },\n },\n summary_english_customer_support: {\n summaryLine: '24/7 English email support',\n tooltip: {\n title: '24/7 English email support',\n description:\n 'We offer 24/7 email support for all customers. Emails from {gold_equivalent_name} and {platinum_equivalent_name} customers are prioritized to receive responses as quickly as possible. We also offer phone support for our {platinum_equivalent_name} customers.',\n },\n },\n summary_international_customer_support: {\n summaryLine: '{lang} email support',\n tooltip: {\n title: '{lang} email support',\n description: 'We offer {lang} email support in Central European Time (CET).',\n },\n },\n summary_user_accounts: {\n summaryLine: 'User accounts included',\n tooltip: {\n title: 'User accounts included',\n description:\n 'This is the total number of user accounts included with your plan. Plans with more than 1 user have access to all team collaboration tools. ',\n },\n },\n summary_quizzes: {\n summaryLine: \"NEW! Quizzes\",\n tooltip: {\n title: \"NEW! Quizzes\",\n description:\n \"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 },\n },\n summary_filters_and_crosstabs: {\n summaryLine: 'FILTER AND COMPARE RULES',\n tooltip: {\n title: 'FILTER AND COMPARE RULES',\n description:\n 'Use filter and compare rules to segment your data and discover hidden trends. With a Basic plan, you can apply and save one rule to your data, but paid plans allow you to save and apply an unlimited number of rules. Data trends let you see how your results have changed over time.',\n },\n },\n summary_trended_data: {\n summaryLine: 'Trended Data',\n tooltip: {\n title: 'Trended Data',\n description:\n 'Get more insights from your survey results. Trended data makes it easy to spot changes when they happen by allowing you to view your results trended over time.',\n },\n },\n summary_customized_surveys: {\n summaryLine: 'Customized surveys',\n tooltip: {\n title: 'Customized surveys',\n description:\n \"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 },\n },\n summary_data_exports: {\n summaryLine: 'Data exports',\n tooltip: {\n title: 'Data exports',\n description:\n \"Create and print custom charts and reports quickly and easily. You'll be able to download survey results in several file formats, including as CSV, PDF, PPT, or XLS files. Export for SPSS for Advantage and Premier members.\",\n },\n },\n summary_customized_survey_experience: {\n summaryLine: 'Customized survey experience',\n tooltip: {\n title: 'Customized survey experience',\n description:\n \"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 },\n },\n summary_a_b_testing: {\n summaryLine: 'A/B test question type',\n tooltip: {\n title: 'A/B test question type',\n description:\n 'Conduct A/B tests and test for answer bias by randomly segmenting respondents to see different images or text.',\n },\n },\n summary_ab_testing: {\n summaryLine: 'A/B testing, randomization, quotas',\n tooltip: {\n title: 'A/B testing, randomization, quotas',\n description:\n 'Conduct A/B tests and test for answer bias by randomly segmenting respondents to see different images or text.',\n },\n },\n summary_block_randomization: {\n summaryLine: 'Block randomization',\n tooltip: {\n title: 'Block randomization',\n description:\n 'Blocks are groups of pages, where each group contains related questions about a particular concept you want to test. You can use block randomization logic to rotate, flip, or randomize blocks to minimize order bias.',\n },\n },\n summary_quotas: {\n summaryLine: 'Response quotas',\n tooltip: {\n title: 'Response quotas',\n description: 'Close your survey automatically when you get all the qualified responses you need.',\n },\n },\n summary_custom_variables: {\n summaryLine: 'Custom variables',\n tooltip: {\n title: 'Custom variables',\n description:\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 },\n },\n summary_file_upload: {\n summaryLine: 'File upload',\n tooltip: {\n title: 'File upload',\n description:\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 },\n },\n summary_statistical_significance: {\n summaryLine: 'Statistical significance',\n tooltip: {\n title: 'Statistical significance',\n description: 'Use to see if there are statistically significant differences between response groups.',\n },\n },\n summary_complimentary_audience_credits: {\n summaryLine: 'Audience panel credits',\n tooltip: {\n title: 'Audience panel credits',\n description:\n 'Use SurveyMonkey Audience to easily run your own market research. Our market research panel includes millions of people worldwide. Choose from several demographic attributes to send surveys to your target market.',\n },\n },\n summary_industry_benchmarks: {\n summaryLine: 'SurveyMonkey Industry Benchmarks',\n tooltip: {\n title: 'SurveyMonkey Industry Benchmarks',\n description:\n \"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 },\n },\n summary_advanced_logic: {\n summaryLine: 'Advanced survey logic',\n tooltip: {\n title: 'Advanced survey logic',\n description:\n 'Enhance your survey data with access to advanced branching, advanced piping, block randomization, quotas, and more. Use custom variables to track data about respondents by passing one or more values through a survey link and into your survey results.',\n },\n },\n summary_collector_white_label_enabled: {\n summaryLine: 'White label surveys',\n tooltip: {\n title: 'White label surveys',\n description:\n 'Completely customize and brand your surveys. Remove the SurveyMonkey footer from your surveys, change the domain of your survey link to research.net, and redirect survey respondents to your site upon survey completion.',\n },\n },\n summary_multilingual: {\n summaryLine: 'Multilingual surveys',\n tooltip: {\n title: 'Multilingual surveys',\n description:\n \"Reach everyone in the language they're most comfortable with. Add multiple languages to a single survey, and analyze all your results together as one data set.\",\n },\n },\n summary_text_analysis: {\n summaryLine: 'Text analysis',\n tooltip: {\n title: 'Text analysis',\n description: 'Use to see if there are statistically significant differences between response groups.',\n },\n },\n summary_advanced_survey_analysis: {\n summaryLine: 'Advanced survey analysis',\n tooltip: {\n title: 'Advanced survey analysis',\n description:\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 },\n },\n summary_randomize_question_page_blocks: {\n summaryLine: 'Randomization',\n tooltip: {\n title: 'Randomization',\n description: 'Create smart surveys. Reduce answer bias by randomizing pages or questions on a specific page.',\n },\n },\n summary_piping: {\n summaryLine: 'Question and answer piping',\n tooltip: {\n title: 'Question and answer piping',\n description:\n 'With question & answer piping, you can insert answer text from a question into another question on a later page in the survey.',\n },\n },\n summary_redirect: {\n summaryLine: 'Redirect respondents to your website',\n tooltip: {\n title: 'Redirect respondents to your website',\n description:\n 'Redirect respondents to your own webpage upon survey completion. Enter the URL to a website of your choice.',\n },\n },\n summary_phone_support: {\n summaryLine: 'Phone support',\n tooltip: {\n title: 'Phone support',\n description: 'PREMIER customers enjoy the quickest replies in addition to phone support (English only).',\n },\n },\n summary_carry_forward: {\n summaryLine: 'Carry forward responses',\n tooltip: {\n title: 'Carry forward responses',\n description:\n \"Use each respondent's previous answer choices in a related question that appears later in your survey. You can carry forward either a respondent's selected or unselected answer choices and choose to show all or some previously selected or unselected answers. Responses that are carried forward cannot be edited.\",\n },\n },\n summary_matrix_of_dropdown_menus: {\n summaryLine: 'Matrix of dropdown menus',\n tooltip: {\n title: 'Matrix of dropdown menus',\n description:\n 'Allow respondents to evaluate several items using the same set of measurements by choosing from a preset list of answer choices.',\n },\n },\n summary_advanced_branching_and_piping: {\n summaryLine: 'Advanced branching and piping',\n tooltip: {\n title: 'Advanced branching and piping',\n description:\n \"Personalize the survey experience using advanced branching and piping logic. Build conditions and insert text based on your respondent's answers, custom data from contacts, and custom variables. Skip respondents to future points in your survey, show or hide questions, show or hide pages, or invalidate questions and customize the error message.\",\n },\n },\n summary_advanced_data_exports_spss: {\n summaryLine: 'Advanced data exports (SPSS)',\n tooltip: {\n title: 'Advanced data exports (SPSS)',\n description:\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 },\n },\n summary_abbr_customized_surveys: {\n summaryLine: 'Custom logo, colors & fonts, survey link',\n tooltip: {\n title: 'Custom logo, colors & fonts, survey link',\n description:\n \"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 },\n },\n summary_abbr_data_exports: {\n summaryLine: 'Data exports',\n tooltip: {\n title: 'Data exports',\n description: 'Download your data as a spreadsheet, or friendly formats like PDF or PowerPoint.',\n },\n },\n summary_abbr_unlimited_data_filters: {\n summaryLine: 'Unlimited data filters',\n tooltip: {\n title: 'Unlimited data filters',\n description: 'Drill down into segments of your data and save each view.',\n },\n },\n summary_abbr_compare_crosstabs: {\n summaryLine: 'Compare results with crosstabs',\n tooltip: {\n title: 'Compare results with crosstabs',\n description: 'See side-by-side comparisons of how different groups answered your survey.',\n },\n },\n summary_abbr_skip_logic: {\n summaryLine: 'Skip logic',\n tooltip: {\n title: 'Skip logic',\n description: 'Skip people to different places in your survey based on how they answer.',\n },\n },\n summary_abbr_text_analysis: {\n summaryLine: 'Text analysis',\n tooltip: {\n title: 'Text analysis',\n description: 'Uncover trends in written answers with tagging, word clouds, and sentiment analysis.',\n },\n },\n summary_abbr_statistical_significance: {\n summaryLine: 'Statistical significance',\n tooltip: {\n title: 'Statistical significance',\n description:\n 'See if there are statistically significant differences in how different groups answered your survey.',\n },\n },\n summary_abbr_ab_test: {\n summaryLine: 'A/B test question type',\n tooltip: {\n title: 'A/B test question type',\n description: 'See if variations of an image or text yield different results.',\n },\n },\n summary_abbr_page_question_randomization: {\n summaryLine: 'Question & page randomization',\n tooltip: {\n title: 'Question & page randomization',\n description:\n 'Reduce answer bias by randomizing the order of the pages in a survey or the order of questions within a page.',\n },\n },\n summary_abbr_carry_forward: {\n summaryLine: 'Carry forward responses',\n tooltip: {\n title: 'Carry forward responses',\n description:\n \"Use each respondent's previous answer choices in a related question that appears later in your survey. You can carry forward either a respondent's selected or unselected answer choices and choose to show all or some previously selected or unselected answers. Responses that are carried forward cannot be edited.\",\n },\n },\n summary_abbr_file_upload: {\n summaryLine: 'File upload question type',\n tooltip: {\n title: 'File upload question type',\n description: 'Let people attach image files, PDFs, or documents to their response.',\n },\n },\n summary_abbr_advanced_branching: {\n summaryLine: 'Advanced branching',\n tooltip: {\n title: 'Advanced branching',\n description: 'Add multi-condition, multi-action rules to build strategic survey experiences.',\n },\n },\n summary_abbr_advanced_piping: {\n summaryLine: 'Advanced question & answer piping',\n tooltip: {\n title: 'Advanced question & answer piping',\n description:\n 'Personalize surveys for each person by piping in text from their contact information or custom variables (URL parameters).',\n },\n },\n summary_abbr_custom_redirects: {\n summaryLine: 'Custom survey completion redirects',\n tooltip: {\n title: 'Custom survey completion redirects',\n description: 'Redirect survey takers to the URL of your choice after they finish your survey.',\n },\n },\n summary_abbr_remove_footer: {\n summaryLine: 'Remove SurveyMonkey branded footer',\n tooltip: {\n title: 'Remove SurveyMonkey branded footer',\n description: 'Remove the SurveyMonkey footer from your surveys and email invitations.',\n },\n },\n summary_abbr_research_url: {\n summaryLine: 'Anonymous \"research.net\" URL',\n tooltip: {\n title: 'Anonymous \"research.net\" URL',\n description: 'Use research.net for your survey link instead of surveymonkey.com.',\n },\n },\n summary_custom_survey_link: {\n summaryLine: 'Custom survey link',\n tooltip: {\n title: 'Custom survey link',\n description: 'Make your survey link friendly and easy to read.',\n },\n },\n};\n\nexport default FEATURES;\n","import { PACKAGES } from './constants';\nimport FEATURES, { Feature } from './features';\nimport { featureIsNonGuacOnly } from './helpers';\n\nexport type PackageFeatures = Feature[];\n\ntype PackageFeaturesList = {\n [packageId: string]: PackageFeatures;\n};\n\nconst PACKAGE_SUMMARY_FEATURES: PackageFeaturesList = {\n [PACKAGES.StandardMonthly]: [\n {\n summaryLine: 'Matrix of dropdown menus question type',\n tooltip: FEATURES.summary_matrix_of_dropdown_menus.tooltip,\n },\n {\n summaryLine: 'Unlimited number of surveys',\n tooltip: FEATURES.summary_number_of_surveys.tooltip,\n },\n {\n summaryLine: 'Unlimited questions per survey',\n tooltip: FEATURES.summary_questions_per_survey.tooltip,\n },\n {\n summaryLine: 'Unlimited responses per survey',\n tooltip: FEATURES.summary_number_of_responses.tooltip,\n },\n {\n summaryLine: '24/7 priority email support',\n tooltip: FEATURES.summary_customer_support.tooltip,\n },\n {\n summaryLine: '24/7 English email support',\n tooltip: FEATURES.summary_english_customer_support.tooltip,\n },\n {\n summaryLine: '{lang} email support',\n tooltip: FEATURES.summary_international_customer_support.tooltip,\n },\n {\n summaryLine: 'Quizzes with custom feedback',\n tooltip: FEATURES.summary_quizzes.tooltip,\n },\n {\n summaryLine: 'Custom logo, colors, and survey URL',\n tooltip: FEATURES.summary_customized_surveys.tooltip,\n },\n {\n summaryLine: 'Data exports (CSV, PDF, PPT, XLS)',\n tooltip: FEATURES.summary_data_exports.tooltip,\n },\n {\n summaryLine: 'Skip logic only',\n tooltip: FEATURES.summary_customized_survey_experience.tooltip,\n },\n {\n summaryLine: 'Text analysis',\n tooltip: FEATURES.summary_advanced_survey_analysis.tooltip,\n },\n ],\n [PACKAGES.StandardAnnual]: [\n {\n summaryLine: 'Matrix of dropdown menus question type',\n tooltip: FEATURES.summary_matrix_of_dropdown_menus.tooltip,\n },\n {\n summaryLine: 'Unlimited number of surveys',\n tooltip: FEATURES.summary_number_of_surveys.tooltip,\n },\n {\n summaryLine: 'Unlimited questions per survey',\n tooltip: FEATURES.summary_questions_per_survey.tooltip,\n },\n {\n summaryLine: 'Unlimited responses per survey',\n tooltip: FEATURES.summary_number_of_responses.tooltip,\n },\n {\n summaryLine: '24/7 priority email support',\n tooltip: FEATURES.summary_customer_support.tooltip,\n },\n {\n summaryLine: '24/7 English email support',\n tooltip: FEATURES.summary_english_customer_support.tooltip,\n },\n {\n summaryLine: '{lang} email support',\n tooltip: FEATURES.summary_international_customer_support.tooltip,\n },\n {\n summaryLine: 'Quizzes with custom feedback',\n tooltip: FEATURES.summary_quizzes.tooltip,\n },\n {\n summaryLine: 'Custom logo, colors, and survey URL',\n tooltip: FEATURES.summary_customized_surveys.tooltip,\n },\n {\n summaryLine: 'Data exports (CSV, PDF, PPT, XLS)',\n tooltip: FEATURES.summary_data_exports.tooltip,\n },\n {\n summaryLine: 'Skip logic only',\n tooltip: FEATURES.summary_customized_survey_experience.tooltip,\n },\n {\n summaryLine: 'Text analysis',\n tooltip: FEATURES.summary_advanced_survey_analysis.tooltip,\n },\n ],\n [PACKAGES.AdvantageAnnual]: [\n {\n summaryLine: 'Accept Payments',\n tooltip: FEATURES.summary_accept_payments.tooltip,\n },\n {\n summaryLine: 'Carry forward responses',\n tooltip: FEATURES.summary_carry_forward.tooltip,\n },\n {\n summaryLine: 'Matrix of dropdown menus question type',\n tooltip: FEATURES.summary_matrix_of_dropdown_menus.tooltip,\n },\n {\n summaryLine: 'Unlimited number of surveys',\n tooltip: FEATURES.summary_number_of_surveys.tooltip,\n },\n {\n summaryLine: 'Unlimited questions per survey',\n tooltip: FEATURES.summary_questions_per_survey.tooltip,\n },\n {\n summaryLine: 'Unlimited responses per survey',\n tooltip: FEATURES.summary_number_of_responses.tooltip,\n },\n {\n summaryLine: '24/7 expedited email support',\n tooltip: FEATURES.summary_customer_support.tooltip,\n },\n {\n summaryLine: '24/7 expedited English email support',\n tooltip: FEATURES.summary_english_customer_support.tooltip,\n },\n {\n summaryLine: '{lang} email support',\n tooltip: FEATURES.summary_international_customer_support.tooltip,\n },\n {\n summaryLine: 'Quizzes with custom feedback',\n tooltip: FEATURES.summary_quizzes.tooltip,\n },\n {\n summaryLine: 'Custom logo, colors, and survey URL',\n tooltip: FEATURES.summary_customized_surveys.tooltip,\n },\n {\n summaryLine: 'Data exports (CSV, PDF, PPT, XLS)',\n tooltip: FEATURES.summary_data_exports.tooltip,\n },\n {\n summaryLine: 'Advanced data exports (SPSS)',\n tooltip: FEATURES.summary_advanced_data_exports.tooltip,\n },\n {\n summaryLine: 'Skip logic, question & answer piping',\n tooltip: FEATURES.summary_customized_survey_experience.tooltip,\n },\n {\n summaryLine: 'Text analysis & statistical significance',\n tooltip: FEATURES.summary_advanced_survey_analysis.tooltip,\n },\n {\n summaryLine:\n '{audience_wallet_credit} Audience panel credits**',\n tooltip: FEATURES.summary_complimentary_audience_credits.tooltip,\n },\n {\n summaryLine: 'Custom variables',\n tooltip: FEATURES.summary_custom_variables.tooltip,\n },\n {\n summaryLine: 'File upload',\n tooltip: FEATURES.summary_file_upload.tooltip,\n },\n {\n summaryLine: 'A/B testing, randomization, quotas',\n tooltip: FEATURES.summary_a_b_testing.tooltip,\n },\n {\n summaryLine: 'SurveyMonkey industry benchmarks',\n tooltip: FEATURES.summary_industry_benchmarks.tooltip,\n },\n {\n summaryLine: 'Multilingual surveys',\n tooltip: FEATURES.summary_multilingual.tooltip,\n },\n ],\n [PACKAGES.PremierAnnual]: [\n {\n summaryLine: 'Accept Payments',\n tooltip: FEATURES.summary_accept_payments.tooltip,\n },\n {\n summaryLine: 'Carry forward responses',\n tooltip: FEATURES.summary_carry_forward.tooltip,\n },\n {\n summaryLine: 'Matrix of dropdown menus question type',\n tooltip: FEATURES.summary_matrix_of_dropdown_menus.tooltip,\n },\n {\n summaryLine: 'Unlimited number of surveys',\n tooltip: FEATURES.summary_number_of_surveys.tooltip,\n },\n {\n summaryLine: 'Unlimited questions per survey',\n tooltip: FEATURES.summary_questions_per_survey.tooltip,\n },\n {\n summaryLine: 'Unlimited responses per survey',\n tooltip: FEATURES.summary_number_of_responses.tooltip,\n },\n {\n summaryLine: 'Phone support and 24/7 email support',\n tooltip: FEATURES.summary_customer_support.tooltip,\n },\n {\n summaryLine: 'Phone support and 24/7 English email support',\n tooltip: FEATURES.summary_english_customer_support.tooltip,\n },\n {\n summaryLine: '{lang} email support',\n tooltip: FEATURES.summary_international_customer_support.tooltip,\n },\n {\n summaryLine: 'Quizzes with custom feedback',\n tooltip: FEATURES.summary_quizzes.tooltip,\n },\n {\n summaryLine: 'Custom logo, colors, and survey URL',\n tooltip: FEATURES.summary_customized_surveys.tooltip,\n },\n {\n summaryLine: 'Data exports (CSV, PDF, PPT, XLS)',\n tooltip: FEATURES.summary_data_exports.tooltip,\n },\n {\n summaryLine: 'Advanced data exports (SPSS)',\n tooltip: FEATURES.summary_advanced_data_exports.tooltip,\n },\n {\n summaryLine: 'Skip logic, question & answer piping',\n tooltip: FEATURES.summary_customized_survey_experience.tooltip,\n },\n {\n summaryLine: 'Text analysis & statistical significance',\n tooltip: FEATURES.summary_advanced_survey_analysis.tooltip,\n },\n {\n summaryLine: 'Sentiment analysis',\n tooltip: FEATURES.summary_sentiment_analysis.tooltip,\n },\n {\n summaryLine: 'Crosstabs',\n tooltip: FEATURES.crosstab.tooltip,\n },\n {\n summaryLine: 'Unlimited filter and compare rules, data trends',\n tooltip: FEATURES.summary_filters_and_crosstabs.tooltip,\n },\n {\n summaryLine:\n '{audience_wallet_credit} Audience panel credits**',\n tooltip: FEATURES.summary_complimentary_audience_credits.tooltip,\n },\n {\n summaryLine: 'File upload',\n tooltip: FEATURES.summary_file_upload.tooltip,\n },\n {\n summaryLine: 'Advanced branching & piping, block randomization',\n tooltip: FEATURES.summary_advanced_logic.tooltip,\n },\n {\n summaryLine: 'A/B testing, randomization, quotas',\n tooltip: FEATURES.summary_a_b_testing.tooltip,\n },\n {\n summaryLine: 'Custom variables',\n tooltip: FEATURES.summary_custom_variables.tooltip,\n },\n {\n summaryLine: 'White label surveys',\n tooltip: FEATURES.summary_collector_white_label_enabled.tooltip,\n },\n {\n summaryLine: 'SurveyMonkey industry benchmarks',\n tooltip: FEATURES.summary_industry_benchmarks.tooltip,\n },\n {\n summaryLine: 'Multilingual surveys',\n tooltip: FEATURES.summary_multilingual.tooltip,\n },\n ],\n [PACKAGES.TeamAdvantage]: [\n {\n summaryLine: 'Survey sharing with fine control over who can view and edit',\n tooltip: FEATURES.summary_team_share_surveys.tooltip,\n },\n {\n summaryLine: 'Gather comments all in one place',\n tooltip: FEATURES.summary_team_comments.tooltip,\n },\n {\n summaryLine: 'Let team members analyze, filter, and export results',\n tooltip: FEATURES.summary_team_analyze_filter_export.tooltip,\n },\n {\n summaryLine: 'Notify others when you get new responses',\n tooltip: FEATURES.summary_team_responses_nodification.tooltip,\n },\n {\n summaryLine: 'Shared asset library for on-brand surveys',\n tooltip: FEATURES.summary_team_shared_library.tooltip,\n },\n {\n summaryLine: 'Add or reassign accounts at any time',\n tooltip: FEATURES.summary_team_add_reassign_accounts.tooltip,\n },\n {\n summaryLine: 'Free integrations with popular collaboration apps',\n tooltip: FEATURES.summary_team_collaboration_app_integrations.tooltip,\n },\n {\n summaryLine: 'Unlimited surveys, questions, and responses',\n tooltip: FEATURES.summary_team_surveys_questions_responses.tooltip,\n },\n {\n summaryLine: '24/7 Expedited email support',\n tooltip: FEATURES.summary_team_expedited_email_support.tooltip,\n },\n {\n summaryLine: 'Quizzes with custom feedback',\n tooltip: FEATURES.summary_team_quizzes.tooltip,\n },\n {\n summaryLine: 'Custom logo, colors, and survey URL',\n tooltip: FEATURES.summary_team_custom_logo.tooltip,\n },\n {\n summaryLine: 'Question and page skip logic',\n tooltip: FEATURES.summary_team_skip_logic.tooltip,\n },\n {\n summaryLine: 'All data exports (CSV, PDF, PPT, SPSS, XLS)',\n tooltip: FEATURES.summary_team_data_exports.tooltip,\n },\n {\n summaryLine: 'Accept Payments',\n tooltip: FEATURES.summary_accept_payments.tooltip,\n },\n {\n summaryLine: 'Advanced analyze features',\n tooltip: FEATURES.summary_team_advanced_analyze.tooltip,\n },\n {\n summaryLine: 'SurveyMonkey industry benchmarks',\n tooltip: FEATURES.summary_team_industry_benchmarks.tooltip,\n },\n {\n summaryLine: 'Multilingual surveys',\n tooltip: FEATURES.summary_team_multilingual.tooltip,\n // Hide for GUAC countries\n get hidden(): boolean {\n return featureIsNonGuacOnly();\n },\n },\n ],\n [PACKAGES.TeamPremier]: [\n {\n summaryLine: 'Survey sharing with fine control over who can view and edit',\n tooltip: FEATURES.summary_team_share_surveys.tooltip,\n },\n {\n summaryLine: 'Gather comments all in one place',\n tooltip: FEATURES.summary_team_comments.tooltip,\n },\n {\n summaryLine: 'Let team members analyze, filter, and export results',\n tooltip: FEATURES.summary_team_analyze_filter_export.tooltip,\n },\n {\n summaryLine: 'Notify others when you get new responses',\n tooltip: FEATURES.summary_team_responses_nodification.tooltip,\n },\n {\n summaryLine: 'Shared asset library for on-brand surveys',\n tooltip: FEATURES.summary_team_shared_library.tooltip,\n },\n {\n summaryLine: 'Add or reassign accounts at any time',\n tooltip: FEATURES.summary_team_add_reassign_accounts.tooltip,\n },\n {\n summaryLine: 'Free integrations with popular collaboration apps',\n tooltip: FEATURES.summary_team_collaboration_app_integrations.tooltip,\n },\n {\n summaryLine: 'Unlimited surveys, questions, and responses',\n tooltip: FEATURES.summary_team_surveys_questions_responses.tooltip,\n },\n {\n summaryLine: 'Phone support and 24/7 email support',\n tooltip: FEATURES.summary_team_expedited_email_support.tooltip,\n },\n {\n summaryLine: 'Quizzes with custom feedback',\n tooltip: FEATURES.summary_team_quizzes.tooltip,\n },\n {\n summaryLine: 'Custom logo, colors, and survey URL',\n tooltip: FEATURES.summary_team_custom_logo.tooltip,\n },\n {\n summaryLine: 'Question and page skip logic',\n tooltip: FEATURES.summary_team_skip_logic.tooltip,\n },\n {\n summaryLine: 'All data exports (CSV, PDF, PPT, SPSS, XLS)',\n tooltip: FEATURES.summary_team_data_exports.tooltip,\n },\n {\n summaryLine: 'Accept Payments',\n tooltip: FEATURES.summary_accept_payments.tooltip,\n },\n {\n summaryLine: 'Advanced analyze features',\n tooltip: FEATURES.summary_team_advanced_analyze.tooltip,\n },\n {\n summaryLine: 'Sentiment analysis',\n tooltip: FEATURES.summary_sentiment_analysis.tooltip,\n },\n {\n summaryLine: 'Crosstabs',\n tooltip: FEATURES.crosstab.tooltip,\n },\n {\n summaryLine: 'Unlimited filter and compare rules, data trends',\n tooltip: FEATURES.summary_team_filters_and_crosstabs.tooltip,\n },\n {\n summaryLine: 'SurveyMonkey industry benchmarks',\n tooltip: FEATURES.summary_team_industry_benchmarks.tooltip,\n },\n {\n summaryLine: 'Advanced survey logic tools',\n tooltip: FEATURES.summary_team_advanced_survey_logic.tooltip,\n },\n {\n summaryLine: 'Block randomization',\n tooltip: FEATURES.summary_team_block_randomization.tooltip,\n },\n {\n summaryLine: 'White label surveys',\n tooltip: FEATURES.summary_team_white_label.tooltip,\n },\n {\n summaryLine: 'Multilingual surveys',\n tooltip: FEATURES.summary_team_multilingual.tooltip,\n },\n {\n summaryLine: 'Survey completion redirect',\n tooltip: FEATURES.summary_team_completion_redirect.tooltip,\n },\n {\n summaryLine: 'Remove SurveyMonkey footer',\n tooltip: FEATURES.summary_team_remove_surveymonkey_footer.tooltip,\n },\n {\n summaryLine: 'Create private apps with direct API access',\n tooltip: FEATURES.summary_team_api_access.tooltip,\n },\n ],\n [PACKAGES.Enterprise]: [\n {\n summaryLine: 'Survey sharing with fine control over who can view and edit',\n tooltip: FEATURES.summary_team_share_surveys.tooltip,\n },\n {\n summaryLine: 'Gather comments all in one place',\n tooltip: FEATURES.summary_team_comments.tooltip,\n },\n {\n summaryLine: 'Let team members analyze, filter, and export results',\n tooltip: FEATURES.summary_team_analyze_filter_export.tooltip,\n },\n {\n summaryLine: 'Notify others when you get new responses',\n tooltip: FEATURES.summary_team_responses_nodification.tooltip,\n },\n {\n summaryLine: 'Shared asset library for on-brand surveys',\n tooltip: FEATURES.summary_team_shared_library.tooltip,\n },\n {\n summaryLine: 'Add or reassign accounts at any time',\n tooltip: FEATURES.summary_team_add_reassign_accounts.tooltip,\n },\n {\n summaryLine: 'Free integrations with popular collaboration apps',\n tooltip: FEATURES.summary_team_collaboration_app_integrations.tooltip,\n },\n {\n summaryLine: 'Unlimited surveys, questions, and responses',\n tooltip: FEATURES.summary_team_surveys_questions_responses.tooltip,\n },\n {\n summaryLine: 'Phone support and 24/7 email support',\n tooltip: FEATURES.summary_team_expedited_email_support.tooltip,\n },\n {\n summaryLine: 'Quizzes with custom feedback',\n tooltip: FEATURES.summary_team_quizzes.tooltip,\n },\n {\n summaryLine: 'Custom logo, colors, and survey URL',\n tooltip: FEATURES.summary_team_custom_logo.tooltip,\n },\n {\n summaryLine: 'Question and page skip logic',\n tooltip: FEATURES.summary_team_skip_logic.tooltip,\n },\n {\n summaryLine: 'All data exports (CSV, PDF, PPT, SPSS, XLS)',\n tooltip: FEATURES.summary_team_data_exports.tooltip,\n },\n {\n summaryLine: 'Accept Payments',\n tooltip: FEATURES.summary_accept_payments.tooltip,\n },\n {\n summaryLine: 'Advanced analyze features',\n tooltip: FEATURES.summary_team_advanced_analyze.tooltip,\n },\n {\n summaryLine: 'Sentiment analysis',\n tooltip: FEATURES.summary_sentiment_analysis.tooltip,\n },\n {\n summaryLine: 'Crosstabs',\n tooltip: FEATURES.crosstab.tooltip,\n },\n {\n summaryLine: 'Unlimited filter and compare rules, data trends',\n tooltip: FEATURES.summary_team_filters_and_crosstabs.tooltip,\n },\n {\n summaryLine: 'SurveyMonkey industry benchmarks',\n tooltip: FEATURES.summary_team_industry_benchmarks.tooltip,\n },\n {\n summaryLine: 'Advanced survey logic tools',\n tooltip: FEATURES.summary_team_advanced_survey_logic.tooltip,\n },\n {\n summaryLine: 'Block randomization',\n tooltip: FEATURES.summary_team_block_randomization.tooltip,\n },\n {\n summaryLine: 'White label surveys',\n tooltip: FEATURES.summary_team_white_label.tooltip,\n },\n {\n summaryLine: 'Multilingual surveys',\n tooltip: FEATURES.summary_team_multilingual.tooltip,\n },\n {\n summaryLine: 'Survey completion redirect',\n tooltip: FEATURES.summary_team_completion_redirect.tooltip,\n },\n {\n summaryLine: 'Remove SurveyMonkey footer',\n tooltip: FEATURES.summary_team_remove_surveymonkey_footer.tooltip,\n },\n {\n summaryLine: 'Unlimited API access**',\n tooltip: FEATURES.summary_team_unlimited_api_access.tooltip,\n },\n {\n summaryLine: 'Flexible plan types for multiple users',\n tooltip: FEATURES.summary_team_flexible_plan_types.tooltip,\n },\n {\n summaryLine: 'HIPAA-compliant features**',\n tooltip: FEATURES.summary_team_hipaa_compliant.tooltip,\n },\n {\n summaryLine: 'Customization and branding',\n tooltip: FEATURES.summary_team_custom_branding.tooltip,\n },\n {\n summaryLine: 'Integrations with Salesforce, Marketo, Eloqua, and Tableau**',\n tooltip: FEATURES.summary_team_3rd_part_integrations.tooltip,\n },\n {\n summaryLine: 'Admin dashboard and user management',\n tooltip: FEATURES.summary_team_admin_dashboard.tooltip,\n },\n {\n summaryLine: 'Account control and migration',\n tooltip: FEATURES.summary_team_account_control_migration.tooltip,\n },\n {\n summaryLine: 'Enhanced governance and security features',\n tooltip: FEATURES.summary_team_enhanced_governance_security.tooltip,\n },\n {\n summaryLine: 'Single sign-on (SSO)',\n tooltip: FEATURES.summary_team_sso.tooltip,\n },\n {\n summaryLine: 'Activity tracking through audit logs',\n tooltip: FEATURES.summary_team_logs_audit.tooltip,\n },\n {\n summaryLine: 'Dedicated customer success manager',\n tooltip: FEATURES.summary_team_customer_success_manager.tooltip,\n },\n ],\n};\n\nexport default PACKAGE_SUMMARY_FEATURES;\n","import { ComparisonPackageFeatures } from '../ComparisonTableTypes';\nimport { PACKAGES } from '../constants';\n\n/**\n * We export a map of package key (ID/name) to the map of comparison\n * features that that package supports.\n */\nexport type SummaryComparisonPackages = {\n [packageKey: string]: ComparisonPackageFeatures;\n};\n\n// The team and enterprise plans include all the features of the plan\n// below them, so we'll start with advantage and extend it up to include\n// what we need for each package to be as non-redundant as possible\nconst TEAM_ADVTANTAGE: ComparisonPackageFeatures = {\n // Essentials\n unlimited_surveys: true,\n unlimited_questions: true,\n unlimited_responses: true,\n unlimited_collectors: true,\n\n // Support\n email_support: true,\n\n // Building Surveys\n essential_question_types: true,\n survey_templates: true,\n quizzes: true,\n question_page_skip_logic: true,\n question_page_randomization: true,\n a_b_test_question: true,\n custom_variables: true,\n file_upload: true,\n accept_payments: true,\n\n // Branding and Customization\n custom_logo_colors_url: true,\n custom_email_invites: true,\n\n // Response Collection\n recurring_surveys: true,\n require_answer_completion: true,\n survey_end_date: true,\n view_ip_addresses: true,\n confirmation_email: true,\n\n // Analysis\n data_trends: true,\n filter_and_compare: true,\n custom_reports: true,\n statistical_significance: true,\n data_exports: true,\n word_clouds: true,\n results_dashboards: true,\n industry_benchmarks: true,\n\n // Collaboration\n build_together: true,\n survey_sharing_with_editing: true,\n fine_permission_controls: true,\n team_analyze: true,\n shared_templates: true,\n add_reassign_accounts: true,\n\n // Integrations\n free_integrations: true,\n\n // Compliance and Governance\n password_protected: true,\n iso_27001: true,\n accessible: true,\n};\n\nconst TEAM_PREMIER: ComparisonPackageFeatures = {\n // Include everything from team advantage, plus...\n ...TEAM_ADVTANTAGE,\n\n // Support\n phone_support: true,\n\n // Building surveys\n adv_branching_and_piping: true,\n block_randomization: true,\n multilingual_surveys: true,\n\n // Branding and Customization\n remove_footer: true,\n\n // Response Collection\n change_survey_url: true,\n website_redirect: true,\n\n // Analysis\n sentiment_analysis: true,\n crosstabs: true,\n\n // Integrations\n direct_api: true,\n};\n\nconst ENTERPRISE: ComparisonPackageFeatures = {\n // Everything in team premier plus... all the other things\n ...TEAM_PREMIER,\n\n // Support\n customer_success_manager: true,\n\n // Branding and Customization\n custom_subdomain: true,\n custom_email: true, // Also in compliance section\n custom_terms: true, // Also in compliance section\n custom_question_bank: true,\n\n // Response Collection\n sms_offline_collection: true,\n smart_notifications: true,\n hippa_compliance: true,\n\n // Collaboration\n admin_dashboard: true,\n roles_workgroups: true,\n global_settings: true,\n\n // Integrations\n api_limits: true,\n bi_integrations: true,\n\n // Compliance and Governance\n activity_tracking: true,\n single_signon: true,\n account_control: true,\n};\n\n/**\n * This is the list of default options for the summary comparison table.\n * It can be altered/extended for experiments as needed.\n */\nconst SummaryComparisonPackageFeatures: SummaryComparisonPackages = {\n [PACKAGES.TeamAdvantage]: TEAM_ADVTANTAGE,\n [PACKAGES.TeamPremier]: TEAM_PREMIER,\n [PACKAGES.Enterprise]: ENTERPRISE,\n};\n\nexport default SummaryComparisonPackageFeatures;\n","import { ComponentType } from 'react';\nimport { PACKAGES } from './constants';\nimport PACKAGE_FEATURES, { PackageFeatures } from './packageFeatures';\nimport { ComparisonPackageFeatures } from './ComparisonTableTypes';\nimport SummaryComparisonPackageFeatures from './definitions/SummaryComparisonPackageFeatures';\n\nimport {\n EnterprisePackageHeader,\n TeamPackageHeader,\n MonthlyPackageHeader,\n AnnualPackageHeader,\n} from '~pricing/components/Summary';\nimport PackageCta from '~pricing/components/PackageCta';\nimport EnterprisePackageCta from '~pricing/components/EnterprisePackageCta';\n\ntype HeaderRendererProps = {\n packageName: string;\n skuCosts: { skuType: string; cost: number }[];\n details: { displayName: string; label: string };\n ribbonText?: string | boolean | null;\n};\n\ntype FooterRendererProps = {\n packageName: string;\n packageClassName: string;\n small?: boolean;\n};\n\ntype CtaRendererProps = {\n packageName: string;\n packageClassName: string;\n small?: boolean;\n};\n\n/**\n * Package config that defines what is displayed in the upper summary section\n */\nexport type PackageSummary = {\n // The list of features to render in the package summary display\n features: PackageFeatures;\n\n // If the package should be visually highlighted\n highlighted?: boolean;\n\n // The component to render the package summary display footer\n footerRenderer: ComponentType;\n\n // The component to render the package summary display header\n headerRenderer: ComponentType;\n};\n\n/**\n * List of features that a package contains for the comparison table display\n */\nexport type PackageComparison = {\n // The text displayed underneath the package title in the comparison table header\n byline: string;\n\n // Array of features that this package includes\n features: ComparisonPackageFeatures;\n\n // The renderer for the footer CTA\n ctaRenderer: ComponentType;\n};\n\nexport type SummaryPackageConfig = {\n summary: PackageSummary;\n comparison?: PackageComparison;\n};\n\ntype PackageList = {\n [packageId: string]: SummaryPackageConfig;\n};\n\n/**\n * This file contains default rendering configuration for each package that's displayed\n * on the pricing summary page. Each package summary config includes:\n * - `features`: An array of features to render in the package summary\n * - `headerRenderer`: The component to use for the package header.\n * This usually displays price and top CTA.\n * - `footerRenderer`: The component to use for the package footer.\n * This usually contains a CTA and any footnotes for the package\n *\n * Experiments can override these for custom rendering.\n * TODO (mhackmann): Actually allow experiments to override anything\n */\n\nconst SUMMARY_PAGE_RENDERERS: PackageList = Object.freeze({\n // Personal / Individual Packages\n [PACKAGES.StandardMonthly]: {\n summary: {\n features: PACKAGE_FEATURES[PACKAGES.StandardMonthly],\n headerRenderer: MonthlyPackageHeader,\n footerRenderer: PackageCta,\n },\n },\n [PACKAGES.AdvantageAnnual]: {\n summary: {\n features: PACKAGE_FEATURES[PACKAGES.AdvantageAnnual],\n headerRenderer: AnnualPackageHeader,\n footerRenderer: PackageCta,\n highlighted: true,\n },\n },\n [PACKAGES.PremierAnnual]: {\n summary: {\n features: PACKAGE_FEATURES[PACKAGES.PremierAnnual],\n headerRenderer: AnnualPackageHeader,\n footerRenderer: PackageCta,\n },\n },\n\n // Business / Teams Packages\n [PACKAGES.TeamAdvantage]: {\n summary: {\n features: PACKAGE_FEATURES[PACKAGES.TeamAdvantage],\n headerRenderer: TeamPackageHeader,\n footerRenderer: PackageCta,\n },\n comparison: {\n byline: 'Starts at 3 users',\n features: SummaryComparisonPackageFeatures[PACKAGES.TeamAdvantage],\n ctaRenderer: PackageCta,\n },\n },\n [PACKAGES.TeamPremier]: {\n summary: {\n features: PACKAGE_FEATURES[PACKAGES.TeamPremier],\n headerRenderer: TeamPackageHeader,\n footerRenderer: PackageCta,\n },\n comparison: {\n byline: 'Starts at 3 users',\n features: SummaryComparisonPackageFeatures[PACKAGES.TeamPremier],\n ctaRenderer: PackageCta,\n },\n },\n [PACKAGES.Enterprise]: {\n summary: {\n features: PACKAGE_FEATURES[PACKAGES.Enterprise],\n headerRenderer: EnterprisePackageHeader,\n footerRenderer: EnterprisePackageCta,\n },\n comparison: {\n byline: 'For large organizations',\n features: SummaryComparisonPackageFeatures[PACKAGES.Enterprise],\n ctaRenderer: EnterprisePackageCta,\n },\n },\n});\n\nexport default SUMMARY_PAGE_RENDERERS;\n","import PropTypes from 'prop-types';\nimport React from 'react';\n\nimport SUMMARY_PACKAGE_RENDERERS from '~pricing/lib/summaryPackages';\nimport { packageLabelToClassName } from '~pricing/lib/helpers';\nimport { PackagePropTypes, RibbonTextOverridePropType } from '~pricing/lib/proptypes';\n\nimport './package.scss';\n\nconst Package = ({\n details,\n skuCost,\n package: packageName,\n packageRenderers = SUMMARY_PACKAGE_RENDERERS,\n ribbonText = null,\n}) => {\n const packageClassName = packageLabelToClassName(details);\n const {\n summary: { features, headerRenderer: PackageHeader, footerRenderer: PackageFooter },\n } = packageRenderers[packageName];\n\n // Filter out any hidden features. This is the opportunity for an\n // indvidual feature to remove itself from the feature list via\n // whatever logic\n const visibleFeatures = features.filter(feature => !feature.hidden);\n\n return (\n
    \n
    \n \n
      \n {visibleFeatures.map(feature => {\n return (\n
    • \n {feature.summaryLine}\n
    • \n );\n })}\n
    \n
    \n
    \n \n
    \n
    \n );\n};\n\nPackage.propTypes = {\n ...PackagePropTypes,\n packageRenderers: PropTypes.objectOf(\n PropTypes.shape({\n summary: PropTypes.shape({\n headerRenderer: PropTypes.func.isRequired,\n footerRenderer: PropTypes.func.isRequired,\n // eslint-disable-next-line react/forbid-prop-types\n features: PropTypes.array.isRequired,\n }),\n })\n ),\n ribbonText: RibbonTextOverridePropType,\n};\n\nPackage.defaultProps = {\n packageRenderers: SUMMARY_PACKAGE_RENDERERS,\n ribbonText: null,\n};\n\nexport default Package;\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 '../PricingNavigation';\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.teamsPricingPage.path) {\n return ROUTE_CONFIG.teamsPricingPage.queryString.ut_source;\n }\n\n if (currentPath === ROUTE_CONFIG.individualPricingPage.path) {\n return ROUTE_CONFIG.individualPricingPage.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 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 { 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","import React from 'react';\nimport { t } from '@sm/intl';\n\nconst 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\nconst RequiredHeadTags = () => {\n return (\n <>\n {t(COPY.pageTitle)}\n \n \n \n );\n};\n\nexport default RequiredHeadTags;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { StaticContext } from '@sm/webassets';\nimport { SKIP_HREF_LANG_TAGS } from '~pricing/lib/constants';\n\nconst HrefLangTags = ({ canonicalPath }) => {\n const {\n environment: { subdomain, domain, tld },\n url,\n } = useContext(StaticContext);\n const hostname = `${subdomain}.${domain}.${tld}`;\n\n const path = canonicalPath || url;\n\n const LINKS = [\n {\n lang: 'x-default',\n href: `https://www.${domain}.com${path}`,\n },\n {\n lang: 'en-US',\n href: `https://www.${domain}.com${path}`,\n },\n {\n lang: 'en-GB',\n href: `https://www.${domain}.co.uk${path}`,\n },\n {\n lang: 'de',\n href: `https://www.${domain}.de${path}`,\n },\n {\n lang: 'ru',\n href: `https://www.${domain}.ru${path}`,\n },\n {\n lang: 'es',\n href: `https://es.${domain}.com${path}`,\n },\n {\n lang: 'pt',\n href: `https://pt.${domain}.com${path}`,\n },\n {\n lang: 'nl',\n href: `https://nl.${domain}.com${path}`,\n },\n {\n lang: 'fr',\n href: `https://fr.${domain}.com${path}`,\n },\n {\n lang: 'it',\n href: `https://it.${domain}.com${path}`,\n },\n {\n lang: 'da',\n href: `https://da.${domain}.com${path}`,\n },\n {\n lang: 'sv',\n href: `https://sv.${domain}.com${path}`,\n },\n {\n lang: 'ja',\n href: `https://jp.${domain}.com${path}`,\n },\n {\n lang: 'ko',\n href: `https://ko.${domain}.com${path}`,\n },\n {\n lang: 'zh',\n href: `https://zh.${domain}.com${path}`,\n },\n {\n lang: 'tr',\n href: `https://tr.${domain}.com${path}`,\n },\n {\n lang: 'no',\n href: `https://no.${domain}.com${path}`,\n },\n {\n lang: 'fi',\n href: `https://fi.${domain}.com${path}`,\n },\n ];\n\n const hrefLangTags = SKIP_HREF_LANG_TAGS[hostname]\n ? null\n : LINKS.map(({ lang, href }) => {\n return ;\n });\n\n return (\n <>\n \n {hrefLangTags}\n \n );\n};\n\nHrefLangTags.propTypes = {\n canonicalPath: PropTypes.string,\n};\n\nHrefLangTags.defaultProps = {\n canonicalPath: null,\n};\n\nexport default HrefLangTags;\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport { BasePage, FiveHundredErrorPage, Helmet } from '@sm/webassets';\nimport { Grid, Row, Col } from '@sm/wds-react';\n\nimport MainHeading from '~pricing/components/MainHeading';\nimport PricingNavigation from '~pricing/components/PricingNavigation';\nimport { Package, SummaryFooter } from '~pricing/components/Summary';\nimport usePricingExperience from '~pricing/lib/PricingExperience';\nimport { PricingExperienceProvider } from '~pricing/lib/PricingExperience/PricingExperienceContext';\nimport { INDIVIDUAL_PACKAGES, TEAMS_PACKAGES } from '~pricing/lib/constants';\nimport { PackagePropTypes } from '~pricing/lib/proptypes';\nimport { RequiredHeadTags, HrefLangTags } from '~pricing/lib/HeadTags';\n\nconst createPackagesList = (packages, packageSet) => {\n // The provided package list is both the filter and determines the order\n return packageSet\n .map(packageName => packages.find(packageObj => packageObj.package === packageName))\n .filter(packageObj => {\n // If pricingsvc didn't return all the packages we expected, carry on\n return !!packageObj;\n });\n};\n\nconst PricingSummaryPage = ({ packageData, packageSet, packageTypes }) => {\n const displayedPackages = createPackagesList(packageData, packageSet);\n\n return (\n \n \n {/* these need to be referenced as function calls because of Helmet's requirements for children */}\n {RequiredHeadTags()}\n {HrefLangTags({})}\n \n \n \n \n
    \n
    \n \n \n
    \n
    \n {displayedPackages.map(pricingPackage => {\n return ;\n })}\n
    \n \n
    \n \n
    \n
    \n
    \n );\n};\n\nPricingSummaryPage.propTypes = {\n packageData: PropTypes.arrayOf(PropTypes.shape(PackagePropTypes)).isRequired,\n packageSet: PropTypes.arrayOf(PropTypes.string).isRequired,\n packageTypes: PropTypes.string.isRequired,\n};\n\nconst PricingSummary = ({\n match: {\n params: { packageTypes = 'teams' },\n },\n}) => {\n const packageSet = packageTypes === 'individual' ? INDIVIDUAL_PACKAGES : TEAMS_PACKAGES;\n const { error, loading, data } = usePricingExperience();\n\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\nPricingSummary.propTypes = {\n match: PropTypes.shape({\n params: PropTypes.shape({\n packageTypes: PropTypes.string,\n }),\n }),\n};\n\nPricingSummary.defaultProps = {\n match: {\n params: {\n packageTypes: 'teams',\n },\n },\n};\n\nexport default PricingSummary;\n","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport PricingSummary from './pages';\n\nconst PricingRouter = () => (\n \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 { 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 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 {text}\n {text}\n
    \n )}\n />\n );\n }}\n \n );\n }\n}\n\nSearchBox.propTypes = {\n history: PropTypes.shape({\n push: PropTypes.func.isRequired,\n }).isRequired,\n};\n\nexport default withRouter(SearchBox);\nSearchBox.contextType = StaticContext;\n","import React from 'react';\n\nimport { defineMessages } from '@sm/intl';\nimport { Typography } from '@sm/wds-react';\n\nimport SearchBox from '../../../../components/SearchBox';\nimport './jumbo-header.scss';\n\nconst 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 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';\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","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\nconst subdomainUri = (subdomain, domain) => {\n return `https://${subdomain}.${domain}.com`;\n};\n\nconst navigationItems = domain => [\n { target: '/apps', text: },\n {\n target: '/apps/my-apps',\n text: ,\n requiresAuthentication: true,\n },\n {\n target: subdomainUri('developer', domain),\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 {\n user,\n environment: { domain },\n } = 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 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, { 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","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 AppDirNavHeader from '../components/AppDirNavHeader';\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 {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","import React from 'react';\n\nimport { Helmet } from '@sm/webassets';\n\nimport JumboHeader from './components/JumboHeader';\nimport AppsGrid from './components/AppsGrid';\nimport AppDirNavHeader from '../../components/AppDirNavHeader';\nimport AppDirectoryBasePage from '../AppDirectoryBasePage';\n\nconst Home = () => {\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, { 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 } 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, 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 AppDirNavHeader from '../../components/AppDirNavHeader';\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 MediaCarousel from './MediaCarousel';\nimport AppDetailsItem from './AppDetailsItem';\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 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 {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, { useEffect } from 'react';\nimport { Route, withRouter, Switch } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { FourOhFourError } from '@sm/webassets';\n\nimport {\n HomePage,\n CategoriesPage,\n FeaturedPage,\n MostPopularPage,\n RecentlyAddedPage,\n SearchPage,\n MyAppsPage,\n DetailsPage,\n} from './pages';\n\nconst AppsDirectoryRouter = ({ history }) => {\n useEffect(() => {\n const unlisten = history.listen(() => {\n window.scrollTo(0, 0);\n });\n return () => {\n unlisten();\n };\n }, [history]);\n\n return (\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 PropTypes from 'prop-types';\nimport cloneDeep from 'lodash/cloneDeep';\nimport { Container, Input, InputGroup, InputGroupAddon, Button } from '@sm/wds-react';\nimport { IconX, IconArrowDown, IconArrowUp, IconPlusCircle } from '@sm/wds-icons';\nimport { SINGLE_CHOICE } from '../../pages/NewSurvey/questionTypes';\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 return (\n \n \n \n handleAnswerChange(index, event)}\n disabled={readOnlySurvey}\n />\n \n {surveyType === 'quiz' && (\n handleScoreChange(index, event)}\n disabled={readOnlySurvey}\n />\n )}\n
    \n {index !== 0 && (\n moveAnswer(index)}\n tabIndex=\"-1\"\n >\n \n \n \n \n )}\n {index !== question.answers.length - 1 && (\n moveAnswer(index, true)}\n tabIndex=\"-1\"\n >\n \n \n \n \n )}\n {question.answers.length > 2 && (\n deleteAnswer(index)}\n tabIndex=\"-1\"\n >\n \n \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 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","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 { mapQuestionToAPI } from './questionTransformer/questionToApi';\n\nconst NewSurvey = ({ match }) => {\n const { createWizardConfig, setCreateWizardConfig } = useContext(CreateWizardConfigContext);\n const {\n primaryCtaCopy,\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 const pollDefaultConfig = {\n survey,\n maxQuestions: 1,\n maxQuestionsBasic: 10,\n types: ['poll'],\n selectedType: surveyTypeSelected,\n showBadge: false,\n sendPayloadOnAllUpdates: false,\n hideCreateSurveyButton: false,\n hideCancelSurveyButton: true,\n style,\n };\n const surveyDefaultConfig = {\n survey,\n maxQuestions: 20,\n maxQuestionsBasic: 10,\n types: ['Survey', 'Quiz'],\n selectedType: surveyTypeSelected,\n showBadge: false,\n sendPayloadOnAllUpdates: false,\n hideCreateSurveyButton: false,\n hideCancelSurveyButton: true,\n style,\n };\n const defaultInputConfig = surveyTypeSelected === 'poll' ? pollDefaultConfig : surveyDefaultConfig;\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 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('--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 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 = () => {\n const questionsToSend = [];\n let dataToSend = {};\n questions.forEach((question, position) => {\n const mappedQuestion = mapQuestionToAPI(question, position + 1, surveyType === 'quiz');\n\n questionsToSend.push(mappedQuestion);\n });\n dataToSend = {\n action: 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 = () => {\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,\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 = () => {\n const errors = hasErrors();\n if (errors) {\n showErrors(errors);\n return;\n }\n setShowToast(false);\n saveSurvey();\n };\n\n const handleSubmit = () => {\n if (questions.length === 0) {\n return;\n }\n\n localStorage.removeItem('createExperiencePayload');\n\n if (edit && surveyDetails.id) {\n handleUpdate();\n } else {\n handleSave();\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 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 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 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 handleSubmit()}\n disabled={\n (questions && questions.length === 0) ||\n (MAX_QUESTIONS && questions && questions.length > MAX_QUESTIONS)\n }\n >\n {primaryCtaCopy}\n {showPrimaryCtaIcon ? : ''}\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, { 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';\n\nconst Home = () => {\n const { createWizardConfig, setCreateWizardConfig } = useContext(CreateWizardConfigContext);\n const [shouldRedirect, setShouldRedirect] = useState(createWizardConfig.redirectToEditorPage);\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 [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 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
    \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\n const { badgeColor, secondaryButtonTextColor, badgeTextTransform, containerBackgroundColor } = style;\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 {template.type}\n \n \n {template.title}\n \n \n );\n })}\n \n \n \n \n \n );\n};\n\nexport default Templates;\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';\n\nconst 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\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({\n redirectToEditorPage: false,\n redirectTo: 'poll',\n readOnlySurvey: false,\n showCreatePollCard: true,\n showCreateSurveyCard: false,\n showStartFromTemplateCard: false,\n primaryCtaCopy: 'Create poll',\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\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","import React from 'react';\nimport { Route, Switch } from 'react-router-dom';\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';\n\nconst App = () => {\n return (\n \n \n \n \n \n \n \n );\n};\n\nexport default App;\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';\n\nimport './entry.scss';\n\nimport { getClientEnvironmentDetails } from '@sm/utils';\nimport {\n ErrorBoundary,\n FiveHundredErrorPage,\n HelmetProvider,\n StaticProvider,\n initializeClientErrorHandler,\n GlobalThemeProvider,\n} from '@sm/webassets';\nimport getGraphQLFragmentMatcher from './helpers/fragmentMatcher';\n\nimport ContentWebApp from './App';\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\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\":\"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\":645}};\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 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\":\"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\":649}};\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 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\":\"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\",\"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\":\"encryptedCtaParam\"},\"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\":\"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\":844}};\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 package {\\n package\\n encryptedCtaParam\\n details {\\n label\\n displayName\\n isOverageable\\n isPaid\\n tier\\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","MainHeading","headingText","align","defaultProps","ROUTE_CONFIG","teamsPricingPage","path","title","queryString","ut_source","packageType","individualPricingPage","audienceFooter","ROUTE_KEYS","NavItem","route","selected","classnames","url","createURL","role","tabIndex","PricingNavigation","routeName","key","Ribbon","children","packageName","classList","PACKAGES","PACKAGE_IDS","MONTHLY_PACKAGES","INDIVIDUAL_PACKAGES","TEAMS_PACKAGES","GUAC_COUNTRY_CODES","TEAM_COMPARISON_PACKAGES","HIGHLIGHTED_PACKAGES","SKIP_HREF_LANG_TAGS","freeze","PackageCta","packageClassName","small","user","useContext","StaticContext","packageId","ctaUrl","isAuthenticated","ctaText","stretched","size","PackagePropTypes","details","PropTypes","displayName","label","isRequired","skuCost","skuType","cost","package","FeatureTooltipPropTypes","FeaturePropTypes","summaryLine","tooltip","hidden","PackageSummaryPropTypes","features","headerRenderer","footerRenderer","PackageComparisonPropTypes","byline","ctaRenderer","SummaryPackageConfigPropTypes","summary","comparison","ComparisonTableFeaturePropTypes","ComparisonTableCategoryFeaturesPropTypes","ComparisonTableCategoryPropTypes","PackageHeader","packageLabel","priceValue","priceUnit","ribbonText","CtaOverride","EnterprisePackageCta","EnterprisePackageHeader","toUpperCase","packageLabelToClassName","packageObj","trim","replace","toLowerCase","formatMonthlyCostInLocaleCurrency","monthlyCost","monthlyCostInDollars","parseInt","FormattedNumber","value","formatStyle","currency","currencyDisplay","minimumFractionDigits","formatCostInLocaleCurrency","getCoreCostFromSkus","skuCosts","find","sku","featureIsNonGuacOnly","featureIsGuacOnly","countryCode","environment","includes","PricingExperienceContext","createContext","PricingExperienceProvider","Provider","TeamPackageHeader","ribbonTextOverride","coreSeatCost","formattedPrice","packageData","comparisonPackageName","savingsPercentage","calculateSavingsPercent","skuCostOriginal","skuCostDiscounted","retVal","costDifference","Math","round","AnnualPackageHeader","formattedMonthlyPrice","formattedAnnualPrice","indexOf","MonthlyPackageHeader","create_survey_limit","analyze_response_limit","analyze_response_limit_monthly_plans","crosstab","collector_create_limit","mobile_apps_ios_android","user_accounts","add_users","advanced_permissions","build_surveys_together","analyze_results_together","custom_templates","team_themes","shared_group_library","international_email_support","team_ownership","add_additional_users","consolidated_billing","essential_question_types","all_languages_supported","labeling_titles_numbering","create_templates_enabled","question_library","create_skip_logic_enabled","matrix_of_dropdown_menus","file_upload","advanced_logic","create_randomization_enabled","a_b_testing","create_quotas_enabled","multiple_block_rotation_enabled","create_logo_enabled","create_custom_theme_enabled","collector_friendly_url_enabled","custom_html_email_invitations","create_piping_enabled","carry_forward","collector_completion_url_enabled","create_custom_variables_enabled","collector_white_label_enabled","analyze_shared_results_enabled","analyze_trends_enabled","filter_crosstab","word_cloud","word_cloud_combine_hide","text_analysis","sentiment_analysis","dashboard","dashboard_password_protection","statistical_significance","benchmarks","validate_answer","randomize_answer_choices","view_respondent_ip_address","record_respondent_email_address","confirmation_email_to_respondents","complimentary_audience_credits","hipaa_enabled","send_surveys","mobile_sdk","mobile_sdk_data_pull","extract_data","api_access","multilingual","quizzes_pro","recurring_surveys","industry_benchmarks","custom_question_bank","payment_question_type","inactivity_timer","passcode_lock","premium_themes","custom_subdomain","team_customer_success_manager","enterprise_admin_dashboard","enterprise_activity_tracking","enterprise_account_control","enterprise_sso","enterprise_global_settings","enterprise_custom_terms_of_service","enterprise_integrations","enterprise_hipaa_compliance","summary_accept_payments","summary_24_7_customer_support_via_email","summary_24_7_customer_support_via_email_intl","summary_team_accounts_and_tools","summary_team_collaboration_available","summary_advanced_data_exports","summary_sentiment_analysis","summary_survey_logic","summary_survey_analysis","summary_advanced_survey_analysis_asia","summary_audience_panel_credits","summary_team_share_surveys","summary_team_comments","summary_team_analyze_filter_export","summary_team_responses_nodification","summary_team_shared_library","summary_team_add_reassign_accounts","summary_team_collaboration_app_integrations","summary_team_surveys_questions_responses","summary_team_expedited_email_support","summary_team_quizzes","summary_team_filters_and_crosstabs","summary_team_custom_logo","summary_team_skip_logic","summary_team_data_exports","summary_team_advanced_analyze","summary_team_industry_benchmarks","summary_team_advanced_survey_logic","summary_team_block_randomization","summary_team_white_label","summary_team_multilingual","summary_team_completion_redirect","summary_team_remove_surveymonkey_footer","summary_team_api_access","summary_team_role_based_collaboration","summary_team_flexible_plan_types","summary_team_hipaa_compliant","summary_team_custom_branding","summary_team_3rd_part_integrations","summary_team_unlimited_api_access","summary_team_admin_dashboard","summary_team_account_control_migration","summary_team_enhanced_governance_security","summary_team_sso","summary_team_logs_audit","summary_team_customer_success_manager","summary_team_priority_247_email_phone_support","summary_number_of_surveys","summary_questions_per_survey","summary_number_of_responses","summary_number_of_responses_monthly_plans","summary_customer_support","summary_customer_support_monthly_plans","summary_english_customer_support","summary_international_customer_support","summary_user_accounts","summary_quizzes","summary_filters_and_crosstabs","summary_trended_data","summary_customized_surveys","summary_data_exports","summary_customized_survey_experience","summary_a_b_testing","summary_ab_testing","summary_block_randomization","summary_quotas","summary_custom_variables","summary_file_upload","summary_statistical_significance","summary_complimentary_audience_credits","summary_industry_benchmarks","summary_advanced_logic","summary_collector_white_label_enabled","summary_multilingual","summary_text_analysis","summary_advanced_survey_analysis","summary_randomize_question_page_blocks","summary_piping","summary_redirect","summary_phone_support","summary_carry_forward","summary_matrix_of_dropdown_menus","summary_advanced_branching_and_piping","summary_advanced_data_exports_spss","summary_abbr_customized_surveys","summary_abbr_data_exports","summary_abbr_unlimited_data_filters","summary_abbr_compare_crosstabs","summary_abbr_skip_logic","summary_abbr_text_analysis","summary_abbr_statistical_significance","summary_abbr_ab_test","summary_abbr_page_question_randomization","summary_abbr_carry_forward","summary_abbr_file_upload","summary_abbr_advanced_branching","summary_abbr_advanced_piping","summary_abbr_custom_redirects","summary_abbr_remove_footer","summary_abbr_research_url","summary_custom_survey_link","FEATURES","TEAM_ADVTANTAGE","unlimited_surveys","unlimited_questions","unlimited_responses","unlimited_collectors","email_support","survey_templates","quizzes","question_page_skip_logic","question_page_randomization","a_b_test_question","custom_variables","accept_payments","custom_logo_colors_url","custom_email_invites","require_answer_completion","survey_end_date","view_ip_addresses","confirmation_email","data_trends","filter_and_compare","custom_reports","data_exports","word_clouds","results_dashboards","build_together","survey_sharing_with_editing","fine_permission_controls","team_analyze","shared_templates","add_reassign_accounts","free_integrations","password_protected","iso_27001","accessible","TEAM_PREMIER","phone_support","adv_branching_and_piping","block_randomization","multilingual_surveys","remove_footer","change_survey_url","website_redirect","crosstabs","direct_api","ENTERPRISE","customer_success_manager","custom_email","custom_terms","sms_offline_collection","smart_notifications","hippa_compliance","admin_dashboard","roles_workgroups","global_settings","api_limits","bi_integrations","activity_tracking","single_signon","account_control","PACKAGE_FEATURES","highlighted","SummaryComparisonPackageFeatures","Package","packageRenderers","SUMMARY_PACKAGE_RENDERERS","PackageFooter","visibleFeatures","filter","feature","included","EnabledCheckMark","viewBox","xmlns","fill","fillRule","d","stroke","strokeLinecap","strokeLinejoin","strokeWidth","DisabledCheckMark","cx","cy","r","getUTSource","currentPath","AudienceFooter","useLocation","pathname","Container","px","pt","pz","mt","mb","flex","flexWrap","audienceFeatures","m","p","mr","FaqQuestion","FaqAnswer","SummaryFooter","packages","Link","IconArrowRight","Col","sm","md","term","ComparisonTable","packageCount","ComparisonTableHeader","ComparisonTableHeaderCell","a11yId","scope","ComparisonTableCategory","opened","useState","open","setOpen","a11yButtonText","ChevronIcon","IconChevronDown","IconChevronUp","colSpan","length","onClick","prevState","type","ComparisonTableFeatureRow","a11yHeaders","headers","join","Tooltip","text","placement","IconInfo","ComparisonTableFeatureCell","checked","cell","IconCheck","ComparisonTableFooter","ComparisonTableFooterCell","SummaryComparisonTableHeader","pricingPackage","packageTableDetails","SummaryComparisonTableFooter","CtaRenderer","createPackageA11yId","SummaryComparisonTable","packagesConfig","comparisonTableDef","category","index","categoryA11yId","createCategoryA11yId","featureA11yId","createFeatureA11yId","usePricingExperience","encryptParams","experienceName","languageCode","priceTestCookies","setPriceTestCookies","useQuery","getPricingPageExperience","variables","onCompleted","pricingPageExperience","loading","error","isBrowser","getClientEnvironmentDetails","Array","isArray","cookies","domain","window","location","host","forEach","cookieObj","document","cookie","age","savePriceTestExperimentCookies","HrefLangTags","canonicalPath","subdomain","tld","LINKS","lang","hrefLangTags","rel","hrefLang","PricingSummaryPage","packageSet","packageTypes","displayedPackages","createPackagesList","sticky","RequiredHeadTags","Grid","Row","PricingSummary","match","params","PricingRouter","exact","SEARCHBOX_PLACEHOLDER","mapItemsToAutocomplete","publishedApplicationListingsByKeyword","items","logo","links","detail","link","SearchBox","Component","state","keyword","handleTermChanged","this","setState","handleItemSelected","assign","handleSubmit","props","history","push","render","context","query","publishedApplicationListingsByKeywordQuery","skip","language","languageId","placeholder","onTextChanged","onItemSelected","onSubmit","isLoading","hasError","renderItem","alt","src","AppPlaceHolderImg","withRouter","contextType","JUMBO_TAGLINE","JUMBO_SUBTITLE","JumboHeader","AppLink","app","isIntegration","to","AppsGrid","apps","noBleeds","lg","xs","categories","userAgent","isDesktop","defaultMatches","height","width","x","y","rx","ry","FEATURED_APPS_TITLE","RECENTLY_ADDED_APPS_TITLE","MOST_RECENT_APPS_TITLE","GRID_APPS_SEE_MORE","AppsGridContainer","gridOption","search","option","moreLink","page","pageSize","retrieveValuesForGridOption","publishedApplicationListingsQuery","publishedApplicationListings","LinkWithSearch","args","staticContext","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","target","Menu","autoClose","noRules","dense","menuTrigger","IconCaretDown","MenuItem","isNavigable","navigationTarget","urlWithSearch","AppDirNavHeaderMobile","authorizedMenuItems","IconLogoGoldie","IconMenu","MenuGroup","NAV_EXPLORE","NAV_MANAGE","NAV_DEVELOP","NAV_PARTNER","subdomainUri","navigationItems","requiresAuthentication","AppDirNavHeader","userDropDownQuery","hasMultipleLinkedIdentities","linkedIdentities","totalCount","item","SidebarSkeleton","NAVBAR_APPS_DIRECTORY","NAVBAR_CATEGORIES","NAVBAR_MY_APPS","NAVBAR_FEATURED","NAVBAR_MOST_POPULAR","NAVBAR_RECENTLY_ADDED","SidebarLink","dataTestId","NavBar","publishedApplicationListingCategoriesQuery","Accordion","AccordionItem","List","transparent","ListItem","publishedApplicationListingCategories","cat","TopBarSkeleton","DefaultLoader","ProgressCircle","continuous","MODULE_SKELETONS","top_bar","UCSModule","moduleHTML","renderLoadingState","customLoader","moduleName","ModuleLoader","componentDidMount","_isMounted","getModuleHTML","componentWillUnmount","getPreloadedModule","moduleContainer","getElementById","remove","textContent","reFetchFailed","reFetchModule","clientErrorHandler","moduleContent","fetch","credentials","json","html","classNames","dangerouslySetInnerHTML","__html","sanitizeString","BoundUCSModule","getCanonicalUrlOrNoIndex","noIndex","canonicalUrl","substr","AppDirectoryBasePage","header","navbar","pageMetricsAttributes","fluid","Home","AppListingList","tagline","Categories","categoryKey","publishedApplicationListingCategory","ListingsBasePage","pageTitle","PAGE_TITLE","Featured","MostPopular","RecentlyAdded","SEARCH_RESULTS","RESULTS_NOT_FOUND","FILL_IN_KEYWORD","Search","URLSearchParams","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","disabled","NO_RESULTS_FOUND","LAUNCH_APP_LINK","APP_DETAILS_LINK","REMOVE_APP_LINK","renderCategories","c","MyApps","installedApplications","refetch","launch","IconDesktop","IconBadge","IconTrash","media","current","setCurrent","currentMedia","allowFullScreen","altText","mediaIdx","AppDetailsItem","icon","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","MetricsTracker","USER_EVENTS","appName","installed","linkType","mdOrder","noRule","IconTag","websiteUrl","publisher","supportEmail","IconEmail","supportPhoneNumber","IconLogoWhatsApp","supportUrl","IconGlobe","IconLock","privacyPolicyUrl","IconNews","termsOfUseUrl","blogUrl","IconMegaphone","concat","youtubeUrl","screenshots","s","featureList","Tabs","onChange","Tab","fullDescription","requirements","substitute","accountType","IconUserFilled","pricingUrl","scopes","IconGear","AppsDirectoryRouter","useEffect","unlisten","listen","scrollTo","Details","DetailsPage","MyAppsPage","RecentlyAddedPage","MostPopularPage","FeaturedPage","SearchPage","CategoriesPage","HomePage","FourOhFourError","PRODUCT_CATEGORY","AUDIENCE","EXPERT_SOLUTIONS","FILTER_KEY","CATEGORY","NAV_VARIANT","LIGHT","DARK","BROWSER","IE","UNKNOWN","MSInputMethodContext","documentMode","handler","onKeyPress","createElement","useLayoutEffect","config","queryParams","anchor","paramKey","buildEventData","trackEvent","LOGGER_NAME","SOLUTIONS","NAV","BI_MARKETPLACE_MODAL","ActionFlowLogger","constructor","registerActionKey","handlerName","logger","createLogger","removeSpaces","str","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","useRef","clientX","clientY","isCursorOverElement","element","rect","getBoundingClientRect","isInBound","top","bottom","left","right","getLinkTestId","ExpandableMenu","isOpen","onBlur","boundingElementId","cursor","useCursor","getText","textClasses","getClickHandlers","interactive","TEST_ID","NavForDesktop","openMenu","setOpenMenu","scrolledToTop","setScrolledToTop","useIsomorphicLayoutEffect","addScrollListener","isAtTop","classes","mrxLogoLight","mrxLogoDark","buttonColor","buttonVariant","buttonClass","textVariant","noGutters","xl","MENU_CONFIG","undefined","NavForTablet","setIsOpen","useLight","chevronColor","scrollPosRef","isScrolledToTop","NavForIE","removeListener","body","add","removeScrollListener","MRXNav","mobileOpen","setMobileOpen","_setOpenMenu","menu","useBrowser","MRXPage","previewImageHref","canonicalLink","requestUrl","mobileNavOpen","_setMobileNavOpen","scrollPosition","mPreviewImageHref","startsWith","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","style","timeout","getOffsetTop","offsetParent","offsetTop","scrollToElement","clearTimeout","setTimeout","offset","focus","Anchor","hash","hashId","slice","ProductTile","ctaButton","outerClasses","padding","ProductCategory","first","product","description1","description2","learnMore","getBodySection","isMobile","HereToHelp","expertsImage","BREAK_POINT","MD","LG","XL","SCREEN","MOBILE","TABLET","MOBILE_TABLET","SMALL_DESKTOP","LARGE_DESKTOP","DESKTOP","CustomScreen","screen","matchMedia","matches","setMatches","doesMatch","propTypes","async","locale","useBig","getImage","imgName","_getImage","default","UsedInOrgs","logos","setLogos","screenSize","setScreenSize","getLocalizedLogos","FILTERS","filterValues","reduce","prod","productCategory","filterParams","filterKey","SynchronousQueryStream","apolloClient","actions","client","resolveToContext","ctx","resolveQueryResultToContext","peek","catch","startIdx","catchHandlers","range","collect","result","i","err","handled","j","catchHandler","audiencePanel","audiencePanelDescription","expertSolutionsDescription","getStarted","contactUs","tryItNow","surveyMonkeyAudience","surveyMonkeyAudienceDescription","biLogger","getAudienceCategory","ctaCopy","audienceImage","click","MRX","productCategories","searchParams","validFilterKeys","values","split","getFilterParamsFromUrlLocation","mProductCategories","filterProducts","orderedCategories","sort","keyA","keyB","priorityA","priorityB","pcKey","FETCH_STATE","LOADING","ERROR","IDLE","Wrapper","useIntercom","ctmProducts","fetchState","setFetchState","inner","pageLoad","modulesQuery","userQuery","_","modules","hasPurchasedModule","preferences","subtype","marketingPage","mapModules","withApollo","CreateWizardConfigContext","React","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","MultipleChoice","question","surveyType","updateQuestion","maxAnsChoices","readOnlySurvey","moveAnswer","down","answers","currentQuestion","cloneDeep","answer","splice","InputGroup","Input","event","handleAnswerChange","InputGroupAddon","score","val","handleScoreChange","IconArrowUp","IconArrowDown","deleteAnswer","IconX","addAnswer","IconPlusCircle","questionType","min","max","allowComments","required","isNew","isUpdated","defaultPollQuestionConfig","forTypes","maxOptions","customConfigs","hideRequired","defaultSurveyQuestionConfig","getQuestionConfigs","configs","questionArray","disabledQuestionTypes","questionConfigOverride","getDefaultQuestionConfig","every","enabledQuestionTypes","sendMessage","msg","parent","postMessage","ACTION_TYPES","READ_ONLY","NO_CHANGE","UPDATE","SAVE","CANCEL","BACK","isQuestionInvalid","errors","message","validateQuestionType","validateMultipleChoiceQuestionType","minmaxid","validateSliderQuestionType","Date","getUTCMilliseconds","toString","mapAnswersFromAPI","apiQuestion","family","choices","choice","quiz_options","mapQuestionTypeFromAPI","displayOptions","singleChoiceSubType","display_type","display_subtype","mapQuestionToAPI","position","isQuiz","originalQuestionFromApi","familySubType","mapQuestionTypeToAPI","headings","heading","layout","updatedQuestion","amount","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","NewSurvey","primaryCtaCopy","survey","redirectToEditorPage","redirectTo","showPrimaryCtaIcon","parentDomain","questionConfig","surveyTypeSelected","defaultInputConfig","maxQuestions","maxQuestionsBasic","selectedType","showBadge","sendPayloadOnAllUpdates","hideCreateSurveyButton","hideCancelSurveyButton","MAX_QUESTIONS","inputData","surveyDetails","setSurveyDetails","createNewQuestion","questions","setQuestions","surveyTitle","setSurveyTitle","setSurveyType","shouldRedirectBackToHome","setShouldRedirectBackToHome","redirectUrl","setRedirectUrl","isNewSurvey","edit","questionsFromApiMap","setQuestionsFromApiMap","questionConfigs","showUnsupportedAlert","setUnsupportedAlert","loadMappedQuestionsList","useCallback","surveyData","questionsList","questionsFromAPIList","pages","q","question_id","initialPosition","mapQuestionFromApi","unsupported","newMap","iconColor","buttonTextColor","secondaryButtonColor","secondaryButtonTextColor","badgeColor","badgeTextColor","containerBackgroundColor","inputBackgroundColor","inputBorderColor","inputBorderHoverColor","inputBorderFocusColor","inputLabelBackgroundColor","root","documentElement","setProperty","showToast","setShowToast","errorText","setErrorText","questionsToDelete","setQuestionsToDelete","hasErrors","questionErrors","saveSurvey","questionsToSend","dataToSend","mappedQuestion","action","changeIds","JSON","stringify","errorClass","_question","questionsTemp","foundIndex","findIndex","errOutline","querySelector","moveQuestion","from","showErrors","errObj","handleUpdate","questionFromApi","questionToDelete","determineActionType","localStorage","removeItem","handleSave","handleCancel","ml","IconArrowLeft","pl","Alert","showIcon","my","Badge","Select","attributes","supportedSurveyType","Option","uuid","questionID","IconMore","questionsToDeleteList","filteredQuestions","deleteQuestion","tmpQuestion","handleQuestionTypeChange","getQuestionTypes","handleQuestionChange","IconStarFilled","handleMinChange","handleMaxChange","Switch","handleRequiredChange","flexJustify","questionTitles","getElementsByClassName","addQuestion","Toast","dismissible","ToastTitle","IconPoll","version","x1","y1","x2","y2","IconSurvey","points","IconTemplate","shouldRedirect","setShouldRedirect","showCreatePollCard","setShowCreatePollCard","showCreateSurveyCard","setShowCreateSurveyCard","showStartFromTemplateCard","setShowStartFromTemplateCard","customStylings","setCustomStylings","onMessageReceivedFromIframe","source","parse","pb","templatesList","badgeTextTransform","handleBackToHome","template","handleTemplateSelect","DEFAULT_STYLES","CreateWizardRouter","updateCreateWizardConfig","newConfigs","setItem","payload","getItem","NewSurveyPage","TemplatesPage","App","Pricing","AppsDirectory","MRXSolutions","CreateWizard","allClientStaticData","SM","__LOAD_PAYLOAD_CACHE__","pageRequestId","appVersion","graphQLUri","gql","gqlCache","bugSnagClientConfig","initializeClientErrorHandler","localeMessages","createBrowserApolloClient","uri","cacheHydration","fragmentMatcherFn","getGraphQLFragmentMatcher","IntrospectionFragmentMatcher","introspectionQueryResultData","linkOptions","batchInterval","metadata","availableLoggedOutPaths","rendered","messages","theme","WrenchTheme","FallbackComponent","FiveHundredErrorPage","localeCode","slLanguageLocale","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":""}