{"version":3,"file":"pesquisa.js","mappings":"mBAMe,SAASA,EACtBC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAGA,IAoBIC,EApBAC,EACuB,mBAAlBT,EAA+BA,EAAcS,QAAUT,EAuDhE,GApDIC,IACFQ,EAAQR,OAASA,EACjBQ,EAAQP,gBAAkBA,EAC1BO,EAAQC,WAAY,GAIlBP,IACFM,EAAQE,YAAa,GAInBN,IACFI,EAAQG,SAAW,UAAYP,GAI7BC,GAEFE,EAAO,SAAUK,IAEfA,EACEA,GACCC,KAAKC,QAAUD,KAAKC,OAAOC,YAC3BF,KAAKG,QAAUH,KAAKG,OAAOF,QAAUD,KAAKG,OAAOF,OAAOC,aAEZ,oBAAxBE,sBACrBL,EAAUK,qBAGRd,GACFA,EAAae,KAAKL,KAAMD,GAGtBA,GAAWA,EAAQO,uBACrBP,EAAQO,sBAAsBC,IAAIf,EAEtC,EAGAG,EAAQa,aAAed,GACdJ,IACTI,EAAOD,EACH,WACEH,EAAae,KACXL,MACCL,EAAQE,WAAaG,KAAKG,OAASH,MAAMS,MAAMC,SAASC,WAE7D,EACArB,GAGFI,EACF,GAAIC,EAAQE,WAAY,CAGtBF,EAAQiB,cAAgBlB,EAExB,IAAImB,EAAiBlB,EAAQR,OAC7BQ,EAAQR,OAAS,SAAkC2B,EAAGf,GAEpD,OADAL,EAAKW,KAAKN,GACHc,EAAeC,EAAGf,EAC3B,CACF,KAAO,CAEL,IAAIgB,EAAWpB,EAAQqB,aACvBrB,EAAQqB,aAAeD,EAAW,GAAGE,OAAOF,EAAUrB,GAAQ,CAACA,EACjE,CAGF,MAAO,CACLwB,QAAShC,EACTS,QAASA,EAEb,CC7EA,QAXgB,ECUhB,CACIwB,MAAM,CACFC,KAAM,CACFC,KAAMC,OACNC,QAAS,WAEbC,WAAY,CACRH,KAAKI,QACLF,SAAS,GAEbG,uBAAwB,CACpBL,KAAKI,QACLF,SAAS,IAGjBI,KAAI,KACO,CACP,GAEJC,QAAS,CACLC,OAAQ,WACJ7B,KAAKwB,YAAcxB,KAAKwB,WACxBxB,KAAK8B,MAAM,UAAW,CAACC,OAAO/B,KAAKwB,YACvC,GAEJQ,SAAS,CACLC,UAAW,WACP,OAAOjC,KAAKwB,WAAW,GAAG,QAC9B,EACAU,UAAW,WACP,OAAOlC,KAAKwB,WAAW,SAAS,EACpC,GAEJW,UACInC,KAAKwB,WAAaxB,KAAK0B,sBAC3B,ICpDS,WAAkB,IAAIU,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,qCAAqCC,YAAY,CAAC,OAAS,YAAY,CAACH,EAAG,QAAQ,CAACD,EAAIK,GAAGL,EAAIM,GAAGN,EAAIhB,SAASgB,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,UAAUI,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIP,QAAQ,IAAI,CAACQ,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,QAAQ,CAACE,YAAY,MAAMM,MAAMT,EAAIH,UAAUa,MAAM,CAAC,mBAAmB,iCAAiC,CAACT,EAAG,IAAI,CAACE,YAAY,qBAAqBH,EAAIK,GAAG,KAAKJ,EAAG,QAAQ,CAACE,YAAY,MAAMM,MAAMT,EAAIF,UAAUY,MAAM,CAAC,mBAAmB,8BAA8B,CAACT,EAAG,IAAI,CAACE,YAAY,qBAChoB,GACsB,IFSpB,EACA,KACA,KACA,MAI8B,QGAhC,QAXgB,ECyBhB,CAEIQ,KAAM,aACN5B,MAAO,CACH6B,SAAU,CAAE3B,KAAM4B,OAAQC,UAAU,EAAM3B,QAAS,IACnD4B,QAAS,CAAE9B,KAAM4B,OAAQC,UAAU,EAAM3B,QAAS,GAClD6B,MAAO,CAAE/B,KAAM4B,OAAQ1B,QAAS,GAChC8B,YAAa,CAAEhC,KAAM4B,OAAQ1B,QAAS,GACtC+B,IAAK,CAAEjC,KAAMI,QAASF,SAAS,GAC/BgC,SAAU,CAAClC,KAAMC,OAAQC,QAAS,aAEtCI,KAAI,KACO,CACH6B,cAAc,EACdC,UAAU,EACVC,WAAW,EACXC,UAAU,IAGlB3B,SAAU,CACN4B,WAAY,WACR,OAAOC,KAAKC,KAAK9D,KAAKoD,MAAQpD,KAAKgD,SACvC,EACAe,MAAO,WACH/D,KAAKwD,cAAe,EACpBxD,KAAKyD,UAAW,EAChBzD,KAAK0D,WAAY,EACjB1D,KAAK2D,UAAW,EAEhB,IAAIK,EAAS,GAEb,GAAIhE,KAAK4D,WAAa,EAAG,CACjB,IAAIK,EAAQjE,KAAKmD,QAAUnD,KAAKqD,YAC5Ba,EAAMlE,KAAKmD,QAAUnD,KAAKqD,YAE9B,GAAIY,EAAQ,EAAG,CACX,IAAIE,EAAO,EAAIF,EACXE,EAAO,IACPD,GAAOC,EACPF,GAASE,EAEjB,CACA,GAAID,EAAMlE,KAAK4D,WAAY,CACvB,IAAIO,EAAOD,EAAMlE,KAAK4D,WAClBO,EAAO,IACPF,GAASE,EACTD,GAAOC,EAEf,CAEIF,EAAQ,IAAGA,EAAQ,GACnBC,EAAMlE,KAAK4D,aAAYM,EAAMlE,KAAK4D,YAEtC,IAAK,IAAIQ,EAAIH,EAAOG,GAAKF,EAAKE,IAC1BJ,EAAOK,KAAKrE,KAAKsE,eAAeF,IAGhCpE,KAAKmD,QAAU,IACfnD,KAAKwD,cAAe,GAEpBxD,KAAKmD,QAAU,IACfnD,KAAK0D,WAAY,GAEjB1D,KAAKmD,QAAUnD,KAAK4D,aACpB5D,KAAKyD,UAAW,GAEhBzD,KAAKmD,QAAUnD,KAAK4D,aACpB5D,KAAK2D,UAAW,EAE5B,CAIA,OAFA3D,KAAK8B,MAAM,SAAU,CAAEqB,QAASnD,KAAKmD,QAASS,WAAY5D,KAAK4D,WAAYZ,SAAUhD,KAAKgD,WAEnFgB,CACX,GAEJpC,QAAS,CACL2C,WAAWC,GACHA,GAAQxE,KAAKmD,UACjBnD,KAAKmD,QAAUqB,EACfxE,KAAK8B,MAAM,eAAgB,CAAEqB,SAAUqB,EAAMxB,UAAWhD,KAAKgD,WAC7DhD,KAAKS,MAAMqB,MAAM,eAAgB,CAAEqB,SAAUqB,EAAMxB,UAAWhD,KAAKgD,WACvE,EACAsB,eAAgB,SAAUG,EAAKC,GAC3B,IAAIC,EAAI,CAAEC,IAAKH,EAAKI,MAAOH,EAAOI,QAAUL,IAAQzE,KAAKmD,SAKzD,YAJgB4B,IAAZJ,EAAEE,OAAmC,OAAZF,EAAEE,QAC3BF,EAAEE,MAAQF,EAAEC,KAEZH,IAAQzE,KAAKmD,UAASwB,EAAE9B,MAAQ,UAC7B8B,CACX,EACAK,QAAQ,SAAUR,GACd,IAAIS,EAAS,IAAIC,gBAAgBC,OAAOC,SAASC,QAGjD,OAFAJ,EAAOK,IAAI,IAAKd,GACHW,OAAOC,SAASG,SAAW,KAAOJ,OAAOC,SAASI,KAAOL,OAAOC,SAASK,SAAW,IAAIR,EAAOS,YAEhH,KChIK,WAAkB,IAAItD,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,kBAAkBO,MAAM,CAAC,aAAa,oBAAoB,CAACT,EAAG,KAAK,CAACE,YAAY,qCAAqC,CAACF,EAAG,KAAK,CAACE,YAAY,iBAAiBM,MAAM,CAAC8C,UAAW3F,KAAK0D,YAAY,CAACrB,EAAG,IAAI,CAACE,YAAY,YAAYO,MAAM,CAAC,SAAW,KAAK,KAAOV,EAAI4C,QAAQ,GAAG,aAAa,mBAAmBrC,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOgD,iBAAwBxD,EAAImC,WAAW,EAAE,IAAI,CAAClC,EAAG,IAAI,CAACE,YAAY,6BAA6BF,EAAG,OAAO,CAACD,EAAIK,GAAG,kBAAkBL,EAAIK,GAAG,KAAKJ,EAAG,KAAK,CAACE,YAAY,iBAAiBM,MAAM,CAAC8C,UAAW3F,KAAKwD,eAAe,CAACnB,EAAG,IAAI,CAACE,YAAY,YAAYO,MAAM,CAAC,SAAW,KAAK,KAAOV,EAAI4C,QAAQ5C,EAAIe,QAAQ,GAAG,aAAa,mBAAmBR,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOgD,iBAAwBxD,EAAImC,WAAWnC,EAAIe,QAAQ,EAAE,IAAI,CAACd,EAAG,IAAI,CAACE,YAAY,sBAAsBF,EAAG,OAAO,CAACD,EAAIK,GAAG,kBAAkBL,EAAIK,GAAG,KAAKL,EAAIyD,GAAIzD,EAAS,OAAE,SAASgC,GAAG,OAAO/B,EAAG,KAAK,CAACyD,IAAI1B,EAAE7B,YAAY,YAAYM,MAAMuB,EAAEvB,MAAMC,MAAM,CAAC,eAAe,QAAQH,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOgD,iBAAwBxD,EAAImC,WAAWH,EAAEQ,IAAI,IAAI,CAACvC,EAAG,IAAI,CAACE,YAAY,YAAYO,MAAM,CAAC,KAAOV,EAAI4C,QAAQZ,EAAEQ,OAAO,CAACxC,EAAIK,GAAGL,EAAIM,GAAG0B,EAAES,WAAW,IAAGzC,EAAIK,GAAG,KAAKJ,EAAG,KAAK,CAACE,YAAY,iBAAiBM,MAAM,CAAC8C,UAAW3F,KAAKyD,WAAW,CAACpB,EAAG,IAAI,CAACE,YAAY,YAAYO,MAAM,CAAC,SAAW,KAAK,KAAOV,EAAI4C,QAAQ5C,EAAIe,QAAQ,GAAG,aAAa,mBAAmBR,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOgD,iBAAwBxD,EAAImC,WAAWnC,EAAIe,QAAQ,EAAE,IAAI,CAACd,EAAG,OAAO,CAACD,EAAIK,GAAG,cAAcJ,EAAG,IAAI,CAACE,YAAY,2BAA2BH,EAAIK,GAAG,KAAKJ,EAAG,KAAK,CAACE,YAAY,iBAAiBM,MAAM,CAAC8C,UAAW3F,KAAK2D,WAAW,CAACtB,EAAG,IAAI,CAACE,YAAY,YAAYO,MAAM,CAAC,SAAW,KAAK,KAAOV,EAAI4C,QAAQ5C,EAAIwB,YAAY,aAAa,iBAAiBjB,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOgD,iBAAwBxD,EAAImC,WAAWnC,EAAIwB,WAAW,IAAI,CAACvB,EAAG,OAAO,CAACD,EAAIK,GAAG,YAAYJ,EAAG,IAAI,CAACE,YAAY,mCAAmC,GAAGH,EAAIK,GAAG,KAAOL,EAAI2D,SAAwM3D,EAAI4D,KAAlM3D,EAAG,IAAI,CAACE,YAAY,UAAU,CAACH,EAAIK,GAAG,QAAQL,EAAIM,GAAG1C,KAAKmD,SAAS,OAAOf,EAAIM,GAAI1C,KAAe,YAAKoC,EAAI6D,YAAY,MAAM7D,EAAIM,GAAG1C,KAAKoD,OAAShB,EAAI6D,YAAY,IAAI7D,EAAIM,GAAG1C,KAAKuD,cACprE,GACsB,IFSpB,EACA,KACA,KACA,MAI8B,QGjBzB,IAAI2C,EAAkB,MAClBC,EAAmB,OACnBC,EAAkB,MAClBC,EAAqB,SAIrBC,EAAoB,CAAE,OAAU,mBAAoB,eAAgB,oBAEpEC,EAAsB,cACtBC,EAAoB,0BAGpBC,EAA8B,oBAE9BC,EAAmC,0BAGnCC,EAA2C,gCAQ3CC,EAA6B,qBC1BxC,SACIC,QAAQC,EAAOC,EAAaC,GACxBC,kBAAkBC,OAAO,CACrBJ,MAAOA,GAAS,UAChBC,YAAaA,GAAe,iCAC5B1F,KAAM,UACN8F,SAAU,YACVC,aAAcJ,GAAW,IACzBK,cAAc,GAEtB,EAEAC,QAAQR,EAAOC,GACXE,kBAAkBC,OAAO,CACrBJ,MAAOA,GAAS,UAChBC,YAAaA,GAAe,uCAC5B1F,KAAM,UACN8F,SAAU,YACVC,aAAc,IACdC,cAAc,GAEtB,EAEAE,MAAMT,EAAOC,GACTE,kBAAkBC,OAAO,CACrBJ,MAAOA,GAAS,WAChBC,YAAaA,GAAe,8CAC5B1F,KAAM,QACN8F,SAAU,YACVC,aAAc,IACdC,cAAc,GAEtB,GC7BJ,GACIG,UAAUT,GACNU,EAAcZ,QAAQ,aAAcE,EACxC,EAEAW,UAAUC,EAAMZ,GACZU,EAAcH,QAAQ,aAAcP,GACpCa,QAAQC,IAAIF,EAChB,EAEAG,QAAQH,EAAMZ,GACVU,EAAcF,MAAM,aAAcR,GAClCa,QAAQC,IAAIF,EAChB,EAEAI,iBACI5C,OAAOC,SAAS4C,QACpB,EAEAC,WAAYC,eAAgBC,EAAMC,GAC9B,IAAIC,EAAe,GAKnB,OAJID,IACAC,GAAgB,gBAAgBD,WAGvBE,MACL,aAAkCD,IAClC,CACIE,OAAQ,EACRC,QAAS,EACTC,KAAMC,KAAKC,UAAUR,KAE3BS,MACEjB,IAEI,IAAKA,EAAKkB,GAAI,CACV,GAAIlB,EAAKmB,QAAU,IAEf,OADA9I,KAAK8H,QAAQH,EAAM,kDACZ,KAEX,GAAkB,KAAfA,EAAKmB,OAEJ,OADA9I,KAAK+H,iBACE,IAEf,CACA,OAAOJ,EAAKoB,MAAM,IAGzBH,MACG,SAASjH,GACL,IAAIqH,SAASrH,IAAwB,MAAfA,EAAKsH,SAAmBD,SAASrH,EAAKsH,QAAS,CACjE,IAAIC,EAAUvH,EAAKsH,OAAOE,KAAIxE,GAAKyE,EAAE,IAAMzE,EAAE0E,OAAOC,UAAUC,SAAS,SAAS,GAAGC,UAAY,MAAQ7E,EAAE8E,QAAU,OACnHhC,EAAcH,QAAQ,aAAc,mDAAqD4B,EAC7F,CACA,OAAOvH,CACX,GAEZ,EACA+H,YAAaxB,eAAgByB,GACzB,aAAarB,MAAM,EAAuC,IAAMqB,EAAO,CACnEpB,OAAQ,IACTK,MAAKjB,GACCA,EAAKkB,GAOC,CAAEe,IAAI,GANTjC,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,wDACZ,MAEJ,CAAEiC,IAAI,EAAOC,WAAYlC,EAAKmB,SAMjD,EACAgB,cAAe5B,iBACX,aAAaI,MAAM,EAAuC,SAAU,CAChEC,OAAQ,IACTK,MAAKjB,GACCA,EAAKkB,GAOClB,EAAKvG,OANRuG,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,0DACZ,MAEJ,CAAEiC,IAAI,EAAOC,WAAYlC,EAAKmB,SAMjD,GC3EJ,QAXgB,ECahB,CAEInH,KAAI,KACO,CACHoI,kBAAkB,IAG1B5I,MAAO,CACH6I,MAAO,CACH3I,KAAM4B,OACN1B,QAAS,GAEb0I,WAAY,CACR5I,KAAMI,QACNF,SAAS,IAGjBY,UACInC,KAAK+J,iBAAsC,GAAnB/J,KAAKiK,UACjC,EACArI,QAAS,CACLsG,wBACI,IAAIvD,QAAU,cAA8B3E,KAAKgK,OACxC,MAALrF,IACIA,EAAEiF,IACF5J,KAAK+J,kBAAoB/J,KAAK+J,iBAE9B/J,KAAK8B,MAAM,qBAAsB,CAAEmI,WAAYjK,KAAKiK,WAAYD,MAAOhK,KAAKgK,SJzCrD,KI2CnBrF,EAAEkF,aACF7J,KAAK+J,kBAAmB,EAGpBX,EAAE,wBAAwBc,OAAS,EAEnCd,EAAE,wBAAwBe,QAItBf,EAAE,eAAec,OAAS,EAE1Bd,EAAE,eAAee,QAEjB,oBAMxB,KCrEK,WAAkB,IAAI/H,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACE,YAAY,eAAeM,MAAM,CAAEuH,OAAQhI,EAAI2H,kBAAmBjH,MAAM,CAAC,KAAO,SAAS,aAAa,WAAW,MAAQV,EAAI2H,iBAAmB,wBAA0B,2BAA2BpH,GAAG,CAAC,MAAQP,EAAIiI,kBAAkB,CAAChI,EAAG,IAAI,CAACE,YAAY,kBAC5U,GACsB,IFSpB,EACA,KACA,KACA,MAI8B,QGAhC,QAXgB,ECoBhB,CACIpB,MAAO,CACHmJ,QAAS,CACLjJ,KAAMC,OACNC,QAAS,qBAEbgJ,MAAO,CACHlJ,KAAMC,QAEVmI,QAAS,CACLpI,KAAMC,OACNC,QAAS,oDAEbiJ,OAAQ,CACJnJ,KAAMC,OACNC,QAAS,MAEbkJ,WAAY,CACRpJ,KAAMC,OACNC,QAAS,aAGjBK,QAAS,CACLsG,mBACIlI,KAAK8B,MAAM,QACX9B,KAAK8B,MAAM,QACf,EACAoG,uBACIlI,KAAK8B,MAAM,YACf,KCxDK,WAAkB,IAAIM,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,gCAAgCO,MAAM,CAAC,GAAKV,EAAIkI,QAAQ,SAAW,KAAK,KAAO,SAAS,cAAc,SAAS,CAACjI,EAAG,MAAM,CAACE,YAAY,qCAAqCO,MAAM,CAAC,KAAO,aAAa,CAACT,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAAEH,EAAS,MAAEC,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,KAAK,CAACE,YAAY,qBAAqB,CAACH,EAAIK,GAAGL,EAAIM,GAAGN,EAAImI,UAAUnI,EAAIK,GAAG,KAAKL,EAAIsI,GAAG,KAAKrI,EAAG,SAAS,CAACE,YAAY,QAAQO,MAAM,CAAC,KAAO,SAAS,eAAe,QAAQ,aAAa,UAAU,CAACT,EAAG,IAAI,CAACE,YAAY,mBAAmBH,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,IAAI,CAACQ,MAAM,CAAE,OAAQT,EAAImI,QAAQ,CAACnI,EAAIK,GAAGL,EAAIM,GAAGN,EAAIqH,YAAYrH,EAAIK,GAAG,KAAKJ,EAAG,IAAI,CAACE,YAAY,uBAAuBO,MAAM,CAAC,KAAO,IAAI,eAAe,SAASH,GAAG,CAAC,MAAQP,EAAIuI,iBAAiB,CAACvI,EAAIK,GAAGL,EAAIM,GAAGN,EAAIqI,eAAerI,EAAIK,GAAG,KAAKJ,EAAG,IAAI,CAACE,YAAY,mCAAmCO,MAAM,CAAC,KAAO,IAAI,eAAe,SAASH,GAAG,CAAC,MAAQP,EAAIwI,aAAa,CAACxI,EAAIK,GAAGL,EAAIM,GAAGN,EAAIoI,kBACjiC,GACsB,CAAC,WAAY,IAAanI,EAALrC,KAAYsC,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACE,YAAY,QAAQO,MAAM,CAAC,KAAO,SAAS,eAAe,QAAQ,aAAa,UAAU,CAACT,EAAG,IAAI,CAACE,YAAY,kBAClM,IFQE,EACA,KACA,KACA,MAI8B,QGAhC,QAXgB,ECIhB,CACIpB,MAAM,CACF2F,MAAO,CACHzF,KAAMC,OACNC,QAAQ,2BAEZ2H,QAAS,CACL7H,KAAMC,OACNC,QAAQ,2ECnBP,WAAkB,IAAIa,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,sCAAsCO,MAAM,CAAC,GAAK,eAAe,CAACT,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,KAAK,CAACE,YAAY,iBAAiB,CAACH,EAAIK,GAAGL,EAAIM,GAAGN,EAAI0E,UAAU1E,EAAIK,GAAG,KAAKJ,EAAG,IAAI,CAACwI,SAAS,CAAC,UAAYzI,EAAIM,GAAGN,EAAI8G,YAAY9G,EAAIK,GAAG,KAAKL,EAAI0I,GAAG,eAAe,IACtW,GACsB,IFSpB,EACA,KACA,KACA,MAI8B,QGAhC,QAXgB,ECahB,CACI3J,MAAO,CACH4J,eAAgB,CACZ1J,KAAMC,OACNC,QAAS,0BAEbyJ,0BAA2B,CACvB3J,KAAMC,OACNC,QAAS,0BAEb0J,YAAa,CACT5J,KAAMC,OACNC,QAAS,uDAEb2J,YAAa,CACT7J,KAAMC,OACNC,QAAS,eAGjBK,QAAS,CACLsG,4BACUlI,KAAK8B,MAAM,gBACjBqD,OAAOC,SAAWpF,KAAK+K,cAC3B,EACA7C,yBACIlI,KAAK8B,MAAM,mBACXqD,OAAOC,SAAWpF,KAAKgL,yBAC3B,KC/CK,WAAkB,IAAI5I,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,yBAAyBO,MAAM,CAAC,GAAKV,EAAI8I,YAAY,SAAW,KAAK,KAAO,SAAS,cAAc,SAAS,CAAC7I,EAAG,MAAM,CAACE,YAAY,qCAAqCO,MAAM,CAAC,KAAO,aAAa,CAACT,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACH,EAAIsI,GAAG,GAAGtI,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,IAAI,CAACE,YAAY,uBAAuBH,EAAIK,GAAG,KAAKJ,EAAG,IAAI,CAACD,EAAIK,GAAGL,EAAIM,GAAG1C,KAAKiL,gBAAgB7I,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,qCAAqCO,MAAM,CAAC,aAAa,SAASH,GAAG,CAAC,MAAQP,EAAI+I,gBAAgB,CAAC/I,EAAIK,GAAG,6BAA6BL,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,aAAaO,MAAM,CAAC,aAAa,iBAAiBH,GAAG,CAAC,MAAQP,EAAIgJ,mBAAmB,CAAChJ,EAAIK,GAAG,0BAC1wB,GACsB,CAAC,WAAY,IAAaJ,EAALrC,KAAYsC,MAAMD,GAAG,OAAOA,EAAG,SAAS,CAACE,YAAY,QAAQO,MAAM,CAAC,KAAO,SAAS,eAAe,QAAQ,aAAa,UAAU,CAACT,EAAG,IAAI,CAACE,YAAY,kBAClM,IFQE,EACA,KACA,KACA,MAI8B,QGhBhC,SAEIiF,UAAUT,GACNa,QAAQC,IAAId,EAChB,EAEAe,QAAQH,EAAMZ,GACVa,QAAQC,IAAIF,EAAOZ,EACvB,EAEAgB,iBACI5C,OAAOC,SAAS4C,QACpB,EAEAqD,UAAWnD,eAAgBoD,GAEvB,aAAahD,MAAM,EAAgC,WAAY,CAC3DC,OAAQ,IACTK,MAAKV,UACCP,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,gDACZ,YAIFA,EAAKoB,QAE1B,EAEAwC,aAAcrD,eAAgBsD,GAC1B,aAAalD,MAAM,EAA+B,CAC9CC,OAAQ,EACRC,QAAS,EACTC,KAAMC,KAAKC,UAAU6C,KACtB5C,MAAKjB,IACJ,IAAKA,EAAKkB,IACFlB,EAAKmB,QAAU,IAEf,OADA9I,KAAK8H,QAAQH,EAAM,gDACZ,IAEf,GAER,EACA8D,OAAQvD,eAAgBwD,EAASzG,GAS7B,OAPIyG,GAAsB,IAAXA,GAA4B,GAAXA,IACd,MAAVzG,GAA4B,IAAVA,EAClBA,EAAS,KAAKyG,IAEdzG,GAAU,MAAMyG,WAGXpD,MAAM,EAAgC,IAAIrD,IAAU,CAC7DsD,OAAQ,EACRC,QAAS,CACL,cAAe,OAEpBI,MAAKV,UACCP,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,gDACZ,YAIFA,EAAKoB,QAE1B,EACA4C,sBAAuBzD,eAAgBjD,GACnC,aAAaqD,MAAM,EAAgC,SAASrD,IAAU,CAClEsD,OAAQ,EACRC,QAAS,CACL,cAAe,OAEpBI,MAAKV,UACCP,EAAKkB,IACFlB,EAAKmB,QAAU,IACR,WAIFnB,EAAKoB,QAE1B,EACA6C,aAAc1D,iBAEV,aAAaI,MAAM,EAA+B,CAC9CC,OAAQ,IACTK,MAAKjB,IACCA,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,gDACZ,MAIRA,EAAKoB,QAEpB,EAEA8C,cAAe3D,eAAgB4D,GAC3B,aAAaxD,MAAM,EAA8B,WAAawD,EAAQ,CAClEvD,OAAQ,IACTK,MAAKjB,IACCA,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,sDACZ,MAIRA,EAAKoB,QAEpB,EACAgD,sBAAuB7D,eAAgBjD,GACnC,aAAaqD,MAAM,EAA8B,GAAGrD,IAAU,CAC1DsD,OAAQ,IACTK,MAAKjB,IACCA,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,sDACZ,MAIRA,EAAKoB,QAEpB,EAEAiD,UAAW9D,iBACP,aAAaI,MfzHY,qBeyHyB,CAC9CC,OAAQ,IACTK,MAAKjB,IACCA,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,sDACZ,MAIRA,EAAKoB,QAEpB,EACAkD,UAAW/D,eAAgBgE,GAEvB,IAAIC,EAAI,GACR,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAOhC,OAAQkC,IAC/BD,EAAE9H,KAAK,KAAK6H,EAAOE,MAGvB,aAAa9D,MAAsC,sBAAI6D,EAAEE,KAAK,OAAQ,CAClE9D,OAAQ,IACTK,MAAKV,UACCP,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,sDACZ,YAIFA,EAAKoB,QAE1B,EACAuD,sBAAuBpE,iBACnB,aAAaI,MAAM,EAAwC,SAAU,CACjEC,OAAQ,IACTK,MAAKV,UACJ,IAAKP,EAAKkB,GAAI,CACV,GAAIlB,EAAKmB,QAAU,IACf,OAAO,KAEX,GAAkB,KAAfnB,EAAKmB,OAEJ,OADA9I,KAAK+H,iBACE,IAEf,CAEA,aAAaJ,EAAKoB,MAAM,GAEhC,EACAwD,WAAYrE,eAAenF,EAAMyJ,GAC7B,aAAalE,MAAM,EAAwCkE,EAAc,SAAWzJ,EAAM,CACtFwF,OAAQ,IACTK,MAAKV,UACJ,IAAKP,EAAKkB,GAAI,CACV,GAAIlB,EAAKmB,QAAU,IAEf,OADA9I,KAAK8H,QAAQH,EAAM,8CACZ,KAEX,GAAkB,KAAfA,EAAKmB,OAEJ,OADA9I,KAAK+H,iBACE,IAEf,CAEA,aAAaJ,EAAKoB,MAAM,GAEhC,EACA0D,iBAAkBvE,iBACd,aAAaI,MAAM,EAAuC,CACtDC,OAAQ,IACTK,MAAKV,UACJ,IAAKP,EAAKkB,GAAI,CACV,GAAIlB,EAAKmB,QAAU,IAEf,OADA9I,KAAK8H,QAAQH,EAAM,wDACZ,KAEX,GAAkB,KAAfA,EAAKmB,OAEJ,OADA9I,KAAK+H,iBACE,IAEf,CAEA,aAAaJ,EAAKoB,MAAM,GAEhC,EACA2D,kBAAmBxE,eAAeyE,GAC9B,aAAarE,MAAM,EAAwC,OAASqE,EAAI,CACpEpE,OAAQ,IACTK,MAAKV,UACJ,IAAKP,EAAKkB,GAAI,CACV,GAAIlB,EAAKmB,QAAU,IAEf,OADA9I,KAAK8H,QAAQH,EAAM,gDACZ,KAEX,GAAkB,KAAfA,EAAKmB,OAEJ,OADA9I,KAAK+H,iBACE,IAEf,CAEA,aAAaJ,EAAKoB,MAAM,GAEhC,GC1OJ,GAEIvB,UAAUT,GACNa,QAAQC,IAAId,EAChB,EAEAe,QAAQH,EAAMZ,GACVa,QAAQC,IAAIF,EAAOZ,EACvB,EAEAgB,iBACI5C,OAAOC,SAAS4C,QACpB,EAEAqD,UAAWnD,iBAEP,aAAaI,MAAM,EAA6C,WAAY,CACxEC,OAAQ,IACTK,MAAKV,UACCP,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,gDACZ,YAIFA,EAAKoB,QAE1B,EAEAwC,aAAcrD,eAAgBsD,GAC1B,aAAalD,MAAM,EAA4C,CAC3DC,OAAQ,EACRC,QAAS,EACTC,KAAMC,KAAKC,UAAU6C,KACtB5C,MAAKjB,IACJ,IAAKA,EAAKkB,IACFlB,EAAKmB,QAAU,IAEf,OADA9I,KAAK8H,QAAQH,EAAM,gDACZ,IAEf,GAGR,EACA8D,OAAQvD,eAAgBwD,GACpB,IAAIrD,EAAe,GAInB,MAHe,IAAXqD,IACArD,GAAgB,KAAKqD,WAEZpD,MAAM,EAA6C,IAAID,IAAgB,CAChFE,OAAQ,IACTK,MAAKV,UACCP,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,gDACZ,YAIFA,EAAKoB,QAE1B,EAEA6C,aAAc1D,iBAEV,aAAaI,MAAM,EAA4C,CAC3DC,OAAQ,IACTK,MAAKjB,IACCA,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,gDACZ,MAIRA,EAAKoB,QAEpB,EAEA8C,cAAe3D,iBACX,aAAaI,MhBlEuB,+BgBkEyB,CACzDC,OAAQ,IACTK,MAAKjB,IACCA,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,sDACZ,MAIRA,EAAKoB,QAEpB,EAEAkD,UAAW/D,eAAgBgE,GAEvB,IAAIC,EAAI,GACR,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAOhC,OAAQkC,IAC/BD,EAAE9H,KAAK,KAAK6H,EAAOE,MAGvB,aAAa9D,MAAmD,kCAAI6D,EAAEE,KAAK,OAAQ,CAC/E9D,OAAQ,IACTK,MAAKV,UACCP,EAAKkB,IACFlB,EAAKmB,QAAU,KACf9I,KAAK8H,QAAQH,EAAM,sDACZ,YAIFA,EAAKoB,QAE1B,EACAuD,sBAAuBpE,iBACnB,aAAaI,MAAM,EAAqD,SAAU,CAC9EC,OAAQ,IACTK,MAAKV,UACJ,IAAKP,EAAKkB,GAAI,CACV,GAAIlB,EAAKmB,QAAU,IACf,OAAO,KAEX,GAAkB,KAAfnB,EAAKmB,OAEJ,OADA9I,KAAK+H,iBACE,IAEf,CAEA,aAAaJ,EAAKoB,MAAM,GAEhC,EACAwD,WAAYrE,eAAenF,GACvB,aAAauF,MAAM,EAAqD,SAAWvF,EAAM,CACrFwF,OAAQ,IACTK,MAAKV,UACJ,IAAKP,EAAKkB,GAAI,CACV,GAAIlB,EAAKmB,QAAU,IAEf,OADA9I,KAAK8H,QAAQH,EAAM,8CACZ,KAEX,GAAkB,KAAfA,EAAKmB,OAEJ,OADA9I,KAAK+H,iBACE,IAEf,CAEA,aAAaJ,EAAKoB,MAAM,GAEhC,EACA0D,iBAAkBvE,iBACd,aAAaI,MAAM,EAAoD,CACnEC,OAAQ,IACTK,MAAKV,UACJ,IAAKP,EAAKkB,GAAI,CACV,GAAIlB,EAAKmB,QAAU,IAEf,OADA9I,KAAK8H,QAAQH,EAAM,wDACZ,KAEX,GAAkB,KAAfA,EAAKmB,OAEJ,OADA9I,KAAK+H,iBACE,IAEf,CAEA,aAAaJ,EAAKoB,MAAM,GAEhC,EACA2D,kBAAmBxE,eAAeyE,GAC9B,aAAarE,MAAM,EAAqD,OAASqE,EAAI,CACjFpE,OAAQ,IACTK,MAAKV,UACJ,IAAKP,EAAKkB,GAAI,CACV,GAAIlB,EAAKmB,QAAU,IAEf,OADA9I,KAAK8H,QAAQH,EAAM,gDACZ,KAEX,GAAkB,KAAfA,EAAKmB,OAEJ,OADA9I,KAAK+H,iBACE,IAEf,CAEA,aAAaJ,EAAKoB,MAAM,GAEhC,GCzKJ,QAXgB,ECiChB,CAEIpH,KAAI,KACO,CACHiL,cAAe,KAGvBzL,MAAM,CACF0L,eAAgB,CACZxL,KAAMI,QACNF,SAAS,IAGjBY,UACA,EACAP,QAAS,CACLsG,iBACI,GAAIlI,KAAK6M,eAAe,CACpB,IAAIlI,QAAU,qBACd3E,KAAK4M,cAAgBjI,EAAEmI,MAC3B,KAAK,CACD,IAAInI,QAAU,qBACd3E,KAAK4M,cAAgBjI,EAAEmI,MAC3B,CACJ,EACA5E,qBAAqByE,GACb3M,KAAK6M,qBACC,oBAAgCF,SAEhC,oBAA2CA,GAErD3M,KAAK+M,WACL/M,KAAK8B,MAAM,qBAAsB6K,GACjC3M,KAAK8B,MAAM,uBAAwB6K,EACvC,EACAzE,sBAAsBsD,GAClBxL,KAAK8B,MAAM,iBAAkB0J,GAC7BxL,KAAK8B,MAAM,mBAAoB0J,EACnC,EACAwB,YAAYC,IACRrF,QAAQC,IAAI,kBAAkB1C,OAAOC,UAChC6H,IAEDA,EAAO,IAEJ9H,OAAOC,SAASK,SAAWwH,MCrFjC,WAAkB,IAAI7K,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,aAAaO,MAAM,CAAC,GAAK,gBAAgB,SAAW,KAAK,KAAO,SAAS,kBAAkB,0BAA0B,cAAc,SAAS,CAACT,EAAG,MAAM,CAACE,YAAY,6DAA6DO,MAAM,CAAC,KAAO,aAAa,CAACT,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACH,EAAIsI,GAAG,GAAGtI,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,KAAK,CAACE,YAAY,iBAAiB,CAA8B,GAA5BH,EAAIwK,cAAc1C,OAAa7H,EAAG,MAAM,CAACD,EAAIK,GAAG,iCAAiCL,EAAIyD,GAAIzD,EAAiB,eAAE,SAASiD,GAAQ,OAAOhD,EAAG,KAAK,CAACyD,IAAIT,EAAO6H,IAAI,CAAC7K,EAAG,IAAI,CAACE,YAAY,aAAaO,MAAM,CAAC,KAAOV,EAAI4K,YAAY3H,EAAO8H,aAAa,CAAC/K,EAAIK,GAAGL,EAAIM,GAAG2C,EAAO+H,SAAShL,EAAIK,GAAG,KAAKJ,EAAG,IAAI,CAACE,YAAY,oBAAoBI,GAAG,CAAC,MAAQ,SAASC,GAAQ,OAAOR,EAAIiL,eAAehI,EAAO6H,GAAG,IAAI,CAAC7K,EAAG,IAAI,CAACE,YAAY,wBAAwB,KAAI,KAAKH,EAAIK,GAAG,KAAKL,EAAIsI,GAAG,QAC77B,GACsB,CAAC,WAAY,IAAItI,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,KAAK,CAACE,YAAY,0BAA0BO,MAAM,CAAC,GAAK,4BAA4B,CAACV,EAAIK,GAAG,yBAAyBL,EAAIK,GAAG,KAAKJ,EAAG,SAAS,CAACE,YAAY,QAAQO,MAAM,CAAC,KAAO,SAAS,eAAe,QAAQ,aAAa,UAAU,CAACT,EAAG,IAAI,CAACE,YAAY,oBAC7W,EAAE,WAAY,IAAaF,EAALrC,KAAYsC,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,SAAS,CAACE,YAAY,aAAaO,MAAM,CAAC,KAAO,SAAS,eAAe,UAAU,CAAzJ9C,KAA8JyC,GAAG,aACvL,IFOE,EACA,KACA,KACA,MAI8B,QGAhC,QAXgB,ECoChB,CAEId,OACI,MAAO,CACHoB,KAAM,YAAc/C,KAAK6M,eAAiB,eAAiB,eAAiBS,SAASC,OAAO,oBAAsB,IAE1H,EACApM,MAAM,CACF0L,eAAgB,CACZxL,KAAMI,QACNF,SAAS,IAGjBY,UAEA,EACAP,QAAS,CACLsG,0BAQI,IAAIlE,EAOJ,GAZAhE,KAAK8B,MAAM,iBACX9B,KAAK8B,MAAM,iBAMPkC,EADAhE,KAAK6M,qBACU,aAAyB7M,KAAK+C,KAAMoC,OAAOC,SAASC,cAEpD,aAAoCrF,KAAK+C,KAAMoC,OAAOC,SAASC,WAGnErB,EAAOwJ,SACG,MAAjBxJ,EAAOiF,QAAkBjF,EAAOiF,OAAOiB,OAAS,EAAE,CAClD,IAAIuD,EAAkBzJ,EAAOiF,OAAOuC,QAAOkC,GAAqB,KAAdA,EAAIC,SAAe,GAC9C,MAAnBF,GACA,UAAsB,sBAAuBA,EAAgBhE,QAErE,CAGJzJ,KAAK8B,MAAM,iBACX9B,KAAK8B,MAAM,kBACf,KCtFK,WAAkB,IAAIM,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,aAAaO,MAAM,CAAC,GAAK,aAAa,SAAW,KAAK,KAAO,SAAS,kBAAkB,uBAAuB,cAAc,SAAS,CAACT,EAAG,MAAM,CAACE,YAAY,qCAAqCO,MAAM,CAAC,KAAO,aAAa,CAACT,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACH,EAAIsI,GAAG,GAAGtI,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,OAAO,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACE,YAAY,8DAA8D,CAACF,EAAG,QAAQ,CAACE,YAAY,qCAAqCO,MAAM,CAAC,IAAM,cAAc,CAACV,EAAIK,GAAG,UAAUL,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,QAAQ,CAACuL,WAAW,CAAC,CAAC7K,KAAK,QAAQ8K,QAAQ,UAAUC,MAAO1L,EAAQ,KAAE2L,WAAW,SAASjL,MAAM,CAAC,KAAO,OAAO,KAAO,YAAY,GAAK,YAAY,MAAQ,4BAA4B+H,SAAS,CAAC,MAASzI,EAAQ,MAAGO,GAAG,CAAC,MAAQ,SAASC,GAAWA,EAAOoL,OAAOC,YAAiB7L,EAAIW,KAAKH,EAAOoL,OAAOF,MAAK,OAAO1L,EAAIK,GAAG,KAAKJ,EAAG,IAAI,CAACE,YAAY,SAAS,CAACH,EAAIK,GAAG,gBAAgBL,EAAIK,GAAG,KAAKJ,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,SAAS,CAACE,YAAY,aAAaO,MAAM,CAAC,KAAO,SAAS,eAAe,UAAU,CAACV,EAAIK,GAAG,YAAYL,EAAIK,GAAG,KAAKJ,EAAG,SAAS,CAACE,YAAY,mCAAmCO,MAAM,CAAC,KAAO,UAAUH,GAAG,CAAC,MAAQP,EAAI8L,oBAAoB,CAAC9L,EAAIK,GAAG,oBACl2C,GACsB,CAAC,WAAY,IAAIL,EAAIpC,KAAKqC,EAAGD,EAAIE,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAACF,EAAG,KAAK,CAACE,YAAY,0BAA0BO,MAAM,CAAC,GAAK,yBAAyB,CAACV,EAAIK,GAAG,sBAAsBL,EAAIK,GAAG,KAAKJ,EAAG,SAAS,CAACE,YAAY,QAAQO,MAAM,CAAC,KAAO,SAAS,eAAe,QAAQ,aAAa,UAAU,CAACT,EAAG,IAAI,CAACE,YAAY,oBACvW,IFQE,EACA,KACA,KACA,MAI8B,QGlBhC,GAEI4L,cAAcC,GACGrJ,MAALqJ,GAAuB,MAALA,GAAyB,GAAZA,EAAElE,OAG7CmE,SAASD,GACe,IAAbA,EAAElE,QAAgBkE,EAAEE,MAAM,YAErCC,YAAYH,GACY,IAAbA,EAAElE,QAAgBkE,EAAEE,MAAM,SAGrCE,SAASJ,GACe,IAAbA,EAAElE,QAAgBkE,EAAEE,MAAM,SAGrCG,YAAYC,GACR,GAAI1O,KAAKmO,cAAcO,GAAM,OAAOA,EAEpC,IAAIC,EAAQD,EAAIE,cAAcC,OAAOC,UAAU,OAAOC,QAAQ,mBAAoB,IAC9EpK,EAAI,GAER,IAAK,IAAIyH,EAAI,EAAGA,EAAIuC,EAAMzE,OAAQkC,IAAK,CACnC,IAAI4C,EAAIL,EAAMM,OAAO7C,GACjBpM,KAAKqO,SAASW,GACVhP,KAAKuO,YAAYS,GACjBrK,EAAIA,EAAI,IAAMqK,EAAEJ,cAEhBjK,GAAQqK,EAIZrK,GAAQ,GAEhB,CAMA,OAJAA,EAAIA,EAAEoK,QAAQ,QAAS,KACvBpK,EAAIA,EAAEoK,QAAQ,MAAO,IACrBpK,EAAIA,EAAEoK,QAAQ,MAAO,IAEdpK,EAAEkK,MACb,EAEAK,cAAcR,GACV,OAAI1O,KAAKmO,cAAcO,GAAaA,EAE7BA,EAAII,UAAU,OAAOC,QAAQ,mBAAoB,GAC5D,GC9CJ,GAEII,YAAa,SAAUT,GACnB,GAAW3J,MAAP2J,GAA2B,MAAPA,GAAsB,IAAPA,GAA2B,GAAdA,EAAIxE,OAAa,MAAO,GAI5E,MAAO,QAFCkF,EAAOX,YAAYC,IAG/B,GCTJ,GACIW,YAAYtM,EAAM5B,GACdmO,UAAUjL,KAAK,CACX,MAAStB,KACN5B,GAEX,EACAoO,sBAAsBpO,GAClBmO,UAAUjL,KAAK,CACX,MAAS,qBACNlD,GAGX,GCsHJqO,IAAIhE,OAAO,cAAc,SAAUsC,GAC/B,MAAqB,iBAAVA,EAEAA,EAEE,MAATA,EAEO,IAGJA,EAAMpI,WAAWqJ,QAAQ,wBAAyB,IAC7D,IC5HAS,IAAIhE,OAAO,gBAAgB,SAAUsC,GACjC,OAAY,MAATA,EACQA,EAAMpI,WAAWqJ,QAAQ,wBAAyB,KAEtD,EACX,IAGY,IAAIS,IAAI,CAChBC,GAAI,UACJ9N,KAAI,KACO,CACH+N,OAAO,EACPC,gBAAgB,EAChBC,wBAAwB,EACxBpE,OAAQ,CACJqE,WAAY,GACZC,QAAS,GACTC,QAAS,GACTC,OAAQ,GACRC,UAAW,GACXC,QAAS,GACTC,SAAU,GACVC,WAAY,GACZC,OAAQ,GACRC,eAAgB,GAChBC,iBAAkB,GAClBC,WAAY,GACZC,MAAO,GACPC,UAAU,EACVC,QAAS,GACTC,SAAS,EACTC,UAAW,GACXC,QAAS,IAEb5E,OAAQ,CAAC,EACT6E,OAAQ,GACRC,UAAW,GACXC,MAAO,GACPC,cAAe,GACfC,OAAQ,GACRC,UAAW,GACXC,QAAS,GACTC,gBAAiB,GACjBC,MAAO,GACPC,YAAa,EACbC,aAAa,EACbC,mBAAoB,EACpBC,SAAU,uBAAyBxM,OAAOC,SAASwM,KACnDpN,KAAM,EACNqN,MAAO,GACP7N,OAAQ,CACJ8N,MAAO,GACPC,MAAO,EACPvG,OAAQ,CAAC,KAIrBrK,MAAM,CACF6Q,YAAa,CACT3Q,KAAM4B,OACN1B,QAAS,GAEb0Q,eAAgB,CACZ5Q,KAAKI,QACLF,SAAS,GAEb2Q,kBAAmBzQ,QACnB0Q,gBAAiB,CACb9Q,KAAMI,QACNF,SAAS,IAGjB6Q,WAAY,CACRC,YAAW,EACXC,WAAU,EACVC,UAAS,EACTC,eAAc,EACdC,WAAU,EACVC,mBAAkB,EAClBC,gBAAe,EACfC,kBAAiB,EACjBC,WAAU,GAEdjR,QAAS,CACLsG,eAAesD,GACXxL,KAAK2P,gBAAiB,EAER,MAAVnE,IACAA,EAASxL,KAAKwL,QAElBxL,KAAK8S,gBAAgBtH,GAErB,IAAIgB,QAAoBxM,KAAK+S,kBAAkBvH,GAE/C,IAAIwH,EAAS7N,OAAOC,SAASG,SAAW,KAAOJ,OAAOC,SAASI,KAAOL,OAAOC,SAASK,SACnE,MAAf+G,GAAsC,IAAfA,IACvBwG,GAAU,IAAIxG,KAElBxM,KAAKgE,OAAOwH,OAAS,IAAKA,SAEpB,wBAAoCgB,GAE1CrH,OAAOC,SAAW4N,EAClBhT,KAAK2P,gBAAiB,CAC1B,EACAzH,wBAAwBsD,GACpB,IAAIvG,EAAS,IAAIC,gBAAgBlF,KAAKiT,cAAczH,IAepD,OAb2B,GAAvBxL,KAAKwL,OAAOmF,SACZ1L,EAAOK,IAAI,UAAWtF,KAAKwL,OAAOmF,SAGV,GAAxB3Q,KAAKwL,OAAOkF,UACZzL,EAAOK,IAAI,WAAY,SAGvBtF,KAAKwE,KAAO,GACZS,EAAOK,IAAI,IAAKtF,KAAKwE,MAGzBS,EAAOiO,OACAC,UAAUlO,EAAOS,WAC5B,EACAwC,qBACIlI,KAAKwE,KAAO,EAEZxE,KAAKqP,YAAY,WAAY,aAAa,GAE1CrP,KAAKoT,UACT,EACAlL,8BACIlI,KAAKqT,oBACLrT,KAAKsT,cACT,EACApL,0BACIlI,KAAK4P,wBAAyB,EAE9B5P,KAAK8S,kBAEL,IAAItG,QAAoBxM,KAAK+S,0BAEvB/S,KAAK+M,SAAS,IAAIP,KAExBxM,KAAK4P,wBAAyB,CAClC,EACA1H,wBAAwBqL,GACpBvT,KAAKiS,gBAAkBjS,KAAKiS,eAC5BjS,KAAKwL,OAAOkF,SAAW1Q,KAAKiS,eAE5B,IAAIuB,QAAiBxT,KAAK+S,kBAAkB/S,KAAKgE,OAAOwH,QAEpDwH,EAAS7N,OAAOC,SAASG,SAAW,KAAOJ,OAAOC,SAASI,KAAOL,OAAOC,SAASK,SAAW,IAAI+N,IACrGrO,OAAOsO,QAAQC,UAAU,CAACzG,KAAK+F,GAAQ,GAAGA,EAC9C,EACAW,kBAAmBC,GACf,IAAIC,EAAiB,GAAGD,EAAKE,aAAaF,EAAKG,GAAGrO,kBAAkBkO,EAAKI,MAAMtO,cAK/E,OAJoB,MAAhBkO,EAAKE,SAAmC,IAAhBF,EAAKE,UAE7BD,EAAiB,GAAGD,EAAKG,GAAGrO,kBAAkBkO,EAAKI,MAAMtO,eAEtDmO,CACX,EACAI,aAAanG,GACFA,EAAMpI,WAAWqJ,QAAQ,wBAAyB,KAE7DmF,YAAYC,EAAK9S,GACb,IAAI+S,EAAWD,EAAIE,MAAM,KAErBC,EAAUF,EAASA,EAASlK,OAAS,GACrCqK,EAAWH,EAASA,EAASlK,OAAS,GAE1C,OAAK7I,EAGM,UAAYkT,EAAW,WAAaC,KAAO,IAAMF,EAFjD,UAAYC,EAAW,WAAaD,CAInD,EACAG,kBACIC,SAAStP,SAAW,gBACxB,EACAuP,wBAAwBpB,GACpBvT,KAAKiS,eAAiBsB,EAAEqB,UAC5B,EACAC,uBAAuBtB,GACnBvT,KAAKgS,YAAcuB,EAAE5C,OACzB,EACAzI,mBAAmB9D,GACfpE,KAAKwE,KAAOJ,EAAEjB,QACdnD,KAAKoT,SAASpT,KAAKgE,OAAOwH,OAC9B,EACAtD,wBACIlI,KAAKwE,KAAO,EACZxE,KAAKoT,SAASpT,KAAKgE,OAAOwH,OAC9B,EAEAtD,8BACI,IAAKlI,KAAKmS,gBAAiB,OAC3B,IAAI2C,QAAU,0BACd9U,KAAK0R,mBAAqBoD,CAC9B,EACA5M,iCACSlI,KAAKmS,gBAIV/I,EAAE,eAAee,QAHbf,EAAE,yBAAyBe,OAInC,EACAjC,sCACSlI,KAAKmS,uBAIJnS,KAAK+U,MAAMC,iBAAiBjI,WAClC3D,EAAE,kBAAkBe,SAJhBf,EAAE,yBAAyBe,OAKnC,EACAjC,oBAAoBvD,GAChByE,EAAE,eAAee,MAAM,QAEvBnK,KAAKqP,YAAY,WAAY,WAAW,GAExCrP,KAAKiV,uBACT,EACA/M,qBAAqBsD,GACjBxL,KAAKwL,OAASA,EACdxL,KAAKoT,UACT,EACAlL,eAAegN,GAEQ,MAAfA,IACAA,EAAc/P,OAAOC,SAASC,QAGlC,IAAIyP,QAAU,wBAAoCI,GAElDlV,KAAKkM,OAAS4I,EAAEK,OAChBnV,KAAK+Q,OAAS+D,EAAE9E,OAChBhQ,KAAKgR,UAAY8D,EAAEM,UACnBpV,KAAKiR,MAAQ6D,EAAEO,MACfrV,KAAKkR,cAAgB4D,EAAEQ,cACvBtV,KAAKmR,OAAS2D,EAAES,OAChBvV,KAAKoR,UAAY0D,EAAEU,UACnBxV,KAAKqR,QAAUyD,EAAEW,QACjBzV,KAAKsR,gBAAkBwD,EAAEY,gBACzB1V,KAAKuR,MAAQuD,EAAErE,MAEfzQ,KAAKwR,YAAcsD,EAAE1R,KACzB,EACA8E,mBACQlI,KAAK2V,iBACL3V,KAAK+Q,aAAe,YAAwB/Q,KAAKwL,OAAOsE,SAExD9P,KAAK+Q,OAAS,EAEtB,EACA7I,sBAEIlI,KAAKqP,YAAY,WAAY,UAAU,SAEjC,uBAEArP,KAAKyU,iBACf,EACAvM,8BACUlI,KAAK4V,aAEXxM,EAAE,eAAeyM,aAAa,WAC9BzM,EAAE,eAAeyM,aAAa,MAAO7V,KAAKwL,OAAOuE,SAEjD/P,KAAKqT,mBACT,EACAnL,4BAA4B4N,GACxB9V,KAAKwL,OAAOsE,QAAU,GACtB9P,KAAKwL,OAAOuE,QAAU,GAEtB/P,KAAK+Q,OAAS,GACd/Q,KAAK+V,iBACT,EACA7N,4BAA4B4N,GACxB9V,KAAKwL,OAAOuE,QAAU,GAEtB/P,KAAKqT,mBACT,EACAP,gBAAgBtH,GACZ,IAAIwK,EAAIxK,EAEM,MAAVA,IACAwK,EAAIhW,KAAKwL,QAEM,MAAfwK,EAAEnF,WAAoC,IAAfmF,EAAEnF,YACzBmF,EAAEnF,UAAY,MAGD,MAAbmF,EAAElF,SAAgC,IAAbkF,EAAElF,UACvBkF,EAAElF,QAAU,MAGI,MAAhBkF,EAAEC,YAAsC,IAAhBD,EAAEC,aAC1BD,EAAEC,WAAa,MAGD,MAAdD,EAAEE,UAAkC,IAAdF,EAAEE,WACxBF,EAAEE,SAAW,MAGA,MAAbF,EAAEG,SAAgC,IAAbH,EAAEG,UACvBH,EAAEG,QAAU,MAGD,MAAXH,EAAEI,OAA4B,IAAXJ,EAAEI,QACrBJ,EAAEI,MAAQ,MAGdpW,KAAKwL,OAAOkF,SAAW1Q,KAAKiS,eAC5BjS,KAAKwL,OAAOmF,QAAU3Q,KAAKgS,WAC/B,EACA2D,iBAEI,OAA+B,MAAvB3V,KAAKwL,OAAOsE,SAAmB9P,KAAKwL,OAAOsE,QAAQ5F,OAAS,CACxE,EACAmM,mBACuB,MAAfrW,KAAKwL,QACA4D,EAAOjB,cAAcnO,KAAKwL,OAAO0E,UAC9Bd,EAAOjB,cAAcnO,KAAKwL,OAAOgF,aACjCpB,EAAOjB,cAAcnO,KAAKwL,OAAO+E,mBACjCnB,EAAOjB,cAAcnO,KAAKwL,OAAOiF,OAK7CzQ,KAAKyR,aAAc,EAJXzR,KAAKyR,aAAc,CAM/B,EAEA6E,mBAAmBC,EAAUC,EAAKC,EAAY,MAC1C,KAAKF,GAAaG,MAAMC,QAAQJ,IAAcC,GAAQE,MAAMC,QAAQH,IAEhE,MAAO,GAGX,MAAMI,EAAQ,GAEd,IAAK,MAAMC,KAAWN,EACdM,GAAyB,MAAdA,EAAQ3J,IAAcsJ,EAAIM,SAASD,EAAQ3J,KACtD0J,EAAMvS,KAAKwS,EAAQzJ,MAK3B,OAAOwJ,EAAMvK,KAAKoK,EACtB,EACAM,kBAAkBN,EAAY,KAAMjL,GAClB,MAAVA,IACAA,EAASxL,KAAKwL,QAElB,IAAIwL,EAAkBhX,KAAKsW,mBAAmBtW,KAAKkM,OAAO+K,QAASzL,EAAOsE,QAAS2G,GAC/ES,EAAgBlX,KAAKsW,mBAAmBtW,KAAKkM,OAAOiL,OAAQ3L,EAAOsE,QAAS2G,GAUhF,OARqB,MAAjBS,GAA0C,IAAjBA,IAErBA,EADmB,MAAnBF,GAAqD,GAA1BA,EAAgB9M,OAC3B,GAAGgN,IAEH,GAAGT,IAAYS,KAIhCF,EAAgB/V,OAAOiW,EAClC,EACAE,kBAAkBX,EAAY,KAAMjL,GAClB,MAAVA,IACAA,EAASxL,KAAKwL,QAElB,IAAI6L,EAAW,GAEf,IAAKrX,KAAK+Q,SAAW/Q,KAAK+Q,OAAOoE,OAC7B,OAAOkC,EAGX,IAAK,MAAMC,KAAStX,KAAK+Q,OAAOoE,OAAQ,CAEpC,MAAMoC,EAAcvX,KAAKsW,mBAAmBgB,EAAMtH,OAAQxE,EAAOuE,QAAS0G,GACtEc,IACIF,IACAA,GAAYZ,GAEhBY,GAAYE,EAEpB,CAEA,OAAOF,CACX,EAEAhI,YAAYtM,EAAMyU,EAAQ1L,GAEtB,IAAK9L,KAAKwL,OACN,OAEJ,IAAIiM,EAAiB,CACjB,OAAUD,EACV,OAAU1L,EACV,MAAS9L,KAAK+W,oBACd,OAAU/W,KAAKoX,oBACf,WAAcpX,KAAKwL,OAAOqF,UAC1B,WAAc7Q,KAAKwL,OAAOsF,QAC1B,aAAiB9Q,KAAKwL,OAAOyK,WAC7B,aAAiBjW,KAAKwL,OAAO0K,SAC7B,WAAclW,KAAKwL,OAAO2K,QAC1B,WAAenW,KAAKwL,OAAO4K,MAC3B,IAAOpW,KAAKsW,mBAAmBtW,KAAKmR,OAAQnR,KAAKwL,OAAO0E,SACxD,YAAelQ,KAAKsW,mBAAmBtW,KAAKiR,MAAOjR,KAAKwL,OAAO6E,QAC/D,WAAcrQ,KAAKsW,mBAAmBtW,KAAKgR,UAAWhR,KAAKwL,OAAOqE,YAClE,YAAe7P,KAAKsW,mBAAmBtW,KAAKoR,UAAWpR,KAAKwL,OAAO4E,YACnE,MAASpQ,KAAKsW,mBAAmBtW,KAAKkR,cAAelR,KAAKwL,OAAO8E,gBACjE,OAAUtQ,KAAKsW,mBAAmBtW,KAAKqR,QAASrR,KAAKwL,OAAOgF,YAC5D,SAAYxQ,KAAKsW,mBAAmBtW,KAAKsR,gBAAiBtR,KAAKwL,OAAO+E,kBACtE,QAAWvQ,KAAKsW,mBAAmBtW,KAAKuR,MAAOvR,KAAKwL,OAAOiF,OAC3D,SAAYzQ,KAAKwL,OAAOkM,YAG5BC,EAAWtI,YAAYtM,EAAM0U,EACjC,EACAxE,cAAczH,GACV,IAAIwK,EAAIxK,EACM,MAAVA,IACAwK,EAAIhW,KAAKwL,QAEb,IAAIoM,EAAY,IAChB,IAAIC,EAAgB,CAAC,EACrB,GAAI7B,EAAE,CAEF,GAAIA,EAAElG,SAAWkG,EAAElG,QAAQ5F,OAAS,EAAE,CAClC,IAAI4N,EAAc9X,KAAK+W,kBAAkBa,EAAW5B,GAKpD,GAJI8B,GAAeA,EAAY5N,OAAS,IACpC2N,EAAcE,MAAQ3I,EAAOF,cAAc4I,EAAYlJ,gBAGvDoH,EAAEjG,SAAWiG,EAAEjG,QAAQ7F,OAAS,EAAE,CAClC,IAAI8N,EAAchY,KAAKoX,kBAAkBQ,EAAW5B,GAChDgC,GAAeA,EAAY9N,OAAS,IACpC2N,EAAcI,OAAS7I,EAAOF,cAAc8I,EAAYpJ,eAEhE,CACJ,CAEA,GAAIoH,EAAE3F,QAAU2F,EAAE3F,OAAOnG,OAAS,EAAE,CAChC,IAAIgO,EAAalY,KAAKsW,mBAAmBtW,KAAKiR,MAAO+E,EAAE3F,OAAQuH,GAC3DM,GAAcA,EAAWhO,OAAS,IAClC2N,EAAcM,YAAc/I,EAAOF,cAAcgJ,EAAWtJ,eAEpE,CAEA,GAAIoH,EAAE5F,YAAc4F,EAAE5F,WAAWlG,OAAS,EAAE,CACxC,IAAIkO,EAAiBpY,KAAKsW,mBAAmBtW,KAAKoR,UAAW4E,EAAE5F,WAAYwH,GACvEQ,GAAiBA,EAAclO,OAAS,IACxC2N,EAAcQ,YAAcjJ,EAAOF,cAAckJ,EAAcxJ,eAEvE,CAEA,GAAIoH,EAAEnG,YAAcmG,EAAEnG,WAAW3F,OAAS,EAAE,CACxC,IAAIoO,EAAiBtY,KAAKsW,mBAAmBtW,KAAKgR,UAAWgF,EAAEnG,WAAY+H,GACvEU,GAAiBA,EAAcpO,OAAS,IACxC2N,EAAcU,WAAanJ,EAAOF,cAAcoJ,EAAc1J,eAEtE,CAEA,GAAIoH,EAAE9F,SAAW8F,EAAE9F,QAAQhG,OAAS,EAAE,CAClC,IAAIsO,EAAcxY,KAAKsW,mBAAmBtW,KAAKmR,OAAQ6E,EAAE9F,QAAS0H,GAC9DY,GAAcA,EAAWtO,OAAS,IAClC2N,EAAcY,IAAMrJ,EAAOF,cAAcsJ,EAAW5J,eAE5D,CAEA,GAAIoH,EAAE1F,gBAAkB0F,EAAE1F,eAAepG,OAAS,EAAE,CAChD,IAAIwO,EAAqB1Y,KAAKsW,mBAAmBtW,KAAKkR,cAAe8E,EAAE1F,eAAgBsH,GACnFc,GAAqBA,EAAkBxO,OAAS,IAChD2N,EAAcc,MAAQvJ,EAAOF,cAAcwJ,EAAkB9J,eAErE,CA0BA,GAxBIoH,EAAEnF,WAAamF,EAAEnF,UAAY,IAC7BgH,EAAc,WAAa7B,EAAEnF,WAG7BmF,EAAElF,SAAWkF,EAAElF,QAAU,IACzB+G,EAAc,WAAa7B,EAAElF,SAG7BkF,EAAEC,YAAcD,EAAEC,WAAa,IAC/B4B,EAAc,aAAe7B,EAAEC,YAG/BD,EAAEE,UAAYF,EAAEE,SAAW,IAC3B2B,EAAc,aAAe7B,EAAEE,UAG/BF,EAAEG,SAAWH,EAAEG,QAAU,IACzB0B,EAAc,UAAY7B,EAAEG,SAG5BH,EAAEI,OAASJ,EAAEI,MAAQ,IACrByB,EAAc,UAAY7B,EAAEI,OAG5BJ,EAAExF,YAAcwF,EAAExF,WAAWtG,OAAS,EAAE,CACxC,IAAI0O,EAAmB5Y,KAAKsW,mBAAmBtW,KAAKqR,QAAS2E,EAAExF,WAAYoH,GACvEgB,GAAmBA,EAAgB1O,OAAS,IAC5C2N,EAAcgB,OAASzJ,EAAOF,cAAc0J,EAAgBhK,eAEpE,CAEA,GAAIoH,EAAEzF,kBAAoByF,EAAEzF,iBAAiBrG,OAAS,EAAE,CACpD,IAAI4O,EAAyB9Y,KAAKsW,mBAAmBtW,KAAKsR,gBAAiB0E,EAAEzF,iBAAkBqH,GAC3FkB,GAAyBA,EAAsB5O,OAAS,IACxD2N,EAAckB,SAAW3J,EAAOF,cAAc4J,EAAsBlK,eAE5E,CAEA,GAAIoH,EAAEvF,OAASuF,EAAEvF,MAAMvG,OAAS,EAAE,CAE9B,IAAI8O,EAAchZ,KAAKsW,mBAAmBtW,KAAKuR,MAAOyE,EAAEvF,MAAOmH,GAC3DoB,GAAcA,EAAW9O,OAAS,IAClC2N,EAAcoB,QAAU7J,EAAOF,cAAc8J,EAAWpK,eAEhE,CAEIoH,EAAE0B,YAAc1B,EAAE0B,WAAWxN,OAAS,IACtC2N,EAAcqB,WAAa9J,EAAOF,cAAc8G,EAAE0B,YAE1D,CACA,OAAOG,CACX,EACAsB,mBAAmBlU,IACD,MAAVA,IACAA,EAAS,IAAIC,gBAAgBC,OAAOC,SAASC,SAE7CJ,EAAOuP,KAAO,IAEe,GAAzBvP,EAAOmU,IAAI,YACXnU,EAAOoU,OAAO,WAEY,QAA1BpU,EAAOmU,IAAI,aACXnU,EAAOoU,OAAO,YAEK,KAAnBpU,EAAOmU,IAAI,MACXnU,EAAOoU,OAAO,KAGlBpU,EAAOiO,OAEHjO,EAAOuP,KAAO,GACPrP,OAAOC,SAASK,SAAW,IAAIR,EAAOS,aAE9CP,OAAOC,SAASK,WAI/ByC,oBACIlI,KAAKwL,aAAe,cAEpB,IAAI0J,EAAc/P,OAAOC,SAASC,OAC9BiU,EAAY,IAAIpU,gBAAgBgQ,GAChCoE,EAAUC,IAAI,MAA8B,MAAtBD,EAAUF,IAAI,MACpCpZ,KAAKwL,OAAS,CACVqE,WAAY,GACZC,QAAS,GACTC,QAAS,GACTE,UAAW,GACXC,QAAS,GACTC,SAAU,GACVC,WAAY,GACZC,OAAQ,GACRC,eAAgB,GAChBC,iBAAkB,GAClBE,MAAO,GACPD,WAAY,GACZI,SAAS,EACTC,UAAW,GACXC,QAAS,GACTJ,SAAU1Q,KAAKwL,OAAOkF,SACtBC,QAAS3Q,KAAKwL,OAAOmF,SAEzB3Q,KAAKwL,OAAOsE,QAAU,CAAC0J,SAASF,EAAUF,IAAI,SAE9CpZ,KAAKwL,OAAS,CACVqE,WAAY,GACZC,QAAS,GACTC,QAAS,GACTE,UAAW,GACXC,QAAS,GACTC,SAAU,GACVC,WAAY,GACZC,OAAQ,GACRC,eAAgB,GAChBC,iBAAkB,GAClBE,MAAO,GACPD,WAAY,GACZI,SAAS,EACTC,UAAW,GACXC,QAAS,GACTJ,SAAU1Q,KAAKwL,OAAOkF,SACtBC,QAAS3Q,KAAKwL,OAAOmF,SAEL,MAAhB8I,eACAzZ,KAAKwL,OAAS,CACVqE,WAAY4J,aAAa5J,WACzBC,QAAS2J,aAAa3J,QACtBC,QAAS0J,aAAa1J,QACtBE,UAAW,GACXC,QAASuJ,aAAavJ,QACtBC,SAAU,GACVC,WAAYqJ,aAAarJ,WACzBC,OAAQoJ,aAAapJ,OACrBC,eAAgBmJ,aAAanJ,eAC7BC,iBAAkBkJ,aAAalJ,iBAC/BE,MAAOgJ,aAAahJ,MACpBD,WAAYiJ,aAAajJ,WACzBK,UAAW4I,aAAa5I,UACxBC,QAAS2I,aAAa3I,QACtBqF,QAASsD,aAAatD,QACtBC,MAAOqD,aAAarD,MACpBH,WAAYwD,aAAaxD,WACzBC,SAAUuD,aAAavD,SACvBwB,WAAY+B,aAAa/B,WACzB9G,SAAS,EACTF,SAAU+I,aAAa/I,SACvBC,QAAS8I,aAAa9I,WAOlC3Q,KAAKqW,mBAELrW,KAAKiS,eAAiBjS,KAAKwL,OAAOkF,SAClC1Q,KAAKgS,YAAchS,KAAKwL,OAAOmF,QAE/B3Q,KAAK2U,wBAAwB,CAAEC,WAAY5U,KAAKwL,OAAOkF,WACvD1Q,KAAK6U,uBAAuB,CAAElE,QAAS3Q,KAAKwL,OAAOmF,gBAE7C3Q,KAAK+M,iBACL/M,KAAK4V,aAEX5V,KAAKgE,OAAOwH,OAAS,IAAKxL,KAAKwL,QAEZ,MAAhBiO,cAAgD,GAAxBA,aAAa7I,SACpC5Q,KAAKqP,YAAY,WAAY,aAAa,EAClD,EACAlN,UAEI,IAAI8C,EAAS,IAAIC,gBAAgBC,OAAOC,SAASC,QAC7CJ,EAAOuP,KAAO,GACdrP,OAAOsO,QAAQiG,aAAa,CAAC,EAAGhF,SAAS5N,MAAO9G,KAAKmZ,mBAAmBlU,IAG5EjF,KAAKkS,kBAAoByH,oBACzB3Z,KAAKmS,gBAAkByH,sBAEvB5Z,KAAKS,MAAMoZ,IAAI,eAAgB7Z,KAAK8Z,cAEpC1Q,EAAEsL,UAAUqF,OAAM,WAEd3Q,EAAE,iBAAiByM,aAAa,CAC5BmE,gBAAiB,mBAGrB5Q,EAAE,iBAAiBzG,GAAG,SAAS,SAAUmT,GACrC1M,EAAE,YAAY6Q,YAAY,YAC1B7Q,EAAE,QAAQ6Q,YAAY,aACtBnE,EAAElQ,gBACN,IAIAwD,EAAE,iBAAiB8Q,QAAO,WACtB9Q,EAAEpJ,MAAMma,OAAOA,OAAO5Q,SAAS,iBAAiBA,SAAS,wBAAwB6Q,MACrF,GAIJ,IAEApa,KAAKiV,uBACT,EACA/M,gBAGIkB,EAAE,eAAeyM,aAAa,WAC9BzM,EAAE,eAAeyM,aAAa,MAAO7V,KAAKwL,OAAOsE,SAC7C9P,KAAKwL,OAAOsE,QAAQ5F,OAAS,GAAGd,EAAE,mBAAmBiR,OAGzDjR,EAAE,eAAeyM,aAAa,WAC9BzM,EAAE,eAAeyM,aAAa,MAAO7V,KAAKwL,OAAOuE,SAC7C/P,KAAKwL,OAAOuE,QAAQ7F,OAAS,GAAGd,EAAE,mBAAmBiR,OAGzDjR,EAAE,cAAcyM,aAAa,WAC7BzM,EAAE,cAAcyM,aAAa,MAAO7V,KAAKwL,OAAO6E,QAGhDjH,EAAE,kBAAkByM,aAAa,WACjCzM,EAAE,kBAAkByM,aAAa,MAAO7V,KAAKwL,OAAOqE,YAGpDzG,EAAE,cAAcyM,aAAa,WAC7BzM,EAAE,cAAcyM,aAAa,MAAO7V,KAAKwL,OAAO0E,SAGhD9G,EAAE,qBAAqByM,aAAa,WACpCzM,EAAE,qBAAqByM,aAAa,MAAO7V,KAAKwL,OAAO8E,gBAGvDlH,EAAE,iBAAiByM,aAAa,WAChCzM,EAAE,iBAAiByM,aAAa,MAAO7V,KAAKwL,OAAO4E,YAGnDhH,EAAE,gBAAgByM,aAAa,WAC/BzM,EAAE,gBAAgByM,aAAa,MAAO7V,KAAKwL,OAAOgF,YAGlDpH,EAAE,uBAAuByM,aAAa,WACtCzM,EAAE,uBAAuByM,aAAa,MAAO7V,KAAKwL,OAAO+E,kBAEzDnH,EAAE,cAAcyM,aAAa,WAC7BzM,EAAE,cAAcyM,aAAa,MAAO7V,KAAKwL,OAAOiF,MAEpD,EACA6J,QAAS,CACLnL,YAAa,eAEjBnN,SAAS,CAET,G","sources":["webpack://cl.auto.frontend/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://cl.auto.frontend/./src/components/DisplayModeSwitch.vue","webpack://cl.auto.frontend/src/components/DisplayModeSwitch.vue","webpack://cl.auto.frontend/./src/components/DisplayModeSwitch.vue?528e","webpack://cl.auto.frontend/./src/shared/pagination.vue","webpack://cl.auto.frontend/src/shared/pagination.vue","webpack://cl.auto.frontend/./src/shared/pagination.vue?fe14","webpack://cl.auto.frontend/./src/scripts/constants.js","webpack://cl.auto.frontend/./src/scripts/notifications.js","webpack://cl.auto.frontend/./src/scripts/services/userClient.js","webpack://cl.auto.frontend/./src/shared/favorite-button.vue","webpack://cl.auto.frontend/src/shared/favorite-button.vue","webpack://cl.auto.frontend/./src/shared/favorite-button.vue?c98e","webpack://cl.auto.frontend/./src/shared/confirmation-modal.vue","webpack://cl.auto.frontend/src/shared/confirmation-modal.vue","webpack://cl.auto.frontend/./src/shared/confirmation-modal.vue?8a90","webpack://cl.auto.frontend/./src/shared/no-results.vue","webpack://cl.auto.frontend/src/shared/no-results.vue","webpack://cl.auto.frontend/./src/shared/no-results.vue?4bae","webpack://cl.auto.frontend/./src/shared/login-modal.vue","webpack://cl.auto.frontend/src/shared/login-modal.vue","webpack://cl.auto.frontend/./src/shared/login-modal.vue?872f","webpack://cl.auto.frontend/./src/scripts/services/pesquisa.js","webpack://cl.auto.frontend/./src/scripts/services/pesquisa-new-vehicle.js","webpack://cl.auto.frontend/./src/vehicles/saved-searches-modal.vue","webpack://cl.auto.frontend/src/vehicles/saved-searches-modal.vue","webpack://cl.auto.frontend/./src/vehicles/saved-searches-modal.vue?1f12","webpack://cl.auto.frontend/./src/vehicles/save-search-modal.vue","webpack://cl.auto.frontend/src/vehicles/save-search-modal.vue","webpack://cl.auto.frontend/./src/vehicles/save-search-modal.vue?22df","webpack://cl.auto.frontend/./src/scripts/helper.js","webpack://cl.auto.frontend/./src/scripts/filters.js","webpack://cl.auto.frontend/./src/scripts/tagManager.js","webpack://cl.auto.frontend/./src/scripts/utils.js","webpack://cl.auto.frontend/./src/pesquisa/index.js"],"sourcesContent":["/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./DisplayModeSwitch.vue?vue&type=template&id=47349341&\"\nimport script from \"./DisplayModeSwitch.vue?vue&type=script&lang=js&\"\nexport * from \"./DisplayModeSwitch.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n {{text}}\n \n \n \n \n \n \n \n \n \n \n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"control-group hide-small hide-tiny\",staticStyle:{\"cursor\":\"pointer\"}},[_c('label',[_vm._v(_vm._s(_vm.text))]),_vm._v(\" \"),_c('div',{staticClass:\"control\",on:{\"click\":function($event){return _vm.Change()}}},[_c('div',{staticClass:\"btn-group btn-group-toggle\"},[_c('label',{staticClass:\"btn\",class:_vm.listClass,attrs:{\"data-trackerlink\":\"PESQUISA|FILTROS|LISTINGVIEW\"}},[_c('i',{staticClass:\"fas fa-th-list\"})]),_vm._v(\" \"),_c('label',{staticClass:\"btn\",class:_vm.gridClass,attrs:{\"data-trackerlink\":\"PESQUISA|FILTROS|GRIDVIEW\"}},[_c('i',{staticClass:\"fas fa-th\"})])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./pagination.vue?vue&type=template&id=7a316ec9&\"\nimport script from \"./pagination.vue?vue&type=script&lang=js&\"\nexport * from \"./pagination.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n \n \n \n Primeira\n \n \n \n \n Anterior\n \n \n \n {{p.Label}}\n \n \n \n Seguinte\n \n \n \n Última\n \n \n \n Pág. {{this.PageNum}} de {{(this.TotalPages) || toCurrency}} / {{this.Total || toCurrency}} {{ this.ItemType }}\n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('nav',{staticClass:\"page-navigation\",attrs:{\"aria-label\":\"Page navigation\"}},[_c('ul',{staticClass:\"pagination justify-content-center\"},[_c('li',{staticClass:\"page-item icon\",class:{disabled: !this.ShowFirst}},[_c('a',{staticClass:\"page-link\",attrs:{\"tabindex\":\"-1\",\"href\":_vm.PageUrl(1),\"aria-label\":\"Primeira página\"},on:{\"click\":function($event){$event.preventDefault();return _vm.ChangePage(1)}}},[_c('i',{staticClass:\"fas fa-angle-double-left\"}),_c('span',[_vm._v(\"Primeira\")])])]),_vm._v(\" \"),_c('li',{staticClass:\"page-item icon\",class:{disabled: !this.ShowPrevious}},[_c('a',{staticClass:\"page-link\",attrs:{\"tabindex\":\"-1\",\"href\":_vm.PageUrl(_vm.PageNum-1),\"aria-label\":\"Página anterior\"},on:{\"click\":function($event){$event.preventDefault();return _vm.ChangePage(_vm.PageNum-1)}}},[_c('i',{staticClass:\"fas fa-angle-left\"}),_c('span',[_vm._v(\"Anterior\")])])]),_vm._v(\" \"),_vm._l((_vm.Pages),function(p){return _c('li',{key:p,staticClass:\"page-item\",class:p.class,attrs:{\"aria-current\":\"page\"},on:{\"click\":function($event){$event.preventDefault();return _vm.ChangePage(p.Num)}}},[_c('a',{staticClass:\"page-link\",attrs:{\"href\":_vm.PageUrl(p.Num)}},[_vm._v(_vm._s(p.Label))])])}),_vm._v(\" \"),_c('li',{staticClass:\"page-item icon\",class:{disabled: !this.ShowNext}},[_c('a',{staticClass:\"page-link\",attrs:{\"tabindex\":\"-1\",\"href\":_vm.PageUrl(_vm.PageNum+1),\"aria-label\":\"Página seguinte\"},on:{\"click\":function($event){$event.preventDefault();return _vm.ChangePage(_vm.PageNum+1)}}},[_c('span',[_vm._v(\"Seguinte\")]),_c('i',{staticClass:\"fas fa-angle-right\"})])]),_vm._v(\" \"),_c('li',{staticClass:\"page-item icon\",class:{disabled: !this.ShowLast}},[_c('a',{staticClass:\"page-link\",attrs:{\"tabindex\":\"-1\",\"href\":_vm.PageUrl(_vm.TotalPages),\"aria-label\":\"Última página\"},on:{\"click\":function($event){$event.preventDefault();return _vm.ChangePage(_vm.TotalPages)}}},[_c('span',[_vm._v(\"Última\")]),_c('i',{staticClass:\"fas fa-angle-double-right\"})])])],2),_vm._v(\" \"),(!_vm.noResult)?_c('p',{staticClass:\"result\"},[_vm._v(\"Pág. \"+_vm._s(this.PageNum)+\" de \"+_vm._s((this.TotalPages) || _vm.toCurrency)+\" / \"+_vm._s(this.Total || _vm.toCurrency)+\" \"+_vm._s(this.ItemType))]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nexport let HTTP_METHOD_GET = \"GET\";\nexport let HTTP_METHOD_POST = \"POST\";\nexport let HTTP_METHOD_PUT = \"PUT\";\nexport let HTTP_METHOD_DELETE = \"DELETE\";\n\nexport let HTTP_STATUS_CODE_UNAUTHORIZED = 401;\n\nexport let HTTP_HEADERS_JSON = { \"Accept\": \"application/json\", \"Content-Type\": \"application/json\" };\n\nexport let API_ENDPOINT_SEARCH = \"/api/search\";\nexport let API_ENDPOINT_DATA = \"/api/search/data/facets\";\nexport let API_ENDPOINT_BRANDS = \"/api/search/brands\";\nexport let API_ENDPOINT_MODELS = \"/api/search/models\";\nexport let API_ENDPOINT_SAVED_SEARCHES = \"/api/search/saved\";\n\nexport let API_ENDPOINT_NEW_VEHICLES_SEARCH = \"/api/newvehicles/search\";\nexport let API_ENDPOINT_NEW_VEHICLES_DATA = \"/api/newvehicles/search/data\";\nexport let API_ENDPOINT_NEW_VEHICLES_MODELS = \"/api/newvehicles/search/models\";\nexport let API_ENDPOINT_NEW_VEHICLES_SAVED_SEARCHES = \"/api/newvehicles/search/saved\";\n\nexport let API_ENDPOINT_LEADS = \"/api/leads\";\nexport let API_ENDPOINT_HOME = \"/api/home\";\nexport let API_ENDPOINT_VEHICLECATALOG = \"/api/vehicle-catalog\";\nexport let API_ENDPOINT_PROCUREMENT = \"/api/procurement\";\nexport let API_ENDPOINT_REFDATA = \"/api/refdata\";\nexport let API_ENDPOINT_USER = \"/api/user\";\nexport let API_ENDPOINT_USER_FAVORITE = \"/api/user/favorite\";\nexport let API_ENDPOINT_CARMATCH_NEW = \"/api/carmatch/new\";\nexport let API_ENDPOINT_CARMATCH_USED = \"/api/carmatch/used\";\nexport let API_ENDPOINT_LOCATIONS = \"/api/locations\";\n\nexport let SEARCH_PAGE_DEFAULT_SIZE = 12;\nexport let SEARCH_PAGE_DEFAULT_NUMBER = 1;\nexport let SEARCH_PAGE_DEFAULT_ORDER_BY = \"\";\n\nexport let LIST_ORDER_DIRECTION_ASC = \"ASC\";\nexport let LIST_ORDER_DIRECTION_DESC = \"DESC\";\n\nexport let NOTIFICATION_SUCCESS_MESSAGE_TIMEOUT = 1000;\n\nexport let VEHICLE_IMAGE_DEFAULT = \"/static/images/autosapo-placeholder.png\";\n\nexport let MESSAGE_DIRECTION_USER_TO_ADVERTISER = 0;\nexport let MESSAGE_LEAD_MESSAGE_STATUS_ACTIVE = 0;","\nexport default {\n Success(title, description, timeout) {\n GrowlNotification.notify({\n title: title || 'Sucesso',\n description: description || 'Operação executada com sucesso',\n type: 'success',\n position: 'top-right',\n closeTimeout: timeout || 2000,\n showProgress: true\n });\n },\n\n Warning(title, description) {\n GrowlNotification.notify({\n title: title || 'Atenção',\n description: description || 'Não foi possivel executar a operação',\n type: 'warning',\n position: 'top-right',\n closeTimeout: 3000,\n showProgress: true\n });\n },\n\n Error(title, description) {\n GrowlNotification.notify({\n title: title || 'Anomalia',\n description: description || 'Ocorreu uma anomalia ao executar a operação',\n type: 'error',\n position: 'top-right',\n closeTimeout: 10000,\n showProgress: true\n });\n }\n}","import * as constants from \"../constants.js\";\nimport notifications from \"../notifications\";\n\n\nexport default {\n OnSuccess(description) {\n notifications.Success(\"Utilizador\", description);\n },\n\n OnWarning(resp, description) {\n notifications.Warning(\"Utilizador\", description);\n console.log(resp);\n },\n\n OnError(resp, description) {\n notifications.Error(\"Utilizador\", description);\n console.log(resp);\n },\n\n OnUnauthorized(){\n window.location.reload();\n },\n \n UpdateUser: async function (user, isFirstTime) {\n let reqUriParams = ``;\n if (isFirstTime) {\n reqUriParams += `&isFirstTime=${isFirstTime}`;\n }\n\n return await fetch(\n `${constants.API_ENDPOINT_USER}?${reqUriParams}`, \n {\n method: constants.HTTP_METHOD_PUT,\n headers: constants.HTTP_HEADERS_JSON,\n body: JSON.stringify(user)\n }\n ).then(\n resp => \n {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao atualizar o utilizador\");\n return null;\n }\n if(resp.status == 401) {\n this.OnUnauthorized();\n return null;\n }\n }\n return resp.json();\n }\n )\n .then(\n function(data) { // \"data\" is the parsed version of the JSON returned from the above endpoint.\n if(!is_empty(data) && data.Errors != null && !is_empty(data.Errors)) {\n let message = data.Errors.map(r => $('#' + r.Field).parents().children('label')[0].innerText + ' é ' + r.Message + '\\n');\n notifications.Warning(\"Utilizador\", \"Verifique o(s) campo(s) assinalado(s) com erro: \" + message);\n }\n return data;\n }\n );\n },\n SetFavorite: async function (idPub) {\n return await fetch(constants.API_ENDPOINT_USER_FAVORITE + \"/\" + idPub, {\n method: constants.HTTP_METHOD_POST\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao salvar ou remover o favorito\");\n return null;\n }\n return { OK: false, StatusCode: resp.status };\n }else{\n return { OK: true }\n }\n });\n\n },\n FavoriteCount: async function () {\n return await fetch(constants.API_ENDPOINT_USER_FAVORITE + \"/count\", {\n method: constants.HTTP_METHOD_POST\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia a consultar o número de favoritos\");\n return null;\n }\n return { OK: false, StatusCode: resp.status };\n }else{\n return resp.text();\n }\n });\n\n },\n\n}","import { render, staticRenderFns } from \"./favorite-button.vue?vue&type=template&id=82ccdaf6&\"\nimport script from \"./favorite-button.vue?vue&type=script&lang=js&\"\nexport * from \"./favorite-button.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n \n\n\n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"btn favorite\",class:{ active: _vm.isFavoriteActive },attrs:{\"type\":\"button\",\"aria-label\":\"Favorito\",\"title\":_vm.isFavoriteActive ? `Remover dos favoritos` : `Adicionar aos favoritos`},on:{\"click\":_vm.OnFavoriteClick}},[_c('i',{staticClass:\"far fa-heart\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./confirmation-modal.vue?vue&type=template&id=88e66014&\"\nimport script from \"./confirmation-modal.vue?vue&type=script&lang=js&\"\nexport * from \"./confirmation-modal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n \n \n\n \n \n {{ Title }}\n \n \n \n \n\n \n \n \n \n {{ Message }}\n {{ CancelText }}\n {{ OkText }}\n \n \n\n \n \n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal fade confirmation-modal\",attrs:{\"id\":_vm.ModalId,\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog modal-dialog-centered\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[(_vm.Title)?_c('div',{staticClass:\"modal-header p-0\"},[_c('h3',{staticClass:\"section-title m-4\"},[_vm._v(_vm._s(_vm.Title))]),_vm._v(\" \"),_vm._m(0)]):_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"aria-label\":\"Close\"}},[_c('i',{staticClass:\"fas fa-times\"})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('p',{class:{ 'mt-3': _vm.Title}},[_vm._v(_vm._s(_vm.Message))]),_vm._v(\" \"),_c('a',{staticClass:\"ink-button min-width\",attrs:{\"href\":\"#\",\"data-dismiss\":\"modal\"},on:{\"click\":_vm.OnClick_Cancel}},[_vm._v(_vm._s(_vm.CancelText))]),_vm._v(\" \"),_c('a',{staticClass:\"ink-button main-action min-width\",attrs:{\"href\":\"#\",\"data-dismiss\":\"modal\"},on:{\"click\":_vm.OnClick_OK}},[_vm._v(_vm._s(_vm.OkText))])])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"aria-label\":\"Close\"}},[_c('i',{staticClass:\"fas fa-times\"})])\n}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./no-results.vue?vue&type=template&id=593851d7&\"\nimport script from \"./no-results.vue?vue&type=script&lang=js&\"\nexport * from \"./no-results.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n \n {{ title }}\n \n \n \n\n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"all-100 vertical-space align-center\",attrs:{\"id\":\"no-results\"}},[_c('div',{staticClass:\"no-results\"},[_c('h3',{staticClass:\"section-title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.message)}}),_vm._v(\" \"),_vm._t(\"extra_slot\")],2)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./login-modal.vue?vue&type=template&id=b1f096f0&\"\nimport script from \"./login-modal.vue?vue&type=script&lang=js&\"\nexport * from \"./login-modal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n \n \n \n \n \n \n \n \n {{ this.propMessage }}\n Login\n \n Criar registo\n \n \n \n \n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal fade modal-login\",attrs:{\"id\":_vm.propModalId,\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog modal-dialog-centered\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('i',{staticClass:\"fas fa-sign-in-alt\"}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(this.propMessage))]),_vm._v(\" \"),_c('div',{staticClass:\"ink-button main-action fixed-width\",attrs:{\"aria-label\":\"Login\"},on:{\"click\":_vm.OnClick_Login}},[_vm._v(\"Login\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"ink-button\",attrs:{\"aria-label\":\"Criar registo\"},on:{\"click\":_vm.OnClick_Register}},[_vm._v(\"Criar registo\")])])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"aria-label\":\"Close\"}},[_c('i',{staticClass:\"fas fa-times\"})])\n}]\n\nexport { render, staticRenderFns }","import * as constants from \"../constants\";\n\nexport default {\n\n OnSuccess(description) {\n console.log(description);\n },\n\n OnError(resp, description) {\n console.log(resp + description);\n },\n \n OnUnauthorized(){\n window.location.reload();\n },\n\n GetSearch: async function (usedCars) {\n \n return await fetch(constants.API_ENDPOINT_SEARCH + \"/filters\", {\n method: constants.HTTP_METHOD_GET\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar os Anúncios\");\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n\n UpdateSearch: async function (filter) {\n return await fetch(constants.API_ENDPOINT_SEARCH, {\n method: constants.HTTP_METHOD_PUT,\n headers: constants.HTTP_HEADERS_JSON,\n body: JSON.stringify(filter)\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar os Anúncios\");\n return null;\n }\n }\n });\n },\n Search: async function (pageNum, params) {\n \n if (pageNum && pageNum != '' && pageNum != 0) {\n if (params == null || params == \"\"){\n params = `p=${pageNum}`;\n }else{\n params += `&p=${pageNum}`;\n }\n }\n return await fetch(constants.API_ENDPOINT_SEARCH + `?${params}`, {\n method: constants.HTTP_METHOD_GET,\n headers: {\n 'X-SVSCH-Key': '1'\n },\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar os Anúncios\");\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n SaveStatsSearchFilter: async function (params) {\n return await fetch(constants.API_ENDPOINT_SEARCH + `/save?${params}`, {\n method: constants.HTTP_METHOD_POST,\n headers: {\n 'X-SVSCH-Key': '1'\n },\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n DeleteSearch: async function () {\n\n return await fetch(constants.API_ENDPOINT_SEARCH, {\n method: constants.HTTP_METHOD_DELETE\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar os Anúncios\");\n return null;\n }\n }\n\n return resp.json();\n });\n },\n\n GetSearchData: async function (isUsed) {\n return await fetch(constants.API_ENDPOINT_DATA + '?isused=' + isUsed, {\n method: constants.HTTP_METHOD_GET\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar a lista de marcas\");\n return null;\n }\n }\n\n return resp.json();\n });\n },\n GetSearchDataByFilter: async function (params) {\n return await fetch(constants.API_ENDPOINT_DATA + `${params}`, {\n method: constants.HTTP_METHOD_GET\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar a lista de marcas\");\n return null;\n }\n }\n\n return resp.json();\n });\n },\n\n GetBrands: async function () {\n return await fetch(constants.API_ENDPOINT_BRANDS, {\n method: constants.HTTP_METHOD_GET\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar a lista de marcas\");\n return null;\n }\n }\n\n return resp.json();\n });\n },\n GetModels: async function (brands) {\n\n let q = [];\n for (let i = 0; i < brands.length; i++) {\n q.push(`b=${brands[i]}`);\n }\n\n return await fetch(constants.API_ENDPOINT_MODELS + `?${q.join(\"&\")}`, {\n method: constants.HTTP_METHOD_GET,\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar a lista de marcas\");\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n GetSavedSearchesCount: async function(){\n return await fetch(constants.API_ENDPOINT_SAVED_SEARCHES + '/count', {\n method: constants.HTTP_METHOD_GET\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n return null;\n }\n if(resp.status == 401){\n this.OnUnauthorized();\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n SaveSearch: async function(name, filterQuery){\n return await fetch(constants.API_ENDPOINT_SAVED_SEARCHES + filterQuery + '&name=' + name, {\n method: constants.HTTP_METHOD_POST\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao salvar a pesquisa.\");\n return null;\n }\n if(resp.status == 401){\n this.OnUnauthorized();\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n GetSavedSearches: async function(){\n return await fetch(constants.API_ENDPOINT_SAVED_SEARCHES, {\n method: constants.HTTP_METHOD_GET\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar as pesquisas salvas\");\n return null;\n }\n if(resp.status == 401){\n this.OnUnauthorized();\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n DeleteSavedSearch: async function(id){\n return await fetch(constants.API_ENDPOINT_SAVED_SEARCHES + '?id=' + id, {\n method: constants.HTTP_METHOD_DELETE\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao excluir uma pesquisa\");\n return null;\n }\n if(resp.status == 401){\n this.OnUnauthorized();\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n}","import * as constants from \"../constants\";\n\nexport default {\n\n OnSuccess(description) {\n console.log(description);\n },\n\n OnError(resp, description) {\n console.log(resp + description);\n },\n \n OnUnauthorized(){\n window.location.reload();\n },\n\n GetSearch: async function () {\n \n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_SEARCH + \"/filters\", {\n method: constants.HTTP_METHOD_GET\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar os Anúncios\");\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n\n UpdateSearch: async function (filter) {\n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_SEARCH, {\n method: constants.HTTP_METHOD_PUT,\n headers: constants.HTTP_HEADERS_JSON,\n body: JSON.stringify(filter)\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar os Anúncios\");\n return null;\n }\n }\n });\n\n },\n Search: async function (pageNum) {\n let reqUriParams = ``;\n if (pageNum != '') {\n reqUriParams += `p=${pageNum}`;\n }\n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_SEARCH + `?${reqUriParams}`, {\n method: constants.HTTP_METHOD_GET\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar os Anúncios\");\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n\n DeleteSearch: async function () {\n\n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_SEARCH, {\n method: constants.HTTP_METHOD_DELETE\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar os Anúncios\");\n return null;\n }\n }\n\n return resp.json();\n });\n },\n\n GetSearchData: async function () {\n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_DATA, {\n method: constants.HTTP_METHOD_GET\n }).then(resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar a lista de marcas\");\n return null;\n }\n }\n\n return resp.json();\n });\n },\n\n GetModels: async function (brands) {\n\n let q = [];\n for (let i = 0; i < brands.length; i++) {\n q.push(`b=${brands[i]}`);\n }\n\n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_MODELS + `?${q.join(\"&\")}`, {\n method: constants.HTTP_METHOD_GET,\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar a lista de marcas\");\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n GetSavedSearchesCount: async function(){\n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_SAVED_SEARCHES + '/count', {\n method: constants.HTTP_METHOD_GET\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n return null;\n }\n if(resp.status == 401){\n this.OnUnauthorized();\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n SaveSearch: async function(name){\n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_SAVED_SEARCHES + '?name=' + name, {\n method: constants.HTTP_METHOD_POST\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao salvar a pesquisa.\");\n return null;\n }\n if(resp.status == 401){\n this.OnUnauthorized();\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n GetSavedSearches: async function(){\n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_SAVED_SEARCHES, {\n method: constants.HTTP_METHOD_GET\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao carregar as pesquisas salvas\");\n return null;\n }\n if(resp.status == 401){\n this.OnUnauthorized();\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n DeleteSavedSearch: async function(id){\n return await fetch(constants.API_ENDPOINT_NEW_VEHICLES_SAVED_SEARCHES + '?id=' + id, {\n method: constants.HTTP_METHOD_DELETE\n }).then(async resp => {\n if (!resp.ok) {\n if (resp.status >= 500) {\n this.OnError(resp, \"Ocorreu uma anomalia ao excluir uma pesquisa\");\n return null;\n }\n if(resp.status == 401){\n this.OnUnauthorized();\n return null;\n }\n }\n\n return await resp.json();\n });\n },\n\n\n}","import { render, staticRenderFns } from \"./saved-searches-modal.vue?vue&type=template&id=3005451c&\"\nimport script from \"./saved-searches-modal.vue?vue&type=script&lang=js&\"\nexport * from \"./saved-searches-modal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n \n \n\n \n \n Pesquisas guardadas\n \n \n \n \n \n\n \n Não há pesquisas guardadas.\n \n {{ search.Name }}\n \n \n\n \n\n \n \n \n\n\n \n \n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"savedSearches\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"savedSearchesModalTitle\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog modal-dialog-centered modal-dialog-scrollable\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"modal-body top-padding\"},[_c('ul',{staticClass:\"searches-list\"},[(_vm.savedSearches.length == 0)?_c('div',[_vm._v(\"Não há pesquisas guardadas.\")]):_vm._l((_vm.savedSearches),function(search){return _c('li',{key:search.Id},[_c('a',{staticClass:\"ink-button\",attrs:{\"href\":_vm.getLinkPath(search.PathQuery)}},[_vm._v(_vm._s(search.Name))]),_vm._v(\" \"),_c('a',{staticClass:\"ink-button remove\",on:{\"click\":function($event){return _vm.onDeleteSearch(search.Id)}}},[_c('i',{staticClass:\"far fa-trash-alt\"})])])})],2)]),_vm._v(\" \"),_vm._m(1)])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal-header\"},[_c('h3',{staticClass:\"section-title no-margin\",attrs:{\"id\":\"savedSearchesModalTitle\"}},[_vm._v(\"Pesquisas guardadas\")]),_vm._v(\" \"),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"aria-label\":\"Close\"}},[_c('i',{staticClass:\"fas fa-times\"})])])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"ink-button\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"Fechar\")])])\n}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./save-search-modal.vue?vue&type=template&id=7aa6e10c&\"\nimport script from \"./save-search-modal.vue?vue&type=script&lang=js&\"\nexport * from \"./save-search-modal.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n\n \n \n \n \n \n Guardar Pesquisa\n \n \n \n \n \n\n \n\n \n Nome\n \n \n \n Erro\n \n\n \n \n \n \n \n \n \n \n\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"saveSearch\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"saveSearchModalTitle\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog modal-dialog-centered\",attrs:{\"role\":\"document\"}},[_c('div',{staticClass:\"modal-content\"},[_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"modal-body top-padding\"},[_c('form',{staticClass:\"ink-form\"},[_c('div',{staticClass:\"control-group required column-group half-gutters no-margin\"},[_c('label',{staticClass:\"all-15 align-right inline unsigned\",attrs:{\"for\":\"serchName\"}},[_vm._v(\"Nome\")]),_vm._v(\" \"),_c('div',{staticClass:\"control all-85\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],attrs:{\"type\":\"text\",\"name\":\"serchName\",\"id\":\"serchName\",\"value\":\"AutoSAPO 20/02/22 15:00h\"},domProps:{\"value\":(_vm.name)},on:{\"input\":function($event){if($event.target.composing)return;_vm.name=$event.target.value}}})]),_vm._v(\" \"),_c('p',{staticClass:\"error\"},[_vm._v(\"Erro\")])])])]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[_c('button',{staticClass:\"ink-button\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"Fechar\")]),_vm._v(\" \"),_c('button',{staticClass:\"ink-button main-action min-width\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.onClickSaveSearch}},[_vm._v(\"Guardar\")])])])])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"modal-header\"},[_c('h3',{staticClass:\"section-title no-margin\",attrs:{\"id\":\"saveSearchModalTitle\"}},[_vm._v(\"Guardar Pesquisa\")]),_vm._v(\" \"),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\",\"aria-label\":\"Close\"}},[_c('i',{staticClass:\"fas fa-times\"})])])\n}]\n\nexport { render, staticRenderFns }","export default {\n\n IsNullOrEmpty(s) {\n return (s == undefined || s == null || s.length == 0);\n },\n\n IsLetter(s) {\n return s.length === 1 && s.match(/[a-zA-Z]/);\n },\n IsUpperCase(s) {\n return s.length === 1 && s.match(/[A-Z]/);\n },\n\n IsNumber(s) {\n return s.length === 1 && s.match(/[0-9]/);\n },\n\n ToKebabCase(str) {\n if (this.IsNullOrEmpty(str)) return str;\n\n let sTemp = str.toLowerCase().trim().normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g, \"\");\n let r = \"\";\n\n for (let i = 0; i < sTemp.length; i++) {\n let c = sTemp.charAt(i);\n if (this.IsLetter(c)) {\n if (this.IsUpperCase(c)) {\n r = r + \"-\" + c.toLowerCase();\n } else {\n r = r + c;\n }\n }\n else {\n r = r + \"-\";\n }\n }\n\n r = r.replace(/-{2,}/, \"-\");\n r = r.replace(/-+$/, \"\");\n r = r.replace(/^-+/, \"\");\n\n return r.trim();\n },\n \n RemoveAccents(str){\n if (this.IsNullOrEmpty(str)) return str;\n \n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, ''); \n }\n\n}","import helper from './helper.js'\n\nexport default {\n\n ToIconClass: function (str) {\n if (str == undefined || str == null || str == \"\" || str.length == 0) return \"\";\n\n let s = helper.ToKebabCase(str);\n\n return `icon ${s}`;\n }\n\n}","\nexport default {\n createEvent(name, props){\n dataLayer.push({\n 'event': name,\n ...props\n });\n },\n createVirtualPageView(props){\n dataLayer.push({\n 'event': 'virtualPageView',\n ...props\n });\n\n }\n}","\nexport var StatusCheck = function (response) {\n if (response.status >= 200 && response.status < 300) {\n return Promise.resolve(response.json());\n } else if (response.status >= 400 && response.status < 500) {\n return Promise.resolve(response.json());\n } else if (response.status >= 500) {\n return Promise.reject(new Error(response.statusText));\n } else {\n return Promise.reject(new Error(response.statusText))\n }\n}\n\nexport function isNullOrEmpty(o) {\n return (o == undefined || o == null || o.length == 0);\n}\n\nexport function GetErrorClass(errors, field) {\n let r = null;\n\n if (!isNullOrEmpty(errors)) {\n if (isNullOrEmpty(field)) field = \"\";\n for (let i = 0; i < errors.length; i++) {\n\n if (errors[i].Field == field) {\n // if (errors[i].nature == \"e\") {\n r = \" validation-error\";\n // } else {\n // r = \" validation warning\";\n // }\n }\n\n }\n }\n\n return r;\n}\n\nexport function GetErrorFocusElement(errorValidationList, errorOrderedList) {\n for (let iError = 0; iError < errorValidationList.length; iError++) {\n let errorValidation = errorValidationList[iError];\n\n for (let iErrorOrder = 0; iErrorOrder < errorOrderedList.length; iErrorOrder++) {\n if (errorValidation.Field === errorOrderedList[iErrorOrder].id) {\n errorOrderedList[iErrorOrder].flagged = true;\n }\n }\n }\n\n for (let iErrorOrder = 0; iErrorOrder < errorOrderedList.length; iErrorOrder++) {\n if (errorOrderedList[iErrorOrder].flagged == true) {\n return errorOrderedList[iErrorOrder].id;\n }\n }\n}\n\nexport function FormatDate(inputDate, format) {\n if (!inputDate)\n return \"\";\n\n let fullDate = new Date(inputDate);\n let monthsAbrv = [\n \"Jan\",\n \"Fev\",\n \"Mar\",\n \"Abr\",\n \"Mai\",\n \"Jun\",\n \"Jul\",\n \"Ago\",\n \"Set\",\n \"Out\",\n \"Nov\",\n \"Dez\"\n ];\n\n let day = fullDate.getDate();\n if (day < 10)\n day = `0${day}`;\n\n let month = fullDate.getMonth() + 1; // Increment month by 1\n if (month < 10)\n month = `0${month}`;\n\n let year = fullDate.getFullYear();\n let hour = fullDate.getHours();\n let minutes = fullDate.getMinutes();\n\n if (minutes < 10)\n minutes = `0${minutes}`;\n\n switch (format) {\n case \"dd/MM/yyyy\":\n return `${day}/${month}/${year}`;\n case \"dd/MM/yyyy HH:mm\":\n return `${day}/${month}/${year} ${hour}:${minutes}`;\n case \"yyyy-MM-dd\":\n return `${year}-${month}-${day}`;\n case \"yyyy-MM-dd HH:mm\":\n return `${year}-${month}-${day} ${hour}:${minutes}`;\n case \"d MMM yyyy\":\n if (month[0] == 0)\n return `${fullDate.getDate()} ${monthsAbrv[month[1] - 1]} ${year}`;\n else\n return `${fullDate.getDate()} ${monthsAbrv[month - 1]} ${year}`;\n default:\n return null;\n }\n}\n\nexport function toSlug(text) {\n var slug = \"\";\n // Change to lower case\n var textLower = text.toLowerCase();\n // Letter \"e\"\n slug = textLower.replace(/e|é|è|ẽ|ẻ|ẹ|ê|ế|ề|ễ|ể|ệ/gi, 'e');\n // Letter \"a\"\n slug = slug.replace(/a|á|à|ã|ả|ạ|ă|ắ|ằ|ẵ|ẳ|ặ|â|ấ|ầ|ẫ|ẩ|ậ/gi, 'a');\n // Letter \"o\"\n slug = slug.replace(/o|ó|ò|õ|ỏ|ọ|ô|ố|ồ|ỗ|ổ|ộ|ơ|ớ|ờ|ỡ|ở|ợ/gi, 'o');\n // Letter \"u\"\n slug = slug.replace(/u|ú|ù|ũ|ủ|ụ|ư|ứ|ừ|ữ|ử|ự/gi, 'u');\n // Letter \"d\"\n slug = slug.replace(/đ/gi, 'd');\n // Trim the last whitespace\n slug = slug.replace(/\\s*$/g, '');\n // Change whitespace to \"-\"\n slug = slug.replace(/\\s+/g, '-');\n\n return slug;\n}\n\nVue.filter('toCurrency', function (value) {\n if (typeof value !== \"number\") {\n\n return value;\n }\n if (value == null) {\n\n return \"0\";\n }\n\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\n});\n","import DisplayMode from '../components/DisplayModeSwitch.vue'\nimport Pagination from '../shared/pagination.vue';\nimport FavoriteButton from '../shared/favorite-button.vue';\n\nimport confirmationmodal from '../shared/confirmation-modal.vue'\nimport NoResults from '../shared/no-results.vue'\n\nimport LoginModal from '../shared/login-modal.vue'\n\nimport savedsearchesmodal from '../vehicles/saved-searches-modal.vue';\nimport savesearchmodal from '../vehicles/save-search-modal.vue';\nimport loginmodal from '../shared/login-modal.vue';\n\nimport SearchService from '../scripts/services/pesquisa.js'\nimport Filters from '../scripts/filters.js'\nimport helper from '../scripts/helper.js'\nimport tagManager from '../scripts/tagManager';\nimport * as utils from \"../scripts/utils.js\";\n\nVue.filter(\"formatNumber\", function (value) {\n if(value != null)\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\n\n return \"\";\n});\n\n\nconst app = new Vue({\n el: \"#search\",\n data(){\n return {\n empty: false,\n showPageLoader: false,\n showFilterButtonLoader: false,\n filter: {\n BodyTypeId: [],\n BrandId: [],\n ModelId: [],\n Models: [],\n VersionId: [],\n ColorId: [],\n CountyId: [],\n DistrictId: [],\n FuelId: [],\n TransmissionId: [],\n FromProfessional: [],\n IsNational: [],\n Seats: [],\n GridView: true,\n OrderBy: \"\",\n IsEmpty: true,\n YearStart: \"\",\n YearEnd: \"\"\n },\n brands: {},\n models: [],\n bodyTypes: [],\n fuels: [],\n transmissions: [],\n colors: [],\n districts: [],\n sources: [],\n advertiserTypes: [],\n seats: [],\n filterTotal: 0,\n isCollapsed: true,\n savedSearchesCount: 0,\n urlLogin: \"/account/signin?url=\" + window.location.href, \n pNum: 1,\n pSize: 48,\n result: {\n items: [],\n total: 0,\n filter: {}\n }\n };\n },\n props:{\n propOrderBy: {\n type: Number,\n default: 0\n },\n propIsGridView: {\n type:Boolean,\n default: true\n },\n propIsUsedVehicle: Boolean,\n isAuthenticated: {\n type: Boolean,\n default: false\n },\n },\n components: {\n DisplayMode,\n Pagination,\n NoResults,\n FavoriteButton,\n LoginModal,\n savedsearchesmodal,\n savesearchmodal,\n confirmationmodal,\n loginmodal\n },\n methods: {\n async onSearch(filter) {\n this.showPageLoader = true;\n\n if (filter == null)\n filter = this.filter;\n\n this.NormalizeFilter(filter);\n \n let filterQuery = await this.createFilterQuery(filter);\n\n var newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname;\n if (filterQuery != null && filterQuery != \"\"){\n newurl += `?${filterQuery}`;\n }\n this.result.filter = { ...filter };\n\n await SearchService.SaveStatsSearchFilter(filterQuery);\n\n window.location = newurl;\n this.showPageLoader = false;\n },\n async createFilterQuery(filter){\n var params = new URLSearchParams(this.FilterQueries(filter));\n\n if (this.filter.OrderBy != 0){\n params.set(\"orderby\", this.filter.OrderBy);\n }\n \n if (this.filter.GridView == false){\n params.set(\"gridview\", \"false\");\n }\n \n if (this.pNum > 1){\n params.set(\"p\", this.pNum);\n }\n \n params.sort();\n return decodeURI(params.toString());\n },\n async updateSearch() {\n this.pNum = 1;\n\n this.createEvent('pesquisa', 'pesquisar', true);\n\n this.onSearch();\n },\n async updateFilterAndSearch(){\n this.updateFilterTotal();\n this.updateSearch();\n },\n async updateFilterTotal() {\n this.showFilterButtonLoader = true;\n\n this.NormalizeFilter();\n \n let filterQuery = await this.createFilterQuery();\n \n await this.loadData(`?${filterQuery}`);\n\n this.showFilterButtonLoader = false;\n },\n async OnChangedViewMode(v) {\n this.propIsGridView = !this.propIsGridView;\n this.filter.GridView = this.propIsGridView;\n \n var newQuery = await this.createFilterQuery(this.result.filter);\n\n var newurl = window.location.protocol + \"//\" + window.location.host + window.location.pathname + `?${newQuery}`;\n window.history.pushState({path:newurl},'',newurl);\n },\n getAdvertSubTitle (item){\n var advertSubTitle = `${item.Version} - ${item.HP.toString()}CV - ${item.Doors.toString()}P`;\n if (item.Version == null || item.Version == \"\")\n {\n advertSubTitle = `${item.HP.toString()}CV - ${item.Doors.toString()}P`;\n }\n return advertSubTitle;\n },\n formatNumber(value) {\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \".\");\n },\n getImageUrl(url, type) {\n var segments = url.split('/');\n\n var imgName = segments[segments.length - 1];\n var idAdvert = segments[segments.length - 2];\n \n if (!type) {\n return \"/image/\" + idAdvert + \"/search/\" + imgName;\n } else {\n return \"/image/\" + idAdvert + \"/search/\" + size + \"/\" + imgName;\n }\n },\n OnSearchChanged() {\n document.location = \"/carros-usados\";\n },\n OnChangedSearchViewMode(v){\n this.propIsGridView = v.IsGridView;\n },\n OnChangedSearchOrderBy(v){\n this.propOrderBy = v.OrderBy;\n },\n async OnPageChange(p) {\n this.pNum = p.PageNum;\n this.onSearch(this.result.filter);\n },\n async OnOrderByChange(){\n this.pNum = 1;\n this.onSearch(this.result.filter);\n },\n // Filter\n async loadSavedSearchesData() {\n if (!this.isAuthenticated) return;\n let d = await SearchService.GetSavedSearchesCount();\n this.savedSearchesCount = d;\n },\n async onClickSaveSearchesModal() {\n if (!this.isAuthenticated) {\n $(\"#saveSearchLoginModal\").modal();\n return;\n }\n $(\"#saveSearch\").modal();\n },\n async onClickOpenSavedSearchesModal() {\n if (!this.isAuthenticated) {\n $(\"#saveSearchLoginModal\").modal();\n return;\n }\n await this.$refs.savedsearchmodal.loadData();\n $(\"#savedSearches\").modal();\n },\n async onSearchSaved(r) {\n $(\"#saveSearch\").modal('hide');\n\n this.createEvent('pesquisa', 'guardar', true);\n\n this.loadSavedSearchesData();\n },\n async OnSearchLoaded(filter) {\n this.filter = filter;\n this.onSearch();\n },\n async loadData(queryString) {\n\n if (queryString == null){\n queryString = window.location.search;\n }\n\n let d = await SearchService.GetSearchDataByFilter(queryString);\n \n this.brands = d.Brands;\n this.models = d.Models;\n this.bodyTypes = d.BodyTypes;\n this.fuels = d.Fuels;\n this.transmissions = d.Transmissions;\n this.colors = d.Colors;\n this.districts = d.Districts;\n this.sources = d.Sources;\n this.advertiserTypes = d.AdvertiserTypes;\n this.seats = d.Seats;\n\n this.filterTotal = d.Total;\n },\n async loadModels() {\n if (this.IsModelsActive()) {\n this.models = await SearchService.GetModels(this.filter.BrandId);\n }else{\n this.models = [];\n }\n },\n async onResetSearch() {\n\n this.createEvent('pesquisa', 'limpar', true);\n\n await SearchService.DeleteSearch();\n\n await this.OnSearchChanged();\n },\n async onBrandsChanged() {\n await this.loadModels();\n \n $('#ModelsDrop').selectpicker('refresh');\n $('#ModelsDrop').selectpicker('val', this.filter.ModelId);\n\n this.updateFilterTotal();\n },\n async onDeselectBrandsClick(e) {\n this.filter.BrandId = [];\n this.filter.ModelId = [];\n\n this.models = [];\n this.onBrandsChanged();\n },\n async onDeselectModelsClick(e) {\n this.filter.ModelId = [];\n\n this.updateFilterTotal();\n },\n NormalizeFilter(filter) {\n var f = filter;\n\n if (filter == null)\n f = this.filter;\n \n if (f.YearStart != null && f.YearStart == \"\") {\n f.YearStart = null;\n }\n\n if (f.YearEnd != null && f.YearEnd == \"\") {\n f.YearEnd = null;\n }\n\n if (f.PriceStart != null && f.PriceStart == \"\") {\n f.PriceStart = null;\n }\n\n if (f.PriceEnd != null && f.PriceEnd == \"\") {\n f.PriceEnd = null;\n }\n\n if (f.KmStart != null && f.KmStart == \"\") {\n f.KmStart = null;\n }\n\n if (f.KmEnd != null && f.KmEnd == \"\") {\n f.KmEnd = null;\n }\n\n this.filter.GridView = this.propIsGridView;\n this.filter.OrderBy = this.propOrderBy;\n },\n IsModelsActive() {\n // models dropdown is active according to the selected brands\n return (this.filter.BrandId != null && this.filter.BrandId.length > 0);\n },\n SetColapsedClass() {\n if (this.filter != null) {\n if (!helper.IsNullOrEmpty(this.filter.ColorId)\n || !helper.IsNullOrEmpty(this.filter.IsNational)\n || !helper.IsNullOrEmpty(this.filter.FromProfessional)\n || !helper.IsNullOrEmpty(this.filter.Seats)) {\n this.isCollapsed = false;\n return;\n }\n }\n this.isCollapsed = true;\n return;\n },\n // gets the name of \"ids\" provided that are inside \"elements\"\n retrieveNamesByIds(elements, ids, separator = \", \") {\n if (!elements || !Array.isArray(elements) || !ids || !Array.isArray(ids)) {\n // Handle the case where elements or ids are not arrays or are undefined/null\n return [];\n }\n\n const names = [];\n\n for (const element of elements) {\n if (element && element.Id != null && ids.includes(element.Id)) {\n names.push(element.Name);\n }\n }\n\n // instead of returning as array, returns a string where the items are separeted by coma (\"1, 2, 3\")\n return names.join(separator);\n },\n getSelectedMarcas(separator = \", \", filter) {\n if (filter == null)\n filter = this.filter;\n\n var popularSelected = this.retrieveNamesByIds(this.brands.Popular, filter.BrandId, separator)\n var otherSelected = this.retrieveNamesByIds(this.brands.Others, filter.BrandId, separator)\n \n if (otherSelected != null && otherSelected != \"\"){\n if (popularSelected != null && popularSelected.length == 0){\n otherSelected = `${otherSelected}`;\n }else{\n otherSelected = `${separator}${otherSelected}`;\n }\n }\n \n return popularSelected.concat(otherSelected);\n },\n getSelectedModels(separator = \", \", filter) {\n if (filter == null)\n filter = this.filter;\n\n let selected = \"\";\n\n if (!this.models || !this.models.Brands) {\n return selected; // If models or brands are missing, return the empty selected string\n }\n\n for (const brand of this.models.Brands) {\n // Iterate over each brand in the models.Brands array\n const brandModels = this.retrieveNamesByIds(brand.Models, filter.ModelId, separator);\n if (brandModels) {\n if (selected) {\n selected += separator;\n }\n selected += brandModels;\n }\n }\n\n return selected;\n },\n // Creates the object that will be sent to google tag manager data Layer\n createEvent(name, action, isUsed) {\n\n if (!this.filter)\n return;\n\n let analitycsProps = {\n 'action': action,\n 'isUsed': isUsed,\n 'marca': this.getSelectedMarcas(),\n 'modelo': this.getSelectedModels(),\n 'ano_minimo': this.filter.YearStart,\n 'ano_maximo': this.filter.YearEnd,\n 'preco_minimo' : this.filter.PriceStart,\n 'preco_maximo' : this.filter.PriceEnd,\n 'kms_minimo': this.filter.KmStart,\n 'kms_maximo' : this.filter.KmEnd,\n 'cor': this.retrieveNamesByIds(this.colors, this.filter.ColorId),\n 'combustivel': this.retrieveNamesByIds(this.fuels, this.filter.FuelId),\n 'carrocaria': this.retrieveNamesByIds(this.bodyTypes, this.filter.BodyTypeId),\n 'localizacao': this.retrieveNamesByIds(this.districts, this.filter.DistrictId),\n 'caixa': this.retrieveNamesByIds(this.transmissions, this.filter.TransmissionId),\n 'origem': this.retrieveNamesByIds(this.sources, this.filter.IsNational),\n 'vendedor': this.retrieveNamesByIds(this.advertiserTypes, this.filter.FromProfessional),\n 'lugares': this.retrieveNamesByIds(this.seats, this.filter.Seats),\n 'pesquisa': this.filter.SearchTerm\n }\n\n tagManager.createEvent(name, analitycsProps)\n },\n FilterQueries(filter){\n var f = filter;\n if (filter == null){\n f = this.filter;\n }\n let separador = \"|\";\n var filterQueries = {};\n if (f){\n\n if (f.BrandId && f.BrandId.length > 0){\n let brandsQuery = this.getSelectedMarcas(separador, f);\n if (brandsQuery && brandsQuery.length > 0){\n filterQueries.marca = helper.RemoveAccents(brandsQuery.toLowerCase());\n }\n\n if (f.ModelId && f.ModelId.length > 0){\n let modelsQuery = this.getSelectedModels(separador, f);\n if (modelsQuery && modelsQuery.length > 0){\n filterQueries.modelo = helper.RemoveAccents(modelsQuery.toLowerCase()); \n }\n }\n }\n \n if (f.FuelId && f.FuelId.length > 0){\n let fuelsQuery = this.retrieveNamesByIds(this.fuels, f.FuelId, separador);\n if (fuelsQuery && fuelsQuery.length > 0){\n filterQueries.combustivel = helper.RemoveAccents(fuelsQuery.toLowerCase());\n }\n }\n\n if (f.DistrictId && f.DistrictId.length > 0){\n let districtQuery = this.retrieveNamesByIds(this.districts, f.DistrictId, separador);\n if (districtQuery && districtQuery.length > 0){\n filterQueries.localizacao = helper.RemoveAccents(districtQuery.toLowerCase());\n }\n }\n\n if (f.BodyTypeId && f.BodyTypeId.length > 0){\n let bodyTypeQuery = this.retrieveNamesByIds(this.bodyTypes, f.BodyTypeId, separador);\n if (bodyTypeQuery && bodyTypeQuery.length > 0){\n filterQueries.carrocaria = helper.RemoveAccents(bodyTypeQuery.toLowerCase());\n }\n }\n\n if (f.ColorId && f.ColorId.length > 0){\n let colorQuery = this.retrieveNamesByIds(this.colors, f.ColorId, separador);\n if (colorQuery && colorQuery.length > 0){\n filterQueries.cor = helper.RemoveAccents(colorQuery.toLowerCase());\n }\n }\n\n if (f.TransmissionId && f.TransmissionId.length > 0){\n let transmissionQuery = this.retrieveNamesByIds(this.transmissions, f.TransmissionId, separador);\n if (transmissionQuery && transmissionQuery.length > 0){\n filterQueries.caixa = helper.RemoveAccents(transmissionQuery.toLowerCase());\n }\n }\n\n if (f.YearStart && f.YearStart > 0){\n filterQueries[\"ano-min\"] = f.YearStart;\n }\n \n if (f.YearEnd && f.YearEnd > 0){\n filterQueries[\"ano-max\"] = f.YearEnd;\n }\n\n if (f.PriceStart && f.PriceStart > 0){\n filterQueries[\"preco-min\"] = f.PriceStart;\n }\n\n if (f.PriceEnd && f.PriceEnd > 0){\n filterQueries[\"preco-max\"] = f.PriceEnd;\n }\n\n if (f.KmStart && f.KmStart > 0){\n filterQueries[\"km-min\"] = f.KmStart;\n }\n\n if (f.KmEnd && f.KmEnd > 0){\n filterQueries[\"km-max\"] = f.KmEnd;\n }\n\n if (f.IsNational && f.IsNational.length > 0){ \n let isNationalQuery = this.retrieveNamesByIds(this.sources, f.IsNational, separador);\n if (isNationalQuery && isNationalQuery.length > 0){\n filterQueries.origem = helper.RemoveAccents(isNationalQuery.toLowerCase());\n }\n }\n \n if (f.FromProfessional && f.FromProfessional.length > 0){ \n let fromProfessionalQuery = this.retrieveNamesByIds(this.advertiserTypes, f.FromProfessional, separador);\n if (fromProfessionalQuery && fromProfessionalQuery.length > 0){\n filterQueries.vendedor = helper.RemoveAccents(fromProfessionalQuery.toLowerCase());\n }\n }\n \n if (f.Seats && f.Seats.length > 0){ \n // filterQueries.seats = helper.RemoveAccents(f.Seats);\n let seatsQuery = this.retrieveNamesByIds(this.seats, f.Seats, separador);\n if (seatsQuery && seatsQuery.length > 0){\n filterQueries.lugares = helper.RemoveAccents(seatsQuery.toLowerCase());\n }\n }\n\n if (f.SearchTerm && f.SearchTerm.length > 0){\n filterQueries.searchterm = helper.RemoveAccents(f.SearchTerm);\n }\n }\n return filterQueries;\n },\n normalizeUrlParams(params){\n if (params == null)\n params = new URLSearchParams(window.location.search);\n\n if (params.size > 0){\n\n if (params.get(\"orderBy\") == 0){\n params.delete(\"orderBy\");\n }\n if (params.get(\"gridview\") == 'true'){\n params.delete(\"gridview\");\n }\n if (params.get(\"p\") == '1'){\n params.delete(\"p\");\n }\n \n params.sort();\n \n if (params.size > 0)\n return window.location.pathname + `?${params.toString()}`;\n }\n return window.location.pathname;\n }\n },\n \n async beforeMount() { \n this.filter = await SearchService.GetSearch(); \n\n let queryString = window.location.search;\n let urlParams = new URLSearchParams(queryString);\n if (urlParams.has(\"b\") && urlParams.get(\"b\") != null){\n this.filter = {\n BodyTypeId: [],\n BrandId: [],\n ModelId: [],\n VersionId: [],\n ColorId: [],\n CountyId: [],\n DistrictId: [],\n FuelId: [],\n TransmissionId: [],\n FromProfessional: [],\n Seats: [],\n IsNational: [],\n IsEmpty: true,\n YearStart: \"\",\n YearEnd: \"\",\n GridView: this.filter.GridView,\n OrderBy: this.filter.OrderBy\n };\n this.filter.BrandId = [parseInt(urlParams.get(\"b\"))];\n }else{\n this.filter = {\n BodyTypeId: [],\n BrandId: [],\n ModelId: [],\n VersionId: [],\n ColorId: [],\n CountyId: [],\n DistrictId: [],\n FuelId: [],\n TransmissionId: [],\n FromProfessional: [],\n Seats: [],\n IsNational: [],\n IsEmpty: true,\n YearStart: \"\",\n YearEnd: \"\",\n GridView: this.filter.GridView,\n OrderBy: this.filter.OrderBy\n };\n if (globalFilter != null){\n this.filter = {\n BodyTypeId: globalFilter.BodyTypeId,\n BrandId: globalFilter.BrandId,\n ModelId: globalFilter.ModelId,\n VersionId: [],\n ColorId: globalFilter.ColorId,\n CountyId: [],\n DistrictId: globalFilter.DistrictId,\n FuelId: globalFilter.FuelId,\n TransmissionId: globalFilter.TransmissionId,\n FromProfessional: globalFilter.FromProfessional,\n Seats: globalFilter.Seats,\n IsNational: globalFilter.IsNational,\n YearStart: globalFilter.YearStart,\n YearEnd: globalFilter.YearEnd,\n KmStart: globalFilter.KmStart,\n KmEnd: globalFilter.KmEnd,\n PriceStart: globalFilter.PriceStart,\n PriceEnd: globalFilter.PriceEnd,\n SearchTerm: globalFilter.SearchTerm,\n IsEmpty: true,\n GridView: globalFilter.GridView,\n OrderBy: globalFilter.OrderBy\n };\n\n \n }\n }\n\n this.SetColapsedClass();\n\n this.propIsGridView = this.filter.GridView;\n this.propOrderBy = this.filter.OrderBy;\n\n this.OnChangedSearchViewMode({ IsGridView: this.filter.GridView });\n this.OnChangedSearchOrderBy({ OrderBy: this.filter.OrderBy });\n \n await this.loadData();\n await this.loadModels();\n\n this.result.filter = { ...this.filter };\n\n if(globalFilter != null && globalFilter.IsEmpty == false)\n this.createEvent('pesquisa', 'pesquisar', true);\n },\n mounted(){\n\n var params = new URLSearchParams(window.location.search);\n if (params.size > 0){\n window.history.replaceState({}, document.title, this.normalizeUrlParams(params));\n }\n\n this.propIsUsedVehicle = globalIsUsedVehicle;\n this.isAuthenticated = globalIsAuthenticated;\n \n this.$root.$on(\"OnPageChange\", this.OnPageChange);\n \n $(document).ready(function () {\n\n $('.selectpicker').selectpicker({\n noneResultsText: 'Sem resultados'\n });\n\n $('.toggleFilter').on('click', function (e) {\n $('.filters').toggleClass(\"hide-all\");\n $('body').toggleClass(\"no-scroll\");\n e.preventDefault();\n });\n \n /////////\n \n $('.selectpicker').change(function() {\n $(this).next().next().children(\".bs-searchbox\").children(\"input[type='search']\").blur();\n });\n \n \n /////////\n });\n\n this.loadSavedSearchesData();\n },\n async updated() {\n\n // refresh brands dropdown\n $('#BrandsDrop').selectpicker('refresh');\n $('#BrandsDrop').selectpicker('val', this.filter.BrandId);\n if (this.filter.BrandId.length > 0) $('#deselectBrands').show();\n\n // refresh models dropdown\n $('#ModelsDrop').selectpicker('refresh');\n $('#ModelsDrop').selectpicker('val', this.filter.ModelId);\n if (this.filter.ModelId.length > 0) $('#deselectModels').show();\n\n // refresh fuels dropdown\n $('#DropFuels').selectpicker('refresh');\n $('#DropFuels').selectpicker('val', this.filter.FuelId);\n\n // refresh BodyTypes dropdown\n $('#DropBodyTypes').selectpicker('refresh');\n $('#DropBodyTypes').selectpicker('val', this.filter.BodyTypeId);\n\n // refresh colors dropdown\n $('#DropColor').selectpicker('refresh');\n $('#DropColor').selectpicker('val', this.filter.ColorId);\n\n // refresh colors dropdown\n $('#DropTransmission').selectpicker('refresh');\n $('#DropTransmission').selectpicker('val', this.filter.TransmissionId);\n\n // refresh Districts dropdown\n $('#DropDistrict').selectpicker('refresh');\n $('#DropDistrict').selectpicker('val', this.filter.DistrictId);\n\n // refresh AdvrtiserTypes dropdown\n $('#DropSources').selectpicker('refresh');\n $('#DropSources').selectpicker('val', this.filter.IsNational);\n\n // refresh AdvrtiserTypes dropdown\n $('#DropAdvrtiserTypes').selectpicker('refresh');\n $('#DropAdvrtiserTypes').selectpicker('val', this.filter.FromProfessional);\n\n $('#DropSeats').selectpicker('refresh');\n $('#DropSeats').selectpicker('val', this.filter.Seats);\n\n },\n filters: {\n ToIconClass: Filters.ToIconClass\n },\n computed:{ \n \n }\n});\n"],"names":["normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","exports","props","text","type","String","default","propIsGrid","Boolean","propIsGridInitialValue","data","methods","Change","$emit","isGrid","computed","listClass","gridClass","mounted","_vm","_c","_self","staticClass","staticStyle","_v","_s","on","$event","class","attrs","name","PageSize","Number","required","PageNum","Total","PagesOffset","dbg","ItemType","ShowPrevious","ShowNext","ShowFirst","ShowLast","TotalPages","Math","ceil","Pages","result","start","end","diff","p","push","CreatePageItem","ChangePage","pNum","num","label","r","Num","Label","Current","undefined","PageUrl","params","URLSearchParams","window","location","search","set","protocol","host","pathname","toString","disabled","preventDefault","_l","key","noResult","_e","toCurrency","HTTP_METHOD_GET","HTTP_METHOD_POST","HTTP_METHOD_PUT","HTTP_METHOD_DELETE","HTTP_HEADERS_JSON","API_ENDPOINT_SEARCH","API_ENDPOINT_DATA","API_ENDPOINT_SAVED_SEARCHES","API_ENDPOINT_NEW_VEHICLES_SEARCH","API_ENDPOINT_NEW_VEHICLES_SAVED_SEARCHES","API_ENDPOINT_USER_FAVORITE","Success","title","description","timeout","GrowlNotification","notify","position","closeTimeout","showProgress","Warning","Error","OnSuccess","notifications","OnWarning","resp","console","log","OnError","OnUnauthorized","reload","UpdateUser","async","user","isFirstTime","reqUriParams","fetch","method","headers","body","JSON","stringify","then","ok","status","json","is_empty","Errors","message","map","$","Field","parents","children","innerText","Message","SetFavorite","idPub","OK","StatusCode","FavoriteCount","isFavoriteActive","IdPub","IsFavorite","length","modal","active","OnFavoriteClick","ModalId","Title","OkText","CancelText","_m","OnClick_Cancel","OnClick_OK","domProps","_t","propReturnPage","propCreateRegistrationUrl","propMessage","propModalId","OnClick_Login","OnClick_Register","GetSearch","usedCars","UpdateSearch","filter","Search","pageNum","SaveStatsSearchFilter","DeleteSearch","GetSearchData","isUsed","GetSearchDataByFilter","GetBrands","GetModels","brands","q","i","join","GetSavedSearchesCount","SaveSearch","filterQuery","GetSavedSearches","DeleteSavedSearch","id","savedSearches","isUsedVehicles","Result","loadData","getLinkPath","path","Id","PathQuery","Name","onDeleteSearch","moment","format","Sucesso","validationError","err","Nature","directives","rawName","value","expression","target","composing","onClickSaveSearch","IsNullOrEmpty","s","IsLetter","match","IsUpperCase","IsNumber","ToKebabCase","str","sTemp","toLowerCase","trim","normalize","replace","c","charAt","RemoveAccents","ToIconClass","helper","createEvent","dataLayer","createVirtualPageView","Vue","el","empty","showPageLoader","showFilterButtonLoader","BodyTypeId","BrandId","ModelId","Models","VersionId","ColorId","CountyId","DistrictId","FuelId","TransmissionId","FromProfessional","IsNational","Seats","GridView","OrderBy","IsEmpty","YearStart","YearEnd","models","bodyTypes","fuels","transmissions","colors","districts","sources","advertiserTypes","seats","filterTotal","isCollapsed","savedSearchesCount","urlLogin","href","pSize","items","total","propOrderBy","propIsGridView","propIsUsedVehicle","isAuthenticated","components","DisplayMode","Pagination","NoResults","FavoriteButton","LoginModal","savedsearchesmodal","savesearchmodal","confirmationmodal","loginmodal","NormalizeFilter","createFilterQuery","newurl","FilterQueries","sort","decodeURI","onSearch","updateFilterTotal","updateSearch","v","newQuery","history","pushState","getAdvertSubTitle","item","advertSubTitle","Version","HP","Doors","formatNumber","getImageUrl","url","segments","split","imgName","idAdvert","size","OnSearchChanged","document","OnChangedSearchViewMode","IsGridView","OnChangedSearchOrderBy","d","$refs","savedsearchmodal","loadSavedSearchesData","queryString","Brands","BodyTypes","Fuels","Transmissions","Colors","Districts","Sources","AdvertiserTypes","IsModelsActive","loadModels","selectpicker","e","onBrandsChanged","f","PriceStart","PriceEnd","KmStart","KmEnd","SetColapsedClass","retrieveNamesByIds","elements","ids","separator","Array","isArray","names","element","includes","getSelectedMarcas","popularSelected","Popular","otherSelected","Others","getSelectedModels","selected","brand","brandModels","action","analitycsProps","SearchTerm","tagManager","separador","filterQueries","brandsQuery","marca","modelsQuery","modelo","fuelsQuery","combustivel","districtQuery","localizacao","bodyTypeQuery","carrocaria","colorQuery","cor","transmissionQuery","caixa","isNationalQuery","origem","fromProfessionalQuery","vendedor","seatsQuery","lugares","searchterm","normalizeUrlParams","get","delete","urlParams","has","parseInt","globalFilter","replaceState","globalIsUsedVehicle","globalIsAuthenticated","$on","OnPageChange","ready","noneResultsText","toggleClass","change","next","blur","show","filters"],"sourceRoot":""}
Pág. {{this.PageNum}} de {{(this.TotalPages) || toCurrency}} / {{this.Total || toCurrency}} {{ this.ItemType }}
{{ Message }}
{{ this.propMessage }}
Erro